From: "Alex Bennée" <alex.bennee@linaro.org>
To: qemu-devel@nongnu.org
Cc: julien@xen.org, masami.hiramatsu@linaro.org,
andre.przywara@arm.com, stefano.stabellini@linaro.org,
takahiro.akashi@linaro.org, stefano.stabellini@xilinx.com,
"Alex Bennée" <alex.bennee@linaro.org>,
stratos-dev@op-lists.linaro.org
Subject: [RFC PATCH 00/15] Xen guest-loader and arm64 build fixes/enhancements
Date: Thu, 5 Nov 2020 17:51:38 +0000 [thread overview]
Message-ID: <20201105175153.30489-1-alex.bennee@linaro.org> (raw)
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
next reply other threads:[~2020-11-05 17:56 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-05 17:51 Alex Bennée [this message]
2020-11-05 17:51 ` [RFC PATCH 01/15] hw/board: promote fdt from ARM VirtMachineState to MachineState Alex Bennée
2020-11-05 19:27 ` Philippe Mathieu-Daudé
2020-11-05 20:37 ` Alex Bennée
2020-11-05 17:51 ` [RFC PATCH 02/15] hw/riscv: migrate fdt field to generic MachineState Alex Bennée
2020-11-05 19:24 ` Philippe Mathieu-Daudé
2020-11-06 3:15 ` Bin Meng
2020-11-06 10:21 ` Alex Bennée
2020-11-06 11:32 ` Bin Meng
2020-11-05 17:51 ` [RFC PATCH 03/15] device_tree: add qemu_fdt_setprop_string_array helper Alex Bennée
2020-11-05 17:51 ` [RFC PATCH 04/15] hw/core: implement a guest-loader to support static hypervisor guests Alex Bennée
2020-11-05 17:51 ` [RFC PATCH 05/15] docs: move generic-loader documentation into the main manual Alex Bennée
2020-11-05 17:51 ` [RFC PATCH 06/15] docs: add some documentation for the guest-loader Alex Bennée
2020-11-19 20:06 ` Alistair Francis
2020-11-19 20:58 ` Peter Maydell
2020-11-05 17:51 ` [RFC PATCH 07/15] accel/meson: you only need accelerator stubs for softmmu builds Alex Bennée
2020-11-05 18:18 ` Philippe Mathieu-Daudé
2020-11-05 17:51 ` [RFC PATCH 08/15] meson.build: fix building of Xen support for aarch64 Alex Bennée
2020-11-05 18:20 ` Philippe Mathieu-Daudé
2020-11-05 17:51 ` [RFC PATCH 09/15] meson.build: introduce CONFIG_XEN_HVM flag Alex Bennée
2020-11-05 18:21 ` Philippe Mathieu-Daudé
2020-11-05 18:47 ` Philippe Mathieu-Daudé
2020-11-05 17:51 ` [RFC PATCH 10/15] meson.build: clean-up summary reporting of XEN and it's features Alex Bennée
2020-11-05 19:11 ` Philippe Mathieu-Daudé
2020-11-05 17:51 ` [RFC PATCH 11/15] include/hw/xen.h: drop superfluous struct Alex Bennée
2020-11-05 19:15 ` Philippe Mathieu-Daudé
2020-11-05 17:51 ` [RFC PATCH 12/15] stubs/xen-hw-stub: drop xenstore_store_pv_console_info stub Alex Bennée
2020-11-05 19:20 ` Philippe Mathieu-Daudé
2020-11-06 10:27 ` Alex Bennée
2020-11-05 17:51 ` [RFC PATCH 13/15] accel/stubs: drop unused cpu.h include Alex Bennée
2020-11-05 19:20 ` Philippe Mathieu-Daudé
2020-11-05 17:51 ` [RFC PATCH 14/15] xen: only build HVM support under CONFIG_XEN_HVM Alex Bennée
2020-11-05 17:51 ` [RFC PATCH 15/15] meson.build: build a Xen aware qemu-aarch64-system Alex Bennée
2020-11-05 18:15 ` [RFC PATCH 00/15] Xen guest-loader and arm64 build fixes/enhancements no-reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201105175153.30489-1-alex.bennee@linaro.org \
--to=alex.bennee@linaro.org \
--cc=andre.przywara@arm.com \
--cc=julien@xen.org \
--cc=masami.hiramatsu@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=stefano.stabellini@linaro.org \
--cc=stefano.stabellini@xilinx.com \
--cc=stratos-dev@op-lists.linaro.org \
--cc=takahiro.akashi@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).