aboutsummaryrefslogtreecommitdiffstats
path: root/package/boot/uboot-oxnas/files/board/ox820/lowlevel_init.S
diff options
context:
space:
mode:
Diffstat (limited to 'package/boot/uboot-oxnas/files/board/ox820/lowlevel_init.S')
-rw-r--r--package/boot/uboot-oxnas/files/board/ox820/lowlevel_init.S20
1 files changed, 20 insertions, 0 deletions
diff --git a/package/boot/uboot-oxnas/files/board/ox820/lowlevel_init.S b/package/boot/uboot-oxnas/files/board/ox820/lowlevel_init.S
new file mode 100644
index 0000000..3328b7a
--- /dev/null
+++ b/package/boot/uboot-oxnas/files/board/ox820/lowlevel_init.S
@@ -0,0 +1,20 @@
+#include <config.h>
+#ifndef CONFIG_SPL_BUILD
+
+.globl lowlevel_init
+lowlevel_init:
+ /*
+ * Copy exception table to relocated address in internal SRAM
+ */
+ ldr r0, src /* Address of exception table in flash */
+ ldr r1, dest /* Relocated address of exception table */
+ ldmia r0!, {r3-r10} /* Copy exception table and jump values from */
+ stmia r1!, {r3-r10} /* FLASH to relocated address */
+ ldmia r0!, {r3-r10}
+ stmia r1!, {r3-r10}
+ mov pc, lr
+
+src: .word CONFIG_SYS_TEXT_BASE
+dest: .word CONFIG_SRAM_BASE
+
+#endif \ No newline at end of file