.globl _start
_start:
+ ldr r0, =DEBUG_UART_PADDR
+ ldr r1, 'A'
+ str r0, r1
+
ldr r0, =kernel_table0-KERNEL_BASE
mcr p15, 0, r0, c2, c0, 1 @ Set TTBR1 to r0
mcr p15, 0, r0, c2, c0, 0 @ Set TTBR0 to r0 too (for identity)
ldr r4, =SyscallHandler
blx r4
- ldr r0, =csSyscallPrintRetAddr
- ldr r1, [sp,#9*4+5*4]
- ldr r4, =Log
- blx r4
+@ ldr r0, =csSyscallPrintRetAddr
+@ ldr r1, [sp,#9*4+5*4]
+@ ldr r4, =Log
+@ blx r4
pop {r2} @ errno
pop {r0,r1} @ Ret/RetHi
PUSH_GPRS
- ldr r0, =csIRQ_Tag
- ldr r1, =csIRQ_Fmt
- ldr r4, =Log_Debug
- blx r4
+@ ldr r0, =csIRQ_Tag
+@ ldr r1, =csIRQ_Fmt
+@ ldr r4, =Log_Debug
+@ blx r4
@ Call the registered handler
ldr r0, gpIRQHandler
.rept (0xF00+16)/4
.long 0
.endr
- .long hwmap_table_0 - KERNEL_BASE + (1 << 4) + 3
+ .long hwmap_table_0 - KERNEL_BASE + 0x13
.rept 0xFF8/4 - (0xF00+16)/4 - 1
.long 0
.endr
.long 0
.endr
.long 0x212 @ Map first page for exceptions (Kernel RO, Execute)
- .rept 15
+ .rept 16-1-2
.long 0
.endr
+ .long gUsertextPhysStart + 0x22 @ User .text (User RO, Kernel RW, because both is COW)
+ .long 0
.section .padata
stack:
.space MM_KSTACK_SIZE, 0 @ Original kernel stack
+; vim: ts=8, ft=armv7
+