2008-07-10 17:51:49

by John Keller

[permalink] [raw]
Subject: [RESEND] [PATCH] x86: Allow MMCONFIG above 4GB on x86_64

SGI UV will have MMCFG base addresses that are greater than 4GB (32 bits).

Signed-off-by: John Keller <[email protected]>
---

Resend #1: Use CONFIG_RESOURCES_64BIT instead of CONFIG_X86_64.


A similar patch was submitted over a year ago, but apparently was not
merged in.

http://marc.info/?l=linux-acpi&m=117283388212912&w=2


Index: linux-2.6/arch/x86/kernel/acpi/boot.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/acpi/boot.c 2008-07-09 13:02:54.000000000 -0500
+++ linux-2.6/arch/x86/kernel/acpi/boot.c 2008-07-10 10:19:28.000000000 -0500
@@ -200,6 +200,7 @@ int __init acpi_parse_mcfg(struct acpi_t
}

memcpy(pci_mmcfg_config, &mcfg[1], config_size);
+#ifndef CONFIG_RESOURCES_64BIT
for (i = 0; i < pci_mmcfg_config_num; ++i) {
if (pci_mmcfg_config[i].address > 0xFFFFFFFF) {
printk(KERN_ERR PREFIX
@@ -209,6 +210,7 @@ int __init acpi_parse_mcfg(struct acpi_t
return -ENODEV;
}
}
+#endif

return 0;
}