From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
Robert Hancock <hancockr@shaw.ca>,
linux-pci@atrey.karlin.mff.cuni.cz,
Linux Kernel list <linux-kernel@vger.kernel.org>,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: Possible issue with dangling PCI BARs
Date: Thu, 13 Dec 2007 22:17:01 +1100 [thread overview]
Message-ID: <1197544621.15741.132.camel@pasglop> (raw)
In-Reply-To: <20071213102424.18b621a7@the-village.bc.nu>
On Thu, 2007-12-13 at 10:24 +0000, Alan Cox wrote:
>
> The SIL680 for example has an MMIO BAR at BAR5. Control for that BAR is
> via MMIO_EN which is a bit in PCI config register 0x8A.
>
> So if we disable the device because of a dangling BAR the users root file
> system goes away. If we leave it as is we have to know the
> firmware/hardware came up with that BAR disabled or how to control it at
> a per device level.
Except that it's very likely that it will be assigned, whether it's used
or not, either by the BIOS or the kernel during
pci_assign_unassign_resources().
If we really have some devices where we -know- we can hide the thing
totally, we can then do a quirk for these.
We may be taking a small risk here, but what else do you propose ? The
problem of dangling BARs is real... One option is for me to address it
on powerpc and leave x86 alone as it might be more of an issue with
random crazy embedded firmware for us than it is for x86. As I said, the
workaround is completely self contained within arch code for now.
> Supporting pci_enable_device_io / pci_enable_device_mmio / pci_iomap_io /
> pci_iomap_mmio seems to cover pretty much all the use cases we have.
>
> The users we have right now that are:
>
> - pata_cs5520 (can be dealt with easily)
> - old IDE (with the new resource handling for legacy IDE
> can use pci_enable_device_io I think, ditto pci/cs5520)
> - scx200_acb (looks like a simple substitution works)
> - lpfc pci_enable_device_mmio
> - qla2xxx pci_enable_device ? (enables IO and MMIO)
Ok.
Ben.
next prev parent reply other threads:[~2007-12-13 11:17 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <fa.YfTvVN5C3e6zwXPW5biWgeZ9XXc@ifi.uio.no>
[not found] ` <fa.EhUqlM3V3y3HCcQkLBLSEKTJxBs@ifi.uio.no>
[not found] ` <fa.4FjaYKIciOijtgO+0DDrMkrLjv0@ifi.uio.no>
2007-12-13 4:22 ` Possible issue with dangling PCI BARs Robert Hancock
2007-12-13 5:26 ` Benjamin Herrenschmidt
2007-12-13 9:14 ` Ivan Kokshaysky
2007-12-13 9:29 ` Benjamin Herrenschmidt
2007-12-13 9:04 ` Ivan Kokshaysky
2007-12-13 10:24 ` Alan Cox
2007-12-13 11:17 ` Benjamin Herrenschmidt [this message]
2007-12-13 11:20 ` Benjamin Herrenschmidt
2007-12-13 20:04 ` Jesse Barnes
2007-12-13 20:51 ` Benjamin Herrenschmidt
2007-12-13 21:12 ` Ivan Kokshaysky
2007-12-13 23:09 ` Benjamin Herrenschmidt
2007-12-13 21:02 ` Ivan Kokshaysky
2007-12-13 13:27 ` Alan Cox
2007-12-13 3:00 Benjamin Herrenschmidt
2007-12-13 3:04 ` Benjamin Herrenschmidt
2007-12-13 3:40 ` Benjamin Herrenschmidt
2007-12-14 11:52 ` Jon Masters
2007-12-14 22:11 ` Benjamin Herrenschmidt
2007-12-15 2:18 ` Jon Masters
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=1197544621.15741.132.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=hancockr@shaw.ca \
--cc=ink@jurassic.park.msu.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@atrey.karlin.mff.cuni.cz \
--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