提交 1e49182d 编写于 作者: D David Gibson

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: NDavid Gibson <david@gibson.dropbear.id.au>
Reviewed-by: NThomas Huth <thuth@redhat.com>
Reviewed-by: NAlexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
上级 adf9ac50
...@@ -112,7 +112,7 @@ static XICSState *try_create_xics(const char *type, int nr_servers, ...@@ -112,7 +112,7 @@ static XICSState *try_create_xics(const char *type, int nr_servers,
} }
static XICSState *xics_system_init(MachineState *machine, static XICSState *xics_system_init(MachineState *machine,
int nr_servers, int nr_irqs) int nr_servers, int nr_irqs, Error **errp)
{ {
XICSState *icp = NULL; XICSState *icp = NULL;
...@@ -131,7 +131,7 @@ static XICSState *xics_system_init(MachineState *machine, ...@@ -131,7 +131,7 @@ static XICSState *xics_system_init(MachineState *machine,
} }
if (!icp) { 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; return icp;
...@@ -1813,7 +1813,7 @@ static void ppc_spapr_init(MachineState *machine) ...@@ -1813,7 +1813,7 @@ static void ppc_spapr_init(MachineState *machine)
spapr->icp = xics_system_init(machine, spapr->icp = xics_system_init(machine,
DIV_ROUND_UP(max_cpus * kvmppc_smt_threads(), DIV_ROUND_UP(max_cpus * kvmppc_smt_threads(),
smp_threads), smp_threads),
XICS_IRQS); XICS_IRQS, &error_fatal);
if (smc->dr_lmb_enabled) { if (smc->dr_lmb_enabled) {
spapr_validate_node_memory(machine, &error_fatal); spapr_validate_node_memory(machine, &error_fatal);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册