[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1b274a70-e98a-41b2-93ec-537a2315619e@redhat.com>
Date: Thu, 1 Apr 2021 11:54:49 +0200
From: Emanuele Giuseppe Esposito <eesposit@...hat.com>
To: Vitaly Kuznetsov <vkuznets@...hat.com>, kvm@...r.kernel.org
Cc: Paolo Bonzini <pbonzini@...hat.com>,
Jonathan Corbet <corbet@....net>,
Sean Christopherson <seanjc@...gle.com>,
Jim Mattson <jmattson@...gle.com>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
"H. Peter Anvin" <hpa@...or.com>, Shuah Khan <shuah@...nel.org>,
Alexander Graf <graf@...zon.com>,
Andrew Jones <drjones@...hat.com>, linux-doc@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org
Subject: Re: [PATCH 4/4] selftests: kvm: add get_emulated_cpuid test
>> +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
Powered by blists - more mailing lists