Lines Matching refs:c
26 static void init_vmx_capabilities(struct cpuinfo_x86 *c) in init_vmx_capabilities() argument
43 c->vmx_capability[PRIMARY_CTLS] = supported; in init_vmx_capabilities()
46 c->vmx_capability[SECONDARY_CTLS] = supported; in init_vmx_capabilities()
50 c->vmx_capability[TERTIARY_CTLS_LOW] = low; in init_vmx_capabilities()
51 c->vmx_capability[TERTIARY_CTLS_HIGH] = high; in init_vmx_capabilities()
65 c->vmx_capability[MISC_FEATURES] = (supported & 0xffff) | in init_vmx_capabilities()
71 c->vmx_capability[MISC_FEATURES] |= VMX_F(EPT_EXECUTE_ONLY); in init_vmx_capabilities()
73 c->vmx_capability[MISC_FEATURES] |= VMX_F(EPT_AD); in init_vmx_capabilities()
75 c->vmx_capability[MISC_FEATURES] |= VMX_F(EPT_1GB); in init_vmx_capabilities()
77 c->vmx_capability[MISC_FEATURES] |= VMX_F(EPT_5LEVEL); in init_vmx_capabilities()
80 if ((c->vmx_capability[PRIMARY_CTLS] & VMX_F(VIRTUAL_TPR)) && in init_vmx_capabilities()
81 (c->vmx_capability[SECONDARY_CTLS] & VMX_F(VIRT_APIC_ACCESSES))) in init_vmx_capabilities()
82 c->vmx_capability[MISC_FEATURES] |= VMX_F(FLEXPRIORITY); in init_vmx_capabilities()
84 if ((c->vmx_capability[PRIMARY_CTLS] & VMX_F(VIRTUAL_TPR)) && in init_vmx_capabilities()
85 (c->vmx_capability[SECONDARY_CTLS] & VMX_F(APIC_REGISTER_VIRT)) && in init_vmx_capabilities()
86 (c->vmx_capability[SECONDARY_CTLS] & VMX_F(VIRT_INTR_DELIVERY)) && in init_vmx_capabilities()
87 (c->vmx_capability[MISC_FEATURES] & VMX_F(POSTED_INTR))) in init_vmx_capabilities()
88 c->vmx_capability[MISC_FEATURES] |= VMX_F(APICV); in init_vmx_capabilities()
91 if (c->vmx_capability[PRIMARY_CTLS] & VMX_F(VIRTUAL_TPR)) in init_vmx_capabilities()
92 set_cpu_cap(c, X86_FEATURE_TPR_SHADOW); in init_vmx_capabilities()
93 if (c->vmx_capability[MISC_FEATURES] & VMX_F(FLEXPRIORITY)) in init_vmx_capabilities()
94 set_cpu_cap(c, X86_FEATURE_FLEXPRIORITY); in init_vmx_capabilities()
95 if (c->vmx_capability[MISC_FEATURES] & VMX_F(VIRTUAL_NMIS)) in init_vmx_capabilities()
96 set_cpu_cap(c, X86_FEATURE_VNMI); in init_vmx_capabilities()
97 if (c->vmx_capability[SECONDARY_CTLS] & VMX_F(EPT)) in init_vmx_capabilities()
98 set_cpu_cap(c, X86_FEATURE_EPT); in init_vmx_capabilities()
99 if (c->vmx_capability[MISC_FEATURES] & VMX_F(EPT_AD)) in init_vmx_capabilities()
100 set_cpu_cap(c, X86_FEATURE_EPT_AD); in init_vmx_capabilities()
101 if (c->vmx_capability[MISC_FEATURES] & VMX_F(VPID)) in init_vmx_capabilities()
102 set_cpu_cap(c, X86_FEATURE_VPID); in init_vmx_capabilities()
115 void init_ia32_feat_ctl(struct cpuinfo_x86 *c) in init_ia32_feat_ctl() argument
123 clear_cpu_cap(c, X86_FEATURE_VMX); in init_ia32_feat_ctl()
124 clear_cpu_cap(c, X86_FEATURE_SGX); in init_ia32_feat_ctl()
128 enable_vmx = cpu_has(c, X86_FEATURE_VMX) && in init_ia32_feat_ctl()
131 if (cpu_has(c, X86_FEATURE_SGX) && IS_ENABLED(CONFIG_X86_SGX)) { in init_ia32_feat_ctl()
138 enable_sgx_driver = cpu_has(c, X86_FEATURE_SGX_LC); in init_ia32_feat_ctl()
172 set_cpu_cap(c, X86_FEATURE_MSR_IA32_FEAT_CTL); in init_ia32_feat_ctl()
174 if (!cpu_has(c, X86_FEATURE_VMX)) in init_ia32_feat_ctl()
182 clear_cpu_cap(c, X86_FEATURE_VMX); in init_ia32_feat_ctl()
185 init_vmx_capabilities(c); in init_ia32_feat_ctl()
193 clear_cpu_cap(c, X86_FEATURE_SGX); in init_ia32_feat_ctl()
201 if (!cpu_has(c, X86_FEATURE_VMX) && enable_sgx_kvm) { in init_ia32_feat_ctl()
209 clear_cpu_cap(c, X86_FEATURE_SGX); in init_ia32_feat_ctl()
212 clear_cpu_cap(c, X86_FEATURE_SGX_LC); in init_ia32_feat_ctl()