pseries: Clean up error handling in xics_system_init()
Use the error handling infrastructure to pass an error out from try_create_xics() instead of assuming &error_abort - the caller is in a better position to decide on error handling policy. Also change the error handling from an &error_abort to &error_fatal, since this occurs during the initial machine construction and could be triggered by bad configuration rather than a program error. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
adf9ac50db
commit
1e49182d05
@ -112,7 +112,7 @@ static XICSState *try_create_xics(const char *type, int nr_servers,
|
||||
}
|
||||
|
||||
static XICSState *xics_system_init(MachineState *machine,
|
||||
int nr_servers, int nr_irqs)
|
||||
int nr_servers, int nr_irqs, Error **errp)
|
||||
{
|
||||
XICSState *icp = NULL;
|
||||
|
||||
@ -131,7 +131,7 @@ static XICSState *xics_system_init(MachineState *machine,
|
||||
}
|
||||
|
||||
if (!icp) {
|
||||
icp = try_create_xics(TYPE_XICS, nr_servers, nr_irqs, &error_abort);
|
||||
icp = try_create_xics(TYPE_XICS, nr_servers, nr_irqs, errp);
|
||||
}
|
||||
|
||||
return icp;
|
||||
@ -1813,7 +1813,7 @@ static void ppc_spapr_init(MachineState *machine)
|
||||
spapr->icp = xics_system_init(machine,
|
||||
DIV_ROUND_UP(max_cpus * kvmppc_smt_threads(),
|
||||
smp_threads),
|
||||
XICS_IRQS);
|
||||
XICS_IRQS, &error_fatal);
|
||||
|
||||
if (smc->dr_lmb_enabled) {
|
||||
spapr_validate_node_memory(machine, &error_fatal);
|
||||
|
Loading…
Reference in New Issue
Block a user