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

[PATCH v3 00/16] Hyperlaunch device tree for dom0


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Alejandro Vallejo <agarciav@xxxxxxx>
  • Date: Tue, 8 Apr 2025 17:07:22 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0)
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=E+WxjyPErQNqLpzjNrTAdlgV9RYX8wNYR7R3wZaMkSM=; b=sBprAgtLJLIkDhsyev57BuLKYb6uKtDSk7gSeUuc7P+bTKV6nPZ47DpTIeEuBg+KZ2cPb0lFBzs9jUGILCcbqv6k5zG6mx0JUrja4thSRnSAYbIgO8bE/N/J1Zsyzov+VDXYtnkE6q81jqS8tqI53d9L1f1+oQMIX2dYmGc3GHBo67aWvjMd2a8IDifCRsfyRIk5Rr8Vz6KnOhwUQZESj+LRKPF3n4myyM5oOX+0PfJhhjRHC2ID06GOsoSnLCTQlClZfw4mx+iBvoYG+3PjASFec+GW2T+yGufINbXFBxJiqUo6NjcsE/QUrCwL7UWpHVUYr2WuSfWlungzntTpLg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=a9XZcq/Q79Ubr7O0b5oZZx7UpWMJZsSyNV6l0QlnO8/2xfWcO/VOZ1aDEeLDXTMHltxunXyxVguXbR3O4tLjGMiEPG4JB1L501v4byIhtZaC7S5oigHu7n1j1cMGkQe0ih/ONomlCqVUKM44cEJFhVEgWaMU1VkP+N3i8asJO+x92JhWUNouziF0YiskcPUDv1xPUtsKLFrtAqndIAyukY9DQOivWTowZPc6DIf4kHXBFuwMcPhvoueeB/BDcDHBCTM3enxBS0rAvVZ8ZhTZVWErMxUrTBA00u98KyFaqK6CQjlWdwTzW0cZAttAaqzbz0THWFiFPkSzpzfmvLeeQg==
  • Cc: Alejandro Vallejo <agarciav@xxxxxxx>, Jason Andryuk <jason.andryuk@xxxxxxx>, Xenia Ragiadakou <xenia.ragiadakou@xxxxxxx>, "Stefano Stabellini" <sstabellini@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, "Jan Beulich" <jbeulich@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, "Daniel P. Smith" <dpsmith@xxxxxxxxxxxxxxxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>
  • Delivery-date: Tue, 08 Apr 2025 16:09:08 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Hi,

This is an updated version of the hyperlaunch DTB series, with pending
feedback addressed. Some parts (notably the way modules are located) has
changed a little and is more generic with less duplication.

I've purposefully not added my S-by on anything I haven't touched
(besides rebasing) as most of the feedback had already been addressed by
Jason by the time I looked at it and it would be utterly nonsensical to
give myself authorship over it.

I'll be looking after the series moving forward.

v3 pipeline: 
https://gitlab.com/xen-project/people/agvallejo/xen/-/pipelines/1758167851

v2: 
https://lore.kernel.org/xen-devel/20241226165740.29812-1-dpsmith@xxxxxxxxxxxxxxxxxxxx/
v1: 
https://lore.kernel.org/xen-devel/20241123182044.30687-1-dpsmith@xxxxxxxxxxxxxxxxxxxx/

Cheers,
Alejandro

========= Original cover letter:

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.

=========

Alejandro Vallejo (1):
  x86/hyperlaunch: Add helpers to locate multiboot modules

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                     |   1 +
 xen/arch/x86/dom0_build.c                 |  19 +-
 xen/arch/x86/domain-builder/Kconfig       |  15 +
 xen/arch/x86/domain-builder/Makefile      |   2 +
 xen/arch/x86/domain-builder/core.c        | 112 ++++++
 xen/arch/x86/domain-builder/fdt.c         | 448 ++++++++++++++++++++++
 xen/arch/x86/domain-builder/fdt.h         |  53 +++
 xen/arch/x86/hvm/dom0_build.c             |  35 +-
 xen/arch/x86/include/asm/boot-domain.h    |  48 +++
 xen/arch/x86/include/asm/bootinfo.h       |  15 +-
 xen/arch/x86/include/asm/dom0_build.h     |   6 +-
 xen/arch/x86/include/asm/domain-builder.h |  12 +
 xen/arch/x86/include/asm/setup.h          |   4 +-
 xen/arch/x86/pv/dom0_build.c              |  28 +-
 xen/arch/x86/setup.c                      | 106 +++--
 xen/common/Kconfig                        |   4 +
 xen/common/Makefile                       |   2 +-
 xen/include/xen/libfdt/libfdt-xen.h       | 101 +++++
 19 files changed, 927 insertions(+), 86 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/boot-domain.h
 create mode 100644 xen/arch/x86/include/asm/domain-builder.h

-- 
2.43.0




 


Rackspace

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