---
layout: page
pageTitle: 龙架构上游动向
pageSubTitle: 2026.07.10-2026.07.17
---

本文包括龙架构近一周（截至 2026 年 7 月 17 日 18:00）的龙架构上游社区动向，包括 Linux 内核、编程语言工具链、模拟器及其他项目的移植、优化、平台支持、问题修复和报告等。

本周上游社区动向中的主要亮点有：

- Linux 内核合入 ISA/LPC PIO 设备提前注册支持，可修复数款 3A6000/2K3000/3B6000M 设备无法启动主线内核的问题，以及使用 ACPI PPTT（处理器属性拓扑）表读取核心 ID，修复 3B6000 拓扑显示错误的问题修复
- .NET 龙架构原子指令支持正待上游审阅
- 模块化计算机系统仿真器 gem5 龙架构支持正待上游审阅，已得到一位上游维护者认可
- RISC-V 模拟器 RVVM 龙架构 JIT 后端支持已合入，可实现约 7% 原生性能（4.7x 解释器性能）
- Julia 编程语言龙架构支持推进中

## Linux 内核

<!--

线索来源：https://lore.kernel.org/loongarch/

内核需要补丁标题、链接及版本信息（v 几）
-->

本周 Linux 内核动向主要集中在现有平台支持修复（如对部分已知无法启动的设备的修复和对 3B6000 处理器拓扑显示错误的修复）和扩展（CAN-FD 控制器支持补丁迭代）、KVM 功能扩展（ACPI IOVT 表）和可靠性修复，以及其他杂项修复等。

### 平台支持

两周前，Huacai Chen [提交了](https://lore.kernel.org/loongarch/20260622065843.3961572-1-chenhuacai@loongson.cn/)一笔补丁，用于支持在 ACPI PCI 根设备前注册 ISA/LPC 可编程 I/O (PIO) 设备；该补丁主要针对的是部分使用 SystemIO 定义 PIO 设备的设备固件上，主线内核引导过程中报访存越界的问题。目前该补丁已合入 Linux 内核主线，并正逐步回合到活跃稳定和长期支持分支上。

> 该问题尤为常见于使用 ITE Super IO 提供大量串口的工控产品，如希沃 3A6000 主板及英众 3B6000M mITX 主板。

上周，Rong Bao [提交了](https://lore.kernel.org/loongarch/20260705093624.1079988-1-rong.bao@csmantle.top/)使用 ACPI PPTT（处理器属性拓扑）表读取核心 ID ，修复 3B6000 拓扑显示错误的补丁的第 2 版，整合了 Xi Ruoyao 先前建议的归一化核心 ID 的修改。目前该补丁已在 XB612B0_V1.0 及 XB612B0_V1.2 主板、8 及 12 核心 3B6000 的组合上测试成功。

Binbin Zhou [提交了](https://lore.kernel.org/loongarch/cover.1783670011.git.zhoubinbin@loongson.cn/) 2K0300 的温度监控支持，该补丁支持不同批次的 2K0300 芯片——早期芯片的传感器可能返回无效数据，此时驱动会打印警告并回落到 $T_{raw} \times 569 - 394700$ 的温度计算公式，确保功能基本可用。

Binbin Zhou [提交了](https://lore.kernel.org/loongarch/cover.1783670733.git.zhoubinbin@loongson.cn/)龙芯 CAN-FD 控制器驱动的第 5 版，继续修复先前数个补丁版本中发现的功能和代码风格问题，并修复了 master 分支的构建。

### KVM 子系统

本周，Huacai Chen 就 Bibo Mao 提交的 ACPI IOVT 表支持补丁集[给出了](https://lore.kernel.org/loongarch/CAAhV-H5FGWPnJraY9aYLrLKa5B+eo74eScTFzUeGGXT6f=4FZA@mail.gmail.com/)评审意见，主要指出补丁集内容可作整合，将原有的 8 个补丁合并为 3 个，分别对应新增 `acpi_arch_init()` 及 `acpi_arch_late_init()` 函数、新增龙架构 IOVT 设备表扫描支持和新增 `ACPI_IOVT` 配置项三个功能主题。本周提交的[第二版](https://lore.kernel.org/loongarch/20260717063713.3638059-1-maobibo@loongson.cn/)根据建议合并了补丁。

Tao Cui [修复了](https://lore.kernel.org/loongarch/20260714012452.1021833-1-cui.tao@linux.dev/)一处 KVM EIOINTC（扩展 I/O 中断控制器）模拟中的越界读取问题，该问题可被无特权的客户机触发，是潜在的安全问题。Bibo Mao 在审阅补丁时[指出](https://lore.kernel.org/loongarch/69470d5d-6c67-c42d-b8f8-8c115599703e@loongson.cn/)，其已在另外一个补丁集中[纳入了](https://lore.kernel.org/loongarch/6d591685-ee60-49a8-b883-f3d0a9395dd4@linux.dev/)相关修复，Tao Cui 随后表示放弃该补丁集，后续补丁审阅及合入以 Bibo 的版本为准。

Tao Cui [修复了](https://lore.kernel.org/loongarch/20260715100640.1454413-1-cui.tao@linux.dev/) `kvm_restore_timer()` 函数中 TVAL 值未在虚拟机迁移后正确更新和一处除零 (division-by-zero) 导致崩溃的问题。

Bibo Mao [提交了](https://lore.kernel.org/loongarch/20260714072520.2745942-1-maobibo@loongson.cn/)龙架构 KVM EIOINTC 及 DMSINTC 模拟强化补丁的第 5 版，该补丁集针对部分变量未初始化便被使用、IPI 不对齐时仅警告而不中断、内核态中断发送未正确使用内核态函数等问题和隐患作了修复。

Bibo Mao [提交了](https://lore.kernel.org/loongarch/20260716013823.3259816-1-maobibo@loongson.cn/)针对 vCPU 的 `pv_feature` 只能被一次性设置，导致虚拟机迁移问题的修复；该补丁修改 `pv_feature` 设置逻辑，检查 vCPU 特性是否正确且未被启动过，否则将重新设置 `pv_feature`。

### BPF 子系统

Nicholas Dudar [修复了](https://lore.kernel.org/bpf/20260709135344.1744677-1-main.kalliope@gmail.com/)龙架构 BPF 32 位算术运算 (ALU32) 运算结果中高 32 位结果不为零的问题，该补丁后续由 Tiezhu Yang 测试确认，修复了四个 BPF 测试用例。

Tiezhu Yang [提交了](https://lore.kernel.org/loongarch/20260711101656.7415-1-yangtiezhu@loongson.cn/)一系列针对 32 位零/符号位扩展的优化，目前该补丁处于征求意见稿 (RFC, Request for Comments) 阶段，尚需审阅和测试。Tiezhu Yang 还[清理了](https://lore.kernel.org/loongarch/20260711100956.4351-1-yangtiezhu@loongson.cn/) BPF 子系统函数 `build_insn()` 代码路径中的未使用代码 (dead code)、多余指令和不必要的运行时检查。

### 其他内核功能和代码修复

Song Hu [修复了](https://lore.kernel.org/loongarch/20260716030224.1696408-1-husong@kylinos.cn/)内核错误将非写入操作下的缺页异常（如读取 NX 页）视为偶发/不稳定错误，导致引发缺页异常的指令无限循环的问题。Song Hu [提交](https://lore.kernel.org/loongarch/20260717032721.1993891-1-husong@kylinos.cn/)的针对 `local_flush_tlb_kernel_range()` 大小计算的补丁则被 Huacai Chen [判定为伪修复并明确驳回了](https://lore.kernel.org/loongarch/CAAhV-H4nOQAAZf3X4wcf_Kc0wtvV7YPBS_8F=T79RrNs9HEQZw@mail.gmail.com/)；另外一个为 TLB 向量分配失败[新增警告](https://lore.kernel.org/loongarch/20260717023712.1989650-1-husong@kylinos.cn/)的补丁也因为风险与用户感知不对等被驳回。

Haofeng Li [修复了](https://lore.kernel.org/loongarch/20260714122351.3274006-3-lihaofeng@kylinos.cn/)中断重定向控制器代码中的多个分配 (alloc) 和释放 (free) 泄漏。

## 工具链

<!-- xry111 编撰审阅；工具链合集内容也可参考：https://patchwork.sourceware.org/ -->

本周工具链动向以修复和优化为主；.NET 方面收到了龙架构原子指令支持。

### Binutils

<!-- https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git -->

Xi Ruoyao [修复了](https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=a4481c8ff808e7237b99815d84b0d4c06ded6124)之前提到的 ld -r 对齐修复导致内核模块中出现非预期的 R_LARCH_ALIGN 重定位而无法被内核加载的问题。

Meng Qinggang [简化了](https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=bfc3ac0d13b52a400aea7221603a5ac69510f471) 链接器中 R_LARCH_DTPREL{32,64} 重定位的处理，并忽略了其 addend，以绕过 GCC 在调试信息中使用这些重定位时错误附加 addend 的问题。

Meng Qinggang 采取了一系列减少重定位所需存储空间的措施：针对链接器，[设定](https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=2a6fb1798b6a81d57985494bba284239505a23ff) R_LARCH_TLS_DESC64_* 重定位的大小为 $4$（之前设为 $8$，导致额外产生了一个 R_LARCH_NONE 重定位）；针对汇编器，在能确保链接器松弛不会改变表达式和其引用符号之间相对位置的情况下，不生成 [R_LARCH_{ADD,SUB}*](https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=4fec67921a8c11700dff6db1c8b6ad9255c59254)、[R_LARCH_B21 等](https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=eb2be880c89506ddc619af484121df1c9538e8e8)重定位，且在生成可能会被松弛的指令之前[不生成](https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=eb2be880c89506ddc619af484121df1c9538e8e8) R_LARCH_ALIGN。

### GCC

<!-- https://gcc.gnu.org/git/?p=gcc.git -->

WANG Xuerui (xen0n) [报告了](https://gcc.gnu.org/PR126200) GCC 主分支生成立即数超出允许范围的 vshuf4i.b 指令导致汇编失败的问题；Xi Ruoyao [提交了](https://gcc.gnu.org/pipermail/gcc-patches/2026-July/723919.html)修复，待审阅。

Meng Qinggang [提交了](https://gcc.gnu.org/pipermail/gcc-patches/2026-July/723281.html)补丁，以移除调试信息中 R_LARCH_DTPREL{32,64} 重定位附带的不正确的 addend。

### glibc

<!-- https://sourceware.org/git/gitweb.cgi?p=glibc.git](https://sourceware.org/git/gitweb.cgi?p=glibc.git -->

Xi Ruoyao [提交了](https://sourceware.org/glibc/wiki/Release/2.44#LoongArch_.2864-bit_hard-float.29) glibc 2.44 预发布测试结果。

<!-- ### Go 无进展 -->

<!-- https://github.com/golang/go -->

### LLVM

<!-- lrzlin 审阅；https://github.com/llvm/llvm-project -->

Lei Wang [提交了](https://github.com/llvm/llvm-project/pull/208886)一笔针对 Clang 测试套件的修复，禁用了龙架构后端[暂不支持](https://github.com/llvm/llvm-project/pull/208413#issuecomment-4943363075)的 Emulated TLS 测试。该测试最初由拉取请求 [#207161](https://github.com/llvm/llvm-project/pull/208413) 引入，用于为 `IRMaterializationUnit` 引入 `__emutls_t` 定义跟踪支持。

Rui Wang [修复了](https://github.com/llvm/llvm-project/pull/209725) `matchHalfOf128BitLanes` 错误地仅绑定了 LSX 指令，导致 LASX 指令模式无法被匹配的问题，以及 `VEXTH/VEXTH_U` 被错误用于形如 `v8i8 -> v8i32` 和 `v2i64 -> v2i128` 扩展操作的问题。这个问题是 [#207316](https://github.com/llvm/llvm-project/pull/207316) 启用向量高 128 位扩展优化引入的。

Rong "Mantle" Bao [修复了](https://github.com/llvm/llvm-project/pull/206321) RISC-V/LoongArch lld 在启用 `--no-relocs --emit-relocs` 参数的情况下重定位漂移的问题，但 Jessica Clarke 对此提出反对意见，认为 `--emit-relocs` 选项在启用链接器松弛的情况下没有意义，但考虑到 GNU ld 与 mold 均选择修复该问题，因此仍需进一步讨论。

<!-- ### Rust -->

<!-- lrzlin 审阅；https://github.com/rust-lang/rust -->

<!-- ### Zig -->

<!-- https://github.com/ziglang/zig -->

### .NET

<!-- https://github.com/dotnet -->

上个月，An Liu [提交了](https://github.com/dotnet/runtime/pull/129683)龙架构原子指令支持，同时支持 LoongArch ISA v1.0 及 v1.1。本轮补丁在过去一周已正式交给 JIT 开发组审阅。

## 固件 & 模拟器

模拟器方面，Box64 如常推进优化和修复工作，QEMU 收到两笔修复及 TCG 解释器 LVZ 指令集扩展模拟支持的第 3 版。

### Box64

<!-- 刘阳负责；https://github.com/ptitSeb/box64 -->

- Yang Liu (ksco)
  - [提交了](https://github.com/ptitSeb/box64/commit/24d550147f80562305d0c237bd54e1b6085bcc25)通用寄存器高 32 位零值追踪优化，用于消除冗余 `bstrpick.d` 指令。并随后通过一系列后续提交完善了该优化：[1](https://github.com/ptitSeb/box64/commit/d53d99ebcfc3042d92b35b76f3636d9571cd83b7) [2](https://github.com/ptitSeb/box64/commit/2d5d7d1a417ee8ca96559de175dcff3ada6408fb) [3](https://github.com/ptitSeb/box64/commit/4b482fb0e1630376dd511c32d6b6de34bffbef6e) [4](https://github.com/ptitSeb/box64/commit/1dd0323f8f0863a7612d03f87559eda30a483992) [5](https://github.com/ptitSeb/box64/commit/e016c5a6cd0e331dcff70f40ff1a1863dab54c24)。
  - [提交了](https://github.com/ptitSeb/box64/commit/32f966210b71e208a2b39fe6994f944d1e02bdaf)紧凑式 DynaRec 代码块转译转储功能，方便调试。
  - [修复了](https://github.com/ptitSeb/box64/commit/862fef5e0fa963f1b07f126675c24068fb58c449)解释器中对 `EXTRQ` 和 `INSERTQ` 指令的错误实现。
  - [修改了](https://github.com/ptitSeb/box64/commit/894a18318043656278019e601da03141df4f550b) `BOX64_DYNAREC_SEP` 选项为默认禁用，以修复某些负载下分支预测失败率大幅提升的问题。
  - [提交了](https://github.com/ptitSeb/box64/commit/0910384e6f83ba5f8c9de2b0c65479061f451b20) 16 位 `IMUL` 指令的 DynaRec 实现。
  - [提交了](https://github.com/ptitSeb/box64/commit/373e1306ad476d29c19bb5429a71487939adb951) 16 位 `AND` 指令的 DynaRec 快速路径实现。
- Xiang Zhai
  - [提交了](https://github.com/ptitSeb/box64/commit/a107c2a52b97ae0a40b8e9f1dee0f9d1456bba2e)零值追踪相关提交引入的 SIGBUS 处理中 ABI 1.0 的兼容处理代码。

<!-- ### EDK II -->

<!-- https://github.com/tianocore/edk2, https://github.com/tianocore/edk2-platforms -->

### QEMU

<!-- https://lists.gnu.org/archive/html/qemu-devel/ -->

Bibo Mao [修复了](https://lists.gnu.org/archive/html/qemu-devel/2026-07/msg04219.html)恒定计时器 (constant timer) 未启用时 `CONSTANT_TIMER_TICK_MASK` 未被赋值的问题。

SignKirigami [提交了](https://lists.gnu.org/archive/html/qemu-devel/2026-07/msg03117.html) TCG 解释器下 LVZ 指令集扩展模拟补丁集的第 3 版，目前 Bibo Mao 已提出一系列审阅意见。

Miao Wang [提交了](https://lists.gnu.org/archive/html/qemu-devel/2026-07/msg04671.html)修复 TCG 解释器模拟时，`CSR_ESTAT` 同时 CPU 和其他线程写入时的潜在竞态条件的补丁，可解决双 vCPU 客户机中随机出现的 RCU Stall、Soft/Hard Lockup 错误，抑或使用单 vCPU 的客户机时随机卡死在 `idle_exit()` 函数的问题。

## Linux 发行版及操作系统

本周，Linux 发行版及操作系统方面针对龙架构的修复或优化较少。

<!-- 
发行版内容需要参考: https://loongfans.cn/os 以及 https://areweloongyet.com/，这里只列出了更新较为活跃的内容。

未标注内容均可在 [github.com](github.com) 中找到对应的内容。

白铭骢负责编撰审阅。
-->

<!-- ### Alpine Linux -->

<!-- https://github.com/alpinelinux/aports -->

<!-- ### Anolis OS（龙蜥）-->

<!-- https://gitee.com/organizations/anolis/pull_requests -->

### Debian

<!--

https://salsa.debian.org/explore/projects/active

此内容主要通过搜索 `merge` + `loongarch/loong64`

-->

Miao Wang 通过回合上游补丁[修复了](https://salsa.debian.org/qemu-team/qemu/-/merge_requests/55) QEMU 中 dracut 测试的错误。

<!-- ### deepin -->

<!-- https://github.com/linuxdeepin -->

<!-- ### 安同 OS -->

<!-- https://github.com/AOSC-Dev/aosc-os-abbs -->

## 其他开源项目

如同往常，本周其他项目的动向依然十分活跃。为保障可读性，本周开始对其他开源项目的动向作精筛，并排除了学术性和竞赛相关项目的动向（下期开始可能单列此类内容）。

<!--

其他开源项目主要参考 github.com 及 gitee.com 中的 Issues、Pull Request 及 disscussion 的内容，搜索内容为：`loongarch`、`LA`	、`loongson`、`loong64` 等内容，添加过滤规则为 `Recently updated`。

另外需要注意将上周编撰内容回顾，查看上周项目是否有最新进度。

-->

### 问题报告与英雄帖

lindexi [发布了](https://github.com/xljiulang/PublishAotClang/issues/2)为 .NET 交叉编译与发行工具链 PublishAotClang 添加龙架构支持的请求，但作者反馈 .NET 的 AOT 发布设施对龙架构支持尚不完整，需要更多关注以便继续推进。

TOA-HI [发布了](https://github.com/loongson/Firmware/issues/164)为龙芯 2K3000 AI 评估板 (G2K30Z0) 更新固件的请求，并随附了该板的[硬件设计](https://gitee.com/open-loongarch/docs-2k3000/tree/master/2K3000%20AI%E5%BC%80%E5%8F%91%E6%9D%BF)。

一位称呼未知的社区开发者[发布了](https://issues.chromium.org/issues/535058203)为 Chromium Clang 工具链新增龙架构 compiler-rt 二进制的请求，随后上游维护者以龙架构不是 Chromium 官方支持的架构为由表示拒绝，并建议下游维护。但该社区开发者指出，同为非官方（社区）支持架构的 RISC-V 在 2025 年便合入了相关支持，并请求上游说明获得类似支持的先决条件有什么，并对两个架构的不同处置方式给出解释。目前上游未予置评。

### 移植、优化与修复进展

CrazyMax (crazymax) [修复了](https://github.com/tonistiigi/xx/pull/254)可复用 Dockerfile 交叉构建库 tonistiigi/xx 对不同龙架构 Linux 发行版架构名称的支持。上游已合并，等待发版。

Hajime Hoshi (hajimehoshi) [修复了](https://github.com/ebitengine/purego/pull/476)纯 Go 语言实现的 C 函数调用库 purego 在龙架构（和 x86-64）上结构体返回时栈参数计数不足的问题。上游已合并，等待发版。

Mikura Kyouka (Mikura-Kyouka) 为[龙芯爱好者社区门户](loongfans.cn)提交了[《Box64 入门指南》](https://loongfans.cn/zh/guides/box64)。该指南现已上线。

Rui Wang (heiher) 为 Rust 崩溃处理库 crash-handling [添加了](https://github.com/EmbarkStudios/crash-handling/pull/113)基础龙架构支持，该库是 Zed 编辑器/IDE 的必备依赖之一。

ruki [修复了](https://github.com/xmake-io/xmake/pull/7655) MetsukiMio 先前向跨平台构建系统 xmake [报告的](https://github.com/xmake-io/xmake/issues/7653)构建系统输出错误龙架构二进制（在 64 位目标下输出了 32 位二进制）的问题。补丁已合入主分支，等待发版。

wuggy [发布了](https://repo.dactyloidae.xyz/Dactyloidae/UXP/releases/tag/13.2-rc1)基于 Firefox XUL 时代版本的浏览器 Dactyloidae（安乐蜥）的 13.2-rc1 版，该版包含龙架构 JIT 支持，可大幅度提高浏览体验。

xiaoxiaoafeifei 为 Julia 编程语言的 cpufeatures（处理器特性探测库）库[添加了](https://github.com/JuliaLang/cpufeatures/pull/53)龙架构处理器特性探测的支持，并表示这是为 Julia 添加龙架构支持计划中的一部分。上游维护者已表达原则性认可。

Zhongkai Xu 为 Type-1 裸金属虚拟机管理器 hvisor [添加了](https://github.com/syswonder/hvisor/pull/358)龙架构 Alternative Routing-ID Interpretation (ARI) 支持。ARI 可提高虚拟化系统的可扩展性和低延时性能。

YANGJINZE (KincaidYang) 为 WHOIS 查询工具 whois [添加了](https://github.com/KincaidYang/whois/pull/43)龙架构二进制生成目标支持。目前该更改已合并，自 1.1.0 版开始发行龙架构 (ABI 2.0) 二进制。

Yao Zi (ziyao233) 为 RISC-V 模拟器 RVVM [提交了](https://github.com/LekKit/RVVM/pull/244)龙架构 JIT 后端支持，根据作者介绍，JIT 后端目前可实现约 7% 原生性能，但相比纯解释器实现，性能已有 4.7x 提升。上游已合并，等待发版。

Xi Zhang (cheungxi) 为模块化计算机系统仿真器 gem5 [提交了](https://github.com/gem5/gem5/pull/3309)龙架构支持。目前已得到一位上游维护者认可。
