@@ -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,
@@ -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);
}
vm_vcpu_add() just adds a vcpu to the vm, but doesn't do any additional vcpu setup. Signed-off-by: Andrew Jones <drjones@redhat.com> --- .../testing/selftests/kvm/include/kvm_util.h | 1 + tools/testing/selftests/kvm/lib/kvm_util.c | 34 ++++++++++++++----- 2 files changed, 27 insertions(+), 8 deletions(-)