Secondary cpus are put in WFE state. We do not support SMP at this time.
Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
xen/arch/arm/arm64/mpu/head.S | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/xen/arch/arm/arm64/mpu/head.S b/xen/arch/arm/arm64/mpu/head.S
index 2b023c346a..1579ac0408 100644
--- a/xen/arch/arm/arm64/mpu/head.S
+++ b/xen/arch/arm/arm64/mpu/head.S
@@ -68,3 +68,12 @@ ENTRY(enable_boot_cpu_mm)
ret
ENDPROC(enable_boot_cpu_mm)
+
+/*
+ * Secondary cpu has not yet been supported on MPU systems. We will block the
+ * secondary cpu bringup at this stage.
+ */
+ENTRY(enable_secondary_cpu_mm)
+1: wfe
+ b 1b
+ENDPROC(enable_secondary_cpu_mm)
--
2.25.1
Hi Ayan, The title is a bit confusing. It implies seconary CPU bringup used to work on the MPU. However, you are adding a stub for enable_secondary_cpu_mm. Also, I am not entirely this is really sufficient to disable CPU bringup. There will be plenty of initialization done for secondary CPUs. I would suggest to update NR_CPUS to 1 for MPU so we will fail early. For the title, how about xen/arm: mpu: Implement a dummy enable_secondary_cpu_mm On 23/08/2024 17:31, Ayan Kumar Halder wrote: > Secondary cpus are put in WFE state. We do not support SMP at this time. > > Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com> > --- > xen/arch/arm/arm64/mpu/head.S | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/xen/arch/arm/arm64/mpu/head.S b/xen/arch/arm/arm64/mpu/head.S > index 2b023c346a..1579ac0408 100644 > --- a/xen/arch/arm/arm64/mpu/head.S > +++ b/xen/arch/arm/arm64/mpu/head.S > @@ -68,3 +68,12 @@ ENTRY(enable_boot_cpu_mm) > > ret > ENDPROC(enable_boot_cpu_mm) > + > +/* > + * Secondary cpu has not yet been supported on MPU systems. We will block the > + * secondary cpu bringup at this stage. > + */ > +ENTRY(enable_secondary_cpu_mm) Can we print a message so it is easier to spot that enable_secondary_cpu_mm is not properly implemented? > +1: wfe > + b 1b > +ENDPROC(enable_secondary_cpu_mm) Cheers, -- Julien Grall
On 28/08/2024 20:24, Julien Grall wrote: > Hi Ayan, Hi Julien, > > The title is a bit confusing. It implies seconary CPU bringup used to > work on the MPU. However, you are adding a stub for > enable_secondary_cpu_mm. > > Also, I am not entirely this is really sufficient to disable CPU > bringup. There will be plenty of initialization done for secondary CPUs. I agree. init_secondary() has already been invoked before this. > > I would suggest to update NR_CPUS to 1 for MPU so we will fail early. Yes, I will do this. > > For the title, how about > > xen/arm: mpu: Implement a dummy enable_secondary_cpu_mm > > On 23/08/2024 17:31, Ayan Kumar Halder wrote: >> Secondary cpus are put in WFE state. We do not support SMP at this time. >> >> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com> >> --- >> xen/arch/arm/arm64/mpu/head.S | 9 +++++++++ >> 1 file changed, 9 insertions(+) >> >> diff --git a/xen/arch/arm/arm64/mpu/head.S >> b/xen/arch/arm/arm64/mpu/head.S >> index 2b023c346a..1579ac0408 100644 >> --- a/xen/arch/arm/arm64/mpu/head.S >> +++ b/xen/arch/arm/arm64/mpu/head.S >> @@ -68,3 +68,12 @@ ENTRY(enable_boot_cpu_mm) >> ret >> ENDPROC(enable_boot_cpu_mm) >> + >> +/* >> + * Secondary cpu has not yet been supported on MPU systems. We will >> block the >> + * secondary cpu bringup at this stage. >> + */ >> +ENTRY(enable_secondary_cpu_mm) > > Can we print a message so it is easier to spot that > enable_secondary_cpu_mm is not properly implemented? yes, something like this PRINT("- SMP NOT SUPPORTED -\r\n") - Ayan
© 2016 - 2024 Red Hat, Inc.