概览
QEMU
测试与构建现代化进入密集评审期,tests/tcg 迁移 meson、single-binary 与 HMP 可选并进;TCG 内部 API 和 QOM/QAPI 类型系统也在持续深化。
KVM
guest_memfd 的 direct map removal 与 in-place conversion 两条线持续迭代,TDX/SNP/Arm CCA 等机密计算特性进入评审深水区,KVM clock 清理重新活跃。
Libvirt
围绕加速 vSMMU/vCMDQ、TLS-PSK 迁移与流处理稳定性修复推进,整体以功能补全和规避管理面故障为主。
统计
进展4
本期变化:guest_memfd 两条主线并行迭代:direct map removal v12 明确 x86 支持范围并排除 TDX/SEV-SNP,in-place conversion v10 围绕用户态访问与 GUP 路径深入讨论,均获多位维护者审阅。二者共同决定 CoCo 内存管理最终形态。
讨论中:两条系列均未合入,in-place conversion 与 direct map removal 的交互(如私有内存映射与 uaccess 路由)仍需确认;对 TDX/SNP 的适配约束依赖后续版本验证。
本期变化:TDX Module Extensions v2 将 quoting 转为正式评审,Arm CCA v16 重新合并固件与 KVM 系列并讨论 ICV_PMR trap 性能;QEMU Realm RFC v3 跟进 CCA v16,新增度量与固件描述符支持。
讨论中:TDX quoting 的静态 quote buffer 移除、CCA SVE 向量长度暴露与 trap 开销、Realm 固件描述符对 ON_OFF_AUTO_ON 的处理均待下一版澄清。
本期变化:tests/tcg 迁移 meson 推进到 v8,获 Richard Henderson R-b,仅剩逐目标评审;HMP 可选化到 v5,攻击面收窄讨论渐定;single-binary 扩展到 QOM 动态过滤,ARM+RISC-V 联合链接已有可行方案。
讨论中:HMP 缺失命令清单与清理边界、single-binary 实验性选项默认值、TCG 测试迁移的 MacOS 兼容细节仍待收口;三者均未合入主线。
本期变化:PV clocks vs TSC v6 聚焦 CPUID 0x40000010 的可迁移性,KVM clock 清理 v7 rebase 到 kvm-x86/next,并讨论将 pvclock_vcpu_time_info 移入 UAPI 与新增校正接口;David Woodhouse 已在本地合流两个系列测试。
讨论中:两个系列均未合并,PV clock 对旧 KVM 环境的错误提示策略,以及新接口的 CAP 号与 UAPI 布局仍需迭代确认。
QEMU12 条精选
为 Arm SMMUv3 模型增加 Secure 状态支持,但不实现 Secure Stage 2;v5 已获 Eric Auger 审阅。
影响:为 TZ/Secure 虚拟化场景和未来 Realm 支持提供 SMMU 基础。
查看原始标题
[RFC v5 00/28] hw/arm/smmuv3: Support Secure state for SMMUv3在动态过滤基础上,去除每目标符号冲突,使单二进制同时支持 ARM 和 RISC-V;v2 保留各目标独立二进制。
影响:验证多目标单二进制可行性,减少发行版二进制数量。
查看原始标题
[PATCH 00/12] single-binary: link ARM and RISC-V into qemu-system把各板卡静态的 arm_boot_info 迁移到 MachineState 子类,明确归属;已应用至 target-arm.next。
影响:消除隐式静态对象,简化 reset 路径和后续板卡清理。
查看原始标题
[PATCH v2 00/20] hw/arm: Store the ARM boot info in the machine state将 breakpoint/watchpoint 从线性结构改为 IntervalTree,统一地址区间表示,并调整 TLB flush 接口。
影响:降低大量断点场景下的查找开销,简化 watchpoint 语义。
查看原始标题
[PATCH v3 00/51] accel/tcg: Use IntervalTree for breakpoints and watchpoints为 QOM 属性引入 QAPITypeInfo,使管理工具能从 query-qmp-schema 发现属性类型,替代自由形式 type 字符串。
影响:改善 libvirt 等上层对设备属性的可发现性,减少 ad-hoc 映射。
查看原始标题
[PATCH v3 00/74] qom/qdev: associate properties with QAPI schema types用 meson 替换 TCG 测试 makefile,覆盖全部架构 user/system 模式并补齐依赖关系。v8 已获核心维护者审阅,仅剩逐目标评审。
影响:降低 TCG 测试维护成本,使依赖可完整描述,为后续 CI 扩展打基础。
查看原始标题
[PATCH v8 000/105] tests/tcg: run tests with meson新增带偏移缩放寻址的 TCG 原语,并在 i386 等目标落地,减少位移/加法组合。
影响:为 TCG 生成更紧凑的代码,降低翻译开销。
查看原始标题
[PATCH 00/16] tcg: Introduce INDEX_op_lea在 machine 过滤之后,对 QOM 类型做动态过滤,解决 Kconfig 与 host/target 组合导致的存在性问题。
影响:确保单二进制暴露的机器/设备与目标二进制一致。
查看原始标题
[PATCH 00/47] single-binary: implement dynamic filtering for QOM types通过 --disable-hmp 使 QEMU 仅支持 QMP,减少攻击面和二进制体积。v5 已有多位维护者审阅,讨论渐定。
影响:面向管理面和最小化部署,降低交互式调试接口暴露风险。
查看原始标题
[PATCH v5 00/50] Make HMP optional (and later standalone)将更多 PPC 指令迁至 decodetree,清理 ISA 2.07 flag,并推进维护者交接。v3 已通过 POWER10 TCG 实测。
影响:改善 PPC TCG 可维护性,为后续 ISA 支持奠基。
查看原始标题
[PATCH v3 00/37] target/ppc: PPC TCG Improvements (decodetree migrations + ISA 2.07 flag updates)将 ram_addr_t 固定为 uint64_t,并清理 vexpress、xen-mapcache 等 32 位分支;已排队。
影响:减少条件编译,简化内存管理代码。
查看原始标题
[PATCH v2 0/9] Remove 32bit support on system/user emulations作为 QEMU 子项目引入,用 LLVM 在构建期将 helper 函数翻译为 TCG,降低复杂指令移植成本。
影响:有望加速 Hexagon/RISC-V 等目标的新指令实现。
查看原始标题
[PATCH v2 00/50] Introduce helper-to-tcgKVM12 条精选
新增 TDX Module Extensions 基础设施并实现基于 DICE 的 quoting,v2 将 quoting 从 RFC 转为正式评审。
影响:为 TDX attestation quoting 提供核心路径,影响远端证明生态。
查看原始标题
[PATCH v2 00/17] Enable DICE-based TDX Quoting Extension为保护虚拟机引入 RMM 固件通信与 KVM 支持,v16 重新合并固件/KVM 两段,并讨论 SVE 向量长度与 trap 开销。
影响:使 Arm 平台具备硬件强制隔离的机密虚拟机能力。
查看原始标题
[PATCH v16 00/45] arm64: Support for Arm CCA in KVM通过提取 arm64 公共代码,在 s390 上提供 KVM 加速的 ARM CPU 虚拟化,已获 Marc Zyngier 审阅。
影响:为异构虚拟化/实验场景铺路,但离主线合入尚远。
查看原始标题
[PATCH v6 00/33] KVM: s390: Introduce arm64 KVM在 gmem 释放 VMSA 页面时强制回收,避免 RMP 仍标记 IN_USE 造成 #PF;与 VMX APIC access page 逻辑对齐。
影响:消除特定生命周期操作下 SEV-SNP VM 的内存损坏/崩溃风险。
查看原始标题
[PATCH v4 00/18] KVM: SEV: Fix RMP #PF due to freeing in-use VMSA修复 SNP/TDX 来宾使用不可信 hypervisor PV clock 的问题,并让 KVM 来宾合理使用 TSC;讨论 CPUID 0x40000010 可迁移性。
影响:提升机密来宾时间语义的可信性与迁移正确性。
查看原始标题
[PATCH v6 00/51] x86: Try to wrangle PV clocks vs. TSC在 vGICv5 基础上支持中断路由表(IRS),使 SPI/LPI 可用,配合 FVP 可启动完整 Linux guest。
影响:将 GICv5 从 PPI-only 扩展到可用的完整中断模型。
查看原始标题
[PATCH v4 00/48] KVM: arm64: Add GICv5 IRS support实现 GICv5 虚拟设备 CPU 接口,v6 用 bitmap 管理 PPI 状态;Sashiko 报告两个 high 级问题待回应。
影响:是 GICv5 使能的基础步骤。
查看原始标题
[PATCH v6 00/39] KVM: arm64: Introduce vGIC-v5 with PPI support允许将 guest_memfd 内存从内核 direct map 移除,缓解 Spectre 型瞬态执行攻击;x86 支持并排除 TDX/SEV-SNP 的直访路径。
影响:显著缩小宿主侧针对 guest 内存的推测侧信道面。
查看原始标题
[PATCH v12 00/16] Direct Map Removal Support for guest_memfd支持在 guest_memfd 中进行 private/shared 原地转换,v10 讨论 KVM 访问经由 uaccess 路由以保证 private 内存不映射用户态。
影响:为 TDX/SNP 等 CoCo 的页转换和内存热管理奠定基础。
查看原始标题
[PATCH v10 00/41] guest_memfd: In-place conversion support为 nSVM/nVMX 增加更细粒度的执行权限控制,MBEC 与 GMET 分别来自 Intel/AMD;v6 被视为接近最终。
影响:提升 nested 虚拟化的安全性和兼容性。
查看原始标题
[PATCH v6 00/28] KVM: combined patchset for MBEC/GMET support利用 RMPOPT 指令跳过不含 SNP 内存的 1GB 区域 RMP 检查,并在 guest 终止后延迟重新优化。
影响:降低 hypervisor 与非 SNP 来宾的内存写入开销。
查看原始标题
[PATCH v11 0/6] Add RMPOPT support.修正 get_kvmclock_ns 未应用 guest TSC scaling 的系统漂移,消除冗余 masterclock 更新,并引入新 UAPI 对参考 TSC 校正。
影响:改善长时间运行/迁移场景下 guest 时钟稳定性。
查看原始标题
[PATCH v7 00/36] Cleaning up the KVM clock messLibvirt7 条精选
允许将多个加速 SMMUv3 实例与 pcie-expander-bus 上的 hostdev 关联,v11 修复 capabilities 门控。
影响:使直通设备按宿主 SMMU 拓扑正确绑定加速虚拟 SMMU。
查看原始标题
[PATCH v11 0/7] qemu: Support HW-accelerated vSMMUs新增 cmdqv iommu 驱动属性,控制加速 SMMUv3 的 vCMDQ 启用,依赖 vSMMU 系列。
影响:提供命令队列虚拟化加速入口,改善 SMMU 性能。
查看原始标题
[PATCH v4 0/3] qemu: Support vCMDQ暴露 QEMU iothread poll-weight,控制自适应轮询权重,范围 [0,63];v2 拆分 setter/getter 路径。
影响:运维可调优事件轮询行为,改善 IO 延迟。
查看原始标题
[PATCH v2 0/7] qemu: add poll-weight support for iothreads在 X.509 之外加入 PSK 认证,简化证书部署并降低证书泄露风险;v3 已获审阅。
影响:为不同规模环境提供更灵活的加密迁移通道。
查看原始标题
[PATCH v3 0/7] Add TLS-PSK support for migration依据 QEMU 的 vmcoreinfo 修复,在 Windows guest 上自动使用 win-dmp 格式,而非不可加载的 elf 默认。
影响:提高 Windows 崩溃转储的可调试性。
查看原始标题
[PATCH v2 0/5] qemu: auto-select win-dmp for Windows guest crash dumps实现 nftables 作为 ebtables 的替代后端,并加入单元测试与旧规则清理机制。
影响:顺应内核防火墙演进,提供可切换的过滤后端。
查看原始标题
[PATCH v8 0/4] nwfilter: add nwfilter nftables driverdaemonStreamHandleWriteData 的返回契约含糊导致错误回复被二次释放,触发 libvirtd abort 并 crash-loop。
影响:避免管理面中断,保证运行中 guest 仍可管理。