【发布时间】:2016-06-29 01:13:10
【问题描述】:
ARM 的 aarch64 有一条 AT(地址转换)指令,该指令通过地址转换阶段运行虚拟地址,返回 PAR_EL1 中的物理地址,以及指示转换是否存在的状态。请参阅 ARMv8 ARM,第 C5.5 节。
问题是:x86_64 是否有等价物? Intel 的系统编程指南(第 3 卷,第 5 章)谈到了指针验证,但这些方法似乎适用于段级保护,并且似乎没有任何页级保护指针验证指令。
有人知道 x86_64 的类似 ARMv8-AT 的指令吗?
【问题讨论】:
-
我不完全理解
at指令的作用。它是否返回页表的物理地址或类似的东西? -
参见 ARMv8 ARM,D7.2.70。
AT指令返回PAR_EL1中的信息(可在EL1、EL2 或EL3 访问)。PAR_EL1具有翻译状态(无论翻译是否存在),以及可共享性属性、可缓存性属性、安全状态和物理地址。
标签: x86-64 arm64 page-tables