virt-report虚拟化社区动态
Weekly Review · 2026-W37

2026 年第 37 周9.7–9.13

机密计算与私有内存接口进入密集评审:Arm CCA 拆分推进、x86 Planes/TDX 加固、guest_memfd 与 NUMA 私有内存持续重构。

AI 分析 · deepseek-flash689 个活跃线程2026-09-07 至 2026-09-13Asia/Shanghai
摘要由 AI 基于本期高活跃线程生成。标题链接直达原始邮件或 issue;技术决策请以原始讨论为准。

概览

QEMU

本周 QEMU 侧主线是 QOM/qdev 属性关联 QAPI 类型的大系列推进到 v5,以及 accel/tcg 的 halt/interrupt 路径重构和 BQL 契约讨论升温。Arm 模型与 x86 APX 等 target/设备模型同步演进,check-tcg 迁入 meson 也暴露了 s390 BIOS 构建回归。

KVM

KVM 本周集中在机密计算与内存管理:Arm CCA/Realm 系列推进到 v16/v17,x86 侧 Planes/SEV-SNP、TDX CPUID 校验与 PV clock/TSC 修正继续评审。guest_memfd 原地转换、Private Memory NUMA 与 VMA flag 清理共同指向私有内存和 mm 接口的长期重构。

Libvirt

Libvirt 本周以能力扩展为主:Intel vIOMMU XML 增加 scalable_mode/fsts/pasid_bits/svm,TLS-PSK 迁移推进到 v4,resctrl 支持整进程分配与监控。另有 QEMU 退出等待配置、FreeBSD 网络修复和已关闭的 TPM chown 问题,后者仅代表关闭而不等于已修复。

统计

689活跃线程
3400活动条目
1463补丁邮件
21RFC 邮件
13新建 issue
0活跃已合并 MR
QEMU邮件列表2147
QEMUGitLab181
KVM邮件列表984
Libvirt邮件列表84
LibvirtGitLab4

进展3

Arm 机密计算与可迁移 host model

本期变化:KVM CCA v16 合并固件/RMM 与 KVM 便于整栈测试,v17 为 Realms 引入 VM type 回调;QEMU SMMUv3 Secure state v5 缩减提交,aarch64 host model v8 让 ID 寄存器可写。

讨论中:RMM 实现识别、Secure Stage 2 缺失、host model map 遍历挂起、Realm/Root 接口范围仍未定。

x86 机密计算 guest 接口与时钟完整性

本期变化:KVM Planes 统一 SEV-SNP、TDX 等特权分离抽象;TDX CPUID allowlist v3 阻止暴露可破坏 host state 的特性;PV clocks v6 修正 SNP/TDX guest 时钟源,TDX selftests v14 补齐生命周期测试。

讨论中:Planes 指针清理、TDX CPUID 与 KVM caps 联动、PV clock guest 侧接手仍待解决。

私有/guest 内存管理与 NUMA

本期变化:guest_memfd v12 修复非 gmem 内存过度 zap 并声明跨系列依赖;Private Memory NUMA v5 让私有节点默认仅参与分配/OOM,其余服务按 capability opt-in;VMA flag 系列消除 VM_SPECIAL 语义混同。

讨论中:guest_memfd 的 7.3 soft-close 时间窗与依赖、私有 NUMA capability 覆盖、hugetlb/VMA 边界语义仍待明确。

项目
条目

显示 27 / 27 条精选

QEMU8 条精选

Armhw/arm讨论中qemu-devel 邮件列表· 2026-09-10

v5 缩减为 28 个提交,集中 Arm SMMUv3 模型;仅一个补丁触及 hw/pci,Secure Stage 2 未实现,启用 Stage 2 的 Secure STE 被拒。

影响:推进 Arm Realm 设备直通建模,但 Secure 两阶段翻译和 Realm/Root 接口仍不在当前范围。

查看原始标题[RFC v5 00/28] hw/arm/smmuv3: Support Secure state for SMMUv3
Armkvm/arm讨论中qemu-devel 邮件列表· 2026-09-11

RFC 让 QEMU 从 KVM UAPI 获取可写 ID 字段并匹配生成描述,以可定制 host CPU model 提升跨硬件迁移灵活性。

影响:目标是改善 Arm 跨主机迁移兼容性;反馈指出 map 遍历存在挂起 QEMU 的问题,需修复。

查看原始标题[RFC PATCH v8 00/20] kvm/arm: Introduce a customizable aarch64 KVM host model
x86target/i386评审中qemu-devel 邮件列表· 2026-09-08

系列为 TCG 实现 APX,核心是引入 EVEX 解码基础设施,并调整现有指令解码表以支持新数据目的等特性。

影响:为 x86 新指令集模拟打基础,同时让 QEMU 解码更贴近硬件;规模大,需关注回归。

查看原始标题[PATCH 00/20] target/i386/tcg: implement APX
accel/tcg讨论中qemu-devel 邮件列表· 2026-09-13

v3 重拾 Robert Foley 的系列,重命名回调并限制中断处理模式,docstring 明确 do_interrupt/cpu_exec_interrupt 持 BQL。

影响:澄清 BQL 契约,降低中断路径竞态风险,但涉及多 target 回调,需要逐个审查。

查看原始标题[PATCH v3 00/11] accel/tcg: Push BQL down into per-target do_interrupt handlers
accel/tcg评审中qemu-devel 邮件列表· 2026-09-08

系列用 process_async_events 和 transition_halt_to_exec 两个回调拆分原 cpu_exec_halt 的职责,并调整调用路径。

影响:TCG 状态转换与异步事件边界更清晰,利于 BQL/MTTCG 讨论,但接口变更影响各 target。

查看原始标题[PATCH 00/11] accel/tcg: Make halt-to-exec transition explicit and remove cpu_exec_halt
CI讨论中qemu-devel 邮件列表· 2026-09-11

该 PULL 将 check-tcg 移入 meson 构建;后续报告指出这破坏了 s390 启动用 bios 的构建,相关 pc-bios 项也受影响。

影响:构建系统整合方向明确,但需先解决固件镜像构建回归,否则影响 s390 等平台启动测试。

查看原始标题[PULL 000/105] move check-tcg into the meson build
qom/qdev评审中qemu-devel 邮件列表· 2026-09-11

v5 将 QOM/qdev property 与 QAPI schema 类型关联,新增 QAPITypeInfo,并移除 introspection 的依赖遍历。

影响:管理工具可按 schema 解析设备属性,减少私有映射;兼容性和后续审查仍需确认。

查看原始标题[PATCH v5 00/62] qom/qdev: associate properties with QAPI schema types
virtio讨论中qemu-devel 邮件列表· 2026-09-12

PULL v2 汇集 PCI、vhost、virtio、iommu、ACPI 的功能与修复,并新增 CXL reviewer,但线程中仍有重发与合并安排讨论。

影响:影响虚拟化 I/O 与设备模型栈;合入前需确认 CXL/PCI 改动范围与维护者分派。

查看原始标题[PULL v2 00/75] pci, vhost, virtio, iommu, apci: features, fixes

KVM11 条精选

Armarm64评审中KVM 邮件列表· 2026-09-07

v16 将固件/RMM 与 KVM 两部分合并为 45 个补丁,便于完整栈由 Sashiko 单系列测试,并补充 SVE 向量长度暴露。

影响:推动 Arm Realm 机密计算落地;RMM 实现识别和已知缺陷拒绝策略仍在争论。

查看原始标题[PATCH v16 00/45] arm64: Support for Arm CCA in KVM
x86TDX评审中KVM 邮件列表· 2026-09-09

系列搭建 TDX VM 与基础生命周期测试,因 TDX module 保护寄存器状态,改用 TDVMCALL 等路径绕过直接寄存器初始化。

影响:为 TDX 提供可回归的 selftests 基础设施,降低后续 TDX KVM 特性回归风险;仍属测试框架适配。

查看原始标题[PATCH v14 00/22] TDX KVM selftests
x86安全评审中KVM 邮件列表· 2026-09-11

系列实现 KVM planes 基础支持,用于 AMD SEV-SNP VMPL、Intel TDX、Arm CCA Planes 等特权分离场景,并更新用户态接口。

影响:试图统一多架构机密计算特权层抽象;评审指出 plane 释放后指针未置 NULL 等问题。

查看原始标题[PATCH 00/60] KVM Planes + SEV-SNP Support
x86TDX评审中KVM 邮件列表· 2026-09-11

v3 通过 allowlist 阻止 userspace 为 TDX 启用 KVM 不支持且可能破坏 host state 的 host-state-clobbering 特性。

影响:属于 TDX guest 安全边界加固,避免新模块/平台特性被盲目暴露;与 KVM caps 的联动仍在讨论。

查看原始标题[PATCH v3 0/4] KVM: TDX: Validate directly configurable CPUID bits
Armarm64评审中KVM 邮件列表· 2026-09-13

v17 精简为 Realms 基础支持,引入 VM type 回调和 VCPU/Stage2 框架,减少 is_this_type_of_vm 散落。

影响:把 CCA 支持拆成可审查 host 基础层;pKVM 路径和 VMID 处理仍有概念性异议。

查看原始标题[PATCH v17 00/20] KVM: arm64: CCA: Add basic plumbing for Realms
x86x86评审中KVM 邮件列表· 2026-09-10

v6 修正 SNP/TDX guest 使用不可信 hypervisor PV clock 而非可信固件 TSC 的问题,并统一 per-hypervisor 逻辑。

影响:关乎机密计算 guest 时钟完整性与 KVM guest sched_clock;代码属 guest 侧,需 Thomas 等维护者接手。

查看原始标题[PATCH v6 00/51] x86: Try to wrangle PV clocks vs. TSC
selftests评审中KVM 邮件列表· 2026-09-11

v2 为 PPC selftests 支持做清理和重构,处理 PPC 多页页表对齐问题,避免给页分配器增加 align 参数。

影响:降低后续 PPC selftests 合入门槛,也统一各架构页表分配假设;PPC selftests v4 仍待真实硬件验证。

查看原始标题[PATCH v2 00/20] KVM: selftests: PPC pre-enabling
guest_memfd评审中KVM 邮件列表· 2026-09-09

v12 基于 7.3-rc1,修复因 filter 导致对非 gmem 内存过度 zap 的问题,仍依赖 kvm_gmem_get_pfn 不返回带引用 page 的系列。

影响:对 guest_memfd 快照/迁移和私有内存转换关键;接近 7.3 soft-close,依赖链是主要风险。

查看原始标题[PATCH v12 00/45] guest_memfd: In-place conversion support
迁移评审中KVM 邮件列表· 2026-09-07

系列为 Armv9.5 的 HDBSS 硬件脏状态跟踪结构添加支持,用于降低 live migration 脏页扫描开销。

影响:可改善 Arm 脏页跟踪与迁移性能,但依赖 HAFDBS 等特性组合,兼容路径需确认。

查看原始标题[PATCH v4 0/6] Support the FEAT_HDBSS introduced in Armv9.5
mm评审中KVM 邮件列表· 2026-09-10

系列引入私有内存 NUMA 节点,默认仅参与 page alloc 和 OOM kill,其他 mm 服务通过 capability 位显式 opt-in。

影响:为私有/机密内存提供更可控 NUMA 托管模型;node owner 能力位和 mm 服务覆盖范围仍在讨论。

查看原始标题[PATCH v5 00/36] Private Memory NUMA Nodes
mm评审中KVM 邮件列表· 2026-09-11

系列拆分 VM_SPECIAL/VMA_SPECIAL_FLAGS 混同的内核拥有、可扩展、mlock 竞态与阻止 GUP 等语义,使驱动和 mm 代码不再依赖模糊标志。

影响:影响包括 KVM/guest 内存在内的 VMA 行为,长期可减少特殊映射误判;hugetlb 等边界语义需仔细审查。

查看原始标题[PATCH 00/39] mm: make VMA flag semantics explicit, eliminate VM_SPECIAL

Libvirt8 条精选

x86iommu评审中libvirt-devel 邮件列表· 2026-09-10

v2 为 intel-iommu 增加 scalable mode、first-stage translation、PASID 位数和 SVM/PRQ 支持,并格式化到 QEMU 命令行。

影响:使 libvirt 可配置高级 vIOMMU 与 vSVA/嵌套翻译,服务 iommufd 和 assigned device 场景;需关注 XML/ABI 兼容。

查看原始标题[PATCH v2 00/12] conf, qemu: Add scalable_mode, fsts, pasid_bits, and svm support for intel-iommu
qemu评审中libvirt-devel 邮件列表· 2026-09-10

补丁为 QEMU 进程退出等待增加配置项,替代仅靠固定超时和每设备累加时长的策略,以应对大内存 4k 页回收等延迟。

影响:让运维可调节关机/销毁等待,减少因 QEMU 退出慢导致的误报错误;默认值行为仍需明确。

查看原始标题[PATCH] qemu: add process_exit_wait configuration setting
迁移评审中热迁移libvirt-devel 邮件列表· 2026-09-07

v4 让 libvirt 管理 TLS-PSK 预共享密钥生命周期,并通过 QEMU monitor 实例化 tls-creds-psk,增加迁移 cookie 测试。

影响:在 X.509 之外提供更易轮换的迁移加密认证,降低证书运维负担;性能和默认启用策略仍在讨论。

查看原始标题[PATCH v4 0/7] Add TLS-PSK support for migration
virnetdevtap评审中libvirt-devel 邮件列表· 2026-09-10

两个补丁修复 virnetdevtap 在重命名和桥接端口创建路径中的 tap 设备泄漏。

影响:改善 FreeBSD 主机上反复创建/销毁网络接口的资源泄漏问题;已有 Reviewed-by。

查看原始标题[PATCH 0/2] virnetdevtap: fix tap device leaks on FreeBSD
网络评审中libvirt-devel 邮件列表· 2026-09-08

系列在 virnetdevbridge 实现 FreeBSD 上的 VLAN filtering,支持 macTableManager='libvirt' 和 domain <vlan> 配置。

影响:补齐 FreeBSD 网络虚拟化能力,使 VLAN 配置行为与 Linux 侧更一致;需要确认与 XML 语义匹配。

查看原始标题[PATCH 0/2] virnetdevbridge: support VLAN configuration on FreeBSD
安全已关闭GitLab libvirt· 2026-09-11

issue 描述 swtpm 用户可替换日志为符号链接,导致 root 启动域时 chown 任意文件;该 issue 已关闭。

影响:历史影响是 TPM 日志路径的权限提升风险;关闭不自动代表修复,需以原始 issue 关闭结论和后续补丁为准。

查看原始标题Unsafe chown in qemuTPMEmulatorPrepareHost() allows arbitrary file ownership transfer via symlink
resctrl评审中libvirt-devel 邮件列表· 2026-09-07

v2 允许 cachetune、memorytune、energytune 及其 monitor 省略 vcpus 属性,将整个 QEMU 进程纳入 resctrl 组。

影响:覆盖 IOThread、worker 和 emulator 线程的资源消耗,使缓存/内存带宽控制更贴近实际;与 per-vCPU 模式不能混用。

查看原始标题[PATCH v2 0/4] resctrl: support whole-process allocations and monitoring
存储新提交虚机性能GitLab libvirt· 2026-09-11

issue 指出 libvirt 将块延迟直方图边界存储为 unsigned int,而 QEMU 支持 uint64,限制了大延迟边界配置。

影响:影响需要长尾延迟观测或大边界值的用户;当前仍为打开的 issue,需确认 ABI 兼容方案。

查看原始标题Block latency histogram boundaries are limited to uint32 while QEMU supports uint64
数据源 QEMU:lists.gnu.org mbox / GitLab · KVM:lore.kernel.org public-inbox Git · Libvirt:官方 HyperKitty / GitLab