17 lines
277 B
ArmAsm
17 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
|