Lines Matching refs:kvm_state
6327 struct kvm_nested_state kvm_state = { in vmx_get_nested_state() local
6330 .size = sizeof(kvm_state), in vmx_get_nested_state()
6340 return kvm_state.size + sizeof(*user_vmx_nested_state); in vmx_get_nested_state()
6347 kvm_state.hdr.vmx.vmxon_pa = vmx->nested.vmxon_ptr; in vmx_get_nested_state()
6348 kvm_state.hdr.vmx.vmcs12_pa = vmx->nested.current_vmptr; in vmx_get_nested_state()
6351 kvm_state.size += sizeof(user_vmx_nested_state->vmcs12); in vmx_get_nested_state()
6355 kvm_state.flags |= KVM_STATE_NESTED_EVMCS; in vmx_get_nested_state()
6360 kvm_state.size += sizeof(user_vmx_nested_state->shadow_vmcs12); in vmx_get_nested_state()
6364 kvm_state.hdr.vmx.smm.flags |= KVM_STATE_NESTED_SMM_VMXON; in vmx_get_nested_state()
6367 kvm_state.hdr.vmx.smm.flags |= KVM_STATE_NESTED_SMM_GUEST_MODE; in vmx_get_nested_state()
6370 kvm_state.flags |= KVM_STATE_NESTED_GUEST_MODE; in vmx_get_nested_state()
6373 kvm_state.flags |= KVM_STATE_NESTED_RUN_PENDING; in vmx_get_nested_state()
6376 kvm_state.flags |= KVM_STATE_NESTED_MTF_PENDING; in vmx_get_nested_state()
6380 kvm_state.hdr.vmx.flags |= in vmx_get_nested_state()
6382 kvm_state.hdr.vmx.preemption_timer_deadline = in vmx_get_nested_state()
6388 if (user_data_size < kvm_state.size) in vmx_get_nested_state()
6391 if (copy_to_user(user_kvm_nested_state, &kvm_state, sizeof(kvm_state))) in vmx_get_nested_state()
6441 return kvm_state.size; in vmx_get_nested_state()
6455 struct kvm_nested_state *kvm_state) in vmx_set_nested_state() argument
6464 if (kvm_state->format != KVM_STATE_NESTED_FORMAT_VMX) in vmx_set_nested_state()
6467 if (kvm_state->hdr.vmx.vmxon_pa == INVALID_GPA) { in vmx_set_nested_state()
6468 if (kvm_state->hdr.vmx.smm.flags) in vmx_set_nested_state()
6471 if (kvm_state->hdr.vmx.vmcs12_pa != INVALID_GPA) in vmx_set_nested_state()
6483 if (kvm_state->flags & ~KVM_STATE_NESTED_EVMCS) in vmx_set_nested_state()
6489 if (!page_address_valid(vcpu, kvm_state->hdr.vmx.vmxon_pa)) in vmx_set_nested_state()
6493 if ((kvm_state->hdr.vmx.smm.flags & KVM_STATE_NESTED_SMM_GUEST_MODE) && in vmx_set_nested_state()
6494 (kvm_state->flags & KVM_STATE_NESTED_GUEST_MODE)) in vmx_set_nested_state()
6497 if (kvm_state->hdr.vmx.smm.flags & in vmx_set_nested_state()
6501 if (kvm_state->hdr.vmx.flags & ~KVM_STATE_VMX_PREEMPTION_TIMER_DEADLINE) in vmx_set_nested_state()
6510 (kvm_state->flags & in vmx_set_nested_state()
6512 : kvm_state->hdr.vmx.smm.flags) in vmx_set_nested_state()
6515 if ((kvm_state->hdr.vmx.smm.flags & KVM_STATE_NESTED_SMM_GUEST_MODE) && in vmx_set_nested_state()
6516 !(kvm_state->hdr.vmx.smm.flags & KVM_STATE_NESTED_SMM_VMXON)) in vmx_set_nested_state()
6519 if ((kvm_state->flags & KVM_STATE_NESTED_EVMCS) && in vmx_set_nested_state()
6525 if (kvm_state->hdr.vmx.vmxon_pa == INVALID_GPA) in vmx_set_nested_state()
6528 vmx->nested.vmxon_ptr = kvm_state->hdr.vmx.vmxon_pa; in vmx_set_nested_state()
6534 if (kvm_state->size < sizeof(*kvm_state) + sizeof(*vmcs12)) { in vmx_set_nested_state()
6536 if ((kvm_state->flags & KVM_STATE_NESTED_GUEST_MODE) || in vmx_set_nested_state()
6537 (kvm_state->flags & KVM_STATE_NESTED_EVMCS) || in vmx_set_nested_state()
6538 (kvm_state->hdr.vmx.vmcs12_pa != INVALID_GPA)) in vmx_set_nested_state()
6544 if (kvm_state->hdr.vmx.vmcs12_pa != INVALID_GPA) { in vmx_set_nested_state()
6545 if (kvm_state->hdr.vmx.vmcs12_pa == kvm_state->hdr.vmx.vmxon_pa || in vmx_set_nested_state()
6546 !page_address_valid(vcpu, kvm_state->hdr.vmx.vmcs12_pa)) in vmx_set_nested_state()
6549 set_current_vmptr(vmx, kvm_state->hdr.vmx.vmcs12_pa); in vmx_set_nested_state()
6550 } else if (kvm_state->flags & KVM_STATE_NESTED_EVMCS) { in vmx_set_nested_state()
6563 if (kvm_state->hdr.vmx.smm.flags & KVM_STATE_NESTED_SMM_VMXON) { in vmx_set_nested_state()
6567 if (kvm_state->hdr.vmx.smm.flags & KVM_STATE_NESTED_SMM_GUEST_MODE) in vmx_set_nested_state()
6578 if (!(kvm_state->flags & KVM_STATE_NESTED_GUEST_MODE)) in vmx_set_nested_state()
6582 !!(kvm_state->flags & KVM_STATE_NESTED_RUN_PENDING); in vmx_set_nested_state()
6585 !!(kvm_state->flags & KVM_STATE_NESTED_MTF_PENDING); in vmx_set_nested_state()
6592 if (kvm_state->size < in vmx_set_nested_state()
6593 sizeof(*kvm_state) + in vmx_set_nested_state()
6610 if (kvm_state->hdr.vmx.flags & KVM_STATE_VMX_PREEMPTION_TIMER_DEADLINE) { in vmx_set_nested_state()
6613 kvm_state->hdr.vmx.preemption_timer_deadline; in vmx_set_nested_state()