Lines Matching refs:kvm_state

5506 	struct kvm_nested_state kvm_state = {  in vmx_get_nested_state()  local
5509 .size = sizeof(kvm_state), in vmx_get_nested_state()
5517 return kvm_state.size + sizeof(*user_vmx_nested_state); in vmx_get_nested_state()
5524 kvm_state.hdr.vmx.vmxon_pa = vmx->nested.vmxon_ptr; in vmx_get_nested_state()
5525 kvm_state.hdr.vmx.vmcs12_pa = vmx->nested.current_vmptr; in vmx_get_nested_state()
5528 kvm_state.size += sizeof(user_vmx_nested_state->vmcs12); in vmx_get_nested_state()
5531 kvm_state.flags |= KVM_STATE_NESTED_EVMCS; in vmx_get_nested_state()
5536 kvm_state.size += sizeof(user_vmx_nested_state->shadow_vmcs12); in vmx_get_nested_state()
5540 kvm_state.hdr.vmx.smm.flags |= KVM_STATE_NESTED_SMM_VMXON; in vmx_get_nested_state()
5543 kvm_state.hdr.vmx.smm.flags |= KVM_STATE_NESTED_SMM_GUEST_MODE; in vmx_get_nested_state()
5546 kvm_state.flags |= KVM_STATE_NESTED_GUEST_MODE; in vmx_get_nested_state()
5549 kvm_state.flags |= KVM_STATE_NESTED_RUN_PENDING; in vmx_get_nested_state()
5553 if (user_data_size < kvm_state.size) in vmx_get_nested_state()
5556 if (copy_to_user(user_kvm_nested_state, &kvm_state, sizeof(kvm_state))) in vmx_get_nested_state()
5597 return kvm_state.size; in vmx_get_nested_state()
5614 struct kvm_nested_state *kvm_state) in vmx_set_nested_state() argument
5623 if (kvm_state->format != KVM_STATE_NESTED_FORMAT_VMX) in vmx_set_nested_state()
5626 if (kvm_state->hdr.vmx.vmxon_pa == -1ull) { in vmx_set_nested_state()
5627 if (kvm_state->hdr.vmx.smm.flags) in vmx_set_nested_state()
5630 if (kvm_state->hdr.vmx.vmcs12_pa != -1ull) in vmx_set_nested_state()
5642 if (kvm_state->flags & ~KVM_STATE_NESTED_EVMCS) in vmx_set_nested_state()
5648 if (!page_address_valid(vcpu, kvm_state->hdr.vmx.vmxon_pa)) in vmx_set_nested_state()
5652 if ((kvm_state->hdr.vmx.smm.flags & KVM_STATE_NESTED_SMM_GUEST_MODE) && in vmx_set_nested_state()
5653 (kvm_state->flags & KVM_STATE_NESTED_GUEST_MODE)) in vmx_set_nested_state()
5656 if (kvm_state->hdr.vmx.smm.flags & in vmx_set_nested_state()
5666 (kvm_state->flags & in vmx_set_nested_state()
5668 : kvm_state->hdr.vmx.smm.flags) in vmx_set_nested_state()
5671 if ((kvm_state->hdr.vmx.smm.flags & KVM_STATE_NESTED_SMM_GUEST_MODE) && in vmx_set_nested_state()
5672 !(kvm_state->hdr.vmx.smm.flags & KVM_STATE_NESTED_SMM_VMXON)) in vmx_set_nested_state()
5675 if ((kvm_state->flags & KVM_STATE_NESTED_EVMCS) && in vmx_set_nested_state()
5681 if (kvm_state->hdr.vmx.vmxon_pa == -1ull) in vmx_set_nested_state()
5684 vmx->nested.vmxon_ptr = kvm_state->hdr.vmx.vmxon_pa; in vmx_set_nested_state()
5690 if (kvm_state->size < sizeof(*kvm_state) + sizeof(*vmcs12)) in vmx_set_nested_state()
5693 if (kvm_state->hdr.vmx.vmcs12_pa != -1ull) { in vmx_set_nested_state()
5694 if (kvm_state->hdr.vmx.vmcs12_pa == kvm_state->hdr.vmx.vmxon_pa || in vmx_set_nested_state()
5695 !page_address_valid(vcpu, kvm_state->hdr.vmx.vmcs12_pa)) in vmx_set_nested_state()
5698 set_current_vmptr(vmx, kvm_state->hdr.vmx.vmcs12_pa); in vmx_set_nested_state()
5699 } else if (kvm_state->flags & KVM_STATE_NESTED_EVMCS) { in vmx_set_nested_state()
5709 if (kvm_state->hdr.vmx.smm.flags & KVM_STATE_NESTED_SMM_VMXON) { in vmx_set_nested_state()
5713 if (kvm_state->hdr.vmx.smm.flags & KVM_STATE_NESTED_SMM_GUEST_MODE) in vmx_set_nested_state()
5724 if (!(kvm_state->flags & KVM_STATE_NESTED_GUEST_MODE)) in vmx_set_nested_state()
5728 !!(kvm_state->flags & KVM_STATE_NESTED_RUN_PENDING); in vmx_set_nested_state()
5735 if (kvm_state->size < in vmx_set_nested_state()
5736 sizeof(*kvm_state) + in vmx_set_nested_state()