[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v5 00/25] dom0less step1: boot multiple domains from device tree
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 359970fd8b781fac2ddcbc84dd5b890075fa08ef: tools/libxl: Switch Arm guest type to PVH (2018-10-03 15:58:02 +0100) are available in the git repository at: http://xenbits.xenproject.org/git-http/people/sstabellini/xen-unstable.git dom0less-v5 for you to fetch changes up to b97df820bf3687dccf6401fb8174f5e4d8d2d8c3: xen/arm: split domain_build.c (2018-10-22 18:59:12 -0700) ---------------------------------------------------------------- Stefano Stabellini (25): xen: allow console_io hypercalls from certain DomUs xen/arm: extend device tree based multiboot protocol xen/arm: document dom0less xen/arm: increase MAX_MODULES xen/arm: check for multiboot nodes only under /chosen xen/arm: introduce bootcmdlines xen/arm: don't add duplicate boot modules, introduce domU flag xen/arm: probe domU kernels and initrds 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: refactor construct_dom0 xen/arm: move unregister_init_virtual_region to init_done xen/arm: introduce create_domUs xen/arm: implement construct_domU xen/arm: generate a simple device tree for domUs xen/arm: make set_interrupt_ppi able to handle non-PPI xen/arm: generate vpl011 node on device tree for domU xen/arm: introduce a union in vpl011 xen/arm: refactor vpl011_data_avail xen: support console_switching between Dom0 and DomUs on ARM xen/arm: Allow vpl011 to be used by DomU xen/vpl011: buffer out chars when the backend is xen xen/arm: move kernel.h to asm-arm/ xen/arm: split domain_build.c docs/INDEX | 1 + docs/features/dom0less.markdown | 49 ++ docs/misc/arm/device-tree/booting.txt | 107 +++ xen/arch/arm/acpi/Makefile | 1 + xen/arch/arm/acpi/domain_build.c | 592 +++++++++++++++ xen/arch/arm/bootfdt.c | 57 +- xen/arch/arm/domain_build.c | 1101 +++++++++++++--------------- xen/arch/arm/kernel.c | 67 +- xen/arch/arm/setup.c | 107 ++- xen/arch/arm/vpl011.c | 296 ++++++-- xen/drivers/char/console.c | 87 ++- xen/include/asm-arm/domain_build.h | 31 + xen/{arch/arm => include/asm-arm}/kernel.h | 6 +- xen/include/asm-arm/setup.h | 35 +- xen/include/asm-arm/vpl011.h | 20 +- xen/include/asm-x86/setup.h | 2 + xen/include/xen/console.h | 2 + xen/include/xen/sched.h | 2 + xen/include/xsm/dummy.h | 2 + 19 files changed, 1855 insertions(+), 710 deletions(-) create mode 100644 docs/features/dom0less.markdown create mode 100644 xen/arch/arm/acpi/domain_build.c create mode 100644 xen/include/asm-arm/domain_build.h rename xen/{arch/arm => include/asm-arm}/kernel.h (91%) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |