qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH qemu] vfio_pci: Allow disabling quirks


From: Alex Williamson
Subject: Re: [Qemu-devel] [PATCH qemu] vfio_pci: Allow disabling quirks
Date: Wed, 09 Sep 2015 12:34:29 -0600

On Wed, 2015-09-09 at 17:17 +1000, Alexey Kardashevskiy wrote:
> On 07/20/2015 12:40 PM, Alexey Kardashevskiy wrote:
> > On 07/20/2015 03:15 AM, Alex Williamson wrote:
> >> On Sun, 2015-07-19 at 06:50 -0600, Alex Williamson wrote:
> >>> On Sun, 2015-07-19 at 18:19 +1000, Alexey Kardashevskiy wrote:
> >>>> The existing quirks aim config space and MSIX BAR accesses interception.
> >>>> These are not always needed, for example, on pseries machines,
> >>>> config space and MSI/MSIX configuration are handled by hypervisor.
> >>>>
> >>>> This adds a "quirks" property to control whether to enable quirks or not;
> >>>> the property is set to "true" by default.
> >>>>
> >>>> Signed-off-by: Alexey Kardashevskiy <address@hidden>
> >>>> ---
> >>>>
> >>>> Helps to get
> >>>> VGA compatible controller: NVIDIA Corporation GM107GL [Quadro K2200]
> >>>> (rev a2)
> >>>> (which does not need the quirk anyway) working on POWER8 system.
> >>
> >> BTW, as I was working on the rtl quirk last week, I re-realized
> >> something; page size doesn't matter for quirks.  If we want to carve a
> >> 4k hole for a PCI extended config space window, we can do that
> >> regardless of the host page size.  The rtl quirk only carves out an 8
> >> byte window.  It's the Memory API's problem to figure out the extent of
> >> the region that needs to fault into QEMU and which parts go through the
> >> quirk vs the slow backing of the BAR.
> >
> > But the memory API cannot handle it right now, right?
> >
> >>  That's why we create the slow
> >> backing across the entire BAR.  So if this quirk isn't working for you,
> >> page size is probably not the reason.
> >
> > Quirks do not install - KVM fails to register these memory regions. And
> > when I fix this, they do not for that another unknown reason, so it is not
> > probably, it is definitely :)
> >
> >
> >>  That said, there are some
> >> gratuitous uses of target page size in the quirk code.  Part of it is
> >> just a convenience factor for packing data structures, part of it is
> >> completely unnecessary, like the TARGET_PAGE_ALIGN setting up the quirk
> >> in question here.  Thanks,
> >
> >
> >
> > Regarding automatic disabling of quirks on POWER -  I'd love to do that but
> > how can I do this without adding a property? #ifdef PPC64 in hw/vfio/pci.c?
> > We were avoiding this.
> 
> Ping?
> 
> The only proper automatic disabling on POWER I can think of would be:
> 1) (still) add a "allow_quirks" property
> 2) in the pseries machine init code, set the property in the compat_props 
> to "false".
> 
> But this still requires a property. Better ideas?

See the patch series I just posted that eliminates use of target page
size in quirks and then tell me if/why you still need to avoid quirks on
POWER.  Thanks,

Alex




reply via email to

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