MSR_IA32_TSC_ADJUST
rdmsrq(MSR_IA32_TSC_ADJUST, art_base_clk.offset);
wrmsrq(MSR_IA32_TSC_ADJUST, 0);
rdmsrq(MSR_IA32_TSC_ADJUST, bootval);
rdmsrq(MSR_IA32_TSC_ADJUST, bootval);
wrmsrq(MSR_IA32_TSC_ADJUST, ref->adjusted);
wrmsrq(MSR_IA32_TSC_ADJUST, cur->adjusted);
rdmsrq(MSR_IA32_TSC_ADJUST, curval);
wrmsrq(MSR_IA32_TSC_ADJUST, adj->adjusted);
case MSR_IA32_TSC_ADJUST:
MSR_IA32_TSC_ADJUST,
case MSR_IA32_TSC_ADJUST:
#ifndef MSR_IA32_TSC_ADJUST
adjust = rdmsr(MSR_IA32_TSC_ADJUST);
TEST_ASSERT_EQ(rounded_host_rdmsr(MSR_IA32_TSC_ADJUST), val);
TEST_ASSERT_EQ(rounded_host_rdmsr(MSR_IA32_TSC_ADJUST), val);
TEST_ASSERT_EQ(rounded_host_rdmsr(MSR_IA32_TSC_ADJUST), val);
TEST_ASSERT_EQ(rounded_host_rdmsr(MSR_IA32_TSC_ADJUST), val);
vcpu_set_msr(vcpu, MSR_IA32_TSC_ADJUST, UNITY * 123456);
TEST_ASSERT_EQ(vcpu_get_msr(vcpu, MSR_IA32_TSC_ADJUST), UNITY * 123456);
vcpu_set_msr(vcpu, MSR_IA32_TSC_ADJUST, val);
TEST_ASSERT_EQ(rounded_host_rdmsr(MSR_IA32_TSC_ADJUST), val);
TEST_ASSERT_EQ(rounded_host_rdmsr(MSR_IA32_TSC_ADJUST), val);
TEST_ASSERT_EQ(rounded_host_rdmsr(MSR_IA32_TSC_ADJUST), val - HOST_ADJUST);
GUEST_ASSERT_EQ(rounded_rdmsr(MSR_IA32_TSC_ADJUST), val);
GUEST_ASSERT_EQ(rounded_rdmsr(MSR_IA32_TSC_ADJUST), val);
wrmsr(MSR_IA32_TSC_ADJUST, val);
GUEST_ASSERT_EQ(rounded_rdmsr(MSR_IA32_TSC_ADJUST), val);
GUEST_ASSERT_EQ(rounded_rdmsr(MSR_IA32_TSC_ADJUST), val);
wrmsr(MSR_IA32_TSC_ADJUST, val);
GUEST_ASSERT_EQ(rounded_rdmsr(MSR_IA32_TSC_ADJUST), val);
GUEST_ASSERT_EQ(rounded_rdmsr(MSR_IA32_TSC_ADJUST), val - HOST_ADJUST);