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 - 2026 Red Hat, Inc.