summaryrefslogtreecommitdiff
path: root/sys/dev/microcode/siop/ncr53cxxx.c
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2004-03-12 00:04:58 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2004-03-12 00:04:58 +0000
commita64ef287e3bc4ca300b0cdca525c011f4c8dcf35 (patch)
tree9b7d2a92a0372201003cfc2ac3df316de5aaca75 /sys/dev/microcode/siop/ncr53cxxx.c
parentd57b8b0940d9b2c0bc9222002b7686dcbdb9843d (diff)
Preliminary port of NetBSD oosiop driver, for NCR53C700 chips, as commonly
encountered on the oldest hppa machines. Currently compiled in, but disabled, in the kernel, until it is stable enough - right now read access are fine, but writes eventually time out and do not complete. ok deraadt@
Diffstat (limited to 'sys/dev/microcode/siop/ncr53cxxx.c')
-rw-r--r--sys/dev/microcode/siop/ncr53cxxx.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/dev/microcode/siop/ncr53cxxx.c b/sys/dev/microcode/siop/ncr53cxxx.c
index d742fdd6c80..12b6c0aa06f 100644
--- a/sys/dev/microcode/siop/ncr53cxxx.c
+++ b/sys/dev/microcode/siop/ncr53cxxx.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ncr53cxxx.c,v 1.5 2003/06/27 20:38:49 krw Exp $ */
+/* $OpenBSD: ncr53cxxx.c,v 1.6 2004/03/12 00:04:57 miod Exp $ */
/* $NetBSD: ncr53cxxx.c,v 1.10 2002/04/21 22:40:10 bouyer Exp $ */
/*
@@ -415,7 +415,7 @@ main (int argc, char *argv[])
if (outfp) {
time_t cur_time;
- fprintf(outfp, "/*\t$NetBSD: ncr53cxxx.c,v 1.10 2002/04/21 22:40:10 bouyer Exp $\t*/\n");
+ fprintf(outfp, "/*\t$OpenBSD: ncr53cxxx.c,v 1.6 2004/03/12 00:04:57 miod Exp $\t*/\n");
fprintf(outfp, "/*\n");
fprintf(outfp, " *\tDO NOT EDIT - this file is automatically generated.\n");
time(&cur_time);
@@ -1046,10 +1046,12 @@ void f_wait (void)
errout ("Expected SELECT or RESELECT");
++i;
if (reserved ("rel", i)) {
+#if 0 /* XXX driver will fix relative dsps to absolute */
if (arch < ARCH710) {
errout ("Wrong arch for relative dsps");
return;
}
+#endif
i += 2;
inst1 = evaluate (i) - dsps - 8;
inst0 |= 0x04000000;
@@ -1157,10 +1159,12 @@ void transfer (int word0, int type)
i = tokenix;
inst0 = word0;
if (type == 0 && reserved ("rel", i)) {
+#if 0 /* XXX driver will fix relative dsps to absolute */
if (arch < ARCH710) {
errout ("Wrong arch for relative dsps");
return;
}
+#endif
inst1 = evaluate (i + 2) - dsps - 8;
i += 4;
inst0 |= 0x00800000;
@@ -1244,10 +1248,12 @@ void select_reselect (int t)
inst0 |= (evaluate (t++) & 0xff) << 16;
if (tokens[t++].type == ',') {
if (reserved ("rel", t)) {
+#if 0 /* XXX driver will fix relative dsps to absolute */
if (arch < ARCH710) {
errout ("Wrong arch for relative dsps");
return;
}
+#endif
inst0 |= 0x04000000;
inst1 = evaluate (t + 2) - dsps - 8;
}