vm_vcpu_add() just adds a vcpu to the vm, but doesn't do any additional vcpu setup. Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx> --- .../testing/selftests/kvm/include/kvm_util.h | 1 + tools/testing/selftests/kvm/lib/kvm_util.c | 34 ++++++++++++++----- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/tools/testing/selftests/kvm/include/kvm_util.h b/tools/testing/selftests/kvm/include/kvm_util.h index a82f877ea163..d16fdaad0511 100644 --- a/tools/testing/selftests/kvm/include/kvm_util.h +++ b/tools/testing/selftests/kvm/include/kvm_util.h @@ -88,6 +88,7 @@ int _vcpu_ioctl(struct kvm_vm *vm, uint32_t vcpuid, unsigned long ioctl, void *arg); void vm_ioctl(struct kvm_vm *vm, unsigned long ioctl, void *arg); void vm_mem_region_set_flags(struct kvm_vm *vm, uint32_t slot, uint32_t flags); +void vm_vcpu_add(struct kvm_vm *vm, uint32_t vcpuid); void vm_vcpu_add_with_memslots(struct kvm_vm *vm, uint32_t vcpuid, int pgd_memslot, int gdt_memslot); vm_vaddr_t vm_vaddr_alloc(struct kvm_vm *vm, size_t sz, vm_vaddr_t vaddr_min, diff --git a/tools/testing/selftests/kvm/lib/kvm_util.c b/tools/testing/selftests/kvm/lib/kvm_util.c index 98d664825aa7..0ac1ee93a519 100644 --- a/tools/testing/selftests/kvm/lib/kvm_util.c +++ b/tools/testing/selftests/kvm/lib/kvm_util.c @@ -754,24 +754,20 @@ static int vcpu_mmap_sz(void) } /* - * VM VCPU Add with provided memslots + * VM VCPU Add * * Input Args: * vm - Virtual Machine * vcpuid - VCPU ID - * pgd_memslot - Memory region slot for new virtual translation tables - * gdt_memslot - Memory region slot for data pages * * Output Args: None * * Return: None * - * Adds a virtual CPU to the VM specified by vm with the ID given by vcpuid - * and then sets it up with vcpu_setup() using the provided memslots for the - * MMU setup. + * Adds a virtual CPU to the VM specified by vm with the ID given by vcpuid. + * No additional VCPU setup is done. */ -void vm_vcpu_add_with_memslots(struct kvm_vm *vm, uint32_t vcpuid, - int pgd_memslot, int gdt_memslot) +void vm_vcpu_add(struct kvm_vm *vm, uint32_t vcpuid) { struct vcpu *vcpu; @@ -805,7 +801,29 @@ void vm_vcpu_add_with_memslots(struct kvm_vm *vm, uint32_t vcpuid, vm->vcpu_head->prev = vcpu; vcpu->next = vm->vcpu_head; vm->vcpu_head = vcpu; +} +/* + * VM VCPU Add with provided memslots + * + * Input Args: + * vm - Virtual Machine + * vcpuid - VCPU ID + * pgd_memslot - Memory region slot for new virtual translation tables + * gdt_memslot - Memory region slot for data pages + * + * Output Args: None + * + * Return: None + * + * Adds a virtual CPU to the VM specified by vm with the ID given by vcpuid + * and then sets it up with vcpu_setup() using the provided memslots for the + * MMU setup. + */ +void vm_vcpu_add_with_memslots(struct kvm_vm *vm, uint32_t vcpuid, + int pgd_memslot, int gdt_memslot) +{ + vm_vcpu_add(vm, vcpuid); vcpu_setup(vm, vcpuid, pgd_memslot, gdt_memslot); } -- 2.20.1