Lines Matching defs:eax
47 u32 eax, ebx, ecx, edx, offset;
48 cpuid_count(0xD, feature_bit, &eax, &ebx, &ecx, &edx);
54 ret = max(ret, offset + eax);
147 int vaddr_bits = (best->eax & 0xff00) >> 8;
161 xfeatures = best->eax | ((u64)best->edx << 32);
184 e2[i].eax != orig->eax || e2[i].ebx != orig->ebx ||
211 cpuid.limit = entry->eax;
247 vcpu->arch.pv_cpuid.features = best->eax;
262 return (best->eax | ((u64)best->edx << 32)) & kvm_caps.supported_xcr0;
297 (best->eax & (1 << KVM_FEATURE_PV_UNHALT)))
298 best->eax &= ~(1 << KVM_FEATURE_PV_UNHALT);
321 return entry && entry->eax == HYPERV_CPUID_SIGNATURE_EAX;
390 if (!best || best->eax < 0x80000008)
394 return best->eax & 0xff;
482 e2[i].eax = e[i].eax;
550 &entry.eax, &entry.ebx, &entry.ecx, &entry.edx);
859 &entry->eax, &entry->ebx, &entry->ecx, &entry->edx);
881 entry->eax = 7;
890 entry->eax = 0;
919 entry->eax = min(entry->eax, 0x1fU);
941 WARN_ON_ONCE((entry->eax & 0xff) > 1);
950 for (i = 1; entry->eax & 0x1f; ++i) {
957 entry->eax = 0x4; /* allow ARAT */
964 max_idx = entry->eax = min(entry->eax, 2u);
988 entry->eax = 0;
992 union cpuid10_eax eax;
996 entry->eax = entry->ebx = entry->ecx = entry->edx = 0;
1000 eax.split.version_id = kvm_pmu_cap.version;
1001 eax.split.num_counters = kvm_pmu_cap.num_counters_gp;
1002 eax.split.bit_width = kvm_pmu_cap.bit_width_gp;
1003 eax.split.mask_length = kvm_pmu_cap.events_mask_len;
1012 entry->eax = eax.full;
1024 entry->eax = entry->ebx = entry->ecx = 0;
1030 entry->eax &= permitted_xcr0;
1042 if (entry->eax & (F(XSAVES)|F(XSAVEC)))
1073 if (WARN_ON_ONCE(!entry->eax || (entry->ecx & 0x1) != s_state)) {
1087 entry->eax = entry->ebx = entry->ecx = entry->edx = 0;
1111 entry->eax &= SGX_ATTR_PRIV_MASK | SGX_ATTR_UNPRIV_MASK;
1117 entry->eax = entry->ebx = entry->ecx = entry->edx = 0;
1121 for (i = 1, max_idx = entry->eax; i <= max_idx; ++i) {
1129 entry->eax = entry->ebx = entry->ecx = entry->edx = 0;
1133 for (i = 1, max_idx = entry->eax; i <= max_idx; ++i) {
1140 entry->eax = entry->ebx = entry->ecx = entry->edx = 0;
1146 entry->eax = KVM_CPUID_FEATURES;
1153 entry->eax = (1 << KVM_FEATURE_CLOCKSOURCE) |
1168 entry->eax |= (1 << KVM_FEATURE_STEAL_TIME);
1175 entry->eax = min(entry->eax, 0x80000022);
1189 if (entry->eax >= 0x8000001d &&
1192 entry->eax = max(entry->eax, 0x80000021);
1211 entry->eax = entry->ebx = entry->ecx = 0;
1214 unsigned g_phys_as = (entry->eax >> 16) & 0xff;
1215 unsigned virt_as = max((entry->eax >> 8) & 0xff, 48U);
1216 unsigned phys_as = entry->eax & 0xff;
1233 entry->eax = g_phys_as | (virt_as << 8);
1241 entry->eax = entry->ebx = entry->ecx = entry->edx = 0;
1244 entry->eax = 1; /* SVM revision 1 */
1254 entry->eax &= GENMASK(2, 0);
1259 entry->eax = entry->ebx = entry->ecx = 0;
1264 entry->eax = entry->ebx = entry->ecx = entry->edx = 0;
1277 entry->eax = entry->ebx = entry->ecx = entry->edx = 0;
1289 entry->eax = entry->ebx;
1308 entry->eax = min(entry->eax, 0xC0000004);
1319 entry->eax = entry->ebx = entry->ecx = entry->edx = 0;
1356 limit = array->entries[array->nent - 1].eax;
1501 if (class && function <= class->eax)
1510 *fn_ptr = basic->eax;
1517 return kvm_find_cpuid_entry_index(vcpu, basic->eax, index);
1520 bool kvm_cpuid(struct kvm_vcpu *vcpu, u32 *eax, u32 *ebx,
1523 u32 orig_function = *eax, function = *eax, index = *ecx;
1536 *eax = entry->eax;
1550 *eax = *ebx = *ecx = *edx = 0;
1566 trace_kvm_cpuid(orig_function, index, *eax, *ebx, *ecx, *edx, exact,
1574 u32 eax, ebx, ecx, edx;
1579 eax = kvm_rax_read(vcpu);
1581 kvm_cpuid(vcpu, &eax, &ebx, &ecx, &edx, false);
1582 kvm_rax_write(vcpu, eax);