[PATCH 00/15] Hyperlaunch device tree for dom0

Daniel P. Smith posted 15 patches 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20241123182044.30687-1-dpsmith@apertussolutions.com
There is a newer version of this series
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       | 109 +++++++
xen/arch/x86/domain_builder/fdt.c        | 395 +++++++++++++++++++++++
xen/arch/x86/domain_builder/fdt.h        |  94 ++++++
xen/arch/x86/hvm/dom0_build.c            |  23 +-
xen/arch/x86/include/asm/bootdomain.h    |  53 +++
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                     | 140 +++++---
xen/common/Kconfig                       |   4 +
xen/common/Makefile                      |   2 +-
18 files changed, 836 insertions(+), 90 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
[PATCH 00/15] Hyperlaunch device tree for dom0
Posted by Daniel P. Smith 1 month ago
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       | 109 +++++++
 xen/arch/x86/domain_builder/fdt.c        | 395 +++++++++++++++++++++++
 xen/arch/x86/domain_builder/fdt.h        |  94 ++++++
 xen/arch/x86/hvm/dom0_build.c            |  23 +-
 xen/arch/x86/include/asm/bootdomain.h    |  53 +++
 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                     | 140 +++++---
 xen/common/Kconfig                       |   4 +
 xen/common/Makefile                      |   2 +-
 18 files changed, 836 insertions(+), 90 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
Re: [PATCH 00/15] Hyperlaunch device tree for dom0
Posted by Jason Andryuk 1 month ago
On 2024-11-23 13:20, Daniel P. Smith wrote:
> 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.

Having gone through this, I think you want to ensure that 
docs/designs/launch/hyperlaunch-devicetree.rst is updated with each 
patch adding a property to ensure they stay in sync.

Regards,
Jason
Re: [PATCH 00/15] Hyperlaunch device tree for dom0
Posted by Daniel P. Smith 2 weeks, 1 day ago
On 11/25/24 19:11, Jason Andryuk wrote:
> On 2024-11-23 13:20, Daniel P. Smith wrote:
>> 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.
> 
> Having gone through this, I think you want to ensure that docs/designs/ 
> launch/hyperlaunch-devicetree.rst is updated with each patch adding a 
> property to ensure they stay in sync.

Ack.

v/r,
dps