Xen Project
Become a member

This week on xen-devel: 6 to 12 November 2026

APX, RISC-V interrupts, Arm CPU hotplug, and migration fixes.

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

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

ThreadReviewed-byAcked-byTested-by
[PATCH 0/4] libxl TPM emulator support—Nick Rosbrook—
[PATCH 1/4] xen/arm: guest_walk: refuse a block descriptor where the granule has noneJan Beulich, Michal Orzel——
[PATCH v1 00/28] x86: initial SVM AVIC support—Andrew Cooper—
[PATCH v1 1/2] xen/riscv: skip disabled CPU nodes when probing ISA extensionsBaptiste Le DucJan Beulich—
[PATCH v11 0/6] Implement CPU hotplug on ArmVolodymyr BabchukJan Beulich—
[PATCH v13 00/14] Add initial Xen Suspend-to-RAM support on ARM64Bertrand MarquisBertrand Marquis—
[PATCH v2 1/2] tools/libs/guest: re-read dominfo after changing a PV guest’s width on restoreJan Beulich——
[PATCH v2 1/2] xen/riscv: skip disabled CPU nodes when probing ISA extensionsBaptiste Le DucJan Beulich—
[PATCH v2] x86/svm: Cleanup vintr_t typeJan Beulich——
[PATCH v3 0/3] x86/hvm: fix EFLAGS.IF handling of pending events with nested virtJan Beulich——
[PATCH v3 00/39] [PATCH v2 00/39] [RISC-V] virtual interrupt controller (vAPLIC/vIMSIC) support—Jan Beulich—
[PATCH v3] x86/nestedhvm: process the MSR-load and MSR-store areas of L1’s VMCSJan Beulich——
[PATCH v4 0/5] unmap_page_range optimisationJuergen Gross——
[PATCH v5 0/6] unmap_page_range optimisationAndrew Cooper, Jan Beulich——
[PATCH v7 0/3] xen/mm: Introduce NUMA-aware memory claim setsBaptiste Le Duc——
[PATCH] common: Convert !test_bit(_VPF_down) into is_vcpu_online()Michal Orzel——
[PATCH] tools/ocaml: Fix cleaning bindings test—Andrew Cooper—
[PATCH] x86/EFI: fix padding of EDD stringsMarek Marczykowski-Górecki——
[PATCH] x86/bitops: Improve code generation for __scanbit()Jan Beulich——
[PATCH] x86/bitops: Replace __scanbit() with a simpler tzcnt()Jan Beulich——
[PATCH] x86/cpufreq: allocate processor_pminfo[] dynamicallyJason Andryuk——
[PATCH] x86/cpuidle: allocate processor_powers[] dynamicallyJason Andryuk——
[PATCH] x86/svm: Drop ‘struct’ from the vmcb_struct type—Jan Beulich—
[PATCH] x86/svm: Rework VMCB comments—Jan Beulich—
[PATCH] x86/traps: Make get_stack_{trace,dump}_bottom() staticJan Beulich——
[PATCH] x86emul: Treat the vector of INT imm8 as unsignedRoss Lagerwall——
[PATCH] xen/arch/arm: Correcting comment typos across xen/arch/armMichal Orzel——
[PATCH] xen/arm: Preserve host GIC #interrupt-cells for Dom0Michal Orzel——
[PATCH] xen/credit: Uncount units dropped by csched_schedule()Juergen Gross——
[PATCH] xen/efi: Handle efi_memmap with Xen relocating itselfMarek Marczykowski-Górecki——
[PATCH] xen/gnttab: Properly drop page ref on a GNTTAB_cache_flush error pathJan Beulich——
[PATCH] xen/riscv: add cf_check to vcpu_imsic_{init,deinit}() declarationsBaptiste Le DucJan Beulich—
[PATCH] xen/sched: resolve MISRA R18.3 pointer comparisonJuergen Gross——

Linux and QEMU side

Threads copied to a Linux list (vger) or qemu-devel: Xen drivers, KVM and device models rather than the hypervisor.

Counts

AreaMessages
x86181
other117
arm20
tools17
riscv16
x86emul12
libxl8
efi6
automation6
gnttab5
libfsimage5
rfc4
misra3
link3
docs2
mm2
sched2
console2
credit1
common1
dt1
flask1
device-tree1
asi1

Was this page helpful?

Xen Project

Search the site

Esc

Enter at least two characters to search the Xen Project website and blog.

Sort by