> -----Original Message-----
> From: Jason Andryuk [mailto:jandr...@gmail.com]
> Sent: 11 March 2019 18:02
> To: qemu-de...@nongnu.org
> Cc: xen-devel@lists.xenproject.org; marma...@invisiblethingslab.com; Jason 
> Andryuk
> <jandr...@gmail.com>; Stefano Stabellini <sstabell...@kernel.org>; Anthony 
> Perard
> <anthony.per...@citrix.com>; Paul Durrant <paul.durr...@citrix.com>; Paolo 
> Bonzini
> <pbonz...@redhat.com>; Richard Henderson <r...@twiddle.net>; Eduardo Habkost 
> <ehabk...@redhat.com>;
> Michael S. Tsirkin <m...@redhat.com>; Marcel Apfelbaum 
> <marcel.apfelb...@gmail.com>
> Subject: [PATCH 2/6] xen: Move xenstore initialization to common location
> 
> For the xen stubdom case, we'll want xenstore initialized, but we'll
> want to skip the rest of xen_be_init.  Move the initialization to
> xen_hvm_init so we can conditionalize calling xen_be_init.
> 
> xs_domain_open() is deprecated for xs_open(0), so make the replacement
> as well.

Can you elaborate as to why you need to do this when the code at the top of 
xen_hvm_init() already opens xenstore for its own purposes, and AFAICT 
xenstore_update() is only needed if QEMU is implementing a PV backend?

  Paul

> 
> Signed-off-by: Jason Andryuk <jandr...@gmail.com>
> ---
>  hw/i386/xen/xen-hvm.c       | 8 ++++++++
>  hw/xen/xen-legacy-backend.c | 8 --------
>  2 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
> index 2939122e7c..c20c4b27f6 100644
> --- a/hw/i386/xen/xen-hvm.c
> +++ b/hw/i386/xen/xen-hvm.c
> @@ -1487,6 +1487,14 @@ void xen_hvm_init(PCMachineState *pcms, MemoryRegion 
> **ram_memory)
> 
>      xen_bus_init();
> 
> +    xenstore = xs_open(0);
> +    if (!xenstore) {
> +        error_report("Can't connect to xenstored");
> +        goto err;
> +    }
> +
> +    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");
> diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c
> index 36fd1e9b09..bdf2fa917f 100644
> --- a/hw/xen/xen-legacy-backend.c
> +++ b/hw/xen/xen-legacy-backend.c
> @@ -683,14 +683,6 @@ int xen_be_init(void)
>  {
>      xengnttab_handle *gnttabdev;
> 
> -    xenstore = xs_daemon_open();
> -    if (!xenstore) {
> -        xen_pv_printf(NULL, 0, "can't connect to xenstored\n");
> -        return -1;
> -    }
> -
> -    qemu_set_fd_handler(xs_fileno(xenstore), xenstore_update, NULL, NULL);
> -
>      if (xen_xc == NULL || xen_fmem == NULL) {
>          /* Check if xen_init() have been called */
>          goto err;
> --
> 2.20.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to