On Mon, Jul 20, 2026 at 02:39:06PM +0200, Philippe Mathieu-Daudé wrote: > +Stefan > > On 7/5/26 21:47, Peter Maydell wrote: > > When we updated Arm and AArch64 board types to mark them for the > > target_machine_typename() filter, we forgot about the "x-remote" > > machine type, which meant that it disappeared from the set of board > > types exposed on the qemu-system-arm and qemu-system-aarch64 > > binaries. We didn't notice this, because although we have a > > functional test for it, it requires the KVM accelerator and we don't > > I don't remember why it requires KVM. > > $ git grep -i kvm hw/remote/ > hw/remote/Kconfig:3: depends on PCI && PCI_EXPRESS && KVM > hw/remote/proxy.c:36: kvm_irqchip_remove_irqfd_notifier_gsi(kvm_state, > &dev->intr, dev->virq); > hw/remote/proxy.c:45: kvm_irqchip_add_irqfd_notifier_gsi(kvm_state, > &dev->intr, > > I suppose these 2 calls should be replaced by generic equivalents: > - accel_irqchip_remove_irqfd_notifier_gsi() > - accel_irqchip_add_irqfd_notifier_gsi() The generic functions call into KVM or MSHV or return -ENOSYS if neither are available in. While QEMU will compile, x-remote won't work at runtime. If someone wants to make x-remote actually work at runtime without KVM then that should be possible too: set up an EventNotifier that handles interrupt requests from the remote process and invokes QEMU's internal irq APIs to inject them into the guest. There may already be code to do that somewhere or, if not, it shouldn't be hard to write. Stefan