2010/8/22:本掲示板は閲覧専用です。データが一部破損しておりますがご了承ください。
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃ホーム  
6 / 376 ツリー ←次へ | 前へ→

【995】CrystalCPUID 感想&要望&バグ報告 ひよひよ 04/5/31(月) 0:26

【1938】Re:EnableK8FVID が原因かも ひよひよ 06/3/12(日) 23:19
【1940】pciFindPciDevice() が原因? DULL 06/3/13(月) 22:41
【1941】Re:pciFindPciDevice() が原因? ひよひよ 06/3/13(月) 23:44
【1942】原因つかめず… DULL 06/3/16(木) 20:11
【1943】Re:原因つかめず… ひよひよ 06/3/17(金) 0:26
【1947】Re:原因つかめず… DULL 06/3/19(日) 18:56
【1948】Re:原因つかめず… ひよひよ 06/3/19(日) 19:20

【1938】Re:EnableK8FVID が原因かも
←back ↑menu ↑top forward→
 ひよひよ  - 06/3/12(日) 23:19 -

引用なし
パスワード
   ▼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です。つーか、ホビープログラマっていうやつですね。

そういえば、質問があるとかいう話はどうなりましたか?

【1940】pciFindPciDevice() が原因?
←back ↑menu ↑top forward→
 DULL WEB  - 06/3/13(月) 22:41 -

引用なし
パスワード
   ▼ひよひよさん:

>つーか、スタック周りだったりして。
>
>EnableK8FVID() の呼び出し位置に関数の中身をコピーして試してみるというのはいかがでしょうか?これで落ちないようだと・・・。
_pciFindPciDevice() で落ちているのは確実です。
再起呼び出し等は行っていないのでコ〜ド的には
スタック不足は発生しないように私は見えますが…?
今日はTurion機の「HDD入れ替え&OS入れ」をしているので
検証できないですm(_ _)m

私が使っているK8V-MXのBIOSはAMIなのでAWAROとは
PCI-BIOS実装が異なっているんじゃないか…なんて?
存在しないバス番号、デバイス番号のレジスタ読みで
落ちてるとしたら悲しい実装ではありますが…(-_-;

>これって、自作 OS でも役に立つ知識なのかも。(気早っ)
多分、役に立つと思いますよ。
PCIをI/Oポ〜トで制御するのは面倒なので
PCI-BIOSは有効な手段だと思います。

私はCQ出版社の「TECH I Vol3 PCIデバイス設計入門」を
参考にしてPCI-BIOSを使いました。
後半のソフトウェア部分はPCI-BIOSの存在有無のチェックから
使い方まで書いてあります。
PCI Debug Library の作者 kashiwanoさんも記事を書いています。
でも9割がハ〜ドウェアの資料なのでほとんど(私には)使えません。

>私も実務経験0です。つーか、ホビープログラマっていうやつですね。
そういう風に言うですね。初めて知りました。
ひよひよさんは職業プログラマなんだろうと勝手に思ってました(^_^;

>そういえば、質問があるとかいう話はどうなりましたか?
実は自己解決してしまいました。
なので今は次のステップのために資料を集めて勉強中です。

【1941】Re:pciFindPciDevice() が原因?
←back ↑menu ↑top forward→
 ひよひよ  - 06/3/13(月) 23:44 -

引用なし
パスワード
   ▼DULLさん:
>▼ひよひよさん:
>
>>つーか、スタック周りだったりして。
>>
>>EnableK8FVID() の呼び出し位置に関数の中身をコピーして試してみるというのはいかがでしょうか?これで落ちないようだと・・・。
>_pciFindPciDevice() で落ちているのは確実です。
でも、この関数って他の部分でも呼び出しているように思うんですよね。。。
PCI Device List とかは表示できますか???

>再起呼び出し等は行っていないのでコ〜ド的には
>スタック不足は発生しないように私は見えますが…?
>今日はTurion機の「HDD入れ替え&OS入れ」をしているので
>検証できないですm(_ _)m
えっと、スタック周りというのは、以前(今もそのまま)何の変哲もない関数を呼び出すところで実行が止まる?というレポートをいただき、色々デバッグを試みたのですが、その方の環境ではやっぱり動かなかったというのがあったんですよね。自分の環境で再現しないバグって、結構根本的に不具合の素があるんだろうなぁ〜と。

>私が使っているK8V-MXのBIOSはAMIなのでAWAROとは
>PCI-BIOS実装が異なっているんじゃないか…なんて?
>存在しないバス番号、デバイス番号のレジスタ読みで
>落ちてるとしたら悲しい実装ではありますが…(-_-;
う〜ん。それはないかな。。。
やっぱり、Crystal 側に問題があると考えるのが普通かなと。
はぁ・・・。バグばっかりだよ。

>>これって、自作 OS でも役に立つ知識なのかも。(気早っ)
>多分、役に立つと思いますよ。
>PCIをI/Oポ〜トで制御するのは面倒なので
>PCI-BIOSは有効な手段だと思います。
直接、I/O ポートだと、環境によってはブルースクリーンだったりするんですよね。。。(SysInfoの前身はI/O直接アクセスでがんばってました。)

>私はCQ出版社の「TECH I Vol3 PCIデバイス設計入門」を
>参考にしてPCI-BIOSを使いました。
>後半のソフトウェア部分はPCI-BIOSの存在有無のチェックから
>使い方まで書いてあります。
私もこの本で勉強しました。

>PCI Debug Library の作者 kashiwanoさんも記事を書いています。
>でも9割がハ〜ドウェアの資料なのでほとんど(私には)使えません。
あっ、私もです。最後の方しかちゃんと読んでません。
PCI デバイスの自作をするほどマニアではないので(笑)

>>私も実務経験0です。つーか、ホビープログラマっていうやつですね。
>そういう風に言うですね。初めて知りました。
>ひよひよさんは職業プログラマなんだろうと勝手に思ってました(^_^;
褒め言葉と受け取っておきます。

【1942】原因つかめず…
←back ↑menu ↑top forward→
 DULL WEB  - 06/3/16(木) 20:11 -

引用なし
パスワード
   ▼ひよひよさん:

>PCI Device List とかは表示できますか???
あれれ?
表示できますね…

どこかでメモリリ〜クしてて
メモリの内容を壊しているのでしょうかね?

ちなみにスタック不足を考えてリンカの設定で
スタックサイズを2倍にしても変化はありませんでした。

もう少し調べてみようと思います。
ではでは。

【1943】Re:原因つかめず…
←back ↑menu ↑top forward→
 ひよひよ  - 06/3/17(金) 0:26 -

引用なし
パスワード
   ▼DULLさん:
>▼ひよひよさん:
>
>>PCI Device List とかは表示できますか???
>あれれ?
>表示できますね…
正直、CrystalCPUID.exe 側に問題があると思うんですよね。。。
5.x は全てリセットして再構築しようとしているので、それで結構解決するんじゃないかと思っています。一部の環境で正常に動作しないというレポートは以前からいただいているんですが、自分の環境では再現しないので何が原因か未だにつかめておりません。

あまり深追いするよりも、自分の必要な機能だけ抜き出して SysInfo.dll をコールする GUI を作ったほうが有意義かも。。。

といいつつ、SysInfo.dll も再構築しなければならないと思う今日この頃。
第一 MessageBox を間に挟むとうまく動くという時点で何かが間違ってる・・・Sleep(0); を間に挟めばうまくいったりしませんかねぇ〜(根本的な解決にはならないけど。)

【1947】Re:原因つかめず…
←back ↑menu ↑top forward→
 DULL WEB  - 06/3/19(日) 18:56 -

引用なし
パスワード
   ▼ひよひよさん:
>あまり深追いするよりも、自分の必要な機能だけ抜き出して SysInfo.dll をコールする GUI を作ったほうが有意義かも。。。
自分でソフトを作ってしまいました。
9x専用、ブリッヂ初期化なしと本当に自分専用です(-_-;

>といいつつ、SysInfo.dll も再構築しなければならないと思う今日この頃。
win9x のRDMSR/WRMSRをVxd側に移しても動きそうな気がするのですが
どうでしょう?(試して見ないとわかりませんが…)
セレクタ情報を読み取って無理矢理Ring0よりはスマ〜トかなと思ったりします。
そうすればMSR操作はNT系と共通になるのでコ〜ドの簡略になるかも?

>第一 MessageBox を間に挟むとうまく動くという時点で何かが間違ってる・・・Sleep(0); を間に挟めばうまくいったりしませんかねぇ〜(根本的な解決にはならないけど。)
Sleep(1000)を試した時はダメでした。

他に疑うとしたらスレッド周りでしょうか…

【1948】Re:原因つかめず…
←back ↑menu ↑top forward→
 ひよひよ  - 06/3/19(日) 19:20 -

引用なし
パスワード
   ▼DULLさん:
>▼ひよひよさん:
>>あまり深追いするよりも、自分の必要な機能だけ抜き出して SysInfo.dll をコールする GUI を作ったほうが有意義かも。。。
>自分でソフトを作ってしまいました。
>9x専用、ブリッヂ初期化なしと本当に自分専用です(-_-;
いやはや恐れ入ります。
ホント原因がわからないんでなんとも・・・
申し訳ない。

>>といいつつ、SysInfo.dll も再構築しなければならないと思う今日この頃。
>win9x のRDMSR/WRMSRをVxd側に移しても動きそうな気がするのですが
>どうでしょう?(試して見ないとわかりませんが…)
>セレクタ情報を読み取って無理矢理Ring0よりはスマ〜トかなと思ったりします。
>そうすればMSR操作はNT系と共通になるのでコ〜ドの簡略になるかも?
そうですね。

現在、Windows 以外のプラットフォームに CrystalCPUID を移植すべく準備を始めたところです。その中で、SysInfo.dll は相当変更する予定なので、そのときは Vxd 側でやるようにしようと思います。(今すぐやれって感じですが。)

6 / 376 ツリー ←次へ | 前へ→
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃ホーム  
ページ:  ┃  記事番号:   
51957
(SS)C-BOARD v3.8(とほほ改ver2.1) is Free