Kernel/armv7 - Implementing COW
[tpg/acess2.git] / Kernel / arch / armv7 / proc.S
index 801909c..44ce9ee 100644 (file)
@@ -18,16 +18,8 @@ KernelThreadHeader:
        @ TODO: Do something with the thread pointer
        
        ldr r4, [sp],#4 @ Function
-       ldr r5, [sp],#4
-       @ Get arguments
-       sub r5, #1
-       ldrhs r0, [sp],#4
-@      suble r5, #1
-@      ldrhs r1, [sp],#4
-@      suble r5, #1
-@      ldrhs r2, [sp],#4
-@      suble r5, #1
-@      ldrhs r3, [sp],#4
+       @ Get argument
+       ldr r0, [sp],#4
 
        blx r4
        
@@ -62,6 +54,8 @@ SwitchTask:
        ldr r1, [sp,#4*10]
        tst r1, r1
        mcrne p15, 0, r1, c2, c0, 0     @ Set TTBR0 to r0
+       mov r1, #0
+       mcrne p15, 0, r1, c8, c7, 0     @ Invalidate all (HACK! But it fixes things)
 
        @ Restore SP
        mov sp, r0
@@ -87,17 +81,16 @@ Proc_CloneInt:
        ldr r0, =Proc_CloneInt_new
        pop {r4-r12,pc}
 Proc_CloneInt_new:
-       cps #18
+@      cps #18
                
-       mov r0, #0
-       mov r1, #0
-       sub r1, #1
-       bl MM_DumpTables
+@      mov r0, #0
+@      mvn r1, #0
+@      bl MM_DumpTables
 
 @      ldr r0, =csProc_CloneInt_NewTaskMessage
 @      bl Log
        
-       cps #19
+@      cps #19
        mov r0, #0
        pop {r4-r12,pc}
 

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