|
▼DULLさん:
>実際に rdmsr/wrmsr を vxd 側に移してみました。
>SysInfo.sys からMSR関係のソ〜スをコピペするだけで
>問題なく動作するようです。(ただ hlt は試していません。)
どうもありがとうございます。
次回は vxd も更新かな・・・?
>vxd の動作チェックをしていたら ReturnedLength が
>常に0である事に気がつきました。
>DIOCPARAMETERS のメンバ名を見ると
>lpcbBytesReturned は lpから始まっているので
>
>&lpDIOCParms->lpcbBytesReturned
>を
>(ULONG *)lpDIOCParms->lpcbBytesReturned
>
>に変更すると ReturnedLength に値が入りました。
>
>これで「ペ〜ジ違反」が直るかと思いましたがダメでした。
>
>現在わかっているのは
>・CrystalCPUID.exe と SysInfo.dll の最適化をOFFにすると動作する。
ということですが、CrystalCPUID.exe だけ最適化でも OK だったりしませんか?
どっちかだけの場合どうなるかも気になります。
なんにせよ、次回リリースからは最適化オフで出したいと思います。
海外のユーザでもな〜んか動かないんだよなぁ〜と思っている方&使用をあきらめてしまった方もいると思うので。
>・スタック領域の書き込みで落ちる。
>
>- PciInfo.cpp -
>c = _pciConfigReadChar( address >> 16, 0x82);
>c |= 0x04; ← 今回はここで落ちた
>
>- アセンブラ -
>or al,4
>mov [ebp-4],al ← 今回はここで落ちた
ほんと、何でだ?って感じなんですが。。。
>もう少し探っていきたいと思います。
>ではでは。
お手数をおかけいたします。
|
|