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

From: Jesse Barnes
Date: Wed Apr 22 2009 - 18:49:20 EST


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.

--
Jesse Barnes, Intel Open Source Technology Center
--
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/