mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-02 11:54:36 +08:00
KVM: selftests: Add vm_create_*() variants to expose/return 'struct vcpu'
Add VM creation helpers to expose/return 'struct vcpu' so that tests don't have to hardcode a VCPU_ID or make assumptions about what vCPU ID is used by the framework just to retrieve a vCPU the test created. Signed-off-by: Sean Christopherson <seanjc@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
6ebfef83f0
commit
f17686aac6
@ -628,6 +628,22 @@ struct kvm_vm *vm_create_with_vcpus(enum vm_guest_mode mode, uint32_t nr_vcpus,
|
||||
/* Create a default VM without any vcpus. */
|
||||
struct kvm_vm *vm_create_without_vcpus(enum vm_guest_mode mode, uint64_t pages);
|
||||
|
||||
/*
|
||||
* Create a VM with a single vCPU with reasonable defaults and @extra_mem_pages
|
||||
* additional pages of guest memory. Returns the VM and vCPU (via out param).
|
||||
*/
|
||||
struct kvm_vm *__vm_create_with_one_vcpu(struct vcpu **vcpu,
|
||||
uint64_t extra_mem_pages,
|
||||
void *guest_code);
|
||||
|
||||
static inline struct kvm_vm *vm_create_with_one_vcpu(struct vcpu **vcpu,
|
||||
void *guest_code)
|
||||
{
|
||||
return __vm_create_with_one_vcpu(vcpu, 0, guest_code);
|
||||
}
|
||||
|
||||
struct vcpu *vm_recreate_with_one_vcpu(struct kvm_vm *vm);
|
||||
|
||||
/*
|
||||
* Adds a vCPU with reasonable defaults (e.g. a stack)
|
||||
*
|
||||
|
@ -369,6 +369,16 @@ struct kvm_vm *vm_create_default(uint32_t vcpuid, uint64_t extra_mem_pages,
|
||||
(uint32_t []){ vcpuid });
|
||||
}
|
||||
|
||||
struct kvm_vm *__vm_create_with_one_vcpu(struct vcpu **vcpu,
|
||||
uint64_t extra_mem_pages,
|
||||
void *guest_code)
|
||||
{
|
||||
struct kvm_vm *vm = vm_create_default(0, extra_mem_pages, guest_code);
|
||||
|
||||
*vcpu = vcpu_get(vm, 0);
|
||||
return vm;
|
||||
}
|
||||
|
||||
/*
|
||||
* VM Restart
|
||||
*
|
||||
@ -403,6 +413,14 @@ void kvm_vm_restart(struct kvm_vm *vmp)
|
||||
}
|
||||
}
|
||||
|
||||
struct vcpu *vm_recreate_with_one_vcpu(struct kvm_vm *vm)
|
||||
{
|
||||
kvm_vm_restart(vm);
|
||||
|
||||
vm_vcpu_add(vm, 0);
|
||||
return vcpu_get(vm, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
* Userspace Memory Region Find
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user