Lines Matching refs:hvm_vmx

519     struct arch_vmx_struct *arch_vmx = &v->arch.hvm_vmx;  in __vmx_clear_vmcs()
542 int cpu = v->arch.hvm_vmx.active_cpu; in vmx_clear_vmcs()
554 if ( v->arch.hvm_vmx.active_cpu == -1 ) in vmx_load_vmcs()
556 list_add(&v->arch.hvm_vmx.active_list, &this_cpu(active_vmcs_list)); in vmx_load_vmcs()
557 v->arch.hvm_vmx.active_cpu = smp_processor_id(); in vmx_load_vmcs()
560 ASSERT(v->arch.hvm_vmx.active_cpu == smp_processor_id()); in vmx_load_vmcs()
562 __vmptrld(v->arch.hvm_vmx.vmcs_pa); in vmx_load_vmcs()
563 this_cpu(current_vmcs) = v->arch.hvm_vmx.vmcs_pa; in vmx_load_vmcs()
576 if ( v->arch.hvm_vmx.vmcs_pa == this_cpu(current_vmcs) ) in vmx_vmcs_reload()
718 struct vcpu, arch.hvm_vmx.active_list)); in vmx_cpu_down()
742 return v->arch.hvm_vmx.vmcs_pa == this_cpu(current_vmcs); in vmx_vmcs_try_enter()
756 spin_lock(&v->arch.hvm_vmx.vmcs_lock); in vmx_vmcs_try_enter()
794 spin_unlock(&v->arch.hvm_vmx.vmcs_lock); in vmx_vmcs_exit()
826 struct vmx_msr_bitmap *msr_bitmap = v->arch.hvm_vmx.msr_bitmap; in vmx_clear_msr_intercept()
858 struct vmx_msr_bitmap *msr_bitmap = v->arch.hvm_vmx.msr_bitmap; in vmx_set_msr_intercept()
903 struct arch_vmx_struct *vmx = &current->arch.hvm_vmx; in vmx_vmcs_switch()
926 __vmptrld(v->arch.hvm_vmx.vmcs_shadow_maddr); in virtual_vmcs_enter()
933 __vmpclear(v->arch.hvm_vmx.vmcs_shadow_maddr); in virtual_vmcs_exit()
986 v->arch.hvm_vmx.pi_desc.nv = posted_intr_vector; in pi_desc_init()
992 v->arch.hvm_vmx.pi_desc.ndst = APIC_INVALID_DEST; in pi_desc_init()
1008 v->arch.hvm_vmx.exec_control = vmx_cpu_based_exec_control; in construct_vmcs()
1010 v->arch.hvm_vmx.exec_control |= CPU_BASED_RDTSC_EXITING; in construct_vmcs()
1012 v->arch.hvm_vmx.secondary_exec_control = vmx_secondary_exec_control; in construct_vmcs()
1018 v->arch.hvm_vmx.secondary_exec_control &= in construct_vmcs()
1022 v->arch.hvm_vmx.secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_VPID; in construct_vmcs()
1026 v->arch.hvm_vmx.exec_control &= ~(CPU_BASED_INVLPG_EXITING | in construct_vmcs()
1032 v->arch.hvm_vmx.secondary_exec_control &= in construct_vmcs()
1042 v->arch.hvm_vmx.secondary_exec_control &= in construct_vmcs()
1046 v->arch.hvm_vmx.exec_control &= ~CPU_BASED_MONITOR_TRAP_FLAG; in construct_vmcs()
1049 v->arch.hvm_vmx.secondary_exec_control &= in construct_vmcs()
1056 v->arch.hvm_vmx.secondary_exec_control &= in construct_vmcs()
1060 v->arch.hvm_vmx.exec_control &= ~CPU_BASED_TPR_SHADOW; in construct_vmcs()
1080 v->arch.hvm_vmx.secondary_exec_control); in construct_vmcs()
1094 v->arch.hvm_vmx.msr_bitmap = msr_bitmap; in construct_vmcs()
1119 bitmap_zero(v->arch.hvm_vmx.eoi_exit_bitmap, NR_VECTORS); in construct_vmcs()
1120 for ( i = 0; i < ARRAY_SIZE(v->arch.hvm_vmx.eoi_exit_bitmap); ++i ) in construct_vmcs()
1132 __vmwrite(PI_DESC_ADDR, virt_to_maddr(&v->arch.hvm_vmx.pi_desc)); in construct_vmcs()
1137 v->arch.hvm_vmx.secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_PML; in construct_vmcs()
1149 v->arch.hvm_vmx.host_cr0 = read_cr0() | X86_CR0_TS; in construct_vmcs()
1150 __vmwrite(HOST_CR0, v->arch.hvm_vmx.host_cr0); in construct_vmcs()
1227 v->arch.hvm_vmx.exception_bitmap = HVM_TRAP_MASK in construct_vmcs()
1303 msr_count = curr->arch.hvm_vmx.msr_count; in vmx_find_msr()
1304 msr_area = curr->arch.hvm_vmx.msr_area; in vmx_find_msr()
1309 msr_count = curr->arch.hvm_vmx.host_msr_count; in vmx_find_msr()
1310 msr_area = curr->arch.hvm_vmx.host_msr_area; in vmx_find_msr()
1354 msr_count = &curr->arch.hvm_vmx.msr_count; in vmx_add_msr()
1355 msr_area = &curr->arch.hvm_vmx.msr_area; in vmx_add_msr()
1360 msr_count = &curr->arch.hvm_vmx.host_msr_count; in vmx_add_msr()
1361 msr_area = &curr->arch.hvm_vmx.host_msr_area; in vmx_add_msr()
1411 if ( !test_and_set_bit(vector, v->arch.hvm_vmx.eoi_exit_bitmap) ) in vmx_set_eoi_exit_bitmap()
1413 &v->arch.hvm_vmx.eoi_exitmap_changed); in vmx_set_eoi_exit_bitmap()
1418 if ( test_and_clear_bit(vector, v->arch.hvm_vmx.eoi_exit_bitmap) ) in vmx_clear_eoi_exit_bitmap()
1420 &v->arch.hvm_vmx.eoi_exitmap_changed); in vmx_clear_eoi_exit_bitmap()
1425 return !!(v->arch.hvm_vmx.secondary_exec_control & in vmx_vcpu_pml_enabled()
1434 v->arch.hvm_vmx.pml_pg = v->domain->arch.paging.alloc_page(v->domain); in vmx_vcpu_enable_pml()
1435 if ( !v->arch.hvm_vmx.pml_pg ) in vmx_vcpu_enable_pml()
1440 __vmwrite(PML_ADDRESS, page_to_mfn(v->arch.hvm_vmx.pml_pg) << PAGE_SHIFT); in vmx_vcpu_enable_pml()
1443 v->arch.hvm_vmx.secondary_exec_control |= SECONDARY_EXEC_ENABLE_PML; in vmx_vcpu_enable_pml()
1446 v->arch.hvm_vmx.secondary_exec_control); in vmx_vcpu_enable_pml()
1463 v->arch.hvm_vmx.secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_PML; in vmx_vcpu_disable_pml()
1465 v->arch.hvm_vmx.secondary_exec_control); in vmx_vcpu_disable_pml()
1469 v->domain->arch.paging.free_page(v->domain, v->arch.hvm_vmx.pml_pg); in vmx_vcpu_disable_pml()
1470 v->arch.hvm_vmx.pml_pg = NULL; in vmx_vcpu_disable_pml()
1489 pml_buf = __map_domain_page(v->arch.hvm_vmx.pml_pg); in vmx_vcpu_flush_pml_buffer()
1630 struct arch_vmx_struct *arch_vmx = &v->arch.hvm_vmx; in vmx_create_vmcs()
1652 struct arch_vmx_struct *arch_vmx = &v->arch.hvm_vmx; in vmx_destroy_vmcs()
1658 free_xenheap_page(v->arch.hvm_vmx.host_msr_area); in vmx_destroy_vmcs()
1659 free_xenheap_page(v->arch.hvm_vmx.msr_area); in vmx_destroy_vmcs()
1660 free_xenheap_page(v->arch.hvm_vmx.msr_bitmap); in vmx_destroy_vmcs()
1670 curr->arch.hvm_vmx.launched ? "RESUME" : "LAUNCH", error); in vmx_vmentry_failure()
1683 if ( v->arch.hvm_vmx.active_cpu == smp_processor_id() ) in vmx_do_resume()
1700 int cpu = v->arch.hvm_vmx.active_cpu; in vmx_do_resume()
1715 v->arch.hvm_vmx.hostenv_migrated = 1; in vmx_do_resume()
1795 if ( (v->arch.hvm_vmx.secondary_exec_control & in vmcs_dump_vcpu()
1836 if ( v->arch.hvm_vmx.secondary_exec_control & in vmcs_dump_vcpu()
1887 if ( (v->arch.hvm_vmx.exec_control & CPU_BASED_TPR_SHADOW) || in vmcs_dump_vcpu()
1891 if ( (v->arch.hvm_vmx.secondary_exec_control & in vmcs_dump_vcpu()
1902 if ( v->arch.hvm_vmx.secondary_exec_control & in vmcs_dump_vcpu()
1906 if ( v->arch.hvm_vmx.secondary_exec_control & in vmcs_dump_vcpu()