diff --git a/plat/rpi3/include/platform_def.h b/plat/rpi3/include/platform_def.h index 5b84aa6..52b06b4 100644 --- a/plat/rpi3/include/platform_def.h +++ b/plat/rpi3/include/platform_def.h @@ -117,9 +117,11 @@ */ #define PLAT_RPI3_TRUSTED_MAILBOX_BASE SHARED_RAM_BASE +/* The secure entry point to be used on warm reset by all CPUs. */ #define PLAT_RPI3_TM_ENTRYPOINT PLAT_RPI3_TRUSTED_MAILBOX_BASE #define PLAT_RPI3_TM_ENTRYPOINT_SIZE ULL(8) +/* Hold entries for each CPU. */ #define PLAT_RPI3_TM_HOLD_BASE (PLAT_RPI3_TM_ENTRYPOINT + \ PLAT_RPI3_TM_ENTRYPOINT_SIZE) #define PLAT_RPI3_TM_HOLD_ENTRY_SIZE ULL(8) diff --git a/plat/rpi3/rpi3_pm.c b/plat/rpi3/rpi3_pm.c index 9694858..b6adc8a 100644 --- a/plat/rpi3/rpi3_pm.c +++ b/plat/rpi3/rpi3_pm.c @@ -15,11 +15,6 @@ #include "rpi3_hw.h" -/* - * The secure entry point to be used on warm reset. - */ -static uintptr_t secure_entrypoint; - /* Make composite power state parameter till power level 0 */ #if PSCI_EXTENDED_STATE_ID @@ -220,10 +215,9 @@ int plat_setup_psci_ops(uintptr_t sec_entrypoint, const plat_psci_ops_t **psci_ops) { - uintptr_t *mailbox = (void *)PLAT_RPI3_TRUSTED_MAILBOX_BASE; + uintptr_t *entrypoint = (void *) PLAT_RPI3_TM_ENTRYPOINT; - *mailbox = sec_entrypoint; - secure_entrypoint = (uintptr_t)sec_entrypoint; + *entrypoint = sec_entrypoint; *psci_ops = &plat_rpi3_psci_pm_ops; return 0;