因為之前有在網路上看到有人寫了可以於 UEFI Shell 下發送命令的程式,因此自己也試試是否可以寫出類似功能的程式,如同 Linux 上的 ipmicmd 依樣,但主要可以在 UEFI Shell 下進行,可以方便開發人員快速的送出命令,便於測試。
功能 :
- 支援 shell v1.0與v2.0。
- 更新處理 memory與IO的函式,以便可以運作在更新的平台。
- 支援 raw Command 發送。
- 提供些許預設IPMI Command功能。
計畫 :
- 更完整的 SDR 顯示功能。
- FRU 完整更新與個別更新。
- 補足 IPMITool 的命令集。
您好,我是剛入BIOS領域的新人,想請問EDK2環境下要怎麼去訪問指定位址的memory內容呢,UEFI的資源真的好難找QQ
回覆刪除Hello , 其實方式有很多種,早期我是用 EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL 的方式來取得記憶體資料,(Mem.Read) 但後續因為這作法在一些新平台會無法取到值,所以我後續就偷懶,直接去存取實體記憶體位置
回覆刪除寫入
" *(volatile UINT32 *)(Offset) = Data; "
讀取
" *(volatile UINT32 *)(Offset); "
*Offset = 是只要存取的記憶體位置。
可以參考看看,如果要查看相關 UEFI 程序的話,推薦
Lab-Z 這位高手的網站 "https://www.lab-z.com/"
感謝您的回覆! 您的網站也讓我獲益良多XD
刪除