diff options
Diffstat (limited to 'arch/i386/pci/mmconfig.c')
| -rw-r--r-- | arch/i386/pci/mmconfig.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/i386/pci/mmconfig.c b/arch/i386/pci/mmconfig.c index 6b1ea0c9a570..e545b0992c48 100644 --- a/arch/i386/pci/mmconfig.c +++ b/arch/i386/pci/mmconfig.c | |||
| @@ -15,7 +15,9 @@ | |||
| 15 | #include <asm/e820.h> | 15 | #include <asm/e820.h> |
| 16 | #include "pci.h" | 16 | #include "pci.h" |
| 17 | 17 | ||
| 18 | #define MMCONFIG_APER_SIZE (256*1024*1024) | 18 | /* aperture is up to 256MB but BIOS may reserve less */ |
| 19 | #define MMCONFIG_APER_MIN (2 * 1024*1024) | ||
| 20 | #define MMCONFIG_APER_MAX (256 * 1024*1024) | ||
| 19 | 21 | ||
| 20 | /* Assume systems with more busses have correct MCFG */ | 22 | /* Assume systems with more busses have correct MCFG */ |
| 21 | #define MAX_CHECK_BUS 16 | 23 | #define MAX_CHECK_BUS 16 |
| @@ -197,9 +199,10 @@ void __init pci_mmcfg_init(void) | |||
| 197 | return; | 199 | return; |
| 198 | 200 | ||
| 199 | if (!e820_all_mapped(pci_mmcfg_config[0].base_address, | 201 | if (!e820_all_mapped(pci_mmcfg_config[0].base_address, |
| 200 | pci_mmcfg_config[0].base_address + MMCONFIG_APER_SIZE, | 202 | pci_mmcfg_config[0].base_address + MMCONFIG_APER_MIN, |
| 201 | E820_RESERVED)) { | 203 | E820_RESERVED)) { |
| 202 | printk(KERN_ERR "PCI: BIOS Bug: MCFG area is not E820-reserved\n"); | 204 | printk(KERN_ERR "PCI: BIOS Bug: MCFG area at %x is not E820-reserved\n", |
| 205 | pci_mmcfg_config[0].base_address); | ||
| 203 | printk(KERN_ERR "PCI: Not using MMCONFIG.\n"); | 206 | printk(KERN_ERR "PCI: Not using MMCONFIG.\n"); |
| 204 | return; | 207 | return; |
| 205 | } | 208 | } |
