mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-23 05:56:14 -04:00
KVM: selftests: Make a generic helper to get vm guest mode strings
For generality and conciseness, make an API which can be used in all kvm libs and selftests to get vm guest mode strings. And the index i is checked in the API in case of possiable faults. Suggested-by: Sean Christopherson <seanjc@google.com> Signed-off-by: Yanan Wang <wangyanan55@huawei.com> Reviewed-by: Ben Gardon <bgardon@google.com> Reviewed-by: Andrew Jones <drjones@redhat.com> Message-Id: <20210330080856.14940-6-wangyanan55@huawei.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
committed by
Paolo Bonzini
parent
c412d6ac28
commit
6436430e29
@@ -143,17 +143,24 @@ static void vm_open(struct kvm_vm *vm, int perm)
|
||||
"rc: %i errno: %i", vm->fd, errno);
|
||||
}
|
||||
|
||||
const char * const vm_guest_mode_string[] = {
|
||||
"PA-bits:52, VA-bits:48, 4K pages",
|
||||
"PA-bits:52, VA-bits:48, 64K pages",
|
||||
"PA-bits:48, VA-bits:48, 4K pages",
|
||||
"PA-bits:48, VA-bits:48, 64K pages",
|
||||
"PA-bits:40, VA-bits:48, 4K pages",
|
||||
"PA-bits:40, VA-bits:48, 64K pages",
|
||||
"PA-bits:ANY, VA-bits:48, 4K pages",
|
||||
};
|
||||
_Static_assert(sizeof(vm_guest_mode_string)/sizeof(char *) == NUM_VM_MODES,
|
||||
"Missing new mode strings?");
|
||||
const char *vm_guest_mode_string(uint32_t i)
|
||||
{
|
||||
static const char * const strings[] = {
|
||||
[VM_MODE_P52V48_4K] = "PA-bits:52, VA-bits:48, 4K pages",
|
||||
[VM_MODE_P52V48_64K] = "PA-bits:52, VA-bits:48, 64K pages",
|
||||
[VM_MODE_P48V48_4K] = "PA-bits:48, VA-bits:48, 4K pages",
|
||||
[VM_MODE_P48V48_64K] = "PA-bits:48, VA-bits:48, 64K pages",
|
||||
[VM_MODE_P40V48_4K] = "PA-bits:40, VA-bits:48, 4K pages",
|
||||
[VM_MODE_P40V48_64K] = "PA-bits:40, VA-bits:48, 64K pages",
|
||||
[VM_MODE_PXXV48_4K] = "PA-bits:ANY, VA-bits:48, 4K pages",
|
||||
};
|
||||
_Static_assert(sizeof(strings)/sizeof(char *) == NUM_VM_MODES,
|
||||
"Missing new mode strings?");
|
||||
|
||||
TEST_ASSERT(i < NUM_VM_MODES, "Guest mode ID %d too big", i);
|
||||
|
||||
return strings[i];
|
||||
}
|
||||
|
||||
const struct vm_guest_mode_params vm_guest_mode_params[] = {
|
||||
{ 52, 48, 0x1000, 12 },
|
||||
|
||||
Reference in New Issue
Block a user