2章 EDK2入門
EDKによるビルドがわりとブラックボックスでちょっと気持ちが良くない。とりあえず設定ファイルの記述の意味を知りたい。
2.5 メモリマップの取得
Loader.infに追記するこれは一体なんなのか。
[Protocols]
gEfiLoadedImageProtocolGuid
gEfiLoadFileProtocolGuid
gEfiSimpleFileSystemProtocolGuid
EDK2のInf仕様書を見た。
https://edk2-docs.gitbook.io/edk-ii-inf-specification/2_inf_overview/29_-protocols-_section
モジュール開発者によって使われるグローバルCネームのリスト。変換ツールによってEDK2パッケージ内のDECファイルに記載されている実際のPROTOCOL GUIDに変換され、そのデータ構造がモジュールのAutoGen.cに記載される。
というようなことが書いてあった。EDKもROSのように独自のルールに沿ったワークスペースでビルドを行うような設計みたいなので、そのモジュール間で共有したいグローバル変数は予め教えておく必要があるというような意味合いかと思った。
ここで言うプロトコルというのはまだよくわかっていない。