From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
Cc: "Michal Orzel" <michal.orzel@amd.com>,
"Stefano Stabellini" <sstabellini@kernel.org>,
"Julien Grall" <julien@xen.org>,
"Bertrand Marquis" <bertrand.marquis@arm.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>
Subject: [PATCH] device-tree: Move Arm's static-evtchn feature to common
Date: Tue, 27 May 2025 10:21:17 +0200 [thread overview]
Message-ID: <20250527082117.120214-1-michal.orzel@amd.com> (raw)
There's nothing Arm specific about this feature. Move it to common as
part of a larger activity to commonalize device tree related features.
For now, select it only for ARM until others (e.g. RISC-V) verify it
works for them too.
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
Other candidates: static memory, shared memory
---
xen/arch/arm/Kconfig | 8 --------
xen/arch/arm/Makefile | 1 -
xen/arch/arm/setup.c | 2 +-
xen/common/Kconfig | 8 ++++++++
xen/common/device-tree/Makefile | 1 +
xen/{arch/arm => common/device-tree}/static-evtchn.c | 3 +--
xen/{arch/arm/include/asm => include/xen}/static-evtchn.h | 6 +++---
7 files changed, 14 insertions(+), 15 deletions(-)
rename xen/{arch/arm => common/device-tree}/static-evtchn.c (99%)
rename xen/{arch/arm/include/asm => include/xen}/static-evtchn.h (77%)
diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index a5aad97a688e..57919d8b3ac8 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -253,14 +253,6 @@ config STATIC_SHM
help
This option enables statically shared memory on a dom0less system.
-config STATIC_EVTCHN
- bool "Static event channel support on a dom0less system"
- depends on DOM0LESS_BOOT
- default y
- help
- This option enables establishing static event channel communication
- between domains on a dom0less system (domU-domU as well as domU-dom0).
-
config PARTIAL_EMULATION
bool "Enable partial emulation of system/coprocessor registers"
default y
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 129a109d6ec5..eeeac4e653ec 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -51,7 +51,6 @@ obj-y += setup.o
obj-y += shutdown.o
obj-y += smp.o
obj-y += smpboot.o
-obj-$(CONFIG_STATIC_EVTCHN) += static-evtchn.init.o
obj-$(CONFIG_STATIC_MEMORY) += static-memory.init.o
obj-$(CONFIG_STATIC_SHM) += static-shmem.init.o
obj-y += sysctl.o
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 10b46d068405..734e23da4408 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -31,6 +31,7 @@
#include <xen/version.h>
#include <xen/vmap.h>
#include <xen/stack-protector.h>
+#include <xen/static-evtchn.h>
#include <xen/trace.h>
#include <xen/libfdt/libfdt-xen.h>
#include <xen/acpi.h>
@@ -39,7 +40,6 @@
#include <asm/alternative.h>
#include <asm/dom0less-build.h>
#include <asm/page.h>
-#include <asm/static-evtchn.h>
#include <asm/current.h>
#include <asm/setup.h>
#include <asm/gic.h>
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 3d66d0939738..0951d4c2f286 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -162,6 +162,14 @@ config STATIC_MEMORY
If unsure, say N.
+config STATIC_EVTCHN
+ bool "Static event channel support on a dom0less system"
+ depends on DOM0LESS_BOOT && ARM
+ default y
+ help
+ This option enables establishing static event channel communication
+ between domains on a dom0less system (domU-domU as well as domU-dom0).
+
menu "Speculative hardening"
config INDIRECT_THUNK
diff --git a/xen/common/device-tree/Makefile b/xen/common/device-tree/Makefile
index 831b91399b74..2df7eb27222e 100644
--- a/xen/common/device-tree/Makefile
+++ b/xen/common/device-tree/Makefile
@@ -6,3 +6,4 @@ obj-$(CONFIG_DOM0LESS_BOOT) += dom0less-build.o
obj-$(CONFIG_OVERLAY_DTB) += dt-overlay.o
obj-y += intc.o
obj-$(CONFIG_DOMAIN_BUILD_HELPERS) += kernel.o
+obj-$(CONFIG_STATIC_EVTCHN) += static-evtchn.init.o
diff --git a/xen/arch/arm/static-evtchn.c b/xen/common/device-tree/static-evtchn.c
similarity index 99%
rename from xen/arch/arm/static-evtchn.c
rename to xen/common/device-tree/static-evtchn.c
index 49db08d5c6fc..8b82e6b3d8a6 100644
--- a/xen/arch/arm/static-evtchn.c
+++ b/xen/common/device-tree/static-evtchn.c
@@ -1,8 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <xen/event.h>
-
-#include <asm/static-evtchn.h>
+#include <xen/static-evtchn.h>
#define STATIC_EVTCHN_NODE_SIZE_CELLS 2
diff --git a/xen/arch/arm/include/asm/static-evtchn.h b/xen/include/xen/static-evtchn.h
similarity index 77%
rename from xen/arch/arm/include/asm/static-evtchn.h
rename to xen/include/xen/static-evtchn.h
index f964522f6a62..31ae92741aad 100644
--- a/xen/arch/arm/include/asm/static-evtchn.h
+++ b/xen/include/xen/static-evtchn.h
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef __ASM_STATIC_EVTCHN_H_
-#define __ASM_STATIC_EVTCHN_H_
+#ifndef XEN_STATIC_EVTCHN_H
+#define XEN_STATIC_EVTCHN_H
#ifdef CONFIG_STATIC_EVTCHN
@@ -13,7 +13,7 @@ static inline void alloc_static_evtchn(void) {};
#endif /* CONFIG_STATIC_EVTCHN */
-#endif /* __ASM_STATIC_EVTCHN_H_ */
+#endif /* XEN_STATIC_EVTCHN_H */
/*
* Local variables:
--
2.25.1
next reply other threads:[~2025-05-27 8:22 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-27 8:21 Michal Orzel [this message]
2025-05-29 1:18 ` [PATCH] device-tree: Move Arm's static-evtchn feature to common Stefano Stabellini
2025-06-02 8:37 ` Jan Beulich
2025-06-03 6:54 ` Orzel, Michal
2025-06-03 7:02 ` Jan Beulich
2025-06-03 7:06 ` Orzel, Michal
2025-06-03 7:09 ` Jan Beulich
2025-06-03 7:13 ` Orzel, Michal
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=20250527082117.120214-1-michal.orzel@amd.com \
--to=michal.orzel@amd.com \
--cc=Volodymyr_Babchuk@epam.com \
--cc=andrew.cooper3@citrix.com \
--cc=anthony.perard@vates.tech \
--cc=bertrand.marquis@arm.com \
--cc=jbeulich@suse.com \
--cc=julien@xen.org \
--cc=roger.pau@citrix.com \
--cc=sstabellini@kernel.org \
--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.