|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v4 00/25] Introduce enablemenant of dom0less
This patch series reprensent a bunch of patches necessary to enable common part of Dom0less. The stuff necessary to start/launch domains will be introduced separately. CI tests: https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/2632323911 --- Changes in v4: - Address comments from ML. --- Changes in v3: - Drop dependency from other patch series ([1] https://lore.kernel.org/xen-devel/cover.1778140240.git.oleksii.kurochko@xxxxxxxxx/T/#t) as it was merged. - Reorder patches: - move common patches to the start. - Move some patches to separate patch series (will be introduced later) - Address comments from ML. --- Changes in v2: - Move patch "[PATCH v1 04/27] xen/riscv: rework G-stage mode handling" to patch series [1] - Address the comments from ML. - The following patches were folded into one: # xen/riscv: implement init_intc_phandle() # xen/riscv: call do_initcalls() in start_xen() # xen/riscv: setup system domains - The following patch were folded into one: # xen/riscv: add vaplic access check # xen/riscv: emulate guest writes to virtual APLIC MMIO # xen/riscv: emulate guest reads from virtual APLIC MMIO - Add new bug fix, not really necessary to this patch series: xen/riscv: manage IRQ_DISABLED flag in APLIC irq enable/disable callbacks --- Oleksii Kurochko (25): xen/dom0less: turn max_init_domid into a common variable xen: arm: move declaration of map_device_irqs_to_domain() to common header xen: arm: update p2m_set_allocation() prototype xen/Kconfig: introduce HAS_STATIC_MEMORY xen/riscv: Implement ARCH_PAGING_MEMPOOL xen/riscv: Implement construct_domain() xen/riscv: implement prerequisites for domain_create() xen/riscv: introduce guest riscv,isa string xen/riscv: implement make_cpus_node() xen/riscv: implement make_timer_node() xen/riscv: implement make_arch_nodes() xen/riscv: introduce init interrupt controller operations xen/riscv: implement make_intc_domU_node() xen/riscv: introduce aia_init() and aia_usable() xen/riscv: introduce per-vCPU IMSIC state xen/riscv: introduce minimal virtual APLIC (vAPLIC) infrastructure xen/riscv: rename enum intc_version to intc_variant xen/riscv: introduce (de)initialization helpers for vINTC xen/riscv: generate IMSIC DT node for guest domains xen/riscv: create APLIC DT node for guest domains xen/riscv: implement IRQ routing for device passthrough xen/riscv: implement init_intc_phandle() xen/riscv: initialize RCU, scheduler, and system domains in start_xen() xen/riscv: provide init_vuart() xen/riscv: add initial dom0less infrastructure support xen/arch/arm/Kconfig | 1 + xen/arch/arm/device.c | 9 +- xen/arch/arm/include/asm/p2m.h | 1 - xen/arch/arm/include/asm/setup.h | 5 - xen/arch/arm/mmu/p2m.c | 24 +-- xen/arch/arm/setup.c | 2 - xen/arch/ppc/include/asm/setup.h | 2 - xen/arch/riscv/Kconfig | 3 + xen/arch/riscv/Makefile | 4 + xen/arch/riscv/aia.c | 23 +++ xen/arch/riscv/aplic.c | 14 +- xen/arch/riscv/cpufeature.c | 88 ++++++++- xen/arch/riscv/device.c | 95 +++++++++ xen/arch/riscv/dom0less-build.c | 40 ++++ xen/arch/riscv/domain-build.c | 192 ++++++++++++++++++ xen/arch/riscv/domain.c | 46 ++++- xen/arch/riscv/imsic.c | 172 ++++++++++++++++ xen/arch/riscv/include/asm/aia.h | 10 + xen/arch/riscv/include/asm/aplic.h | 11 ++ xen/arch/riscv/include/asm/cpufeature.h | 4 + xen/arch/riscv/include/asm/domain.h | 8 + xen/arch/riscv/include/asm/guest-layout.h | 24 +++ xen/arch/riscv/include/asm/imsic.h | 25 +++ xen/arch/riscv/include/asm/intc.h | 48 ++++- xen/arch/riscv/include/asm/irq.h | 5 + xen/arch/riscv/include/asm/paging.h | 2 +- xen/arch/riscv/include/asm/setup.h | 2 - xen/arch/riscv/include/asm/vaplic.h | 34 ++++ xen/arch/riscv/intc.c | 101 +++++++++- xen/arch/riscv/irq.c | 230 ++++++++++++++++++++++ xen/arch/riscv/p2m.c | 33 +++- xen/arch/riscv/paging.c | 7 +- xen/arch/riscv/setup.c | 12 ++ xen/arch/riscv/stubs.c | 17 -- xen/arch/riscv/vaplic.c | 141 +++++++++++++ xen/arch/x86/include/asm/setup.h | 2 - xen/common/Kconfig | 4 + xen/common/device-tree/dom0less-build.c | 2 +- xen/common/domid.c | 5 + xen/drivers/char/console.c | 1 + xen/include/xen/dom0less-build.h | 7 + xen/include/xen/fdt-domain-build.h | 13 ++ xen/include/xen/p2m-common.h | 8 + 43 files changed, 1384 insertions(+), 93 deletions(-) create mode 100644 xen/arch/riscv/aia.c create mode 100644 xen/arch/riscv/device.c create mode 100644 xen/arch/riscv/domain-build.c create mode 100644 xen/arch/riscv/include/asm/aia.h create mode 100644 xen/arch/riscv/include/asm/vaplic.h create mode 100644 xen/arch/riscv/vaplic.c -- 2.54.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |