From: Andi Kleen <andi@firstfloor.org>
To: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: linux-kernel@vger.kernel.org, linux-pci@atrey.karlin.mff.cuni.cz,
gregkh@suse.de
Subject: Re: [RFC] Runtime allocation of PCI resources
Date: 11 Jun 2007 20:11:24 +0200 [thread overview]
Message-ID: <p73d502uzsj.fsf@bingen.suse.de> (raw)
In-Reply-To: <20070611165112.GA30272@srcf.ucam.org>
Matthew Garrett <mjg59@srcf.ucam.org> writes:
> BIOS authors don't always program all the features of hardware. This is
> often the case for Intel IDE controllers, which are usually able to run
> in AHCI mode but are rarely configured to do so. Reprogramming them is
> easy enough other than the requirement for some MMIO space. If the BIOS
> hasn't allocated this, it's necessary for us to do so manually.
Traditionally we've had bad experiences forcing hardware to do something
the BIOS didn't consider. e.g. occasionally the BIOS has good reasons
to not allow it; maybe it knows about some errata or other problem
the kernel doesn't.
If you do this then don't make it default at least, but only allow
to force it use an option.
> This patch simply attempts to find some free address space and allocate
> it. The function is designed to be called after the rest of the
> resources have been allocated in order to avoid colliding with other
> devices.
>
> This seems to work fine on x86, but I'm happy to admit that I know
> little about the intricacies of how PCI is implemented elsewhere. Is
> this approach valid in the general case? I'm also working on the
> assumption that the firmware will program hotplug PCI hardware in a way
> that isn't going to end up colliding with this. Anyway, any
> thoughts/comments?
I tried something similar some time ago for the IOMMU aperture.
It turned out that some systems put something into the e820 holes
and didn't boot anymore if you put something else in there.
Your resource allocation will just do that.
You might be lucky because your resources are typically
small (IOMMU aperture was 64+MB) or you might not.
These problems are unfortunately very hard to debug; typically
you have to bisect.
-Andi
next prev parent reply other threads:[~2007-06-11 17:15 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-11 16:51 [RFC] Runtime allocation of PCI resources Matthew Garrett
2007-06-11 18:11 ` Andi Kleen [this message]
2007-06-11 17:41 ` Matthew Garrett
2007-06-11 18:11 ` Yinghai Lu
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=p73d502uzsj.fsf@bingen.suse.de \
--to=andi@firstfloor.org \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@atrey.karlin.mff.cuni.cz \
--cc=mjg59@srcf.ucam.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 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.