From owner-freebsd-current Fri Mar 3 1:47:19 2000 Delivered-To: freebsd-current@freebsd.org Received: from gatekeeper.tsc.tdk.com (gatekeeper.tsc.tdk.com [207.113.159.21]) by hub.freebsd.org (Postfix) with ESMTP id 0FAE637B5CB for ; Fri, 3 Mar 2000 01:47:16 -0800 (PST) (envelope-from gdonl@tsc.tdk.com) Received: from imap.gv.tsc.tdk.com (imap.gv.tsc.tdk.com [192.168.241.198]) by gatekeeper.tsc.tdk.com (8.8.8/8.8.8) with ESMTP id BAA18154 for ; Fri, 3 Mar 2000 01:47:14 -0800 (PST) (envelope-from gdonl@tsc.tdk.com) Received: from salsa.gv.tsc.tdk.com (salsa.gv.tsc.tdk.com [192.168.241.194]) by imap.gv.tsc.tdk.com (8.9.3/8.9.3) with ESMTP id BAA26427 for ; Fri, 3 Mar 2000 01:47:14 -0800 (PST) (envelope-from Don.Lewis@tsc.tdk.com) Received: (from gdonl@localhost) by salsa.gv.tsc.tdk.com (8.8.5/8.8.5) id BAA09126 for current@FreeBSD.ORG; Fri, 3 Mar 2000 01:47:13 -0800 (PST) From: Don Lewis Message-Id: <200003030947.BAA09126@salsa.gv.tsc.tdk.com> Date: Fri, 3 Mar 2000 01:47:13 -0800 In-Reply-To: <200003021209.EAA05907@salsa.gv.tsc.tdk.com> References: <200003021209.EAA05907@salsa.gv.tsc.tdk.com> X-Mailer: Mail User's Shell (7.2.6 beta(5) 10/07/98) To: current@FreeBSD.ORG Subject: 4.0-CURRENT hangs in ex_isa_identify() (was: current hangs during boot if ET/5025-16 card is installed) Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Mar 2, 4:09am, Don Lewis wrote: } Subject: current hangs during boot if ET/5025-16 card is installed } } I happened to try to install 4.0-CURRENT on a box that has an } Emerging Technologies ET/5025-16 ISA card installed and found that } the kernel wedges during boot. It hangs hard and won't respond to } anything except the reset switch. The motherboard is an Asus P3B-F } and I believe I have the BIOS propery configured with the correct } settings to match the IRQ and memory addresses used by the ET card. } } I also discovered that older versions of -CURRENT will boot correctly } on this box. I did a binary search on the -CURRENT snapshots and found } that the floppies from the January 12th and earlier snapshots boot, } while the floppies from the January 14th and later snapshots hang. By adding a whole bunch of printf statements to the code, I was able to track this problem to ex_isa_identify(). The ET card is jumpered to I/O address 0x240, and it appears to consume 32 bytes starting at this address. When the ioport loop in ex_isa_identify() gets to 0x250, look_for_card() appears to wedge. I don't see how that can happen unless the CPU gets stuck in inb(). I haven't looked at ISA hardware in ages, can an ISA I/O read really hang forever? What really sucks is that there is no way to disable the ex driver at boot time, so the standard install floppies can no longer be used to boot a box that contains one of these ET cards. Should the ex driver be doing all this stuff at identify time, or was the older method of doing this at probe time more correct? To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message