acadia/zion/scheduler/jump_user_space.s
Drew Galbraith 7184f527a0 Jump to user mode.
This instantly creates a page fault as we always map pages with ring 0
permissions.
2023-05-29 13:06:08 -07:00

16 lines
277 B
ArmAsm

.global jump_user_space
// rdi - entry point, rsi - user stack
jump_user_space:
cli
mov $0x23, %ax
mov %ax, %ds
mov %ax, %es
mov %ax, %fs
mov %ax, %gs
pushq $0x23 # ss
pushq %rsi
pushf # Can we just push 0 for flags?
pushq $0x1B # cs
pushq %rdi
iretq