d0a92b353e
Clean up the error handling in kvm_init_vcpu so we can see what went wrong more easily. Make it take an Error ** and fill it out with what failed, including the cpu id, so you can tell if it only fails at a given ID. Replace the remaining DPRINTF by a trace. This turns a: kvm_init_vcpu failed: Invalid argument into: kvm_init_vcpu: kvm_get_vcpu failed (256): Invalid argument and with the trace you then get to see: 19049@1595520414.310107:kvm_init_vcpu index: 169 id: 212 19050@1595520414.310635:kvm_init_vcpu index: 170 id: 256 qemu-system-x86_64: kvm_init_vcpu: kvm_get_vcpu failed (256): Invalid argument which makes stuff a lot more obvious. Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20200723160915.129069-1-dgilbert@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
25 lines
598 B
C
25 lines
598 B
C
/*
|
|
* Accelerator CPUS Interface
|
|
*
|
|
* Copyright 2020 SUSE LLC
|
|
*
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
|
* See the COPYING file in the top-level directory.
|
|
*/
|
|
|
|
#ifndef KVM_CPUS_H
|
|
#define KVM_CPUS_H
|
|
|
|
#include "sysemu/cpus.h"
|
|
|
|
extern const CpusAccel kvm_cpus;
|
|
|
|
int kvm_init_vcpu(CPUState *cpu, Error **errp);
|
|
int kvm_cpu_exec(CPUState *cpu);
|
|
void kvm_destroy_vcpu(CPUState *cpu);
|
|
void kvm_cpu_synchronize_post_reset(CPUState *cpu);
|
|
void kvm_cpu_synchronize_post_init(CPUState *cpu);
|
|
void kvm_cpu_synchronize_pre_loadvm(CPUState *cpu);
|
|
|
|
#endif /* KVM_CPUS_H */
|