Rebased from upstream / out of band repository.
[librecmc/librecmc.git] / package / boot / uboot-oxnas / src / board / ox820 / lowlevel_init.S
1 #include <config.h>
2 #ifndef CONFIG_SPL_BUILD
3
4 .globl lowlevel_init
5 lowlevel_init:
6         /*
7          * Copy exception table to relocated address in internal SRAM
8          */
9         ldr     r0, src         /* Address of exception table in flash */
10         ldr     r1, dest        /* Relocated address of exception table */
11         ldmia   r0!, {r3-r10}   /* Copy exception table and jump values from */
12         stmia   r1!, {r3-r10}   /* FLASH to relocated address */
13         ldmia   r0!, {r3-r10}
14         stmia   r1!, {r3-r10}
15         mov     pc, lr
16
17 src:    .word CONFIG_SYS_TEXT_BASE
18 dest:   .word CONFIG_SRAM_BASE
19
20 #endif