X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=inline;f=Kernel%2Farch%2Farmv7%2Fproc.S;h=44ce9eeaca1bc8bcc4e2f0a703a035d3098ccdf5;hb=1389dd6a77cfe0f01ae941f6f696bd5eda22e959;hp=f62100e6d421fd5586b0817bf4634287c7dca668;hpb=439370a78b75a6f015e815ac6a42d55e46cf7d0a;p=tpg%2Facess2.git diff --git a/Kernel/arch/armv7/proc.S b/Kernel/arch/armv7/proc.S index f62100e6..44ce9eea 100644 --- a/Kernel/arch/armv7/proc.S +++ b/Kernel/arch/armv7/proc.S @@ -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 +@ mvn r1, #0 @ bl MM_DumpTables @ ldr r0, =csProc_CloneInt_NewTaskMessage @ bl Log - cps #19 +@ cps #19 mov r0, #0 pop {r4-r12,pc}