Sorting source tree a bit
[tpg/acess2.git] / Kernel / arch / armv7 / proc.S
diff --git a/Kernel/arch/armv7/proc.S b/Kernel/arch/armv7/proc.S
deleted file mode 100644 (file)
index 531de29..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Acess2 ARM
- * - By John Hodge (thePowersGang)
- *
- * arch/arm7/proc.S
- * - Process management assembly
- */
-
-#include "include/assembly.h"
-
-.globl KernelThreadHeader
-@ SP+12: Argument 1
-@ SP+8: Argument Count
-@ SP+4: Function
-@ SP+0: Thread Pointer
-KernelThreadHeader:
-       ldr r0, [sp],#4
-       @ TODO: Do something with the thread pointer
-       
-       ldr r4, [sp],#4 @ Function
-       @ Get argument
-       ldr r0, [sp],#4
-
-       blx r4
-       
-       ldr r0, =0
-       bl Threads_Exit
-       b .
-
-.globl SwitchTask
-@ R0: New stack
-@ R1: Pointer to where to save old stack
-@ R2: New IP
-@ R3: Pointer to save old IP
-@ SP+0: New address space
-SwitchTask:
-       push {r4-r12,lr}
-
-       @ Save IP       
-       ldr r4, =.return
-       str r4, [r3]
-       @ Save SP
-       str sp, [r1]
-
-       @ Only update TTBR0 if the task has an explicit address space
-       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     @ TLBIALL - Invalidate all
-
-       @ Restore SP
-       mov sp, r0
-
-       bx r2
-
-.return:
-       pop {r4-r12,pc}
-
-.extern MM_Clone
-.extern MM_DumpTables
-.globl Proc_CloneInt
-Proc_CloneInt:
-       @ R0: SP Destination
-       @ R1: Mem Destination
-       push {r4-r12,lr}
-       mov r4, r1      @ Save mem destination
-       str sp, [r0]    @ Save SP to SP dest
-
-       bl MM_Clone
-       str r0, [r4]    @ Save clone return to Mem Dest
-
-       ldr r0, =Proc_CloneInt_new
-       pop {r4-r12,pc}
-Proc_CloneInt_new:
-       mov r0, #0
-       pop {r4-r12,pc}
-
-@ R0: New user SP
-@ Return: Old user SP
-.globl Proc_int_SwapUserSP
-Proc_int_SwapUserSP:
-       cps #31 @ Go to system mode
-       mov r1, sp
-       tst r0, r0      @ Only update if non-zero
-       movne sp, r0
-       mov r0, r1
-       cps #19
-       mov pc, lr
-
-.section .usertext, "ax"
-.globl Proc_int_DropToUser
-@ R0: User IP
-@ R1: User SP
-Proc_int_DropToUser:
-       cps #16
-       mov sp, r1
-       mov pc, r0
-
-.section .rodata
-csProc_CloneInt_NewTaskMessage:
-       .asciz "New task PC=%p, R4=%p, sp=%p"
-csProc_CloneInt_OldTaskMessage:
-       .asciz "Parent task PC=%p, R4=%p, SP=%p"

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