Last-minute changes to the NetBSD 0.8 release, and errata
							<1.2>


PROBLEMS WITH ksrc08:

The empty directory
	/usr/src/sys.386bsd/compile
should have been included in the distribution set.  it was not.

NOTE:

The following problems will be solved in the first set of patches to this
distribution set, so if you encorporate these changes into your source
tree, be prepared to back them out when the first patch set is released.


The Bustek-742 driver's probe routine returns a false positive
for an Adaptec AHA-1542 at the requisite I/O address.
Therefore, the line for "bt0" in /usr/src/sys.386bsd/i386/conf/GENERICISA
should be commented out, and GENERICAHB should be the generic kernel used
on systems with BT-742s.


The PCFS code in the source tree does not work correctly because
of a slight bug in the file /usr/src/sys.386bsd/pcfs/pcfs_denode.c.
Line 184 of that file, which in the distribution reads:
		ldep->de_FileSize = pmp->pm_rootdirsize;
should read:
		ldep->de_FileSize = pmp->pm_rootdirsize * 512; /* Jim Jegers */


the wd.c driver didn't properly probe some old ST506 disks...
the kernels as shipped fix this, but the following patch needs to be
applied to /sys/i386/isa/wd.c to get it to work.  This patch will
be replaced with a *different* one in the first patch, so be sure
you save a copy of wd.c so you can back it out.

*** wd.c.broken	Fri Apr  9 09:24:57 1993
--- wd.c	Sun Apr 18 13:09:11 1993
***************
*** 1128,1137 ****
--- 1128,1147 ----
  		return(stat);
  	}
  #endif
+ 
+ 	/*
+ 	 * If WDCC_READP fails then we might have an old drive so we try
+ 	 * a seek to 0; if that passes then the drive is there but it's
+ 	 * OLD AND KRUSTY.
+ 	 */
  	if (stat & WDCS_ERR) {
+ 		stat = wdcommand(du, WDCC_RESTORE | WD_STEP);
+ 		if(stat & WDCS_ERR) {
  			splx(x);
  			return(inb(wdc+wd_error));
  		}
+ 		stat = 0x7f; /* MFM/RLL marker for later. */
+ 	}
    
  	/* obtain parameters */
  	wp = &du->dk_params;
***************
*** 1144,1149 ****
--- 1154,1160 ----
  		p = (u_short *) (wp->wdp_model + i);
  		*p = ntohs(*p);
  	}
+ 
  /*
  	printf("gc %x cyl %d trk %d sec %d type %d sz %d model %s\n", wp->wdp_config,
  		wp->wdp_fixedcyl+wp->wdp_removcyl, wp->wdp_heads, wp->wdp_sectors,
***************
*** 1159,1168 ****
  	du->dk_dd.d_partitions[1].p_offset = 0;
  
  	/* dubious ... */
! 	bcopy("ESDI/IDE", du->dk_dd.d_typename, 9);
  	bcopy(wp->wdp_model+20, du->dk_dd.d_packname, 14-1);
  	/* better ... */
- 	du->dk_dd.d_type = DTYPE_ESDI;
  	du->dk_dd.d_subtype |= DSTYPE_GEOMETRY;
      
  	/* XXX sometimes possibly needed */
--- 1170,1187 ----
  	du->dk_dd.d_partitions[1].p_offset = 0;
  
  	/* dubious ... */
! 	if(stat == 0x7f) {
! 		strncpy(du->dk_dd.d_typename, "ST506", sizeof du->dk_dd.d_typename);
! 		for(i=0; i<sizeof(wp->wdp_model); i++)
! 			wp->wdp_model[i] = ' ';
! 		strncpy(wp->wdp_model, "KrUsTy DiSk", sizeof wp->wdp_model);
! 		du->dk_dd.d_type = DTYPE_ST506;
! 	} else {
! 		strncpy(du->dk_dd.d_typename, "ESDI/IDE", sizeof du->dk_dd.d_typename);
! 		du->dk_dd.d_type = DTYPE_ESDI;
! 	}
  	bcopy(wp->wdp_model+20, du->dk_dd.d_packname, 14-1);
  	/* better ... */
  	du->dk_dd.d_subtype |= DSTYPE_GEOMETRY;
      
  	/* XXX sometimes possibly needed */




