[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4BD640E3.1050101@oracle.com>
Date: Mon, 26 Apr 2010 18:41:55 -0700
From: Yinghai <yinghai.lu@...cle.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
CC: Jesse Barnes <jbarnes@...tuousgeek.org>,
"H. Peter Anvin" <hpa@...or.com>,
Bjorn Helgaas <bjorn.helgaas@...com>,
Andy Isaacson <adi@...apodia.org>,
"R. Andrew Bailey" <bailey@...mai.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, guenter.roeck@...csson.com,
"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
"x86@...nel.org" <x86@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Thomas Renninger <trenn@...e.de>, yaneti@...lera.com
Subject: Re: [PATCH] x86/PCI: never allocate PCI MMIO resources below BIOS_END
On 04/26/2010 06:27 PM, Linus Torvalds wrote:
>
>
> On Mon, 26 Apr 2010, Jesse Barnes wrote:
>>
>> Glad we agree. As I said (and echoing Bjorn), I think it would be best
>> to reserve this space in a way that doesn't just use IORESOURCE_BUSY.
>> We want and need to do allocations from the special region, so we
>> should mark it as such.
>
> I think Bjorn's patch to pcibios_align_resource() is really good and
> clever, and I think it should take care of the need for IORESOURCE_BUSY,
> no? We do want to let devices that are _already_ allocated there insert
> their resources, it's just that we never want to allocate new ones in the
> low 1M region.
case A:
bus 0: --- bus X --- device Y
if the BIOS only assign range to to BUS X bridge with 0xB0000, and
device Y is not assigned. then with Bojorn's patch, device Y can not
get right resource allocated on first try.
>
> Do we actually have a regression left with Bjorn's patch?
also find one AMD system:
[ 6.960006] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[ 6.984225] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-06])
[ 7.023528] pci_root PNP0A03:00: host bridge window [io 0x0000-0x03af]
[ 7.024014] pci_root PNP0A03:00: host bridge window [io 0x03b0-0x03bb]
[ 7.028005] pci_root PNP0A03:00: host bridge window [io 0x03bc-0x03bf]
[ 7.032005] pci_root PNP0A03:00: host bridge window [io 0x03c0-0x03df]
[ 7.036005] pci_root PNP0A03:00: host bridge window [io 0x03e0-0xefff]
[ 7.040011] pci_root PNP0A03:00: host bridge window [mem 0xd8000000-0xe7ffffff]
[ 7.044005] pci_root PNP0A03:00: host bridge window [mem 0xf0000000-0xfe9fffff]
[ 7.048005] pci_root PNP0A03:00: host bridge window [mem 0xfec00000-0xfed0ffff]
[ 7.052005] pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff]
[ 7.056011] pci_root PNP0A03:00: host bridge window [mem 0xfed20000-0xffffffff]
[ 0.000000] BIOS-e820: 0000000000000100 - 0000000000098c00 (usable)
[ 0.000000] BIOS-e820: 0000000000098c00 - 00000000000a0000 (reserved)
[ 0.000000] BIOS-e820: 00000000000e6000 - 0000000000100000 (reserved)
[ 0.000000] BIOS-e820: 0000000000100000 - 00000000d7fa0000 (usable)
[ 0.000000] BIOS-e820: 00000000d7fae000 - 00000000d7fb0000 (reserved)
[ 0.000000] BIOS-e820: 00000000d7fb0000 - 00000000d7fbe000 (ACPI data)
[ 0.000000] BIOS-e820: 00000000d7fbe000 - 00000000d7ff0000 (ACPI NVS)
[ 0.000000] BIOS-e820: 00000000d7ff0000 - 00000000f0000000 (reserved)
[ 0.000000] BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
[ 0.000000] BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
[ 0.000000] BIOS-e820: 00000000ff700000 - 0000000100000000 (reserved)
[ 0.000000] BIOS-e820: 0000000100000000 - 0000008028000000 (usable)
pci assign unassign code could use range like [mem 0xfed20000-0xffffffff] wrongly.
YH
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists