Remove partially qualified asm helper functions
Each ARM Trusted Firmware image should know in which EL it is running
and it should use the corresponding register directly instead of reading
currentEL and knowing which asm register to read/write
Change-Id: Ief35630190b6f07c8fbb7ba6cb20db308f002945
diff --git a/services/std_svc/psci/psci_afflvl_off.c b/services/std_svc/psci/psci_afflvl_off.c
index 3763f6f..f6bd40c 100644
--- a/services/std_svc/psci/psci_afflvl_off.c
+++ b/services/std_svc/psci/psci_afflvl_off.c
@@ -48,7 +48,7 @@
{
unsigned int index, plat_state;
int rc = PSCI_E_SUCCESS;
- unsigned long sctlr = read_sctlr();
+ unsigned long sctlr;
assert(cpu_node->level == MPIDR_AFFLVL0);
@@ -83,8 +83,9 @@
* Do the bare minimal for the time being. Fix this before porting to
* Cortex models.
*/
+ sctlr = read_sctlr_el3();
sctlr &= ~SCTLR_C_BIT;
- write_sctlr(sctlr);
+ write_sctlr_el3(sctlr);
/*
* CAUTION: This flush to the level of unification makes an assumption
diff --git a/services/std_svc/psci/psci_afflvl_suspend.c b/services/std_svc/psci/psci_afflvl_suspend.c
index 138d033..ca521ff 100644
--- a/services/std_svc/psci/psci_afflvl_suspend.c
+++ b/services/std_svc/psci/psci_afflvl_suspend.c
@@ -87,7 +87,7 @@
unsigned int power_state)
{
unsigned int index, plat_state;
- unsigned long psci_entrypoint, sctlr = read_sctlr();
+ unsigned long psci_entrypoint, sctlr;
el3_state *saved_el3_state;
int rc = PSCI_E_SUCCESS;
@@ -146,8 +146,9 @@
* Do the bare minimal for the time being. Fix this before porting to
* Cortex models.
*/
+ sctlr = read_sctlr_el3();
sctlr &= ~SCTLR_C_BIT;
- write_sctlr(sctlr);
+ write_sctlr_el3(sctlr);
/*
* CAUTION: This flush to the level of unification makes an assumption