qemu/hw/i386
David Woodhouse a78c54c4f9 i386/xen: Initialize Xen backends from pc_basic_device_init() for emulation
Now that all the work is done to enable the PV backends to work without
actual Xen, instantiate the bus from pc_basic_device_init() for emulated
mode.

This allows us finally to launch an emulated Xen guest with PV disk.

   qemu-system-x86_64 -serial mon:stdio -M q35 -cpu host -display none \
     -m 1G -smp 2 -accel kvm,xen-version=0x4000a,kernel-irqchip=split \
     -kernel bzImage -append "console=ttyS0 root=/dev/xvda1" \
     -drive file=/var/lib/libvirt/images/fedora28.qcow2,if=none,id=disk \
     -device xen-disk,drive=disk,vdev=xvda

If we use -M pc instead of q35, we can even add an IDE disk and boot a
guest image normally through grub. But q35 gives us AHCI and that isn't
unplugged by the Xen magic, so the guests ends up seeing "both" disks.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
2023-03-07 17:04:30 +00:00
..
kvm hw/xen: Implement soft reset for emulated gnttab 2023-03-07 17:04:30 +00:00
xen hw/xen: Rename xen_common.h to xen_native.h 2023-03-07 17:04:30 +00:00
acpi-build.c hw/i386/acpi: Drop duplicate _UID entry for CXL root bridge 2023-03-02 19:13:52 -05:00
acpi-build.h
acpi-common.c hw/acpi/acpi_dev_interface: Remove unused parameter from AcpiDeviceIfClass::madt_cpu 2023-01-27 11:47:02 -05:00
acpi-common.h
acpi-microvm.c hw/isa/isa-bus: Turn isa_build_aml() into qbus_build_aml() 2023-01-27 11:47:02 -05:00
acpi-microvm.h
amd_iommu.c KVM: remove support for kernel-irqchip=off 2023-01-06 00:51:02 +01:00
amd_iommu.h
e820_memory_layout.c hw/i386/e820: remove legacy reserved entries for e820 2022-11-02 06:56:31 -04:00
e820_memory_layout.h hw/i386/e820: remove legacy reserved entries for e820 2022-11-02 06:56:31 -04:00
fw_cfg.c hw/i386/e820: remove legacy reserved entries for e820 2022-11-02 06:56:31 -04:00
fw_cfg.h hw/i386/e820: remove legacy reserved entries for e820 2022-11-02 06:56:31 -04:00
generic_event_device_x86.c
intel_iommu_internal.h intel-iommu: PASID support 2022-11-07 14:08:17 -05:00
intel_iommu.c intel-iommu: send UNMAP notifications for domain or global inv desc 2023-03-02 19:13:52 -05:00
Kconfig xen: add CONFIG_XEN_BUS and CONFIG_XEN_EMU options for Xen emulation 2023-03-01 08:22:49 +00:00
kvmvapic.c
meson.build
microvm-dt.c
microvm-dt.h
microvm.c Revert "hw/i386: pass RNG seed via setup_data entry" 2023-03-02 03:10:46 -05:00
multiboot.c bulk: Rename TARGET_FMT_plx -> HWADDR_FMT_plx 2023-01-18 11:14:34 +01:00
multiboot.h
pc_piix.c hw/xen: Rename xen_common.h to xen_native.h 2023-03-07 17:04:30 +00:00
pc_q35.c Revert "hw/i386: pass RNG seed via setup_data entry" 2023-03-02 03:10:46 -05:00
pc_sysfw_ovmf-stubs.c
pc_sysfw_ovmf.c
pc_sysfw.c
pc.c i386/xen: Initialize Xen backends from pc_basic_device_init() for emulation 2023-03-07 17:04:30 +00:00
port92.c
sgx-epc.c
sgx-stub.c
sgx.c i386: SGX: remove deprecated member of SGXInfo 2023-01-06 00:51:02 +01:00
trace-events intel-iommu: PASID support 2022-11-07 14:08:17 -05:00
trace.h
vmmouse.c
vmport.c
x86-iommu-stub.c
x86-iommu.c
x86.c virtio,pc,pci: features, cleanups, fixes 2023-03-03 13:35:54 +00:00