Simplify task switches

No longer using the rsp from the entry to the kernel, but instead
switching rsp at task-switching time in assembly.

This currently breaks fork()
This commit is contained in:
Justin C. Miller
2019-03-31 22:49:24 -07:00
parent 5cdbedd4d1
commit ca2362f858
21 changed files with 311 additions and 178 deletions

View File

@@ -39,6 +39,18 @@ sleep:
pop rbp
ret
global fork
fork:
push rbp
mov rbp, rsp
mov rax, 8
syscall ; pid left in rax
pop rbp
ret
global _start
_start:
xor rbp, rbp ; Sentinel rbp