閱碼場UEFI開發(fā)訓(xùn)練營1期 筆記
在應(yīng)用程序和驅(qū)動中訪問系統(tǒng)表
系統(tǒng)表是 UEFI 內(nèi)核的一個全局結(jié)構(gòu)體,其指針作為程序映像入口函數(shù)的參數(shù)傳遞到用戶空間。程序映像(包括 UEFI 應(yīng)用程序、DXE 驅(qū)動程序、UEFI 驅(qū)動程序)的入口函數(shù)有統(tǒng)一的格式,函數(shù)原型如下:
系統(tǒng)表指針從內(nèi)核傳遞到用戶空間的過程
程序映像的入口函數(shù)通常是 _ModuleEntryPoint。當(dāng)應(yīng)用程序或驅(qū)動加載到內(nèi)存形成 Image 后,_ModuleEntryPoint 函數(shù)地址被賦值給 Image 對象的 EntryPoint,然后 Image->EntryPoint 會被執(zhí)行,最終會從 Image 的入口函數(shù) _ModuleEntryPoint 執(zhí)行到模塊的入口函數(shù)
?系統(tǒng)表的構(gòu)成
系統(tǒng)表可分為以下6個部分
表頭:包括表的版本號、表的 CRC 校驗碼等。
固件信息:包括固件開發(fā)商的名字字符串和固件版本號。
標(biāo)準(zhǔn)輸入控制臺、標(biāo)準(zhǔn)輸出控制臺、標(biāo)準(zhǔn)錯誤控制臺。
啟動服務(wù)表。
運行時服務(wù)表。
系統(tǒng)配置標(biāo)。
系統(tǒng)表數(shù)據(jù)結(jié)構(gòu):
標(biāo)簽: