From pwroot@jhome.DIALix.COM Sun Jun 25 14:03:50 1995 Received: from jhome.DIALix.COM (jhome.DIALix.COM [192.203.228.69]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id OAA07108 for ; Sun, 25 Jun 1995 14:03:46 -0700 Received: (from root@localhost) by jhome.DIALix.COM (8.6.11/8.6.9) id FAA00267; Mon, 26 Jun 1995 05:03:41 +0800 Message-Id: <199506252103.FAA00267@jhome.DIALix.COM> Date: Mon, 26 Jun 1995 05:03:41 +0800 From: peter@haywire.dialix.com Reply-To: ppeter@haywire.dialix.comwroot To: FreeBSD-gnats-submit@freebsd.org Subject: isa conflict detection cannot handle ioaddr 0x0 X-Send-Pr-Version: 3.2 >Number: 563 >Category: i386 >Synopsis: isa conflict detection cannot handle ioaddr 0x0 >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: closed >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Jun 25 14:10:02 1995 >Closed-Date: Mon Aug 7 08:52:56 PDT 1995 >Last-Modified: Mon Aug 7 08:55:38 PDT 1995 >Originator: Peter Wemm >Release: FreeBSD 2.0-BUILT-19950626 i386 >Organization: DIALix Services >Environment: FreeBSD-current uname -a: FreeBSD jhome.DIALix.COM 2.0-BUILT-19950626 FreeBSD 2.0-BUILT-19950626 #7: Mon Jun 26 04:47:14 WST 1995 pwroot@jhome.DIALix.COM:/usr/src/sys/compile/JHOME i386 dmesg: FreeBSD 2.0-BUILT-19950626 #6: Mon Jun 26 04:39:52 WST 1995 pwroot@jhome.DIALix.COM:/usr/src/sys/compile/JHOME CPU: i486 DX2 (486-class CPU) Origin = "GenuineIntel" Id = 0x435 Stepping=5 Features=0x3 real memory = 30326784 (7404 pages) avail memory = 28086272 (6857 pages) Probing for devices on the ISA bus: sc0 at 0x60-0x6f irq 1 on motherboard sc0: VGA color <16 virtual consoles, flags=0x0> ed0 at 0x300-0x31f irq 5 on isa ed0: address 00:80:48:98:75:56, type NE2000 (16 bit) bpf: ed0 attached sio0 at 0x3f8-0x3ff irq 4 on isa sio0: type 16550A sio1 at 0x2f8-0x2ff irq 3 on isa sio1: type 16550A lpt0 not found at 0xffffffff lpt1 not found at 0xffffffff lpt2 not found at 0xffffffff si0 at 0x0 irq 12 maddr 0xe0000 msize 32768 on isa ^^^ si1 not probed due to I/O address conflict with si0 at 0x0 ^^^ pca0 on motherboard pca0: PC speaker audio driver fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa fdc0: NEC 765 fd0: 1.44MB 3.5in fd1: 1.2MB 5.25in wdc0 not found at 0x1f0 bt0: Bt445S/ 0-PCI/EISA/VLB(32bit) bus bt0: reading board settings, dma=5, int=11 bt0: version 3.35, fast sync, parity, 32 mbxs, 32 ccbs bt0: targ 0 sync rate= 4.54MB/s(220ns), offset=15 bt0: targ 5 sync rate= 5.00MB/s(200ns), offset=15 bt0: Using Strict Round robin scheme bt0 at 0x330 irq 11 drq 5 on isa (bt0:0:0): "SEAGATE ST41600N 0090" type 0 fixed SCSI 2 sd0(bt0:0:0): Direct-Access 1307MB (2676846 512 byte sectors) sd0(bt0:0:0): with 2099 cyls, 17 heads, and an average 75 sectors/track (bt0:5:0): "WangDAT Model 1300 02.4" type 1 removable SCSI 2 st0(bt0:5:0): Sequential-Access st0: WangDAT model 1300 is a known rogue density code 0x13, drive empty aha0 not probed due to I/O address conflict with bt0 at 0x330 npx0 on motherboard npx0: INT 16 interface bpf: lo0 attached bpf: ppp0 attached bpf: ppp1 attached bpf: sl0 attached bpf: sl1 attached bpf: tun0 attached bpf: tun1 attached SLXOS si0: downloading boot code..... SLXOS si0: boot successful. Host is SIPLUS with 32 ports. >Description: The conflict detection code does not allow for the possibility that a device does not have an IO address. >How-To-Repeat: I'm specifying the config lines like this, with no io address: # Specialix XIO 8-32 port terminal host card device si0 at isa? tty irq 12 iomem 0xe0000 vector siintr device si1 at isa? tty irq 14 iomem 0xe8000 vector siintr #device si2 at isa? tty irq 15 iomem ? vector siintr #device si3 at isa? tty irq ? iomem ? vector siintr >Fix: *** isa.c.dist Tue May 30 18:57:02 1995 --- isa.c Mon Jun 26 04:46:48 1995 *************** *** 186,188 **** */ ! if (checkbits & CC_IOADDR && tmpdvp->id_alive != -1) { if ((dvp->id_iobase >= tmpdvp->id_iobase) && --- 186,189 ---- */ ! if (checkbits & CC_IOADDR && tmpdvp->id_alive != -1 && ! tmpdvp->id_iobase) { if ((dvp->id_iobase >= tmpdvp->id_iobase) && >Release-Note: >Audit-Trail: State-Changed-From-To: open->closed State-Changed-By: peter State-Changed-When: Mon Aug 7 08:52:56 PDT 1995 State-Changed-Why: This was my error in the Specialix serial driver.. I was returning "1" from siprobe() - saying that I was using 1 byte at io address zero.. (the Specialix card is memory mapped with no IO). Thanks Bruce! >Unformatted: