Home | History | Annotate | Download | only in x86

Lines Matching defs:eax

849 svm_inkernel_exec_cpuid(struct svm_cpudata *cpudata, uint64_t eax, uint64_t ecx)
853 x86_cpuid2(eax, ecx, descs);
861 svm_inkernel_handle_cpuid(struct nvmm_cpu *vcpu, uint64_t eax, uint64_t ecx)
868 * `If a value entered for CPUID.EAX is higher than the maximum
883 if (eax < 0x40000000) { /* basic CPUID range */
884 if (__predict_false(eax > svm_cpuid_max_basic)) {
885 eax = svm_cpuid_max_basic;
886 svm_inkernel_exec_cpuid(cpudata, eax, ecx);
888 } else if (eax < 0x80000000) { /* hypervisor CPUID range */
889 if (__predict_false(eax > SVM_CPUID_MAX_HYPERVISOR)) {
890 eax = svm_cpuid_max_basic;
891 svm_inkernel_exec_cpuid(cpudata, eax, ecx);
894 if (__predict_false(eax > svm_cpuid_max_extended)) {
895 eax = svm_cpuid_max_basic;
896 svm_inkernel_exec_cpuid(cpudata, eax, ecx);
900 switch (eax) {
909 cpudata->vmcb->state.rax &= nvmm_cpuid_00000001.eax;
1024 cpudata->vmcb->state.rax &= nvmm_cpuid_80000001.eax;
1036 cpudata->vmcb->state.rax &= nvmm_cpuid_80000007.eax;
1042 cpudata->vmcb->state.rax &= nvmm_cpuid_80000008.eax;
1106 uint64_t eax, ecx;
1109 eax = cpudata->vmcb->state.rax;
1111 svm_inkernel_exec_cpuid(cpudata, eax, ecx);
1112 svm_inkernel_handle_cpuid(vcpu, eax, ecx);
1119 if (cpuid->leaf != eax) {
1130 cpudata->vmcb->state.rax &= ~cpuid->u.mask.del.eax;
1136 cpudata->vmcb->state.rax |= cpuid->u.mask.set.eax;
2390 ((cpuid->u.mask.set.eax & cpuid->u.mask.del.eax) ||