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

Re: [PATCH v2] xen: fix build without pci passthrough


  • To: Anthony PERARD <anthony.perard@xxxxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Tue, 19 May 2020 19:48:30 +0200
  • Authentication-results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx, Stefano Stabellini <sstabellini@xxxxxxxxxx>, qemu-devel@xxxxxxxxxx, Paul Durrant <paul@xxxxxxx>
  • Delivery-date: Tue, 19 May 2020 17:48:59 +0000
  • Ironport-sdr: Kto5CE9hKXDANA3dv6AV+qfGgge3TBQmrrbG0XmUpjg/89DP+YqxeH4ymio+763qd+feXYZuBG sTOzD35a1V2G1ShTHilVH2uX6550WljdJUjg+8qrrpvjk87C17Fuu8zUmuXwGPPywqZcS+hc0e mrCi3b5gnyEWE9ED6/y/I6+4OakaLs8rT+TjKZ3ARif/rRGJThwHRc8+CF7yIGUCqu2MoKy5Ik g2A/eAiEqU3u6zjIxHyqk/3s8T3EoQgsfPlVJh97lTykBCoOFA0XGWUoAUQgjQRkRRH/gKvKJ0 nzs=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Tue, May 19, 2020 at 04:52:58PM +0100, Anthony PERARD wrote:
> On Tue, May 19, 2020 at 04:31:01PM +0200, Roger Pau Monne wrote:
> > has_igd_gfx_passthru is only available when QEMU is built with
> > CONFIG_XEN_PCI_PASSTHROUGH, and hence shouldn't be used in common
> > code without checking if it's available.
> > 
> > Fixes: 46472d82322d0 ('xen: convert "-machine igd-passthru" to an 
> > accelerator property')
> > Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
> > ---
> > Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> > Cc: Anthony Perard <anthony.perard@xxxxxxxxxx>
> > Cc: Paul Durrant <paul@xxxxxxx>
> > Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx
> > ---
> > Changes since v1:
> >  - Do not include osdep in header file.
> >  - Always add the setters/getters of igd-passthru, report an error
> >    when attempting to set igd-passthru without built in
> >    pci-passthrough support.
> > ---
> >  hw/xen/xen-common.c | 4 ++++
> >  hw/xen/xen_pt.h     | 6 ++++++
> >  2 files changed, 10 insertions(+)
> > 
> > diff --git a/hw/xen/xen-common.c b/hw/xen/xen-common.c
> > index 70564cc952..d758770da0 100644
> > --- a/hw/xen/xen-common.c
> > +++ b/hw/xen/xen-common.c
> > @@ -134,7 +134,11 @@ static bool xen_get_igd_gfx_passthru(Object *obj, 
> > Error **errp)
> >  
> >  static void xen_set_igd_gfx_passthru(Object *obj, bool value, Error **errp)
> >  {
> > +#ifdef CONFIG_XEN_PCI_PASSTHROUGH
> >      has_igd_gfx_passthru = value;
> > +#else
> > +    error_setg(errp, "Xen PCI passthrough support not built in");
> > +#endif
> >  }
> >  
> 
> There's an issue that I haven't thought about before.
> CONFIG_XEN_PCI_PASSTHROUGH is never defined in xen-common.c. So
> xen_set_igd_gfx_passthru will always return an error.
> 
> I'm not sure what to do about that yet, maybe change the way that
> CONFIG_ is defined, or maybe have have the setter/getter in xen_pt.c
> with a stub in stubs/ which would return an error. or maybe some other
> way.

Hm, I think making it available is OK? Would it make sense to set it
in $config_host_mak instead of $config_target_mak?

It's a host property, not a target one AFAICT, as the support in the
host determines whether PCI passthrough is supported or not.

Thanks, Roger.



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.