The following changes since commit 627634031092e1514f363fd8659a579398de0f0e:
Merge tag 'buildsys-qom-qdev-ui-20230227' of https://github.com/philmd/qemu into staging (2023-02-28 15:09:18 +0000) are available in the Git repository at: https://gitlab.com/bonzini/qemu.git tags/for-upstream for you to fetch changes up to 526947e496e4447d74b8d42415e2847481c5043d: Merge branch 'xenfv-kvm-15' of git://git.infradead.org/users/dwmw2/qemu into HEAD (2023-03-01 15:02:13 +0100) ---------------------------------------------------------------- * bugfixes * Core Xen emulation support for KVM/x86 ---------------------------------------------------------------- Ankur Arora (2): i386/xen: implement HVMOP_set_evtchn_upcall_vector i386/xen: implement HVMOP_set_param David Woodhouse (40): xen: add CONFIG_XEN_BUS and CONFIG_XEN_EMU options for Xen emulation xen: Add XEN_DISABLED mode and make it default i386/kvm: Add xen-version KVM accelerator property and init KVM Xen support i386/kvm: Set Xen vCPU ID in KVM i386/xen: Implement SCHEDOP_poll and SCHEDOP_yield hw/xen: Add xen_overlay device for emulating shared xenheap pages i386/xen: add pc_machine_kvm_type to initialize XEN_EMULATE mode i386/xen: manage and save/restore Xen guest long_mode setting i386/xen: implement XENMEM_add_to_physmap_batch hw/xen: Add xen_evtchn device for event channel emulation i386/xen: Add support for Xen event channel delivery to vCPU hw/xen: Implement EVTCHNOP_status hw/xen: Implement EVTCHNOP_close hw/xen: Implement EVTCHNOP_unmask hw/xen: Implement EVTCHNOP_bind_virq hw/xen: Implement EVTCHNOP_bind_ipi hw/xen: Implement EVTCHNOP_send hw/xen: Implement EVTCHNOP_alloc_unbound hw/xen: Implement EVTCHNOP_bind_interdomain hw/xen: Implement EVTCHNOP_bind_vcpu hw/xen: Implement EVTCHNOP_reset hw/xen: Support HVM_PARAM_CALLBACK_TYPE_GSI callback hw/xen: Support HVM_PARAM_CALLBACK_TYPE_PCI_INTX callback kvm/i386: Add xen-gnttab-max-frames property hw/xen: Add xen_gnttab device for grant table emulation hw/xen: Support mapping grant frames i386/xen: Implement HYPERVISOR_grant_table_op and GNTTABOP_[gs]et_verson hw/xen: Implement GNTTABOP_query_size i386/xen: Reserve Xen special pages for console, xenstore rings hw/xen: Add backend implementation of interdomain event channel support hw/xen: Add xen_xenstore device for xenstore emulation hw/xen: Add basic ring handling to xenstore hw/xen: Automatically add xen-platform PCI device for emulated Xen guests i386/xen: Implement HYPERVISOR_physdev_op hw/xen: Implement emulated PIRQ hypercall support hw/xen: Support GSI mapping to PIRQ hw/xen: Support MSI mapping to PIRQ kvm/i386: Add xen-evtchn-max-pirq property i386/xen: Document Xen HVM emulation hw/xen: Subsume xen_be_register_common() into xen_be_init() Joao Martins (17): include: import Xen public headers to hw/xen/interface i386/kvm: handle Xen HVM cpuid leaves xen-platform: exclude vfio-pci from the PCI platform unplug xen-platform: allow its creation with XEN_EMULATE mode i386/xen: handle guest hypercalls i386/xen: implement HYPERVISOR_xen_version i386/xen: implement HYPERVISOR_sched_op, SCHEDOP_shutdown i386/xen: implement HYPERVISOR_memory_op i386/xen: implement HYPERVISOR_hvm_op i386/xen: implement HYPERVISOR_vcpu_op i386/xen: handle VCPUOP_register_vcpu_info i386/xen: handle VCPUOP_register_vcpu_time_info i386/xen: handle VCPUOP_register_runstate_memory_area i386/xen: implement HYPERVISOR_event_channel_op i386/xen: add monitor commands to test event injection i386/xen: handle PV timer hypercalls i386/xen: handle HVMOP_get_param Juan Quintela (1): Makefile: qemu-bundle is a directory Paolo Bonzini (1): Merge branch 'xenfv-kvm-15' of git://git.infradead.org/users/dwmw2/qemu into HEAD Paul Durrant (1): xen: Permit --xen-domid argument when accel is KVM Peter Krempa (1): qapi: Add 'acpi' field to 'query-machines' output Makefile | 4 +- accel/kvm/kvm-all.c | 3 + accel/xen/xen-all.c | 2 + docs/system/i386/xen.rst | 76 + docs/system/target-i386.rst | 1 + hmp-commands.hx | 29 + hw/Kconfig | 1 + hw/core/machine-qmp-cmds.c | 1 + hw/i386/Kconfig | 5 + hw/i386/kvm/meson.build | 13 + hw/i386/kvm/trace-events | 5 + hw/i386/kvm/trace.h | 1 + hw/i386/kvm/xen-stubs.c | 44 + hw/i386/kvm/xen_evtchn.c | 2341 ++++++++++++++++++++++++ hw/i386/kvm/xen_evtchn.h | 88 + hw/i386/kvm/xen_gnttab.c | 232 +++ hw/i386/kvm/xen_gnttab.h | 25 + hw/i386/kvm/xen_overlay.c | 272 +++ hw/i386/kvm/xen_overlay.h | 26 + hw/i386/kvm/xen_xenstore.c | 500 +++++ hw/i386/kvm/xen_xenstore.h | 20 + hw/i386/pc.c | 26 + hw/i386/x86.c | 16 + hw/i386/xen/meson.build | 5 +- hw/i386/xen/xen-hvm.c | 8 +- hw/i386/xen/xen_platform.c | 57 +- hw/pci/msi.c | 11 + hw/pci/msix.c | 9 + hw/pci/pci.c | 17 + hw/xen/Kconfig | 3 + hw/xen/xen-legacy-backend.c | 56 +- hw/xenpv/xen_machine_pv.c | 6 +- include/hw/i386/pc.h | 3 + include/hw/pci/msi.h | 1 + include/hw/xen/interface/arch-arm.h | 510 ++++++ include/hw/xen/interface/arch-x86/cpuid.h | 118 ++ include/hw/xen/interface/arch-x86/xen-x86_32.h | 194 ++ include/hw/xen/interface/arch-x86/xen-x86_64.h | 241 +++ include/hw/xen/interface/arch-x86/xen.h | 398 ++++ include/hw/xen/interface/event_channel.h | 388 ++++ include/hw/xen/interface/features.h | 143 ++ include/hw/xen/interface/grant_table.h | 650 +++++++ include/hw/xen/interface/hvm/hvm_op.h | 395 ++++ include/hw/xen/interface/hvm/params.h | 318 ++++ include/hw/xen/interface/io/blkif.h | 14 +- include/hw/xen/interface/io/console.h | 10 + include/hw/xen/interface/io/fbif.h | 20 + include/hw/xen/interface/io/kbdif.h | 10 + include/hw/xen/interface/io/netif.h | 94 +- include/hw/xen/interface/io/ring.h | 99 +- include/hw/xen/interface/io/usbif.h | 353 +++- include/hw/xen/interface/io/xenbus.h | 10 + include/hw/xen/interface/io/xs_wire.h | 153 ++ include/hw/xen/interface/memory.h | 754 ++++++++ include/hw/xen/interface/physdev.h | 383 ++++ include/hw/xen/interface/sched.h | 202 ++ include/hw/xen/interface/trace.h | 341 ++++ include/hw/xen/interface/vcpu.h | 248 +++ include/hw/xen/interface/version.h | 113 ++ include/hw/xen/interface/xen-compat.h | 46 + include/hw/xen/interface/xen.h | 1049 +++++++++++ include/hw/xen/xen-legacy-backend.h | 3 +- include/hw/xen/xen.h | 21 +- include/monitor/hmp.h | 2 + include/sysemu/kvm_int.h | 4 + include/sysemu/kvm_xen.h | 43 + meson.build | 2 + qapi/machine.json | 4 +- qapi/misc-target.json | 116 ++ softmmu/globals.c | 2 +- softmmu/vl.c | 2 +- target/i386/cpu.c | 1 + target/i386/cpu.h | 19 + target/i386/kvm/kvm.c | 259 ++- target/i386/kvm/kvm_i386.h | 2 + target/i386/kvm/meson.build | 2 + target/i386/kvm/trace-events | 7 + target/i386/kvm/xen-compat.h | 70 + target/i386/kvm/xen-emu.c | 1897 +++++++++++++++++++ target/i386/kvm/xen-emu.h | 33 + target/i386/machine.c | 25 + tests/qtest/qmp-cmd-test.c | 1 + 82 files changed, 13465 insertions(+), 211 deletions(-) create mode 100644 docs/system/i386/xen.rst create mode 100644 hw/i386/kvm/trace-events create mode 100644 hw/i386/kvm/trace.h create mode 100644 hw/i386/kvm/xen-stubs.c create mode 100644 hw/i386/kvm/xen_evtchn.c create mode 100644 hw/i386/kvm/xen_evtchn.h create mode 100644 hw/i386/kvm/xen_gnttab.c create mode 100644 hw/i386/kvm/xen_gnttab.h create mode 100644 hw/i386/kvm/xen_overlay.c create mode 100644 hw/i386/kvm/xen_overlay.h create mode 100644 hw/i386/kvm/xen_xenstore.c create mode 100644 hw/i386/kvm/xen_xenstore.h create mode 100644 hw/xen/Kconfig create mode 100644 include/hw/xen/interface/arch-arm.h create mode 100644 include/hw/xen/interface/arch-x86/cpuid.h create mode 100644 include/hw/xen/interface/arch-x86/xen-x86_32.h create mode 100644 include/hw/xen/interface/arch-x86/xen-x86_64.h create mode 100644 include/hw/xen/interface/arch-x86/xen.h create mode 100644 include/hw/xen/interface/event_channel.h create mode 100644 include/hw/xen/interface/features.h create mode 100644 include/hw/xen/interface/hvm/hvm_op.h create mode 100644 include/hw/xen/interface/hvm/params.h create mode 100644 include/hw/xen/interface/io/xs_wire.h create mode 100644 include/hw/xen/interface/memory.h create mode 100644 include/hw/xen/interface/physdev.h create mode 100644 include/hw/xen/interface/sched.h create mode 100644 include/hw/xen/interface/trace.h create mode 100644 include/hw/xen/interface/vcpu.h create mode 100644 include/hw/xen/interface/version.h create mode 100644 include/hw/xen/interface/xen-compat.h create mode 100644 include/hw/xen/interface/xen.h create mode 100644 include/sysemu/kvm_xen.h create mode 100644 target/i386/kvm/xen-compat.h create mode 100644 target/i386/kvm/xen-emu.c create mode 100644 target/i386/kvm/xen-emu.h -- 2.39.1