delete obsolete printf formats (%X -> %lx)
[unix-history] / usr / src / sys / i386 / isa / wdreg.h
CommitLineData
08be3b19 1/*-
d4a75cc0 2 * Copyright (c) 1991 The Regents of the University of California.
08be3b19
WN
3 * All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * William Jolitz.
7 *
d4a75cc0 8 * %sccs.include.redist.c%
08be3b19 9 *
d4a75cc0 10 * @(#)wdreg.h 7.1 (Berkeley) %G%
08be3b19
WN
11 */
12
08be3b19
WN
13/*
14 * Disk Controller register definitions.
15 */
16#define wd_data 0x0 /* data register (R/W - 16 bits) */
17#define wd_error 0x1 /* error register (R) */
18#define wd_precomp wd_error /* write precompensation (W) */
19#define wd_seccnt 0x2 /* sector count (R/W) */
20#define wd_sector 0x3 /* first sector number (R/W) */
21#define wd_cyl_lo 0x4 /* cylinder address, low byte (R/W) */
22#define wd_cyl_hi 0x5 /* cylinder address, high byte (R/W)*/
23#define wd_sdh 0x6 /* sector size/drive/head (R/W)*/
24#define wd_command 0x7 /* command register (W) */
25#define wd_status wd_command /* immediate status (R) */
26
27#define wd_altsts 0x206 /*alternate fixed disk status(via 1015) (R)*/
28#define wd_ctlr 0x206 /*fixed disk controller control(via 1015) (W)*/
29#define wd_digin 0x207 /* disk controller input(via 1015) (R)*/
30
31/*
32 * Status Bits.
33 */
34#define WDCS_BUSY 0x80 /* Controller busy bit. */
35#define WDCS_READY 0x40 /* Selected drive is ready */
36#define WDCS_WRTFLT 0x20 /* Write fault */
37#define WDCS_SEEKCMPLT 0x10 /* Seek complete */
38#define WDCS_DRQ 0x08 /* Data request bit. */
39#define WDCS_ECCCOR 0x04 /* ECC correction made in data */
40#define WDCS_INDEX 0x02 /* Index pulse from selected drive */
41#define WDCS_ERR 0x01 /* Error detect bit. */
42
43#define WDCS_BITS "\020\010busy\006rdy\006wrtflt\005seekdone\004drq\003ecc_cor\002index\001err"
44
45#define WDERR_BITS "\020\010badblk\007uncorr\006id_crc\005no_id\003abort\002tr000\001no_dam"
46
47/*
48 * Commands for Disk Controller.
49 */
50#define WDCC_READ 0x20 /* disk read code */
51#define WDCC_WRITE 0x30 /* disk write code */
52#define WDCC_RESTORE 0x10 /* disk restore code -- resets cntlr */
53#define WDCC_FORMAT 0x50 /* disk format code */
54
55#define WD_STEP 0 /* winchester- default 35us step */
56
57#define WDSD_IBM 0xa0 /* forced to 512 byte sector, ecc */
58