]> git.lizzy.rs Git - plan9front.git/blob - sys/src/9/bcm/l.s
pc, pc64: make sure write combining is supported in MTRR's before setting it
[plan9front.git] / sys / src / 9 / bcm / l.s
1 /*
2  * Common startup for armv6 and armv7
3  * The rest of l.s has been moved to armv[67].s
4  */
5
6 #include "arm.s"
7
8 /*
9  * on bcm2836, only cpu0 starts here
10  * other cpus enter at cpureset in armv7.s
11  */
12 TEXT _start(SB), 1, $-4
13         /*
14          * load physical base for SB addressing while mmu is off
15          * keep a handy zero in R0 until first function call
16          */
17         MOVW    $setR12(SB), R12
18         SUB     $KZERO, R12
19         ADD     $PHYSDRAM, R12
20         MOVW    $0, R0
21
22         /*
23          * start stack at top of mach (physical addr)
24          */
25         MOVW    $PADDR(MACHADDR+MACHSIZE-4), R13
26
27         /*
28          * do arch-dependent startup (no return)
29          */
30         BL      ,armstart(SB)
31         B       ,0(PC)
32
33         RET