diff --git a/src/arch/x86_64/arch_ctl.c b/src/arch/x86_64/arch_ctl.c index e04370ca..34c52b22 100644 --- a/src/arch/x86_64/arch_ctl.c +++ b/src/arch/x86_64/arch_ctl.c @@ -3,7 +3,7 @@ #include #define ARCH_CTL_GSBASE 0 - +#define ARCH_CTL_FSBASE 1 syscallret syscall_arch_ctl(int func, void* arg){ @@ -16,6 +16,9 @@ syscallret syscall_arch_ctl(int func, void* arg){ case ARCH_CTL_GSBASE: wrmsr(MSR_KERNELGSBASE, (uint64_t)arg); break; + case ARCH_CTL_FSBASE: + wrmsr(MSR_FSBASE, (uint64_t)arg); + break; default: retv.errno = EINVAL;