Commit 8b026741 authored by Sean Christopherson's avatar Sean Christopherson
Browse files

KVM: selftests: Rename and tweak get_cpuid() to get_cpuid_entry()



Rename get_cpuid() to get_cpuid_entry() to better reflect its behavior.
Leave set_cpuid() as is to avoid unnecessary churn, that helper will soon
be removed entirely.

Oppurtunistically tweak the implementation to avoid using a temporary
variable in anticipation of taggin the input @cpuid with "const".

No functional change intended.

Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
Link: https://lore.kernel.org/r/20220614200707.3315957-21-seanjc@google.com
parent d838b313
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -766,8 +766,8 @@ void vm_set_page_table_entry(struct kvm_vm *vm, struct kvm_vcpu *vcpu,
/*
 * get_cpuid() - find matching CPUID entry and return pointer to it.
 */
struct kvm_cpuid_entry2 *get_cpuid(struct kvm_cpuid2 *cpuid, uint32_t function,
				   uint32_t index);
struct kvm_cpuid_entry2 *get_cpuid_entry(struct kvm_cpuid2 *cpuid,
					 uint32_t function, uint32_t index);
/*
 * set_cpuid() - overwrites a matching cpuid entry with the provided value.
 *		 matches based on ent->function && ent->index. returns true
+5 −6
Original line number Diff line number Diff line
@@ -1207,16 +1207,15 @@ void assert_on_unhandled_exception(struct kvm_vcpu *vcpu)
	}
}

struct kvm_cpuid_entry2 *get_cpuid(struct kvm_cpuid2 *cpuid, uint32_t function,
				   uint32_t index)
struct kvm_cpuid_entry2 *get_cpuid_entry(struct kvm_cpuid2 *cpuid,
					 uint32_t function, uint32_t index)
{
	int i;

	for (i = 0; i < cpuid->nent; i++) {
		struct kvm_cpuid_entry2 *cur = &cpuid->entries[i];

		if (cur->function == function && cur->index == index)
			return cur;
		if (cpuid->entries[i].function == function &&
		    cpuid->entries[i].index == index)
			return &cpuid->entries[i];
	}

	TEST_FAIL("CPUID function 0x%x index 0x%x not found ", function, index);
+2 −2
Original line number Diff line number Diff line
@@ -156,7 +156,7 @@ static void set_cpuid_after_run(struct kvm_vcpu *vcpu)
	TEST_ASSERT(!rc, "Setting unmodified CPUID after KVM_RUN failed: %d", rc);

	/* Changing CPU features is forbidden */
	ent = get_cpuid(cpuid, 0x7, 0);
	ent = get_cpuid_entry(cpuid, 0x7, 0);
	ebx = ent->ebx;
	ent->ebx--;
	rc = __vcpu_set_cpuid(vcpu);
@@ -164,7 +164,7 @@ static void set_cpuid_after_run(struct kvm_vcpu *vcpu)
	ent->ebx = ebx;

	/* Changing MAXPHYADDR is forbidden */
	ent = get_cpuid(cpuid, 0x80000008, 0);
	ent = get_cpuid_entry(cpuid, 0x80000008, 0);
	eax = ent->eax;
	x = eax & 0xff;
	ent->eax = (eax & ~0xffu) | (x - 1);