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

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

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

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

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