+ @ detect if we're running in hyp mode, and drop to svc
+ mrs r0, cpsr
+ and r1, r0, #0x1f
+ cmp r1, #0x1a
+ bne hypend
+
+ bic r0, #0x1f
+ orr r0, #0x13
+ @msr spsr_cxsf, r0
+ add r0, pc, #4
+ msr elr_hyp, r0
+ @eret
+ mov pc, r0
+hypend:
+
+ @ setup initial stacks, allow 4k stack for IRQs
+ @mov r0, #0x12 @ switch to IRQ mode
+ @msr cpsr, r0
+ @ldr sp, =_stacktop
+ @mov r0, #0x13 @ switch to supervisor mode
+ @msr cpsr, r0
+ ldr sp, =_stacktop - 4096