qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RFC PATCH 00/15] Xen guest-loader and arm64 build fixes/enhancements


From: Alex Bennée
Subject: [RFC PATCH 00/15] Xen guest-loader and arm64 build fixes/enhancements
Date: Thu, 5 Nov 2020 17:51:38 +0000

Hi,

There are two parts to this series, broadly related because they are
all to do with Xen. The first half is a re-spin of the guest-loader
patches from a few weeks ago. The only changes are to move the
generic-loader documentation into the manual and then add some words
about the guest-loader.

The second half of the series is an attempt to fix and then clean up
the handling of Xen enabled builds. Recent changes to the build system
broke the ability to build qemu-system-i386 on arm64 hosts with Xen
support enabled. The actual fix for that:

  meson.build: fix building of Xen support for aarch64

should probably be rolled into the current release as it fixes a
regression. The rest can wait until the tree re-opens. The patches
broadly try to:

  - clean-up detection and reporting
  - be more explicit about linking stubs for accel
  - add an explicit CONFIG_XEN_HVM for x86

and finally allow you to build a qemu-system-aarch64 with Xen support.

This is my first major foray into tweaking meson builds and it seems
to occasionally come unstuck and requires a distclean and re-configure
to un-wedge itself. The following need review:

  - meson.build: build a Xen aware qemu-aarch64-system
  - xen: only build HVM support under CONFIG_XEN_HVM
  - accel/stubs: drop unused cpu.h include
  - stubs/xen-hw-stub: drop xenstore_store_pv_console_info stub
  - include/hw/xen.h: drop superfluous struct
  - meson.build: clean-up summary reporting of XEN and it's features
  - meson.build: introduce CONFIG_XEN_HVM flag
  - meson.build: fix building of Xen support for aarch64
  - accel/meson: you only need accelerator stubs for softmmu builds
  - docs: add some documentation for the guest-loader
  - docs: move generic-loader documentation into the main manual


Alex Bennée (15):
  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
  accel/meson: you only need accelerator stubs for softmmu builds
  meson.build: fix building of Xen support for aarch64
  meson.build: introduce CONFIG_XEN_HVM flag
  meson.build: clean-up summary reporting of XEN and it's features
  include/hw/xen.h: drop superfluous struct
  stubs/xen-hw-stub: drop xenstore_store_pv_console_info stub
  accel/stubs: drop unused cpu.h include
  xen: only build HVM support under CONFIG_XEN_HVM
  meson.build: build a Xen aware qemu-aarch64-system

 docs/generic-loader.txt        |  92 ----------
 docs/system/generic-loader.rst | 117 ++++++++++++
 docs/system/guest-loader.rst   |  54 ++++++
 docs/system/index.rst          |   2 +
 meson.build                    |  24 ++-
 hw/core/guest-loader.h         |  34 ++++
 include/hw/arm/virt.h          |   1 -
 include/hw/boards.h            |   1 +
 include/hw/riscv/virt.h        |   1 -
 include/hw/xen/xen.h           |   2 +-
 include/sysemu/device_tree.h   |  17 ++
 include/sysemu/xen-mapcache.h  |   2 +-
 include/sysemu/xen.h           |   9 +-
 accel/stubs/hax-stub.c         |   1 -
 accel/stubs/xen-all-stub.c     |  11 ++
 accel/stubs/xen-stub.c         |   2 -
 hw/arm/virt.c                  | 322 +++++++++++++++++----------------
 hw/core/guest-loader.c         | 140 ++++++++++++++
 hw/riscv/virt.c                |  20 +-
 softmmu/device_tree.c          |  26 +++
 stubs/xen-hw-stub.c            |   4 -
 accel/Kconfig                  |   3 +
 accel/meson.build              |   4 +-
 accel/stubs/meson.build        |  13 +-
 hw/core/meson.build            |   2 +
 hw/i386/xen/meson.build        |   2 +-
 26 files changed, 627 insertions(+), 279 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 accel/stubs/xen-all-stub.c
 create mode 100644 hw/core/guest-loader.c

-- 
2.20.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]