• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/xnu-2422.115.4/osfmk/i386/vmx/

Lines Matching refs:specs

72 vmx_is_cr0_valid(vmx_specs_t *specs)
75 return (0 == ((~cr0 & specs->cr0_fixed_0)|(cr0 & ~specs->cr0_fixed_1)));
83 vmx_is_cr4_valid(vmx_specs_t *specs)
86 return (0 == ((~cr4 & specs->cr4_fixed_0)|(cr4 & ~specs->cr4_fixed_1)));
119 vmx_specs_t *specs = &current_cpu_datap()->cpu_vmx.specs;
131 if (specs->initialized)
134 specs->initialized = TRUE;
137 specs->vmx_present = vmx_is_available() && vmxon_is_enabled();
138 if (!specs->vmx_present)
144 specs->vmcs_id = (uint32_t)(msr_image & VMX_VCR_VMCS_REV_ID);
145 specs->vmcs_mem_type = bitfield(msr_image, VMX_VCR_VMCS_MEM_TYPE) != 0;
146 specs->vmcs_size = bitfield(msr_image, VMX_VCR_VMCS_SIZE);
150 specs->pin_exctls_0 = (uint32_t)(msr_image & 0xFFFFFFFF);
151 specs->pin_exctls_1 = (uint32_t)(msr_image >> 32);
155 specs->proc_exctls_0 = (uint32_t)(msr_image & 0xFFFFFFFF);
156 specs->proc_exctls_1 = (uint32_t)(msr_image >> 32);
160 specs->exit_ctls_0 = (uint32_t)(msr_image & 0xFFFFFFFF);
161 specs->exit_ctls_1 = (uint32_t)(msr_image >> 32);
165 specs->enter_ctls_0 = (uint32_t)(msr_image & 0xFFFFFFFF);
166 specs->enter_ctls_0 = (uint32_t)(msr_image >> 32);
170 specs->act_halt = bitfield(msr_image, VMX_VCR_ACT_HLT) != 0;
171 specs->act_shutdown = bitfield(msr_image, VMX_VCR_ACT_SHUTDOWN) != 0;
172 specs->act_SIPI = bitfield(msr_image, VMX_VCR_ACT_SIPI) != 0;
173 specs->act_CSTATE = bitfield(msr_image, VMX_VCR_ACT_CSTATE) != 0;
174 specs->cr3_targs = bitfield(msr_image, VMX_VCR_CR3_TARGS);
175 specs->max_msrs = (uint32_t)(512 * (1 + bitfield(msr_image, VMX_VCR_MAX_MSRS)));
176 specs->mseg_id = (uint32_t)bitfield(msr_image, VMX_VCR_MSEG_ID);
179 specs->cr0_fixed_0 = (uint32_t)rdmsr64(MSR_IA32_VMX_CR0_FIXED0) & 0xFFFFFFFF;
180 specs->cr0_fixed_1 = (uint32_t)rdmsr64(MSR_IA32_VMX_CR0_FIXED1) & 0xFFFFFFFF;
183 specs->cr4_fixed_0 = (uint32_t)rdmsr64(MSR_IA32_VMX_CR4_FIXED0) & 0xFFFFFFFF;
184 specs->cr4_fixed_1 = (uint32_t)rdmsr64(MSR_IA32_VMX_CR4_FIXED1) & 0xFFFFFFFF;
200 assert(cpu->specs.vmx_present);
211 assert(vmx_is_cr0_valid(&cpu->specs));
212 assert(vmx_is_cr4_valid(&cpu->specs));
256 *(uint32_t*)(cpu->vmxon_region) = cpu->specs.vmcs_id;
291 if (!cpu->specs.vmx_present)