* VM-exit in L0, use the more accurate value.
*/
if (msr_index == MSR_IA32_TSC) {
- int i = vmx_find_loadstore_msr_slot(&vmx->msr_autostore.guest,
+ int i = vmx_find_loadstore_msr_slot(&vmx->msr_autostore,
MSR_IA32_TSC);
if (i >= 0) {
- u64 val = vmx->msr_autostore.guest.val[i].value;
+ u64 val = vmx->msr_autostore.val[i].value;
*data = kvm_read_l1_tsc(vcpu, val);
return true;
u32 msr_index)
{
struct vcpu_vmx *vmx = to_vmx(vcpu);
- struct vmx_msrs *autostore = &vmx->msr_autostore.guest;
+ struct vmx_msrs *autostore = &vmx->msr_autostore;
bool in_vmcs12_store_list;
int msr_autostore_slot;
bool in_autostore_list;
* addresses are constant (for vmcs02), the counts can change based
* on L2's behavior, e.g. switching to/from long mode.
*/
- vmcs_write64(VM_EXIT_MSR_STORE_ADDR, __pa(vmx->msr_autostore.guest.val));
+ vmcs_write64(VM_EXIT_MSR_STORE_ADDR, __pa(vmx->msr_autostore.val));
vmcs_write64(VM_EXIT_MSR_LOAD_ADDR, __pa(vmx->msr_autoload.host.val));
vmcs_write64(VM_ENTRY_MSR_LOAD_ADDR, __pa(vmx->msr_autoload.guest.val));
*/
prepare_vmx_msr_autostore_list(&vmx->vcpu, MSR_IA32_TSC);
- vmcs_write32(VM_EXIT_MSR_STORE_COUNT, vmx->msr_autostore.guest.nr);
+ vmcs_write32(VM_EXIT_MSR_STORE_COUNT, vmx->msr_autostore.nr);
vmcs_write32(VM_EXIT_MSR_LOAD_COUNT, vmx->msr_autoload.host.nr);
vmcs_write32(VM_ENTRY_MSR_LOAD_COUNT, vmx->msr_autoload.guest.nr);
if (vmcs_read32(VM_ENTRY_MSR_LOAD_COUNT) > 0)
vmx_dump_msrs("guest autoload", &vmx->msr_autoload.guest);
if (vmcs_read32(VM_EXIT_MSR_STORE_COUNT) > 0)
- vmx_dump_msrs("guest autostore", &vmx->msr_autostore.guest);
+ vmx_dump_msrs("autostore", &vmx->msr_autostore);
if (vmentry_ctl & VM_ENTRY_LOAD_CET_STATE)
pr_err("S_CET = 0x%016lx, SSP = 0x%016lx, SSP TABLE = 0x%016lx\n",