MSR_KERNEL_GS_BASE
wrmsrq(MSR_KERNEL_GS_BASE, 0);
rdmsrq(MSR_KERNEL_GS_BASE, shadowgs);
rdmsrq(MSR_KERNEL_GS_BASE, shadowgs);
rdmsrq(MSR_KERNEL_GS_BASE, gsbase);
wrmsrq(MSR_KERNEL_GS_BASE, gsbase);
wrmsrq(which == FS ? MSR_FS_BASE : MSR_KERNEL_GS_BASE,
rdmsrq(MSR_KERNEL_GS_BASE, gsbase);
wrmsrq(MSR_KERNEL_GS_BASE, gsbase);
MSR_KERNEL_GS_BASE,
case MSR_KERNEL_GS_BASE:
case MSR_KERNEL_GS_BASE:
svm_disable_intercept_for_msr(vcpu, MSR_KERNEL_GS_BASE, MSR_TYPE_RW);
nested_vmx_merge_msr_bitmaps_rw(MSR_KERNEL_GS_BASE);
vt->msr_host_kernel_gs_base = read_msr(MSR_KERNEL_GS_BASE);
wrmsrl(MSR_KERNEL_GS_BASE, vt->msr_host_kernel_gs_base);
vt->msr_host_kernel_gs_base = read_msr(MSR_KERNEL_GS_BASE);
wrmsrq(MSR_KERNEL_GS_BASE, vmx->msr_guest_kernel_gs_base);
rdmsrq(MSR_KERNEL_GS_BASE, vmx->msr_guest_kernel_gs_base);
wrmsrq(MSR_KERNEL_GS_BASE, vmx->vt.msr_host_kernel_gs_base);
return vmx_read_guest_host_msr(vmx, MSR_KERNEL_GS_BASE,
vmx_write_guest_host_msr(vmx, MSR_KERNEL_GS_BASE, data,
case MSR_KERNEL_GS_BASE:
case MSR_KERNEL_GS_BASE:
vmx_disable_intercept_for_msr(vcpu, MSR_KERNEL_GS_BASE, MSR_TYPE_RW);
case MSR_KERNEL_GS_BASE:
MSR_CSTAR, MSR_KERNEL_GS_BASE, MSR_SYSCALL_MASK, MSR_LSTAR,
rdmsrq(MSR_KERNEL_GS_BASE, base);
rdmsrq(MSR_KERNEL_GS_BASE, ctxt->usermode_gs_base);
wrmsrq(MSR_KERNEL_GS_BASE, ctxt->usermode_gs_base);
case MSR_KERNEL_GS_BASE:
MSR_TEST_CANONICAL(MSR_KERNEL_GS_BASE, LM),
wrmsr(MSR_KERNEL_GS_BASE, 0xaaaa);
GUEST_ASSERT_EQ(rdmsr(MSR_KERNEL_GS_BASE), 0xbbbb);
wrmsr(MSR_KERNEL_GS_BASE, 0);