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>,
"Teddy Astie" <teddy.astie@vates.tech>,
"Timothy Pearson" <tpearson@raptorengineering.com>,
"Alistair Francis" <alistair.francis@wdc.com>,
"Connor Davis" <connojdavis@gmail.com>,
"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v6 00/23] Introduce enablemenant of dom0less
Date: Mon, 20 Jul 2026 17:59:41 +0200 [thread overview]
Message-ID: <cover.1784559209.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/2690872826
---
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 (23):
xen: introduce CONFIG_HAS_SHARED_INFO for archs without a shared page
xen/dom0less: turn max_init_domid into a common variable
xen: arm: update p2m_set_allocation() prototype
xen/riscv: Implement ARCH_PAGING_MEMPOOL
xen/riscv: Implement construct_domain()
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
xen/arch/arm/Kconfig | 1 +
xen/arch/arm/include/asm/p2m.h | 1 -
xen/arch/arm/include/asm/setup.h | 2 -
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 | 14 +-
xen/arch/riscv/cpufeature.c | 148 +++++++++++---
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 | 16 +-
xen/arch/riscv/imsic.c | 178 +++++++++++++++-
xen/arch/riscv/include/asm/aia.h | 10 +
xen/arch/riscv/include/asm/aplic.h | 15 ++
xen/arch/riscv/include/asm/cpufeature.h | 5 +
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 | 44 +++-
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/vaplic.c | 148 ++++++++++++++
xen/arch/x86/Kconfig | 1 +
xen/arch/x86/include/asm/setup.h | 2 -
xen/common/Kconfig | 3 +
xen/common/Makefile | 2 +-
xen/common/device-tree/dom0less-build.c | 2 +-
xen/common/domain.c | 6 +-
xen/common/domctl.c | 11 +-
xen/common/domid.c | 5 +
xen/common/event_channel.c | 53 ++++-
xen/common/event_channel.h | 6 +
xen/common/event_fifo.c | 19 +-
xen/common/time.c | 2 +
xen/drivers/char/console.c | 1 +
xen/include/xen/dom0less-build.h | 7 +
xen/include/xen/p2m-common.h | 8 +
xen/include/xen/shared.h | 8 +-
xen/include/xen/time.h | 4 +
51 files changed, 1548 insertions(+), 98 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
next reply other threads:[~2026-07-20 16:00 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-20 15:59 Oleksii Kurochko [this message]
2026-07-20 15:59 ` [PATCH v6 01/23] xen: introduce CONFIG_HAS_SHARED_INFO for archs without a shared page Oleksii Kurochko
2026-07-21 14:50 ` Jan Beulich
2026-07-28 15:29 ` Oleksii Kurochko
2026-07-28 15:40 ` Jan Beulich
2026-07-20 15:59 ` [PATCH v6 02/23] xen/dom0less: turn max_init_domid into a common variable Oleksii Kurochko
2026-07-20 15:59 ` [PATCH v6 03/23] xen: arm: update p2m_set_allocation() prototype Oleksii Kurochko
2026-07-20 15:59 ` [PATCH v6 04/23] xen/riscv: Implement ARCH_PAGING_MEMPOOL Oleksii Kurochko
2026-07-20 15:59 ` [PATCH v6 05/23] xen/riscv: Implement construct_domain() Oleksii Kurochko
2026-07-20 15:59 ` [PATCH v6 06/23] xen/riscv: introduce guest riscv,isa string Oleksii Kurochko
2026-07-22 7:25 ` Jan Beulich
2026-07-28 15:47 ` Oleksii Kurochko
2026-07-28 15:53 ` Jan Beulich
2026-07-20 15:59 ` [PATCH v6 07/23] xen/riscv: implement make_cpus_node() Oleksii Kurochko
2026-07-20 15:59 ` [PATCH v6 08/23] xen/riscv: implement make_timer_node() Oleksii Kurochko
2026-07-20 15:59 ` [PATCH v6 09/23] xen/riscv: implement make_arch_nodes() Oleksii Kurochko
2026-07-20 15:59 ` [PATCH v6 10/23] xen/riscv: introduce init interrupt controller operations Oleksii Kurochko
2026-07-20 15:59 ` [PATCH v6 11/23] xen/riscv: implement make_intc_domU_node() Oleksii Kurochko
2026-07-20 15:59 ` [PATCH v6 12/23] xen/riscv: introduce aia_init() and aia_usable() Oleksii Kurochko
2026-07-20 15:59 ` [PATCH v6 13/23] xen/riscv: introduce per-vCPU IMSIC state Oleksii Kurochko
2026-07-20 15:59 ` [PATCH v6 14/23] xen/riscv: introduce minimal virtual APLIC (vAPLIC) infrastructure Oleksii Kurochko
2026-07-22 7:40 ` Jan Beulich
2026-07-29 10:41 ` Oleksii Kurochko
2026-07-20 15:59 ` [PATCH v6 15/23] xen/riscv: introduce (de)initialization helpers for vINTC Oleksii Kurochko
2026-07-20 15:59 ` [PATCH v6 16/23] xen/riscv: generate IMSIC DT node for guest domains Oleksii Kurochko
2026-07-22 7:43 ` Jan Beulich
2026-07-20 15:59 ` [PATCH v6 17/23] xen/riscv: create APLIC " Oleksii Kurochko
2026-07-23 13:08 ` Jan Beulich
2026-07-29 11:02 ` Oleksii Kurochko
2026-07-20 15:59 ` [PATCH v6 18/23] xen/riscv: implement IRQ routing for device passthrough Oleksii Kurochko
2026-07-23 13:30 ` Jan Beulich
2026-07-29 11:59 ` Oleksii Kurochko
2026-07-29 14:15 ` Jan Beulich
2026-07-29 15:02 ` Oleksii Kurochko
2026-07-29 15:23 ` Oleksii Kurochko
2026-07-30 7:18 ` Jan Beulich
2026-07-30 11:31 ` Oleksii Kurochko
2026-07-20 16:00 ` [PATCH v6 19/23] xen/riscv: implement init_intc_phandle() Oleksii Kurochko
2026-07-20 16:00 ` [PATCH v6 20/23] xen/riscv: initialize RCU, scheduler, and system domains in start_xen() Oleksii Kurochko
2026-07-20 16:00 ` [PATCH v6 21/23] xen/riscv: provide init_vuart() Oleksii Kurochko
2026-07-20 16:00 ` [PATCH v6 22/23] xen/riscv: add initial dom0less infrastructure support Oleksii Kurochko
2026-07-21 7:27 ` Jan Beulich
2026-07-20 16:00 ` [PATCH v6 23/23] xen/riscv: do a 4th linking pass if necessary Oleksii Kurochko
2026-07-21 7:29 ` Jan Beulich
2026-07-21 7:34 ` Oleksii Kurochko
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.1784559209.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