Bug 248186 - gp dl535g2 / AMD 8132 MMCONFIG blacklist
gp dl535g2 / AMD 8132 MMCONFIG blacklist
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel (Show other bugs)
5.0
i386 Linux
low Severity high
: ---
: ---
Assigned To: Tony Camuso
Martin Jenner
:
Depends On:
Blocks: 222082 252215 RHEL5u2_relnotes
  Show dependency treegraph
 
Reported: 2007-07-13 15:21 EDT by Tony Camuso
Modified: 2008-04-01 22:15 EDT (History)
3 users (show)

See Also:
Fixed In Version: RHBA-2007-0959
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-11-07 14:55:54 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Patch to blacklist 32-bit 585 in mmconfig.c (638 bytes, patch)
2007-07-20 16:43 EDT, Tony Camuso
no flags Details | Diff

  None (edit)
Description Tony Camuso 2007-07-13 15:21:57 EDT
Description of problem:

The blacklist patch that addresses this problem, as well as the bus
discovery patches, have been implemented in RHEL 4, for both i386 and
x86_64.

HOWEVER, these patches have only been implemented for x86_64 in RHEL5.

AMD-8132 hypertransport-to-PCI bridge does not support MMCONFIG cycles, 
so PCI configuration must use the legacy PortIO CF8/CFC mechanism. This 
chip also does not support MSI, and it is recommended that devices below
it have MSI disabled.  

All x86 systems using this chip must boot with '-pci nommconfig' switch
or the PCI behind this bridge will not be configured. 

Version-Release number of selected component (if applicable): 2.6.18-34

How reproducible:

Right now, we don't see the problem because the dl585g2 BIOS does not map
MMCONFIG into E820, so MMCONFIG is turned off anyway. However, as soon as 
the dl585g2 BIOS is fixed, we can expect problems. I have not encountered 
the problems yet, but Bhavana submitted patches to obviate the problem for
both 1386 and x86_64 on RHEL4 but ONLY for x86_64 on RHEL5.

Steps to Reproduce:
1.boot 
  
Actual results:
n/a


Expected results:
See AMD 8132 errata at 
http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/30801.pdf



Additional info:
Comment 1 Tony Camuso 2007-07-18 11:05:59 EDT
(In reply to comment #0)

This problem needs to be addressed ASAP for RHEL5-U1. 

This is a very easy fix, simply applying the same patch to the i386 MMCONFIG
code that was made to the x86_64 MMCONFIG code in order for the code to remain
consistent between the two architectures and with what was done in RHEL4.

While HP can continue code the BIOS (wrongly) to indicate to RHEL that MMCONFIG
is not supported on the DL585g2, which is why the 32-bit DL585g2 currently boots
without the fix, this is not consistent, nor is it the correct long-term fix,
since it is internally inconsistent within the BIOS itself. 
Comment 2 Tony Camuso 2007-07-20 16:43:37 EDT
Created attachment 159692 [details]
Patch to blacklist 32-bit 585 in mmconfig.c 

This patch makes the RHEL5.1 32-bit x86 code consistent with RHEL5.1 x86_64
code and with RHEL4 32 and 64 bit x86 code. 

Patch to blacklist HP DL585 G2 to use legacy (CF8/CFC) PCI config accesses
rather than  MMCONFIG cycles.
Comment 4 RHEL Product and Program Management 2007-07-31 10:15:23 EDT
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.
Comment 5 Jay Turner 2007-08-01 19:48:50 EDT
Need testing results with the latest 5.1 code + patch in addition to other
testing which needs to occur.
Comment 7 Tony Camuso 2007-08-14 13:33:51 EDT
The business case for the submitted patch is that the HP dl585g2 is a popular
system among RedHat's larger customers. 

Systems currently blacklisted are:
  PLATFORM                  RHEL4  RHEL5
  ---------------------     -----  -----
  HP xw9300 Workstation       X      X
  HP xw9400 Workstation       X      X
  HP ProLiant DL585 G2        X      X <- 32b with the submitted patch
  HP Compaq dc5700 Microtower        X <- 32b with the submitted patch
  Intel DG965MQ               X
  Intel D26928                X

As it is, the current blacklist does not cover all the systems affected, so a
Release Note must accompany the RHEL 4/5 update that lists affected platforms
that are not blacklisted. 

In RHELs 4.7 and 5.2, we can avoid the platform blacklist and release notes for
platforms not included therein by blacklisting the chipsets. 

It's just too late to do this in RHELs 4.6 and 5.1
Comment 8 Don Zickus 2007-08-14 14:56:27 EDT
Tony please work with Don D. in making sure that a correct and accurate release
note is attached to RHEL 5.1.  Considering the temporary solution for 5.1
requires a little extra effort on the customer's part, I want to make sure the
details of your email are covered in here.

Thanks,
Don
Comment 9 Don Zickus 2007-08-15 15:10:06 EDT
in 2.6.18-40.el5
You can download this test kernel from http://people.redhat.com/dzickus/el5
Comment 10 Don Domingo 2007-08-15 22:42:07 EDT
hope i understood this correctly. proposed note for RHEL5.1 x86 release notes
("Known Issues"):

<quote>
- The HP DL585 G2 and AMD 8132 chipsets do not currently support MMCONFIG
cycles. If your system uses either chipset, your PCI configuration should use
the legacy PortIO CF8/CFC mechanism. To configure this, boot the system with the
kernel parameter -pci nommconfig during installation and add pci=nommconf to
GRUB after rebooting.

Further, the AMD 8132 chipset does not support MSI. If your system uses this
chipset, you should also disable MSI. To do this, use the kernel parameter -pci
nomsi during installation and add pci=nomsi to GRUB after rebooting.
</quote>

please advise if any revisions are necessary, will add upon approval. note that
the release notes deadline is 16 Aug 2007 (Thursday), at which point it will be
dropped  
Comment 11 Tony Camuso 2007-08-16 00:13:59 EDT
The DL585G2 is blacklisted in the code, so it does not need to boot with the -
pci nommconfig and nomsi flags. 

The Release Note only affects those systems that use AMD8132 and BroadCom 
HT1000 chipsets. 

The only HP system I know for certain that is not blacklisted and must be in 
the Release Note is the DC7700. There may be others, so I will try to get 
information on any other HP platforms that are affected and not already 
blacklisted in the code. 

I will try to get this information to you by the close of business tomorrow, 
Aug 16, 2007, 5:00 PM EDT. 

I do not know how many other vendors are affected, but it's likely to be more 
than just HP. 
Comment 12 Don Zickus 2007-08-16 10:39:01 EDT
Tony, considering any list you come up with will most likely be incomplete (it's
impossible to know what every vendor is shipping), I propose the simple change
to the release notes.

Instead of 
 - The HP DL585 G2 and AMD 8132 chipsets do not currently support MMCONFIG

use
 - The AMD 8132 and BroadCom HT1000 chipsets do not currently support MMCONFIG

Then at the add of the Notes perhaps add a blurb stating that the DL585G2 system
is exempt from these command line changes as it is already blacklisted in the
kernel (but it is the only system that is exempt).

Thoughts?

-Don Z
Comment 13 Tony Camuso 2007-08-16 10:50:09 EDT
(In reply to comment #12)
> Tony, considering any list you come up with will most likely be incomplete 
(it's
> impossible to know what every vendor is shipping), I propose the simple change
> to the release notes.
> Instead of 
>  - The HP DL585 G2 and AMD 8132 chipsets do not currently support MMCONFIG
> use
>  - The AMD 8132 and BroadCom HT1000 chipsets do not currently support MMCONFIG
> Then at the add of the Notes perhaps add a blurb stating that the DL585G2 
system
> is exempt from these command line changes as it is already blacklisted in the
> kernel (but it is the only system that is exempt).
> Thoughts?
> -Don Z

Don, 

The following HP platforms are exempt (already blacklisted)

DL585g2
dc7500
wx9300
wx9400

HP Platforms that are NOT exempt are
dc7700
others TBD by end of business today (I hope)
Comment 14 Don Domingo 2007-08-16 20:43:22 EDT
thanks for the input, guys. revising as follows:

<quote>
The AMD 8132, HP BroadCom HT100, HP dc770 and several other HP chipsets do not
currently support MMCONFIG cycles. If your system uses either chipset, your PCI
configuration should use the legacy PortIO CF8/CFC mechanism. To configure this,
boot the system with the kernel parameter -pci nommconfig during installation
and add pci=nommconf to GRUB after rebooting.

Further, the AMD 8132 chipset does not support MSI. If your system uses this
chipset, you should also disable MSI. To do this, use the kernel parameter -pci
nomsi during installation and add pci=nomsi to GRUB after rebooting.

However, if your specific chipset is already blacklisted by the kernel, your
system does not require the aforementioned pci kernel parameters. The following
HP chipsets are already blacklisted by the kernel:

DL585g2
dc7500
wx9300
wx9400
</quote>

once approved, i will add it to the RHEL5.1 release notes; you can still make it
to the distro if i can add it today. :-)
Comment 15 Tony Camuso 2007-08-17 09:52:07 EDT
Don, a couple of things. 

This:
The AMD 8132, HP BroadCom HT100, HP dc770 and several other HP chipsets do not
currently support MMCONFIG cycles.

Should be changed to this:
The AMD 8132 and the BroadCom HT100 used in some plafforms, like the HP dc7700,
do not currently support MMCONFIG cycles.

And this:
wx9300
wx9400

Should be changed to this:
xw9300
xw9400

After that, I'd say it's ready.

Comment 17 Don Domingo 2007-08-19 21:13:46 EDT
adding to RHEL5.1 release notes updates:

<quote>
The AMD 8132 and HP BroadCom HT100 used on some platforms (such as the HP
dc7700) do not support MMCONFIG cycles. If your system uses either chipset, your
PCI configuration should use the legacy PortIO CF8/CFC mechanism. To configure
this, boot the system with the kernel parameter -pci nommconfig during
installation and add pci=nommconf to GRUB after rebooting.

Further, the AMD 8132 chipset does not support Message Signaled Interrupts
(MSI). If your system uses this chipset, you should also disable MSI. To do
this, use the kernel parameter -pci nomsi during installation and add pci=nomsi
to GRUB after rebooting.

However, if your specific platform is already blacklisted by the kernel, your
system does not require the aforementioned pci kernel parameters. The following
HP platforms are already blacklisted by the kernel:

    * DL585g2
    * dc7500
    * xw9300
    * xw9400
</quote>

please advise if any revisions are necessary. thanks!
Comment 18 Mike Gahagan 2007-08-30 15:22:44 EDT
confirmed the patch is in the -43 kernel.
Comment 20 errata-xmlrpc 2007-11-07 14:55:54 EST
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2007-0959.html
Comment 21 Don Domingo 2008-02-20 21:09:21 EST
adding to RHEL5.2 release notes under "Resolved Issues":

<quote>
The AMD 8132 and HP BroadCom HT100 used on some platforms (such as the HP
dc7700) now support MMCONFIG cycles. As such, if you are using either chipsets,
you no longer need to configure PCI to use the legacy PortIO CF8/CFC mechanism.
</quote>

please advise if any further revisions are required. thansk!
Comment 22 Tony Camuso 2008-02-21 09:16:44 EST
Don,

It's not that these chipsets now support MMCONFIG cycles, but that the code
tests each Northbridge to determine whether it responds to MMCONFIG cycles. If
the bridge does not correctly respond, it is constrained to legacy PortIO config
access. 

However, other bridges in the same system that respond correctly to MMCONFIG
will use MMCONFIG accesses. This is important for systems having both PCI-X and
PCI-express bridges. PCI express devices must have access to extended PCI config
space and need MMCONFIG to provide that access. 

In RHEL5.1 and earlyer, where platforms were blacklisted, the entire platform
was constrained to PortIO config access, thereby preventing the PCI-express
devices from accessing extended config space. 

On a more technical note, devices on the PCI bus, whether express or legacy,
only see PCI bus config cycles. They have no exposure to whether bus cycles 
generated by the Northbridge were the result of MMCONFIG or PortIO protocol
between the Northbridge and CPU. The communication between the CPU and the
Northbridge is utterly opaque to the devices on the PCI bus. 

Comment 23 Don Domingo 2008-04-01 22:15:01 EDT
Hi,
the RHEL5.2 release notes will be dropped to translation on April 15, 2008, at
which point no further additions or revisions will be entertained.

a mockup of the RHEL5.2 release notes can be viewed at the following link:
http://intranet.corp.redhat.com/ic/intranet/RHEL5u2relnotesmockup.html

please use the aforementioned link to verify if your bugzilla is already in the
release notes (if it needs to be). each item in the release notes contains a
link to its original bug; as such, you can search through the release notes by
bug number.

Cheers,
Don

Note You need to log in before you can comment on or make changes to this bug.