Lines Matching refs:e2
170 static int kvm_cpuid_check_equal(struct kvm_vcpu *vcpu, struct kvm_cpuid_entry2 *e2,
181 if (e2[i].function != orig->function ||
182 e2[i].index != orig->index ||
183 e2[i].flags != orig->flags ||
184 e2[i].eax != orig->eax || e2[i].ebx != orig->ebx ||
185 e2[i].ecx != orig->ecx || e2[i].edx != orig->edx)
409 static int kvm_set_cpuid(struct kvm_vcpu *vcpu, struct kvm_cpuid_entry2 *e2,
414 __kvm_update_cpuid_runtime(vcpu, e2, nent);
428 r = kvm_cpuid_check_equal(vcpu, e2, nent);
432 kvfree(e2);
436 if (kvm_cpuid_has_hyperv(e2, nent)) {
442 r = kvm_check_cpuid(vcpu, e2, nent);
447 vcpu->arch.cpuid_entries = e2;
464 struct kvm_cpuid_entry2 *e2 = NULL;
474 e2 = kvmalloc_array(cpuid->nent, sizeof(*e2), GFP_KERNEL_ACCOUNT);
475 if (!e2) {
481 e2[i].function = e[i].function;
482 e2[i].eax = e[i].eax;
483 e2[i].ebx = e[i].ebx;
484 e2[i].ecx = e[i].ecx;
485 e2[i].edx = e[i].edx;
486 e2[i].index = 0;
487 e2[i].flags = 0;
488 e2[i].padding[0] = 0;
489 e2[i].padding[1] = 0;
490 e2[i].padding[2] = 0;
493 r = kvm_set_cpuid(vcpu, e2, cpuid->nent);
495 kvfree(e2);
507 struct kvm_cpuid_entry2 *e2 = NULL;
514 e2 = vmemdup_user(entries, array_size(sizeof(*e2), cpuid->nent));
515 if (IS_ERR(e2))
516 return PTR_ERR(e2);
519 r = kvm_set_cpuid(vcpu, e2, cpuid->nent);
521 kvfree(e2);