handle some errors properly so avoid exit() during initialization. this fixes issue #237

This commit is contained in:
Nguyen Anh Quynh
2015-11-12 01:43:41 +08:00
parent 116d96692d
commit 2f297bdd3a
38 changed files with 203 additions and 125 deletions

View File

@ -783,7 +783,7 @@ static bool sparc_cpu_has_work(CPUState *cs)
cpu_interrupts_enabled(env);
}
static void sparc_cpu_realizefn(struct uc_struct *uc, DeviceState *dev, Error **errp)
static int sparc_cpu_realizefn(struct uc_struct *uc, DeviceState *dev, Error **errp)
{
SPARCCPUClass *scc = SPARC_CPU_GET_CLASS(uc, dev);
#if defined(CONFIG_USER_ONLY)
@ -798,6 +798,8 @@ static void sparc_cpu_realizefn(struct uc_struct *uc, DeviceState *dev, Error **
qemu_init_vcpu(CPU(dev));
scc->parent_realize(uc, dev, errp);
return 0;
}
static void sparc_cpu_initfn(struct uc_struct *uc, Object *obj, void *opaque)