diff options
| author | Aleksa Vuckovic <aleksa@vuckovic.cc> | 2023-02-25 02:24:36 +0100 |
|---|---|---|
| committer | Aleksa Vuckovic <aleksa@vuckovic.cc> | 2023-02-25 02:25:19 +0100 |
| commit | 4931f266a72dccfb439badfa1070563003c80ce3 (patch) | |
| tree | 8ee554e9d4594fa4916f307dca7edff98137df18 /kernel/src/sys/userspace_asm.S | |
| parent | caba4178bbfd7b3b1ff2e156e24b08015137d16a (diff) | |
define consts
Diffstat (limited to 'kernel/src/sys/userspace_asm.S')
| -rw-r--r-- | kernel/src/sys/userspace_asm.S | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/kernel/src/sys/userspace_asm.S b/kernel/src/sys/userspace_asm.S index 4431a84..1bb19a3 100644 --- a/kernel/src/sys/userspace_asm.S +++ b/kernel/src/sys/userspace_asm.S @@ -3,6 +3,10 @@ .extern begin_userspace .extern syscall_handler +.set IA32_EFER, 0xc0000080 +.set STAR_MSR, 0xc0000081 +.set LSTAR_MSR, 0xc0000082 + .global jump_userspace jump_userspace: mov $0x1b, %ax @@ -11,17 +15,17 @@ jump_userspace: mov %ax, %fs mov %ax, %gs - mov $0xc0000082, %rcx + mov $LSTAR_MSR, %rcx movabs $__syscall, %rax shr $32, %rax mov %eax, %edx movabs $__syscall, %rax wrmsr - mov $0xc0000080, %rcx + mov $IA32_EFER, %rcx rdmsr or $1, %eax wrmsr - mov $0xc0000081, %rcx + mov $STAR_MSR, %rcx rdmsr mov $0x00130008, %edx wrmsr |
