Misc fiddling to ARMv7 for trimslice builds
[tpg/acess2.git] / Kernel / arch / armv7 / start.S
index 3c0779f..817dca1 100644 (file)
@@ -18,6 +18,10 @@ ivt_fiq:     b .             @ 0x1C FIQ (Fast interrupt)
 
 .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)
@@ -89,10 +93,10 @@ SVC_Handler:
        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
@@ -125,10 +129,10 @@ IRQHandler:
 
        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
@@ -270,7 +274,7 @@ kernel_table1_map:  @ Size = 4KiB
        .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
@@ -295,11 +299,15 @@ kernel_exception_map:
                .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
+

UCC git Repository :: git.ucc.asn.au