Bug 8833 (hpdc7700)

Summary: boot hang unless "pci=nommconf" - HP DC 7700
Product: Drivers Reporter: Ph. Marek (philipp+kernel-bugs)
Component: PCIAssignee: Matthew Wilcox (matthew)
Severity: normal CC: acpi-bugzilla, bjorn.helgaas, jakethompson1, jbarnes, max
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version:, Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on:    
Bug Blocks: 56331    
Attachments: acpidump
dmesg with acpi=off
lspci with acpi=off
lspci -xxx
workaround patch

Description Ph. Marek 2007-08-01 03:22:06 UTC
Most recent kernel where this bug did not occur: ?
Distribution: Debian
Hardware Environment: 
Software Environment: PXE-booted kernel, with some custom initrd

--- Problem Description: 

Kernel doesn't boot, unless "acpi=off" or "pci=conf1" is given.
"acpi=force", "acpi=strict", "acpi=ht", "acpi=noirq", "pci=noacpi", 
"noapic hda=noprobe hdc=noprobe" don't help.

--- Last messages (typed, are abbreviated):

ACPI: bus type pci registered
PCI: using MMConfig
Setting up standard PCI resources
evgpeblk-0952 [04] ev_create_gpe_block: GPE00 to 1F [_GPE] 4 regs on int 0x9
evgpeblk-1048 [03] ev_initialize_gpe_block: Found 9 Wake, Enabled 1 Runtime GPEs in this block
Completing Region/Field/Buffer/Package init.: .....
Init. 27/29 Regions 0/0 Fields 57/57 Buffers 14/23 Packages (729 nodes)
Init Dev./Proc/Thermal Objects by exec. _INI methods:..
Exec. 2 _INI methods require 0 _STA exec. (examined 58 obj)
ACPI: interpreter enabled
ACPI: (supports S0 S3 S4 S5)
ACPI: Using IOAPIC for int. rout.
ACPI: PCI Root Bridge [PCI0] (0000:00)

--- Steps to reproduce: Boot kernel.

--- Dumps get attached.
Comment 1 Ph. Marek 2007-08-01 03:23:34 UTC
Created attachment 12218 [details]
Comment 2 Zhang Rui 2007-08-01 03:24:24 UTC
could you please try "pci=nommconf"?
Comment 3 Ph. Marek 2007-08-01 03:25:25 UTC
Created attachment 12219 [details]
dmesg with acpi=off
Comment 4 Ph. Marek 2007-08-01 03:26:02 UTC
Created attachment 12220 [details]
lspci with acpi=off
Comment 5 Ph. Marek 2007-08-01 03:27:58 UTC
(In reply to comment #2)
> could you please try "pci=nommconf"?
Kernel boots.
Comment 6 Zhang Rui 2007-08-01 18:28:03 UTC
This may be the same problem,
would you please have a look at it?
Comment 7 Shaohua 2007-09-12 01:13:55 UTC
This basically is a BIOS bug. MCFG base should be written to MCH register in intel chipset, so please give the lspci -xxx output, and we can check if MCH register value matches with MCFG table.
Comment 8 Ph. Marek 2007-09-12 04:40:11 UTC
Here you are ...
Comment 9 Ph. Marek 2007-09-12 04:40:57 UTC
Created attachment 12802 [details]
lspci -xxx
Comment 10 Shaohua 2007-09-12 21:51:16 UTC
Created attachment 12810 [details]
workaround patch

Fourunately we have a similar system here. After debugging, we found there is a conflict between memory access when detecting PCI mem BAR and MCFG memory access. Attached workaround patch should fix the issue. I'll send out a fix to LKML later.
Comment 11 Ph. Marek 2007-09-12 23:19:07 UTC
Short test indicates that it seems to work - Having 10 minutes uptime, copying a gigabyte of data from the network to the harddisk.

Thank you.
Comment 12 Matthew Wilcox 2007-09-13 00:51:52 UTC
This is an incorrect patch; it will cause some machines to hang (as it
disables access from the CPU to RAM ...).  The patch which is likely to
be merged can be found at http://marc.info/?l=linux-kernel&m=118809338631160&w=2
Comment 13 Len Brown 2007-10-17 00:07:45 UTC
moving to Drivers/PCI
Comment 14 Fu Michael 2007-10-22 06:12:29 UTC
*** Bug 9127 has been marked as a duplicate of this bug. ***
Comment 15 Len Brown 2008-01-12 16:05:11 UTC
*** Bug 8308 has been marked as a duplicate of this bug. ***
Comment 16 Jesse Barnes 2008-03-13 10:16:02 UTC
One of the fixes for this problem made it upstream, so we can probably close this one.
Comment 17 maximilian attems 2008-03-13 11:09:42 UTC is still fucked without pci=nommconfig.

i can confirm that it is fixed on 2.6.25-r5-git3.
Comment 18 Matthew Wilcox 2008-04-23 10:49:30 UTC
This bug was fixed.