概览
QEMU
单二进制/多目标基础设施并行推进:符号冲突治理([PATCH v2 0/6] treewide: uniquify colliding helper symbols、[PATCH v3 00/27] accel/tcg: share raise_excp across TCG targets)、TargetInfo 传递([PATCH 0/8] qom: pass TargetInfo to the is_available callback)与 RISC-V 编译单元合并([PATCH v2 00/18] single-binary: target/riscv, compile subset of compilation units once)同时进行,新增七个架构的 multi-target 系列已合入。设备与板级修复(i.MX、trace、s390x 迁移、Arm TTBR)也进入评审后期。
KVM
机密计算占据本周多数讨论:guest_memfd 替代提供方、CoCo 迁移内核 API、TDX 私有内存大页三条线都围绕 guest_memfd 与私有内存展开,SEV-SNP Secure AVIC 与 arm64 CCA Realm 框架继续迭代。KVM/vfio 引用计数改造已进入 linux-next,为 arm-on-s390 等组合铺路。
Libvirt
本周以迁移与平台能力补齐为主:postcopy-device 状态识别、TLS-PSK 迁移、s390x 安全启动接口与 intel-iommu 高级属性并列推进;bhyve、LoongArch 等平台特性也在延续,缺陷修复占比不高。
统计
进展3
本期变化:guest_memfd 放开 PFNMAP 等替代实现([RFC PATCH v2 00/11] KVM: Allow alternative providers of guest_memfd backed by PFNMAP memory),CoCo 实时迁移内核 API 以 RFC v2 继续细化 GPA 传输状态([RFC PATCH v2 0/4] Add KVM API for confidential guest live migration),TDX 私有内存大页 v4 则在 DPAMT 与 guest_memfd in-place conversion 之上收敛依赖([PATCH v4 00/17] KVM: TDX huge page support for private memory)。三条线共同围绕私有内存的提供方、迁移与映射粒度。
讨论中:[RFC PATCH v2 00/11] KVM: Allow alternative providers of guest_memfd backed by PFNMAP memory 与同类机密计算方案如何合并、[RFC PATCH v2 0/4] Add KVM API for confidential guest live migration 通用 API 语义均无结论;[PATCH v4 00/17] KVM: TDX huge page support for private memory 明确要等两项依赖就绪才启用大页。
本期变化:multi-target 新增七个架构的系列已合入 master([PATCH v2 00/21] multi-target: add straightforward architectures),RISC-V 侧把无 helper 依赖的编译单元按 64 位一次编译([PATCH v2 00/18] single-binary: target/riscv, compile subset of compilation units once);[PATCH v2 0/6] treewide: uniquify colliding helper symbols 给生成的 TCG helper 符号加 target 前缀、[PATCH v3 00/27] accel/tcg: share raise_excp across TCG targets 抽出共享 raise_excp 路径以消除同名冲突,[PATCH 0/8] qom: pass TargetInfo to the is_available callback 让 is_available 携带 TargetInfo 以支持跨 target 的 query-machines。
讨论中:[PATCH v2 0/6] treewide: uniquify colliding helper symbols、[PATCH v3 00/27] accel/tcg: share raise_excp across TCG targets、[PATCH 0/8] qom: pass TargetInfo to the is_available callback、[PATCH v2 00/18] single-binary: target/riscv, compile subset of compilation units once 均处评审或迭代中;组合二进制的行为语义(如 -target none 下的机器列表)仍需评审确认。
本期变化:KVM/QEMU 两侧同时推进:s390x 模拟 zPCI 设备迁移系列进入 s390x 队列([PATCH v12 00/17] s390x/pci: Implement migration for emulated devices),arm64 host model 继续允许设置可写 ID reg 以放宽跨硬件迁移([PATCH v9 00/26] kvm/arm: Introduce a customizable aarch64 KVM host model);Libvirt 侧补齐 postcopy-device 状态识别([PATCH] qemu: add support for postcopy-device migration state)并推进 TLS-PSK 迁移认证([PATCH v4 0/7] Add TLS-PSK support for migration)。
讨论中:[PATCH v9 00/26] kvm/arm: Introduce a customizable aarch64 KVM host model 的应用回调重构要到 v10 才见分晓;[PATCH v4 0/7] Add TLS-PSK support for migration 是否默认强制 PSK、进而影响 TLS-X509 场景尚无定论;[PATCH] qemu: add support for postcopy-device migration state 只解决状态识别,不改变迁移行为。
显示 27 / 27 条精选
当前筛选没有匹配条目。
QEMU12 条精选
让 host KVM model 可设置可写 ID reg 字段:QEMU 从 KVM UAPI 获取可写字段并与生成的 ID reg 描述匹配。
影响:目标是提高跨不同主机硬件迁移 guest 的灵活性;作者称 v10 会再调整按加速器回调应用字段值的实现。
查看原始标题
[PATCH v9 00/26] kvm/arm: Introduce a customizable aarch64 KVM host model修正 get_phys_addr_lpae() 构造初始表基址的两处问题:避免 TTBR[5:4] 泄漏进小于 64 字节的表,并在 TCR.DS 置位时按 52 位布局处理,另加 TCG 测试。
影响:修复此前导致 16KB、52 位 PA guest 在 TCG 下挂起的真实地址转换缺陷,v2 已按评审拆出测试补丁。
查看原始标题
[PATCH v2 0/3] target/arm: Fix the TTBR table base address in its 52-bit layout按官方安全文档的虚拟化用例,把相关机型、全部 virtio/vhost/vfio/xen 设备及多数 PCI 控制器标记为 secure,维护者 CC 列表已按要求精简。
影响:secure 设备清单会影响管理程序对设备适用性的判断;目前仅见个别 Acked-by,结论仍未落定。
查看原始标题
[PATCH 00/28] Mark user creatable devices for secure for virt use casev2 在 DEF_HELPER 展开处集中命名空间化:C helper 名保持通用,生成的链接符号与元数据按 target 加前缀,core helper 保留原链接名。
影响:这是单一 qemu-system 二进制并存多 target 的基础设施;已获部分 Reviewed-by,但尚未合入。
查看原始标题
[PATCH v2 0/6] treewide: uniquify colliding helper symbols覆盖 i.MX 设备缺陷修复、Kconfig 整理与功能测试补充;作者称 v4 后全部补丁已获 Reviewed-by。
影响:部分修复标注可回移 qemu-stable,另有一个补丁会破坏迁移故不回移;板级功能测试覆盖面扩大。
查看原始标题
[PATCH v4 00/31] i.MX fixes and cleanup为 multi-target 二进制加入 alpha、microblaze、m68k、hppa、rx、tricore、or1k 等只需 stub、helper 改名或过滤即可的架构。
影响:已合入 master,是单二进制路线中覆盖面最广的一步;其余架构可循同一模式接入。
查看原始标题
[PATCH v2 00/21] multi-target: add straightforward architectures新增两个共享 C 出口与两个共享 TCG helper,逐 target 转换 helper_raise_exception,使统一二进制不再出现同名符号。
影响:与 T010 同属符号冲突治理;共享 helper 只操作 CPUState,arch 状态由 translate 阶段先行写入。
查看原始标题
[PATCH v3 00/27] accel/tcg: share raise_excp across TCG targets让合并二进制可注册所有 target 的 machine,QMP query-machines 能返回全部 target 的条目,-target none -M virt 会报告提供该机型的 target。
影响:改变了多目标场景下的机器发现与报错语义,是单二进制可用性的关键一环,仍在评审。
查看原始标题
[PATCH 0/8] qom: pass TargetInfo to the is_available callback以非 RFC 形式提出新政策,取代此前的全面禁止,并加入 attestation 与 agent 指令,讨论中称共识正在形成。
影响:直接影响贡献者与维护者的评审流程;已收多份 Acked-by,但证据未显示最终合入结论。
查看原始标题
[PATCH v4 0/4] docs/devel, AGENTS.md: a completely new policy on AI-generated contributions把不引入 helper 定义的编译单元按 riscv64、target_ulong 拓宽为 uint64_t 只编译一次;v2 处理了与其他系列的冲突。
影响:减少 riscv32/64 重复编译,作者称相对 riscv32 不改变行为,属于单二进制路线在 RISC-V 上的落地推进。
查看原始标题
[PATCH v2 00/18] single-binary: target/riscv, compile subset of compilation units once修复 dtrace/ust 后端的编译失败,顺带清理并优化 trace 代码内存占用,作者提到过程中发现并修复了检查逻辑未被合并的既有缺陷。
影响:对使用 dtrace/ust 的构建属修复性变化;作者给出各后端二进制体积示例,统一量化结论留待 v3。
查看原始标题
[PATCH 00/20] trace: bugfixes, cleanups and optimizations为模拟 zPCI 设备保存/恢复状态并支持迁移,此前 zPCI 设备一律被标为不可迁移;VFIO 设备仍保持不可迁移。
影响:已进入 s390x 队列面向 11.2,s390x 上模拟设备的迁移覆盖补齐,对依赖迁移的 s390x 部署是实质变化。
查看原始标题
[PATCH v12 00/17] s390x/pci: Implement migration for emulated devicesKVM9 条精选
v3 与现有 AVIC 代码整合(Secure AVIC 即受保护 guest 的 APICv),强制使用 split irqchip 并移除 KVM IOAPIC 相关改动。
影响:推进 SEV-SNP 中断虚拟化;level-triggered 中断的 EOI 处理可能需要 guest 侧配合,仍是主要分歧点。
查看原始标题
[RFC PATCH v3 00/27] KVM: SVM: Add support for SEV-SNP Secure AVIC在 s390 上启用 KVM 加速的 ARM 虚拟化,从 arm64 抽取相关定义与实现本地复用,依赖 KVM/vfio file-based 引用计数系列。
影响:跨架构组合的探索性工作,依赖系列已进入 linux-next;近期评论以 Acked-by 与少量 nitpick 为主。
查看原始标题
[PATCH v9 00/24] KVM: s390: Introduce arm64 KVMv23 进一步裁剪,只保留不同 VM type 的框架与 vCPU、Stage2 MMU 回调,CCA 专属部分另行拆分;集成分支已用 tf-RMM、kvmtool 验证。
影响:先合框架、再补 Realm 功能的路径获 Marc Zyngier 正面评价,为 Realm 作为受保护 VM 类型铺路。
查看原始标题
[PATCH v23 00/14] KVM: arm64: CCA: Add basic plumbing for Realmsv4 吸收 DPAMT 合并系列的改动并修正 v3 评审意见,仅在 DPAMT 与 guest_memfd in-place conversion 同时启用时才开启 TDX 大页。
影响:是 TDX 私有内存性能的关键路径,也是 DPAMT/guest_memfd 依赖链的汇合点;依赖未就绪前不会默认生效。
查看原始标题
[PATCH v4 00/17] KVM: TDX huge page support for private memoryRFC v2 允许内核之外的其他代码提供 guest_memfd,以 PFNMAP 内存替代现有 shmem page cache 实现,面向专用托管环境。
影响:可省去 struct page 开销、便于 1GiB 大页与更快的 kexec/KHO;与机密计算侧类似方案如何合并成为待解问题。
查看原始标题
[RFC PATCH v2 00/11] KVM: Allow alternative providers of guest_memfd backed by PFNMAP memory源自 PUCK 讨论并以 Intel TDX 现有做法为例,提出厂商无关的 CoCo 迁移内核 API;CoCo guest 的内存与 vCPU 状态对用户空间和 KVM 不可见。
影响:若收敛,SEV-SNP 与 TDX 可共用迁移路径;当前仍在讨论 GPA 传输状态数组等接口细节,属早期 RFC。
查看原始标题
[RFC PATCH v2 0/4] Add KVM API for confidential guest live migration把 KVM-VFIO 接口及外部消费者切换到标准 file-based 引用计数,消除所有对外部 KVM 符号导出的依赖;已进入 linux-next。
影响:为 arm-on-s390 等新组合解除链接约束,并简化模块引用计数维护;后续冲突可走 topic branch 解决。
查看原始标题
[PATCH v4 0/6] KVM/vfio: Use file-based reference counting for KVM为 L2 维护独立 ASID,避免每次嵌套切换全量刷新;同时弃用动态 ASID 分配,改为每 vCPU 静态分配一个(启用嵌套时两个)。
影响:贴近 VMX 的 VPID 处理方式,面向 AMD 嵌套虚拟化性能;Hyper-V 仅编译测试、SEV 测试有限,成熟度待验证。
查看原始标题
[PATCH v2 00/29] KVM: nSVM: Optimize nSVM TLB flushes为 CXL Type-2 加速器增加 VFIO 直通,guest 管理虚拟 HDM decoder 并选择 guest 物理地址,host 掌管物理 decoder 与落点地址。
影响:扩展 VFIO 对 CXL 设备的覆盖,但限定为单端口、非交织、固件预分配的 endpoint decoder,v5 仍在处理评审往返。
查看原始标题
[PATCH v5 00/27] vfio/pci: Add CXL Type-2 device passthrough supportLibvirt6 条精选
在 domain XML 增加四个 intel-iommu 属性并格式化到 QEMU 命令行,v3 已获 Reviewed-by,作者仍在等待更多意见。
影响:支持 vSVA/嵌套翻译等高级 vIOMMU 配置,对使用 iommufd 与 first-stage translation 的用户可直接使用。
查看原始标题
[PATCH v3 00/10] conf, qemu: Add scalable_mode, fsts, pasid_bits, and svm support for intel-iommu新增 s390-ccw-virtio 机器属性 boot-certs.N.path 与 secure-boot,XML 侧新增 <boot-certs> 元素并复用既有 secure-boot firmware feature。
影响:让固件在移交控制前按 X.509 证书校验引导镜像,补齐 s390x 安全启动配置能力;已获 Reviewed-by。
查看原始标题
[PATCH v1 00/14] s390x: Secure Boot interface (boot-certs + secure-boot)通过 QEMU monitor 实例化 tls-creds-psk 对象以启用 PSK 认证;v4 讨论提出因最低 QEMU 版本已支持而可移除能力检查。
影响:免去 X.509 的 CA 部署与证书过期运维;但社区指出可能默认强制 PSK,从而限制 TLS-X509 的使用场景。
查看原始标题
[PATCH v4 0/7] Add TLS-PSK support for migration调整 pcie-expander-bus 的 bus number 预留,使每个 expander bus 可容纳 15 个下级 PCI 控制器,此前预留不足会导致固件无法初始化设备。
影响:修复由 bus number 不足引起的 guest 无法从第二块设备引导的问题,讨论中作者承认此前误解了 busNr 的语义。
查看原始标题
[PATCH] qemu: allow for 15 subordinate pci controllers under each pcie-expander-busQEMU 10.2 新增 active 与 postcopy-active 之间的 postcopy-device 状态,libvirt 此前不识别,导致 MIGRATION 事件被丢弃、query-migrate 报错。
影响:该阶段 virDomainGetJobInfo/Stats 会失败,OpenStack nova 轮询到错误会中止迁移;补丁已获 Reviewed-by。
查看原始标题
[PATCH] qemu: add support for postcopy-device migration state读取宿主 CPUCFG 并结合 XML 中的 CPU 型号与特性展开 host-model,实现 getHost/update/compare 回调,并让 QEMU capabilities 不再走通用 ARM/unknown 回退。
影响:补齐 LoongArch 的宿主 CPU 建模能力,使 host-model 在 LoongArch 平台上可用。