Hi,
These patches have been sitting around as part of a larger series to
improve the support of Xen on AArch64. The second part of the work is
currently awaiting other re-factoring and build work to go in to make
the building of a pure-Xen capable QEMU easier. As that might take
some time and these patches are essentially ready I thought I'd best
push for merging them.
There are no fundamental changes since the last revision. I've
addressed most of the comments although I haven't expanded the use of
the global *fdt to other device models. I figured that work could be
done as and when models have support for type-1 hypervisors.
I have added some documentation to describe the feature and added an
acceptance tests which checks the various versions of Xen can boot.
The only minor wrinkle is using a custom compiled Linux kernel due to
missing support in the distro kernels. If anyone can suggest a distro
which is currently well supported for Xen on AArch64 I can update the
test.
The following patches still need review:
- tests/avocado: add boot_xen tests
- docs: add some documentation for the guest-loader
- docs: move generic-loader documentation into the main manual
- hw/core: implement a guest-loader to support static hypervisor guests
Alex Bennée (7):
hw/board: promote fdt from ARM VirtMachineState to MachineState
hw/riscv: migrate fdt field to generic MachineState
device_tree: add qemu_fdt_setprop_string_array helper
hw/core: implement a guest-loader to support static hypervisor guests
docs: move generic-loader documentation into the main manual
docs: add some documentation for the guest-loader
tests/avocado: add boot_xen tests
docs/generic-loader.txt | 92 ---------
docs/system/generic-loader.rst | 117 +++++++++++
docs/system/guest-loader.rst | 54 +++++
docs/system/index.rst | 2 +
hw/core/guest-loader.h | 34 ++++
include/hw/arm/virt.h | 1 -
include/hw/boards.h | 1 +
include/hw/riscv/virt.h | 1 -
include/sysemu/device_tree.h | 17 ++
hw/arm/virt.c | 356 +++++++++++++++++----------------
hw/core/guest-loader.c | 145 ++++++++++++++
hw/riscv/virt.c | 20 +-
softmmu/device_tree.c | 26 +++
MAINTAINERS | 9 +-
hw/core/meson.build | 2 +
tests/acceptance/boot_xen.py | 117 +++++++++++
16 files changed, 718 insertions(+), 276 deletions(-)
delete mode 100644 docs/generic-loader.txt
create mode 100644 docs/system/generic-loader.rst
create mode 100644 docs/system/guest-loader.rst
create mode 100644 hw/core/guest-loader.h
create mode 100644 hw/core/guest-loader.c
create mode 100644 tests/acceptance/boot_xen.py
--
2.20.1