Kernel/armv7 - Fixed worker thread creation
authorJohn Hodge <[email protected]>
Thu, 20 Oct 2011 13:20:01 +0000 (21:20 +0800)
committerJohn Hodge <[email protected]>
Thu, 20 Oct 2011 13:20:01 +0000 (21:20 +0800)
Kernel/arch/armv7/proc.S
Kernel/arch/armv7/proc.c

index f62100e..52dcb64 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
        
@@ -87,17 +79,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
+@      mvn r1, #0
 @      bl MM_DumpTables
 
-@      ldr r0, =csProc_CloneInt_NewTaskMessage
-@      bl Log
+       ldr r0, =csProc_CloneInt_NewTaskMessage
+       bl Log
        
-       cps #19
+@      cps #19
        mov r0, #0
        pop {r4-r12,pc}
 
index a0a646b..ccc6b8f 100644 (file)
@@ -140,7 +140,6 @@ tTID Proc_SpawnWorker( void (*Fnc)(void*), void *Ptr )
        sp = new->KernelStack;
        
        *(Uint32*)(sp -= 4) = (Uint)Ptr;
-       *(Uint32*)(sp -= 4) = 1;
        *(Uint32*)(sp -= 4) = (Uint)Fnc;
        *(Uint32*)(sp -= 4) = (Uint)new;
 

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