git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Kernel/x86_64 - Fix task switching
[tpg/acess2.git]
/
KernelLand
/
Kernel
/
arch
/
x86_64
/
proc.asm
diff --git
a/KernelLand/Kernel/arch/x86_64/proc.asm
b/KernelLand/Kernel/arch/x86_64/proc.asm
index
aff670a
..
afde354
100644
(file)
--- a/
KernelLand/Kernel/arch/x86_64/proc.asm
+++ b/
KernelLand/Kernel/arch/x86_64/proc.asm
@@
-6,6
+6,8
@@
[section .text]
[extern Threads_Exit]
[section .text]
[extern Threads_Exit]
+[extern glThreadListLock]
+[extern SHORTREL]
[global GetRIP]
GetRIP:
[global GetRIP]
GetRIP:
@@
-18,6
+20,9
@@
NewTaskHeader:
; [rsp+0x08]: Function
; [rsp+0x10]: Argument
; [rsp+0x08]: Function
; [rsp+0x10]: Argument
+ mov rdi, glThreadListLock
+ call SHORTREL
+
mov rdi, [rsp+0x10]
mov rax, [rsp+0x8]
add rsp, 0x10 ; Reclaim stack space (thread/fcn)
mov rdi, [rsp+0x10]
mov rax, [rsp+0x8]
add rsp, 0x10 ; Reclaim stack space (thread/fcn)
UCC
git Repository :: git.ucc.asn.au