pcic setup / wi0 timeout

Dirk-Willem van Gulik dirkx at webweaving.org
Wed May 28 17:43:28 PDT 2003



On Wed, 28 May 2003, M. Warner Losh wrote:

> It depends.  Really old machines routed interrupts to all PCI slots
> and assigned devices found there an interrupt.  Newer old machines
> expect the PCI bridge driver of the OS to cope.

And I take it that if I start mucking myself by poke-ing a value into
CB_PCI_INT_LINE that I really really shoot myself in the foot.

> Newer old machines provide a BIOS interface to route them (which we can
> use).  Newer machines with ACPI have ACPI to do the routing.  You might
> want to do a boot verbose, but I'm not sure how much that would help.
> PCIBIOS should have something like:

Displayed is:

	bios32: Found BIOS32 Service Directory header at 0xc00fdb00
	bios32: Entry = 0xf5f23 (c00f5f23)  Rev = 0  Len = 1
	pcibios: PCI BIOS entry at 0xf5ec0+0x2ac
	pnpbios: Found PnP BIOS data at 0xc00fdb10
	pnpbios: Entry = f0000:5159  Rev = 1.0

A complete -v below. How does one distinghish/recognize from this who/what
is the routing in this case ?

Dw.

Copyright (c) 1992-2003 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 5.0-RELEASE #0: Mon Apr 28 11:24:06 CEST 2003
    dirkx at foem.leiden.webweaving.org:/usr/obj/usr/src/sys/WLEIDEN.93264
Preloaded elf kernel "/boot/kernel/kernel" at 0xc036a000.
Calibrating clock(s) ... TSC clock: 199907648 Hz, i8254 clock: 1193205 Hz
CLK_USE_I8254_CALIBRATION not specified - using default frequency
Timecounter "i8254"  frequency 1193182 Hz
CLK_USE_TSC_CALIBRATION not specified - using old calibration method
Timecounter "TSC"  frequency 199904646 Hz
CPU: Pentium/P55C (199.90-MHz 586-class CPU)
  Origin = "GenuineIntel"  Id = 0x544  Stepping = 4
  Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
real memory  = 33554432 (32 MB)
Physical memory chunk(s):
0x00001000 - 0x0009efff, 647168 bytes (158 pages)
0x00391000 - 0x01ff7fff, 29782016 bytes (7271 pages)
avail memory = 29007872 (27 MB)
bios32: Found BIOS32 Service Directory header at 0xc00fdb00
bios32: Entry = 0xf5f23 (c00f5f23)  Rev = 0  Len = 1
pcibios: PCI BIOS entry at 0xf5ec0+0x2ac
pnpbios: Found PnP BIOS data at 0xc00fdb10
pnpbios: Entry = f0000:5159  Rev = 1.0
Other BIOS signatures found:
Intel Pentium detected, installing workaround for F00F bug
Initializing GEOMetry subsystem
null: <null device, zero device>
random: <entropy source>
mem: <memory & I/O>
npx0: <math processor> on motherboard
npx0: INT 16 interface
pci_open(1):	mode 1 addr port (0x0cf8) is 0x80000050
pci_open(1a):	mode1res=0x80000000 (0x80000000)
pci_cfgcheck:	device 0 [class=060000] [hdr=00] is there (id=71008086)
pcib0: <Host to PCI bridge> at pcibus 0 on motherboard
pci0: <PCI bus> on pcib0
pci0: physical bus=0
found->	vendor=0x8086, dev=0x7100, revid=0x01
	bus=0, slot=0, func=0
	class=06-00-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0006, statreg=0x2200, cachelnsz=0 (dwords)
	lattimer=0x20 (960 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
found->	vendor=0x8086, dev=0x7110, revid=0x01
	bus=0, slot=7, func=0
	class=06-01-00, hdrtype=0x00, mfdev=1
	cmdreg=0x000f, statreg=0x0280, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	map[20]: type 4, range 32, base 0000fcf0, size  4, enabled
found->	vendor=0x8086, dev=0x7111, revid=0x01
	bus=0, slot=7, func=1
	class=01-01-80, hdrtype=0x00, mfdev=0
	cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords)
	lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	map[20]: type 4, range 32, base 0000f800, size  5, enabled
found->	vendor=0x8086, dev=0x7112, revid=0x01
	bus=0, slot=7, func=2
	class=0c-03-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords)
	lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=d, irq=9
	map[90]: type 4, range 32, base 0000f0b0, size  4, enabled
found->	vendor=0x8086, dev=0x7113, revid=0x01
	bus=0, slot=7, func=3
	class=06-80-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0003, statreg=0x0280, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	map[10]: type 1, range 32, base fedfc000, size 14, enabled
	map[14]: type 3, range 32, base fd800000, size 23, enabled
	map[18]: type 1, range 32, base fe000000, size 23, enabled
found->	vendor=0x102b, dev=0x051a, revid=0x02
	bus=0, slot=8, func=0
	class=03-00-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0087, statreg=0x0280, cachelnsz=0 (dwords)
	lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=a, irq=11
found->	vendor=0x1180, dev=0x0475, revid=0x80
	bus=0, slot=17, func=0
	class=06-07-00, hdrtype=0x02, mfdev=0
	cmdreg=0x0000, statreg=0x0210, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x07 (1750 ns)
	intpin=a, irq=255
	powerspec 2  supports D0 D1 D2 D3  current D0
found->	vendor=0x1180, dev=0x0475, revid=0x80
	bus=0, slot=18, func=0
	class=06-07-00, hdrtype=0x02, mfdev=0
	cmdreg=0x0000, statreg=0x0210, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x07 (1750 ns)
	intpin=a, irq=255
	powerspec 1  supports D0 D1 D2 D3  current D0
	map[10]: type 3, range 32, base fedfb000, size 12, enabled
found->	vendor=0x1260, dev=0x3873, revid=0x01
	bus=0, slot=19, func=0
	class=02-80-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0017, statreg=0x0290, cachelnsz=8 (dwords)
	lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=a, irq=11
	powerspec 2  supports D0 D1 D2 D3  current D0
	map[10]: type 3, range 32, base fedfa000, size 12, enabled
found->	vendor=0x1260, dev=0x3873, revid=0x01
	bus=0, slot=20, func=0
	class=02-80-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0017, statreg=0x0290, cachelnsz=8 (dwords)
	lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=a, irq=9
	powerspec 2  supports D0 D1 D2 D3  current D0
isab0: <PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 ATA33 controller> port 0xfcf0-0xfcff at device 7.1 on pci0
ata0: iobase=0x01f0 altiobase=0x03f6 bmaddr=0xfcf0
ata0: mask=03 ostat0=50 ostat2=00
ata0-master: ATAPI 00 00
ata0-slave: ATAPI 00 00
ata0: mask=03 stat0=50 stat1=00
ata0-master: ATA 01 a5
ata0: devices=01
ata0: at 0x1f0 irq 14 on atapci0
ata1: iobase=0x0170 altiobase=0x0376 bmaddr=0xfcf8
ata1: at 0x170 irq 15 on atapci0
pci0: <serial bus, USB> at device 7.2 (no driver attached)
pci0: <bridge, PCI-unknown> at device 7.3 (no driver attached)
pci0: <display, VGA> at device 8.0 (no driver attached)
pci_cfgintr: can't route an interrupt to 0:17 INTA
pcic0: <Ricoh RL5C475 PCI-CardBus Bridge> at device 17.0 on pci0
pcic0: PCI Memory allocated: 0x88000000
pci_cfgintr: can't route an interrupt to 0:17 INTA
pcic0: No PCI interrupt routed, trying ISA.
pcic0: Polling mode
pcic0: PCI Configuration space:
  0x00: 0x04751180 0x02100003 0x06070080 0x00020000
  0x10: 0x88000000 0x020000dc 0x00000000 0x00000000
  0x20: 0x00000000 0x00000000 0x00000000 0x00000000
  0x30: 0x00000000 0x00000000 0x00000000 0x07a00100
  0x40: 0x010114ef 0x00000001 0x00000000 0x00000000
  0x50: 0x00000000 0x00000000 0x00000000 0x00000000
  0x60: 0x00000000 0x00000000 0x00000000 0x00000000
  0x70: 0x00000000 0x00000000 0x00000000 0x00000000
  0x80: 0x00000001 0x00000000 0x04630463 0x00000000
  0x90: 0x00000000 0x00000000 0x00000000 0x00000000
  0xa0: 0x00000010 0x00000000 0x00000000 0x00000000
  0xb0: 0x00000000 0x00000000 0x00000000 0x00000000
  0xc0: 0x010114ef 0x00000000 0x00000000 0x00000000
  0xd0: 0x00000000 0x00000000 0x00000000 0xfe0a0001
  0xe0: 0x24c04000 0x00000000 0x00000000 0x00000000
  0xf0: 0x00000000 0x00000000 0x00000000 0x00000000
pccard0: <PC Card 16-bit bus (classic)> on pcic0
pci_cfgintr: can't route an interrupt to 0:18 INTA
pcic1: <Ricoh RL5C475 PCI-CardBus Bridge> at device 18.0 on pci0
pcic1: PCI Memory allocated: 0x88001000
pci_cfgintr: can't route an interrupt to 0:18 INTA
pcic1: No PCI interrupt routed, trying ISA.
pcic1: Polling mode
pcic1: PCI Configuration space:
  0x00: 0x04751180 0x02100003 0x06070080 0x00020000
  0x10: 0x88001000 0x020000dc 0x00000000 0x00000000
  0x20: 0x00000000 0x00000000 0x00000000 0x00000000
  0x30: 0x00000000 0x00000000 0x00000000 0x07a00100
  0x40: 0x010114ef 0x00000001 0x00000000 0x00000000
  0x50: 0x00000000 0x00000000 0x00000000 0x00000000
  0x60: 0x00000000 0x00000000 0x00000000 0x00000000
  0x70: 0x00000000 0x00000000 0x00000000 0x00000000
  0x80: 0x00000000 0x00000000 0x04630463 0x00000000
  0x90: 0x00000000 0x00000000 0x00000000 0x00000000
  0xa0: 0x00000010 0x00000000 0x00000000 0x00000000
  0xb0: 0x00000000 0x00000000 0x00000000 0x00000000
  0xc0: 0x010114ef 0x00000000 0x00000000 0x00000000
  0xd0: 0x00000000 0x00000000 0x00000000 0xfe190001
  0xe0: 0x24c04000 0x00000000 0x00000000 0x00000000
  0xf0: 0x00000000 0x00000000 0x00000000 0x00000000
pccard1: <PC Card 16-bit bus (classic)> on pcic1
wi0: <Intersil Prism2.5> mem 0xfedfb000-0xfedfbfff irq 11 at device 19.0 on pci0
wi0: 802.11 address: 00:06:25:a7:a8:46
wi0: using RF:PRISM2.5 MAC:ISL3874A(Mini-PCI)
wi0: Intersil Firmware: Primary 1.01.01, Station 1.05.06
wi0: wi_has_wep = 1
wi0: bpf attached
wi1: <Intersil Prism2.5> mem 0xfedfa000-0xfedfafff irq 9 at device 20.0 on pci0
wi1: 802.11 address: 00:06:25:a7:a9:42
wi1: using RF:PRISM2.5 MAC:ISL3874A(Mini-PCI)
wi1: Intersil Firmware: Primary 1.01.01, Station 1.05.06
wi1: wi_has_wep = 1
wi1: bpf attached
ata: ata0 already exists; skipping it
ata: ata1 already exists; skipping it
Trying Read_Port at 203
Trying Read_Port at 243
Trying Read_Port at 283
Trying Read_Port at 2c3
Trying Read_Port at 303
Trying Read_Port at 343
Trying Read_Port at 383
Trying Read_Port at 3c3
pnpbios: 13 devices, largest 82 bytes
PNP0a03: adding fixed io range 0xcf8-0xcff, size=0x8, align=0x1
PNP0a03: adding fixed io range 0xe6-0xe6, size=0x1, align=0x1
PNP0a03: adding io range 0x80-0x80, size=0x1, align=0
PNP0a03: adding io range 0x4d0-0x4d1, size=0x2, align=0
pnpbios: handle 0 device ID PNP0a03 (030ad041)
PNP0800: adding fixed io range 0x61-0x61, size=0x1, align=0x1
pnpbios: handle 1 device ID PNP0800 (0008d041)
PNP0c01: adding memory range 0-0x9ffff, size=0xa0000, align=0
PNP0c01: adding memory range 0xe0000-0xfffff, size=0x20000, align=0
PNP0c01: adding fixed memory32 range 0x100000-0x1ffffff, size=0x1f00000
PNP0c01: adding fixed memory32 range 0xfffe0000-0xffffffff, size=0x20000
PNP0c01: adding fixed io range 0x26-0x27, size=0x2, align=0x1
PNP0c01: adding fixed io range 0xf080-0xf08f, size=0x10, align=0x1
PNP0c01: adding fixed io range 0xf0c0-0xf0ff, size=0x40, align=0x1
PNP0c01: adding fixed io range 0xf0b0-0xf0bf, size=0x10, align=0x1
pnpbios: handle 2 device ID PNP0c01 (010cd041)
PNP0303: adding fixed io range 0x60-0x60, size=0x1, align=0x1
PNP0303: adding fixed io range 0x64-0x64, size=0x1, align=0x1
PNP0303: adding irq mask 0x2
pnpbios: handle 3 device ID PNP0303 (0303d041)
PNP0c04: adding fixed io range 0xf0-0xff, size=0x10, align=0x1
PNP0c04: adding irq mask 0x2000
pnpbios: handle 4 device ID PNP0c04 (040cd041)
PNP0200: adding io range 0-0xf, size=0x10, align=0
PNP0200: adding io range 0x81-0x8f, size=0xf, align=0
PNP0200: adding io range 0xc0-0xdf, size=0x20, align=0
PNP0200: adding dma mask 0x10
pnpbios: handle 5 device ID PNP0200 (0002d041)
PNP0000: adding io range 0x20-0x21, size=0x2, align=0
PNP0000: adding io range 0xa0-0xa1, size=0x2, align=0
PNP0000: adding irq mask 0x4
pnpbios: handle 6 device ID PNP0000 (0000d041)
PNP0100: adding io range 0x40-0x43, size=0x4, align=0
PNP0100: adding irq mask 0x1
pnpbios: handle 7 device ID PNP0100 (0001d041)
PNP0b00: adding io range 0x70-0x71, size=0x2, align=0
PNP0b00: adding irq mask 0x100
pnpbios: handle 8 device ID PNP0b00 (000bd041)
PNP0501: adding io range 0x3f8-0x3ff, size=0x8, align=0
PNP0501: adding irq mask 0x10
pnpbios: handle 10 device ID PNP0501 (0105d041)
pnpbios: handle 11 device ID PNP0501 (0105d041)
pnpbios: handle 12 device ID PNP0400 (0004d041)
pnpbios: handle 13 device ID PNP0700 (0007d041)
sc: sc0 already exists; skipping it
vga: vga0 already exists; skipping it
isa_probe_children: disabling PnP devices
isa_probe_children: probing non-PnP devices
orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0
adv0: not probed (disabled)
aha0: not probed (disabled)
aic0: not probed (disabled)
atkbdc0: <Keyboard controller (i8042)> at port 0x64,0x60 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
atkbd: the current kbd controller command byte 0065
atkbd: keyboard ID 0x41ab (2)
kbd0 at atkbd0
kbd0: atkbd0, AT 101/102 (2), config:0x1, flags:0x3d0000
bt0: not probed (disabled)
cs0: not probed (disabled)
ed0: not probed (disabled)
ed1 failed to probe at port 0x340-0x35f iomem 0xd8000 irq 5 on isa0
fdc0 failed to probe at port 0x3f0 irq 6 drq 2 on isa0
fe0: not probed (disabled)
ie0: not probed (disabled)
le0: not probed (disabled)
lnc0: not probed (disabled)
ppc0 failed to probe at irq 7 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sc0: fb0, kbd0, terminal emulator: sc (syscons terminal)
sio0: irq maps: 0x1 0x11 0x1 0x1
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
sio1: irq maps: 0x1 0x1 0x1 0x1
sio1: probe failed test(s): 0 1 2 4 6 7 9
sio1 failed to probe at port 0x2f8-0x2ff irq 3 on isa0
sio2: not probed (disabled)
sio3: not probed (disabled)
sn0: not probed (disabled)
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
fb0: vga0, vga, type:VGA (5), flags:0x7007f
fb0: port:0x3c0-0x3df, crtc:0x3d4, mem:0xa0000 0x20000
fb0: init mode:24, bios mode:3, current mode:24
fb0: window:0xc00b8000 size:32k gran:32k, buf:0 size:32k
VGA parameters upon power-up
50 18 10 00 00 00 03 00 02 67 5f 4f 50 82 55 81
bf 1f 00 4f 0d 0e 00 00 05 a0 9c 8e 8f 28 1f 96
b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c
3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff
VGA parameters in BIOS for mode 24
50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81
bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96
b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c
3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff
EGA/VGA parameters to be used for mode 24
50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81
bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96
b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c
3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff
vt0: not probed (disabled)
isa_probe_children: probing PnP devices
unknown: <PNP0a03> can't assign resources (port)
unknown: <PNP0a03> at port 0x4d0-0x4d1,0x80,0xe6,0xcf8-0xcff on isa0
unknown: <PNP0800> failed to probe at port 0x61 on isa0
unknown: <PNP0303> can't assign resources (port)
unknown: <PNP0303> at port 0x60 on isa0
unknown: <PNP0501> can't assign resources (port)
unknown: <PNP0501> at port 0x3f8-0x3ff on isa0
unknown: <16550A-compatible COM port> failed to probe on isa0
unknown: <PNP0400> failed to probe on isa0
unknown: <PNP0700> failed to probe on isa0
BIOS Geometries:
 0:004a0f3f 0..74=75 cylinders, 0..15=16 heads, 1..63=63 sectors
 0 accounted for
Device configuration finished.
procfs registered
Timecounters tick every 10.000 msec
ipfw2 initialized, divert enabled, rule-based forwarding enabled, default to accept, logging disabled
DUMMYNET initialized (011031)
lo0: bpf attached
ad0: success setting WDMA2 on Intel chip
GEOM: new disk ad0
ar: FreeBSD check1 failed
ad0: <WDC AC21600H/24.09P07> ATA-0 disk at ata0-master
ad0: 1549MB (3173184 sectors), 3148 C, 16 H, 63 S, 512 B
ad0: 1 secs/int, 1 depth queue, WDMA2
ad0: piomode=4 dmamode=2 udmamode=-1 cblid=0
GEOM: Configure ad0s1, start 32256 length 1624637952 end 1624670207
GEOM: Add ad0s1 hot[0] start 512 length 276 end 787
GEOM: Configure ad0s1a, start 0 length 226492416 end 226492415
GEOM: Configure ad0s1b, start 226492416 length 251658240 end 478150655
GEOM: Configure ad0s1c, start 0 length 1624637952 end 1624637951
GEOM: Configure ad0s1d, start 478150656 length 402653184 end 880803839
GEOM: Configure ad0s1e, start 880803840 length 125829120 end 1006632959
GEOM: Configure ad0s1f, start 1006632960 length 584056832 end 1590689791
Mounting root from ufs:/dev/ad0s1a
start_init: trying /sbin/init
pcic1: Autodetected 3.3V card
pccard: card inserted, slot 1
pcic1: reset 1 int is 0 stat is 6f
pcic1: reset 2 int is 60 stat is 6f
pcic1: reset 3 int is 60 stat is 6f
pccard1: Assigning wi2: io 0x240-0x27f irq 10 flags 0x0
pcic: I/O win 0 flags 15 240-27f
pcic: I/O win 0 flags 5 240-27f
wi2 at port 0x240-0x27f irq 10 slot 1 on pccard1
pcic: I/O win 0 flags 15 240-27f
wi2: 802.11 address: 00:02:6f:03:0b:1b
wi2: using RF:PRISM2.5 MAC:ISL3873
wi2: Intersil Firmware: Primary 1.00.05, Station 1.02.00
wi2: wi_has_wep = 1
wi2: bpf attached
wi2: watchdog timeout
wi2: watchdog timeout
wi2: watchdog timeout
wi2: watchdog timeout
wi2: watchdog timeout
wi2: watchdog timeout
wi2: watchdog timeout
wi2: watchdog timeout
wi2: watchdog timeout
wi2: watchdog timeout
wi2: watchdog timeout



More information about the freebsd-hackers mailing list