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: 31+ 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-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-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-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-20 15:59 ` [PATCH v6 18/23] xen/riscv: implement IRQ routing for device passthrough 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.