qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 2/4] Add Error **errp for xen_pt_setup_vga()


From: Stefano Stabellini
Subject: Re: [Qemu-devel] [PATCH v2 2/4] Add Error **errp for xen_pt_setup_vga()
Date: Mon, 4 Jan 2016 15:18:56 +0000
User-agent: Alpine 2.02 (DEB 1266 2009-07-14)

On Sun, 27 Dec 2015, Cao jin wrote:
> To catch the error msg. Also modify the caller
> 
> Signed-off-by: Cao jin <address@hidden>

Reviewed-by: Stefano Stabellini <address@hidden>


>  hw/xen/xen_pt.c          |  5 ++++-
>  hw/xen/xen_pt.h          |  3 ++-
>  hw/xen/xen_pt_graphics.c | 11 ++++++-----
>  3 files changed, 12 insertions(+), 7 deletions(-)
> 
> diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c
> index 1bd4109..fbce55c 100644
> --- a/hw/xen/xen_pt.c
> +++ b/hw/xen/xen_pt.c
> @@ -807,7 +807,10 @@ static int xen_pt_initfn(PCIDevice *d)
>              return -1;
>          }
>  
> -        if (xen_pt_setup_vga(s, &s->real_device) < 0) {
> +        xen_pt_setup_vga(s, &s->real_device, &local_err);
> +        if (local_err) {
> +            error_append_hint(&local_err, "Setup VGA BIOS of passthrough"
> +                    " GFX failed!");
>              XEN_PT_ERR(d, "Setup VGA BIOS of passthrough GFX failed!\n");
>              xen_host_pci_device_put(&s->real_device);
>              return -1;
> diff --git a/hw/xen/xen_pt.h b/hw/xen/xen_pt.h
> index c545280..dc74d3e 100644
> --- a/hw/xen/xen_pt.h
> +++ b/hw/xen/xen_pt.h
> @@ -328,5 +328,6 @@ static inline bool 
> is_igd_vga_passthrough(XenHostPCIDevice *dev)
>  }
>  int xen_pt_register_vga_regions(XenHostPCIDevice *dev);
>  int xen_pt_unregister_vga_regions(XenHostPCIDevice *dev);
> -int xen_pt_setup_vga(XenPCIPassthroughState *s, XenHostPCIDevice *dev);
> +void xen_pt_setup_vga(XenPCIPassthroughState *s, XenHostPCIDevice *dev,
> +                     Error **errp);
>  #endif /* !XEN_PT_H */
> diff --git a/hw/xen/xen_pt_graphics.c b/hw/xen/xen_pt_graphics.c
> index df6069b..a0a7e9c 100644
> --- a/hw/xen/xen_pt_graphics.c
> +++ b/hw/xen/xen_pt_graphics.c
> @@ -161,7 +161,8 @@ struct pci_data {
>      uint16_t reserved;
>  } __attribute__((packed));
>  
> -int xen_pt_setup_vga(XenPCIPassthroughState *s, XenHostPCIDevice *dev)
> +void xen_pt_setup_vga(XenPCIPassthroughState *s, XenHostPCIDevice *dev,
> +                     Error **errp)
>  {
>      unsigned char *bios = NULL;
>      struct rom_header *rom;
> @@ -172,13 +173,14 @@ int xen_pt_setup_vga(XenPCIPassthroughState *s, 
> XenHostPCIDevice *dev)
>      struct pci_data *pd = NULL;
>  
>      if (!is_igd_vga_passthrough(dev)) {
> -        return -1;
> +        error_setg(errp, "Need to enable igd-passthrough");
> +        return;
>      }
>  
>      bios = get_vgabios(s, &bios_size, dev);
>      if (!bios) {
> -        XEN_PT_ERR(&s->dev, "VGA: Can't getting VBIOS!\n");
> -        return -1;
> +        error_setg(errp, "VGA: Can't getting VBIOS!");
> +        return;
>      }
>  
>      /* Currently we fixed this address as a primary. */
> @@ -203,7 +205,6 @@ int xen_pt_setup_vga(XenPCIPassthroughState *s, 
> XenHostPCIDevice *dev)
>  
>      /* Currently we fixed this address as a primary for legacy BIOS. */
>      cpu_physical_memory_rw(0xc0000, bios, bios_size, 1);
> -    return 0;
>  }
>  
>  uint32_t igd_read_opregion(XenPCIPassthroughState *s)
> -- 
> 2.1.0
> 
> 
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]