Linux

linux如何把SMBIOS資訊放到/dev/mem?

  • August 27, 2019

我檢查了 dmidecode 原始碼。

我看到了這個:

int fd=open("/dev/mem", O_RDONLY);
long fp=0xE0000L;

看起來 Linux 已經將 SMBIOS 資訊複製到記憶體了?

/dev/mem提供對所有物理地址空間的訪問。BIOS 韌體是該地址空間的一部分(您的電腦必須有一些程式碼才能在開機期間執行)。

所以Linux“沒有將SMBIOS資訊複製到記憶體”,0xe0000自古以來就是BIOS的基地址,讀取這個via/dev/mem會直接從ROM中讀取(除非BIOS在啟動過程中用shadow RAM替換了自己,但同樣與Linux無關)。

引用自:https://unix.stackexchange.com/questions/537565