diff options
Diffstat (limited to 'sys/dev/microcode')
| -rw-r--r-- | sys/dev/microcode/siop/ncr53cxxx.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/sys/dev/microcode/siop/ncr53cxxx.c b/sys/dev/microcode/siop/ncr53cxxx.c index f3ace959ef3..10519645e63 100644 --- a/sys/dev/microcode/siop/ncr53cxxx.c +++ b/sys/dev/microcode/siop/ncr53cxxx.c @@ -1,4 +1,4 @@ -/* $NetBSD: ncr53cxxx.c,v 1.1 2000/04/21 17:50:07 bouyer Exp $ */ +/* $NetBSD: ncr53cxxx.c,v 1.2 2000/04/25 16:01:16 bouyer Exp $ */ /* * Copyright (c) 1995,1999 Michael L. Hitch @@ -69,6 +69,7 @@ void f_set (void); void f_clear (void); void f_load (void); void f_store (void); +void f_nop (void); void f_arch (void); struct { @@ -95,6 +96,7 @@ struct { {"CLEAR", f_clear}, {"LOAD", f_load}, {"STORE", f_store}, + {"NOP", f_nop}, {"ARCH", f_arch}, {NULL, NULL}}; @@ -413,7 +415,7 @@ main (int argc, char *argv[]) if (outfp) { time_t cur_time; - fprintf(outfp, "/*\t$NetBSD: ncr53cxxx.c,v 1.1 2000/04/21 17:50:07 bouyer Exp $\t*/\n"); + fprintf(outfp, "/*\t$NetBSD: ncr53cxxx.c,v 1.2 2000/04/25 16:01:16 bouyer Exp $\t*/\n"); fprintf(outfp, "/*\n"); fprintf(outfp, " *\tDO NOT EDIT - this file is automatically generated.\n"); time(&cur_time); @@ -1054,6 +1056,13 @@ void f_store (void) loadstore(i); } +void f_nop (void) +{ + inst0 = 0x10000000; + inst1 = 0x00000000; + store_inst (); +} + void loadstore(int i) { int reg, size; @@ -1335,7 +1344,13 @@ void memory_to_memory () { inst0 = 0xc0000000 + evaluate (tokenix+1); inst1 = evaluate (tokenix+3); + /* + * need to hack dsps, otherwise patch offset will be wrong for + * second pointer + */ + dsps += 4; inst2 = evaluate (tokenix+5); + dsps -= 4; } void error_line() |
