Sync with trunk head.
[reactos.git] / boot / armllb / boot.s
1 /*
2 * PROJECT: ReactOS Boot Loader
3 * LICENSE: BSD - See COPYING.ARM in the top level directory
4 * FILE: boot/armllb/boot.s
5 * PURPOSE: Implements the entry point for ARM machines
6 * PROGRAMMERS: ReactOS Portable Systems Group
7 */
8
9 .title "ARM LLB Entry Point"
10 .include "ntoskrnl/include/internal/arm/kxarm.h"
11 .include "ntoskrnl/include/internal/arm/ksarm.h"
12
13 NESTED_ENTRY _start
14 PROLOG_END _start
15
16 #ifdef _OMAP3_
17 /*
18 * On OMAP3, the boot is directly from TI BootROM that reads NAND flash.
19 * First word is size of program to load.
20 * Second word is load address of program. Since DDR is not initialized,
21 * we load to SDRAM at 40200000h. Max 64K.
22 */
23 .word 0x8000
24 .word 0x40200000
25 #endif
26
27 /* Load C entrypoint and setup LLB stack */
28 ldr lr, L_LlbStartup
29 ldr sp, L_BootStackEnd
30 bx lr
31 ENTRY_END _start
32
33 L_BootStackEnd:
34 .long 0x00010000
35
36 L_LlbStartup:
37 .long LlbStartup
38
39 /* EOF */