summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/wdreg.h
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1996-06-08 10:03:38 +0000
committerbde <bde@FreeBSD.org>1996-06-08 10:03:38 +0000
commitc27d4a25c1d410d1684b845e6b902c83d998e523 (patch)
treead82268a79b6e5ff2f569fbc05101e94fe9fe9e6 /sys/i386/isa/wdreg.h
parentff26b11d11d393fc0363aee1059370938fde1bbb (diff)
downloadFreeBSD-src-c27d4a25c1d410d1684b845e6b902c83d998e523.zip
FreeBSD-src-c27d4a25c1d410d1684b845e6b902c83d998e523.tar.gz
Fixed calculation of the number of cylinders. wdp_cylinders (was
wdp_fixedcyl) gives it directly. wdp_removedcyl is "reserved" except in ancient ATA-1 drafts and shouldn't be added. This fixes PR 1288. Changed some fields and comments in struct wdparams to match a less- ancient ATA draft. Fixed bit number for `rdy' in status string.
Diffstat (limited to 'sys/i386/isa/wdreg.h')
-rw-r--r--sys/i386/isa/wdreg.h22
1 files changed, 10 insertions, 12 deletions
diff --git a/sys/i386/isa/wdreg.h b/sys/i386/isa/wdreg.h
index 426d2ff..20d37da 100644
--- a/sys/i386/isa/wdreg.h
+++ b/sys/i386/isa/wdreg.h
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)wdreg.h 7.1 (Berkeley) 5/9/91
- * $Id: wdreg.h,v 1.10 1995/11/04 17:07:58 bde Exp $
+ * $Id: wdreg.h,v 1.11 1996/01/28 22:16:20 wollman Exp $
*/
/*
@@ -71,7 +71,7 @@
#define WDCS_INDEX 0x02 /* Index pulse from selected drive */
#define WDCS_ERR 0x01 /* Error detect bit. */
-#define WDCS_BITS "\020\010busy\006rdy\006wrtflt\005seekdone\004drq\003ecc_cor\002index\001err"
+#define WDCS_BITS "\020\010busy\007rdy\006wrtflt\005seekdone\004drq\003ecc_cor\002index\001err"
#define WDERR_ABORT 0x04
#define WDERR_BITS "\020\010badblk\007uncorr\006id_crc\005no_id\003abort\002tr000\001no_dam"
@@ -111,23 +111,21 @@
*/
struct wdparams {
/* drive info */
- short wdp_config; /* general configuration */
- short wdp_fixedcyl; /* number of non-removable cylinders */
- short wdp_removcyl; /* number of removable cylinders */
+ short wdp_config; /* general configuration bits */
+ short wdp_cylinders; /* number of cylinders */
+ short wdp_reserved;
short wdp_heads; /* number of heads */
short wdp_unfbytespertrk; /* number of unformatted bytes/track */
short wdp_unfbytes; /* number of unformatted bytes/sector */
- short wdp_sectors; /* number of sectors */
- short wdp_minisg; /* minimum bytes in inter-sector gap*/
- short wdp_minplo; /* minimum bytes in postamble */
- short wdp_vendstat; /* number of words of vendor status */
+ short wdp_sectors; /* number of sectors per track */
+ short wdp_vendorunique[3];
/* controller info */
- char wdp_cnsn[20]; /* controller serial number */
- short wdp_cntype; /* controller type */
+ char wdp_serial[20]; /* serial number */
+ short wdp_buffertype; /* buffer type */
#define WDTYPE_SINGLEPORTSECTOR 1 /* single port, single sector buffer */
#define WDTYPE_DUALPORTMULTI 2 /* dual port, multiple sector buffer */
#define WDTYPE_DUALPORTMULTICACHE 3 /* above plus track cache */
- short wdp_cnsbsz; /* sector buffer size, in sectors */
+ short wdp_buffersize; /* buffer size, in 512-byte units */
short wdp_necc; /* ecc bytes appended */
char wdp_rev[8]; /* firmware revision */
char wdp_model[40]; /* model name */
OpenPOWER on IntegriCloud