From: Bjorn Helgaas <helgaas@kernel.org>
To: Sinan Kaya <okaya@codeaurora.org>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
linux-pci@vger.kernel.org, Zhou Wang <wangzhou1@hisilicon.com>,
Phil Edworthy <phil.edworthy@renesas.com>,
Bjorn Helgaas <bhelgaas@google.com>
Subject: Re: [RFC] ARM/ARM64 PCI_PROBE_ONLY platforms
Date: Fri, 29 Jan 2016 17:26:09 -0600 [thread overview]
Message-ID: <20160129232609.GB11085@localhost> (raw)
In-Reply-To: <569FCEA8.4020001@codeaurora.org>
On Wed, Jan 20, 2016 at 01:15:04PM -0500, Sinan Kaya wrote:
> Footnote: I remember reading somewhere that some BIOS want to keep track
> of where the endpoints are mapped. Reassigning the resources break such systems.
I agree, I think there are systems where the BIOS sets a PCI BAR value
and depends on that remaining untouched at run-time. For example, I'm
pretty sure there's x86 SMM code that logs errors to PCI management
devices. I think these systems are broken.
I don't think there's a way for firmware to tell the kernel "please
don't reassign these PCI resources." After handoff to the OS, I think
the OS owns all PCI resources and can reassign things as necessary,
subject only to a few constraints like _OSC. Certainly the OS has to
be able to write to BARs at least temporarily to learn their size. I
have no spec reference for this belief.
I don't have a good strategy for dealing with such systems, other
than:
- Keep firmware BAR assignments unless we have a reason to change
them
- Add quirks to set IORESOURCE_PCI_FIXED for specific BARs when we
know about issues
The new PCI "Enhanced Allocation" stuff might be a way for platforms
to do this more safely.
Bjorn
next prev parent reply other threads:[~2016-01-29 23:26 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-20 16:04 [RFC] ARM/ARM64 PCI_PROBE_ONLY platforms Lorenzo Pieralisi
2016-01-20 16:13 ` Sinan Kaya
2016-01-20 18:10 ` Lorenzo Pieralisi
2016-01-20 18:15 ` Sinan Kaya
2016-01-29 23:26 ` Bjorn Helgaas [this message]
2016-01-22 16:28 ` Phil Edworthy
2016-01-25 17:51 ` Lorenzo Pieralisi
2016-01-28 17:27 ` Lorenzo Pieralisi
2016-01-29 12:02 ` Gabriele Paoloni
2016-01-29 6:32 ` Pratyush Anand
2016-01-29 23:25 ` Bjorn Helgaas
2016-02-01 16:28 ` Lorenzo Pieralisi
2016-02-01 21:19 ` Bjorn Helgaas
2016-01-29 23:06 ` Bjorn Helgaas
2016-01-30 0:14 ` Sinan Kaya
2016-01-30 13:30 ` Bjorn Helgaas
2016-01-30 17:51 ` Okaya
2016-02-01 15:25 ` Lorenzo Pieralisi
2016-02-01 21:12 ` Bjorn Helgaas
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=20160129232609.GB11085@localhost \
--to=helgaas@kernel.org \
--cc=bhelgaas@google.com \
--cc=linux-pci@vger.kernel.org \
--cc=lorenzo.pieralisi@arm.com \
--cc=okaya@codeaurora.org \
--cc=phil.edworthy@renesas.com \
--cc=wangzhou1@hisilicon.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.