Re: [RFC PATCH 1/2] pci: don't assume pref memio are 64bit -v3

From: Yinghai Lu
Date: Wed Apr 22 2009 - 22:13:34 EST


Jesse Barnes wrote:
> On Wed, 22 Apr 2009 17:49:18 -0700
> Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
>
>> Jesse Barnes wrote:
>>> On Wed, 22 Apr 2009 15:37:04 -0700
>>> Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
>>>
>>>> one system with 4g installed ( there is 1g hole)
>>>>
>>>> when 4G installed.
>>>> BIOS put ACPI etc need the hole
>>>> [ 0.000000] BIOS-provided physical RAM map:
>>>> [ 0.000000] BIOS-e820: 0000000000000000 - 000000000009bc00
>>>> (usable) [ 0.000000] BIOS-e820: 000000000009bc00 -
>>>> 00000000000a0000 (reserved) [ 0.000000] BIOS-e820:
>>>> 00000000000e3000 - 0000000000100000 (reserved) [ 0.000000]
>>>> BIOS-e820: 0000000000100000 - 00000000bffa0000 (usable)
>>>> [ 0.000000] BIOS-e820: 00000000bffa0000 - 00000000bffae000
>>>> (ACPI data) [ 0.000000] BIOS-e820: 00000000bffae000 -
>>>> 00000000bfff0000 (ACPI NVS) [ 0.000000] BIOS-e820:
>>>> 00000000bfff0000 - 00000000c0000000 (reserved) [ 0.000000]
>>>> BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
>>>> [ 0.000000] BIOS-e820: 00000000ffb00000 - 0000000100000000
>>>> (reserved) [ 0.000000] BIOS-e820: 0000000100000000 -
>>>> 0000000140000000 (usable) so in kernel resource will be reserved
>>>> for 0xbffa0000 - 0xbfff0000 for ACPI 0x100000 - 0xbffa0000 for
>>>> RAM...
>>>>
>>>> and BIOS set
>>>> [ 0.240007] pci 0000:00:01.0: bridge 64bit mmio pref:
>>>> [0xbdf00000-0xddefffff] [ 0.237102] pci 0000:01:00.0: reg 10
>>>> 32bit mmio: [0xc0000000-0xcfffffff] that is conflict with reserved
>>>> res. so it can not be reserved Kernel.
>>>>
>>>> then Kernel try to get range from 0x140000000 ( above the RAM, 5G
>>>> and above 4g) and set let the bridge to use it, and ATI cards to
>>>> use it.
>>>>
>>>> but the problem is that ATI only support 32bit ...
>>> So Ivan's patch didn't work for you for this problem? I was
>>> planning on applying it, but it would be nice to get some test
>>> results first.
>> looks like Ivan patch still has some problem.
>
> Can you be more specific? :) I'd like to get this resolved properly as
> well, and I think the principles Ivan outlined are the right ones to
> follow...

also on AMD system with two ht chain, or other system with pci=use_crs to get correct root default res,
will get anonying

PCI: allocations above 4G disabled

even the system does support that.

also will have problem with some calling like request_resource(&iomem_resource, ....)

YH
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/