Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Aug 1998 08:17:50 +0200 (SAT)
From:      John Hay <jhay@mikom.csir.co.za>
To:        hackers@FreeBSD.ORG
Subject:   pci register map problem
Message-ID:  <199808140617.IAA04738@zibbi.mikom.csir.co.za>

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

I'm trying to update the ar(4) device driver to also understand the Digi
SYNC/570i-PCI cards, but found a little problem. According to the docs
for the card it has 4 pci maps, but FreeBSD only see 3 of them. I have
tried it in another machine with a different motherboard and BIOS, but
the result is the same, although the addresses differ.

Here is what the pci probe code with verbose on says:
--------------------
found->	vendor=0x114f, dev=0x5012, revid=0x00
	class=07-80-00, hdrtype=0x00, mfdev=0
	intpin=a, irq=10
	map[0]: type 1, range 32, base fed7fc00, size  7
	map[1]: type 4, range 32, base 0000fc00, size  7
	map[2]: type 1, range 32, base fed80000, size 19
--------------------

I have tried the DOS diagnostic utility that came with the card and that
works fine. What is interresting is that according to the diagnostic
utility the base for map[0] is a little different: 0xfedc1000. The base
for map[3] according to it is: 0xfedc0000.

Do anybody have an idea what is happening or how I can resolve it? If
I understand correctly the BIOS do the mapping and FreeBSD only read
and use it? Is that correct? In the mean time I'll start to read the
pci code and see if I can figure out where the problem is.

This is on 3.0-CURRENT. I don't have a 2.2.x machine at the moment to see
if it behaves the same. Attached below is the output of a verbose boot.

John
-- 
John Hay -- John.Hay@mikom.csir.co.za


Copyright (c) 1992-1998 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
	The Regents of the University of California. All rights reserved.
FreeBSD 3.0-CURRENT #0: Wed Aug 12 19:02:27 SAT 1998
    root@orca.cids.org.za:/usr/src/sys/compile/ORCAUP
Calibrating clock(s) ... TSC clock: 99702886 Hz, i8254 clock: 1193079 Hz
Timecounter "i8254"  frequency 1193079 Hz  cost 3604 ns
Timecounter "TSC"  frequency 99702886 Hz  cost 229 ns
CPU: Pentium/P54C (99.70-MHz 586-class CPU)
  Origin = "GenuineIntel"  Id = 0x526  Stepping=6
  Features=0x3bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,APIC>
real memory  = 33554432 (32768K bytes)
Physical memory chunk(s):
0x00001000 - 0x0009efff, 647168 bytes (158 pages)
0x001db000 - 0x01ffdfff, 31600640 bytes (7715 pages)
avail memory = 31051776 (30324K bytes)
Found BIOS32 Service Directory header at 0xf00f7690
Entry = 0xfcee1 (0xf00fcee1)  Rev = 0  Len = 1
PCI BIOS entry at 0x9ac
Other BIOS signatures found:
ACPI: 00000000
$PnP: 000eb530
pci_open(1):	mode 1 addr port (0x0cf8) is 0x00000000
pci_open(1a):	mode1res=0x00000000 (0x80000000)
pci_open(1b):	mode1res=0x80000000 (0xff000001)
pci_cfgcheck:	device 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 -- nothing found
pci_open(2):	mode 2 enable port (0x0cf8) is 0x00
pci_open(2a):	mode2res=0x0e (0x0e)
pci_open(2a):	now trying mechanism 2
pci_cfgcheck:	device 0 [class=060000] [hdr=00] is there (id=04a38086)
Probing for devices on PCI bus 0:
found->	vendor=0x8086, dev=0x04a3, revid=0x11
	class=06-00-00, hdrtype=0x00, mfdev=0
chip0: <Intel 82434NX (Neptune) PCI cache memory controller> rev 0x11 on pci0.0.0
	CPU: Pentium, 60MHz, CPU->Memory posting ON, read around write
	Warning: Cache parity disabled!
	Cache: 256KB writeback, cache clocks=3-2-2-2/4-2-2-2
	Cache flags:  cache-all byte-control
	DRAM: page mode memory clocks=X-4-4-4 (70ns), RAS-wait, CAS-wait
	CPU->PCI: posting ON, burst mode ON, PCI clocks=2-1-1-1
	PCI->Memory: posting ON
	Refresh: RAS#Only
found->	vendor=0x8086, dev=0x0482, revid=0x03
	class=00-00-00, hdrtype=0x00, mfdev=0
chip1: <Intel 82375EB PCI-EISA bridge> rev 0x03 on pci0.2.0
found->	vendor=0x1095, dev=0x0640, revid=0x02
	class=01-01-0a, hdrtype=0x00, mfdev=0
	intpin=a, irq=14
ide_pci0: <PCI IDE controller (not busmaster capable)> rev 0x02 int a irq 14 on pci0.4.0
found->	vendor=0x114f, dev=0x5012, revid=0x00
	class=07-80-00, hdrtype=0x00, mfdev=0
	intpin=a, irq=10
	map[0]: type 1, range 32, base fed7fc00, size  7
	map[1]: type 4, range 32, base 0000fc00, size  7
	map[2]: type 1, range 32, base fed80000, size 19
arc1: <Digi SYNC/570i-PCI> rev 0x00 int a irq 10 on pci0.14.0
arp: ID 5012114f
arp: PCIcmd  2800107
arp: PBADR   fed7fc00
arp: SIOBADR fc01
arp: MBADR   fed80000
arp: HBADR   0
arp: vaddr f2b22000, paddr fed80000
arp: map failed.
Probing for devices on the ISA bus:
sc0: the current keyboard controller command byte 0045
kbdio: DIAGNOSE status:0055
kbdio: TEST_KBD_PORT status:0000
kbdio: RESET_KBD return code:00fa
kbdio: RESET_KBD status:00aa
sc0: keyboard device ID: ab41
sc0 at 0x60-0x6f irq 1 flags 0x8 on motherboard
sc0: BIOS video mode:3
sc0: VGA registers upon power-up
50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 
bf 1f 00 4f 0d 0e 00 00 07 80 9c ae 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 
sc0: video mode:24
sc0: VGA registers 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 ae 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 
sc0: VGA registers 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 ae 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 
sc0: rows_offset:1
sc0: VGA color <16 virtual consoles, flags=0x8>
ed0 at 0x280-0x29f irq 5 maddr 0xd8000 msize 16384 on isa
ed0: address 00:00:c0:1d:43:db, type SMC8216/SMC8216C (16 bit) 
bpf: ed0 attached
sio0: irq maps: 0x1 0x11 0x1 0x1
sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa
sio0: type 16550A
sio1: irq maps: 0x1 0x9 0x1 0x1
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: FIFO enabled, 8 bytes threshold
fd0: 1.44MB 3.5in
wdc0 at 0x1f0-0x1f7 irq 14 on isa
wdc0: unit 0 (wd0): <WDC AC2635F>
wd0: 610MB (1249920 sectors), 1240 cyls, 16 heads, 63 S/T, 512 B/S
wd0: ATA INQUIRE valid = 0003, dmamword = 0203, apio = 0001, udma = 0000
arc0 not found at 0x300
npx0 on motherboard
npx0: INT 16 interface
i586_bzero() bandwidth = 64960374 bytes/sec
bzero() bandwidth = 32507639 bytes/sec
imasks: bio c0084040, tty c003001a, net c0060020
stray irq 7
BIOS Geometries:
 0:026a1f3f 0..618=619 cylinders, 0..31=32 heads, 1..63=63 sectors
 0 accounted for
Device configuration finished.
Intel Pentium F00F detected, installing workaround
bpf: lo0 attached
Considering FFS root f/s.
changing root device to wd0s4a
wd0s4: type 0xa5, start 63, end = 1249919, size 1249857 : OK
ffs_mountfs: superblock updated

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



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