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

From: Ivan Kokshaysky
Date: Thu Apr 23 2009 - 09:22:14 EST


On Wed, Apr 22, 2009 at 07:10:29PM -0700, Yinghai Lu wrote:
> 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.

Yep, but it's easy to fix (patch applies on the top of the previous one).

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

I don't think so. All critical resources are inserted much earlier than
mem64 one, and request_resource(&iomem_resource, ...) at later stages
would most likely fail regardless of mem64 thing.
Or am I missing something?

Ivan.

diff --git a/arch/x86/pci/dac_64bit.c b/arch/x86/pci/dac_64bit.c
index ee03c4a..35ffee3 100644
--- a/arch/x86/pci/dac_64bit.c
+++ b/arch/x86/pci/dac_64bit.c
@@ -33,12 +33,16 @@ void pcibios_pci64_setup(void)
void pcibios_pci64_verify(void)
{
struct pci_bus *b;
+ int disabled = 0;

if (mem64.flags & IORESOURCE_MEM64)
return; /* presumably DAC works */
list_for_each_entry(b, &pci_root_buses, node) {
- if (b->resource[2] == &mem64)
+ if (b->resource[2] == &mem64) {
b->resource[2] = NULL;
+ disabled = 1;
+ }
}
- printk(KERN_INFO "PCI: allocations above 4G disabled\n");
+ if (disabled)
+ printk(KERN_INFO "PCI: allocations above 4G disabled\n");
}
--
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/