Introduce helper to allow specify VM memory size. Signed-off-by: Peter Xu <peterx@xxxxxxxxxx> --- tools/testing/selftests/kvm/include/kvm_util.h | 1 + tools/testing/selftests/kvm/lib/x86.c | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/kvm/include/kvm_util.h b/tools/testing/selftests/kvm/include/kvm_util.h index d8ca48687e35..a8560e3d7be6 100644 --- a/tools/testing/selftests/kvm/include/kvm_util.h +++ b/tools/testing/selftests/kvm/include/kvm_util.h @@ -128,6 +128,7 @@ kvm_get_supported_cpuid_entry(uint32_t function) } struct kvm_vm *vm_create_default(uint32_t vcpuid, void *guest_code); +struct kvm_vm *_vm_create_default(uint32_t vcpuid, uint64_t npages, void *guest_code); void vm_vcpu_add_default(struct kvm_vm *vm, uint32_t vcpuid, void *guest_code); typedef void (*vmx_guest_code_t)(vm_vaddr_t vmxon_vaddr, diff --git a/tools/testing/selftests/kvm/lib/x86.c b/tools/testing/selftests/kvm/lib/x86.c index e38345252df5..ee70000ecad0 100644 --- a/tools/testing/selftests/kvm/lib/x86.c +++ b/tools/testing/selftests/kvm/lib/x86.c @@ -702,6 +702,7 @@ void vcpu_set_cpuid(struct kvm_vm *vm, * * Input Args: * vcpuid - The id of the single VCPU to add to the VM. + * npages - VM memory size in number of guest pages * guest_code - The vCPU's entry point * * Output Args: None @@ -709,12 +710,13 @@ void vcpu_set_cpuid(struct kvm_vm *vm, * Return: * Pointer to opaque structure that describes the created VM. */ -struct kvm_vm *vm_create_default(uint32_t vcpuid, void *guest_code) +struct kvm_vm *_vm_create_default(uint32_t vcpuid, uint64_t npages, + void *guest_code) { struct kvm_vm *vm; /* Create VM */ - vm = vm_create(VM_MODE_FLAT48PG, DEFAULT_GUEST_PHY_PAGES, O_RDWR); + vm = vm_create(VM_MODE_FLAT48PG, npages, O_RDWR); /* Setup guest code */ kvm_vm_elf_load(vm, program_invocation_name, 0, 0); @@ -728,6 +730,13 @@ struct kvm_vm *vm_create_default(uint32_t vcpuid, void *guest_code) return vm; } +/* Please refer to _vm_create_default() */ +struct kvm_vm *vm_create_default(uint32_t vcpuid, void *guest_code) +{ + return _vm_create_default(vcpuid, DEFAULT_GUEST_PHY_PAGES, + guest_code); +} + struct kvm_x86_state { struct kvm_vcpu_events events; struct kvm_mp_state mp_state; -- 2.17.1