AMD 今天早上发布了一个新的 Linux 内核补丁系列,为“即将推出的处理器”启用一项新功能,该功能几乎肯定是Zen 4的,最近几周他们继续围绕更多开源补丁开展工作,为他们的下一代处理器做准备。
今天发出的补丁系列被标记为“征求意见”(RFC),它利用即将推出的 AMD 处理器中的上位地址忽略 (UAI) 功能来实现用户空间地址标记功能。
早在 11 月更新的 AMD64 架构程序员手册确实列出了用户地址忽略,但显然没有指定它何时会出现在未来的 AMD 处理器中。随着 Linux 内核的 UAI 补丁程序现已推出,它几乎可以保证 Zen 4 将提供它…… AMD 还没有处于他们在未来两代人的 Linux 内核特性上 公开工作的阶段。
AMD 的程序员手册之前概述了 Upper Address Ignore 功能。现在,他们正在研究 UAI for Linux 的首次计划使用。
AMD Upper Address Ignore 功能可以以与 Armv8.5-A 添加的 Arm 内存标记扩展 (MTE) 类似的方式使用,更广泛地说,作为 AArch64 的一部分是 Top Byte Ignore (TBI) 支持。在 Arm 的 MTE 案例中,主要用作内存安全功能,而在 AMD UAI 中,主要是开放式标记,带有 AArch64 TBI 等内存地址的其他未使用位。
英特尔的 ISA 编程参考手册之前概述了其线性地址屏蔽 (LAM) 功能,其本质上类似于 AMD UAI。
就英特尔而言,他们也一直在做类似的事情。自 2020 年以来,我注意到英特尔一直致力于线性地址屏蔽 (LAM)。线性地址屏蔽是将 64 位线性地址的未翻译地址位用于元数据。英特尔 LAM 将与未来的处理器一起推出,围绕它的 Linux 内核使用仍在最终确定中,与今天的 AMD UAI 补丁有一些重叠。
通过今天提出的补丁,AMD 正在寻求利用 UAI 进行用户地址标记。AMD 补丁集基于 Intel LAM Linux 补丁构建,用于扩展 AArch64 的 SET_TAGGED_ADDR_CTRL/GET_TAGGED_ADDR_CTRL prctl() 选项,以将 x86_64 地址标记打开到用户空间。内存标记可用于通过跟踪非法内存操作以及其他可能的用例来检测内存错误和其他问题。
到目前为止,这种 AMD UAI 对 Linux 内存标记的支持已经在 RFC 标志下进行了“轻微测试”,以寻求其他内核开发人员的反馈。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun137731.html