Lines Matching refs:kvm_state
6411 struct kvm_nested_state kvm_state = {
6414 .size = sizeof(kvm_state),
6424 return kvm_state.size + sizeof(*user_vmx_nested_state);
6431 kvm_state.hdr.vmx.vmxon_pa = vmx->nested.vmxon_ptr;
6432 kvm_state.hdr.vmx.vmcs12_pa = vmx->nested.current_vmptr;
6435 kvm_state.size += sizeof(user_vmx_nested_state->vmcs12);
6439 kvm_state.flags |= KVM_STATE_NESTED_EVMCS;
6444 kvm_state.size += sizeof(user_vmx_nested_state->shadow_vmcs12);
6448 kvm_state.hdr.vmx.smm.flags |= KVM_STATE_NESTED_SMM_VMXON;
6451 kvm_state.hdr.vmx.smm.flags |= KVM_STATE_NESTED_SMM_GUEST_MODE;
6454 kvm_state.flags |= KVM_STATE_NESTED_GUEST_MODE;
6457 kvm_state.flags |= KVM_STATE_NESTED_RUN_PENDING;
6460 kvm_state.flags |= KVM_STATE_NESTED_MTF_PENDING;
6464 kvm_state.hdr.vmx.flags |=
6466 kvm_state.hdr.vmx.preemption_timer_deadline =
6472 if (user_data_size < kvm_state.size)
6475 if (copy_to_user(user_kvm_nested_state, &kvm_state, sizeof(kvm_state)))
6525 return kvm_state.size;
6539 struct kvm_nested_state *kvm_state)
6548 if (kvm_state->format != KVM_STATE_NESTED_FORMAT_VMX)
6551 if (kvm_state->hdr.vmx.vmxon_pa == INVALID_GPA) {
6552 if (kvm_state->hdr.vmx.smm.flags)
6555 if (kvm_state->hdr.vmx.vmcs12_pa != INVALID_GPA)
6567 if (kvm_state->flags & ~KVM_STATE_NESTED_EVMCS)
6573 if (!page_address_valid(vcpu, kvm_state->hdr.vmx.vmxon_pa))
6577 if ((kvm_state->hdr.vmx.smm.flags & KVM_STATE_NESTED_SMM_GUEST_MODE) &&
6578 (kvm_state->flags & KVM_STATE_NESTED_GUEST_MODE))
6581 if (kvm_state->hdr.vmx.smm.flags &
6585 if (kvm_state->hdr.vmx.flags & ~KVM_STATE_VMX_PREEMPTION_TIMER_DEADLINE)
6594 (kvm_state->flags &
6596 : kvm_state->hdr.vmx.smm.flags)
6599 if ((kvm_state->hdr.vmx.smm.flags & KVM_STATE_NESTED_SMM_GUEST_MODE) &&
6600 !(kvm_state->hdr.vmx.smm.flags & KVM_STATE_NESTED_SMM_VMXON))
6603 if ((kvm_state->flags & KVM_STATE_NESTED_EVMCS) &&
6610 if (kvm_state->hdr.vmx.vmxon_pa == INVALID_GPA)
6613 vmx->nested.vmxon_ptr = kvm_state->hdr.vmx.vmxon_pa;
6619 if (kvm_state->size < sizeof(*kvm_state) + sizeof(*vmcs12)) {
6621 if ((kvm_state->flags & KVM_STATE_NESTED_GUEST_MODE) ||
6622 (kvm_state->flags & KVM_STATE_NESTED_EVMCS) ||
6623 (kvm_state->hdr.vmx.vmcs12_pa != INVALID_GPA))
6629 if (kvm_state->hdr.vmx.vmcs12_pa != INVALID_GPA) {
6630 if (kvm_state->hdr.vmx.vmcs12_pa == kvm_state->hdr.vmx.vmxon_pa ||
6631 !page_address_valid(vcpu, kvm_state->hdr.vmx.vmcs12_pa))
6634 set_current_vmptr(vmx, kvm_state->hdr.vmx.vmcs12_pa);
6635 } else if (kvm_state->flags & KVM_STATE_NESTED_EVMCS) {
6648 if (kvm_state->hdr.vmx.smm.flags & KVM_STATE_NESTED_SMM_VMXON) {
6652 if (kvm_state->hdr.vmx.smm.flags & KVM_STATE_NESTED_SMM_GUEST_MODE)
6663 if (!(kvm_state->flags & KVM_STATE_NESTED_GUEST_MODE))
6667 !!(kvm_state->flags & KVM_STATE_NESTED_RUN_PENDING);
6670 !!(kvm_state->flags & KVM_STATE_NESTED_MTF_PENDING);
6677 if (kvm_state->size <
6678 sizeof(*kvm_state) +
6695 if (kvm_state->hdr.vmx.flags & KVM_STATE_VMX_PREEMPTION_TIMER_DEADLINE) {
6698 kvm_state->hdr.vmx.preemption_timer_deadline;