MSR_FS_BASE
rdmsrq(MSR_FS_BASE, fsbase);
wrmsrq(MSR_FS_BASE, fsbase);
rdmsrq(MSR_FS_BASE, old_base);
wrmsrq(MSR_FS_BASE, 1);
rdmsrq(MSR_FS_BASE, tmp);
wrmsrq(MSR_FS_BASE, old_base);
wrmsrq(MSR_FS_BASE, 0);
rdmsrq(MSR_FS_BASE, fs);
rdmsrq(MSR_FS_BASE, fs);
wrmsrq(which == FS ? MSR_FS_BASE : MSR_KERNEL_GS_BASE,
MSR_FS_BASE,
case MSR_FS_BASE:
case MSR_FS_BASE:
svm_disable_intercept_for_msr(vcpu, MSR_FS_BASE, MSR_TYPE_RW);
if (CC(e->index == MSR_FS_BASE) ||
nested_vmx_merge_msr_bitmaps_rw(MSR_FS_BASE);
fs_base = read_msr(MSR_FS_BASE);
case MSR_FS_BASE:
case MSR_FS_BASE:
vmx_disable_intercept_for_msr(vcpu, MSR_FS_BASE, MSR_TYPE_RW);
case MSR_FS_BASE:
rdmsrq(MSR_FS_BASE, base);
rdmsrq(MSR_FS_BASE, ctxt->fs_base);
wrmsrq(MSR_FS_BASE, ctxt->fs_base);
case MSR_FS_BASE:
vmwrite(HOST_FS_BASE, rdmsr(MSR_FS_BASE));
__set_bit(MSR_FS_BASE & 0x1fff, vmx_pages->msr + 0x400);
rdmsr_from_l2(MSR_FS_BASE); /* intercepted */
rdmsr_from_l2(MSR_FS_BASE); /* intercepted */
rdmsr_from_l2(MSR_FS_BASE);
__set_bit(2 * (MSR_FS_BASE & 0x1fff), svm->msr + 0x800);
rdmsr_from_l2(MSR_FS_BASE); /* intercepted */
rdmsr_from_l2(MSR_FS_BASE); /* intercepted */
rdmsr_from_l2(MSR_FS_BASE);
MSR_TEST_CANONICAL(MSR_FS_BASE, LM),
TEST_ASSERT(msr->index == MSR_FS_BASE || msr->index == MSR_GS_BASE ||
data = test_rdmsr(MSR_FS_BASE);
GUEST_ASSERT(data == MSR_FS_BASE);
data = test_rdmsr(MSR_FS_BASE);
GUEST_ASSERT(data != MSR_FS_BASE);
data = test_rdmsr(MSR_FS_BASE);
GUEST_ASSERT(data != MSR_FS_BASE);
case MSR_FS_BASE:
run->msr.data = MSR_FS_BASE;
.base = MSR_FS_BASE,
run_guest_then_process_rdmsr(vcpu, MSR_FS_BASE);