Mark Kang Asked: 2019-08-27 17:23:54 +0800 CST2019-08-27 17:23:54 +0800 CST 2019-08-27 17:23:54 +0800 CST linux如何把SMBIOS信息放到/dev/mem? 772 我检查了 dmidecode 源代码。 我看到了这个: int fd=open("/dev/mem", O_RDONLY); long fp=0xE0000L; 看起来 Linux 已经将 SMBIOS 信息复制到内存了? linux drivers 1 个回答 Voted Best Answer dirkt 2019-08-27T21:52:52+08:002019-08-27T21:52:52+08:00 /dev/mem提供对所有物理地址空间的访问。BIOS 固件是该地址空间的一部分(您的计算机必须有一些代码才能在开机期间运行)。 所以Linux“没有将SMBIOS信息复制到内存”,0xe0000自古以来就是BIOS的基地址,读取这个via/dev/mem会直接从ROM中读取(除非BIOS在启动过程中用shadow RAM替换了自己,但同样与Linux无关)。
/dev/mem
提供对所有物理地址空间的访问。BIOS 固件是该地址空间的一部分(您的计算机必须有一些代码才能在开机期间运行)。所以Linux“没有将SMBIOS信息复制到内存”,
0xe0000
自古以来就是BIOS的基地址,读取这个via/dev/mem
会直接从ROM中读取(除非BIOS在启动过程中用shadow RAM替换了自己,但同样与Linux无关)。