Messages in this thread | | | Subject | Re: [PATCH 4/4] selftests: kvm: add get_emulated_cpuid test | From | Emanuele Giuseppe Esposito <> | Date | Thu, 1 Apr 2021 11:54:49 +0200 |
| |
>> +static void check_cpuid(struct kvm_cpuid2 *cpuid, struct kvm_cpuid_entry2 *entrie) >> +{ >> + int i; >> + >> + for (i = 0; i < cpuid->nent; i++) { >> + if (cpuid->entries[i].function == entrie->function && >> + cpuid->entries[i].index == entrie->index) { >> + if (is_cpuid_mangled(entrie)) >> + return; >> + >> + TEST_ASSERT(cpuid->entries[i].eax == entrie->eax && >> + cpuid->entries[i].ebx == entrie->ebx && >> + cpuid->entries[i].ecx == entrie->ecx && >> + cpuid->entries[i].edx == entrie->edx, >> + "CPUID 0x%x.%x differ: 0x%x:0x%x:0x%x:0x%x vs 0x%x:0x%x:0x%x:0x%x", >> + entrie->function, entrie->index, >> + cpuid->entries[i].eax, cpuid->entries[i].ebx, >> + cpuid->entries[i].ecx, cpuid->entries[i].edx, >> + entrie->eax, entrie->ebx, entrie->ecx, entrie->edx); >> + return; >> + } >> + } >> + >> + TEST_ASSERT(false, "CPUID 0x%x.%x not found", entrie->function, entrie->index); >> +} >> + >> +static void compare_cpuids(struct kvm_cpuid2 *cpuid1, >> + struct kvm_cpuid2 *cpuid2) >> +{ >> + int i; >> + >> + for (i = 0; i < cpuid1->nent; i++) >> + check_cpuid(cpuid2, &cpuid1->entries[i]); >> + >> + for (i = 0; i < cpuid2->nent; i++) >> + check_cpuid(cpuid1, &cpuid2->entries[i]); >> +} > > CPUID comparison here seems to be borrowed from get_cpuid_test.c, I > think we can either put it to a library or (my preference) just merge > these two selftests together. 'get_cpuid_test' name is generic enough to > be used for KVM_GET_EMULATED_CPUID too.
Yes it is identical. I agree with you, I will merge the test in get_cpuid_test.c
Emanuele
| |