Use "edc" instead of "dasd". As pointed out by Soren, dasd doesn't
mean anything special in IBM-talk. And edc better matches prior art, too.
This commit is contained in:
parent
230d9cbc0f
commit
dbf91c827d
@ -1,10 +1,10 @@
|
||||
# $NetBSD: Makefile,v 1.193 2001/04/19 08:16:06 jdolecek Exp $
|
||||
# $NetBSD: Makefile,v 1.194 2001/04/19 17:17:29 jdolecek Exp $
|
||||
# @(#)Makefile 8.1 (Berkeley) 6/18/93
|
||||
|
||||
MAN= adv.4 adw.4 ahb.4 ahc.4 an.4 aria.4 atalk.4 audio.4 auich.4 auvia.4 \
|
||||
awi.4 bba.4 bha.4 bktr.4 bpf.4 cac.4 cardbus.4 ccd.4 \
|
||||
cd.4 ch.4 clcs.4 clct.4 clnp.4 cltp.4 cmpci.4 cms.4 cnw.4 dasd.4 ddb.4 \
|
||||
de.4 dpt.4 drum.4 eap.4 elmc.4 en.4 envsys.4 ep.4 esh.4 \
|
||||
cd.4 ch.4 clcs.4 clct.4 clnp.4 cltp.4 cmpci.4 cms.4 cnw.4 ddb.4 \
|
||||
de.4 dpt.4 drum.4 eap.4 edc.4 elmc.4 en.4 envsys.4 ep.4 esh.4 \
|
||||
esis.4 esm.4 eso.4 exphy.4 fd.4 fpa.4 fms.4 fxp.4 gre.4 hme.4 icmp.4 \
|
||||
icsphy.4 idp.4 ifmedia.4 inet.4 inphy.4 intersil7170.4 ioat.4 \
|
||||
iop.4 iophy.4 iopsp.4 ip.4 ipip.4 ipkdb.4 iso.4 isp.4 \
|
||||
|
@ -1,4 +1,4 @@
|
||||
.\" $NetBSD: dasd.4,v 1.1 2001/04/19 08:16:06 jdolecek Exp $
|
||||
.\" $NetBSD: edc.4,v 1.1 2001/04/19 17:17:30 jdolecek Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 1999 The NetBSD Foundation, Inc.
|
||||
.\" All rights reserved.
|
@ -1,4 +1,4 @@
|
||||
# $NetBSD: PS2,v 1.15 2001/04/19 07:37:10 jdolecek Exp $
|
||||
# $NetBSD: PS2,v 1.16 2001/04/19 17:17:28 jdolecek Exp $
|
||||
#
|
||||
# Sample kernel config for PS/2 with MCA bus
|
||||
#
|
||||
@ -117,8 +117,8 @@ we* at mca? slot ? # WD/SMC Ethernet
|
||||
ate* at mca? slot ? # Allied Telesis AT1720
|
||||
|
||||
# MCA ESDI controllers & disks - EXPERIMENTAL
|
||||
dasd* at mca? slot ? # IBM DASD-compliant ESDI controllers
|
||||
ed* at dasd?
|
||||
edc* at mca? slot ? # IBM ESDI Disk Controllers
|
||||
ed* at edc?
|
||||
|
||||
# MCA SCSI controllers
|
||||
aha* at mca? slot ? # Adaptec AHA-1640
|
||||
|
@ -1,4 +1,4 @@
|
||||
# $NetBSD: DEVNAMES,v 1.47 2001/04/19 07:47:50 jdolecek Exp $
|
||||
# $NetBSD: DEVNAMES,v 1.48 2001/04/19 17:17:28 jdolecek Exp $
|
||||
#
|
||||
# This file contains all used device names and defined attributes in
|
||||
# alphabetical order. New devices added to the system somewhere should first
|
||||
@ -213,7 +213,6 @@ cy MI
|
||||
cy82c693 MI
|
||||
cz MI
|
||||
daic MI
|
||||
dasd MI (MCA)
|
||||
dc pmax
|
||||
dca hp300
|
||||
dcm hp300
|
||||
@ -255,6 +254,7 @@ eccmemctl sparc
|
||||
ed amiga
|
||||
ed amigappc
|
||||
ed MI (MCA)
|
||||
edc MI (MCA)
|
||||
eeprom sparc
|
||||
eeprom sparc64
|
||||
eeprom sun3
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: ed_mca.c,v 1.1 2001/04/19 07:30:24 jdolecek Exp $ */
|
||||
/* $NetBSD: ed_mca.c,v 1.2 2001/04/19 17:17:29 jdolecek Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2001 The NetBSD Foundation, Inc.
|
||||
@ -63,9 +63,9 @@
|
||||
#include <machine/intr.h>
|
||||
#include <machine/bus.h>
|
||||
|
||||
#include <dev/mca/dasdreg.h>
|
||||
#include <dev/mca/edcreg.h>
|
||||
#include <dev/mca/edvar.h>
|
||||
#include <dev/mca/dasdvar.h>
|
||||
#include <dev/mca/edcvar.h>
|
||||
|
||||
/* #define WDCDEBUG */
|
||||
|
||||
@ -117,7 +117,7 @@ ed_mca_probe(parent, match, aux)
|
||||
void *aux;
|
||||
{
|
||||
u_int16_t cmd_args[2];
|
||||
struct dasd_mca_softc *sc = (void *) parent;
|
||||
struct edc_mca_softc *sc = (void *) parent;
|
||||
struct ed_attach_args *eda = (void *) aux;
|
||||
|
||||
/*
|
||||
@ -125,7 +125,7 @@ ed_mca_probe(parent, match, aux)
|
||||
*/
|
||||
cmd_args[0] = 6; /* Options: 00s110, s: 0=Physical 1=Pseudo */
|
||||
cmd_args[1] = 0;
|
||||
if (dasd_run_cmd(sc, CMD_GET_DEV_CONF, eda->sc_devno, cmd_args, 2, 0))
|
||||
if (edc_run_cmd(sc, CMD_GET_DEV_CONF, eda->sc_devno, cmd_args, 2, 0))
|
||||
return (0);
|
||||
|
||||
return (1);
|
||||
@ -137,15 +137,15 @@ ed_mca_attach(parent, self, aux)
|
||||
void *aux;
|
||||
{
|
||||
struct ed_softc *ed = (void *) self;
|
||||
struct dasd_mca_softc *sc = (void *) parent;
|
||||
struct edc_mca_softc *sc = (void *) parent;
|
||||
struct ed_attach_args *eda = (void *) aux;
|
||||
char pbuf[8];
|
||||
int error, nsegs;
|
||||
|
||||
ed->dasd_softc = sc;
|
||||
ed->edc_softc = sc;
|
||||
ed->sc_dmat = eda->sc_dmat;
|
||||
ed->sc_devno = eda->sc_devno;
|
||||
dasd_add_disk(sc, ed, eda->sc_devno);
|
||||
edc_add_disk(sc, ed, eda->sc_devno);
|
||||
|
||||
BUFQ_INIT(&ed->sc_q);
|
||||
spinlockinit(&ed->sc_q_lock, "edbqlock", 0);
|
||||
@ -419,7 +419,7 @@ __edstart(ed, bp)
|
||||
cmd_args[1] = bp->b_bcount / DEV_BSIZE;
|
||||
cmd_args[2] = ((cyl & 0x1f) << 11) | (head << 5) | sector;
|
||||
cmd_args[3] = ((cyl & 0x3E0) >> 5);
|
||||
if (dasd_run_cmd(ed->dasd_softc,
|
||||
if (edc_run_cmd(ed->edc_softc,
|
||||
(bp->b_flags & B_READ) ? CMD_READ_DATA : CMD_WRITE_DATA,
|
||||
ed->sc_devno, cmd_args, 4, 1)) {
|
||||
printf("%s: data i/o command failed\n", ed->sc_dev.dv_xname);
|
||||
@ -1092,7 +1092,7 @@ ed_get_params(ed)
|
||||
*/
|
||||
cmd_args[0] = 6; /* Options: 00s110, s: 0=Physical 1=Pseudo */
|
||||
cmd_args[1] = 0;
|
||||
if (dasd_run_cmd(ed->dasd_softc, CMD_GET_DEV_CONF, ed->sc_devno, cmd_args, 2, 0))
|
||||
if (edc_run_cmd(ed->edc_softc, CMD_GET_DEV_CONF, ed->sc_devno, cmd_args, 2, 0))
|
||||
return (1);
|
||||
|
||||
ed->spares = ed->sc_status_block[1] >> 8;
|
||||
@ -1129,7 +1129,7 @@ ed_shutdown(arg)
|
||||
/* Issue Park Head command */
|
||||
cmd_args[0] = 6; /* Options: 000110 */
|
||||
cmd_args[1] = 0;
|
||||
(void) dasd_run_cmd(ed->dasd_softc, CMD_PARK_HEAD, ed->sc_devno,
|
||||
(void) edc_run_cmd(ed->edc_softc, CMD_PARK_HEAD, ed->sc_devno,
|
||||
cmd_args, 2, 0);
|
||||
#endif
|
||||
}
|
||||
@ -1171,10 +1171,10 @@ edworker(arg)
|
||||
splx(s);
|
||||
|
||||
/*
|
||||
* Wait until the command executes; dasd_intr() wakes
|
||||
* Wait until the command executes; edc_intr() wakes
|
||||
* as up.
|
||||
*/
|
||||
(void) tsleep(&ed->dasd_softc, PRIBIO, "edwrk", 0);
|
||||
(void) tsleep(&ed->edc_softc, PRIBIO, "edwrk", 0);
|
||||
|
||||
/* Handle i/o results */
|
||||
s = splbio();
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: dasd_mca.c,v 1.1 2001/04/19 07:30:24 jdolecek Exp $ */
|
||||
/* $NetBSD: edc_mca.c,v 1.1 2001/04/19 17:17:29 jdolecek Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2001 The NetBSD Foundation, Inc.
|
||||
@ -41,14 +41,14 @@
|
||||
* for MCA rev. 2.2 in hands, thanks to Scott Telford <st@epcc.ed.ac.uk>.
|
||||
*
|
||||
* TODO:
|
||||
* - move the MCA DMA controller (dasd_setup_dma()) goo to device driver
|
||||
* - move the MCA DMA controller (edc_setup_dma()) goo to device driver
|
||||
* independant location
|
||||
* - improve error recovery
|
||||
* add any soft resets when anything gets stuck?
|
||||
* - test with > 1 disk (this is supported by some controllers), eliminate
|
||||
* any remaining devno=0 assumptions if there are any still
|
||||
* - test with > 1 ESDI controller in machine; shared interrupts
|
||||
* necessary for this to work should be supported - dasd_intr() specifically
|
||||
* necessary for this to work should be supported - edc_intr() specifically
|
||||
* checks if the interrupt is for this controller
|
||||
*/
|
||||
|
||||
@ -77,12 +77,12 @@
|
||||
#include <dev/mca/mcavar.h>
|
||||
#include <dev/mca/mcadevs.h>
|
||||
|
||||
#include <dev/mca/dasdreg.h>
|
||||
#include <dev/mca/edcreg.h>
|
||||
#include <dev/mca/edvar.h>
|
||||
#include <dev/mca/dasdvar.h>
|
||||
#include <dev/mca/edcvar.h>
|
||||
|
||||
#define DASD_MAXDEVS 7
|
||||
struct dasd_mca_softc {
|
||||
struct edc_mca_softc {
|
||||
struct device sc_dev;
|
||||
|
||||
bus_space_tag_t sc_iot;
|
||||
@ -104,27 +104,27 @@ struct dasd_mca_softc {
|
||||
* controller */
|
||||
};
|
||||
|
||||
int dasd_mca_probe __P((struct device *, struct cfdata *, void *));
|
||||
void dasd_mca_attach __P((struct device *, struct device *, void *));
|
||||
int edc_mca_probe __P((struct device *, struct cfdata *, void *));
|
||||
void edc_mca_attach __P((struct device *, struct device *, void *));
|
||||
|
||||
struct cfattach dasd_mca_ca = {
|
||||
sizeof(struct dasd_mca_softc), dasd_mca_probe, dasd_mca_attach
|
||||
struct cfattach edc_mca_ca = {
|
||||
sizeof(struct edc_mca_softc), edc_mca_probe, edc_mca_attach
|
||||
};
|
||||
|
||||
#define DMA_EXTCMD 0x18
|
||||
#define DMA_EXEC 0x1A
|
||||
|
||||
static int dasd_intr __P((void *));
|
||||
static void dasd_attach_ed __P((struct device *));
|
||||
static void dasd_dump_status_block __P((struct dasd_mca_softc *, int, int,
|
||||
static int edc_intr __P((void *));
|
||||
static void edc_attach_ed __P((struct device *));
|
||||
static void edc_dump_status_block __P((struct edc_mca_softc *, int, int,
|
||||
int));
|
||||
static int dasd_setup_dma __P((struct dasd_mca_softc *, struct buf *,
|
||||
static int edc_setup_dma __P((struct edc_mca_softc *, struct buf *,
|
||||
bus_addr_t, bus_size_t));
|
||||
static int dasd_do_attn __P((struct dasd_mca_softc *, int, int, int));
|
||||
static int dasd_cmd_wait __P((struct dasd_mca_softc *, int, int, int));
|
||||
static int edc_do_attn __P((struct edc_mca_softc *, int, int, int));
|
||||
static int edc_cmd_wait __P((struct edc_mca_softc *, int, int, int));
|
||||
|
||||
int
|
||||
dasd_mca_probe(parent, match, aux)
|
||||
edc_mca_probe(parent, match, aux)
|
||||
struct device *parent;
|
||||
struct cfdata *match;
|
||||
void *aux;
|
||||
@ -141,11 +141,11 @@ dasd_mca_probe(parent, match, aux)
|
||||
}
|
||||
|
||||
void
|
||||
dasd_mca_attach(parent, self, aux)
|
||||
edc_mca_attach(parent, self, aux)
|
||||
struct device *parent, *self;
|
||||
void *aux;
|
||||
{
|
||||
struct dasd_mca_softc *sc = (void *) self;
|
||||
struct edc_mca_softc *sc = (void *) self;
|
||||
struct mca_attach_args *ma = aux;
|
||||
int pos2, pos3, pos4;
|
||||
int irq, drq, iobase;
|
||||
@ -248,7 +248,7 @@ dasd_mca_attach(parent, self, aux)
|
||||
|
||||
sc->sc_dmat = ma->ma_dmat;
|
||||
|
||||
sc->sc_ih = mca_intr_establish(ma->ma_mc, irq, IPL_BIO, dasd_intr, sc);
|
||||
sc->sc_ih = mca_intr_establish(ma->ma_mc, irq, IPL_BIO, edc_intr, sc);
|
||||
if (sc->sc_ih == NULL) {
|
||||
printf("%s: couldn't establish interrupt handler\n",
|
||||
sc->sc_dev.dv_xname);
|
||||
@ -266,18 +266,18 @@ dasd_mca_attach(parent, self, aux)
|
||||
sc->sc_maxdevs = 2;
|
||||
|
||||
/* Defer probe for individual disks until interrupts are enabled. */
|
||||
config_interrupts(self, dasd_attach_ed);
|
||||
config_interrupts(self, edc_attach_ed);
|
||||
}
|
||||
|
||||
/*
|
||||
* Try to attach ed* at dasd? if any configured and installed now
|
||||
* Try to attach ed* at edc? if any configured and installed now
|
||||
* that interrupts are enabled.
|
||||
*/
|
||||
static void
|
||||
dasd_attach_ed(self)
|
||||
edc_attach_ed(self)
|
||||
struct device *self;
|
||||
{
|
||||
struct dasd_mca_softc *sc = (void *) self;
|
||||
struct edc_mca_softc *sc = (void *) self;
|
||||
struct ed_softc *ed;
|
||||
struct ed_attach_args eda;
|
||||
int devno;
|
||||
@ -291,7 +291,7 @@ dasd_attach_ed(self)
|
||||
BCR_INT_ENABLE|BCR_RESET);
|
||||
} else {
|
||||
/* "SOFT" reset */
|
||||
dasd_do_attn(sc, ATN_RESET_ATTACHMENT, DASD_DEVNO_CONTROLLER,0);
|
||||
edc_do_attn(sc, ATN_RESET_ATTACHMENT, DASD_DEVNO_CONTROLLER,0);
|
||||
}
|
||||
|
||||
/* Wait until the reset completes. */
|
||||
@ -300,7 +300,7 @@ dasd_attach_ed(self)
|
||||
|
||||
/*
|
||||
* Get dummy ed_softc to be used during probe. Once a disk is
|
||||
* found, ed_mca_attach() calls dasd_add_disk() to insert the
|
||||
* found, ed_mca_attach() calls edc_add_disk() to insert the
|
||||
* right pointer into sc->sc_ed[] array.
|
||||
*/
|
||||
MALLOC(ed, struct ed_softc *, sizeof(struct ed_softc),
|
||||
@ -328,8 +328,8 @@ dasd_attach_ed(self)
|
||||
}
|
||||
|
||||
void
|
||||
dasd_add_disk(sc, ed, devno)
|
||||
struct dasd_mca_softc *sc;
|
||||
edc_add_disk(sc, ed, devno)
|
||||
struct edc_mca_softc *sc;
|
||||
struct ed_softc *ed;
|
||||
int devno;
|
||||
{
|
||||
@ -337,10 +337,10 @@ dasd_add_disk(sc, ed, devno)
|
||||
}
|
||||
|
||||
static int
|
||||
dasd_intr(arg)
|
||||
edc_intr(arg)
|
||||
void *arg;
|
||||
{
|
||||
struct dasd_mca_softc *sc = arg;
|
||||
struct edc_mca_softc *sc = arg;
|
||||
u_int8_t isr, intr_id;
|
||||
u_int16_t sifr;
|
||||
int cmd, devno, bioerror;
|
||||
@ -414,7 +414,7 @@ dasd_intr(arg)
|
||||
* controller to do the transfer.
|
||||
*/
|
||||
ed = sc->sc_ed[devno];
|
||||
if (!dasd_setup_dma(sc, ed->sc_bp,
|
||||
if (!edc_setup_dma(sc, ed->sc_bp,
|
||||
ed->dmamap_xfer->dm_segs[0].ds_addr,
|
||||
ed->dmamap_xfer->dm_segs[0].ds_len)) {
|
||||
/* error XXX bail out? */
|
||||
@ -438,7 +438,7 @@ dasd_intr(arg)
|
||||
break;
|
||||
default:
|
||||
if ((sc->sc_flags & DASD_QUIET) == 0)
|
||||
dasd_dump_status_block(sc, devno, cmd, intr_id);
|
||||
edc_dump_status_block(sc, devno, cmd, intr_id);
|
||||
|
||||
bioerror = EIO;
|
||||
break;
|
||||
@ -452,13 +452,13 @@ dasd_intr(arg)
|
||||
* is ready to accept another one.
|
||||
*/
|
||||
if (intr_id != ISR_DATA_TRANSFER_RDY && intr_id != ISR_ATTN_ERROR)
|
||||
dasd_do_attn(sc, ATN_END_INT, devno, intr_id);
|
||||
edc_do_attn(sc, ATN_END_INT, devno, intr_id);
|
||||
|
||||
/* If Read or Write Data, wakeup worker thread to finish it */
|
||||
if (intr_id != ISR_DATA_TRANSFER_RDY
|
||||
&& (cmd == CMD_READ_DATA || cmd == CMD_WRITE_DATA)) {
|
||||
sc->sc_ed[devno]->sc_error = bioerror;
|
||||
wakeup_one(&sc->sc_ed[devno]->dasd_softc);
|
||||
wakeup_one(&sc->sc_ed[devno]->edc_softc);
|
||||
}
|
||||
|
||||
return (1);
|
||||
@ -469,8 +469,8 @@ dasd_intr(arg)
|
||||
* written in DASD Storage Interface Specification MC (Rev 2.2).
|
||||
*/
|
||||
static int
|
||||
dasd_do_attn(sc, attn_type, devno, intr_id)
|
||||
struct dasd_mca_softc *sc;
|
||||
edc_do_attn(sc, attn_type, devno, intr_id)
|
||||
struct edc_mca_softc *sc;
|
||||
int attn_type, devno, intr_id;
|
||||
{
|
||||
int tries;
|
||||
@ -488,7 +488,7 @@ dasd_do_attn(sc, attn_type, devno, intr_id)
|
||||
}
|
||||
|
||||
if (tries == 1000) {
|
||||
printf("%s: dasd_do_attn: timeout waiting for attachment to become available\n",
|
||||
printf("%s: edc_do_attn: timeout waiting for attachment to become available\n",
|
||||
(devno == DASD_DEVNO_CONTROLLER)
|
||||
? sc->sc_dev.dv_xname
|
||||
: sc->sc_ed[devno]->sc_dev.dv_xname);
|
||||
@ -516,8 +516,8 @@ dasd_do_attn(sc, attn_type, devno, intr_id)
|
||||
* interval.
|
||||
*/
|
||||
static int
|
||||
dasd_cmd_wait(sc, devno, cmd, secs)
|
||||
struct dasd_mca_softc *sc;
|
||||
edc_cmd_wait(sc, devno, cmd, secs)
|
||||
struct edc_mca_softc *sc;
|
||||
int devno, cmd, secs;
|
||||
{
|
||||
struct timeval start, now;
|
||||
@ -548,8 +548,8 @@ dasd_cmd_wait(sc, devno, cmd, secs)
|
||||
}
|
||||
|
||||
int
|
||||
dasd_run_cmd(sc, cmd, devno, cmd_args, cmd_len, async)
|
||||
struct dasd_mca_softc *sc;
|
||||
edc_run_cmd(sc, cmd, devno, cmd_args, cmd_len, async)
|
||||
struct edc_mca_softc *sc;
|
||||
int cmd;
|
||||
int devno;
|
||||
u_int16_t cmd_args[];
|
||||
@ -565,14 +565,14 @@ dasd_run_cmd(sc, cmd, devno, cmd_args, cmd_len, async)
|
||||
*/
|
||||
if (sc->sc_cmd_async) {
|
||||
/* Wait maximum 15s */
|
||||
if (dasd_cmd_wait(sc, devno, cmd, 15))
|
||||
if (edc_cmd_wait(sc, devno, cmd, 15))
|
||||
return (EAGAIN); /* Busy */
|
||||
|
||||
sc->sc_cmd_async = 0;
|
||||
}
|
||||
|
||||
/* Do Attention Request for Command Request. */
|
||||
if ((error = dasd_do_attn(sc, ATN_CMD_REQ, devno, 0)))
|
||||
if ((error = edc_do_attn(sc, ATN_CMD_REQ, devno, 0)))
|
||||
return (error);
|
||||
|
||||
/*
|
||||
@ -617,7 +617,7 @@ dasd_run_cmd(sc, cmd, devno, cmd_args, cmd_len, async)
|
||||
}
|
||||
|
||||
/* Wait for command to complete, but maximum 15 seconds. */
|
||||
if (dasd_cmd_wait(sc, devno, cmd, 15))
|
||||
if (edc_cmd_wait(sc, devno, cmd, 15))
|
||||
return (EAGAIN);
|
||||
|
||||
/* Check if the command completed successfully; if not, return error */
|
||||
@ -633,8 +633,8 @@ dasd_run_cmd(sc, cmd, devno, cmd_args, cmd_len, async)
|
||||
}
|
||||
|
||||
static int
|
||||
dasd_setup_dma(sc, bp, phys, cnt)
|
||||
struct dasd_mca_softc *sc;
|
||||
edc_setup_dma(sc, bp, phys, cnt)
|
||||
struct edc_mca_softc *sc;
|
||||
struct buf *bp;
|
||||
bus_addr_t phys;
|
||||
bus_size_t cnt;
|
||||
@ -673,7 +673,7 @@ dasd_setup_dma(sc, bp, phys, cnt)
|
||||
return (1);
|
||||
}
|
||||
|
||||
static const char * const dasd_commands[] = {
|
||||
static const char * const edc_commands[] = {
|
||||
"Invalid Command",
|
||||
"Read Data",
|
||||
"Write Data",
|
||||
@ -698,7 +698,7 @@ static const char * const dasd_commands[] = {
|
||||
"Power Conservation Command",
|
||||
};
|
||||
|
||||
static const char * const dasd_cmd_status[256] = {
|
||||
static const char * const edc_cmd_status[256] = {
|
||||
"Reserved",
|
||||
"Command completed successfully",
|
||||
"Reserved",
|
||||
@ -718,7 +718,7 @@ static const char * const dasd_cmd_status[256] = {
|
||||
/* 0x14 - 0xff reserved */
|
||||
};
|
||||
|
||||
static const char * const dasd_cmd_error[256] = {
|
||||
static const char * const edc_cmd_error[256] = {
|
||||
"No Error",
|
||||
"Invalid parameter in the command block",
|
||||
"Reserved",
|
||||
@ -742,7 +742,7 @@ static const char * const dasd_cmd_error[256] = {
|
||||
/* 0x14-0xff reserved */
|
||||
};
|
||||
|
||||
static const char * const dasd_dev_status[] = {
|
||||
static const char * const edc_dev_status[] = {
|
||||
"Seek or Command complete",
|
||||
"Track 0 Flag (emulated)",
|
||||
"Write Fault (emulated)",
|
||||
@ -753,7 +753,7 @@ static const char * const dasd_dev_status[] = {
|
||||
"Reserved (0)",
|
||||
};
|
||||
|
||||
static const char * const dasd_dev_errors[] = {
|
||||
static const char * const edc_dev_errors[] = {
|
||||
"No Error",
|
||||
"Seek Fault", /* Device report */
|
||||
"Interface Fault (Parity, Attn, or Cmd Complete Error)",
|
||||
@ -782,29 +782,29 @@ static const char * const dasd_dev_errors[] = {
|
||||
};
|
||||
|
||||
static void
|
||||
dasd_dump_status_block(sc, devno, cmd, intr_id)
|
||||
struct dasd_mca_softc *sc;
|
||||
edc_dump_status_block(sc, devno, cmd, intr_id)
|
||||
struct edc_mca_softc *sc;
|
||||
int devno, cmd, intr_id;
|
||||
{
|
||||
struct ed_softc *ed = sc->sc_ed[devno];
|
||||
printf("%s: Command: %s, Status: %s\n",
|
||||
ed->sc_dev.dv_xname,
|
||||
dasd_commands[ed->sc_status_block[0] & 0x1f],
|
||||
dasd_cmd_status[SB_GET_CMD_STATUS(ed->sc_status_block)]
|
||||
edc_commands[ed->sc_status_block[0] & 0x1f],
|
||||
edc_cmd_status[SB_GET_CMD_STATUS(ed->sc_status_block)]
|
||||
);
|
||||
printf("%s: IntrId: %s\n", ed->sc_dev.dv_xname,
|
||||
dasd_cmd_status[intr_id]);
|
||||
edc_cmd_status[intr_id]);
|
||||
|
||||
if (cmd == ISR_COMPLETED_WARNING) {
|
||||
printf("%s: Command Error Code: %s\n",
|
||||
ed->sc_dev.dv_xname,
|
||||
dasd_cmd_error[ed->sc_status_block[1] & 0xff]);
|
||||
edc_cmd_error[ed->sc_status_block[1] & 0xff]);
|
||||
}
|
||||
|
||||
if (cmd == ISR_CMD_FAILED) {
|
||||
printf("%s: Device: Status: %s, Error Code: %s\n",
|
||||
ed->sc_dev.dv_xname,
|
||||
dasd_dev_status[(ed->sc_status_block[2] & 0xff00) >> 8],
|
||||
dasd_dev_errors[ed->sc_status_block[2] & 0xff]);
|
||||
edc_dev_status[(ed->sc_status_block[2] & 0xff00) >> 8],
|
||||
edc_dev_errors[ed->sc_status_block[2] & 0xff]);
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: dasdreg.h,v 1.1 2001/04/19 07:30:24 jdolecek Exp $ */
|
||||
/* $NetBSD: edcreg.h,v 1.1 2001/04/19 17:17:29 jdolecek Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2001 The NetBSD Foundation, Inc.
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: dasdvar.h,v 1.1 2001/04/19 07:30:24 jdolecek Exp $ */
|
||||
/* $NetBSD: edcvar.h,v 1.1 2001/04/19 17:17:29 jdolecek Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2001 The NetBSD Foundation, Inc.
|
||||
@ -38,6 +38,6 @@ struct ed_attach_args {
|
||||
bus_dma_tag_t sc_dmat; /* DMA tag as passed by parent */
|
||||
};
|
||||
|
||||
int dasd_run_cmd __P((struct dasd_mca_softc *, int,
|
||||
int edc_run_cmd __P((struct edc_mca_softc *, int,
|
||||
int, u_int16_t [], int, int));
|
||||
void dasd_add_disk __P((struct dasd_mca_softc *, struct ed_softc *, int));
|
||||
void edc_add_disk __P((struct edc_mca_softc *, struct ed_softc *, int));
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: edvar.h,v 1.1 2001/04/19 07:30:24 jdolecek Exp $ */
|
||||
/* $NetBSD: edvar.h,v 1.2 2001/04/19 17:17:29 jdolecek Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2001 The NetBSD Foundation, Inc.
|
||||
@ -33,7 +33,7 @@
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
struct dasd_mca_softc;
|
||||
struct edc_mca_softc;
|
||||
#define DASD_MAX_CMD_RES_LEN 8
|
||||
|
||||
struct ed_softc {
|
||||
@ -46,7 +46,7 @@ struct ed_softc {
|
||||
struct callout sc_edstart;
|
||||
|
||||
struct buf *sc_bp; /* buf being transfered */
|
||||
struct dasd_mca_softc *dasd_softc; /* pointer to our parent */
|
||||
struct edc_mca_softc *edc_softc; /* pointer to our parent */
|
||||
|
||||
int sc_flags;
|
||||
#define WDF_LOCKED 0x001
|
||||
|
@ -1,4 +1,4 @@
|
||||
# $NetBSD: files.mca,v 1.9 2001/04/19 07:30:25 jdolecek Exp $
|
||||
# $NetBSD: files.mca,v 1.10 2001/04/19 17:17:29 jdolecek Exp $
|
||||
#
|
||||
# Config.new file and device description for machine-independent MCA code.
|
||||
# Included by ports that need it.
|
||||
@ -41,10 +41,10 @@ attach ate at mca with ate_mca
|
||||
file dev/mca/if_ate_mca.c ate_mca
|
||||
|
||||
# ESDI controllers & disks
|
||||
device dasd { }
|
||||
attach dasd at mca with dasd_mca
|
||||
file dev/mca/dasd_mca.c dasd_mca
|
||||
device edc { }
|
||||
attach edc at mca with edc_mca
|
||||
file dev/mca/edc_mca.c edc_mca
|
||||
|
||||
device ed: disk
|
||||
attach ed at dasd with ed_mca
|
||||
attach ed at edc with ed_mca
|
||||
file dev/mca/ed_mca.c ed_mca needs-flag
|
||||
|
Loading…
Reference in New Issue
Block a user