Kernel/armv7 - Task switching now supported
[tpg/acess2.git] / Kernel / arch / armv7 / start.S
index 718131c..e1bbe0c 100644 (file)
@@ -52,9 +52,14 @@ IRQHandler:
 
 kernel_table0:
        .long 0x00000002        @ Identity map the first 1 MiB
-       .rept 0x800 - 1
+       .rept 0x7FC - 1
                .long 0
        .endr
+       .long user_table1_map + 0x000 - KERNEL_BASE + 1
+       .long user_table1_map + 0x400 - KERNEL_BASE + 1
+       .long 0 @ user_table1_map + 0x800 - KERNEL_BASE + 1
+       .long 0 @ user_table1_map + 0xC00 - KERNEL_BASE + 1
+       @ 0x80000000 - User/Kernel split
        .long 0x00000002        @ Map first 4 MiB to 2GiB
        .long 0x00100002        @ 
        .long 0x00200002        @ 
@@ -102,6 +107,18 @@ kernel_table0:
                .long 0
        .endr
 
+@ PID0 user table
+.globl user_table1_map
+user_table1_map:       @ Size = 4KiB
+       .rept 0x7F8/4
+               .long 0
+       .endr
+       .long kernel_table0 - KERNEL_BASE + (1 << 4) + 3
+       .long user_table1_map - KERNEL_BASE + (1 << 4) + 3
+       .rept 0x800/4
+               .long 0
+       .endr
+
 .globl kernel_table1_map
 kernel_table1_map:     @ Size = 4KiB
        .rept 0xF00/4

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