|
▼DULLさん:
>▼ひよひよさん:
>sysinfo.dllを少しいじってみましたが
>単純に EnableK8FVID() を実行しないようにしたら
>落ちなくなりました。
動作検証ありがとうございます。
つーか、スタック周りだったりして。
EnableK8FVID() の呼び出し位置に関数の中身をコピーして試してみるというのはいかがでしょうか?これで落ちないようだと・・・。
>内部処理ではホストブリッヂ(?)を検索して
>該当レジスタのBit2を立てていますが
>私の環境では起動段階でBit2は立っているので
>この処理をパスしても問題ありませんでした。
うっ、確かにそれはそうなんですよね。
たまに、Bit 2 が立っていない環境があるので。。。
>しかし、これでは根本的な解決にはならないので
>PCIアクセス周りを調べて見ようかと思います。
MessageBox デバッグもいいので、どの関数まで呼ばなければ動くかのか?
がはっきりすれば対応できるかもしれません。
>>>PCI-BIOSでPCIデバイス検索する時は
>>>mov ax,0b102H
>>>mov cx,デバイスID
>>>mov dx,ベンダID
>>>int 1aH
>>>で出来るんです。
>>私もいま勉強中なんですが、これって、プロテクトモードだと使えませんよね?
>PCI Debug Library の処理もこれと同じようにPCI-BIOSをコ〜ルして
>レジスタの書き換えやメモリ空間の読み書きを行っているので
>sysinfo.vxd 内部では使えるハズです。
ほんとだ。かなりそれっぽい asm がいっぱいありますね。
これって、自作 OS でも役に立つ知識なのかも。(気早っ)
>もし処理を追加するとすれば sysinfo.vxd と sysinfo.sys に
>新しく「デバイス検索命令」を追加する形になります。
>sysinfo.vxd はPCI-BIOSコ〜ルで検索して
>sysinfo.sys は現在の _pciFindPciDevice() の処理を
>内臓すれば互換性は取れるような気がします。
なんかここら辺はかなり改善の余地がありそうですね。
全部探索してる感じになってるし。
>過去にWin98 DDKをダウンロ〜ドして保存してあったCD-Rを
>見つけたので sysinfo.vxd もビルドできるようになりましたし、
>NT4 DDK も見つけたので sysinfo.sys も試してみようと思います。
SysInfo.sys をビルドするときは、
#define _NT4
を有効にしておいてください。こうすると、NT4 では対応していない? Kernel mode SEH が無効になります。
詳しくは
http://crystalmark.info/BBS/c-board.cgi?cmd=one;no=1406;id=
>もう少しいじってまた報告します。
>
>>>でも実はデバッガは使った事がなかったりします(-_-;
>>あっ、デバッガは便利ですよ。
>独学プログラマでして実務経験ゼロだったりします(T_T)
>デバッガって難しそうな気がして触れないんですよね。
私も独学?プログラマです。仲間ですね(笑)
私も実務経験0です。つーか、ホビープログラマっていうやつですね。
そういえば、質問があるとかいう話はどうなりましたか?
|
|