[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[OSASK 1712] Re: VMware error.
- Subject: [OSASK 1712] Re: VMware error.
- From: Hidemi KAWAI <kawai !Atmark! imasy.org>
- Date: Sun, 06 May 2001 15:14:58 -0000
こんばんは、川合です。
Koyanagi Masaaki さんは 2001/05/06 22:54:29 の「[OSASK 1711] Re:
VMware error.」で書きました:
>EDX は 0です。VMware 上ではなく通常起動でもこれと全く同じ結果
>になりました。
ご報告ありがとうございます。
おお、0ですか。それは正常なのです。
>インテル・アーキテクチャ・ソフトウェア・ディベロッパーズ・マニュアルの
>LLDT を見ると、
>
>>ソース・オペランドが0である場合は、LDTRは無効とマークされ、
>>LDT内のディスクリプタへのすべての参照(LAR、VERR、VERW、または
>>LSL命令によるものを除く) によって一般保護例外(#GP) が発生する。
>
>と書いてあるので、不思議な気がします。
わざわざ調べていただいて申し訳ありません。しかし、この場合は、
まさにこれでよいのです。僕はヌルセレクタをLDTRに代入したかったの
であって、それゆえにSLDTを疑った僕の勘は間違っていたことになりま
す。
では、問題のLLDT(DX);の行を以下の行と差し替えてみてください。
そしてVMwareでうまく行くかどうかをご連絡ください。
if (EDX != 0) LLDT(DX);
つまり、ヌルセレクタを代入しようとしている場合に限って、これを抑
制しようというものです。もし、LLDTがヌルセレクタを代入しようとし
た時に限ってVMwareの障害が発生するというなら、これで防げるはずで
す。
それでは。
--
川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/