1.section .text.boot 2.globl _start 3 4_start: 5 /* obtain address of where _start was loaded */ 6 adr r7, _start 7 adr r8, size 8 ldr r8, [r8] 9 10 /* image end (source) */ 11 add r7, r8, r7 12 13 /* image start and end (destination) */ 14 ldr r8, =_start 15 ldr r9, =__bss_end 16 17copy: 18 ldr r6, [r7], #-4 19 str r6, [r9], #-4 20 cmp r9, r8 21 bne copy 22 23 ldr r8, =aboot 24 bx r8 25 b . 26 27size: 28 .word __bss_end - _start 29 30.global enable_irqs 31.global disable_irqs 32 33enable_irqs: 34 cpsie I 35 bx lr 36 37disable_irqs: 38 cpsid I 39 bx lr 40