UEFI概念龜速學習 服務和驅動

2021-09-05 01:35:29 字數 779 閱讀 1274

uefi用驅動的形式提供服務,因為只有驅動才能常駐記憶體(應用程式不行),這種驅動稱之為服務型驅動

驅動分2種,uefi驅動模型驅動 和 dxe驅動。服務採用dxe驅動的方式開發

服務的開發分3步:

1. 服務介面的設計

2. 服務介面的實現

3. 服務驅動入口函式中gbs->installprotocolinte***ce,將protocol的例項安裝到自身handle上

驅動的驅動服務部分:

1. protocol標頭檔案中定義乙個protocol(efi_***_protocol),包括guid,成員函式和變數的簽名

2. 驅動程式原始檔中定義私有資料(***_private_data),包括protocol和相關資訊

這裡protocol介面的實現要觸及硬體裝置(暫存器)

驅動的框架部分:

1. 實現efi_driver_binding_protocol的三個服務supported、start和stop

start服務負責為私有資料分配記憶體、初始化私有資料,並在controllerhandle上安裝協議(installprotocolinte***ce)

2. 實現component name protocol和component name2 protocol

3. 模組入口函式中安裝edbp,ecnp,ecn2p(efilibinstalldriverbindingcomponentname2)到image handle

Linux學習 服務管理

1 服務分類 服務管理內容 啟動 自啟動查詢已安裝的服務 rpm包安裝的服務 自啟動的chkconfig list 2345中如果是啟用,代表下次開機會自啟動 正在執行的服務ps aux 原始碼包安裝的服務 檢視服務的安裝位置,一般是 usr local 下 系統執行級別 配置檔案位於 etc in...

驅動學習 服務的基本操作

服務的基本操作 1 註冊 2 啟動 3 暫停 核心驅動不支援 4 停止 5 解除安裝 開發者 呼叫api lpc 本地方法呼叫 服務管理器 服務管理器處理具體的要求 sc handle winapi openscmanager lpctstr lpmachinename,lpctstr lpdata...

機器 深度 學習入門3000問(龜速持續更新)

1.使用python中 os.listdir 發現mac隱藏資料夾.ds store造成的報錯 問 如何 or如何在程式中去除.ds store的影響?參考 2.如何設定終端的初始執行位置?答 1.版本 1.需要配置多種環境麼?答 需要,方便管理需要不同python版本的不同專案。2.jupyter...