rendered paste bodyasm (".global _start \n"
"_start: b __init \n"); /* Has to be at the very beginning */
void _start();
/*
* Init CPU and COP to known state.
*/
asm ("__init: \n"
/* Make sure we run at right address */
"adr r0, _start \n"
"ldr r1, =_start \n"
"ldr r2, =__bss_start__ \n"
"1: \n"
"cmp r1, r2 \n"
"ldrlo r3, [r0], #4 \n"
"strlo r3, [r1], #4 \n"
"blo 1b \n"
"ldr r0, =__setup \n"
"bx r0 \n"
"__setup: \n"
/* Get processor id */
"mov r0, #0x60000000 \n"
"ldrb r4, [r0] \n"
/* Setup stacks */
"cmp r4, #0x55 \n"
"ldreq r5, =cpu_stack_end \n"
"ldrne r5, =cop_stack_end \n"
"ldr sp, [r5] \n"