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