All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/25] dom0less step1: boot multiple domains from device tree
@ 2018-07-31 23:27 Stefano Stabellini
  2018-07-31 23:27 ` [PATCH v3 01/25] xen: allow console_io hypercalls from certain DomUs Stefano Stabellini
                   ` (25 more replies)
  0 siblings, 26 replies; 88+ messages in thread
From: Stefano Stabellini @ 2018-07-31 23:27 UTC (permalink / raw)
  To: julien.grall; +Cc: sstabellini, andrii_anisov, xen-devel

Hi all,

This is first step toward "dom0less" as discussed in the various
certifications related threads and discussions.

The goal of this series is to enable Xen to boot multiple domains in
parallel, in addition to dom0, out of information found on device tree.

The device tree based boot protocol is extended to carry information
about DomUs. Based on that information, Xen creates and starts one or
more DomUs. DomUs created this way don't have access to xenstore for the
moment. This is actually OK, because this is meant for mission critical
applications that typically only access directly assigned devices. They
cannot tolerate interference or increased IRQ latency due to PV
protocols. Device assignment is not actually covered by this series, it
will be added later.

DomUs can print to the Xen serial using the CONSOLEIO hypercalls. A
virtual PL011 is also emulated for them so that they can use their
regular PL011 driver. This allows unmodified guests to run as Xen on ARM
guests -- no Xen support needed at all. Console input also comes from
the Xen serial: the Ctrl-AAA switching mechanism is extended to switch
among domUs, dom0, and Xen.

In this version of the series, I reordered the patches to make sure they
are all bisectable.


Cheers,

Stefano


The following changes since commit f1ad5ff73e7d07e6a18488430583168a857f2847:

  xen/arm: setup: Move in init code only used at boot in setup.c (2018-07-11 12:22:17 -0700)

are available in the git repository at:

  http://xenbits.xenproject.org/git-http/people/sstabellini/xen-unstable.git dom0less-v3

for you to fetch changes up to 15d869b83e3618ae637003711bd28dc847b9fe39:

  xen/arm: split domain_build.c (2018-07-27 19:39:42 -0700)

----------------------------------------------------------------
Stefano Stabellini (25):
      xen: allow console_io hypercalls from certain DomUs
      xen/arm: move a few DT related defines to public/device_tree_defs.h
      xen/arm: extend device tree based multiboot protocol
      xen/arm: document dom0less
      xen/arm: do not pass dt_host to make_memory_node and make_hypervisor_node
      xen/arm: move evtchn_allocate call out of make_hypervisor_node
      xen/arm: rename acpi_make_chosen_node to make_chosen_node
      xen/arm: increase MAX_MODULES
      xen/arm: introduce bootcmdlines
      xen/arm: don't add duplicate boot modules
      xen/arm: probe domU kernels and initrds
      xen/arm: refactor construct_dom0
      xen/arm: introduce create_domUs
      xen/arm: introduce construct_domU
      xen/arm: rename get_11_allocation_size to get_allocation_size
      xen/arm: rename allocate_memory to allocate_memory_11
      xen/arm: introduce allocate_memory
      xen/arm: generate a simple device tree for domUs
      xen/arm: generate vpl011 node on device tree for domU
      xen/arm: introduce a union in vpl011
      xen/arm: refactor vpl011_data_avail
      xen/arm: Allow vpl011 to be used by DomU
      xen: support console_switching between Dom0 and DomUs on ARM
      xen/vpl011: buffer out chars when the backend is xen
      xen/arm: split domain_build.c

 docs/misc/arm/device-tree/booting.txt |  107 +++
 docs/misc/arm/dom0less                |   47 ++
 tools/libxl/libxl_arm.c               |   59 +-
 xen/arch/arm/acpi/Makefile            |    1 +
 xen/arch/arm/acpi/acpi_dt_build.c     |  591 ++++++++++++++++
 xen/arch/arm/acpi/acpi_dt_build.h     |   32 +
 xen/arch/arm/bootfdt.c                |   69 +-
 xen/arch/arm/domain_build.c           | 1189 +++++++++++++++------------------
 xen/arch/arm/kernel.c                 |   49 +-
 xen/arch/arm/kernel.h                 |    6 +-
 xen/arch/arm/setup.c                  |   68 +-
 xen/arch/arm/vpl011.c                 |  281 ++++++--
 xen/common/device_tree.c              |    6 +-
 xen/drivers/char/console.c            |   71 +-
 xen/include/asm-arm/irq.h             |   16 +
 xen/include/asm-arm/setup.h           |   26 +-
 xen/include/asm-arm/vpl011.h          |   19 +-
 xen/include/asm-x86/setup.h           |    2 +
 xen/include/public/device_tree_defs.h |   42 ++
 xen/include/xen/console.h             |    2 +
 xen/include/xen/device_tree.h         |   35 +-
 xen/include/xen/sched.h               |    2 +
 xen/include/xsm/dummy.h               |    2 +
 23 files changed, 1910 insertions(+), 812 deletions(-)
 create mode 100644 docs/misc/arm/dom0less
 create mode 100644 xen/arch/arm/acpi/acpi_dt_build.c
 create mode 100644 xen/arch/arm/acpi/acpi_dt_build.h
 create mode 100644 xen/include/public/device_tree_defs.h

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

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

end of thread, other threads:[~2018-10-05 18:39 UTC | newest]

Thread overview: 88+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-31 23:27 [PATCH v3 00/25] dom0less step1: boot multiple domains from device tree Stefano Stabellini
2018-07-31 23:27 ` [PATCH v3 01/25] xen: allow console_io hypercalls from certain DomUs Stefano Stabellini
2018-08-17 19:33   ` Daniel De Graaf
2018-07-31 23:27 ` [PATCH v3 02/25] xen/arm: move a few DT related defines to public/device_tree_defs.h Stefano Stabellini
2018-08-01  9:31   ` Julien Grall
2018-08-22 15:25     ` Wei Liu
2018-07-31 23:27 ` [PATCH v3 03/25] xen/arm: extend device tree based multiboot protocol Stefano Stabellini
2018-07-31 23:27 ` [PATCH v3 04/25] xen/arm: document dom0less Stefano Stabellini
2018-08-01  9:46   ` Julien Grall
2018-10-03 16:47     ` Stefano Stabellini
2018-07-31 23:27 ` [PATCH v3 05/25] xen/arm: do not pass dt_host to make_memory_node and make_hypervisor_node Stefano Stabellini
2018-08-01  9:50   ` Julien Grall
2018-07-31 23:27 ` [PATCH v3 06/25] xen/arm: move evtchn_allocate call out of make_hypervisor_node Stefano Stabellini
2018-08-01  9:51   ` Julien Grall
2018-07-31 23:27 ` [PATCH v3 07/25] xen/arm: rename acpi_make_chosen_node to make_chosen_node Stefano Stabellini
2018-08-01  9:53   ` Julien Grall
2018-07-31 23:27 ` [PATCH v3 08/25] xen/arm: increase MAX_MODULES Stefano Stabellini
2018-07-31 23:27 ` [PATCH v3 09/25] xen/arm: introduce bootcmdlines Stefano Stabellini
2018-08-01 10:51   ` Julien Grall
2018-10-03 23:11     ` Stefano Stabellini
2018-10-04 17:23       ` Julien Grall
2018-10-04 21:08         ` Stefano Stabellini
2018-07-31 23:27 ` [PATCH v3 10/25] xen/arm: don't add duplicate boot modules Stefano Stabellini
2018-08-01 11:06   ` Julien Grall
2018-10-04 21:05     ` Stefano Stabellini
2018-07-31 23:27 ` [PATCH v3 11/25] xen/arm: probe domU kernels and initrds Stefano Stabellini
2018-07-31 23:27 ` [PATCH v3 12/25] xen/arm: refactor construct_dom0 Stefano Stabellini
2018-08-13 10:15   ` Julien Grall
2018-08-15 19:27     ` Stefano Stabellini
2018-07-31 23:27 ` [PATCH v3 13/25] xen/arm: introduce create_domUs Stefano Stabellini
2018-08-01  8:48   ` Jan Beulich
2018-08-13 10:23   ` Julien Grall
2018-08-15 19:37     ` Stefano Stabellini
2018-08-13 10:55   ` Julien Grall
2018-08-15 20:04     ` Stefano Stabellini
2018-08-16  9:03       ` Julien Grall
2018-08-16 18:20         ` Stefano Stabellini
2018-07-31 23:27 ` [PATCH v3 14/25] xen/arm: introduce construct_domU Stefano Stabellini
2018-08-13 10:55   ` Julien Grall
2018-08-15 20:21     ` Stefano Stabellini
2018-07-31 23:27 ` [PATCH v3 15/25] xen/arm: rename get_11_allocation_size to get_allocation_size Stefano Stabellini
2018-07-31 23:27 ` [PATCH v3 16/25] xen/arm: rename allocate_memory to allocate_memory_11 Stefano Stabellini
2018-08-13 10:57   ` Julien Grall
2018-08-15 20:26     ` Stefano Stabellini
2018-08-16  9:08       ` Julien Grall
2018-08-16 18:27         ` Stefano Stabellini
2018-07-31 23:28 ` [PATCH v3 17/25] xen/arm: introduce allocate_memory Stefano Stabellini
2018-08-01 11:28   ` Julien Grall
2018-10-03 17:46     ` Stefano Stabellini
2018-07-31 23:28 ` [PATCH v3 18/25] xen/arm: generate a simple device tree for domUs Stefano Stabellini
2018-08-13 11:07   ` Julien Grall
2018-08-15 20:47     ` Stefano Stabellini
2018-07-31 23:28 ` [PATCH v3 19/25] xen/arm: generate vpl011 node on device tree for domU Stefano Stabellini
2018-08-13 11:20   ` Julien Grall
2018-08-15 23:23     ` Stefano Stabellini
2018-07-31 23:28 ` [PATCH v3 20/25] xen/arm: introduce a union in vpl011 Stefano Stabellini
2018-08-13 11:24   ` Julien Grall
2018-08-15 23:36     ` Stefano Stabellini
2018-07-31 23:28 ` [PATCH v3 21/25] xen/arm: refactor vpl011_data_avail Stefano Stabellini
2018-08-13 13:23   ` Julien Grall
2018-07-31 23:28 ` [PATCH v3 22/25] xen/arm: Allow vpl011 to be used by DomU Stefano Stabellini
2018-08-13 13:42   ` Julien Grall
2018-08-15 23:41     ` Stefano Stabellini
2018-08-13 14:10   ` Julien Grall
2018-08-16 19:21     ` Stefano Stabellini
2018-08-22 10:19       ` Julien Grall
2018-10-03 21:21         ` Stefano Stabellini
2018-10-04 17:17           ` Julien Grall
2018-07-31 23:28 ` [PATCH v3 23/25] xen: support console_switching between Dom0 and DomUs on ARM Stefano Stabellini
2018-08-01  9:03   ` Jan Beulich
2018-10-04 21:52     ` Stefano Stabellini
2018-10-05  9:25       ` Julien Grall
2018-10-05  9:48         ` Julien Grall
2018-10-05 18:39           ` Stefano Stabellini
2018-10-05 18:39         ` Stefano Stabellini
2018-08-13 13:58   ` Julien Grall
2018-08-16 21:48     ` Stefano Stabellini
2018-07-31 23:28 ` [PATCH v3 24/25] xen/vpl011: buffer out chars when the backend is xen Stefano Stabellini
2018-08-13 14:21   ` Julien Grall
2018-08-16 19:41     ` Stefano Stabellini
2018-08-22 10:35       ` Julien Grall
2018-10-04 21:29         ` Stefano Stabellini
2018-07-31 23:28 ` [PATCH v3 25/25] xen/arm: split domain_build.c Stefano Stabellini
2018-08-13 14:29   ` Julien Grall
2018-08-16  0:25     ` Stefano Stabellini
2018-08-16  9:20       ` Julien Grall
2018-08-16 18:12         ` Stefano Stabellini
2018-08-22 15:44 ` [PATCH v3 00/25] dom0less step1: boot multiple domains from device tree Julien Grall

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.