[PATCH v10 0/5] Introduce enablemenant of dom0less

Oleksii Kurochko posted 5 patches 1 day, 7 hours ago
xen/arch/riscv/Kconfig                    |   2 +
xen/arch/riscv/Makefile                   |   1 +
xen/arch/riscv/aplic.c                    |  31 +++
xen/arch/riscv/device.c                   | 100 +++++++++
xen/arch/riscv/dom0less-build.c           |  32 +++
xen/arch/riscv/domain-build.c             |  28 +++
xen/arch/riscv/include/asm/guest-layout.h |  12 +
xen/arch/riscv/include/asm/intc.h         |   9 +
xen/arch/riscv/include/asm/irq.h          |   5 +
xen/arch/riscv/intc.c                     |  60 +++++
xen/arch/riscv/irq.c                      | 260 ++++++++++++++++++++++
xen/arch/riscv/setup.c                    |  12 +
xen/arch/riscv/vaplic.c                   |  10 +
13 files changed, 562 insertions(+)
create mode 100644 xen/arch/riscv/device.c
[PATCH v10 0/5] Introduce enablemenant of dom0less
Posted by Oleksii Kurochko 1 day, 7 hours ago
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/2874531386

---
Changes in v10:
 - Address the comments.
 - First 15 patches from v9 were merged to staging.
---
Changes in v9:
 - Address the comments.
---
Changes in v8:
 - Address the comments.
 - Rename some variable in [PATCH v8 11/20] xen/riscv: introduce per-vCPU IMSIC state.
 - Drop vaplic_init() and vcpu_aplic_deinit() in
   [PATCH v8 12/20] xen/riscv: introduce minimal virtual APLIC (vAPLIC) infrastructure.
---
Changes in v7:
 - Merged to upstream/staging:
   - xen/riscv: Implement ARCH_PAGING_MEMPOOL
   - xen: arm: update p2m_set_allocation() prototype
   - xen/riscv: do a 4th linking pass if necessary
 - Address the comments from ML.
---
Changes in v6:
 - Merged to upstream/staging:
   - xen: arm: move declaration of map_device_irqs_to_domain() to common header
   - xen/Kconfig: introduce HAS_STATIC_MEMORY
   - xen/riscv: rename enum intc_version to intc_variant
   - xen/riscv: implement prerequisites for domain_create()
 - Move UBSAN fix ("xen: introduce CONFIG_HAS_SHARED_INFO for archs without a shared page")
   to this patch series as it is connected to "xen/Kconfig: introduce HAS_STATIC_MEMORY".
 - Address the comments from ML.
---
Changes in v5:
 - Add new patch (xen/riscv: do a 4th linking pass if necessary) which fixes
   randconfig job issue.
 - Address comments from ML.
---
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@gmail.com/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 (5):
  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/riscv/Kconfig                    |   2 +
 xen/arch/riscv/Makefile                   |   1 +
 xen/arch/riscv/aplic.c                    |  31 +++
 xen/arch/riscv/device.c                   | 100 +++++++++
 xen/arch/riscv/dom0less-build.c           |  32 +++
 xen/arch/riscv/domain-build.c             |  28 +++
 xen/arch/riscv/include/asm/guest-layout.h |  12 +
 xen/arch/riscv/include/asm/intc.h         |   9 +
 xen/arch/riscv/include/asm/irq.h          |   5 +
 xen/arch/riscv/intc.c                     |  60 +++++
 xen/arch/riscv/irq.c                      | 260 ++++++++++++++++++++++
 xen/arch/riscv/setup.c                    |  12 +
 xen/arch/riscv/vaplic.c                   |  10 +
 13 files changed, 562 insertions(+)
 create mode 100644 xen/arch/riscv/device.c

-- 
2.55.0