Xen-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: "Romain Caritey" <Romain.Caritey@microchip.com>,
	"Baptiste Le Duc" <baptiste.le-duc@vates.tech>,
	"Oleksii Kurochko" <oleksii.kurochko@gmail.com>,
	"Stefano Stabellini" <sstabellini@kernel.org>,
	"Julien Grall" <julien@xen.org>,
	"Bertrand Marquis" <bertrand.marquis@arm.com>,
	"Michal Orzel" <michal.orzel@amd.com>,
	"Volodymyr Babchuk" <Volodymyr_Babchuk@epam.com>,
	"Andrew Cooper" <andrew.cooper3@citrix.com>,
	"Anthony PERARD" <anthony.perard@vates.tech>,
	"Jan Beulich" <jbeulich@suse.com>,
	"Roger Pau Monné" <roger.pau@citrix.com>,
	"Timothy Pearson" <tpearson@raptorengineering.com>,
	"Alistair Francis" <alistair.francis@wdc.com>,
	"Connor Davis" <connojdavis@gmail.com>,
	"Teddy Astie" <teddy.astie@vates.tech>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v5 00/26] Introduce enablemenant of dom0less
Date: Mon,  6 Jul 2026 17:57:41 +0200	[thread overview]
Message-ID: <cover.1783331040.git.oleksii.kurochko@gmail.com> (raw)

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/2654761158

---
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 (26):
  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: rename enum intc_version to intc_variant
  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: 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/riscv: do a 4th linking pass if necessary

 build/tools/fixdep                        | Bin 0 -> 13632 bytes
 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                   |  20 +-
 xen/arch/riscv/aia.c                      |  23 +++
 xen/arch/riscv/aplic-priv.h               |  14 ++
 xen/arch/riscv/aplic.c                    |  16 +-
 xen/arch/riscv/cpufeature.c               | 132 +++++++++---
 xen/arch/riscv/device.c                   |  94 +++++++++
 xen/arch/riscv/dom0less-build.c           |  40 ++++
 xen/arch/riscv/domain-build.c             | 211 +++++++++++++++++++
 xen/arch/riscv/domain.c                   |  45 +++-
 xen/arch/riscv/imsic.c                    | 179 +++++++++++++++-
 xen/arch/riscv/include/asm/aia.h          |  10 +
 xen/arch/riscv/include/asm/aplic.h        |  10 +
 xen/arch/riscv/include/asm/cpufeature.h   |   6 +
 xen/arch/riscv/include/asm/domain.h       |   7 +
 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                     | 102 +++++++++-
 xen/arch/riscv/irq.c                      | 238 ++++++++++++++++++++++
 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                   | 142 +++++++++++++
 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 +
 45 files changed, 1470 insertions(+), 117 deletions(-)
 create mode 100755 build/tools/fixdep
 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



             reply	other threads:[~2026-07-06 15:58 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-06 15:57 Oleksii Kurochko [this message]
2026-07-06 15:57 ` [PATCH v5 01/26] xen/dom0less: turn max_init_domid into a common variable Oleksii Kurochko
2026-07-06 15:57 ` [PATCH v5 02/26] xen: arm: move declaration of map_device_irqs_to_domain() to common header Oleksii Kurochko
2026-07-06 15:57 ` [PATCH v5 03/26] xen: arm: update p2m_set_allocation() prototype Oleksii Kurochko
2026-07-06 15:57 ` [PATCH v5 04/26] xen/Kconfig: introduce HAS_STATIC_MEMORY Oleksii Kurochko
2026-07-07  9:52   ` Jan Beulich
2026-07-08 11:50     ` Oleksii Kurochko
2026-07-06 15:57 ` [PATCH v5 05/26] xen/riscv: rename enum intc_version to intc_variant Oleksii Kurochko
2026-07-06 16:05   ` Jan Beulich
2026-07-07  7:34     ` Oleksii Kurochko
2026-07-06 15:57 ` [PATCH v5 06/26] xen/riscv: Implement ARCH_PAGING_MEMPOOL Oleksii Kurochko
2026-07-06 15:57 ` [PATCH v5 07/26] xen/riscv: Implement construct_domain() Oleksii Kurochko
2026-07-06 15:57 ` [PATCH v5 08/26] xen/riscv: implement prerequisites for domain_create() Oleksii Kurochko
2026-07-06 15:57 ` [PATCH v5 09/26] xen/riscv: introduce guest riscv,isa string Oleksii Kurochko
2026-07-09 13:05   ` Jan Beulich
2026-07-10 15:00     ` Oleksii Kurochko
2026-07-13  6:37       ` Jan Beulich
2026-07-06 15:57 ` [PATCH v5 10/26] xen/riscv: implement make_cpus_node() Oleksii Kurochko
2026-07-09 13:20   ` Jan Beulich
2026-07-10 16:00     ` Oleksii Kurochko
2026-07-06 15:57 ` [PATCH v5 11/26] xen/riscv: implement make_timer_node() Oleksii Kurochko
2026-07-06 15:57 ` [PATCH v5 12/26] xen/riscv: implement make_arch_nodes() Oleksii Kurochko
2026-07-06 15:57 ` [PATCH v5 13/26] xen/riscv: introduce init interrupt controller operations Oleksii Kurochko
2026-07-06 15:57 ` [PATCH v5 14/26] xen/riscv: implement make_intc_domU_node() Oleksii Kurochko
2026-07-06 15:57 ` [PATCH v5 15/26] xen/riscv: introduce aia_init() and aia_usable() Oleksii Kurochko
2026-07-06 15:57 ` [PATCH v5 16/26] xen/riscv: introduce per-vCPU IMSIC state Oleksii Kurochko
2026-07-06 15:57 ` [PATCH v5 17/26] xen/riscv: introduce minimal virtual APLIC (vAPLIC) infrastructure Oleksii Kurochko
2026-07-09 15:39   ` Jan Beulich
2026-07-10 15:52     ` Oleksii Kurochko
2026-07-13  6:41       ` Jan Beulich
2026-07-13  9:57         ` Oleksii Kurochko
2026-07-13 15:44           ` Jan Beulich
2026-07-06 15:57 ` [PATCH v5 18/26] xen/riscv: introduce (de)initialization helpers for vINTC Oleksii Kurochko
2026-07-06 15:58 ` [PATCH v5 19/26] xen/riscv: generate IMSIC DT node for guest domains Oleksii Kurochko
2026-07-09 15:49   ` Jan Beulich
2026-07-13 10:41     ` Oleksii Kurochko
2026-07-06 15:58 ` [PATCH v5 20/26] xen/riscv: create APLIC " Oleksii Kurochko
2026-07-09 15:55   ` Jan Beulich
2026-07-06 15:58 ` [PATCH v5 21/26] xen/riscv: implement IRQ routing for device passthrough Oleksii Kurochko
2026-07-16 12:35   ` Jan Beulich
2026-07-06 15:58 ` [PATCH v5 22/26] xen/riscv: implement init_intc_phandle() Oleksii Kurochko
2026-07-06 15:58 ` [PATCH v5 23/26] xen/riscv: initialize RCU, scheduler, and system domains in start_xen() Oleksii Kurochko
2026-07-06 15:58 ` [PATCH v5 24/26] xen/riscv: provide init_vuart() Oleksii Kurochko
2026-07-06 15:58 ` [PATCH v5 25/26] xen/riscv: add initial dom0less infrastructure support Oleksii Kurochko
2026-07-16 12:37   ` Jan Beulich
2026-07-06 15:58 ` [PATCH v5 26/26] xen/riscv: do a 4th linking pass if necessary Oleksii Kurochko
2026-07-06 16:13   ` Jan Beulich
2026-07-07  8:19     ` Oleksii Kurochko
2026-07-07  8:37       ` Jan Beulich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1783331040.git.oleksii.kurochko@gmail.com \
    --to=oleksii.kurochko@gmail.com \
    --cc=Romain.Caritey@microchip.com \
    --cc=Volodymyr_Babchuk@epam.com \
    --cc=alistair.francis@wdc.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=anthony.perard@vates.tech \
    --cc=baptiste.le-duc@vates.tech \
    --cc=bertrand.marquis@arm.com \
    --cc=connojdavis@gmail.com \
    --cc=dpsmith@apertussolutions.com \
    --cc=jbeulich@suse.com \
    --cc=julien@xen.org \
    --cc=michal.orzel@amd.com \
    --cc=roger.pau@citrix.com \
    --cc=sstabellini@kernel.org \
    --cc=teddy.astie@vates.tech \
    --cc=tpearson@raptorengineering.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox