SMP enablement on Cortex-R52 (using PSCI ?)
From: Ayan Kumar Halder
Date: Fri Apr 14 2023 - 07:24:53 EST
Hi PSCI developers,
We have a SoC where there are 4 Cortex-R52 which is distributed in two
clusters. So we have 2 Cortex-R52 in one cluster and 2 Cortex-R52 in
another cluster.
We wish to enable SMP on the 2 R52 within a cluster with Xen hypervisor
(EL2 software) running on them.
We are trying to explore if we can use PSCI for booting the secondary cores.
Refer Cortex-R52 TRM
(https://developer.arm.com/documentation/100026/0101/?lang=en ), it
specifies the following :-
Page 24 - Section 1.4.1
"Support for Exception levels, EL0, EL1, and EL2."
Page 30 - Section 2.1.6
"The Cortex-R52 processor does not implement TrustZone® technology. It
does not support the ability to distinguish between secure and
non-secure physical memories."
Thus, there is no EL3 and secure world in Cortex-R52. It implements
AArch32-V8R architecture.
Refer PSCI design document,
https://developer.arm.com/documentation/den0022/e/?lang=en
Page 18 -
"The PSCI specification focuses on the interface between Security states
for power management. It provides a method for issuing power management
requests. To deal with the requests, the PPF must include a PSCI
implementation. A PSCI implementation might require communication
between the PPF and a Trusted OS or SP."
Page 17 - Privileged Platform Firmware (PPF)
"For Armv7 systems, or Armv8 systems using AArch32 at EL3, PPF executes
in EL3."
From the above two statements, I infer that PSCI requires a PPF
(running at EL3) and a Trusted OS (running at secure EL2). If this is
correct, then R52 cannot support PSCI. Please correct me if I am mistaken.
I wish to know how do we wake up the secondary core if PSCI is not
supported.
Kind regards,
Ayan