龙芯 LoongArch 多项改进合入 Linux 7.1 内核,完善 CPU 漏洞处理并扩展原子指令支持

IT之家 4 月 26 日消息,在即将结束的 Linux 7.1 内核合并窗口期中,LoongArch 架构支持迎来一系列更新,获得多项底层能力增强。 根据提交内容,Linux 7.1 已能够更准确地展示并处理龙芯 CPU 漏洞信息,同时为 BPF JIT 引入更多原子指令支持,并扩展了 BPF 跳...
龙芯 LoongArch 多项改进合入 Linux 7.1 内核,完善 CPU 漏洞处理并扩展原子指令支持
龙芯 LoongArch 多项改进合入 Linux 7.1 内核,完善 CPU 漏洞处理并扩展原子指令支持

IT之家 4 月 26 日消息,在即将结束的 Linux 7.1 内核合并窗口期中,LoongArch 架构支持迎来一系列更新,获得多项底层能力增强。

根据提交内容,Linux 7.1 已能够更准确地展示并处理龙芯 CPU 漏洞信息,同时为 BPF JIT 引入更多原子指令支持,并扩展了 BPF 跳板(trampoline)的功能特性。此外,还包括缓存维护、系统调用路径及日志等方面的多项优化与修复。

较为意外的是,此拉取请求中还包含了针对 LoongArch 的 32 位支持工作。本次更新新增了 HIGHMEM(IT之家注:包括 PKMAP 与 FIX_KMAP)支持,主要面向 32 位环境,以提升对更大内存空间的访问能力。与此同时,Linux 构建体系也针对 32 位与 64 位配置进行了调整,并补充了围绕 CONFIG_32BIT 的相关处理逻辑。

其他改动还包括对 jump_label 的指令缓存维护进行批处理优化、新增全局与本地 icache 刷新接口、为系统调用分发表引入 Spectre 边界保护,以及改进 KASLR 关闭时的日志记录机制。此外,更新还对 FPU 寄存器状态对齐进行了优化,并调整了中断相关逻辑与栈保护初始化方式。

在 BPF 子系统方面,LoongArch 架构新增对 load-acquire 与 store-release 指令的支持,同时扩展了读-改-写原子操作能力,并提升 trampoline 对函数参数(最多支持 12 个参数及小型结构体参数)的处理能力。

来源: www.ithome.com查看原文