From 4910d83eddea6bfd118687a9688c7f0a6c016f72 Mon Sep 17 00:00:00 2001 From: Kaiyang Wu Date: Wed, 29 Jul 2026 09:53:08 +0800 Subject: [PATCH 1/3] ci: disable MD003 to allow mixing ATX and Setext header style Allow mixing ATX style headers (start a line with #) and Setext style headers (add a new line of ===/--- following the header text) to make sections more visible. Signed-off-by: Kaiyang Wu --- .markdownlint.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.markdownlint.yaml b/.markdownlint.yaml index f8f35fc0..931a75f7 100644 --- a/.markdownlint.yaml +++ b/.markdownlint.yaml @@ -1,3 +1,6 @@ +# It's fine to switch to different header style for better readability +MD003: false + # It's fine to switch to different ul style for better readability MD004: false From aae5611a94f314eeb4482be4a87927f384816fa5 Mon Sep 17 00:00:00 2001 From: Kaiyang Wu Date: Wed, 29 Jul 2026 09:54:48 +0800 Subject: [PATCH 2/3] refactor(en/news/upstream): fix Markdown linting for 2026.07.10-2026.07.17.md Signed-off-by: Kaiyang Wu --- pages/en/news/upstream/2026.07.10-2026.07.17.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/pages/en/news/upstream/2026.07.10-2026.07.17.md b/pages/en/news/upstream/2026.07.10-2026.07.17.md index 50ad765e..78a46e38 100644 --- a/pages/en/news/upstream/2026.07.10-2026.07.17.md +++ b/pages/en/news/upstream/2026.07.10-2026.07.17.md @@ -129,14 +129,14 @@ For emulators, Box64 received more optimizations and fixes as usual, QEMU receiv - Yang Liu (ksco) - - [Submitted](https://github.com/ptitSeb/box64/commit/24d550147f80562305d0c237bd54e1b6085bcc25) an upper 32-bit zero tracking optimization to remove redundant `bstrpick.d` instructions, and submitted a series of subsequent commits to complete the optimization: [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). - - [Submitted](https://github.com/ptitSeb/box64/commit/32f966210b71e208a2b39fe6994f944d1e02bdaf) a compact mode to DynaRec code block dumping to ease debugging. - - [Fixed](https://github.com/ptitSeb/box64/commit/862fef5e0fa963f1b07f126675c24068fb58c449) the wrong implementation of `EXTRQ` and `INSERTQ` instructions in the interpreter. - - [Modified](https://github.com/ptitSeb/box64/commit/894a18318043656278019e601da03141df4f550b) the `BOX64_DYNAREC_SEP` option to disabled by default to fix significant increase of branch mispredictions under certain loads. - - [Submitted](https://github.com/ptitSeb/box64/commit/0910384e6f83ba5f8c9de2b0c65479061f451b20) a DynaRec implementation of the 16-bit `IMUL` instruction. - - [Submitted](https://github.com/ptitSeb/box64/commit/373e1306ad476d29c19bb5429a71487939adb951) a fast path DynaRec implementation of the 16-bit `AND` instruction. + - [Submitted](https://github.com/ptitSeb/box64/commit/24d550147f80562305d0c237bd54e1b6085bcc25) an upper 32-bit zero tracking optimization to remove redundant `bstrpick.d` instructions, and submitted a series of subsequent commits to complete the optimization: [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). + - [Submitted](https://github.com/ptitSeb/box64/commit/32f966210b71e208a2b39fe6994f944d1e02bdaf) a compact mode to DynaRec code block dumping to ease debugging. + - [Fixed](https://github.com/ptitSeb/box64/commit/862fef5e0fa963f1b07f126675c24068fb58c449) the wrong implementation of `EXTRQ` and `INSERTQ` instructions in the interpreter. + - [Modified](https://github.com/ptitSeb/box64/commit/894a18318043656278019e601da03141df4f550b) the `BOX64_DYNAREC_SEP` option to disabled by default to fix significant increase of branch mispredictions under certain loads. + - [Submitted](https://github.com/ptitSeb/box64/commit/0910384e6f83ba5f8c9de2b0c65479061f451b20) a DynaRec implementation of the 16-bit `IMUL` instruction. + - [Submitted](https://github.com/ptitSeb/box64/commit/373e1306ad476d29c19bb5429a71487939adb951) a fast path DynaRec implementation of the 16-bit `AND` instruction. - Xiang Zhai - - [Submitted](https://github.com/ptitSeb/box64/commit/a107c2a52b97ae0a40b8e9f1dee0f9d1456bba2e) ABI 1.0 compatibility code in the related commits of zero tracking for processing SIGBUS. + - [Submitted](https://github.com/ptitSeb/box64/commit/a107c2a52b97ae0a40b8e9f1dee0f9d1456bba2e) ABI 1.0 compatibility code in the related commits of zero tracking for processing SIGBUS. @@ -214,7 +214,6 @@ TOA-HI [submitted](https://github.com/loongson/Firmware/issues/164) a request to A community developer [submitted](https://issues.chromium.org/issues/535058203) a request to add LoongArch compiler-rt binary to the Chromium Clang toolchain. The upstream maintainers marked the request as "Won't Fix (Intended Behaviour)", stating that LoongArch is not officially supported and preferred downstream maintenance. However, the community developer pointed out that another unofficial (community) architecture, RISC-V, has received official support in the upstream back in 2025, and requested that the upstream explain the prerequisite for receiving official support and why the two architectures are treated differently. The upstream has not made further comments. - ### Ports, Optimizations, and Fixes CrazyMax (crazymax) [fixed](https://github.com/tonistiigi/xx/pull/254) the support for different LoongArch distro architecture names for tonistiigi/xx, a Dockerfile cross-compilation helper. The upstream has since merged the pull request and the next release will include the fix. From 1a65b668617494c5edf19703921aa8caa0b8c360 Mon Sep 17 00:00:00 2001 From: Kaiyang Wu Date: Wed, 29 Jul 2026 09:58:04 +0800 Subject: [PATCH 3/3] fix(news): replace with the correct 2026.07.10-2026.07-17 upstream activities Signed-off-by: Kaiyang Wu --- .../zh/news/upstream/2026.07.10-2026.07.17.md | 245 +++++++++++------- 1 file changed, 145 insertions(+), 100 deletions(-) diff --git a/pages/zh/news/upstream/2026.07.10-2026.07.17.md b/pages/zh/news/upstream/2026.07.10-2026.07.17.md index 4f160ab9..9c003751 100644 --- a/pages/zh/news/upstream/2026.07.10-2026.07.17.md +++ b/pages/zh/news/upstream/2026.07.10-2026.07.17.md @@ -4,191 +4,236 @@ pageTitle: 龙架构上游动向 pageSubTitle: 2026.07.10-2026.07.17 --- -> 本文包括了龙架构近一周(截至 2026 年 6 月 26 日)在 Linux 内核、工具链、EDK II、Box64、QEMU 及发行版操作系统等方面的技术进展。Box64 方面,本周继续多个功能修复,并引入了全新的图形化配置工具;龙芯社区版 UEFI 固件发布 202605 稳定版本;U-Boot 上游化再次启动,有望成为龙架构开源固件的可行方案。 +本文包括龙架构近一周(截至 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 内核 + + +本周 Linux 内核动向主要集中在现有平台支持修复(如对部分已知无法启动的设备的修复和对 3B6000 处理器拓扑显示错误的修复)和扩展(CAN-FD 控制器支持补丁迭代)、KVM 功能扩展(ACPI IOVT 表)和可靠性修复,以及其他杂项修复等。 + ### 平台支持 -> 本周的 Linux 内核平台支持变更主要集中在针对问题固件的规避和兼容性修缮,以及现有平台设备的支持修缮上。 +两周前,Huacai Chen [提交了](https://lore.kernel.org/loongarch/20260622065843.3961572-1-chenhuacai@loongson.cn/)一笔补丁,用于支持在 ACPI PCI 根设备前注册 ISA/LPC 可编程 I/O (PIO) 设备;该补丁主要针对的是部分使用 SystemIO 定义 PIO 设备的设备固件上,主线内核引导过程中报访存越界的问题。目前该补丁已合入 Linux 内核主线,并正逐步回合到活跃稳定和长期支持分支上。 -针对社区用户之间经常烦扰的部分昆仑固件板卡无法启动主线内核,“只能启动 Loongnix”的问题,Huacai Chen 为龙架构[添加了](https://lore.kernel.org/loongarch/20260622065843.3961572-1-chenhuacai@loongson.cn/) `acpi_add_early_pio()` 函数,用于添加早期访问的 ISA/LPC PIO(可编程输入输出)设备;以及 `acpi_remove_early_pio()` 用于在 PCI 根桥注册之前移除 PIO 设备。经 Yuanzhen Gan [测试](https://lore.kernel.org/loongarch/a4c057ae-cba3-453d-8bd0-54c94dbfe491@simplelinux.cn.eu.org/),该补丁的确可以解决了由早期 ISA/LPC PIO 访问引起的引导失败问题。 +> 该问题尤为常见于使用 ITE Super IO 提供大量串口的工控产品,如希沃 3A6000 主板及英众 3B6000M mITX 主板。 -> 编者按:该笔补丁针对部分搭载不规范固件的存量设备提交的,目前已知相关设备有来自希沃 (SEEWO) 的 3A6000 μMATX 主板 (CB,L3A6.MA01 V1.0) 及来自英众的 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/20260624085550.1508771-1-zhoubinbin@loongson.cn/)修复龙芯 2K0500 BMC 多功能设备 (MFD) 驱动中视频模式解析中的 `iomem` 指针的不正确处理的第 2 版补丁。添加了第 1 版中缺失的 `memcpy_fromio()` 数据拷贝,并删除了不必要的 `buf` 变量;该补丁已获得审阅者 Huacai Chen 的[审阅通过](https://lore.kernel.org/loongarch/CAAhV-H5kVdDa-3R2qt+QQNxBKMBKCTKemTm78rYiTe4+aE0HWA@mail.gmail.com/)。此外,Binbin Zhou 还[提交了](https://lore.kernel.org/loongarch/cover.1782439646.git.zhoubinbin@loongson.cn/)为 2K0300 SoC 添加 I2S 控制和声卡支持的第 3 版补丁,修复了第 2 版中由 AI Sashiko 报告的 ACPI 属性解析错误处理,将平台配置结构体标记为 `const`、修正了 GPIO 命名并新增了 DAPM 路由支持。 +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 子系统 -本周,KVM 子系统方面的更改以修缮为主。Bibo Mao [提交了](https://lore.kernel.org/loongarch/20260622030508.2731279-1-maobibo@loongson.cn/)修复 KVM 在内核态使用了用户态 API 的问题的第 2 版补丁,在 `eiointc_set_sw_coreisr()` 和 `eiointc_update_irq()` 中添加边界检查与 ipnum;将 IPI 注入和清除操作移入 `spin_lock` 保护区域内,避免竞争条件;添加了用户态注入检查。 +本周,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/)根据建议合并了补丁。 -两周前(2026 年 6 月 15 日),Tao Cui [提交了](https://lore.kernel.org/loongarch/20260615082154.42144-1-cui.tao@linux.dev/)为龙架构添加 KVM PV TLB (Translation Lookaside Buffer) flush(半虚拟化 TLB 刷新)支持的第 4 版补丁,审阅者 Bibo Mao [指出了](https://lore.kernel.org/loongarch/7bb86447-c5d3-7a81-5578-b1ac2419fa32@loongson.cn/)错误路径处理,和用 `hypercall` 替代 IPI 可能效率更高等问题。Tao Cui 本周[报告了](https://lore.kernel.org/loongarch/404180d0-c734-4465-8752-f43279730692@linux.dev/)在 8 核主机使用 4:1 过载的虚拟机的测试情况。 +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 的版本为准。 -### BPF 子系统 +Tao Cui [修复了](https://lore.kernel.org/loongarch/20260715100640.1454413-1-cui.tao@linux.dev/) `kvm_restore_timer()` 函数中 TVAL 值未在虚拟机迁移后正确更新和一处除零 (division-by-zero) 导致崩溃的问题。 -本周,BPF 子系统方面的更改主要集中在性能优化及平台修缮上。Chenguang Zhao 为龙架构[实现了](https://lore.kernel.org/loongarch/20260602021515.214560-1-zhaochenguang@kylinos.cn/) BPF JIT kptr xchg 内联优化,当 JIT 通过 `bpf_jit_supports_ptr_xchg()` 声明支持时,BPF 验证器可以将 `bpf_kptr_xchg()` 辅助函数调用降级为单条原子指令,性能测试显示吞吐量提升 21%。但审阅机器人[反馈](https://lore.kernel.org/loongarch/20260603100438.2177817-1-zhaochenguang@kylinos.cn/T/#mf5be624bf295a61d051fe795bd22705da50613e3)补丁 1 仅修复了 `BPF_XCHG` 的屏障问题,需确认其他带返回值的原子 `RMW` 指令是否要确保一致性。 +Bibo Mao [提交了](https://lore.kernel.org/loongarch/20260714072520.2745942-1-maobibo@loongson.cn/)龙架构 KVM EIOINTC 及 DMSINTC 模拟强化补丁的第 5 版,该补丁集针对部分变量未初始化便被使用、IPI 不对齐时仅警告而不中断、内核态中断发送未正确使用内核态函数等问题和隐患作了修复。 -BPF JIT 修缮方面,Chenguang Zhao [提交了](https://lore.kernel.org/loongarch/20260622071234.1410830-1-zhaochenguang@kylinos.cn/)为龙架构实现 BPF JIT kptr xchg 内联优化的第 3 版补丁,将 JIT 修复排序扩展到所有带返回值的原子操作 (`BPF_FETCH`、`BPF_XCHG`、`BPF_CMPXCHG`),并添加了 `__bpf_root()` 解决 libbpf 的 kfunc 链接器问题。此外,George Guo 还[修复了](https://lore.kernel.org/loongarch/20260625083212.277417-1-dongtai.guo@linux.dev/)龙架构 BPF JIT 中尾部调用计数 (TCC) 的两个问题: +Bibo Mao [提交了](https://lore.kernel.org/loongarch/20260716013823.3259816-1-maobibo@loongson.cn/)针对 vCPU 的 `pv_feature` 只能被一次性设置,导致虚拟机迁移问题的修复;该补丁修改 `pv_feature` 设置逻辑,检查 vCPU 特性是否正确且未被启动过,否则将重新设置 `pv_feature`。 -- 修复了内存损坏的问题,arena 程序因额外的 `REG_ARENA` 寄存器槽位导致的尾调用计数指针偏移错误。 -- 修复了空槽位增加尾部调用计数的问题,因 `emit_bpf_tail_call()` 在检查 `prog_array` 槽位是否为空之前,就先递增了尾调用计数,并将新值写回。即使跳转到空槽位(控制流未转移),计数也被消耗。 +### 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)、多余指令和不必要的运行时检查。 -> 本周在 Linux 内核的核心功能与内存管理方面也有多项修复。 +### 其他内核功能和代码修复 -Huacai Chen [移植了](https://lore.kernel.org/loongarch/20260622065910.3961592-1-chenhuacai@loongson.cn/) MIPS 中的一个提交补丁,为龙架构的 `stop_this_cpu()` 函数添加了 `rcutree_report_cpu_dead()` 调用,以在系统关机/重启时向 RCU 报告,避免因 RCU 长期等待而导致的系统挂起问题。这应该只会影响理论上可能存在的不支持 IPI IOCSR 的硬件,目前不存在此种硬件。另外,Hongchen Zhang [修复了](https://lore.kernel.org/loongarch/20260625024043.2960754-1-zhanghongchen@loongson.cn/)龙架构在启用硬件页表遍历 (HW PTW) 时,因硬件仅设置 `_PAGE_DIRTY` 而未设置软件位 `_PAGE_MODIFIED`,导致 fork CoW 后脏页信息丢失、可能引发数据损坏的问题。 +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/)的补丁也因为风险与用户感知不对等被驳回。 -本周在代码清理与配置更新方面,Sang-Heon Jeon [清理了](https://lore.kernel.org/loongarch/20260621145919.1453-1-ekffu200098@gmail.com/)龙架构 `kasan_init()` 函数中因 `for_each_mem_range()` 不返回无效范围而不必要的 `start >= end` 检查。该补丁已获得审阅者 Andrey Ryabinin 的[审阅通过](https://lore.kernel.org/loongarch/CAPAsAGz3hqtqVwtSquau+qgXWJzjrg8qaRFhcqaHk1En01Jh9g@mail.gmail.com/)以及审阅者 Mike Rapoport 的[确认](https://lore.kernel.org/loongarch/178237721125.146960.11801589845266315987.b4-review@b4/) (Acked-by)。此外,Pengpeng Hou 将龙架构 defconfig 中过时的 `CONFIG_I2C_DESIGNWARE_SLAVE` 配置项[更新为](https://lore.kernel.org/loongarch/20260624081618.93699-1-pengpeng@iscas.ac.cn/)当前通用的 `CONFIG_I2C_SLAVE`,以修复因上游 Kconfig 变更导致的 I2C 从设备支持在默认内核中未正确启用的问题。 +Haofeng Li [修复了](https://lore.kernel.org/loongarch/20260714122351.3274006-3-lihaofeng@kylinos.cn/)中断重定向控制器代码中的多个分配 (alloc) 和释放 (free) 泄漏。 ## 工具链 -### ABI + + +本周工具链动向以修复和优化为主;.NET 方面收到了龙架构原子指令支持。 + +### Binutils + + + +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。 -本周,xtexx 针对在 GOT 和 TLS 重定位公式中是否应该加入 `addend` 的问题[发起了](https://github.com/loongson/la-abi-specs/issues/23)讨论,Xuerui Wang (xen0n) [指出](https://github.com/loongson/la-abi-specs/issues/23#issuecomment-4781214233)一些指令需要预偏移量,按照作者的修复会出现问题,[cloudspurs](https://github.com/cloudspurs) [指出](https://github.com/loongson/la-abi-specs/issues/23#issuecomment-4785634924) GOT 重定位用于寻址符号 (S) 的 GOT 条目,而非 (S+A) 的 GOT 条目,同时应区分 TLS 重定位。随后作者将此 Issues 关闭。 +### GCC + + + +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 + + + +Xi Ruoyao [提交了](https://sourceware.org/glibc/wiki/Release/2.44#LoongArch_.2864-bit_hard-float.29) glibc 2.44 预发布测试结果。 + + + + ### LLVM -> 本周,LLVM 方面主要解决了一个内联函数无法编译的问题。 + -Zhaoxin Yang (ylzsx) [报告了](https://github.com/llvm/llvm-project/issues/205039)龙架构在指令选择阶段无法处理 `llvm.set.rounding` 内联函数,导致包含该调用的 IR 编译失败。随后,tangyuan0821 为龙架构[添加了](https://github.com/llvm/llvm-project/pull/205051) `llvm.set.rounding` 支持,将 `ISD::SET_ROUNDING` 节点合法化并映射到 `MOVGR2FCSR` 指令,并添加了测试用例,但审阅者 Zhaoxin Yang (ylzsx) 和 Lei Wang (wangleiat) 指出测试用例仍有问题。 +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` 定义跟踪支持。 -### Rust +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 位扩展优化引入的。 -> 本周,Rust 上游内联汇编文档得到更新,基础库中亦有实现新功能。 +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 均选择修复该问题,因此仍需进一步讨论。 -heiher 为 Rust 官方参考手册[补充了](https://github.com/rust-lang/reference/pull/2296)龙架构 LSX (`vreg`) 和 LASX (`xreg`) 内联汇编文档。 + -heiher 为 [compiler-builtins](https://github.com/rust-lang/compiler-builtins)(编译器运时库)库[添加了](https://github.com/rust-lang/compiler-builtins/pull/1223)龙架构上 CLZ 指令可用性的检测,并[重命名了](https://github.com/rust-lang/compiler-builtins/pull/1222)一个导零算法 `leading_zeros_riscv`,使同样支持条件置位指令的龙架构也可以使用。 + -heiher 为 [portable-simd](https://github.com/rust-lang/portable-simd)(Rust 标准库的便携式 SIMD API)库中的 `swizzle_dyn` 操作在龙架构上[添加了](https://github.com/rust-lang/portable-simd/pull/533)针对 16 字节(LSX)和 32 字节(LASX)向量的优化实现,使用 `vshuf.b` / `xvshuf.b` 指令替代通用代码,并通过了所有相关测试。 + -## 固件 & 模拟器 + -### Box64 +### .NET + + -Yang Liu (ksco) 本周向 [Box64](https://github.com/ptitSeb/box64) 提交了多个修复,主要包括针对 `ROL`/`ROR` 系列指令的功能修复、包装器方面的优化、Box64 配置方面的更新以及模拟指令实现: +上个月,An Liu [提交了](https://github.com/dotnet/runtime/pull/129683)龙架构原子指令支持,同时支持 LoongArch ISA v1.0 及 v1.1。本轮补丁在过去一周已正式交给 JIT 开发组审阅。 -- 针对 `ROL`/`ROR` 系列指令的 FLAGS 模拟修复: - - 分别修复了 [8 位](https://github.com/ptitSeb/box64/pull/3967)和 [16 位](https://github.com/ptitSeb/box64/pull/3966) `ROL`/`ROR` 指令的 OF 标志计算和保留逻辑。 - - [修复了](https://github.com/ptitSeb/box64/pull/3968)龙架构 DynaRec 中 8 位和 16位 `ROL`/`ROR` 指令的 OF 标志模拟错误。 - - [禁用了](https://github.com/ptitSeb/box64/pull/3969)龙架构 DynaRec 中所有 CL 操作码的移位/旋转操作的标志融合,以确保这些指令的标志位正确模拟。 - - [修复了](https://github.com/ptitSeb/box64/pull/3970)龙架构 DynaRec 中延迟标志的回归问题。 - - [改进了](https://github.com/ptitSeb/box64/pull/3974)解释器中 `ROL`/`ROR` 指令的 OF 模拟。 - - [改进了](https://github.com/ptitSeb/box64/pull/3975)龙架构 DynaRec 中 `ROL`/`ROR` 指令的 OF 模拟,并移除了不完整的 `cputype` 处理逻辑。 -- 针对包装器 (wrapper) 方面的修复: - - [修复了](https://github.com/ptitSeb/box64/pull/3977)对于 GLib 库函数 `g_option_group_add_entries` 的包装错误。 - - [修复了](https://github.com/ptitSeb/box64/pull/3978)自动生成库包装的工具 wrapperhelper 中的一个拼写错误。 - - 为 liblz4(LZ4 压缩库)[添加了](https://github.com/ptitSeb/box64/pull/3979)包装器。 - - [实现了](https://github.com/ptitSeb/box64/pull/3980) 2 个额外的 Wayland(显示服务器通信协议)监听器并添加包装器,以支持 Wine-Wayland 在 GE-Proton10-34 中的运行。 - - [增加并修复了](https://github.com/ptitSeb/box64/pull/3983) wayland-client 监听器,作者指出 Terraria Linux 在 Wayland 环境下正常运行。 - - [移除了](https://github.com/ptitSeb/box64/pull/3982)对于 pipwire 的包装。 -- Box64 模拟指令实现方面: - - [修复了](https://github.com/ptitSeb/box64/pull/3963)此前[更改了](https://github.com/ksco/box64/commit/f05bdb1f938c16e75799b5528a002597574e4ce2) AVX 选项导致了对 CPUID 模拟的回归问题。 - - [修复了](https://github.com/ptitSeb/box64/pull/3964)特定条件下 DynaRec 中的 32 位 `RCL`/`RCR` 指令未清零的问题。 - - 为龙架构 DynaRec [实现了](https://github.com/ptitSeb/box64/pull/3965) `AAM` 和 `AAD` 操作码,并修复了 `AAD16` 帮助函数的 FLAGS 模拟。 - - 为龙架构 DynaRec [实现了](https://github.com/ptitSeb/box64/pull/3988) `PCMPESTRM` 和 `PCMPISTRM` 字符串比较指令。 -- 其他功能实现: - - [重构了](https://github.com/ptitSeb/box64/pull/3981) ctest 相关的 CMake 脚本。 - - [修复了](https://github.com/ptitSeb/box64/pull/3989)环境变量打印功能中的问题。 - - [修复了](https://github.com/ptitSeb/box64/pull/3990) DynaRec 在通过配置文件启用时因跳转表未初始化导致 DynaRec 无法正常启用的问题。 +固件 & 模拟器 +--- -本周,Yang Liu (ksco) 还针对 Box64 Configurator [添加了](https://github.com/ptitSeb/box64/pull/3984)常用设置组和 `BOX64_PROFILE` 环境变量支持,并[添加了](https://github.com/ptitSeb/box64/pull/3985) KDE 文件项操作集成,此插件同时[支持](https://github.com/ptitSeb/box64/pull/3987) KDE 5 桌面环境。 +模拟器方面,Box64 如常推进优化和修复工作,QEMU 收到两笔修复及 TCG 解释器 LVZ 指令集扩展模拟支持的第 3 版。 -### UEFI 固件 +### Box64 -> 本周,EDK II 上游收到数个龙架构的新功能和修复,ModernSetupPkgs 为龙架构带来图形化 UEFI 设置界面。同时,本周社区版 UEFI 发布了 202605 稳定版本。 + -功能修复方面,Qihang Gao (EricGao2015) 为 SecurityPkg 中的 PE 镜像解析函数 `LoadPeiImage()` [添加了](https://github.com/tianocore/edk2/pull/12709)龙架构支持:如果 PE/COFF 镜像的机器类型是 `LOONGARCH64` 则返回 `EFI_SUCCESS` ;同时删除了未使用的变量。 +- 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 的兼容处理代码。 -UEFI 交互式前端方面,Dongyan Qian (MarsDoge) 为 [ModernSetupPkg](https://github.com/MarsDoge/ModernSetupPkg/)(UEFI 交互式前端)[实现了](https://github.com/MarsDoge/ModernSetupPkg/pull/44)多个功能:新增了 SMBIOS 系统侧栏、基于 HII 表单的“面包屑”(分段路径)导航、“快速设置”页面,并添加了俄语界面支持。 + -龙芯 UEFI 固件 EDK II 本周发布了新的稳定版本,stable202605,其中 Dongyan Qian (MarsDoge) [更新了](https://github.com/loongson/Firmware/pull/160) PC 平台固件,Zixuan Lu [补充发布了](https://github.com/loongson/Firmware/pull/161) 香橙派 Nova 及 XB612B0\_V1.1 主板的固件。本版固件主要引入固件备份恢复、ACPI FPDT 启动性能测量表及 ACPI I/O 虚拟化表 (IOVT) 等新功能,并实验性地加入了对主线内核的 CPU 动态调频调压 (cpufreq) 驱动的支持。 + ### QEMU -> 本周 QEMU 新增了龙架构的虚拟机迁移测试支持,同时一周前的补丁在本周被审阅者合并。 + -Bibo Mao 为龙架构[添加了](https://gitlab.com/qemu-project/qemu/-/commit/94a75309f9281e614e9b390dc59c52e987f473da)虚拟机迁移测试(migration-test)支持。已由审阅者 Stefan Hajnoczi [合并](https://gitlab.com/qemu-project/qemu/-/commit/9d526ed81de270a43342d644363a75e90a3e00f5)。 +Bibo Mao [修复了](https://lists.gnu.org/archive/html/qemu-devel/2026-07/msg04219.html)恒定计时器 (constant timer) 未启用时 `CONSTANT_TIMER_TICK_MASK` 未被赋值的问题。 -一周前(2026 年 6 月 17 日),Helge Deller 为龙架构 CPU [实现了](https://gitlab.com/qemu-project/qemu/-/commit/13956e82449a5181df7454bc705df17abb83e863) /proc/cpuinfo,并于本周由审阅者 Stefan Hajnoczi [合并](https://gitlab.com/qemu-project/qemu/-/commit/dc1667bf64e97d65266f1407f037cd5786875bcb)。 +SignKirigami [提交了](https://lists.gnu.org/archive/html/qemu-devel/2026-07/msg03117.html) TCG 解释器下 LVZ 指令集扩展模拟补丁集的第 3 版,目前 Bibo Mao 已提出一系列审阅意见。 -### U-Boot 上游化 +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()` 函数的问题。 -> 近期,社区开发者再次启动了龙架构 U-Boot 上游化工作。基于此前对 U-Boot 上的工作,社区开发者 Yao Zi (ziyao233) 正主导基础平台支持代码的修缮。 +Linux 发行版及操作系统 +--- + +本周,Linux 发行版及操作系统方面针对龙架构的修复或优化较少。 -Yao Zi (ziyao233) [修复了](https://github.com/ziyao233/u-boot/commit/0b828227faabc4864a64d4a3082e40abd229b910)此前[重构](https://github.com/ziyao233/u-boot/commit/946b97d33dd60033b146678a718df7d055fe8670)设备树内存解析函数 `fdtdec_setup_memory_banksize` 和 `fdtdec_setup_mem_size_base_lowest` 的补丁,将开放编码排序替换为 qsort,并[修复了](https://github.com/ziyao233/u-boot/commit/e9d9bd9bdce8d16a362283a73b5ad1ab3439bb1d)由 `CONFIG_VAL(NR_DRAM_BANKS)` 引起的 SPL 编译错误。 + -Yao Zi (ziyao233) 正确[实现了](https://github.com/ziyao233/u-boot/commit/8dc90acd09983cab3bc119e3c3cc3ec8d8b56b6c) dcache 操作。 + -Yao Zi (ziyao233) 在 CPU 汇编例程中,在跨 C 函数边界时将 t6 [替换为](https://github.com/ziyao233/u-boot/commit/71dbf1b74e260016224b4a404814e1feb9bad273) s5 以保存重定位偏移量。 + -Yao Zi (ziyao233) [移除了](https://github.com/ziyao233/u-boot/commit/78ef96e294f85295e8217fc0420bc34fb822b15c)龙架构 Linux 内核镜像的加载与引导[功能](https://github.com/ziyao233/u-boot/commit/4455c7e8896fb051e99b83f88543232235b98554)中未使用的 `arch_lmb_reserve()`。 + -Yao Zi (ziyao233) [移除了](https://github.com/ziyao233/u-boot/commit/e1c1c4250a7e3f488928e75d2d34723be526d728) `qemu-loongarch` 板级支持中对已废弃 API 的调用。 + -Yao Zi (ziyao233) 在 `efi_helper.c` 中[添加了](https://github.com/ziyao233/u-boot/commit/4b8fc99a226705795c329d1cdb72d55c32fa310b) `HOST_BOOTEFI_NAME` 和 `HOST_PXE_ARCH` 定义。 +### Debian -## 发行版 + -Mingcong Bai [后向移植](https://github.com/AOSC-Dev/aosc-os-abbs/pull/16494)了 Linux 内核中针对龙芯 2K0500 BMC 多功能设备驱动中语义错误的修复。 +Miao Wang 通过回合上游补丁[修复了](https://salsa.debian.org/qemu-team/qemu/-/merge_requests/55) QEMU 中 dracut 测试的错误。 -## 其他开源项目 + -本周龙架构在开源生态中的适配工作依旧丰富,覆盖了从系统仿真器及内核方面、.NET 运行时/CPython 方面及基础图形处理库等众多关键项目。 + -### 系统模拟器及内核 + -doruche 则为 [anemone](https://github.com/anemone-os/anemone) [添加了](https://github.com/anemone-os/anemone/pull/124)龙架构支持,确保 `mke2fs` 能在龙架构上正确编译和运行,并修复了嵌套 shebang 处理中的问题。 + + +其他开源项目 +--- -Ke He (Lfan-ke) 在 [Machina](https://github.com/gevico/machina)(一个用 Rust 编写的模块化全系统仿真器)中为龙架构 `GCSRXCHG` 指令[编写了](https://github.com/gevico/machina/pull/159)两个测试用例,验证非零掩码的按位更新测试和零掩码的只读测试。作者还[新增了](https://github.com/gevico/machina/pull/160)一个龙架构测试终止器 (test-finisher) MMIO 设备,使裸机测试程序能像模拟器报告成功/失败状态,并建立了基于退出码的 CI 测试流程。 +如同往常,本周其他项目的动向依然十分活跃。为保障可读性,本周开始对其他开源项目的动向作精筛,并排除了学术性和竞赛相关项目的动向(下期开始可能单列此类内容)。 -### 基础库 + -sunhaiyong1978 为 [libilbc](https://github.com/timothygu/libilbc)(iLBC 音频编解码器库)[添加了](https://github.com/TimothyGu/libilbc/pull/47)龙架构预处理程序支持。同时作者还为 Mozilla 的 [NSPR](https://github.com/mozilla/nspr) (Netscape Portable Runtime) 库[实现了](https://github.com/mozilla/nspr/pull/4)对龙架构的自动识别与构建支持。 +### 问题报告与英雄帖 -wszqkzqk 为 [highway](https://github.com/google/highway)(一个提供可移植 SIMD/向量内建的 C++ 库)[修复了](https://github.com/google/highway/pull/3153)龙架构 LSX `LoadInterleaved3` 函数在处理 64 位 `uint16_t` 向量时因索引错误导致通道 0 和 2 数据交换的问题。作者还为 [Pillow](https://github.com/python-pillow/Pillow)(Python 中的图像处理库)上的龙架构[提高了](https://github.com/python-pillow/Pillow/pull/9714) AVIF(以 AV1 影片编码器为基础的图片格式)测试的 epsilon 值,以容纳龙架构上 libavif 编解码器带来的微小浮点精度差异。 +lindexi [发布了](https://github.com/xljiulang/PublishAotClang/issues/2)为 .NET 交叉编译与发行工具链 PublishAotClang 添加龙架构支持的请求,但作者反馈 .NET 的 AOT 发布设施对龙架构支持尚不完整,需要更多关注以便继续推进。 -yzewei 则[修复了](https://github.com/python/cpython/pull/152241) [cpython](https://github.com/python/cpython)(Python 3.16.0 alpha 0 版本)中在龙架构上 `test_c_stack_unwind` 测试失败的问题。 +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 年便合入了相关支持,并请求上游说明获得类似支持的先决条件有什么,并对两个架构的不同处置方式给出解释。目前上游未予置评。 -2026 年 5 月 23日,Haoxuan Pi (pihaoxuan) [报告了](https://github.com/anthropics/claude-code/issues/61680)为 Claude Code 添加龙架构支持,但目前 PR 并没有官方回复而被 bot 关闭。 +### 移植、优化与修复进展 -shankerwangmiao 在 Nginx 的配置文件中为龙架构[设置了](https://github.com/nginx/nginx/pull/1489)缓存行大小,由原本的未知架构默认值 32 字节改为 64 字节,以匹配龙架构的硬件特性。 +CrazyMax (crazymax) [修复了](https://github.com/tonistiigi/xx/pull/254)可复用 Dockerfile 交叉构建库 tonistiigi/xx 对不同龙架构 Linux 发行版架构名称的支持。上游已合并,等待发版。 -Xiaobai Wu (xuxiaowei-com-cn) [请求](https://github.com/containerd/containerd/issues/13641)为 [containerd](https://github.com/containerd/containerd)(容器运行时)添加龙架构支持,维护者 [samuelkarp](https://github.com/samuelkarp) [提出](https://github.com/containerd/containerd/issues/13641#issuecomment-4772077688)首先需要为龙架构添加编译测试。作者[提交了](https://github.com/containerd/containerd/pull/13642)对龙架构支持的 PR。 +Hajime Hoshi (hajimehoshi) [修复了](https://github.com/ebitengine/purego/pull/476)纯 Go 语言实现的 C 函数调用库 purego 在龙架构(和 x86-64)上结构体返回时栈参数计数不足的问题。上游已合并,等待发版。 -Xiaowei Xu (xuxiaowei-com-cn) 在 CI Runner 支持进度的 Issues 中[提交了](https://github.com/loongson-community/discussions/issues/103#issuecomment-4770575493)为龙架构构建 GitLab Runner Docker 执行器所需的 Helper 镜像的解决方案。 +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 的必备依赖之一。 -phorcys 为 [unofficial-loongarch-intrinsics-guide](https://github.com/jiegec/unofficial-loongarch-intrinsics-guide) [添加了](https://github.com/jiegec/unofficial-loongarch-intrinsics-guide/pull/34) [LBT](https://jia.je/unofficial-loongarch-intrinsics-guide/lbt_basics/) 指令的详细文档,作者确定下周会处理所有的文档。 +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 支持,可大幅度提高浏览体验。 -a6d9a6m 在 [comix](https://github.com/comix-kernel/comix) 上[实现了](https://github.com/comix-kernel/comix/pull/266)稳定启动并跑通 OSComp musl 冒烟测试。 +xiaoxiaoafeifei 为 Julia 编程语言的 cpufeatures(处理器特性探测库)库[添加了](https://github.com/JuliaLang/cpufeatures/pull/53)龙架构处理器特性探测的支持,并表示这是为 Julia 添加龙架构支持计划中的一部分。上游维护者已表达原则性认可。 -MF-B 在 [tgoskits](https://github.com/rcore-os/tgoskits)(面向操作系统与虚拟化开发的集成仓库)项目中 [增加了](https://github.com/rcore-os/tgoskits/pull/1368)对 LS2K1000 板卡的支持,使 ArceOS/StarryOS 能在 `loongarch64-ls2k1000` 上完成启动、挂载 rootfs、进入 Starry shell,并使用板载 AHCI/GMAC 等基础设备。 +Zhongkai Xu 为 Type-1 裸金属虚拟机管理器 hvisor [添加了](https://github.com/syswonder/hvisor/pull/358)龙架构 Alternative Routing-ID Interpretation (ARI) 支持。ARI 可提高虚拟化系统的可扩展性和低延时性能。 -Suquster [修复了](https://github.com/Suquster/RustMicroOS/pull/132) [RustMicroOS](https://github.com/Suquster/RustMicroOS) 中龙架构高地址内存不足的问题,将可用物理内存从 ~155 MB 提升至 ~992 MB;同时调整了测试顺序为 musl 优先。 +YANGJINZE (KincaidYang) 为 WHOIS 查询工具 whois [添加了](https://github.com/KincaidYang/whois/pull/43)龙架构二进制生成目标支持。目前该更改已合并,自 1.1.0 版开始发行龙架构 (ABI 2.0) 二进制。 -theflysong 为 [SUSTcore](https://github.com/sustcore-team/sustcore)(南方科技大学使用的内核)[添加了](https://github.com/sustcore-team/sustcore/pull/63)龙架构的 virtio-block 块设备支持。 +Yao Zi (ziyao233) 为 RISC-V 模拟器 RVVM [提交了](https://github.com/LekKit/RVVM/pull/244)龙架构 JIT 后端支持,根据作者介绍,JIT 后端目前可实现约 7% 原生性能,但相比纯解释器实现,性能已有 4.7x 提升。上游已合并,等待发版。 -xcy963 [报告了](https://github.com/HITOSTeam/OS_Workspace/issues/34)在 HITOSTeam 的 [OS_Workspace](https://github.com/HITOSTeam/OS_Workspace)(HITOS 医疗团队使用的内核) 中龙架构上 musl libc 的部分官方镜像有很多空函数(例如:`sched_getparam`、`sched_getscheduler`、`sched_setparam` 及 `sched_setscheduler`),导致 cyclictest 程序无法正常运行;作者自己实现了这些函数。 +Xi Zhang (cheungxi) 为模块化计算机系统仿真器 gem5 [提交了](https://github.com/gem5/gem5/pull/3309)龙架构支持。目前已得到一位上游维护者认可。