Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / arch / arm / mach-pxa / mioa701_bootresume.S
diff --git a/kernel/arch/arm/mach-pxa/mioa701_bootresume.S b/kernel/arch/arm/mach-pxa/mioa701_bootresume.S
new file mode 100644 (file)
index 0000000..8159149
--- /dev/null
@@ -0,0 +1,37 @@
+/* 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
+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
+       .word   2b-0b