From owner-FreeBSD-tech-jp@jp.freebsd.org  Fri Dec 24 19:03:02 1999
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id TAA10440;
	Fri, 24 Dec 1999 19:03:02 +0900 (JST)
	(envelope-from owner-FreeBSD-tech-jp@jp.FreeBSD.org)
Received: from eclogite.eps.nagoya-u.ac.jp (eclogite.eps.nagoya-u.ac.jp [133.6.124.145])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id TAA10434
	for <FreeBSD-tech-jp@jp.freebsd.org>; Fri, 24 Dec 1999 19:03:01 +0900 (JST)
	(envelope-from kato@ganko.eps.nagoya-u.ac.jp)
Received: from localhost (gneiss.eps.nagoya-u.ac.jp [133.6.124.148])
	by eclogite.eps.nagoya-u.ac.jp (8.9.3/3.7W) with ESMTP id TAA04250
	for <FreeBSD-tech-jp@jp.freebsd.org>; Fri, 24 Dec 1999 19:02:30 +0900 (JST)
To: FreeBSD-tech-jp@jp.freebsd.org
From: KATO Takenori <kato@ganko.eps.nagoya-u.ac.jp>
X-Mailer: Mew version 1.93 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA)
X-PGP-Fingerprint: 03 72 85 36 62 46 23 03  52 B1 10 22 44 10 0D 9E
Mime-Version: 1.0
Content-Type: Multipart/Mixed;
	boundary="--Next_Part(Fri_Dec_24_19:01:52_1999_518)--"
Content-Transfer-Encoding: 7bit
Message-Id: <19991224190200P.kato@gneiss.eps.nagoya-u.ac.jp>
Date: Fri, 24 Dec 1999 19:02:00 +0900
X-Dispatcher: imput version 980905(IM100)
Lines: 211
Reply-To: FreeBSD-tech-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+990727
X-Sequence: FreeBSD-tech-jp 2665
Subject: [FreeBSD-tech-jp 2665] fd.c 640K/1232K patch
Errors-To: owner-FreeBSD-tech-jp@jp.freebsd.org
Sender: owner-FreeBSD-tech-jp@jp.freebsd.org
X-Originator: kato@ganko.eps.nagoya-u.ac.jp

----Next_Part(Fri_Dec_24_19:01:52_1999_518)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

$B2CF#!wL>Bg4d9[$G$9!%(B

$BImB0$N%Q%C%A$N$h$&$K$7$F!$(BAT$B8_495!$N(B5$B%$%s%A%U%m%C%T!<%G%#%9%/$+$i(BPC-98
$BMQ$N(B2DD(8$B%;%/%?(B)$B$H(B2HD(1024$B%P%$%H(B/$B%;%/%?(B)$B$NFI$_=P$7$K@.8y$7$^$7$?!%%Q%C(B
$B%A$O!$(B3.4-STABLE$BMQ$G$9!%(Bcurrent$B$O$^$@:n6H$7$F$$$^$;$s!%(B

$B$;$C$+$/:n$C$?$7!$(BPC-98$B$N%3!<%I$N%^!<%8$G$b3Z$K$J$k$N$G(Bcommit$B$7$h$&$+(B
$B$H;W$C$F$$$^$9!%$=$l$G!$$o$+$i$J$$E@$,0l$D$"$j$^$7$F!$(BMAKDEV$B$r8+$k$H!$(B

		mknod ${name}${unit}.1200  b $blk `expr $unit '*' 64 + 4`
		mknod r${name}${unit}.1200 c $chr `expr $unit '*' 64 + 4`
		# ln -f ${name}${unit}.1200 ${name}${unit}96
		# ln -f r${name}${unit}.1200 r${name}${unit}96
		# ln -f ${name}${unit}.1200 ${name}${unit}96ds15
		# ln -f r${name}${unit}.1200 r${name}${unit}96ds15
		# ln -f ${name}${unit}.1200 ${name}${unit}135ds15
		# ln -f r${name}${unit}.1200 r${name}${unit}135ds15

$B$H$$$&$h$&$K%G%P%$%9FC<l%U%!%$%k$r:n$C$F$$$^$9!%$3$N%3%a%s%H$K$J$C$F$$(B
$B$kItJ,$NL>A0$NIU$1J}$,$o$+$j$^$;$s!%$I$J$?$+2r@b$7$F$$$F$@$1$J$$$G$7$g(B
$B$&$+!%(B

-----------------------------------------------+--------------------------+
KATO Takenori <kato@ganko.eps.nagoya-u.ac.jp>  |        FreeBSD           |
Dept. Earth Planet. Sci, Nagoya Univ.          |    The power to serve!   |
Nagoya, 464-8602, Japan                        |  http://www.FreeBSD.org/ |
                                               |http://www.jp.FreeBSD.org/|
++++ FreeBSD(98) 3.3R-Rev. 01 available!       +==========================+

----Next_Part(Fri_Dec_24_19:01:52_1999_518)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=fd-98.diff

*** etc/etc.i386/MAKEDEV.ORIG	Fri Dec 24 16:56:25 1999
--- etc/etc.i386/MAKEDEV	Fri Dec 24 16:59:47 1999
***************
*** 441,446 ****
--- 441,452 ----
  		# ln -f ${name}${unit}.360 ${name}${unit}48ds9
  		# ln -f r${name}${unit}.360 r${name}${unit}48ds9
  
+ 		mknod ${name}${unit}.640  b $blk `expr $unit '*' 64 + 9`
+ 		mknod r${name}${unit}.640 c $chr `expr $unit '*' 64 + 9`
+ 
+ 		mknod ${name}${unit}.1232  b $blk `expr $unit '*' 64 + 10`
+ 		mknod r${name}${unit}.1232 c $chr `expr $unit '*' 64 + 10`
+ 
  		chgrp operator ${name}${unit}* r${name}${unit}*
  		;;
  	*)
*** sys/i386/isa/fd.c.ORIG	Fri Dec 24 16:44:30 1999
--- sys/i386/isa/fd.c	Fri Dec 24 18:00:28 1999
***************
*** 104,111 ****
  #define FD_NOT_VALID -2
  #define FDC_ERRMAX	100	/* do not log more */
  
! #define NUMTYPES 14
! #define NUMDENS  (NUMTYPES - 6)
  
  /* These defines (-1) must match index for fd_types */
  #define F_TAPE_TYPE	0x020	/* bit for fd_types to indicate tape */
--- 104,111 ----
  #define FD_NOT_VALID -2
  #define FDC_ERRMAX	100	/* do not log more */
  
! #define NUMTYPES 17
! #define NUMDENS  (NUMTYPES - 7)
  
  /* These defines (-1) must match index for fd_types */
  #define F_TAPE_TYPE	0x020	/* bit for fd_types to indicate tape */
***************
*** 118,131 ****
  #define FD_800          6
  #define FD_720          7
  #define FD_360          8
  
! #define FD_1480in5_25   9
! #define FD_1440in5_25   10
! #define FD_820in5_25    11
! #define FD_800in5_25    12
! #define FD_720in5_25    13
! #define FD_360in5_25    14
! 
  
  static struct fd_type fd_types[NUMTYPES] =
  {
--- 118,133 ----
  #define FD_800          6
  #define FD_720          7
  #define FD_360          8
+ #define	FD_640		9
+ #define	FD_1232		10
  
! #define FD_1480in5_25   11
! #define FD_1440in5_25   12
! #define FD_820in5_25    13
! #define FD_800in5_25    14
! #define FD_720in5_25    15
! #define FD_360in5_25    16
! #define	FD_640in5_25	17
  
  static struct fd_type fd_types[NUMTYPES] =
  {
***************
*** 137,142 ****
--- 139,146 ----
  { 10,2,0xFF,0x10,80,1600,1,FDC_250KBPS,2,0x2E,1 }, /*  800K in HD 3.5in */
  {  9,2,0xFF,0x20,80,1440,1,FDC_250KBPS,2,0x50,1 }, /*  720K in HD 3.5in */
  {  9,2,0xFF,0x2A,40, 720,1,FDC_250KBPS,2,0x50,1 }, /*  360K in DD 5.25in */
+ {  8,2,0xFF,0x2A,80,1280,1,FDC_250KBPS,2,0x50,1 }, /*  640K in DD 5.25in*/
+ {  8,3,0xFF,0x35,77,1232,1,FDC_500KBPS,2,0x74,1 }, /* 1.23M in 8in */
  
  { 18,2,0xFF,0x02,82,2952,1,FDC_500KBPS,2,0x02,2 }, /* 1.48M in HD 5.25in */
  { 18,2,0xFF,0x02,80,2880,1,FDC_500KBPS,2,0x02,2 }, /* 1.44M in HD 5.25in */
***************
*** 144,149 ****
--- 148,154 ----
  { 10,2,0xFF,0x10,80,1600,1,FDC_300KBPS,2,0x2E,1 }, /*  800K in HD 5.25in */
  {  9,2,0xFF,0x20,80,1440,1,FDC_300KBPS,2,0x50,1 }, /*  720K in HD 5.25in */
  {  9,2,0xFF,0x23,40, 720,2,FDC_300KBPS,2,0x50,1 }, /*  360K in HD 5.25in */
+ {  8,2,0xFF,0x2A,80,1280,1,FDC_300KBPS,2,0x50,1 }, /*  640K in HD 5.25in */
  };
  
  #define DRVS_PER_CTLR 2		/* 2 floppies */
***************
*** 819,835 ****
  					continue;
  				break;
  			case FD_720:
! 				if (i != FD_720 && i != FD_800 && i != FD_820)
  					continue;
  				break;
  			case FD_1200:
! 				if (i != FD_360 && i != FD_720 && i != FD_800
  				    && i != FD_820 && i != FD_1200
! 				    && i != FD_1440 && i != FD_1480)
  					continue;
  				break;
  			case FD_1440:
! 				if (i != FD_720 && i != FD_800 && i != FD_820
  				    && i != FD_1200 && i != FD_1440
  				    && i != FD_1480 && i != FD_1720)
  					continue;
--- 824,844 ----
  					continue;
  				break;
  			case FD_720:
! 				if (i != FD_720 && i != FD_640
! 				    && i != FD_800 && i != FD_820)
  					continue;
  				break;
  			case FD_1200:
! 				if (i != FD_360 && i != FD_640
! 				    && i != FD_720 && i != FD_800
  				    && i != FD_820 && i != FD_1200
! 				    && i != FD_1440 && i != FD_1480
! 				    && i != FD_1232)
  					continue;
  				break;
  			case FD_1440:
! 				if (i != FD_720 && i != FD_640
! 				    && i != FD_800 && i != FD_820
  				    && i != FD_1200 && i != FD_1440
  				    && i != FD_1480 && i != FD_1720)
  					continue;
***************
*** 1239,1244 ****
--- 1248,1254 ----
  			case FD_720:
  				if (   type != FD_820
  				    && type != FD_800
+ 				    && type != FD_640
  				   )
  					return(ENXIO);
  				break;
***************
*** 1259,1267 ****
--- 1269,1283 ----
  				case FD_720:
  					type = FD_720in5_25;
  					break;
+ 				case FD_640:
+ 					type = FD_640in5_25;
+ 					break;
  				case FD_360:
  					type = FD_360in5_25;
  					break;
+ 				case FD_1232:
+ 					type = FD_1232;
+ 					break;
  				default:
  					return(ENXIO);
  				}
***************
*** 1273,1278 ****
--- 1289,1295 ----
  				    && type != FD_820
  				    && type != FD_800
  				    && type != FD_720
+ 				    && type != FD_640
  				    )
  					return(ENXIO);
  				break;

----Next_Part(Fri_Dec_24_19:01:52_1999_518)----
