Lines Matching refs:nvmx
62 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in nvmx_vcpu_initialise() local
114 nvmx->ept.enabled = 0; in nvmx_vcpu_initialise()
115 nvmx->guest_vpid = 0; in nvmx_vcpu_initialise()
116 nvmx->vmxon_region_pa = INVALID_PADDR; in nvmx_vcpu_initialise()
119 nvmx->intr.intr_info = 0; in nvmx_vcpu_initialise()
120 nvmx->intr.error_code = 0; in nvmx_vcpu_initialise()
121 nvmx->iobitmap[0] = NULL; in nvmx_vcpu_initialise()
122 nvmx->iobitmap[1] = NULL; in nvmx_vcpu_initialise()
123 nvmx->msrbitmap = NULL; in nvmx_vcpu_initialise()
124 INIT_LIST_HEAD(&nvmx->launched_list); in nvmx_vcpu_initialise()
130 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in nvmx_vcpu_destroy() local
151 if ( nvmx->launched_list.next ) in nvmx_vcpu_destroy()
152 list_for_each_entry_safe(item, n, &nvmx->launched_list, node) in nvmx_vcpu_destroy()
190 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in nvmx_ept_enabled() local
192 return !!(nvmx->ept.enabled); in nvmx_ept_enabled()
576 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in _shadow_io_bitmap() local
580 bitmap = nvmx->iobitmap[0]; in _shadow_io_bitmap()
631 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in nvmx_update_secondary_exec_control() local
642 nvmx->ept.enabled = !!(shadow_cntrl & SECONDARY_EXEC_ENABLE_EPT); in nvmx_update_secondary_exec_control()
765 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in _map_msr_bitmap() local
768 if ( nvmx->msrbitmap ) in _map_msr_bitmap()
770 hvm_unmap_guest_frame(nvmx->msrbitmap, 1); in _map_msr_bitmap()
771 nvmx->msrbitmap = NULL; in _map_msr_bitmap()
779 nvmx->msrbitmap = hvm_map_guest_frame_ro(gpa >> PAGE_SHIFT, 1); in _map_msr_bitmap()
781 return nvmx->msrbitmap != NULL; in _map_msr_bitmap()
786 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in _map_io_bitmap() local
791 if (nvmx->iobitmap[index]) in _map_io_bitmap()
792 hvm_unmap_guest_frame(nvmx->iobitmap[index], 1); in _map_io_bitmap()
794 nvmx->iobitmap[index] = hvm_map_guest_frame_ro(gpa >> PAGE_SHIFT, 1); in _map_io_bitmap()
796 return nvmx->iobitmap[index] != NULL; in _map_io_bitmap()
807 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in nvmx_purge_vvmcs() local
818 if ( nvmx->iobitmap[i] ) { in nvmx_purge_vvmcs()
819 hvm_unmap_guest_frame(nvmx->iobitmap[i], 1); in nvmx_purge_vvmcs()
820 nvmx->iobitmap[i] = NULL; in nvmx_purge_vvmcs()
823 if ( nvmx->msrbitmap ) { in nvmx_purge_vvmcs()
824 hvm_unmap_guest_frame(nvmx->msrbitmap, 1); in nvmx_purge_vvmcs()
825 nvmx->msrbitmap = NULL; in nvmx_purge_vvmcs()
1213 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in virtual_vmentry() local
1216 if ( nvmx->guest_vpid != new_vpid ) in virtual_vmentry()
1219 nvmx->guest_vpid = new_vpid; in virtual_vmentry()
1241 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in sync_vvmcs_ro() local
1248 set_vvmcs(v, EXIT_QUALIFICATION, nvmx->ept.exit_qual); in sync_vvmcs_ro()
1249 set_vvmcs(v, VM_EXIT_REASON, nvmx->ept.exit_reason); in sync_vvmcs_ro()
1295 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in sync_exception_state() local
1297 if ( !(nvmx->intr.intr_info & INTR_INFO_VALID_MASK) ) in sync_exception_state()
1300 switch ( MASK_EXTR(nvmx->intr.intr_info, INTR_INFO_INTR_TYPE_MASK) ) in sync_exception_state()
1307 nvmx->intr.intr_info); in sync_exception_state()
1314 set_vvmcs(v, VM_EXIT_INTR_INFO, nvmx->intr.intr_info); in sync_exception_state()
1315 set_vvmcs(v, VM_EXIT_INTR_ERROR_CODE, nvmx->intr.error_code); in sync_exception_state()
1320 set_vvmcs(v, VM_EXIT_INTR_INFO, nvmx->intr.intr_info); in sync_exception_state()
1324 nvmx->intr.intr_info); in sync_exception_state()
1331 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in nvmx_update_apicv() local
1336 nvmx->intr.source == hvm_intsrc_lapic && in nvmx_update_apicv()
1473 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in nvmx_handle_vmxon() local
1505 nvmx->vmxon_region_pa = gpa; in nvmx_handle_vmxon()
1525 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in nvmx_handle_vmxoff() local
1533 nvmx->vmxon_region_pa = INVALID_PADDR; in nvmx_handle_vmxoff()
1597 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in nvmx_vmresume() local
1602 ((nvmx->iobitmap[0] && nvmx->iobitmap[1]) || in nvmx_vmresume()
1615 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in nvmx_handle_vmresume() local
1635 launched = vvmcs_launched(&nvmx->launched_list, in nvmx_handle_vmresume()
1649 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in nvmx_handle_vmlaunch() local
1669 launched = vvmcs_launched(&nvmx->launched_list, in nvmx_handle_vmlaunch()
1680 if ( set_vvmcs_launched(&nvmx->launched_list, in nvmx_handle_vmlaunch()
1789 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in nvmx_handle_vmclear() local
1805 clear_vvmcs_launched(&nvmx->launched_list, in nvmx_handle_vmclear()
1818 clear_vvmcs_launched(&nvmx->launched_list, in nvmx_handle_vmclear()
2172 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in nvmx_hap_walk_L1_p2m() local
2188 nvmx->ept.exit_reason = exit_reason; in nvmx_hap_walk_L1_p2m()
2189 nvmx->ept.exit_qual = exit_qual; in nvmx_hap_walk_L1_p2m()
2208 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in nvmx_idtv_handling() local
2222 !(nvmx->intr.intr_info & INTR_INFO_VALID_MASK) : in nvmx_idtv_handling()
2256 struct nestedvmx *nvmx = &vcpu_2_nvmx(v); in nvmx_n2_vmexit_handler() local
2260 nvmx->intr.intr_info = 0; in nvmx_n2_vmexit_handler()
2261 nvmx->intr.error_code = 0; in nvmx_n2_vmexit_handler()
2331 else if ( !nvmx->msrbitmap ) in nvmx_n2_vmexit_handler()
2336 vmx_msr_is_intercepted(nvmx->msrbitmap, regs->ecx, in nvmx_n2_vmexit_handler()
2351 const u8 *bitmap = nvmx->iobitmap[port >> 15]; in nvmx_n2_vmexit_handler()