每周一龙:第 7 期
每周一都为大家报道 LoongArch 社区最前线的第一手新鲜资讯!
如无特别说明,文中提及的日期、时间都为北京时间(UTC+8)。
要闻速递
本周 binutils 2.41 代码将冻结并从主分支切出,预计 7 月 23 日前后正式发布。 可能一部分出于此原因,龙芯在上周集中向各个上游社区推送了 LSX、LASX、LVZ、LBT 的支持代码,这意味着 2023Q2 很有可能见证 LA64 v1.00 首次在上游/新世界获得完整支持 (尽管相应的指令集手册分卷仍未正式公布)。
关于这些指令集扩展的支持工作细节请见下文。
先「马」再看
本栏目的内容具有一定延续性,将持续追踪报道 LoongArch 领域的重要或长期项目(坑)。
Linux
北京时间 7 月 1 日凌晨 01:24,龙架构的 pull request 已被 Linus 合并。
当天下午 Xi Ruoyao 提议将 CONFIG_JUMP_LABEL
性能优化选项默认开启。
6 月 29 日,Tianrui Zhao 贴出了第 16 版的龙架构 KVM 补丁。 欢迎同学们都来看看。(感谢 @Luo-Chang 的线索投递。)
6 月 28 日,ClangBuiltLinux 维护者 Nathan Chancellor 为该项目的CI基础设施提交了龙架构的引导测试支持。 十分感谢国际友人的密切配合(常常在补丁发布、合并不到一小时后就行动起来了)!
工具链
binutils
以下内容均已进入主线,静待 binutils 2.41 发布:
- FreeFlyingSheep 添加了以
$fcsrX
称呼 FCSR 的支持。以前咋回事以前要用
$rX
称呼 FCSR,也就是说:当成整数寄存器!这显然不对,而且跟 LLVM 也不兼容。现在两种写法都支持了,旧写法先留一阵子不删,方便下游迁移。 - mengqinggang 添加了 LSX、LASX、LVZ、LBT 的指令定义。
- xen0n 改进了龙架构汇编器、反汇编器的一系列行为:
- 支持以彩色(语法高亮)显示反汇编输出了。参见
--disassembler-color
选项的帮助文本。 - 在不影响语义的前提下,会显示一些伪指令了。
- 有符号立即数后边不会打印对应的十六进制位域表示了。
- 未知指令字将会以
.word
为助记符的形式展示了。 - 遵循规范文档,弃用了
$v[01]
、$fv[01]
、$x
几个远古时期遗留的寄存器别名,现在使用它们将被警告。shenmegui弃用名称 现行名称 $v0
、$v1
$a0
、$a1
$fv0
、$fv1
$fa0
、$fa1
$x
$r21
显然,除了不见于正式版本的寄存器约定之外,这些叫法更会与向量寄存器的正式名称 $vrX
、$xrX
形成严重混淆。
- 支持以彩色(语法高亮)显示反汇编输出了。参见
GCC
6 月 30 日,Chenghui Pan 代 Lulu Cheng 提交了 LSX、LASX 的代码生成支持。补丁比较大,不便仔细审查,目前大概在拆了。 无论如何,明年 GCC 14.1 正式发布时,这些支持大概率都会搞定。
LLVM
一周间合并了以下的功能改进等:
- xen0n 修复了 CSR/IOCSR 操作的副作用标记。
- SixWeining 支持了
R_LARCH_64_PCREL
的产生。 该支持是 ClangBuiltLinuxCONFIG_JUMP_LABEL
的前置需求。 - Ami-zhang 完成了 MSan 到 LoongArch 的移植(补丁一、补丁二)。
出现了以下的新动向:
Rust
7 月 1 日,上游合并了 hev 的 LoongArch ELF flags 修复。该修复使得软浮点的 Rust
构建产物终于获得了正确的 ELF e_flags
字段取值。
该修复将于 Rust 1.72.0 正式发布。
QEMU
6 月 30 日,Song Gao 提交了 LASX 的指令模拟支持,内含所有 LASX 指令的语义建模。
社区整活:儿:
本栏目接受任何网友的投稿,只要内容与 LoongArch 有关,并可以为读者带来价值, 无论严肃贡献(整的大活:儿:)或是博君一笑都一概欢迎!
6 月 29 日,yetist 的 IPXE 龙架构移植被上游合并。 这对龙架构机器的无人值守运维是一大利好。(感谢 yetist 的线索投递。)
张贴栏
本栏目目前可供张贴公益性质的各种信息。
- 本周报持续接受网友投稿。欢迎来上游坐坐!
AOSCC 2023:7 月 15 至 16 日,上科大见!
距离今年 AOSCC 还有不到一个月,本次聚会的日程繁多,不仅有社区项目相关的展示、讨论和投票,还有许多来自开源业界的代表门将会到场分享经验,回答问题。
详见:活动日程。
「龙芯与你:你问我答」问题征集
近年来,由 LoongArch 架构驱动的龙芯 5000 系列处理器展现出了相当可观的性能提升,亦在开源社区中收获了不少人气;与此同时,企业与社区的「新旧世界」交替与在上游的碰撞与交流也成为了最近几年 LoongArch 生态参与者们时刻关注的事情。本次 AOSCC 我们有幸邀请到了来自 LoongArch 社区的上游贡献者和龙芯中科的工程师们来一同介绍和解答各位的问题和疑惑。
考虑到日程安排较为紧凑,我们决定提前收集社区提问,请使用本问卷提交您希望得到解答的问题。
与会者登记
由于本次 AOSCC 线下活动在上海科技大学举行,校方安保要求来访者登记个人信息,有意参加线下活动的,请于 7 月 13 日前填写登记问卷。
本表格仅由社区代表(白铭骢)和 GeekPie 对接代表(秦斐然)查阅,并交由校方录入。