Lines Matching defs:vcpu

19 void vmx_leave_nested(struct kvm_vcpu *vcpu);
24 void nested_vmx_free_vcpu(struct kvm_vcpu *vcpu);
25 enum nvmx_vmentry_status nested_vmx_enter_non_root_mode(struct kvm_vcpu *vcpu,
27 bool nested_vmx_reflect_vmexit(struct kvm_vcpu *vcpu);
28 void nested_vmx_vmexit(struct kvm_vcpu *vcpu, u32 vm_exit_reason,
30 void nested_sync_vmcs12_to_shadow(struct kvm_vcpu *vcpu);
31 int vmx_set_vmx_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 data);
33 int get_vmx_mem_address(struct kvm_vcpu *vcpu, unsigned long exit_qualification,
35 void nested_vmx_pmu_entry_exit_ctls_update(struct kvm_vcpu *vcpu);
36 void nested_mark_vmcs12_pages_dirty(struct kvm_vcpu *vcpu);
37 bool nested_vmx_check_io_bitmaps(struct kvm_vcpu *vcpu, unsigned int port,
40 static inline struct vmcs12 *get_vmcs12(struct kvm_vcpu *vcpu)
42 return to_vmx(vcpu)->nested.cached_vmcs12;
45 static inline struct vmcs12 *get_shadow_vmcs12(struct kvm_vcpu *vcpu)
47 return to_vmx(vcpu)->nested.cached_shadow_vmcs12;
55 static inline int vmx_has_valid_vmcs12(struct kvm_vcpu *vcpu)
57 struct vcpu_vmx *vmx = to_vmx(vcpu);
65 return is_guest_mode(vcpu) || vmx->nested.current_vmptr != -1ull ||
69 static inline u16 nested_get_vpid02(struct kvm_vcpu *vcpu)
71 struct vcpu_vmx *vmx = to_vmx(vcpu);
76 static inline unsigned long nested_ept_get_eptp(struct kvm_vcpu *vcpu)
79 return get_vmcs12(vcpu)->ept_pointer;
82 static inline bool nested_ept_ad_enabled(struct kvm_vcpu *vcpu)
84 return nested_ept_get_eptp(vcpu) & VMX_EPTP_AD_ENABLE_BIT;
103 static inline unsigned nested_cpu_vmx_misc_cr3_count(struct kvm_vcpu *vcpu)
105 return vmx_misc_cr3_count(to_vmx(vcpu)->nested.msrs.misc_low);
113 static inline bool nested_cpu_has_vmwrite_any_field(struct kvm_vcpu *vcpu)
115 return to_vmx(vcpu)->nested.msrs.misc_low &
119 static inline bool nested_cpu_has_zero_length_injection(struct kvm_vcpu *vcpu)
121 return to_vmx(vcpu)->nested.msrs.misc_low & VMX_MISC_ZERO_LEN_INS;
124 static inline bool nested_cpu_supports_monitor_trap_flag(struct kvm_vcpu *vcpu)
126 return to_vmx(vcpu)->nested.msrs.procbased_ctls_high &
130 static inline bool nested_cpu_has_vmx_shadow_vmcs(struct kvm_vcpu *vcpu)
132 return to_vmx(vcpu)->nested.msrs.secondary_ctls_high &
232 static inline bool nested_exit_on_nmi(struct kvm_vcpu *vcpu)
234 return nested_cpu_has_nmi_exiting(get_vmcs12(vcpu));
241 static inline bool nested_exit_on_intr(struct kvm_vcpu *vcpu)
243 return get_vmcs12(vcpu)->pin_based_vm_exec_control &
256 static inline bool nested_guest_cr0_valid(struct kvm_vcpu *vcpu, unsigned long val)
258 u64 fixed0 = to_vmx(vcpu)->nested.msrs.cr0_fixed0;
259 u64 fixed1 = to_vmx(vcpu)->nested.msrs.cr0_fixed1;
260 struct vmcs12 *vmcs12 = get_vmcs12(vcpu);
262 if (to_vmx(vcpu)->nested.msrs.secondary_ctls_high &
270 static inline bool nested_host_cr0_valid(struct kvm_vcpu *vcpu, unsigned long val)
272 u64 fixed0 = to_vmx(vcpu)->nested.msrs.cr0_fixed0;
273 u64 fixed1 = to_vmx(vcpu)->nested.msrs.cr0_fixed1;
278 static inline bool nested_cr4_valid(struct kvm_vcpu *vcpu, unsigned long val)
280 u64 fixed0 = to_vmx(vcpu)->nested.msrs.cr4_fixed0;
281 u64 fixed1 = to_vmx(vcpu)->nested.msrs.cr4_fixed1;