mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-19 02:54:24 +00:00
FVP: Ensure system reset wake-up results in cold boot
platform_get_entrypoint() did not consider that a wakeup due to System Reset Pin (by reading the power controller's PSYSR) requires a cold boot. As a result, the code would execute the warm boot path and eventually panic because entrypoint mailboxes are empty. This patch ensures that the following wake-up reasons result in cold boot: - Cold Power-on - System Reset Pin (includes reset by software) Fixes ARM-software/tf-issues#217 Change-Id: I65ae0a0f7a46548b575900a5aac107d352b0e2cd
This commit is contained in:
parent
a1a441775f
commit
08783e4326
1 changed files with 5 additions and 2 deletions
|
@ -122,8 +122,11 @@ func platform_get_entrypoint
|
||||||
str w2, [x1, #PSYSR_OFF]
|
str w2, [x1, #PSYSR_OFF]
|
||||||
ldr w2, [x1, #PSYSR_OFF]
|
ldr w2, [x1, #PSYSR_OFF]
|
||||||
ubfx w2, w2, #PSYSR_WK_SHIFT, #PSYSR_WK_MASK
|
ubfx w2, w2, #PSYSR_WK_SHIFT, #PSYSR_WK_MASK
|
||||||
cbnz w2, warm_reset
|
cmp w2, #WKUP_PPONR
|
||||||
mov x0, x2
|
beq warm_reset
|
||||||
|
cmp w2, #WKUP_GICREQ
|
||||||
|
beq warm_reset
|
||||||
|
mov x0, #0
|
||||||
b exit
|
b exit
|
||||||
warm_reset:
|
warm_reset:
|
||||||
/* ---------------------------------------------
|
/* ---------------------------------------------
|
||||||
|
|
Loading…
Add table
Reference in a new issue