Re: [PATCH 2/3] pci: don't assume pref memio are 64bit -v2

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

 



* Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Sat, Apr 18, 2009 at 01:44:51AM -0700, Yinghai Lu wrote:
> > and BIOS set
> > [    0.240007] pci 0000:00:01.0: bridge 64bit mmio pref: [0xbdf00000-0xddefffff]
> 
> An obvious BIOS bug, the bridge base overlaps the physical low RAM 
> (0x00000000-0xc0000000). Technically speaking, this nonsense 
> *happens* to work on Intel hardware, so it seems to be quite 
> common bug nowadays - BIOS writers get lost in ACPI and other 
> "useful" stuff contradicting the PCI specs.

it doesnt matter whether we call it a BIOS bug or not.

> ...
> 
> > +	/* don't allocate too high if the pref mem doesn't support 64bit*/
> > +	if ((res->flags & (IORESOURCE_PREFETCH | PCI_PREF_RANGE_TYPE_64)) ==
> > +	    IORESOURCE_PREFETCH)
> > +		max = 0xffffffff;
> 
> This effectively destroys non-x86 64-bit arches. You've been told about
> that before, so I'm really surprised to see this "patch" once again.
> 
> Categorically NACKed.

You can ridicule the patch and can NAK it (and rightfully so, it's 
wrong), but you seem to miss the simple fact that this solves a very 
real problem.

So consider this patch a documentation and analysis of a real 
problem which made Linux work on hardware where it did not work 
before. That's more valuable than 95% of our commits btw.

> P.S. I recall that I had a patch that addressed the issue, and 
> Ingo made some reasonable comments about it. Will post it 
> tomorrow.

That should have been pursued far more agressively.

Thanks,

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux