From 6e9b3275d75e0cdbae1e8f7e4dda8880bb6346bc Mon Sep 17 00:00:00 2001 From: Aleksa Vuckovic Date: Sat, 3 Sep 2022 23:53:53 +0200 Subject: gdt & tss --- kernel/src/sys/userspace_asm.S | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 kernel/src/sys/userspace_asm.S (limited to 'kernel/src/sys/userspace_asm.S') diff --git a/kernel/src/sys/userspace_asm.S b/kernel/src/sys/userspace_asm.S new file mode 100644 index 0000000..5838051 --- /dev/null +++ b/kernel/src/sys/userspace_asm.S @@ -0,0 +1,20 @@ +.text + +.extern begin_userspace + +.global jump_userspace +jump_userspace: + mov $0x23, %ax + mov %ax, %ds + mov %ax, %es + mov %ax, %fs + mov %ax, %gs + + mov %esp, %eax + push $0x23 + push %rax + pushf + push $0x1b + sub $8, %rsp + movabs $begin_userspace, %rsp + iretq -- cgit v1.2.3