'Better' task management, needs more testing

This commit is contained in:
Lucia Ceionia
2022-09-19 16:06:01 -05:00
parent c80a420da0
commit 606fc37e37
10 changed files with 133 additions and 86 deletions

View File

@@ -76,17 +76,9 @@ global jmp_usermode_test
jmp_usermode_test:
pop eax ; return address
mov ebp, esp ; return stack
push ss
push ebp
pushfd
push cs
push eax ; return address
push ds ; other segs, pop
push es ; before iret
push fs ; in exit handler
push gs
mov dword [0x20004], esp ; tss ESP0
mov ax, 0x20 | 3
call save_current_task
mov esp, 0x500000 ; usermode stack
mov eax, 0x20 | 3
mov ds, ax
mov es, ax
mov fs, ax
@@ -99,6 +91,8 @@ push 0x18 | 3
push user_test
iret
extern save_current_task
global flushTSS
flushTSS:
mov ax, 0x28