Messages in this thread Patch in this message | | | From | Len Brown <> | Subject | [PATCH 7/8] SFI, PCI: Hook MMCONFIG | Date | Tue, 23 Jun 2009 03:14:05 -0400 |
| |
From: Feng Tang <feng.tang@intel.com>
Logically, if ACPI table parsing doesn't find the MCFG, then try SFI. In reality, the systemw will be in either ACPI or SFI mode, so only one of these routines will run.
Signed-off-by: Feng Tang <feng.tang@intel.com> Signed-off-by: Len Brown <len.brown@intel.com> --- arch/x86/Kconfig | 2 +- arch/x86/pci/mmconfig-shared.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 06341a5..1143088 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -1838,7 +1838,7 @@ config PCI_DIRECT config PCI_MMCONFIG def_bool y - depends on X86_32 && PCI && ACPI && (PCI_GOMMCONFIG || PCI_GOANY) + depends on X86_32 && PCI && (ACPI || SFI) && (PCI_GOMMCONFIG || PCI_GOANY) config PCI_OLPC def_bool y diff --git a/arch/x86/pci/mmconfig-shared.c b/arch/x86/pci/mmconfig-shared.c index 712443e..c09683d 100644 --- a/arch/x86/pci/mmconfig-shared.c +++ b/arch/x86/pci/mmconfig-shared.c @@ -13,6 +13,7 @@ #include <linux/pci.h> #include <linux/init.h> #include <linux/acpi.h> +#include <linux/sfi_acpi.h> #include <linux/bitmap.h> #include <linux/sort.h> #include <asm/e820.h> @@ -606,7 +607,8 @@ static void __init __pci_mmcfg_init(int early) } if (!known_bridge) - acpi_table_parse(ACPI_SIG_MCFG, pci_parse_mcfg); + if (acpi_table_parse(ACPI_SIG_MCFG, pci_parse_mcfg)) + sfi_acpi_table_parse(ACPI_SIG_MCFG, NULL, NULL, 0, pci_parse_mcfg); pci_mmcfg_reject_broken(early); -- 1.6.0.6
| |