Bug 396701

Summary: PCI domains support is needed for some machines to boot
Product: [Fedora] Fedora Reporter: Michal Schmidt <mschmidt>
Component: kernelAssignee: Michal Schmidt <mschmidt>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 8CC: chris.brown, davej
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-02-14 00:15:53 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
hack: PCI domains
none
patch for F8 none

Description Michal Schmidt 2007-11-23 12:46:48 UTC
+++ This bug was initially created as a clone of Bug #384881 +++

-- Additional comment from tburke on 2007-11-12 14:17 EST --
Jeff suggests this is still an issue:
<jburke> 2.6.21-38.el5rt panics
<jburke> http://rhts.lab.boston.redhat.com/cgi-bin/rhts/test_log.cgi?id=696616

-- Additional comment from tburke on 2007-11-12 14:18 EST --
Hanging on an HP xw9300 Viper.

-- Additional comment from mschmidt on 2007-11-15 09:41 EST --
Jeff's report shows a different bug. It's not related to sata_nv. The kernel
can't find the root filesystem, which is on an LVM volume on LSI MPT Fusion.

Notably missing from the RT kernel output is the mptbase driver's message
"mptbase: Initiating ioc0 bringup".

Neither 2.6.21-50.el5rtvanilla works.

-- Additional comment from mschmidt on 2007-11-15 10:58 EST --
I tried these Fedora kernels on hp-xw9300-01:
kernel-2.6.21-1.3194.fc7
kernel-2.6.23.1-21.fc7
kernel-2.6.23.1-42.fc8

They all crash in the same way. mptbase does not find the disk.

-- Additional comment from mschmidt on 2007-11-16 09:27 EST --
The modules mptbase, mptscsih and mptspi are loaded by initrd, but mptspi's 
PCI .probe() method does not get called on 2.6.21-50.el5rt.

-- Additional comment from mschmidt on 2007-11-21 10:15 EST --
I bisected through RHEL5 kernels to find the magic which makes it work:
2.6.18-1.2717.el5 does not work.
2.6.18-1.2720.el5 works.

2720 includes a fix for bug 207396. Basically it blacklists HP xw9300 and xw9400
and disables MMCONF and PCI segments.

-----

hp-xw9300-01.rhts.boston.redhat.com does not boot with Fedora kernels. RHEL5
works because it has a fix for bug 207396. This fix is apparently missing from
Fedora (and presumably upstream too).

Comment 1 Dave Jones 2007-11-27 03:50:35 UTC
mmconfig is off by default in F8


Comment 2 Michal Schmidt 2007-11-27 12:12:59 UTC
2.6.23.1-49.fc8 does not boot on hp-xw9300-01.rhts.boston.redhat.com. If
mmconfig is off in F8, it must be the other thing from bug 207396: pci_noseg

From 2.6.23.1-49.fc8's boot:

ACPI: bus type pci registered
PCI: Using configuration type 1
ACPI: Interpreter enabled
ACPI: (supports S0 S1 S3 S4 S5)
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Transparent bridge - 0000:00:09.0
ACPI: PCI Root Bridge [PCI1] (0001:40)
PCI: Multiple domains not supported
ACPI: Bus 0001:40 not present in PCI namespace
ACPI: PCI Root Bridge [PCI2] (0002:80)
PCI: Multiple domains not supported
ACPI: Bus 0002:80 not present in PCI namespace


Comment 3 Michal Schmidt 2007-11-27 12:23:43 UTC
2.6.24-0.42.rc3.git1.fc9 works OK:

ACPI: bus type pci registered
PCI: BIOS Bug: MCFG area at e0000000 is not E820-reserved
PCI: Not using MMCONFIG.
PCI: Using configuration type 1
ACPI: EC: Look up EC in DSDT
ACPI: Interpreter enabled
ACPI: (supports S0 S1 S3 S4 S5)
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Transparent bridge - 0000:00:09.0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.HUB_._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.EXPA._PRT]
ACPI: PCI Root Bridge [PCI1] (0001:40)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI1.GLMA._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI1.GLMB._PRT]
ACPI: PCI Root Bridge [PCI2] (0002:80)

Comment 4 Michal Schmidt 2007-11-27 15:04:21 UTC
Created attachment 269781 [details]
hack: PCI domains

2.6.23.9 (and I assume F8's kernel too) can be made to work with this (hacky
and incomplete, not for merging) patch backported from 2.6.24-rc2. Only works
on x86_64 and it does not respect pci=nodomains.

Comment 5 Michal Schmidt 2007-11-27 16:39:02 UTC
Created attachment 269891 [details]
patch for F8

This is a backport of two commits:

32a2eea795643929a43cbbba00d8c4a176b309bf
  PCI: Add 'nodomains' boot option, and pci_domains_supported global

    * Introduce pci_domains_supported global, hardcoded to zero if
      !CONFIG_PCI_DOMAINS.
    
    * Introduce 'nodomains' boot option, which clears pci_domains_supported
      on platforms that enable it by default (x86, x86-64, and others when
      they are converted to use this).

a79e4198d1effbba040e9bf407a95fc9b3418789
  PCI: X86: Introduce and enable PCI domain support

    * fix bug in pci_read() and pci_write() which prevented PCI domain
      support from working (hardcoded domain 0).
    
    * unconditionally enable CONFIG_PCI_DOMAINS
    
    * implement pci_domain_nr() and pci_proc_domain(), as required of
      all arches when CONFIG_PCI_DOMAINS is enabled.
    
    * store domain in struct pci_sysdata, as assigned by ACPI
    
    * support "pci=nodomains"

Applies to kernel-2.6.23.8-63.fc8.

Comment 6 Michal Schmidt 2007-11-27 16:46:01 UTC
Dave,
You can either apply the above patch to F8's kernel, or just CLOSE this as RAWHIDE.

Comment 7 Christopher Brown 2008-02-14 00:15:53 UTC
Looks like RAWHIDE then...