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.

This patch series is based on [1], but a lot of patch could go even without
it.

[1] 
https://lore.kernel.org/xen-devel/[email protected]/

Oleksii Kurochko (27):
  xen/riscv: Implement ARCH_PAGING_MEMPOOL
  xen/riscv: Implement construct_domain()
  xen/riscv: implement prerequisites for domain_create()
  xen/riscv: rework G-stage mode handling
  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: implement make_intc_domU_node()
  xen/riscv: generate IMSIC DT node for guest domains
  xen/riscv: create APLIC DT node for guest domains
  xen/riscv: introduce aia_init() and aia_available()
  xen/riscv: add basic VGEIN management for AIA guests
  xen/riscv: introduce per-vCPU IMSIC state
  xen/riscv: add very early virtual APLIC (vAPLIC) initialization
    support
  xen/riscv: implement IRQ mapping for device passthrough
  xen/riscv: add missing APLIC register offsets, masks to asm/aplic.h.
  xen/riscv: add vaplic access check
  xen/riscv: emulate guest writes to virtual APLIC MMIO
  xen/riscv: emulate guest reads from virtual APLIC MMIO
  xen/riscv: introduce (de)initialization helpers for vINTC
  xen/riscv: implement init_intc_phandle()
  xen/riscv: call do_initcalls() in start_xen()
  xen/riscv: init rcu
  xen/riscv: setup system domains
  xen/riscv: provide init_vuart()
  xen/riscv: add initial dom0less infrastructure support

 xen/arch/riscv/Kconfig                  |   2 +
 xen/arch/riscv/Makefile                 |   6 +-
 xen/arch/riscv/aia.c                    | 135 +++++++
 xen/arch/riscv/aplic.c                  |  83 +++++
 xen/arch/riscv/cpufeature.c             |  33 ++
 xen/arch/riscv/dom0less-build.c         |  63 ++++
 xen/arch/riscv/domain-build.c           | 175 +++++++++
 xen/arch/riscv/domain.c                 |  41 ++-
 xen/arch/riscv/imsic.c                  | 155 ++++++++
 xen/arch/riscv/include/asm/aia.h        |  28 ++
 xen/arch/riscv/include/asm/aplic.h      |  37 ++
 xen/arch/riscv/include/asm/cpufeature.h |   2 +
 xen/arch/riscv/include/asm/domain.h     |  17 +
 xen/arch/riscv/include/asm/imsic.h      |  24 ++
 xen/arch/riscv/include/asm/intc.h       |  51 ++-
 xen/arch/riscv/include/asm/p2m.h        |   9 +-
 xen/arch/riscv/include/asm/setup.h      |  21 +-
 xen/arch/riscv/include/asm/vaplic.h     |  36 ++
 xen/arch/riscv/intc.c                   |  60 ++++
 xen/arch/riscv/p2m.c                    |  91 +++--
 xen/arch/riscv/setup.c                  |  14 +
 xen/arch/riscv/stubs.c                  |   9 +-
 xen/arch/riscv/vaplic.c                 | 449 ++++++++++++++++++++++++
 xen/arch/riscv/vmid.c                   |   2 +-
 xen/include/public/arch-riscv.h         |   3 +
 xen/include/public/device_tree_defs.h   |   1 +
 26 files changed, 1488 insertions(+), 59 deletions(-)
 create mode 100644 xen/arch/riscv/aia.c
 create mode 100644 xen/arch/riscv/dom0less-build.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.53.0


Reply via email to