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

[RFC 00/38] Hyperlaunch domain builder


  • To: xen-devel@xxxxxxxxxxxxxxxxxxxx
  • From: "Daniel P. Smith" <dpsmith@xxxxxxxxxxxxxxxxxxxx>
  • Date: Sat, 19 Apr 2025 18:07:42 -0400
  • Arc-authentication-results: i=1; mx.zohomail.com; dkim=pass header.i=apertussolutions.com; spf=pass smtp.mailfrom=dpsmith@xxxxxxxxxxxxxxxxxxxx; dmarc=pass header.from=<dpsmith@xxxxxxxxxxxxxxxxxxxx>
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745100512; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To; bh=NzmQ6uolA8E5w5U/XEFdVN2iE4YPjBizc0u4UT10BuI=; b=MmQn+SO5FNcY1qNOsYUujRgjATfSneLSIVBaBEww3x5k+n7/nm2GOhaarbNCKOTYUjBSv5O6zoyjBPG3JKAdcSCOcayh67xfqUtN0XLEq5qfdK18+pGvtSKy7F3AelksdzZy4bv29MRK26C3hyhyxKfCEUvRKwluw1gwC1ehZSw=
  • Arc-seal: i=1; a=rsa-sha256; t=1745100512; cv=none; d=zohomail.com; s=zohoarc; b=KY9xIV6D1qIKDm7tQZZ3DwwdQxIbJaMpxrUzWQFBWf4ZuRI0DD6mYBa7SuyxRlcfpsTb78z5XVGIxgHht1d/3pzPav8m/3OGzBYwBNSt7kbzl0b5/fVL2ng1ZqNIoTWgt7QJ7D3JCo1azGDxvu4teS6oN+c8+BHisBRHwqyk998=
  • Cc: "Daniel P. Smith" <dpsmith@xxxxxxxxxxxxxxxxxxxx>, jason.andryuk@xxxxxxx, christopher.w.clark@xxxxxxxxx, stefano.stabellini@xxxxxxx, agarciav@xxxxxxx
  • Delivery-date: Sat, 19 Apr 2025 22:09:12 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

NOTE: Sending this series as an RFC as it is a follow-on to the hyperlaunch
dom0 device tree series going through rounds of review right now. This specific
iteration is based off of v3 with the exception of one fix found here and
already incorporated into v4.

The Hyperlaunch domain builder series is the third split out for the
introduction of the Hyperlaunch domain builder logic. These changes focus on
introducing the ability to create multiple PVH domains at boot. The definition
for those domains will come from the Device Tree capability introduced in the
dom0 device tree series.

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 (38):
  maintainers: add new section for hyperlaunch
  x86/hyperlaunch: correct the naming of domain ramdisk field
  x86/hyperlaunch: convert max vcpu determination to domain builder
  x86/hyperlaunch: convert vcpu0 creation to domain builder
  x86/hyperlaunch: move dom0 cpuid policy behind capability check
  x86/hyperlaunch: add hardware domain capability support
  x86/hyperlaunch: introduce pvh domain builder
  x86/hyperlaunch: move initial hwdom setup to dom_construct_pvh
  x86/boot: convert dom0 page calculation to use boot domain
  x86/boot: refactor dom0 page calculation
  x86/boot: generalize paging pages calculation
  x86/boot: generalize compute number of domain pages
  x86/hyperlaunch: move page computation to domain builder
  x86/hyperlaunch: move pvh p2m init to domain builder
  x86/hyperlaunch: move iommu init to domain builder
  x86/boot: move and rename sched_setup_dom0_vcpus
  x86/hyperlaunch: move pvh_setup_cpus to domain builder
  x86/boot: rename pvh acpi setup function
  x86/hyperlaunch: add domu memory map construction
  x86/hyperlaunch: move populating p2m under domain builder
  x86/hyperlaunch: move remaining pvh dom0 construction
  x86/hyperlaunch: relocate pvh_steal_ram to domain builder
  x86/hyperlaunch: add domu acpi construction
  x86/boot: export command line processing
  x86/hyperlaunch: convert create_dom0 to arch_create_dom
  x86/hyperlaunch: remove dom0-isms from arch_create_dom
  x86/hyperlaunch: introduce domain builder general dom creation
  x86/hyperlaunch: add xenstore boot capabilities flag
  x86/hyperlaunch: allocate console for domu
  x86/hyperlaunch: allocate xenstore for domu
  x86/hyperlaunch: move boot module discard to domain builder
  x86/hyperlaunch: introduce concept of core domains
  x86/boot: refactor bzimage parser to be re-enterant
  x86/hyperlaunch: introduce multidomain kconfig option
  x86/hyperlaunch: add multidomain construction logic
  x86/hyperlaunch: enable unpausing mulitple domains
  x86/hyperlaunch: generalize domid assignment
  tools: introduce hyperlaunch domain late init

 .gitignore                                |    1 +
 MAINTAINERS                               |    9 +
 tools/helpers/Makefile                    |   12 +
 tools/helpers/late-init-domains.c         |  364 +++++++
 tools/helpers/late-init-domains.h         |   18 +
 tools/helpers/xs-helpers.c                |  117 +++
 tools/helpers/xs-helpers.h                |   26 +
 xen/arch/x86/bzimage.c                    |   38 +-
 xen/arch/x86/dom0_build.c                 |  120 +--
 xen/arch/x86/domain-builder/Kconfig       |   12 +
 xen/arch/x86/domain-builder/Makefile      |    1 +
 xen/arch/x86/domain-builder/core.c        |  127 ++-
 xen/arch/x86/domain-builder/domain.c      |  421 ++++++++
 xen/arch/x86/domain-builder/fdt.c         |   37 +-
 xen/arch/x86/hvm/Makefile                 |    1 +
 xen/arch/x86/hvm/dom0_build.c             |  600 +-----------
 xen/arch/x86/hvm/dom_build.c              | 1063 +++++++++++++++++++++
 xen/arch/x86/include/asm/boot-domain.h    |   21 +-
 xen/arch/x86/include/asm/bootinfo.h       |   28 +-
 xen/arch/x86/include/asm/bzimage.h        |    5 +-
 xen/arch/x86/include/asm/dom0_build.h     |   19 +-
 xen/arch/x86/include/asm/domain-builder.h |   29 +
 xen/arch/x86/include/asm/setup.h          |    4 +-
 xen/arch/x86/pv/dom0_build.c              |   19 +-
 xen/arch/x86/setup.c                      |  207 +---
 xen/common/sched/core.c                   |   12 -
 xen/include/xen/sched.h                   |    1 -
 27 files changed, 2412 insertions(+), 900 deletions(-)
 create mode 100644 tools/helpers/late-init-domains.c
 create mode 100644 tools/helpers/late-init-domains.h
 create mode 100644 tools/helpers/xs-helpers.c
 create mode 100644 tools/helpers/xs-helpers.h
 create mode 100644 xen/arch/x86/domain-builder/domain.c
 create mode 100644 xen/arch/x86/hvm/dom_build.c

-- 
2.30.2




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.