[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v1 08/12] hw/xen/xen-hvm-common: skip ioreq creation on ioreq registration failure
Vikram Garhwal <vikram.garhwal@xxxxxxx> writes: > From: Stefano Stabellini <stefano.stabellini@xxxxxxx> > > On ARM it is possible to have a functioning xenpv machine with only the > PV backends and no IOREQ server. If the IOREQ server creation fails continue > to the PV backends initialization. > > Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxx> > --- > hw/xen/xen-hvm-common.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c > index f848f9e625..7bccf595fc 100644 > --- a/hw/xen/xen-hvm-common.c > +++ b/hw/xen/xen-hvm-common.c > @@ -777,7 +777,11 @@ void xen_register_ioreq(XenIOState *state, unsigned int > max_cpus, > goto err; > } > > - xen_create_ioreq_server(xen_domid, &state->ioservid); > + rc = xen_create_ioreq_server(xen_domid, &state->ioservid); > + if (rc) { > + DPRINTF("xen: failed to create ioreq server\n"); This should be a warn_report to properly inform the user. > + goto no_ioreq; Maybe pushing the rest of this function into a local subroutine would reduce the amount of goto messing about. Other candidates for cleaning up/modernising: - g_malloc to g_new0 - perror -> error_setg_errno > + } > > state->exit.notify = xen_exit_notifier; > qemu_add_exit_notifier(&state->exit); > @@ -842,6 +846,7 @@ void xen_register_ioreq(XenIOState *state, unsigned int > max_cpus, > QLIST_INIT(&state->dev_list); > device_listener_register(&state->device_listener); > > +no_ioreq: > xen_bus_init(); > > /* Initialize backend core & drivers */ -- Alex Bennée
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |