From: Richard Henderson <rth@twiddle.net>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Chuck Ebbert <cebbert@redhat.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
Daniel Ritz <daniel.ritz@gmx.ch>, Greg KH <greg@kroah.com>
Subject: Re: PCI resource problems caused by improper address rounding
Date: Tue, 18 Dec 2007 12:22:34 -0800 [thread overview]
Message-ID: <20071218202234.GA24525@twiddle.net> (raw)
In-Reply-To: <alpine.LFD.0.9999.0712180946030.21557@woody.linux-foundation.org>
On Tue, Dec 18, 2007 at 10:21:50AM -0800, Linus Torvalds wrote:
> > https://bugzilla.redhat.com/show_bug.cgi?id=425794#c0
>
> That bugzilla entry doesn't even have a dmesg output or anything like
> that. I'd really like to see what the
I've added dmesg, /proc/iomem, and lspci -v output to that bug.
Basically, we have
c0000000-cfffffff : free
ddf00000-dfefffff : PCI Bus #04
e0000000-efffffff : pnp 00:0b
f0000000-fedfffff : less than 256MB
The annoying part is that there's no device (that I can see)
behind PCI Bus #04, so it might as well be disabled and that
entire d0000000-dfffffff area reclaimed.
> That patch might as well just do
>
> pci_mem_start = gapstart;
>
> and get rid of all that rounding code entirely, since the patch just
> assumes that it's safe to use memory after gapstart (which is known to not
> be true, and is the whole and only reason for that code in the first
> place: BIOSes *invariably* get resource allocation wrong, and forget to
> tell us about some resource they set up).
That would have been an excellent comment to add to that code then,
rather than just "rounding up to the next 1MB area", because purely
as rounding code it is erroneous.
> The *other* patch in the bugzilla entry seems more correct, in that yes,
> we should make sure that we don't allocate resources over 4G if the
> resource won't fit. That said, I think that patch is wrong too: we should
> just fix pcibios_align_resource() to check that case for MEM resouces (the
> same way it already knows about the magic rules for IO resources).
I'll give that patch a try, modified a tad to still include the
force_32_bit quirk.
> So I'd suggest just fixing pcibios_align_resource() instead. Something
> like the appended might work (and then you could perhaps quirk it to
> always clear the PCI_BASE_ADDRESS_MEM_TYPE_64 thing for VGA controllers,
That won't work, because PCI_BASE_ADDRESS_MEM_TYPE_64 controls how
many bits need to be written back to the BAR. If we changed that
to PCI_BASE_ADDRESS_MEM_TYPE_32, we wouldn't clear the high 32-bits
of the BAR.
> ... and that would be an X server issue!).
Of course, fixing the X server to *handle* 64-bit BARs is the correct
solution. I've no idea how involved that is, but I have a sneeking
suspicion that it uses that damned CARD32 datatype for everything.
r~
next prev parent reply other threads:[~2007-12-18 21:24 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-18 0:25 PCI resource problems caused by improper address rounding Chuck Ebbert
2007-12-18 0:57 ` Linus Torvalds
2007-12-18 17:34 ` Chuck Ebbert
2007-12-18 18:21 ` Linus Torvalds
2007-12-18 20:22 ` Richard Henderson [this message]
2007-12-18 21:09 ` Linus Torvalds
2007-12-18 21:46 ` Chuck Ebbert
2007-12-18 21:56 ` Linus Torvalds
2007-12-18 22:17 ` Richard Henderson
2007-12-18 21:51 ` Richard Henderson
2007-12-18 22:31 ` Linus Torvalds
2007-12-19 1:38 ` Linus Torvalds
2007-12-20 21:52 ` Richard Henderson
2007-12-20 22:24 ` Linus Torvalds
2007-12-21 0:39 ` Richard Henderson
2007-12-21 1:00 ` Linus Torvalds
2007-12-21 2:28 ` Benjamin Herrenschmidt
2007-12-18 22:16 ` Keith Packard
2007-12-19 0:29 ` Bjorn Helgaas
2007-12-18 21:23 ` Ivan Kokshaysky
2007-12-18 21:46 ` Linus Torvalds
2007-12-20 8:46 ` Ivan Kokshaysky
2007-12-20 21:21 ` Benjamin Herrenschmidt
2007-12-22 9:12 ` Andrew Morton
2007-12-22 9:20 ` Andrew Morton
2007-12-20 21:10 ` Benjamin Herrenschmidt
2007-12-22 9:22 ` Andrew Morton
[not found] <fa.WmGIH8th8MfmciABVSBi6whxeFE@ifi.uio.no>
[not found] ` <fa.Obg5E3fyax+MaF94//uo40q/Zyk@ifi.uio.no>
[not found] ` <fa./6K5nXEIpws4VU8HtJhQjF4AoGg@ifi.uio.no>
[not found] ` <fa.V82IIxMkW3eu+9B44NfoyYYQDP4@ifi.uio.no>
[not found] ` <fa.DM9AyNQQtam66XpKVeXeqS639os@ifi.uio.no>
[not found] ` <fa.f5O3U527Rv8DNk05hDFRjdCaeFE@ifi.uio.no>
2007-12-19 0:11 ` Robert Hancock
2007-12-19 0:55 ` Chuck Ebbert
2007-12-19 1:12 ` Richard Henderson
2007-12-19 3:12 ` Linus Torvalds
[not found] ` <fa.PJGSMm4TIW6lRYng/jDqooIvj8U@ifi.uio.no>
[not found] ` <fa.0UHHdYi5zqyJ2xOPhNk/BhJkxYM@ifi.uio.no>
2007-12-19 0:18 ` Robert Hancock
2007-12-19 0:38 ` Robert Hancock
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20071218202234.GA24525@twiddle.net \
--to=rth@twiddle.net \
--cc=cebbert@redhat.com \
--cc=daniel.ritz@gmx.ch \
--cc=greg@kroah.com \
--cc=ink@jurassic.park.msu.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox