On Wed, 24 Aug 2016, Jan Kiszka wrote:
> On 2016-08-24 04:39, Thomas Gleixner wrote:
> > On Thu, 18 Aug 2016, Bjorn Helgaas wrote:
> >> I looked up the spec: PCI (not PCIe) r3.0, sec 3.2.2.3.4, says:
> >>
> >>   A single-function device may optionally respond to all function
> >>   numbers as the same function or may ... respond only to function 0
> >>   and not respond to the other function numbers.
> >>
> >> I'm concerned that a single-function device that responds to all
> >> function numbers might break with this patch.
> >>
> >>   [multi-function devices] are also required to always implement
> >>   function 0 in the device.
> >>
> >> Here's the reason we can advance by 8 in the "Go find them" loop.
> >>
> >>   If a single function device is detected (i.e., bit 7 in the Header
> >>   Type register of function 0 is 0), no more functions for that Device
> >>   Number will be checked.  If a multi-function device is detected
> >>   (i.e., bit 7 in the Header Type register of function 0 is 1), then
> >>   all remaining Function Numbers will be checked.
> >>
> >> This patch does the opposite of what the first sentence recommends.
> > 
> > Fair enough. We'll need to find a way to deal with that in jailhouse then.
> 
> Wouldn't it also be an option to have this fine-grained scanning only
> activated if we detect to run over Jailhouse (which we have to anyway)?
> Such code hasn't been proposed for upstream yet, but we will eventually.

That might be an option.

Thanks,

        tglx

Reply via email to