update from Hibler for additional HP disks
authorKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Tue, 26 Feb 1991 14:41:08 +0000 (06:41 -0800)
committerKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Tue, 26 Feb 1991 14:41:08 +0000 (06:41 -0800)
SCCS-vsn: sys/hp300/dev/rd.c 7.6
SCCS-vsn: sys/hp300/dev/rdreg.h 7.3

usr/src/sys/hp300/dev/rd.c
usr/src/sys/hp300/dev/rdreg.h

index 82695ee..98edcb5 100644 (file)
@@ -9,9 +9,9 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- * from: Utah $Hdr: rd.c 1.30 89/09/17$
+ * from: Utah $Hdr: rd.c 1.3 90/10/12$
  *
  *
- *     @(#)rd.c        7.5 (Berkeley) %G%
+ *     @(#)rd.c        7.6 (Berkeley) %G%
  */
 
 /*
  */
 
 /*
@@ -282,6 +282,25 @@ struct size rd7945A_sizes[8] = {
        RDSZ(207900),   1022,           /* F=cyl 1022 thru 1571 */
        RDSZ(528444),   174,            /* G=cyl 174 thru 1571 */
        RDSZ(511812),   218,            /* H=cyl 218 thru 1571 */
        RDSZ(207900),   1022,           /* F=cyl 1022 thru 1571 */
        RDSZ(528444),   174,            /* G=cyl 174 thru 1571 */
        RDSZ(511812),   218,            /* H=cyl 218 thru 1571 */
+}, rd2200A_sizes[8] = {
+       RDSZ(16272),    1,              /* A=cyl 1 thru 36 */
+       RDSZ(49720),    37,             /* B=cyl 37 thru 146 */
+       RDSZ(654948),   0,              /* C=cyl 0 thru 1448 */
+       RDSZ(65992),    37,             /* D=cyl 37 thru 182 */
+       RDSZ(304648),   183,            /* E=cyl 183 thru 856 */
+       RDSZ(267584),   857,            /* F=cyl 857 thru 1448 */
+       RDSZ(588504),   147,            /* G=cyl 147 thru 1448 */
+       RDSZ(572232),   183,            /* H=cyl 183 thru 1448 */
+}, rd2203A_sizes[8] = {
+       /* modelled after the 7937; i.e. bogus */
+       RDSZ(16272),    1,              /* A=cyl 1 thru 18 */
+       RDSZ(67800),    19,             /* B=cyl 19 thru 93 */
+       RDSZ(1309896),  0,              /* C=cyl 0 thru 1448 */
+       RDSZ(16272),    94,             /* D=cyl 19 thru 111 */
+       RDSZ(305552),   112,            /* E=cyl 112 thru 449 */
+       RDSZ(305552),   450,            /* F=cyl 450 thru 787 */
+       RDSZ(1224920),  94,             /* G=cyl 94 thru 1448 */
+       RDSZ(597544),   788,            /* H=cyl 788 thru 1448 */
 
 #if DEV_BSIZE == 512
 /*
 
 #if DEV_BSIZE == 512
 /*
@@ -365,6 +384,10 @@ struct rdinfo rdinfo[] = {
        rd7958B_sizes,  RD7958BID,      0,      "7958B",
        NRD7959BBPT,    NRD7959BTRK,    NRD7959BBPT * NRD7959BTRK,
        rd7959B_sizes,  RD7959BID,      0,      "7959B",
        rd7958B_sizes,  RD7958BID,      0,      "7958B",
        NRD7959BBPT,    NRD7959BTRK,    NRD7959BBPT * NRD7959BTRK,
        rd7959B_sizes,  RD7959BID,      0,      "7959B",
+       NRD2200ABPT,    NRD2200ATRK,    NRD2200ABPT * NRD2200ATRK,
+       rd2200A_sizes,  RD2200AID,      0,      "2200A",
+       NRD2203ABPT,    NRD2203ATRK,    NRD2203ABPT * NRD2203ATRK,
+       rd2203A_sizes,  RD2203AID,      0,      "2203A",
 };
 int nrdinfo = sizeof(rdinfo) / sizeof(rdinfo[0]);
 
 };
 int nrdinfo = sizeof(rdinfo) / sizeof(rdinfo[0]);
 
@@ -426,6 +449,10 @@ rdident(rs, hd)
         * 3. If it is a 7946, we are accessing the disk unit (0)
         */
        id = hpibid(ctlr, slave);
         * 3. If it is a 7946, we are accessing the disk unit (0)
         */
        id = hpibid(ctlr, slave);
+#ifdef DEBUG
+       if (rddebug & RDB_IDENT)
+               printf("hpibid(%d, %d) -> %x\n", ctlr, slave, id);
+#endif
        if ((id & 0x200) == 0)
                return(-1);
        for (i = 0; i < nrdinfo; i++)
        if ((id & 0x200) == 0)
                return(-1);
        for (i = 0; i < nrdinfo; i++)
index 412b442..6bdc1dc 100644 (file)
@@ -9,9 +9,9 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- * from: Utah $Hdr: rdreg.h 1.1 90/07/09$
+ * from: Utah $Hdr: rdreg.h 1.2 90/10/12$
  *
  *
- *     @(#)rdreg.h     7.2 (Berkeley) %G%
+ *     @(#)rdreg.h     7.3 (Berkeley) %G%
  */
 
 struct rd_iocmd {
  */
 
 struct rd_iocmd {
@@ -137,6 +137,8 @@ struct rd_describe {
 #define RD7957BID      0x22C   /* another guess based on 7958B */
 #define RD7958BID      0x22D
 #define RD7959BID      0x22E   /* another guess based on 7958B */
 #define RD7957BID      0x22C   /* another guess based on 7958B */
 #define RD7958BID      0x22D
 #define RD7959BID      0x22E   /* another guess based on 7958B */
+#define RD2200AID      0x22F
+#define RD2203AID      0x230   /* yet another guess */
 
 #define        NRD7945ABPT     (32 >> (DEV_BSHIFT-8))
 #define        NRD7945ATRK     7
 
 #define        NRD7945ABPT     (32 >> (DEV_BSHIFT-8))
 #define        NRD7945ATRK     7
@@ -164,15 +166,18 @@ struct rd_describe {
  * DISK                REAL (256 BPS)          HPUX (1024 BPS)         BSD (512 BPS)
  *             SPT x HD x CYL          SPT x HD x CYL          SPT x HD x CYL
  * -----       ---------------         ---------------         --------------
  * DISK                REAL (256 BPS)          HPUX (1024 BPS)         BSD (512 BPS)
  *             SPT x HD x CYL          SPT x HD x CYL          SPT x HD x CYL
  * -----       ---------------         ---------------         --------------
- * 7936:       123 x  7 x 1396         25 x  7 x 1716          123 x  7 x  698
- * 7937:       123 x 13 x 1396         25 x 16 x 1395          123 x 13 x  698
+ * 7936:       123 x  7 x 1396          25 x  7 x 1716         123 x  7 x  698
+ * 7937:       123 x 13 x 1396          25 x 16 x 1395         123 x 13 x  698
  *
  *
- * 7957A:       63 x  5 x 1013         11 x  7 x 1036           22 x  7 x 1036
- * 7958A:       63 x  8 x 1013         21 x  6 x 1013           36 x  7 x 1013
+ * 7957A:       63 x  5 x 1013          11 x  7 x 1036          22 x  7 x 1036
+ * 7958A:       63 x  8 x 1013          21 x  6 x 1013          36 x  7 x 1013
  *
  *
- * 7957B:       63 x  4 x 1269          9 x  7 x 1269           18 x  7 x 1269
- * 7958B:       63 x  6 x 1572         21 x  9 x  786           42 x  9 x  786
- * 7959B:       63 x 12 x 1572         21 x  9 x 1572           42 x  9 x 1572
+ * 7957B:       63 x  4 x 1269           9 x  7 x 1269          18 x  7 x 1269
+ * 7958B:       63 x  6 x 1572          21 x  9 x  786          42 x  9 x  786
+ * 7959B:       63 x 12 x 1572          21 x  9 x 1572          42 x  9 x 1572
+ *
+ * 2200A:      113 x  8 x 1449         113 x  2 x 1449         113 x  4 x 1449
+ * 2203A:      113 x 16 x 1449         113 x  4 x 1449         113 x  8 x 1449
  */
 #if DEV_BSIZE == 512
 #      define  NRD7936HBPT     123
  */
 #if DEV_BSIZE == 512
 #      define  NRD7936HBPT     123
@@ -189,6 +194,10 @@ struct rd_describe {
 #      define  NRD7958BTRK     9
 #      define  NRD7959BBPT     42
 #      define  NRD7959BTRK     9
 #      define  NRD7958BTRK     9
 #      define  NRD7959BBPT     42
 #      define  NRD7959BTRK     9
+#      define  NRD2200ABPT     113
+#      define  NRD2200ATRK     4
+#      define  NRD2203ABPT     113
+#      define  NRD2203ATRK     8
 #endif
 #if DEV_BSIZE == 1024
 #      define  NRD7957ABPT     11
 #endif
 #if DEV_BSIZE == 1024
 #      define  NRD7957ABPT     11
@@ -201,6 +210,10 @@ struct rd_describe {
 #      define  NRD7958BTRK     9
 #      define  NRD7959BBPT     21
 #      define  NRD7959BTRK     9
 #      define  NRD7958BTRK     9
 #      define  NRD7959BBPT     21
 #      define  NRD7959BTRK     9
+#      define  NRD2200ABPT     113
+#      define  NRD2200ATRK     2
+#      define  NRD2203ABPT     113
+#      define  NRD2203ATRK     4
 #endif
 
 /* controller "unit" number */
 #endif
 
 /* controller "unit" number */