OpenLibSys Alpha1
API の整理と NT4/Vista x64 での動作確認を行いました。 公式サイトの準備およびドキュメントの整備はもう少し先かなと・・・。まずは、全ての API の動作を確認できるテストプログラムを開発したいと思います。
Alpha1 API (@以下は序数)
GetDllStatus, IsCPUID, IsMSR, CPUID を追加。RDMSR, WRMSR, HLT を API 名変更。
- GetDllStatus @1
- IsCPUID @2
- IsMSR @3
- RDMSR @11
- WRMSR @12
- HLT @13
- CPUID @14
- ReadIoPortByte @21
- ReadIoPortWord @22
- ReadIoPortDword @23
- WriteIoPortByte @24
- WriteIoPortWord @25
- WriteIoPortDword @26
- ReadMemBlock @31
- WriteMemBlock @32
- ReadPciConfigByte @41
- ReadPciConfigWord @42
- ReadPciConfigDword @43
- WritePciConfigByte @44
- WritePciConfigWord @45
- WritePciConfigDword @46
- SetPciMaxBusNo @47
- FindPciDeviceById @48
- FindPciDeviceByClass @49
- デバッグはほとんどしてません(汗
- というか、一度も呼び出していない API ばっかりです。SysInfo と同じ部分が多いので一応動くとは思いますけど。
- テストプログラムは明日以降開発予定です。
- NT4/x64 用ドライバを追加しました。(一応動作確認済み)
- 9x 用のドライバはついていません。
ダウンロード:OpenLibSys Alpha1
IsCPUID = CPUID 命令に対応しているか確認
IsMSR = MSR が存在するかを確認
ともに FALSE が返ってくるような PC で実行されることはないとは思いますけど一応ね。
CPUID = 言語によっては、インラインアセンブラできない場合もあると思うので一応用意しときました。
他との整合性を考えると
IsCpuid と IsMsr の方が良さそうだな・・・。