1/* Bootloader to resume MIO A701 2 * 3 * 2007-1-12 Robert Jarzmik 4 * 5 * This code is licenced under the GPLv2. 6*/ 7 8#include <linux/linkage.h> 9#include <asm/assembler.h> 10 11/* 12 * Note: Yes, part of the following code is located into the .data section. 13 * This is to allow jumpaddr to be accessed with a relative load 14 * while we can't rely on any MMU translation. We could have put 15 * sleep_save_sp in the .text section as well, but some setups might 16 * insist on it to be truly read-only. 17 */ 18 .data 19 .align 2 20ENTRY(mioa701_bootstrap) 210: 22 b 1f 23ENTRY(mioa701_jumpaddr) 24 .word 0x40f00008 @ PSPR in no-MMU mode 251: 26 mov r0, #0xa0000000 @ Don't suppose memory access works 27 orr r0, r0, #0x00200000 @ even if it's supposed to 28 orr r0, r0, #0x0000b000 29 mov r1, #0 30 str r1, [r0] @ Early disable resume for next boot 31 ldr r0, mioa701_jumpaddr @ (Murphy's Law) 32 ldr r0, [r0] 33 ret r0 342: 35 36ENTRY(mioa701_bootstrap_lg) 37 .data 38 .align 2 39 .word 2b-0b 40