NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/44262: ppb may fail to setup some PCIe busses correctly



>Number:         44262
>Category:       kern
>Synopsis:       ppb may fail to setup some PCIe busses correctly
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Wed Dec 22 16:55:00 +0000 2010
>Originator:     Dr. W. Stukenbrock
>Release:        NetBSD 5.1
>Organization:
Dr. Nagler & Company GmbH
>Environment:
        
        
System: NetBSD test-s0 4.0 NetBSD 4.0 (NSW-WS) #0: Tue Aug 17 17:28:09 CEST 
2010 wgstuken@test-s0:/usr/src/sys/arch/amd64/compile/NSW-WS amd64
Architecture: x86_64
Machine: amd64
>Description:
        The ppb_fix_pcix() routine at line 75 in /usr/src/sys/dev/pci/ppb.c 
tries to
        correct some setups to get PCIe working as expected for NetBSD.
        It will do only something, if it is a PCIe bus.
        (currently only the notification events gets disabled if they are 
enabled).

        Accedently the routine checks the returned value from 
PCI_CAP_PCIEXPRESS register and
        if it does not match excactly the value 0x00010000, an error about an
        "unsupported PCI Express version" is printed and no corrections to the 
setup is done.
        (I think the value 0x0001000 belongs to PCIe 1.0, but I'm not shure ...)

        Now if you have a system with PCIe 2.0 (as we have with a Supermicro 
X8SIL), you get
        the (confusing) message during boot.
        Neverless the PCIe bus seems to work anyway and but I'm not shure if it 
will also work
        if e.g. notification events - if they are also available in PCIe2.0 - 
are enabled too.

        Someone should have a look at this and should either silently ignore 
any "unknown" PCIe
        version or should catch the currently recent version (1.0, 1.x, 2.0, 
...) and print only
        an error message if it is a realy unknown version.
        Perhaps it makes sence to print the deteted version on the screen, that 
may make the search
        for the reason and a way to fix it faster ...
>How-To-Repeat:
        Get a system with e.g. an Supermicro X8SIL board (Intel 3400 based) and 
install 5.1.
        You will see the message during boot.
>Fix:
        Not known, because I'm not realy confirmed with PCIe details.
        If it makes sence to diasable notfication events on busses where 
PCI_CAP_PCIEXPRESS
        returns 0x00010000, than this may make sence also on some other busses 
- e.g. PCIe2.0

>Unformatted:
        
        


Home | Main Index | Thread Index | Old Index