Subject: port-i386/545: [port-i386] Toshiba J3100SX: wdcprobe() fails, and cursor invisible
To: None <gnats-admin@sun-lamp.cs.berkeley.edu>
From: Noriyuki Soda <soda@sra.co.jp>
List: netbsd-bugs
Date: 11/02/1994 08:05:03
>Number:         545
>Category:       port-i386
>Synopsis:       wdcprobe() fails on boot, so cannot install. cursor invisible.
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Nov  2 08:05:02 1994
>Originator:     Noriyuki Soda
>Organization:
	Software Research Associates, Inc.
>Release:        1.0
>Environment:
Machine: Toshiba J3100SX (Japanese Version of Toshiba T3100),
	386SX 16MHz (no FPU), Memory 10MB, 203MB IDE Disk,
	DCGA (640x400) LCD display, CGA mode.
System: NetBSD palm 1.0 NetBSD 1.0 (GENERICAHA) #3: Sun Oct 23 20:58:04 PDT 1994
 cgd@sun-lamp.cs.berkeley.edu:/usr/src/sys/arch/i386/compile/GENERICAHA

>Description:
(sorry for my poor English)

1. wdcprobe() fails.
  On 386BSD, NetBSD-0.9, NetBSD-0.9a (1993/11/12 version), IDE I/F of this
  machine is probed, and BSD works fine.
  This was boot message of NetBSD-0.9a.
	----------------------------------------------------------------
	wdc0 at 0x1f0-0x1f7 irq 14 on isa
	wd0 at wdc0 targ 0: 203MB 684 cyl, 16 head, 38 sec (TOSHIBA MK2224FC)
	----------------------------------------------------------------
	CAUTION: character of "less than" and "greater than" are
		replaced to "(" and ")" to work around 'send-pr'
		comment treatment.
  On NetBSD-1.0 (both kcaha-10, kcbt-10), wdc0 is not probed, so I cannot
  install it. This is boot message of NetBSD-1.0.
	----------------------------------------------------------------
	NetBSD 1.0 (GENERICAHA) #3: Sun Oct 23 20:58:04 PDT 1994
	    cgd@sun-lamp.cs.berkeley.edu:/usr/src/sys/arch/i386/compile/GENERICAHA
	CPU: i386DX (386-class CPU)
	real mem  = 10354688
	avail mem = 8716288
	using 152 buffers containing 622592 bytes of memory
	pc0 at isa0 port 0x60-0x6f irq 1: color
	com0 at isa0 port 0x3f8-0x3ff irq 4: ns82450 or ns16450, no fifo
	lpt0 at isa0 port 0x378-0x37f irq 7
	fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
	fd0 at fdc0 drive 0: 1.2MB 80 cyl, 2 head, 15 sec
	ie0: unknown AT&T board type code 15
	npx0 at isa0 port 0xf0-0xff: using emulator
	biomask 40 netmask 12 ttymask 12
	changing root device to fd0a
	WARNING: no swap space found
	----------------------------------------------------------------
  After applying following patch, boot message turned into followings.
	----------------------------------------------------------------
	NetBSD 1.0 (PALM) #3: Tue Nov  1 17:01:44 JST 1994
	    soda@palm:/usr/src/sys/arch/i386/compile/PALM
	CPU: i386DX (386-class CPU)
	real mem  = 10354688
	avail mem = 8716288
	using 152 buffers containing 622592 bytes of memory
	pc0 at isa0 port 0x60-0x6f irq 1: color
	com0 at isa0 port 0x3f8-0x3ff irq 4: ns82450 or ns16450, no fifo
	lpt0 at isa0 port 0x378-0x37f irq 7
	wdc0: warning: wdcwait() returns 1
	wdc0 at isa0 port 0x1f0-0x1f7 irq 14
	wd0 at wdc0 drive 0: 203MB 684 cyl, 16 head, 38 sec (TOSHIBA MK2224FC)
	fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
	fd0 at fdc0 drive 0: 1.2MB 80 cyl, 2 head, 15 sec
	ie0: unknown AT&T board type code 15
	npx0 at isa0 port 0xf0-0xff: using emulator
	biomask 4040 netmask 12 ttymask 12
	changing root device to wd0a
	----------------------------------------------------------------
  And, NetBSD-1.0 works fine.

2. strange probe message of ie0.
  NetBSD-1.0 boot message says
	----------------------------------------------------------------
	ie0: unknown AT&T board type code 15
	----------------------------------------------------------------
  But, my machine doesn't have Network I/F.
  It doesn't cause problem, just FYI.

3. cursor invisible.
  This machine has DCGA (640x400) LCD display, and working on CGA compatible
  mode (I think). But, cursor is not displayed on NetBSD-1.0.

  On 386BSD, NetBSD-0.9, NetBSD-0.9a, cursor is displayed, but cursor shape 
  is strange (upper 3/4 of cursor is blinking).
  
  After applying following patch, cursor is displayed normally (lower 1/4 of
  cursor is blinking).

>How-To-Repeat:
	always
>Fix:
	Of course, this is not correct fix, only work around.
	If you want to know about detail, please send mail to
		soda@sra.co.jp

1. wd.c problem work around:
----------------------------------------------------------------------------
--- 1.1	1994/10/14 14:12:02
+++ wd.c	1994/11/02 13:47:01
@@ -192,6 +192,7 @@
 	struct isa_attach_args *ia = aux;
 	struct wd_softc *wd;
 	u_short iobase;
+	int stat;
 
 	wdc->sc_iobase = iobase = ia->ia_iobase;
 
@@ -217,9 +218,17 @@
 	wd->sc_dev.dv_parent = (void *)wdc;
 
 	/* Execute a controller only command. */
+#ifdef notdef
 	if (wdcommand(wd, 0, 0, 0, 0, WDCC_DIAGNOSE) != 0 ||
 	    wait_for_unbusy(wdc) != 0)
 		goto lose;
+#else
+	if (wdcommand(wd, 0, 0, 0, 0, WDCC_DIAGNOSE) != 0)
+		goto lose;
+	if ((stat = wait_for_unbusy(wdc)) != 0)
+		printf("%s: warning: wdcwait() returns %d\n",
+			wdc->sc_dev.dv_xname, stat);
+#endif
 
 	free(wd, M_TEMP);
 	ia->ia_iosize = 8;
----------------------------------------------------------------------------

3. cursor invisible problem work around:
----------------------------------------------------------------------------
--- 1.1	1994/10/17 01:58:27
+++ pccons.c	1994/11/01 07:58:51
@@ -280,10 +280,12 @@
 {
 	register u_short iobase = addr_6845;
 
+#ifdef notdef
 	outb(iobase, 10);
 	outb(iobase+1, cursor_shape>>8);
 	outb(iobase, 11);
 	outb(iobase+1, cursor_shape);
+#endif
 	old_cursor_shape = cursor_shape;
 }
 
@@ -800,10 +802,12 @@
 		cursor_shape = 0x0012;
 #else
 		/* Extract cursor shape */
+#ifdef notdef
 		outb(addr_6845, 10);
 		cursor_shape = inb(addr_6845+1) << 8;
 		outb(addr_6845, 11);
 		cursor_shape |= inb(addr_6845+1);
+#endif
 
 		/*
 		 * real 6845's, as found on, MDA, Hercules or CGA cards, do
----------------------------------------------------------------------------

P.S.
Now, NetBSD-1.0 works fine on J3100SX, I would like to thank you this
operating system.
--
soda@sra.co.jp		Software Research Associates, Inc., Japan
(Noriyuki Soda)		   software tools and technology group
>Audit-Trail:
>Unformatted: