UEFI Runtime Driverとは?

BIOS/UEFIおよびembedded firmware学習者向けにUEFI Runtime Driverを説明するクイックノート。

1 分で読めます
Đọc bằng 日本語 English
Debug / Shell / Driver Terms cover

UEFI Runtime Driverは、ExitBootServices()後もcodeやdataを利用できるようにするdriverである。

なぜ重要か

  • UEFI driverの構造と接続方法を説明する。
  • driver binding、controller connection、resource cleanupのdebugに役立つ。
  • Driver Binding Protocolのcodeを読むときに役立つ。

実例

例:Start()が途中で失敗した場合、driverはreturn前にopenしたprotocolやallocateしたresourceをcleanupすべきである。

クイックチェックリスト

覚えておくポイント

UEFI Runtime Driverは小さな概念に見えても、logを読むときや実際のfirmware debugで重要になる。

システムの流れに置く

UEFI Runtime Driver は、単独の用語として暗記するよりも、firmware の流れの中に置くと理解しやすいです。誰が作り、誰が読み、値が間違ったときにどの症状として出るのかを意識すると、学習用のメモがそのまま debug のチェックポイントになります。

イメージしやすい例

firmware の概念は、どの phase に属するかで意味がかなり変わります。UEFI Runtime Driver を見るときは、どの module が作り、どの protocol/PPI/HOB/variable に乗り、後続のどの module が使うのかを追うと理解しやすいです。

実際のデバッグで見るポイント

UEFI Runtime Driver は、どの firmware phase で現れるのか、どの module が作るのか、どの module が読むのか、間違ったときにどの log や症状として出るのか、という順番で見ると実戦的です。

DXE driver が bind しない、BDS で止まる、といった問題では、1 行の error だけを見るより、protocol、handle、device path、variable、policy を順にたどる方が原因に近づきやすいです。Firmware の不具合は単発ではなく、chain として表れることが多いです。

関連ノート

公開参考資料

この記事は役に立ちましたか?

ファームウェア、BIOS/UEFI、組み込みシステムを学んでいる人に共有できます。

Biến note thành bài viết hoàn chỉnh

Notes là nơi ghi nhanh khái niệm.