All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 00/18] Hyperlaunch
@ 2022-07-06 21:04 Daniel P. Smith
  2022-07-06 21:04 ` [PATCH v1 01/18] kconfig: allow configuration of maximum modules Daniel P. Smith
                   ` (18 more replies)
  0 siblings, 19 replies; 66+ messages in thread
From: Daniel P. Smith @ 2022-07-06 21:04 UTC (permalink / raw)
  To: xen-devel; +Cc: Daniel P. Smith, scott.davis, christopher.clark

This work being submitted in this series was made possible with a great thanks
to Star Lab Cop ration and their generous funding of this project.

The patch series is based on the existing xsm series for starting the idle
domain privileged. After that, the first four commits were previously submitted
as an RFC and expanded by an additional commit to refactor xen commandline
handling. The remaining preliminary patches are FDT refactoring and a doc
update. From there is where the series begins to  morph x86 arch to support
building multiple domains at boot.

This series has been fairly well tested using qemu with a multiboot1 bootoader
and under EFI + GRUB multiboot2 boot. While there are likely some rough spots
remaining in the series, it is at a point now where the series should be reviewed,
exercised, and tested for consideration into tree.

Information, including docuemntation, meeting minutes, presentations, and past
series postings can be found on the Xen wiki:

https://wiki.xenproject.org/wiki/Hyperlaunch

Daniel P. Smith (18):
  kconfig: allow configuration of maximum modules
  introduction of generalized boot info
  x86: adopt new boot info structures
  x86: refactor entrypoints to new boot info
  x86: refactor xen cmdline into general framework
  fdt: make fdt handling reusable across arch
  docs: update hyperlaunch device tree documentation
  kconfig: introduce domain builder config option
  x86: introduce abstractions for domain builder
  x86: introduce the domain builder
  x86: initial conversion to domain builder
  x86: convert dom0 creation to domain builder
  x86: generalize physmap logic
  x86: generalize vcpu for domain building
  x86: rework domain page allocation
  x86: add pv multidomain construction
  builder: introduce domain builder hypfs tree
  tools: introduce example late pv helper

 .gitignore                                    |   1 +
 .../designs/launch/hyperlaunch-devicetree.rst | 497 +++++++++++-------
 tools/helpers/Makefile                        |  11 +
 tools/helpers/builder-hypfs.c                 | 253 +++++++++
 tools/helpers/hypfs-helpers.h                 |   9 +
 tools/helpers/late-init-pv.c                  | 287 ++++++++++
 tools/helpers/late-init-pv.h                  |  29 +
 tools/helpers/xs-helpers.c                    | 117 +++++
 tools/helpers/xs-helpers.h                    |  27 +
 xen/arch/Kconfig                              |  12 +
 xen/arch/arm/bootfdt.c                        | 115 +---
 xen/arch/arm/include/asm/setup.h              |   5 +-
 xen/arch/x86/Makefile                         |   1 +
 xen/arch/x86/boot/boot_info32.h               |  97 ++++
 xen/arch/x86/boot/defs.h                      |  17 +-
 xen/arch/x86/boot/reloc.c                     | 187 +++++--
 xen/arch/x86/bzimage.c                        |  18 +-
 xen/arch/x86/cpu/microcode/core.c             | 133 +++--
 xen/arch/x86/dom0_build.c                     | 129 +----
 xen/arch/x86/domain_builder.c                 | 284 ++++++++++
 xen/arch/x86/efi/efi-boot.h                   |  96 ++--
 xen/arch/x86/guest/xen/pvh-boot.c             |  64 ++-
 xen/arch/x86/hvm/dom0_build.c                 |  62 +--
 xen/arch/x86/include/asm/bootdomain.h         |  30 ++
 xen/arch/x86/include/asm/bootinfo.h           |  99 ++++
 xen/arch/x86/include/asm/bzimage.h            |   5 +-
 xen/arch/x86/include/asm/dom0_build.h         |  27 +-
 xen/arch/x86/include/asm/guest/pvh-boot.h     |   6 +-
 xen/arch/x86/include/asm/setup.h              |  18 +-
 xen/arch/x86/pv/Makefile                      |   2 +-
 .../x86/pv/{dom0_build.c => domain_builder.c} | 141 ++---
 xen/arch/x86/pv/shim.c                        |   4 +-
 xen/arch/x86/setup.c                          | 392 ++++++--------
 xen/common/Kconfig                            |   5 +
 xen/common/Makefile                           |   4 +-
 xen/common/domain-builder/Kconfig             |  36 ++
 xen/common/domain-builder/Makefile            |   3 +
 xen/common/domain-builder/core.c              | 207 ++++++++
 xen/common/domain-builder/fdt.c               | 295 +++++++++++
 xen/common/domain-builder/fdt.h               |   7 +
 xen/common/domain-builder/hypfs.c             | 193 +++++++
 xen/common/efi/boot.c                         |   4 +-
 xen/common/fdt.c                              | 131 +++++
 xen/common/sched/core.c                       |  25 +-
 xen/include/xen/bootdomain.h                  |  58 ++
 xen/include/xen/bootinfo.h                    | 132 +++++
 xen/include/xen/device_tree.h                 |  50 +-
 xen/include/xen/domain_builder.h              |  88 ++++
 xen/include/xen/fdt.h                         |  79 +++
 xen/include/xen/sched.h                       |   3 +-
 xen/include/xsm/xsm.h                         |  26 +-
 xen/xsm/xsm_core.c                            |  43 +-
 xen/xsm/xsm_policy.c                          |  56 +-
 53 files changed, 3544 insertions(+), 1076 deletions(-)
 create mode 100644 tools/helpers/builder-hypfs.c
 create mode 100644 tools/helpers/hypfs-helpers.h
 create mode 100644 tools/helpers/late-init-pv.c
 create mode 100644 tools/helpers/late-init-pv.h
 create mode 100644 tools/helpers/xs-helpers.c
 create mode 100644 tools/helpers/xs-helpers.h
 create mode 100644 xen/arch/x86/boot/boot_info32.h
 create mode 100644 xen/arch/x86/domain_builder.c
 create mode 100644 xen/arch/x86/include/asm/bootdomain.h
 create mode 100644 xen/arch/x86/include/asm/bootinfo.h
 rename xen/arch/x86/pv/{dom0_build.c => domain_builder.c} (88%)
 create mode 100644 xen/common/domain-builder/Kconfig
 create mode 100644 xen/common/domain-builder/Makefile
 create mode 100644 xen/common/domain-builder/core.c
 create mode 100644 xen/common/domain-builder/fdt.c
 create mode 100644 xen/common/domain-builder/fdt.h
 create mode 100644 xen/common/domain-builder/hypfs.c
 create mode 100644 xen/common/fdt.c
 create mode 100644 xen/include/xen/bootdomain.h
 create mode 100644 xen/include/xen/bootinfo.h
 create mode 100644 xen/include/xen/domain_builder.h
 create mode 100644 xen/include/xen/fdt.h

-- 
2.20.1



^ permalink raw reply	[flat|nested] 66+ messages in thread

end of thread, other threads:[~2022-07-27 14:31 UTC | newest]

Thread overview: 66+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-06 21:04 [PATCH v1 00/18] Hyperlaunch Daniel P. Smith
2022-07-06 21:04 ` [PATCH v1 01/18] kconfig: allow configuration of maximum modules Daniel P. Smith
2022-07-07  1:44   ` Henry Wang
2022-07-15 19:16   ` Julien Grall
2022-07-19 16:36     ` Daniel P. Smith
2022-07-26 18:07       ` Julien Grall
2022-07-27  6:12         ` Jan Beulich
2022-07-19  9:32   ` Jan Beulich
2022-07-19 17:02     ` Daniel P. Smith
2022-07-20  7:27       ` Jan Beulich
2022-07-22 15:00         ` Daniel P. Smith
2022-07-06 21:04 ` [PATCH v1 02/18] introduction of generalized boot info Daniel P. Smith
2022-07-15 19:25   ` Julien Grall
2022-07-20 18:32     ` Daniel P. Smith
2022-07-19 13:11   ` Jan Beulich
2022-07-21 14:28     ` Daniel P. Smith
2022-07-21 16:00       ` Jan Beulich
2022-07-21 16:00       ` Jan Beulich
2022-07-22 16:01         ` Daniel P. Smith
2022-07-25  7:05           ` Jan Beulich
2022-07-06 21:04 ` [PATCH v1 03/18] x86: adopt new boot info structures Daniel P. Smith
2022-07-19 13:19   ` Jan Beulich
2022-07-22 12:34     ` Daniel P. Smith
2022-07-06 21:04 ` [PATCH v1 04/18] x86: refactor entrypoints to new boot info Daniel P. Smith
2022-07-18 13:58   ` Smith, Jackson
2022-07-22 12:59     ` Daniel P. Smith
2022-07-06 21:04 ` [PATCH v1 05/18] x86: refactor xen cmdline into general framework Daniel P. Smith
2022-07-19 13:26   ` Jan Beulich
2022-07-22 13:12     ` Daniel P. Smith
2022-07-25  7:09       ` Jan Beulich
2022-07-06 21:04 ` [PATCH v1 06/18] fdt: make fdt handling reusable across arch Daniel P. Smith
2022-07-07  1:44   ` Henry Wang
2022-07-19  9:36   ` Jan Beulich
2022-07-22 13:18     ` Daniel P. Smith
2022-07-06 21:04 ` [PATCH v1 07/18] docs: update hyperlaunch device tree documentation Daniel P. Smith
2022-07-18 13:57   ` Smith, Jackson
2022-07-22 13:34     ` Daniel P. Smith
2022-07-06 21:04 ` [PATCH v1 08/18] kconfig: introduce domain builder config option Daniel P. Smith
2022-07-07  1:44   ` Henry Wang
2022-07-19 13:29   ` Jan Beulich
2022-07-22 13:47     ` Daniel P. Smith
2022-07-06 21:04 ` [PATCH v1 09/18] x86: introduce abstractions for domain builder Daniel P. Smith
2022-07-26 14:22   ` Jan Beulich
2022-07-06 21:04 ` [PATCH v1 10/18] x86: introduce the " Daniel P. Smith
2022-07-18 13:59   ` Smith, Jackson
2022-07-22 14:36     ` Daniel P. Smith
2022-07-22 20:33       ` Smith, Jackson
2022-07-23 10:45         ` Daniel P. Smith
2022-07-26 14:46   ` Jan Beulich
2022-07-06 21:04 ` [PATCH v1 11/18] x86: initial conversion to " Daniel P. Smith
2022-07-26 15:01   ` Jan Beulich
2022-07-06 21:04 ` [PATCH v1 12/18] x86: convert dom0 creation " Daniel P. Smith
2022-07-27 12:25   ` Jan Beulich
2022-07-06 21:04 ` [PATCH v1 13/18] x86: generalize physmap logic Daniel P. Smith
2022-07-27 12:33   ` Jan Beulich
2022-07-06 21:04 ` [PATCH v1 14/18] x86: generalize vcpu for domain building Daniel P. Smith
2022-07-27 12:46   ` Jan Beulich
2022-07-06 21:04 ` [PATCH v1 15/18] x86: rework domain page allocation Daniel P. Smith
2022-07-27 13:22   ` Jan Beulich
2022-07-06 21:04 ` [PATCH v1 16/18] x86: add pv multidomain construction Daniel P. Smith
2022-07-27 14:12   ` Jan Beulich
2022-07-06 21:04 ` [PATCH v1 17/18] builder: introduce domain builder hypfs tree Daniel P. Smith
2022-07-27 14:30   ` Jan Beulich
2022-07-06 21:04 ` [PATCH v1 18/18] tools: introduce example late pv helper Daniel P. Smith
2022-07-19 17:06 ` [PATCH v1 00/18] Hyperlaunch Smith, Jackson
2022-07-22 14:51   ` Daniel P. Smith

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.