All xen-devel digests · Subscribe via RSS
Compiled by Bruno
Coverage: 6 November 2026–12 November 2026.
This digest summarizes development discussions. Proposed changes may still be under review; follow the linked threads for their current status.
Draft, not yet checked. The opening paragraph and the summaries are machine-written. Read each one against its thread, then delete this line.
This week, the list discussed getting interrupts to virtual machines faster and adding support for new x86 instruction sets. Baptiste Le Duc suggested splitting NUMA-aware memory claim sets into smaller chunks to ease review, while Oleksii Kurochko refined the virtual interrupt controller support for RISC-V. Jan Beulich posted a series to let guests use APX and re-posted updates for the xstate area and AVX10 support. Denis Mukhin’s series introducing an NS16550-compatible UART emulator also drew feedback regarding build errors and code clarity.
643 messages in 124 threads went through the list from 6 to 12 November 2026. Each item below links to its full thread on lore.kernel.org.
Back from the archive
xen/mm: Introduce NUMA-aware memory claim sets
v7, 3 patches · 2 messages from 1 person · first posted 181 days earlier · read the thread
Baptiste Le Duc suggests splitting the NUMA-aware memory claim sets patch (the part that manages memory shared between virtual machines) into smaller chunks of under 200 lines each to make review easier. He also notes that quoting a mail in the commit message is unusual and recommends using a Suggested-by trailer instead. He reviewed the per-node free page counter patch and sent his Reviewed-by tag.
Most discussed
x86: introduce NS16550-compatible UART emulator
v8, 26 patches · 32 messages from 3 people · read the thread
Denis Mukhin’s series adds an NS16550-compatible virtual UART emulator (the part that lets guests talk to a serial port) to the x86 port of Xen. Oleksii Kurochko reports that patches 18/26, 19/26, and 20/26 don’t build because they use a variable declared in a later patch, and patch 13/26 fails with -Werror because it dereferences an uninitialized pointer. Jan Beulich asks why the definitions in patch 2/26 restrict certain bits to MSR and suggests dropping the separate masks for reserved bits to avoid confusion.
x86: permit guests to use APX
30 patches · 31 messages from 1 person · read the thread
Jan Beulich posted a 30-patch series to let guests use APX (Advanced Performance Extensions), a new x86 instruction set that adds extra general-purpose registers and faster atomic operations. He notes the work depends on other stalled patches for AVX10 support and VMX instruction handling. No other messages appeared in the thread this week.
x86 xstate area / AMX+XFD / ACE
v4, 28 patches · 29 messages from 1 person · read the thread
Jan Beulich re-posts a large series that updates the xstate area (the part of the CPU that saves and restores complex processor states) to support new tile-based instructions. He notes that the work sits on top of the APX series and that ACEv2 support is missing for now.
x86: support AVX10
v5, 19 patches · 20 messages from 1 person · read the thread
The AVX10 support series (a set of patches to handle the latest Intel vector instruction set) is in revision 5, with Jan Beulich noting that AVX10.1 is mostly a rebranding of existing AVX512 features while AVX10.2 adds new instructions. Jan Beulich mentions the series depends on previous CPUID and emulator patches.
RISC-V: virtual interrupt controller (vAPLIC/vIMSIC) support
v3, 39 patches · 19 messages from 3 people · first posted 36 days earlier · read the thread
Oleksii Kurochko is refining the commit message for patch 32/39 to clarify how the IMSIC virtual interrupt controller (the part that manages per-vCPU interrupt state) handles migration, while also noting he is unsure whether to explicitly mention software interrupt files that aren’t yet implemented. Baptiste Le Duc agrees to keep the wording implicit in that patch and suggests introducing real functions before their callers in patch 31/39 to better reflect how the hardware actually works. Jan Beulich questions the logic behind saving certain control registers in patch 11/39, asking whether their values can be reconstructed from other state, and provides an Acked-by tag for patches 14/39 and 16/39 after noting a minor wording nit.
x86: initial SVM AVIC support
28 patches · 17 messages from 6 people · read the thread
Andrew Cooper’s patch series (the code that manages AMD’s Advanced Virtual Interrupt Controller) reliably hangs OVMF, as Ross Lagerwall reported after applying the changes. Jason Andryuk asks why the code doesn’t eventually use the VMCB.avic_backing_page directly, while Teddy Astie suggests marking the domain state as __ro_after_init and warns about potential guest access issues. Jan Beulich asks for documentation updates as suboptions are added and suggests introducing a stub in the patch where it’s needed. Andrew Cooper flags bugs in the vlapic TPR emulation code and argues for using CONFIG_PERF_COUNTERS instead of an ad-hoc mechanism.
unmap_page_range optimisation
v5, 6 patches · 16 messages from 3 people · read the thread
Kevin Lampis’s patch series (v5) tweaks the mmu_update hypercall to let Linux fetch and clear page table entries in one go, which speeds up memory unmapping during VM migration. Andrew Cooper reviewed the first patch and shared code size stats for the second patch, noting the changes look right. Jan Beulich asked why the second patch doesn’t pass the old entry into UPDATE_ENTRY to cut down on redundancy, and he flagged missing blank lines in the fourth patch. Andrew Cooper said he can’t find a clean way to return the old value because the current code structure makes it tricky to handle types safely.
Implement CPU hotplug on Arm
v11, 6 patches · 10 messages from 3 people · read the thread
Mykyta Poturai’s series adds CPU hotplug support for Arm, letting you add or remove processors while the system runs. Jan Beulich acks the sysctl implementation patch (4/6) that exposes the new control interface. Volodymyr Babchuk reviews both that sysctl patch and the documentation patch (6/6).
tools/libs/guest: re-read dominfo after changing a PV guest’s width on restore
v2, 2 patches · 10 messages from 3 people · read the thread
George Dunlap’s patch to re-read domain info after changing a PV guest’s width on restore (the part that handles migrating 32-bit virtual machines) fixes a bug where the restore process fails or corrupts data if the shared memory page moves. George reports that applying the second patch in the series before the first usually causes the restore to fail cleanly, but applying it after can lead to silent data corruption. Jan asks if the second patch must be applied in order or if it can go in first without making things worse. Andrew says he’s going to write a proper migration test to catch these simple errors.
Add initial Xen Suspend-to-RAM support on ARM64
v13, 14 patches · 9 messages from 3 people · first posted 9 days earlier · read the thread
Mykola Kvach plans to rename a configuration option to suspend_possible and update the commit message to explain why the code skips suspend support for Cortex-R processors. Jan Beulich points out a potential leak where a CPU that fails to come up during resume might not get freed, and suggests setting the frozen_cpus bit to ensure the notification is sent. Bertrand Marquis provides Reviewed-by tags for most of the patches but asks whether the SMMUv3 event queue tasklet should always run on resume to catch events that arrived before the interrupt was enabled.
New series
arm[PATCH 1/4] xen/arm: guest_walk: refuse a block descriptor where the granule has nonearm[PATCH v2] xen/arm: Fix sibling mask setup to only include online CPUsarm[PATCH 0/2] xen/arm: report the correct number of PMU counters to guestsarm[PATCH v4] xen/arm: validate non-common page-table rangesautomation[PATCH v2] automation/eclair: deviate R2.6 for the x86 emulatorautomation[PATCH v3] automation/eclair: deviate R2.6 for the x86 emulatorconsole[PATCH v6 0/2] xen/console: updates to rate-limitingdocs[PATCH] docs/man: fix typo in xl.1efi[PATCH] xen/efi: Handle efi_memmap with Xen relocating itselfflask[PATCH] Flask: drop bogus struct forwards declsgnttab[PATCH] xen/gnttab: _cache_flush refuse an owner without a grant tablegnttab[PATCH] xen/gnttab: Properly drop page ref on a GNTTAB_cache_flush error pathlibfsimage[PATCH 0/4] libfsimage: validate untrusted on-disk metadata in pygrub filesystem pluginslibxl[PATCH v2] libxl: wait for QEMU exit before restarting a domainlink[PATCH] xen/link: Move SCHEDULER_ARRAY into .rodatalink[PATCH] xen/link: Don’t separate .data.read_mostly from .datalink[PATCH] xen/link: Remove CONSTRUCTORS from linker scriptmisra[PATCH v2] misra: deviate MISRA C Rule 10.1 for boolean operands of arithmeticother[PATCH 0/4] libxl TPM emulator supportother[PATCH v11 0/6] Implement CPU hotplug on Armother[PATCH RFC] drop bogus Eclair R2.1 deviationother[PATCH v4 00/28] x86 xstate area / AMX+XFD / ACEother[PATCH v5 0/6] unmap_page_range optimisationrfcRFC: Promote FLASK XSM Module to Supported in SUPPORT.mdriscv[PATCH v1 1/2] xen/riscv: skip disabled CPU nodes when probing ISA extensionsriscv[PATCH v2 1/2] xen/riscv: skip disabled CPU nodes when probing ISA extensionsriscv[PATCH] xen/riscv: add cf_check to vcpu_imsic_{init,deinit}() declarationssched[PATCH] xen/sched: resolve MISRA R18.3 pointer comparisontools[PATCH] tools/ocaml: Fix cleaning bindings testtools[PATCH v2 1/2] tools/libs/guest: re-read dominfo after changing a PV guest’s width on restorex86[PATCH v2 0/4] x86/HVM: batch the flushes of grant unmapsx86[PATCH] x86/bitops: Improve code generation for __scanbit()x86[PATCH RFC] x86/hvm: Disallow modifying the APIC_ID registerx86[PATCH v2] x86/svm: Cleanup vintr_t typex86[PATCH] x86/nestedhvm: don’t give L2 instructions L1 did not enablex86[PATCH] x86/svm: Rework VMCB commentsx86[PATCH v5 0/4] x86: CET-SS related adjustmentsx86[PATCH] x86/svm: Drop ‘struct’ from the vmcb_struct typex86[PATCH] x86/nestedhvm: process the MSR-load and MSR-store areas of L1’s VMCSx86[PATCH] x86/pv: free the shared_info page switch_compat() replacesx86[PATCH] x86/traps: Make get_stack_{trace,dump}_bottom() staticx86[PATCH] x86/bitops: Replace __scanbit() with a simpler tzcnt()x86[PATCH v5 00/19] x86: support AVX10x86[PATCH 00/30] x86: permit guests to use APXx86[PATCH v8 00/26] x86: introduce NS16550-compatible UART emulatorx86[PATCH v2] x86/nestedhvm: process the MSR-load and MSR-store areas of L1’s VMCSx86[PATCH v3] x86/nestedhvm: process the MSR-load and MSR-store areas of L1’s VMCSx86[PATCH] x86/nestedhvm: load host state at virtual VM exit as the SDM doesx86[PATCH] x86/nestedhvm: L2 reads its own CR0 and CR4 bits, not L1’s shadowx86[PATCH] x86/nestedhvm: make L2’s CLTS clear the CR0.TS that L2 readsx86[PATCH v2 2/2] x86/nestedsvm: honour L2’s EFLAGS.IF when L1 clears V_INTR_MASKINGx86[PATCH v3 0/3] x86/hvm: fix EFLAGS.IF handling of pending events with nested virtx86emul[RFC PATCH 0/2] x86emul: address MISRA R2.6 in CONFIG_HVM=n buildsx86emul[PATCH] x86emul: Treat the vector of INT imm8 as unsignedx86emul[PATCH] x86emul: Treat the vector of INT imm8 as unsigned
Bugs and security
BUG: Xen BUG at mce_amd.c:100 (mc_ec2type) on Zen 3; host left wedged, no reboot
2 messages from 2 people · read the thread
Peter Deggendorfer reports that the host still throws a Xen BUG at mce_amd.c:100 and leaves the system wedged after running Jan Beulich’s debugging changes for a week. Jan Beulich suggests replacing the current code with a different inline assembly approach to see if the first RDMSR instruction is being skipped.
Review trailers sent this week
Linux and QEMU side
Threads copied to a Linux list (vger) or qemu-devel: Xen drivers, KVM and device models rather than the hypervisor.
- (linux) [PATCH RFC 00/41] fs: don’t use pseudo filesystem files as storage — 73 messages
- (linux) [PATCH v13 00/26] KVM: x86: Cleaning up the KVM clock mess, part 2 — 27 messages
- (linux) [PATCH v12 00/24] KVM: x86: Cleaning up the KVM clock mess, part 2 — 25 messages
- (qemu) [PATCH v9 00/19] hw/usb: Add a usbredir server transport — 20 messages
- (linux) [PATCH v3 0/9] Add __must_init and require explicit kobj_type::release — 12 messages
- (linux) [LINUX PATCH v2 0/8] Various improvements on runstate and vcpu_time areas + xen_features — 8 messages
- (linux) [PATCH 00/14] mm: convert further simple mmap hooks to mmap_prepare — 7 messages
- (qemu) [PATCH v8 00/18] hw/usb: Add a usbredir server transport — 6 messages
- (linux) [PATCH 0/2] Re-raise irq_work lost during Xen suspend — 6 messages
- (linux) [PATCH 0/2] xen/pvcalls: fix the backend error path and a workqueue leak — 6 messages
- (linux) [PATCH v2 0/2] Xen/gnttab: improve error handling in gnttab_dma_{alloc,free}_pages() — 6 messages
- (linux) [PATCH 0/3] xen-blkback: do some I/O statistics rework — 6 messages
- (linux) [PATCH] xen/events: replace __get_free_pages() with kmalloc() — 3 messages
- (linux) [PATCH] x86/xen: Fix lazy MMU pause count wrap-around — 3 messages
- (linux) [PATCH v2 0/2] xen/pvcalls: fix the backend error path and a workqueue leak — 3 messages
- (qemu) [PULL v2 00/25] Tracing patches — 2 messages
- (linux) [PATCH v12 08/24] KVM: x86: Re-synchronize TSC after KVM_SET_TSC_KHZ — 2 messages
- (linux) [PATCH] xen/scsiback: unbind the IRQ before draining in-flight requests — 2 messages
- (linux) [PATCH v2] xen/events: replace page allocator calls with k[mz]alloc() — 2 messages
- (linux) [RFC PATCH kernel 00/17] PCI/TSM: coco/sev-guest: Implement SEV-TIO PCIe TDISP (phase2) — 1 message
- (linux) [PATCH] xen/grant-table: annotate on-stack work in gnttab_unmap_refs_sync() — 1 message
- (linux) [PATCH] xen/platform-pci: Disable device before releasing PCI regions — 1 message
- (linux) [PATCH] xen/gntdev: fix deadlock between map ioctl and mmap — 1 message
- (linux) [PATCH] xen/privcmd: fix double free when an irqfd is shut down twice — 1 message
- (qemu) [PATCH 00/28] Mark user creatable devices for secure for virt use case — 1 message
- (linux) [PATCH net-next v4 00/15] net: skbuff: follow-ups to the BUG_ON() removal — 1 message
Counts
| Area | Messages |
|---|---|
| x86 | 181 |
| other | 117 |
| arm | 20 |
| tools | 17 |
| riscv | 16 |
| x86emul | 12 |
| libxl | 8 |
| efi | 6 |
| automation | 6 |
| gnttab | 5 |
| libfsimage | 5 |
| rfc | 4 |
| misra | 3 |
| link | 3 |
| docs | 2 |
| mm | 2 |
| sched | 2 |
| console | 2 |
| credit | 1 |
| common | 1 |
| dt | 1 |
| flask | 1 |
| device-tree | 1 |
| asi | 1 |