Message ID | 20190311180216.18811-4-jandryuk@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Xen stubdom support | expand |
> -----Original Message----- > From: Jason Andryuk [mailto:jandryuk@gmail.com] > Sent: 11 March 2019 18:02 > To: qemu-devel@nongnu.org > Cc: xen-devel@lists.xenproject.org; marmarek@invisiblethingslab.com; Jason Andryuk > <jandryuk@gmail.com>; Stefano Stabellini <sstabellini@kernel.org>; Anthony Perard > <anthony.perard@citrix.com>; Paul Durrant <Paul.Durrant@citrix.com>; Paolo Bonzini > <pbonzini@redhat.com>; Richard Henderson <rth@twiddle.net>; Eduardo Habkost <ehabkost@redhat.com>; > Michael S. Tsirkin <mst@redhat.com>; Marcel Apfelbaum <marcel.apfelbaum@gmail.com> > Subject: [PATCH 3/6] xen: Skip backend initialization for stubdom > > When QEMU is running in a stubdom, it does not provide any > Paravirtualized backends. Those still run in dom0 or another driver > domain. Therefore we skip backend initialization (xen_bus_init and > xen_be_init) for the stubdom case. > > Original patch by Anthony PERARD <anthony.perard@citrix.com> > > Signed-off-by: Jason Andryuk <jandryuk@gmail.com> Reviewed-by: Paul Durrant <paul.durrant@citrix.com> > --- > hw/i386/xen/xen-hvm.c | 16 +++++++++------- > 1 file changed, 9 insertions(+), 7 deletions(-) > > diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c > index c20c4b27f6..4b62f070cb 100644 > --- a/hw/i386/xen/xen-hvm.c > +++ b/hw/i386/xen/xen-hvm.c > @@ -1485,8 +1485,6 @@ void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory) > QLIST_INIT(&state->dev_list); > device_listener_register(&state->device_listener); > > - xen_bus_init(); > - > xenstore = xs_open(0); > if (!xenstore) { > error_report("Can't connect to xenstored"); > @@ -1495,12 +1493,16 @@ void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory) > > qemu_set_fd_handler(xs_fileno(xenstore), xenstore_update, NULL, NULL); > > - /* Initialize backend core & drivers */ > - if (xen_be_init() != 0) { > - error_report("xen backend core setup failed"); > - goto err; > + if (!xen_stubdom_enabled()) { > + xen_bus_init(); > + > + /* Initialize backend core & drivers */ > + if (xen_be_init() != 0) { > + error_report("xen backend core setup failed"); > + goto err; > + } > + xen_be_register_common(); > } > - xen_be_register_common(); > > QLIST_INIT(&xen_physmap); > xen_read_physmap(state); > -- > 2.20.1
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c index c20c4b27f6..4b62f070cb 100644 --- a/hw/i386/xen/xen-hvm.c +++ b/hw/i386/xen/xen-hvm.c @@ -1485,8 +1485,6 @@ void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory) QLIST_INIT(&state->dev_list); device_listener_register(&state->device_listener); - xen_bus_init(); - xenstore = xs_open(0); if (!xenstore) { error_report("Can't connect to xenstored"); @@ -1495,12 +1493,16 @@ void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory) qemu_set_fd_handler(xs_fileno(xenstore), xenstore_update, NULL, NULL); - /* Initialize backend core & drivers */ - if (xen_be_init() != 0) { - error_report("xen backend core setup failed"); - goto err; + if (!xen_stubdom_enabled()) { + xen_bus_init(); + + /* Initialize backend core & drivers */ + if (xen_be_init() != 0) { + error_report("xen backend core setup failed"); + goto err; + } + xen_be_register_common(); } - xen_be_register_common(); QLIST_INIT(&xen_physmap); xen_read_physmap(state);
When QEMU is running in a stubdom, it does not provide any Paravirtualized backends. Those still run in dom0 or another driver domain. Therefore we skip backend initialization (xen_bus_init and xen_be_init) for the stubdom case. Original patch by Anthony PERARD <anthony.perard@citrix.com> Signed-off-by: Jason Andryuk <jandryuk@gmail.com> --- hw/i386/xen/xen-hvm.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-)