linux/arch/i386
Chuck Ebbert ead2bfeb7f [PATCH] PCI: fix issues with extended conf space when MMCONFIG disabled because of e820
On 15 Jun 2006 03:45:10 +0200, Andi Kleen wrote:

> Anyways I would say that if the BIOS can't get MCFG right then
> it's likely not been validated on that board and shouldn't be used.

According to Petr Vandrovec:

 ... "What is important (and checked) is address of MMCONFIG reported by MCFG
 table...  Unfortunately code does not bother with printing that address :-(

 "Another problem is that code has hardcoded that MMCONFIG area is 256MB large.
 Unfortunately for the code PCI specification allows any power of two between 2MB
 and 256MB if vendor knows that such amount of busses (from 2 to 128) will be
 sufficient for system.  With notebook it is quite possible that not full 8 bits
 are implemented for MMCONFIG bus number."

So here is a patch.  Unfortunately my system still fails the test because
it doesn't reserve any part of the MMCONFIG area, but this may fix others.

Booted on x86_64, only compiled on i386.  x86_64 still remaps the max area
(256MB) even though only 2MB is checked... but 2.6.16 had no check at all
so it is still better.

PCI: reduce size of x86 MMCONFIG reserved area check

1.  Print the address of the MMCONFIG area when the test for that area
    being reserved fails.

2.  Only check if the first 2MB is reserved, as that is the minimum.

Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
Acked-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-06-21 12:00:01 -07:00
..
boot [PATCH] vesafb: Fix incorrect logo colors in x86_64 2006-04-11 06:18:54 -07:00
crypto [CRYPTO] aes-i586: Remove unused variable ls_tab 2006-01-09 14:15:53 -08:00
kernel [PATCH] PCI: fix memory leak in MMCONFIG error path 2006-06-21 12:00:01 -07:00
lib [LIB]: Consolidate _atomic_dec_and_lock() 2005-09-14 21:47:01 -07:00
mach-default [PATCH] Fix topology.c location 2006-02-24 14:31:39 -08:00
mach-es7000 [PATCH] Compilation fix for ES7000 when no ACPI is specified in config (i386) 2006-03-23 07:38:04 -08:00
mach-generic [PATCH] i386: apic= command line option should always be 2006-05-30 20:31:05 -07:00
mach-visws [PATCH] kill include/linux/platform.h, default_idle() cleanup 2006-03-24 07:33:21 -08:00
mach-voyager [PATCH] voyager: no need to define BITS_PER_BYTE when it's already in types.h 2006-04-19 09:13:51 -07:00
math-emu [PATCH] i386: inline assembler: cleanup and encapsulate descriptor and task register management 2005-09-05 00:06:11 -07:00
mm [PATCH] build fix: CONFIG_MEMORY_HOTPLUG=y on i386 2006-05-21 12:59:17 -07:00
oprofile [PATCH] Add Core Solo and Core Duo support to oprofile 2006-05-15 11:20:56 -07:00
pci [PATCH] PCI: fix issues with extended conf space when MMCONFIG disabled because of e820 2006-06-21 12:00:01 -07:00
power [PATCH] swsusp: fix typo in cr0 handling 2006-05-23 10:35:32 -07:00
defconfig update the i386 defconfig 2006-03-20 20:14:06 +01:00
Kconfig [PATCH] fix hotplug kconfig help 2006-05-15 11:20:57 -07:00
Kconfig.cpu [PATCH] Enable TSC for AMD Geode GX/LX 2006-04-11 06:18:34 -07:00
Kconfig.debug [PATCH] i386: Move CONFIG_DOUBLEFAULT into arch/i386 where it belongs. 2006-04-18 10:39:20 -07:00
Makefile [PATCH] x86: "make isoimage" support; FDINITRD= support; minor cleanups 2006-03-26 08:56:53 -08:00
Makefile.cpu [PATCH] x86-64: Use -mtune=generic for generic kernels 2006-03-25 09:10:52 -08:00