diff mbox series

[v1,4/4] xen/arm: mpu: Disable secondary cpu bringup

Message ID 20240823163127.3443404-5-ayan.kumar.halder@amd.com (mailing list archive)
State New
Headers show
Series Enable early bootup of AArch64 MPU systems. | expand

Commit Message

Ayan Kumar Halder Aug. 23, 2024, 4:31 p.m. UTC
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(+)

Comments

Julien Grall Aug. 28, 2024, 7:24 p.m. UTC | #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,
Ayan Kumar Halder Sept. 6, 2024, 2:29 p.m. UTC | #2
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
diff mbox series

Patch

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)