diff options
Diffstat (limited to 'src/arch/arm64/armv8/bootblock.S')
-rw-r--r-- | src/arch/arm64/armv8/bootblock.S | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/src/arch/arm64/armv8/bootblock.S b/src/arch/arm64/armv8/bootblock.S index e65515f20b..ef7064580f 100644 --- a/src/arch/arm64/armv8/bootblock.S +++ b/src/arch/arm64/armv8/bootblock.S @@ -19,68 +19,6 @@ * MA 02111-1307 USA */ -.section ".start", "a", %progbits -.globl _start -_start: b reset - .balignl 16,0xdeadbeef - -_cbfs_master_header: - /* The CBFS master header is inserted by cbfstool at the first - * aligned offset after the above anchor string is found. - * Hence, we leave some space for it. - * Assumes 64-byte alignment. - */ - .skip 128 - -reset: - /* - * Set the cpu to SVC32 mode and unmask aborts. Aborts might happen - * before logging is turned on and may crash the machine, but at least - * the problem will show up near the code that causes it. - */ - /* FIXME: Not using supervisor mode, does it apply for aarch64? */ - - msr daifclr, #0xc /* Unmask Debug and System exceptions */ - msr daifset, #0x3 /* Mask IRQ, FIQ */ - - bl arm_init_caches - - /* - * Initialize the stack to a known value. This is used to check for - * stack overflow later in the boot process. - */ - ldr x0, .Stack - ldr x1, .Stack_size - sub x0, x0, x1 - ldr x1, .Stack - ldr x2, =0xdeadbeefdeadbeef -init_stack_loop: - str x2, [x0] - add x0, x0, #8 - cmp x0, x1 - bne init_stack_loop - -/* Set stackpointer in internal RAM to call bootblock main() */ -call_bootblock: - ldr x0, .Stack /* Set up stack pointer */ - mov sp, x0 - ldr x0, =0x00000000 - - sub sp, sp, #16 - - /* - * Switch to EL2 already because Linux requires to be - * in EL1 or EL2, see its "Booting AArch64 Linux" doc - */ - bl switch_el3_to_el2 - bl main - -.align 3 -.Stack: - .word CONFIG_STACK_TOP -.align 3 -.Stack_size: - .word CONFIG_STACK_SIZE .section ".id", "a", %progbits .globl __id_start |