pretty code

2019年7月12日 星期五

UEFI Memory Map and BIOS E820 Table

趁著手上的事暫時告一段落的空檔,把幾天前 Google 到的資料整理一下,免得之後還要再查一次。

RU Tool 有一個可以看 BIOS E820 Table 的功能,E820 名稱是從指令 INT15h, AX=E820h 來的,因為我們對 AX 設值 E820,故命名為 E820 Table。Legacy BIOS 會把這個 Table 建好,OS 就知道那些 RAM 是可以用的。

來到了 UEFI 的時代,取而代之的是 UEFI Memory Map,我們可以透過 BootServiceGetMemoryMap 函數來取得相關資訊,雖然我沒試過,但應該會等於 Shell memmap 指令的結果。

另外,從網路上查到的資料,Linux 似乎傾向使用 E820 Table,故會將 UEFI Memory Map 的資料轉換後填寫到原 E820 Structure。

有興趣的可以看此篇文章


2020/06/03 更新

最近在看 dmesg log 時,無意間看到 E820 資訊,拍張照片記錄一下。

沒有留言: