From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
This series breaks out parts of the ARM PVH support into an abstract
machine that other targets can reuse.. There's a bit of refactoring
and some bug-fixes along the way.
Finally we add a new x86 xen-pvh machine.
The corresponding changes in Xen for PVH x86 are work in progress
(by Xenia Ragiadakou). You can find a current version here:
https://github.com/edgarigl/xen/tree/edgar/virtio-pvh-upstream
I've briefly described the steps to run Xen PVH x86 guests here
(including example guest kernel config, xl.cfg and xl command-lines):
https://github.com/edgarigl/docs/blob/master/xen/pvh/xenpvh-x86.md
Cheers,
Edgar
ChangeLog:
v1 -> v2:
* Use an abstract PVH Machine to share code between arch specific
PVH machines. This allows more sharing than a using a device component.
* Add comments describing our PCI INTX support.
* Allow the PVH target specific implementation to provide PCI
INTX delivery via class methods.
* Clarify use of mc->max_cpus in comments.
* Use GUEST_MAX_VCPUS mc->max_cpus on ARM.
* Use HVM_MAX_VCPUS mc->max_cpus on x86.
* pvh-common: Directly use s->cfg. members when creating gpex.
* pvh-common: Clarify use of pci-ecam-size in comments.
* x86/xen-pvh: Create smp.max_cpus nr of dummy cores (not smp.cpus).
* x86/xen-pvh: Replace static array holding dummy cores with a dynamic one.
* Move stubbed Xen/ARM functions from hw/arm/xen_arm.c into xen-stubs.c
Edgar E. Iglesias (12):
MAINTAINERS: Add docs/system/arm/xenpvh.rst
hw/arm: xenpvh: Update file header to use SPDX
hw/arm: xenpvh: Tweak machine description
hw/arm: xenpvh: Add support for SMP guests
hw/arm: xenpvh: Remove double-negation in warning
hw/arm: xenpvh: Move stubbed functions to xen-stubs.c
hw/arm: xenpvh: Break out a common PVH machine
hw/arm: xenpvh: Rename xen_arm.c -> xen-pvh.c
hw/arm: xenpvh: Reverse virtio-mmio creation order
hw/xen: pvh-common: Add support for creating PCIe/GPEX
hw/i386/xen: Add a Xen PVH x86 machine
docs/system/i386: xenpvh: Add a basic description
MAINTAINERS | 2 +
docs/system/i386/xenpvh.rst | 49 +++++
docs/system/target-i386.rst | 1 +
hw/arm/meson.build | 5 +-
hw/arm/trace-events | 5 -
hw/arm/xen-pvh.c | 89 ++++++++
hw/arm/xen-stubs.c | 32 +++
hw/arm/xen_arm.c | 267 -----------------------
hw/i386/xen/meson.build | 1 +
hw/i386/xen/xen-pvh.c | 121 +++++++++++
hw/xen/meson.build | 1 +
hw/xen/trace-events | 4 +
hw/xen/xen-pvh-common.c | 362 ++++++++++++++++++++++++++++++++
include/hw/xen/xen-pvh-common.h | 88 ++++++++
14 files changed, 754 insertions(+), 273 deletions(-)
create mode 100644 docs/system/i386/xenpvh.rst
create mode 100644 hw/arm/xen-pvh.c
create mode 100644 hw/arm/xen-stubs.c
delete mode 100644 hw/arm/xen_arm.c
create mode 100644 hw/i386/xen/xen-pvh.c
create mode 100644 hw/xen/xen-pvh-common.c
create mode 100644 include/hw/xen/xen-pvh-common.h
--
2.43.0