The Hyperlaunch device tree for dom0 series is the second split out for the
introduction of the Hyperlaunch domain builder logic. These changes focus on
introducing the ability to express a domain configuration that is then used to
populate the struct boot_domain structure for dom0. This ability to express a
domain configuration provides the next step towards a general domain builder.
The splitting of Hyperlaunch into a set of series are twofold, to reduce the
effort in reviewing a much larger series, and to reduce the effort in handling
the knock-on effects to the construction logic from requested review changes.
Much thanks to AMD for supporting this work.
Documentation on Hyperlaunch:
https://wiki.xenproject.org/wiki/Hyperlaunch
Original Hyperlaunch v1 patch series:
https://lists.xenproject.org/archives/html/xen-devel/2022-07/msg00345.html
V/r,
Daniel P. Smith
Daniel P. Smith (15):
x86/boot: introduce boot domain
x86/boot: introduce domid field to struct boot_domain
x86/boot: add cmdline to struct boot_domain
kconfig: introduce option to independently enable libfdt
kconfig: introduce domain builder config option
x86/hyperlaunch: introduce the domain builder
x86/hyperlaunch: initial support for hyperlaunch device tree
x86/hyperlaunch: locate dom0 kernel with hyperlaunch
x86/hyperlaunch: obtain cmdline from device tree
x86/hyperlaunch: locate dom0 initrd with hyperlaunch
x86/hyperlaunch: add domain id parsing to domain config
x86/hyperlaunch: specify dom0 mode with device tree
x86/hyperlaunch: add memory parsing to domain config
x86/hyperlaunch: add max vcpu parsing of hyperlaunch device tree
x86/hyperlaunch: add capabilities to boot domain
xen/arch/x86/Kconfig | 2 +
xen/arch/x86/Makefile | 2 +
xen/arch/x86/dom0_build.c | 19 +-
xen/arch/x86/domain-builder/Kconfig | 15 +
xen/arch/x86/domain-builder/Makefile | 3 +
xen/arch/x86/domain-builder/core.c | 112 +++++++
xen/arch/x86/domain-builder/fdt.c | 389 +++++++++++++++++++++++
xen/arch/x86/domain-builder/fdt.h | 53 +++
xen/arch/x86/hvm/dom0_build.c | 37 +--
xen/arch/x86/include/asm/bootdomain.h | 49 +++
xen/arch/x86/include/asm/bootinfo.h | 15 +-
xen/arch/x86/include/asm/dom0_build.h | 6 +-
xen/arch/x86/include/asm/domainbuilder.h | 12 +
xen/arch/x86/include/asm/setup.h | 4 +-
xen/arch/x86/pv/dom0_build.c | 28 +-
xen/arch/x86/setup.c | 162 ++++++----
xen/common/Kconfig | 4 +
xen/common/Makefile | 2 +-
xen/include/xen/libfdt/libfdt-xen.h | 118 +++++++
19 files changed, 922 insertions(+), 110 deletions(-)
create mode 100644 xen/arch/x86/domain-builder/Kconfig
create mode 100644 xen/arch/x86/domain-builder/Makefile
create mode 100644 xen/arch/x86/domain-builder/core.c
create mode 100644 xen/arch/x86/domain-builder/fdt.c
create mode 100644 xen/arch/x86/domain-builder/fdt.h
create mode 100644 xen/arch/x86/include/asm/bootdomain.h
create mode 100644 xen/arch/x86/include/asm/domainbuilder.h
--
2.30.2