Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Oct 1998 11:39:10 -0400 (EDT)
From:      lab@gta.com
To:        FreeBSD-gnats-submit@FreeBSD.ORG
Subject:   kern/8423: Intel PILA8461 NIC panics 2.2.7 during probe
Message-ID:  <199810231539.LAA02013@dual.gta.com>

next in thread | raw e-mail | index | archive | help

>Number:         8423
>Category:       kern
>Synopsis:       Intel PILA8461 NIC panics 2.2.7 during probe
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Oct 23 10:10:00 PDT 1998
>Last-Modified:
>Originator:     Larry Baird
>Organization:
Global Technology Associates, Inc,
>Release:        FreeBSD 2.2.7-RELEASE i386
>Environment:

NOTE: This dmesg is from a boot with a working PILA8460 NIC

GNAT Box: Kernel #102 bugmaster@gnatbox.com:/GNATBOX
CPU: AMD Am5x86 Write-Back (486-class CPU)
  Origin = "AuthenticAMD"  Id = 0x4f4  Stepping=4
  Features=0x1"FPU"
real memory  = 8388608 (8192K bytes)
avail memory = 6619136 (6464K bytes)
Probing for devices on PCI bus 0:
fxp0 "Intel EtherExpress Pro 10/100B Ethernet" rev 5 int a irq 9 on pci0:12:0
fxp0: Ethernet address 00:90:27:18:d7:b8
de0 "Digital 21140A Fast Ethernet" rev 32 int a irq 12 on pci0:13:0
de0: SMC 9332BDT 21140A [10-100Mb/s] pass 2.0
de0: address 00:00:c0:5e:a1:e9
fxp1 "Intel EtherExpress Pro 10/100B Ethernet" rev 2 int a irq 10 on pci0:14:0
fxp1: Ethernet address 00:a0:c9:91:5a:ee
chip0 "generic PCI bridge (vendor=1060 device=8881 subclass=0)" rev 4 on pci0:16:0
chip1 "generic PCI bridge (vendor=1060 device=886a subclass=1)" rev 14 on pci0:18:0
pci0:18:1: UMC, device=0x673a, class=storage (ide) [no driver assigned]
Probing for devices on the ISA bus:
sc0 at 0x60-0x6f irq 1 on motherboard
sc0: VGA color "3 virtual consoles, flags=0x0"
ed0 not found at 0x280
ed1 not found at 0x300
ed2 not found at 0x320
ed3 not found at 0x340
ed4 not found at 0x360
sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
sio2 at 0x3e8-0x3ef irq 5 on isa
sio2: type 16550A
sio3: configured irq 9 not in bitmap of probed irqs 0
sio3 not found at 0x2e8
lpt0 at 0x378-0x37f irq 7 on isa
lpt0: Interrupt-driven port
rb0 at 0x0 drq 0 on isa
rb0/lp0: dongle
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fd0: 1.44MB 3.5in
cs0 not found at 0x300
ep0 not found at 0xffffffff
ep1 not found at 0xffffffff
ep2 not found at 0xffffffff
le0 not found at 0x300
le1 not found at 0x280
le2 not found at 0x320
le3 not found at 0x340
ze0 not found at 0x300
ze1 not found at 0x280
zp0 not found at 0x300
zp1 not found at 0x280
npx0 flags 0x1 on motherboard
npx0: INT 16 interface
de0: enabling 10baseT port

>Description:

A Intel EtherExpress PRO/100+ Managment Adapter (PILA8461) panics a
2.2.7 kernel at boot during a probe.


>How-To-Repeat:

Put a PILA8461 card in a boot.

>Fix:
	
I don't know the fix, but I have narrowed it down to the line of code
with the problem.  The problem is in the function pci_map_mem() in the
file /sys/pci/pci.c.  The size of the region to map (psize) is
calculated incorrectly.

This function uses pci_conf_read() to intialize a variable called data.

On a PILA8461 card data is set to 0x7ffff000.

Then psize is calculated using the following magic code:

#define        PCI_MAP_MEMORY_ADDRESS_MASK     0xfffffff0
	psize = -(data & PCI_MAP_MEMORY_ADDRESS_MASK);

This results in psize receiving a value of 0x80001000.

This value of psize when passed to pmap_mapdev() causes a panic.

FYI, values from a working PILA8460 card are:
   data - 0xfffff008
  psize - 0x1000



>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810231539.LAA02013>