qemu-e2k/qapi
Paolo Bonzini 526947e496 Merge branch 'xenfv-kvm-15' of git://git.infradead.org/users/dwmw2/qemu into HEAD
This adds support for emulating Xen under Linux/KVM, based on kernel
patches which have been present since Linux v5.12. As with the kernel
support, it's derived from work started by João Martins of Oracle in
2018.

This series just adds the basic platform support — CPUID, hypercalls,
event channels, a stub of XenStore.

A full single-tenant internal implementation of XenStore, and patches
to make QEMU's Xen PV drivers work with this Xen emulation, are waiting
in the wings to be submitted in a follow-on patch series.

As noted in the documentation, it's enabled by setting the xen-version
property on the KVM accelerator, e.g.:

 qemu-system-x86_64 -serial mon:stdio -M q35 -display none -m 1G -smp 2 \
    -accel kvm,xen-version=0x4000e,kernel-irqchip=split \
    -kernel vmlinuz-6.0.7-301.fc37.x86_64 \
    -append "console=ttyS0 root=/dev/sda1" \
    -drive file=/var/lib/libvirt/images/fedora28.qcow2,if=none,id=disk \
    -device ahci,id=ahci -device ide-hd,drive=disk,bus=ahci.0

Even before this was merged, we've already been using it to find and fix
bugs in the Linux kernel Xen guest support:

https://lore.kernel.org/all/4bffa69a949bfdc92c4a18e5a1c3cbb3b94a0d32.camel@infradead.org/
https://lore.kernel.org/all/871qnunycr.ffs@tglx/

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2023-03-01 15:02:13 +01:00
..
acpi.json
audio.json qapi, audio: Make introspection reflect build configuration more closely 2023-01-30 15:43:55 +01:00
authz.json
block-core.json block/rbd: Add support for layered encryption 2023-02-23 19:49:35 +01:00
block-export.json vduse-blk: Add name option 2022-06-24 17:07:06 +02:00
block.json block: add more commands to preconfig mode 2022-06-14 16:50:30 +02:00
char.json
common.json
compat.json
control.json
crypto.json
dump.json qapi: fix example of query-dump-guest-memory-capability command 2022-09-07 15:10:13 +02:00
error.json
introspect.json
job.json
machine-target.json
machine.json qapi: Add 'acpi' field to 'query-machines' output 2023-03-01 11:36:53 +01:00
meson.build qga: Allow building of the guest agent without system emulators or tools 2022-11-11 09:17:45 +01:00
migration.json migration: Introduce interface query-migrationthreads 2023-02-06 19:22:57 +01:00
misc-target.json i386/xen: add monitor commands to test event injection 2023-03-01 08:22:50 +00:00
misc.json vfio-user: run vfio-user context 2022-06-15 16:43:42 +01:00
net.json net: stream: add a new option to automatically reconnect 2023-02-17 13:31:33 +08:00
opts-visitor.c
pci.json
pragma.json
qapi-clone-visitor.c
qapi-dealloc-visitor.c
qapi-forward-visitor.c
qapi-schema.json qmp: add QMP command x-query-virtio 2022-10-09 16:38:45 -04:00
qapi-type-helpers.c
qapi-util.c
qapi-visit-core.c
qdev.json qapi: fix example of DEVICE_UNPLUG_GUEST_ERROR event 2022-09-07 15:10:13 +02:00
qmp-dispatch.c
qmp-event.c
qmp-registry.c
qobject-input-visitor.c
qobject-output-visitor.c
qom.json pci,pc,virtio: features, tests, fixes, cleanups 2022-11-07 18:43:56 -05:00
rdma.json
replay.json
rocker.json
run-state.json reset: allow registering handlers that aren't called by snapshot loading 2022-10-27 11:34:31 +01:00
sockets.json
stats.json monitor: add support for boolean statistics 2022-07-18 18:51:17 +02:00
string-input-visitor.c
string-output-visitor.c
tpm.json
trace-events
trace.h
trace.json
transaction.json
ui.json gtk: Add show_menubar=on|off command line option. 2022-10-12 14:33:54 +02:00
virtio.json Fix several typos in documentation (found by codespell) 2022-11-11 09:39:25 +01:00
yank.json