未记录的 MSR 机器特定寄存器

逆向工程 x86 英特尔 BIOS
2021-07-09 02:52:44


我正在反转我的笔记本电脑BIOS,为了好玩和学习新东西。
在里面,我刚刚进入了这段代码:

mov     ecx, 13Ah
rdmsr
and     eax, 1
jnz     SkipCacheAsRAM

查看英特尔数据表“英特尔 64 位和 IA-32 架构软件开发人员手册”,我找不到任何关于它的线索,但似乎在此 BIOS 版本中,它的价值对于确定关键功能(例如“缓存作为 RAM' 必须使用一种或另一种方法进行初始化。我还查看了 AMD 等效数据表,尽管我确定主板仅适用于英特尔 CPU。
有没有人告诉我可以在哪里搜索这个 0x13a 寄存器的替代来源?

1个回答

GitHub 是搜索此类内容的好地方,例如:

https://github.com/search?q=0x13A+IA32+MSR&type=Code(可能需要登录)

产生如下结果:

#define MSR_BOOT_GUARD_SACM_INFO                                      0x13A
#define B_NEM_INIT                                                    BIT0

没有注释,但从名字上看,位 0 决定了处理器是否已经处于 NEM(非逐出模式,Cache-as-RAM 的另一个名称)。