Linux 6.8附带的AMD地址转换库“ATL”

2024年 1月 4日 45.6k 0

Linux 6.8附带的AMD地址转换库“ATL”-1
AMD地址翻译库(ATL)正在为基于Zen的系统清理和集中Linux内核中的现有代码。在内核邮件列表上进行了审查后,AMD ATL将作为即将到来的Linux 6.8内核周期。

AMD地址翻译库本身并不是什么闪亮的新功能,而是已在Linux内核中存在多年的现有AMD Zen地址转换代码的演变。随着AMD服务器硬件功能的扩展和像CXL这样的新创新的出现,这个以前独立于AMD EDAC(错误检测和纠正)驱动程序的代码现在被剥离到它自己的公共内核“库”中,可以更好地在多个AMD硬件驱动程序之间进行利用。

Linux 6.8附带的AMD地址转换库“ATL”-2

AMD地址转换库现在可以跨驱动程序使用,主要用于错误处理场景(如内存ECC错误)的地址转换。这块补丁在下周的Linux6.8合并窗口之前,添加AMD ATL库已经在TIP.git中排队。这个承诺很好地总结了一切:

“基于AMD ZEN的系统通过代表统一内存控制器(UMC)的机器检查库报告内存错误。为DRAM ECC错误报告的地址值是相对于UMC的”标准化地址“。此标准化地址必须转换为操作系统可以使用的系统物理地址。

在带有Zen1系统的MCA子系统中引入了对此地址转换的支持。该代码后来被转移到AMD64 EDAC模块,因为这是当时该代码的唯一用户。

但是,此翻译在EDAC之外也有用处。系统物理地址可以在MCA中用于抢占式页面脱机,就像在一些MCA通知器功能中所做的那样。此外,此转换也是AMD系统上某些CXL配置所需的类似功能的基础。

引入一个通用地址转换库,可用于多个子系统,包括MCA、EDAC和CXL。

包括对当前CPU系统UMC归一化到系统物理地址转换的支持。

数据结构间接寄存器访问偏移量和其中一个寄存器字段已更改。默认为当前偏移量和寄存器字段定义。如果在“传统”系统上运行,则会退回到较旧的值。

除了添加AMD地址转换库之外,另一个贴片 in TIP.git drops the former amd64_edac-specific address translation code and switches to using this new library for Linux 6.8.

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论