Re: [PATCH] x86/PCI: never allocate PCI MMIO resources below BIOS_END

From: H. Peter Anvin
Date: Mon Apr 26 2010 - 19:04:28 EST


I don't think it's sufficient, actually. We regularly see machines where devices point into e820_reserved memory above 1 MB - because it's a platform device or because firmware (e.g. smm) is touching the device. I think Bjorn's fix is great for .34, but longer term I think we need to structure the code to actually handle reserved regions differently from occupied/forbidden regions.

"Jesse Barnes" <jbarnes@xxxxxxxxxxxxxxxx> wrote:

>On Mon, 26 Apr 2010 14:44:50 -0700
>"H. Peter Anvin" <hpa@xxxxxxxxx> wrote:
>
>> >
>> > Agreed. The trickier part is handling any platform devices that
>> > request_resource against that space. But maybe we don't need to do
>> > anything special; just making sure we avoid it in the PCI "BIOS" code
>> > as Bjorn did may be sufficient.
>> >
>>
>> Why is that hard? If a platform device does a request_resource against
>> that space, it's a request for specific address space and it should be
>> granted.
>
>I was thinking if we made it a special resource type we'd have to
>change any platform drivers to use it; i.e. it wouldn't be
>IORESOURCE_MEM or IORESOURCE_IO but IORESOURCE_DRAGONS. That way it
>wouldn't be part of the normal resource space.
>
>But that's definitely overkill. I think Bjorn's fix is sufficient.
>
>--
>Jesse Barnes, Intel Open Source Technology Center

--
Sent from my Android phone with K-9 Mail. Please excuse my brevity.