[feat] 100Hz task switch
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
.intel_syntax noprefix
|
||||
|
||||
.global idt_load
|
||||
idt_load:
|
||||
sub rsp, 10
|
||||
mov [rsp], si
|
||||
mov [rsp + 2], rdi
|
||||
lidt [rsp]
|
||||
add rsp, 10
|
||||
ret
|
||||
|
||||
.global lgdt_and_reload
|
||||
lgdt_and_reload:
|
||||
lgdt [rdi]
|
||||
push 0x08
|
||||
mov rax, offset .reload_cs
|
||||
push rax
|
||||
retfq
|
||||
.reload_cs:
|
||||
mov ax, 0x10
|
||||
mov ds, ax
|
||||
mov es, ax
|
||||
mov fs, ax
|
||||
mov gs, ax
|
||||
mov ss, ax
|
||||
ret
|
||||
|
||||
.global tss_load
|
||||
tss_load:
|
||||
ltr di
|
||||
ret
|
||||
|
||||
.section .note.GNU-stack,"",@progbits
|
||||
Reference in New Issue
Block a user