使用CPUID指令确定x86 MONITOR指令的地址范围

3

英特尔的 MONITOR 文档如下:

MONITOR 指令使用 EAX 中指定的地址来激活地址监控硬件(可以使用 CPUID 确定监控硬件检查存储操作的地址范围)。在指定地址范围内进行存储操作会触发监控硬件。MWAIT 使用监控硬件的状态。

那么,有没有人知道我应该向 CPUID 提供什么值,以获取“使用 CPUID 可以确定监控硬件检查存储操作的地址范围”?

或者 MONITOR 地址范围只是缓存行的大小吗?

1个回答

4
我已经找到了答案。这份文档包含了它:www.intel.com/Assets/PDF/appnote/241618.pdf。
监视器/MWAIT参数 (功能05h),即EAX应该为5。

请问您能否详细说明一下,即在05函数的哪个位置可以看到地址范围?因为我只看到了“最小监视线”和“最大监视线大小”,从这些信息中如何获取监视的地址范围呢? - Igor R.
这个范围是否可以从任意地址开始,而CPUID只给出监视范围的长度? - Igor R.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接