* [PATCH] device-tree: Move Arm's static-evtchn feature to common
@ 2025-05-27 8:21 Michal Orzel
2025-05-29 1:18 ` Stefano Stabellini
2025-06-02 8:37 ` Jan Beulich
0 siblings, 2 replies; 8+ messages in thread
From: Michal Orzel @ 2025-05-27 8:21 UTC (permalink / raw)
To: xen-devel
Cc: Michal Orzel, Stefano Stabellini, Julien Grall, Bertrand Marquis,
Volodymyr Babchuk, Andrew Cooper, Anthony PERARD, Jan Beulich,
Roger Pau Monné
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
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] device-tree: Move Arm's static-evtchn feature to common
2025-05-27 8:21 [PATCH] device-tree: Move Arm's static-evtchn feature to common Michal Orzel
@ 2025-05-29 1:18 ` Stefano Stabellini
2025-06-02 8:37 ` Jan Beulich
1 sibling, 0 replies; 8+ messages in thread
From: Stefano Stabellini @ 2025-05-29 1:18 UTC (permalink / raw)
To: Michal Orzel
Cc: xen-devel, Stefano Stabellini, Julien Grall, Bertrand Marquis,
Volodymyr Babchuk, Andrew Cooper, Anthony PERARD, Jan Beulich,
Roger Pau Monné
On Tue, 27 May 2025, Michal Orzel wrote:
> 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>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> 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
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] device-tree: Move Arm's static-evtchn feature to common
2025-05-27 8:21 [PATCH] device-tree: Move Arm's static-evtchn feature to common Michal Orzel
2025-05-29 1:18 ` Stefano Stabellini
@ 2025-06-02 8:37 ` Jan Beulich
2025-06-03 6:54 ` Orzel, Michal
1 sibling, 1 reply; 8+ messages in thread
From: Jan Beulich @ 2025-06-02 8:37 UTC (permalink / raw)
To: Michal Orzel
Cc: Stefano Stabellini, Julien Grall, Bertrand Marquis,
Volodymyr Babchuk, Andrew Cooper, Anthony PERARD,
Roger Pau Monné, xen-devel
On 27.05.2025 10:21, Michal Orzel wrote:
> 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>
I realize this was already committed, but ...
> --- 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
... I think we should strive to avoid such arch dependencies; they simply
don't scale very well. Instead (if needed) HAS_* should be introduced, which
each interested arch can select. In the case here, however, perhaps
DOM0LESS_BOOT alone would have been sufficient as a dependency?
Jan
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] device-tree: Move Arm's static-evtchn feature to common
2025-06-02 8:37 ` Jan Beulich
@ 2025-06-03 6:54 ` Orzel, Michal
2025-06-03 7:02 ` Jan Beulich
0 siblings, 1 reply; 8+ messages in thread
From: Orzel, Michal @ 2025-06-03 6:54 UTC (permalink / raw)
To: Jan Beulich
Cc: Stefano Stabellini, Julien Grall, Bertrand Marquis,
Volodymyr Babchuk, Andrew Cooper, Anthony PERARD,
Roger Pau Monné, xen-devel
On 02/06/2025 10:37, Jan Beulich wrote:
> On 27.05.2025 10:21, Michal Orzel wrote:
>> 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>
>
> I realize this was already committed, but ...
>
>> --- 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
>
> ... I think we should strive to avoid such arch dependencies; they simply
> don't scale very well. Instead (if needed) HAS_* should be introduced, which
> each interested arch can select. In the case here, however, perhaps
> DOM0LESS_BOOT alone would have been sufficient as a dependency?
What if e.g. RISC-V wants to enable dom0less but not static evtchn/memory/shmem
because there are some functions to be implemented and they don't want to do it
now? Protecting with just DOM0LESS_BOOT would not be sufficient here. I
understand we could define HAS_*. I did not think about it.
~Michal
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] device-tree: Move Arm's static-evtchn feature to common
2025-06-03 6:54 ` Orzel, Michal
@ 2025-06-03 7:02 ` Jan Beulich
2025-06-03 7:06 ` Orzel, Michal
0 siblings, 1 reply; 8+ messages in thread
From: Jan Beulich @ 2025-06-03 7:02 UTC (permalink / raw)
To: Orzel, Michal
Cc: Stefano Stabellini, Julien Grall, Bertrand Marquis,
Volodymyr Babchuk, Andrew Cooper, Anthony PERARD,
Roger Pau Monné, xen-devel
On 03.06.2025 08:54, Orzel, Michal wrote:
>
>
> On 02/06/2025 10:37, Jan Beulich wrote:
>> On 27.05.2025 10:21, Michal Orzel wrote:
>>> 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>
>>
>> I realize this was already committed, but ...
>>
>>> --- 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
>>
>> ... I think we should strive to avoid such arch dependencies; they simply
>> don't scale very well. Instead (if needed) HAS_* should be introduced, which
>> each interested arch can select. In the case here, however, perhaps
>> DOM0LESS_BOOT alone would have been sufficient as a dependency?
> What if e.g. RISC-V wants to enable dom0less but not static evtchn/memory/shmem
> because there are some functions to be implemented and they don't want to do it
> now? Protecting with just DOM0LESS_BOOT would not be sufficient here.
Imo a transient(!) "depends on !RISCV" would in principle be fine, if ...
> I understand we could define HAS_*. I did not think about it.
... we don't want to go this route.
Jan
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] device-tree: Move Arm's static-evtchn feature to common
2025-06-03 7:02 ` Jan Beulich
@ 2025-06-03 7:06 ` Orzel, Michal
2025-06-03 7:09 ` Jan Beulich
0 siblings, 1 reply; 8+ messages in thread
From: Orzel, Michal @ 2025-06-03 7:06 UTC (permalink / raw)
To: Jan Beulich
Cc: Stefano Stabellini, Julien Grall, Bertrand Marquis,
Volodymyr Babchuk, Andrew Cooper, Anthony PERARD,
Roger Pau Monné, xen-devel
On 03/06/2025 09:02, Jan Beulich wrote:
> On 03.06.2025 08:54, Orzel, Michal wrote:
>>
>>
>> On 02/06/2025 10:37, Jan Beulich wrote:
>>> On 27.05.2025 10:21, Michal Orzel wrote:
>>>> 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>
>>>
>>> I realize this was already committed, but ...
>>>
>>>> --- 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
>>>
>>> ... I think we should strive to avoid such arch dependencies; they simply
>>> don't scale very well. Instead (if needed) HAS_* should be introduced, which
>>> each interested arch can select. In the case here, however, perhaps
>>> DOM0LESS_BOOT alone would have been sufficient as a dependency?
>> What if e.g. RISC-V wants to enable dom0less but not static evtchn/memory/shmem
>> because there are some functions to be implemented and they don't want to do it
>> now? Protecting with just DOM0LESS_BOOT would not be sufficient here.
>
> Imo a transient(!) "depends on !RISCV" would in principle be fine, if ...
In this case, how can I know that upfront? When moving a feature I need to put
some dependencies. At that point I don't know RISCV, PPC plans. The only thing I
know is that I tested this feature on Arm. So the only meaningful dependency is
& ARM.
~Michal
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] device-tree: Move Arm's static-evtchn feature to common
2025-06-03 7:06 ` Orzel, Michal
@ 2025-06-03 7:09 ` Jan Beulich
2025-06-03 7:13 ` Orzel, Michal
0 siblings, 1 reply; 8+ messages in thread
From: Jan Beulich @ 2025-06-03 7:09 UTC (permalink / raw)
To: Orzel, Michal
Cc: Stefano Stabellini, Julien Grall, Bertrand Marquis,
Volodymyr Babchuk, Andrew Cooper, Anthony PERARD,
Roger Pau Monné, xen-devel
On 03.06.2025 09:06, Orzel, Michal wrote:
>
>
> On 03/06/2025 09:02, Jan Beulich wrote:
>> On 03.06.2025 08:54, Orzel, Michal wrote:
>>>
>>>
>>> On 02/06/2025 10:37, Jan Beulich wrote:
>>>> On 27.05.2025 10:21, Michal Orzel wrote:
>>>>> 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>
>>>>
>>>> I realize this was already committed, but ...
>>>>
>>>>> --- 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
>>>>
>>>> ... I think we should strive to avoid such arch dependencies; they simply
>>>> don't scale very well. Instead (if needed) HAS_* should be introduced, which
>>>> each interested arch can select. In the case here, however, perhaps
>>>> DOM0LESS_BOOT alone would have been sufficient as a dependency?
>>> What if e.g. RISC-V wants to enable dom0less but not static evtchn/memory/shmem
>>> because there are some functions to be implemented and they don't want to do it
>>> now? Protecting with just DOM0LESS_BOOT would not be sufficient here.
>>
>> Imo a transient(!) "depends on !RISCV" would in principle be fine, if ...
> In this case, how can I know that upfront? When moving a feature I need to put
> some dependencies. At that point I don't know RISCV, PPC plans.
You don't need to know this up front, do you? Neither of the two presently selects
DOM0LESS_BOOT afaict, and hence such a transient negative dependency would (if
necessary in the first place) be added when adding such a select.
Jan
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] device-tree: Move Arm's static-evtchn feature to common
2025-06-03 7:09 ` Jan Beulich
@ 2025-06-03 7:13 ` Orzel, Michal
0 siblings, 0 replies; 8+ messages in thread
From: Orzel, Michal @ 2025-06-03 7:13 UTC (permalink / raw)
To: Jan Beulich
Cc: Stefano Stabellini, Julien Grall, Bertrand Marquis,
Volodymyr Babchuk, Andrew Cooper, Anthony PERARD,
Roger Pau Monné, xen-devel
On 03/06/2025 09:09, Jan Beulich wrote:
> On 03.06.2025 09:06, Orzel, Michal wrote:
>>
>>
>> On 03/06/2025 09:02, Jan Beulich wrote:
>>> On 03.06.2025 08:54, Orzel, Michal wrote:
>>>>
>>>>
>>>> On 02/06/2025 10:37, Jan Beulich wrote:
>>>>> On 27.05.2025 10:21, Michal Orzel wrote:
>>>>>> 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>
>>>>>
>>>>> I realize this was already committed, but ...
>>>>>
>>>>>> --- 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
>>>>>
>>>>> ... I think we should strive to avoid such arch dependencies; they simply
>>>>> don't scale very well. Instead (if needed) HAS_* should be introduced, which
>>>>> each interested arch can select. In the case here, however, perhaps
>>>>> DOM0LESS_BOOT alone would have been sufficient as a dependency?
>>>> What if e.g. RISC-V wants to enable dom0less but not static evtchn/memory/shmem
>>>> because there are some functions to be implemented and they don't want to do it
>>>> now? Protecting with just DOM0LESS_BOOT would not be sufficient here.
>>>
>>> Imo a transient(!) "depends on !RISCV" would in principle be fine, if ...
>> In this case, how can I know that upfront? When moving a feature I need to put
>> some dependencies. At that point I don't know RISCV, PPC plans.
>
> You don't need to know this up front, do you? Neither of the two presently selects
> DOM0LESS_BOOT afaict, and hence such a transient negative dependency would (if
> necessary in the first place) be added when adding such a select.
Ok, so basically this should be left to people adding support for DOM0LESS_BOOT
for other arches in the future.
There is static mem and shmem left to be moved. I think we can squeeze in a
patch removing && ARM in this case.
~Michal
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-06-03 7:14 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-27 8:21 [PATCH] device-tree: Move Arm's static-evtchn feature to common Michal Orzel
2025-05-29 1:18 ` 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
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.