0から作るソフトウェア開発

日々勉強中。。。

0から作るOS開発

環境準備

環境設定

ブートローダ

カーネルローダ

GRUB

カーネル

ドライバーその他

Tips BIOSランタイムサービス一覧

BIOSランタイムサービス一覧

ランタイムサービスを利用するにはランタイムサービスのエントリーポイントを呼び出し

します。エントリーポイントはシステムメモリーの0xF0000から0xFFFFFのどこかに

PnPインストールチェック構造体 のメンバーとして格納されています。この構造体の

エントリーをファンクション番号と引数を指定してファーコールすることでBIOSランタイム

サービスが利用できます。構造体自体が無ければBIOSはランタイムサービスを

サポートしていません。

構造体はシグネチャー"$PnP"で0xF0000からスキャンして、見つかったPnP

インストールチェック構造体の先頭からのオフセット0x08にあるチェックサムを

計算して判断します。

この一覧ではランタイムサービスをC言語形式で表記します。

また、ファンクションを呼び出した後の戻り値はAXレジスターに格納されます。

AXレジスター以外のレジスター(EFLAGSレジスター含む)は呼び出し前の状態に

戻ります。

リンクをクリックすると表の下に詳細が表示されます

BIOSブート仕様で規定しているBIOSランタイムサービス一覧
ファンクション番号 ファンクション名
(英語)
ファンクション名
(日本語)
説明 仕様
0x60 Get Version and Installation Check BIOSブート仕様実装チェックとバージョン取得 BIOSが BIOSブート仕様 に準拠しているか調べバージョンを返します BIOSブート仕様
0x61 Get Device Count デバイス数取得 IPLデバイス 数と BCVデバイス 数を取得します。 BIOSブート仕様
0x62 Get Priority and Table 優先度とテーブル取得 IPL優先度 BCV優先度 IPLテーブル BCVテーブル を取得します。 BIOSブート仕様
0x63 Set Priority 優先度設定 IPL優先度 BCV優先度 NV RAMに格納します。 BIOSブート仕様
0x64 Get IPL Device from Last Boot 最終ブート時のIPLデバイス情報取得 最後にブートしたときの IPLテーブル を取得します。 BIOSブート仕様
0x65 Get Boot First 第1ブートデバイス情報取得 一番最初にブートするように設定されているデバイスの IPLテーブル エントリーを取得します。 BIOSブート仕様
0x66 Set Boot First 第1ブートデバイス情報設定 一番最初にブートするように設定するデバイスを IPLテーブル エントリーに設定します。 BIOSブート仕様
0x67-0x6F 予約 予約 BIOSブート仕様用に予約されています。 BIOSブート仕様


inserted by FC2 system