NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/42870: mpt not working on big endian systems
>Number: 42870
>Category: kern
>Synopsis: mpt(4) driver is byte-order unaware
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Feb 23 04:30:00 +0000 2010
>Originator: Chris Ross
>Release: NetBSD 5.99.24 ; NetBSD 5.0_STABLE
>Organization:
>Environment:
System: NetBSD harmony.distal.com 5.0_STABLE NetBSD 5.0_STABLE (HARMONY) #1:
Sun Feb 21 16:33:40 EST 2010
cross%skaro.distal.com@localhost:/export/obj/NetBSD-5.sparc64/data/NetBSD/src-5/sys/arch/sparc64/compile/HARMONY
sparc64
Architecture: sparc64
Machine: sparc64
>Description:
The mpt(4) driver appears to be unaware of byte-order issues, and therefore
when trying to attach an LSI-21320 controller on my sparc64, I see only:
psycho1 at mainbus0 addr 0xfffc6000
psycho1: SUNW,psycho: impl 0, version 4: ign 7c0 bus range 128 to 128; PCI bus
128
pci1 at psycho1
pci1: i/o space, memory space enabled
mpt0 at pci1 dev 1 function 0: Symbios Logic 53c1020/53c1030
mpt0: applying 1030 quirk
mpt0: interrupting at ivec 0
mpt0: mpt_recv_handshake_cmd timeout3
mpt0: mpt_get_iocfacts failed
mpt0: mpt_recv_handshake_cmd timeout3
mpt0: mpt_get_iocfacts failed
mpt0: mpt_recv_handshake_cmd timeout3
mpt0: mpt_get_iocfacts failed
mpt0: failed to initialize IOC
mpt1 at pci1 dev 1 function 1: Symbios Logic 53c1020/53c1030
mpt1: applying 1030 quirk
mpt1: interrupting at ivec 1
mpt1: mpt_recv_handshake_cmd timeout3
mpt1: mpt_get_iocfacts failed
mpt1: mpt_recv_handshake_cmd timeout3
mpt1: mpt_get_iocfacts failed
mpt1: mpt_recv_handshake_cmd timeout3
mpt1: mpt_get_iocfacts failed
mpt1: failed to initialize IOC
timer0 at mainbus0 addr 0xfff9fc00 irq vectors 7ec
Investigation yields both that there are many 16-bit memory operations (which
may or may not be a problem at that level, but is a classic sparc64 issue),
and that the driver seems to pay no attention what-so-ever to byte ordering.
>How-To-Repeat:
Attach a LSI 1020/1030 PCI controller to a sparc64 (or other big-endian
syetem), and configure a kernel with the mpt device.
>Fix:
Home |
Main Index |
Thread Index |
Old Index