SPCRとは?
BIOS/UEFIおよびembedded firmware学習者向けにSPCRを説明するクイックノート。
SPCRは、OSがserial consoleを見つけて利用するためのconsole redirection情報を提供するACPI tableである。
なぜ重要か
- OSがplatform deviceやresourceを理解する助けになる。
- firmwareの記述とOS driverの動作をつなぐ。
- ACPI namespace、resource、tableの問題をdebugするときに役立つ。
実例
例:OSがACPI deviceへdriverをbindしない場合、_STA、_HID/_CID、_CRSの順に確認する。
クイックチェックリスト
覚えておくポイント
SPCRは、firmwareの記述とOSの解釈をつなぐ契約である。
システムの流れに置く
SPCR は、単独の用語として暗記するよりも、firmware の流れの中に置くと理解しやすいです。誰が作り、誰が読み、値が間違ったときにどの症状として出るのかを意識すると、学習用のメモがそのまま debug のチェックポイントになります。
イメージしやすい例
たとえば OS から device が見えない場合、すぐに driver の問題と決めつけない方がよいです。ACPI/PCI/SMBIOS で firmware が出している ID、resource、table 情報と、OS log が見ている内容を比べます。SPCR はその platform description の一部として見ると整理しやすいです。
実際のデバッグで見るポイント
SPCR は、どの firmware phase で現れるのか、どの module が作るのか、どの module が読むのか、間違ったときにどの log や症状として出るのか、という順番で見ると実戦的です。
DXE driver が bind しない、BDS で止まる、といった問題では、1 行の error だけを見るより、protocol、handle、device path、variable、policy を順にたどる方が原因に近づきやすいです。Firmware の不具合は単発ではなく、chain として表れることが多いです。
関連ノート
公開参考資料
この記事は役に立ちましたか?
ファームウェア、BIOS/UEFI、組み込みシステムを学んでいる人に共有できます。
Nội dung liên quan
Một số bài viết, ghi chú hoặc project có liên quan đến nội dung bạn vừa đọc.
DBG2とは?
BIOS/UEFIおよびembedded firmware学習者向けにDBG2を説明するクイックノート。
XSDTとは?
BIOS/UEFIおよびembedded firmware学習者向けにXSDTを説明するクイックノート。
GPIO Operation Regionとは?
BIOS/UEFIおよびembedded firmware学習者向けにGPIO Operation Regionを説明するクイックノート。
Biến note thành bài viết hoàn chỉnh
Notes là nơi ghi nhanh khái niệm.