qemu-e2k/hw
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
..
9pfs Don't include headers already included by qemu/osdep.h 2023-02-08 07:28:05 +01:00
acpi hw: Move ich9.h to southbridge/ 2023-02-27 22:29:01 +01:00
adc hw/adc: Make adci[*] R/W in NPCM7XX ADC 2022-07-18 13:20:14 +01:00
alpha Drop duplicate #include 2023-02-08 07:28:05 +01:00
arm hw/ide: Rename ide_create_drive() -> ide_bus_create_drive() 2023-02-27 22:29:02 +01:00
audio hw/audio/ac97: Split off some definitions to a header 2023-02-27 22:29:02 +01:00
avr Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
block hw: Replace isa_get_irq() by isa_bus_get_irq() when ISABus is available 2023-02-27 22:29:02 +01:00
char hw/char/xilinx_uartlite: Expose XILINX_UARTLITE QOM type 2023-02-27 13:27:05 +00:00
core Merge branch 'xenfv-kvm-15' of git://git.infradead.org/users/dwmw2/qemu into HEAD 2023-03-01 15:02:13 +01:00
cpu hw/cpu: Mark arm11 and realview mpcore as target-independent code 2023-01-16 17:51:20 +01:00
cris
cxl hw/cxl/cxl-host: Fix an error message typo 2023-01-17 10:02:37 +01:00
display hw/display/sm501: Add fallbacks to pixman routines 2023-02-27 22:29:02 +01:00
dma hw/isa: Rename isa_get_dma() -> isa_bus_get_dma() 2023-02-27 22:29:02 +01:00
gpio hw/gpio/max7310: Simplify max7310_realize() 2023-02-27 13:27:04 +00:00
hppa hw/isa: Rename isa_bus_irqs() -> isa_bus_register_input_irqs() 2023-02-27 22:29:02 +01:00
hyperv Fix non-first inclusions of qemu/osdep.h 2023-02-08 07:28:05 +01:00
i2c hw: Move ich9.h to southbridge/ 2023-02-27 22:29:01 +01:00
i386 hw/xen: Subsume xen_be_register_common() into xen_be_init() 2023-03-01 09:09:22 +00:00
ide hw/ide/via: Replace magic 2 value by ARRAY_SIZE / MAX_IDE_DEVS 2023-02-27 22:29:02 +01:00
input hw/input: Clean up includes 2023-02-08 07:16:23 +01:00
intc hw/intc/i8259: Document i8259_init() 2023-02-27 22:29:01 +01:00
ipack include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
ipmi include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
isa hw/rtc/mc146818rtc: Rename RTCState -> MC146818RtcState 2023-02-27 22:29:02 +01:00
loongarch Drop duplicate #include 2023-02-08 07:28:05 +01:00
m68k hw: Add compat machines for 8.0 2022-12-21 06:35:28 -05:00
mem hw/sparse-mem: clear memory on reset 2023-02-16 22:05:46 -05:00
microblaze hw/char/xilinx_uartlite: Open-code xilinx_uartlite_create() 2023-02-27 13:27:05 +00:00
mips hw/isa: Rename isa_bus_irqs() -> isa_bus_register_input_irqs() 2023-02-27 22:29:02 +01:00
misc hw/ide: Un-inline ide_set_irq() 2023-02-27 22:29:02 +01:00
net rocker: Tweak stubbed out monitor commands' error messages 2023-02-23 14:10:17 +01:00
nios2 hw/nios2: set machine->fdt in nios2_load_dtb() 2022-10-17 16:15:10 -03:00
nubus hw/nubus/nubus-device: Fix memory leak in nubus_device_realize 2023-02-27 22:29:01 +01:00
nvme hw/nvme updates 2023-01-11 16:41:13 +00:00
nvram aspeed queue: 2023-02-07 20:13:38 +00:00
openrisc openrisc: re-randomize rng-seed on reboot 2022-10-27 11:34:31 +01:00
pci hw/xen: Support MSI mapping to PIRQ 2023-03-01 09:09:22 +00:00
pci-bridge hw: Move ich9.h to southbridge/ 2023-02-27 22:29:01 +01:00
pci-host target-arm queue: 2023-02-27 14:46:00 +00:00
pcmcia
ppc hw/ppc/sam460ex: Correctly set MAL properties 2023-02-27 22:29:02 +01:00
rdma Drop duplicate #include 2023-02-08 07:28:05 +01:00
remote Drop duplicate #include 2023-02-08 07:28:05 +01:00
riscv hw/riscv/boot.c: make riscv_load_initrd() static 2023-02-16 07:55:37 -08:00
rtc hw/rtc: Rename rtc_[get|set]_memory -> mc146818rtc_[get|set]_cmos_data 2023-02-27 22:29:02 +01:00
rx rx: re-randomize rng-seed on reboot 2022-10-27 11:34:31 +01:00
s390x s390x/pv: Add support for asynchronous teardown for reboot 2023-02-27 09:15:39 +01:00
scsi Updated the FSF address to <https://www.gnu.org/licenses/> 2023-02-27 09:15:39 +01:00
sd hw/arm/omap: Drop useless casts from void * to pointer 2023-01-12 17:15:09 +00:00
sensor Do not include hw/hw.h if it is not necessary 2023-02-27 09:15:38 +01:00
sh4 hw/ide/mmio: Extract TYPE_MMIO_IDE declarations to 'hw/ide/mmio.h' 2023-02-27 22:29:02 +01:00
smbios hw/smbios: Dumb down smbios_entry_add() stub 2023-02-23 14:10:17 +01:00
sparc machine: make memory-backend a link property 2022-05-12 12:29:44 +02:00
sparc64 hw/ide: Un-inline ide_set_irq() 2023-02-27 22:29:02 +01:00
ssi hw/ssi: Add Nuvoton PSPI Module 2023-02-16 16:00:48 +00:00
timer hw/timer/hpet: Include missing 'hw/qdev-properties.h' header 2023-02-27 22:29:02 +01:00
tpm hw/tpm: Move tpm_ppi.c out of target-specific source set 2023-01-16 17:51:20 +01:00
tricore
usb hw/usb/xhci-nec: Replace container_of() by NEC_XHCI() QOM cast macro 2023-02-27 22:29:02 +01:00
vfio hw/vfio/ccw: Replace DO_UPCAST(VFIOCCWDevice) by VFIO_CCW() 2023-02-27 09:15:38 +01:00
virtio vhost-user-fs: Back up vqs before cleaning up vhost_dev 2023-02-09 10:21:11 -05:00
watchdog hw/watchdog/wdt_aspeed: Log unimplemented registers as UNIMP level 2023-02-07 09:02:05 +01:00
xen hw/xen: Subsume xen_be_register_common() into xen_be_init() 2023-03-01 09:09:22 +00:00
xenpv hw/xen: Subsume xen_be_register_common() into xen_be_init() 2023-03-01 09:09:22 +00:00
xtensa hw/xtensa: fix reset value of MIROUT register of MX PIC 2022-05-06 15:27:40 -07:00
Kconfig xen: add CONFIG_XEN_BUS and CONFIG_XEN_EMU options for Xen emulation 2023-03-01 08:22:49 +00:00
meson.build hw/loongarch: Add support loongson3 virt machine type. 2022-06-06 18:09:03 +00:00