第 8 章 BIOS 割り込み一覧 112
8.10 INT 1Ah PCI サービス
8.10.1 PCI サービスステータスコード
AH 00h = 成功 Carry = 1の場合:
AH 81h =機能をサポートしていない
83h =ベンダIDが異常
86h =デバイスが見つからない 87h =レジスタ番号が異常 88h =設定失敗
89h =バッファが小さすぎる
8.10.2 INT 1Ah 一般 PCI サービス
■AH=B1h PCIサービス
AL 01h = PCI BIOS present リターン:
EDX 「PCI」の「P」をDL、「C」をDH等
AL ハードウェアメカニズム:
ビット 定義
5 仕様。サイクル・コンフィグMechanism#2サポート 4 仕様。サイクル・コンフィグMechanism#1サポート 1 コンフィグMechanism#2サポート
0 コンフィグMechanism#1サポート BH インターフェースレベルのメジャーバージョン BL インターフェースレベルのマイナーバージョン Cl 最後のPCIバス番号
AL 02h = PCIデバイスの検索 エントリ:
CX デバイスID(0-65535) DX ベンダID(0-65534) SI インデックス(0-n) リターン:
BH バス番号(0-255)
BL ビット7-3 デバイス番号 ビット2-0 ファンクション番号
AL 03h = PCIクラスコードの検索
エントリ:
ECX クラスコードの下位3バイト SI インデックス(0-n)
リターン:
BH バス番号(0-255)
BL ビット7-3 デバイス番号 ビット2-0 ファンクション番号
AL 06h =スペシャルサイクルの発生
エントリ:
BH バス番号(0-255)
EDX スペシャルサイクル・データ
AL 08h =コンフィギュレーション空間データのバイト読み込み
エントリ:
BH バス番号(0-255)
BL ビット7-3 デバイス番号 ビット2-0 ファンクション番号 DI レジスタ番号(0-255)
リターン:
CL バイトリード値
AL 09h =コンフィギュレーション空間データのワード読み込み
エントリ:
BH バス番号(0-255)
BL ビット7-3 デバイス番号 ビット2-0 ファンクション番号 DI レジスタ番号(0, 2, 4…254) リターン:
CX ワードリード値
AL 0Ah =コンフィギュレーション空間データのダブルワード読み込み エントリ:
BH バス番号(0-255)
BL ビット7-3 デバイス番号 ビット2-0 ファンクション番号 DI レジスタ番号(0, 4, 8…252) リターン:
ECX ダブルワードリード値
AL 0Bh =コンフィギュレーション空間へバイトデータ書き込み
エントリ:
BH バス番号(0-255)
BL ビット7-3 デバイス番号 ビット2-0 ファンクション番号 DI レジスタ番号(0-255)
Cl ライトバイト値
AL 0Ch =コンフィギュレーション空間へワードデータ書き込み
エントリ:
BH バス番号(0-255)
BL ビット7-3 デバイス番号 ビット2-0 ファンクション番号 DI レジスタ番号(0, 2, 4…254) CX ライトワード値
AL 0Dh =コンフィギュレーション空間へダブルワードデータ書き込み
エントリ:
BH バス番号(0-255)
BL ビット7-3 デバイス番号 ビット2-0 ファンクション番号 DI レジスタ番号(0, 4, 8…252) ECX ライトダブルワード値
AL 0Eh = PCI割り込み要求ルーティング・オプションの取得
エントリ:
DS BIOSデータのセグメントかセクレタ
ES ルートバッファパラメータのセグメントかセレクタ DI ルートバッファパラメータの16ビットのオフセット EDI ルートバッファパラメータの32ビットのオフセット リターン:
BX 排他的なPCI割り込み要求データマップ:
ビット0 1はIRQ0 PCI専用 ビット1 1はIRQ1 PCI専用 ...
ビット151 = IRQ15 PCI専用
AL 0Fh =セット・PCIハードウェア割り込み
エントリ:
BH バス番号(0-255)
BL ビット7-3 デバイス番号 ビット2-0 ファンクション番号 CL PCI割り込みピン(0Ah...0Dh) CH IRQ番号(0-15)
DS BIOSデータのセグメントかセレクタ