Skip to content

Commit

Permalink
[PATCH] i386/x86-64: Only do MCFG e820 check when type 1 works
Browse files Browse the repository at this point in the history
Needs earlier patch to split type 1 probing from use.

This patch should fix the x86 macs where type 1 PCI config space access
doesn't work, but MCFG does. They also don't have a usable e820 table
so the e820 sanity check failed.

Instead assume now that if type 1 doesn't work then MCFG must work
and don't do the e820 check.

Signed-off-by: Andi Kleen <ak@suse.de>
  • Loading branch information
Andi Kleen authored and Andi Kleen committed Sep 26, 2006
1 parent 5e544d6 commit 9abd792
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
4 changes: 3 additions & 1 deletion arch/i386/pci/mmconfig.c
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,9 @@ void __init pci_mmcfg_init(int type)
(pci_mmcfg_config[0].base_address == 0))
return;

if (!e820_all_mapped(pci_mmcfg_config[0].base_address,
/* Only do this check when type 1 works. If it doesn't work
assume we run on a Mac and always use MCFG */
if (type == 1 && !e820_all_mapped(pci_mmcfg_config[0].base_address,
pci_mmcfg_config[0].base_address + MMCONFIG_APER_MIN,
E820_RESERVED)) {
printk(KERN_ERR "PCI: BIOS Bug: MCFG area at %x is not E820-reserved\n",
Expand Down
4 changes: 3 additions & 1 deletion arch/x86_64/pci/mmconfig.c
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,9 @@ void __init pci_mmcfg_init(int type)
(pci_mmcfg_config[0].base_address == 0))
return;

if (!e820_all_mapped(pci_mmcfg_config[0].base_address,
/* Only do this check when type 1 works. If it doesn't work
assume we run on a Mac and always use MCFG */
if (type == 1 && !e820_all_mapped(pci_mmcfg_config[0].base_address,
pci_mmcfg_config[0].base_address + MMCONFIG_APER_MIN,
E820_RESERVED)) {
printk(KERN_ERR "PCI: BIOS Bug: MCFG area at %x is not E820-reserved\n",
Expand Down

0 comments on commit 9abd792

Please sign in to comment.