diff options
| author | briggs <briggs@NetBSD.org> | 1999-06-28 04:33:21 +0000 |
|---|---|---|
| committer | briggs <briggs@NetBSD.org> | 1999-06-28 04:33:21 +0000 |
| commit | 79fe772f46ec592dec86e49f2f4fac69f2bcf70f (patch) | |
| tree | 5a3e0d9d475f895e9f29ec5dbbfcb28f0925a0ab | |
| parent | 598b09009be48a97ddbe8307a57c1d1809d027ba (diff) | |
Include a bit more info about what's not happening with IOP.
| -rw-r--r-- | sys/arch/mac68k/include/iopreg.h | 7 | ||||
| -rw-r--r-- | sys/arch/mac68k/mac68k/iop.c | 21 |
2 files changed, 22 insertions, 6 deletions
diff --git a/sys/arch/mac68k/include/iopreg.h b/sys/arch/mac68k/include/iopreg.h index c2161cbfce8..d8a56ae829a 100644 --- a/sys/arch/mac68k/include/iopreg.h +++ b/sys/arch/mac68k/include/iopreg.h @@ -1,4 +1,9 @@ -/* $NetBSD: iopreg.h,v 1.1 1999/06/28 01:56:57 briggs Exp $ */ +/* $NetBSD: iopreg.h,v 1.2 1999/06/28 04:33:21 briggs Exp $ */ + +/* + * Freely contributed to The NetBSD Foundation. + * XXX - Do paperwork and put a proper copyright here. + */ #include <sys/pool.h> #include <sys/queue.h> diff --git a/sys/arch/mac68k/mac68k/iop.c b/sys/arch/mac68k/mac68k/iop.c index 82bf7ed8811..4af0cc266fd 100644 --- a/sys/arch/mac68k/mac68k/iop.c +++ b/sys/arch/mac68k/mac68k/iop.c @@ -1,4 +1,9 @@ -/* $NetBSD: iop.c,v 1.1 1999/06/28 01:56:57 briggs Exp $ */ +/* $NetBSD: iop.c,v 1.2 1999/06/28 04:33:22 briggs Exp $ */ + +/* + * Freely contributed to the NetBSD Foundation. + * XXX - Do paperwork and put a proper copyright here. + */ /* * This code handles VIA, RBV, and OSS functionality. @@ -144,12 +149,18 @@ iop_init(fullinit) 0, NULL, NULL, M_DEVBUF); iop_write1(ioph, IOP_ADDR_ALIVE, 0); +/* + * XXX The problem here seems to be that the IOP wants to go back into + * BYPASS mode. The state should be 0x86 after we're done with it + * here. It switches to 0x7 almost immediately. + * This means one of a couple of things to me-- + * 1. We're doing something wrong + * 2. MacOS is really shutting down the IOP + * Most likely, it's the first. + */ printf("OLD cs0: 0x%x\n", (unsigned) ioph->control_status); - iop_write1(ioph, IOP_ADDR_MAX_SEND_CHAN, 7); - iop_write1(ioph, IOP_ADDR_MAX_RECV_CHAN, 7); ioph->control_status = 0x80 | IOP_CS_RUN | IOP_CS_AUTOINC; - iop_write1(ioph, IOP_ADDR_ALIVE, 0); {unsigned cs, c2; cs = (unsigned) ioph->control_status; printf("OLD cs1: 0x%x\n", cs); @@ -378,7 +389,7 @@ printf("loading msg to iop: cs: 0x%x V1-%x- ", (unsigned) iop->iop->control_stat printf("msg loaded to iop: cs: 0x%x V1-%x- ", (unsigned) iop->iop->control_status, (unsigned)via_reg(VIA1, vIFR)); } -{int i; for (i=0;i<100;i++) { +{int i; for (i=0;i<16;i++) { printf(" cs: 0x%x V1-%x- ", (unsigned) iop->iop->control_status, (unsigned)via_reg(VIA1, vIFR)); delay(1000); }} |
