summaryrefslogtreecommitdiff
path: root/bl31/aarch64/bl31_entrypoint.S
diff options
context:
space:
mode:
Diffstat (limited to 'bl31/aarch64/bl31_entrypoint.S')
-rw-r--r--bl31/aarch64/bl31_entrypoint.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/bl31/aarch64/bl31_entrypoint.S b/bl31/aarch64/bl31_entrypoint.S
index 6f5a7c0..8e10d6a 100644
--- a/bl31/aarch64/bl31_entrypoint.S
+++ b/bl31/aarch64/bl31_entrypoint.S
@@ -41,12 +41,21 @@
* -----------------------------------------------------
*/
func bl31_entrypoint
+ b code_start
+ nop /* align to 8 bytes */
+ .byte 0x05, 0x00, 0x00, 0xe0, 0x00, 0x04, 0x02, 0xa8
+ /* l.xor r0, r0, r0 l.ori r1, r0, 0xc0 */
+ .byte 0x00, 0x80, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x15
+ /* l.mtspr r0, r1, 0x4000 l.nop */
+
/* ---------------------------------------------------------------
* Preceding bootloader has populated x0 with a pointer to a
* 'bl31_params' structure & x1 with a pointer to platform
* specific structure
* ---------------------------------------------------------------
*/
+
+code_start:
#if !RESET_TO_BL31
/*
*AA32 warmreset to AA64, the high 32bit in reg R0,R1 is unpredictable