KVM: selftests: Move setting a vCPU's entry point to a dedicated API
[linux-block.git] / tools / testing / selftests / kvm / lib / x86_64 / processor.c
index d8288374078e4b3ce888bed569c7e59192d43e7c..b9b6cb730a0889ac8f2dc4c47080b2112aafaf66 100644 (file)
@@ -562,8 +562,16 @@ void kvm_arch_vm_post_create(struct kvm_vm *vm)
        sync_global_to_guest(vm, host_cpu_is_amd);
 }
 
-struct kvm_vcpu *vm_arch_vcpu_add(struct kvm_vm *vm, uint32_t vcpu_id,
-                                 void *guest_code)
+void vcpu_arch_set_entry_point(struct kvm_vcpu *vcpu, void *guest_code)
+{
+       struct kvm_regs regs;
+
+       vcpu_regs_get(vcpu, &regs);
+       regs.rip = (unsigned long) guest_code;
+       vcpu_regs_set(vcpu, &regs);
+}
+
+struct kvm_vcpu *vm_arch_vcpu_add(struct kvm_vm *vm, uint32_t vcpu_id)
 {
        struct kvm_mp_state mp_state;
        struct kvm_regs regs;
@@ -597,7 +605,6 @@ struct kvm_vcpu *vm_arch_vcpu_add(struct kvm_vm *vm, uint32_t vcpu_id,
        vcpu_regs_get(vcpu, &regs);
        regs.rflags = regs.rflags | 0x2;
        regs.rsp = stack_vaddr;
-       regs.rip = (unsigned long) guest_code;
        vcpu_regs_set(vcpu, &regs);
 
        /* Setup the MP state */