12345678910111213141516171819202122232425262728293031323334353637383940 |
- /* Bootloader to resume MIO A701
- *
- * 2007-1-12 Robert Jarzmik
- *
- * This code is licenced under the GPLv2.
- */
- #include <linux/linkage.h>
- #include <asm/assembler.h>
- /*
- * Note: Yes, part of the following code is located into the .data section.
- * This is to allow jumpaddr to be accessed with a relative load
- * while we can't rely on any MMU translation. We could have put
- * sleep_save_sp in the .text section as well, but some setups might
- * insist on it to be truly read-only.
- */
- .data
- .align 2
- ENTRY(mioa701_bootstrap)
- 0:
- b 1f
- ENTRY(mioa701_jumpaddr)
- .word 0x40f00008 @ PSPR in no-MMU mode
- 1:
- mov r0, #0xa0000000 @ Don't suppose memory access works
- orr r0, r0, #0x00200000 @ even if it's supposed to
- orr r0, r0, #0x0000b000
- mov r1, #0
- str r1, [r0] @ Early disable resume for next boot
- ldr r0, mioa701_jumpaddr @ (Murphy's Law)
- ldr r0, [r0]
- ret r0
- 2:
- ENTRY(mioa701_bootstrap_lg)
- .data
- .align 2
- .word 2b-0b
|