Hi Penny,
On 16/11/2021 06:31, Penny Zheng wrote:
This commit gates function make_gicv3_domU_node with CONFIG_GICV3, and
also adds ASSERT_UNREACHABLE to catch any misuse.
Signed-off-by: Penny Zheng <[email protected]>
---
v3 changes:
- new commit
---
xen/arch/arm/domain_build.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index c419a4b2cc..24f3edf069 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2279,6 +2279,7 @@ static int __init make_gicv2_domU_node(struct kernel_info
*kinfo)
return res;
}
+#ifdef CONFIG_GICV3
static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
{
void *fdt = kinfo->fdt;
@@ -2328,6 +2329,12 @@ static int __init make_gicv3_domU_node(struct
kernel_info *kinfo)
return res;
}
+#else
+static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
+{
+ ASSERT_UNREACHABLE();
This will break compilation on at least prod build with CONFIG_GICV3=n.
However...
+}
+#endif
... I would prefer to #ifdef the case (as you did in the previous
version). That said, if you strongly prefer this approach then I am OK
with it.
static int __init make_gic_domU_node(struct kernel_info *kinfo)
{
Cheers,
--
Julien Grall