some BIOS only let AMD fam 10h handle bus0, and nvidia mcp55/ck804
to handle other buses. at that case MCFG will cover all over them.
but with acpi=off, we can not use MCFG. this patch will double check
the busnbits, and if it is less handling 256 bues, and acpi=off
will forcely reset the mmconf in msr, so we still use mmconf in above case.
Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>
Index: linux-2.6/arch/x86/kernel/setup_64.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/setup_64.c
+++ linux-2.6/arch/x86/kernel/setup_64.c
@@ -720,14 +720,21 @@ static void __cpuinit fam10h_check_enabl
/* try to make sure that AP's setting is identical to BSP setting */
if (val & FAM10H_MMIO_CONF_ENABLE) {
- u64 base;
- base = val & (0xffffULL << 32);
- if (fam10h_pci_mmconf_base_status <= 0) {
- fam10h_pci_mmconf_base = base;
- fam10h_pci_mmconf_base_status = 1;
- return;
- } else if (fam10h_pci_mmconf_base == base)
- return;
+ unsigned busnbits;
+ busnbits = (val >> FAM10H_MMIO_CONF_BUSRANGE_SHIFT) &
+ FAM10H_MMIO_CONF_BUSRANGE_MASK;
+
+ /* only trust the one handle 256 buses, if acpi=off */
+ if (!acpi_pci_disabled || busnbits >= 8) {
+ u64 base;
+ base = val & (0xffffULL << 32);
+ if (fam10h_pci_mmconf_base_status <= 0) {
+ fam10h_pci_mmconf_base = base;
+ fam10h_pci_mmconf_base_status = 1;
+ return;
+ } else if (fam10h_pci_mmconf_base == base)
+ return;
+ }
}
/*
--
| Peter Zijlstra | Re: Quad core CPUs loaded at only 50% when running a CPU and mmap intensive multi-... |
| Satyam Sharma | [-mm patchset] War on warnings |
| Izik Eidus | [PATCH 0/4] ksm - dynamic page sharing driver for linux |
| Renato S. Yamane | Error -71 on device descriptor read/all |
git: | |
| Martin Langhoff | Handling large files with GIT |
| Wincent Colaiuta | Rebase/cherry-picking idea |
| Linus Torvalds | People unaware of the importance of "git gc"? |
| Joe Fiorini | Undo git-rm without commit? |
| Christian Weisgerber | Re: libiconv problem |
| Peter | OpenBSD as Virtualbox guest |
| Brandon Lee | DELL PERC 5iR slow performance |
| Martin Toft | Trying to compile cwm on Linux |
| Alexey Dobriyan | [PATCH 01/53] xfrm: initialise xfrm_policy_gc_work statically |
| Arjan van de Ven | Printing the driver name as part of the netdev watchdog message |
| Dushan Tcholich | Re: ksoftirqd high cpu load on kernels 2.6.24 to 2.6.27-rc1-mm1 |
| Inaky Perez-Gonzalez | [PATCH 03/39] wimax: constants and definitions to interact with user space |
