[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 00/17] Get Xen PV shim running in QEMU, add net and console
From: |
David Woodhouse |
Subject: |
[PATCH v4 00/17] Get Xen PV shim running in QEMU, add net and console |
Date: |
Mon, 6 Nov 2023 14:34:50 +0000 |
The Xen PV shim requires a PV console; add that. Also update the Xen PV
network support to the new XenDevice model so that it can be used with
emulated Xen guests. Fix up the Xen block support to allow it to be used
with '-device file=IMAGE,if=xen'.
Update the documentation to reflect all of these, taking the opportunity
to simplify what it says about q35, by making unplug work for AHCI.
Ignore the VCPU_SSHOTTMR_future timer flag, and advertise the 'fixed'
per-vCPU upcall vector support, as newer upstream Xen do.
Fix a bug where net_cleanup() would remove the NIC from underneath the
emulated network devices, which doesn't work well when network devices
have their own destructors (as the Xen PV one has to, in order to clean
up the XenStore nodes).
v4:
• Drop the fixes from the start of the series, which have been sent as
a separate pull request (cc: qemu-stable):
20231106103955.200867-1-dwmw2@infradead.org/">https://lore.kernel.org/qemu-devel/20231106103955.200867-1-dwmw2@infradead.org/
• Go back to the original, more hackish, version of making `-nic` work
for Xen network. The better fix for that is not going to get through
review before the soft freeze.
• Fix the documentation so the docs can reference the '-initrd' command
line option with newer Sphinx.
• Improve the duplicate detection for Xen block devices to match all
partitions and even the same disk number on different majors.
David Woodhouse (17):
i386/xen: Ignore VCPU_SSHOTTMR_future flag in set_singleshot_timer()
hw/xen: Clean up event channel 'type_val' handling to use union
include: update Xen public headers to Xen 4.17.2 release
i386/xen: advertise XEN_HVM_CPUID_UPCALL_VECTOR in CPUID
hw/xen: populate store frontend nodes with XenStore PFN/port
hw/xen: automatically assign device index to block devices
hw/xen: add get_frontend_path() method to XenDeviceClass
hw/xen: do not repeatedly try to create a failing backend device
hw/xen: update Xen console to XenDevice model
hw/xen: add support for Xen primary console in emulated mode
hw/xen: only remove peers of PCI NICs on unplug
hw/xen: update Xen PV NIC to XenDevice model
hw/i386/pc: support '-nic' for xen-net-device
net: do not delete nics in net_cleanup()
xen-platform: unplug AHCI disks
doc/sphinx/hxtool.py: add optional label argument to SRST directive
docs: update Xen-on-KVM documentation
MAINTAINERS | 2 +-
blockdev.c | 15 +-
docs/sphinx/hxtool.py | 18 +-
docs/system/i386/xen.rst | 107 +++--
docs/system/invocation.rst | 1 +
hw/block/xen-block.c | 118 ++++-
hw/char/trace-events | 8 +
hw/char/xen_console.c | 572 +++++++++++++++++++------
hw/i386/kvm/meson.build | 1 +
hw/i386/kvm/trace-events | 2 +
hw/i386/kvm/xen-stubs.c | 8 +
hw/i386/kvm/xen_evtchn.c | 151 +++----
hw/i386/kvm/xen_gnttab.c | 7 +-
hw/i386/kvm/xen_primary_console.c | 193 +++++++++
hw/i386/kvm/xen_primary_console.h | 23 +
hw/i386/kvm/xen_xenstore.c | 23 +-
hw/i386/pc.c | 11 +-
hw/i386/pc_piix.c | 2 +-
hw/i386/pc_q35.c | 2 +-
hw/i386/xen/xen_platform.c | 77 ++--
hw/net/meson.build | 2 +-
hw/net/trace-events | 11 +
hw/net/xen_nic.c | 484 ++++++++++++++++-----
hw/xen/xen-backend.c | 27 +-
hw/xen/xen-bus.c | 23 +-
hw/xen/xen-legacy-backend.c | 1 -
hw/xen/xen_devconfig.c | 28 --
hw/xenpv/xen_machine_pv.c | 10 -
include/hw/i386/pc.h | 4 +-
include/hw/xen/interface/arch-arm.h | 37 +-
include/hw/xen/interface/arch-x86/cpuid.h | 31 +-
include/hw/xen/interface/arch-x86/xen-x86_32.h | 19 +-
include/hw/xen/interface/arch-x86/xen-x86_64.h | 19 +-
include/hw/xen/interface/arch-x86/xen.h | 26 +-
include/hw/xen/interface/event_channel.h | 19 +-
include/hw/xen/interface/features.h | 19 +-
include/hw/xen/interface/grant_table.h | 19 +-
include/hw/xen/interface/hvm/hvm_op.h | 19 +-
include/hw/xen/interface/hvm/params.h | 19 +-
include/hw/xen/interface/io/blkif.h | 27 +-
include/hw/xen/interface/io/console.h | 19 +-
include/hw/xen/interface/io/fbif.h | 19 +-
include/hw/xen/interface/io/kbdif.h | 19 +-
include/hw/xen/interface/io/netif.h | 25 +-
include/hw/xen/interface/io/protocols.h | 19 +-
include/hw/xen/interface/io/ring.h | 49 +--
include/hw/xen/interface/io/usbif.h | 19 +-
include/hw/xen/interface/io/xenbus.h | 19 +-
include/hw/xen/interface/io/xs_wire.h | 36 +-
include/hw/xen/interface/memory.h | 30 +-
include/hw/xen/interface/physdev.h | 23 +-
include/hw/xen/interface/sched.h | 19 +-
include/hw/xen/interface/trace.h | 19 +-
include/hw/xen/interface/vcpu.h | 19 +-
include/hw/xen/interface/version.h | 19 +-
include/hw/xen/interface/xen-compat.h | 19 +-
include/hw/xen/interface/xen.h | 19 +-
include/hw/xen/xen-backend.h | 1 +
include/hw/xen/xen-bus.h | 5 +-
include/hw/xen/xen-legacy-backend.h | 1 -
net/net.c | 28 +-
qemu-options.hx | 14 +-
target/i386/kvm/kvm.c | 4 +
target/i386/kvm/xen-emu.c | 43 +-
64 files changed, 1681 insertions(+), 991 deletions(-)
- [PATCH v4 00/17] Get Xen PV shim running in QEMU, add net and console,
David Woodhouse <=
- [PATCH v4 01/17] i386/xen: Ignore VCPU_SSHOTTMR_future flag in set_singleshot_timer(), David Woodhouse, 2023/11/06
- [PATCH v4 04/17] i386/xen: advertise XEN_HVM_CPUID_UPCALL_VECTOR in CPUID, David Woodhouse, 2023/11/06
- [PATCH v4 02/17] hw/xen: Clean up event channel 'type_val' handling to use union, David Woodhouse, 2023/11/06
- [PATCH v4 03/17] include: update Xen public headers to Xen 4.17.2 release, David Woodhouse, 2023/11/06
- [PATCH v4 05/17] hw/xen: populate store frontend nodes with XenStore PFN/port, David Woodhouse, 2023/11/06
- [PATCH v4 06/17] hw/xen: automatically assign device index to block devices, David Woodhouse, 2023/11/06
- [PATCH v4 09/17] hw/xen: update Xen console to XenDevice model, David Woodhouse, 2023/11/06
- [PATCH v4 07/17] hw/xen: add get_frontend_path() method to XenDeviceClass, David Woodhouse, 2023/11/06
- [PATCH v4 10/17] hw/xen: add support for Xen primary console in emulated mode, David Woodhouse, 2023/11/06