Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/microcode/siop Add a flag hold in scratcha0, set whe...



details:   https://anonhg.NetBSD.org/src/rev/4fe8a19be724
branches:  trunk
changeset: 485743:4fe8a19be724
user:      bouyer <bouyer%NetBSD.org@localhost>
date:      Thu May 04 15:42:42 2000 +0000

description:
Add a flag hold in scratcha0, set when we're doing a data transfer. Used
for save data pointers.

diffstat:

 sys/dev/microcode/siop/siop.out |  42 ++++++++++++++++++++--------------------
 sys/dev/microcode/siop/siop.ss  |  26 +++++++++++++++---------
 2 files changed, 37 insertions(+), 31 deletions(-)

diffs (179 lines):

diff -r 04243e22e906 -r 4fe8a19be724 sys/dev/microcode/siop/siop.out
--- a/sys/dev/microcode/siop/siop.out   Thu May 04 14:12:13 2000 +0000
+++ b/sys/dev/microcode/siop/siop.out   Thu May 04 15:42:42 2000 +0000
@@ -1,7 +1,7 @@
-/*     $NetBSD: siop.out,v 1.2 2000/04/25 16:27:06 bouyer Exp $        */
+/*     $NetBSD: siop.out,v 1.3 2000/05/04 15:42:42 bouyer Exp $        */
 /*
  *     DO NOT EDIT - this file is automatically generated.
- *     created from siop.ss on Mon Apr 24 16:52:43 2000
+ *     created from siop.ss on Thu May  4 11:20:07 2000
  */
 const u_int32_t siop_script[] = {
        0x78340000, 0x00000000,                 /* 000 -   0 */
@@ -17,14 +17,14 @@
        0x740a8f00, 0x00000000,                 /* 050 -  80 */
        0x6a340000, 0x00000000,                 /* 058 -  88 */
        0x9f030000, 0x0000ffff,                 /* 060 -  96 */
-       0x1f00001c, 0x0000001c,                 /* 068 - 104 */
+       0x1f000020, 0x00000020,                 /* 068 - 104 */
        0x60000040, 0x00000000,                 /* 070 - 112 */
        0x98080000, 0x0000ff04,                 /* 078 - 120 */
        0x741a4000, 0x00000000,                 /* 080 - 128 */
        0x980c0000, 0x0000ff06,                 /* 088 - 136 */
        0x80880000, 0x00000280,                 /* 090 - 144 */
        0x60000008, 0x00000000,                 /* 098 - 152 */
-       0x1f00001c, 0x0000001c,                 /* 0a0 - 160 */
+       0x1f000020, 0x00000020,                 /* 0a0 - 160 */
        0x808c0004, 0x000001d0,                 /* 0a8 - 168 */
        0x808c0000, 0x000001f8,                 /* 0b0 - 176 */
        0x808c0002, 0x00000200,                 /* 0b8 - 184 */
@@ -34,15 +34,15 @@
        0x80880000, 0xffffff30,                 /* 0d8 - 216 */
        0x58000008, 0x00000000,                 /* 0e0 - 224 */
        0x60000040, 0x00000000,                 /* 0e8 - 232 */
-       0x1e00003c, 0x0000003c,                 /* 0f0 - 240 */
+       0x1e000040, 0x00000040,                 /* 0f0 - 240 */
        0x60000008, 0x00000000,                 /* 0f8 - 248 */
        0x80880000, 0xffffff08,                 /* 100 - 256 */
-       0x1a000044, 0x00000044,                 /* 108 - 264 */
+       0x1a000048, 0x00000048,                 /* 108 - 264 */
        0x80880000, 0xfffffef8,                 /* 110 - 272 */
-       0x1b00004c, 0x0000004c,                 /* 118 - 280 */
+       0x1b000050, 0x00000050,                 /* 118 - 280 */
        0x80880000, 0xfffffee8,                 /* 120 - 288 */
        0x88880000, 0x00000098,                 /* 128 - 296 */
-       0x19000054, 0x00000054,                 /* 130 - 304 */
+       0x19000058, 0x00000058,                 /* 130 - 304 */
        0x7e350100, 0x00000000,                 /* 138 - 312 */
        0x7e100800, 0x00000000,                 /* 140 - 320 */
        0x7f110000, 0x00000000,                 /* 148 - 328 */
@@ -52,7 +52,7 @@
        0x88880000, 0x000000a0,                 /* 168 - 360 */
        0x80880000, 0xfffffe98,                 /* 170 - 368 */
        0x88880000, 0x00000048,                 /* 178 - 376 */
-       0x18000054, 0x00000054,                 /* 180 - 384 */
+       0x18000058, 0x00000058,                 /* 180 - 384 */
        0x7e350100, 0x00000000,                 /* 188 - 392 */
        0x7e100800, 0x00000000,                 /* 190 - 400 */
        0x7f110000, 0x00000000,                 /* 198 - 408 */
@@ -97,11 +97,11 @@
        0x80880000, 0xfffffdc0,                 /* 2d0 - 720 */
        0x60000040, 0x00000000,                 /* 2d8 - 728 */
        0x9f020000, 0x0000ffff,                 /* 2e0 - 736 */
-       0x1f000024, 0x00000024,                 /* 2e8 - 744 */
+       0x1f000028, 0x00000028,                 /* 2e8 - 744 */
        0x98080000, 0x0000ff02,                 /* 2f0 - 752 */
        0x60000040, 0x00000000,                 /* 2f8 - 760 */
        0x9f020000, 0x0000ffff,                 /* 300 - 768 */
-       0x1f00002c, 0x0000002c,                 /* 308 - 776 */
+       0x1f000030, 0x00000030,                 /* 308 - 776 */
        0x98080000, 0x0000ff03,                 /* 310 - 784 */
        0x10000000, 0x00000000,                 /* 318 - 792 */
 };
@@ -112,7 +112,7 @@
        0x78110100, 0x00000000,                 /* 010 -  16 */
        0x78120200, 0x00000000,                 /* 018 -  24 */
        0x78130300, 0x00000000,                 /* 020 -  32 */
-       0x43000014, 0x00000000,                 /* 028 -  40 */
+       0x43000018, 0x00000000,                 /* 028 -  40 */
        0xc0000004, 0x00000000, 0x00000000,     /* 030 -  48 */
        0x80080000, 0x00000000,                 /* 03c -  60 */
        0x10000000, 0x00000000,                 /* 044 -  68 */
@@ -123,15 +123,15 @@
        0x80080000, 0x00000000,                 /* 000 -   0 */
 };
 
-#define        A_t_id  0x00000014
-#define        A_t_msg_in      0x0000001c
-#define        A_t_ext_msg_in  0x00000024
-#define        A_t_ext_msg_data        0x0000002c
-#define        A_t_ext_msg_tag 0x00000034
-#define        A_t_msg_out     0x0000003c
-#define        A_t_cmd 0x00000044
-#define        A_t_status      0x0000004c
-#define        A_t_data        0x00000054
+#define        A_t_id  0x00000018
+#define        A_t_msg_in      0x00000020
+#define        A_t_ext_msg_in  0x00000028
+#define        A_t_ext_msg_data        0x00000030
+#define        A_t_ext_msg_tag 0x00000038
+#define        A_t_msg_out     0x00000040
+#define        A_t_cmd 0x00000048
+#define        A_t_status      0x00000050
+#define        A_t_data        0x00000058
 #define        A_int_done      0x0000ff00
 #define        A_int_msgin     0x0000ff01
 #define        A_int_extmsgin  0x0000ff02
diff -r 04243e22e906 -r 4fe8a19be724 sys/dev/microcode/siop/siop.ss
--- a/sys/dev/microcode/siop/siop.ss    Thu May 04 14:12:13 2000 +0000
+++ b/sys/dev/microcode/siop/siop.ss    Thu May 04 15:42:42 2000 +0000
@@ -1,4 +1,4 @@
-;      $NetBSD: siop.ss,v 1.3 2000/04/27 14:08:09 bouyer Exp $
+;      $NetBSD: siop.ss,v 1.4 2000/05/04 15:42:42 bouyer Exp $
 
 ;
 ;  Copyright (c) 2000 Manuel Bouyer.
@@ -32,15 +32,15 @@
 ARCH 720
 
 ; offsets in sym_xfer
-ABSOLUTE t_id = 20;
-ABSOLUTE t_msg_in = 28;
-ABSOLUTE t_ext_msg_in = 36;
-ABSOLUTE t_ext_msg_data = 44;
-ABSOLUTE t_ext_msg_tag = 52;
-ABSOLUTE t_msg_out = 60;
-ABSOLUTE t_cmd = 68;
-ABSOLUTE t_status = 76;
-ABSOLUTE t_data = 84;
+ABSOLUTE t_id = 24;
+ABSOLUTE t_msg_in = 32;
+ABSOLUTE t_ext_msg_in = 40;
+ABSOLUTE t_ext_msg_data = 48;
+ABSOLUTE t_ext_msg_tag = 56;
+ABSOLUTE t_msg_out = 64;
+ABSOLUTE t_cmd = 72;
+ABSOLUTE t_status = 80;
+ABSOLUTE t_data = 88;
 
 ;; interrupt codes
 ABSOLUTE int_done      = 0xff00;
@@ -55,6 +55,8 @@
 
 ; flags for scratcha0
 ABSOLUTE flag_sdp      = 0x01 ; got save data pointer
+ABSOLUTE flag_data     = 0x02 ; we're in data phase
+ABSOLUTE flag_data_mask        = 0xfd ; ~flag_data
 
 ENTRY waitphase;
 ENTRY send_msgout;
@@ -145,6 +147,7 @@
        JUMP REL(waitphase);
 datain:
        CALL REL(savedsa);
+       MOVE SCRATCHA0 | flag_data TO SCRATCHA0;
 datain_loop:
        MOVE FROM t_data, WHEN DATA_IN;
        MOVE SCRATCHA1 + 1 TO SCRATCHA1 ; adjust offset
@@ -154,10 +157,12 @@
        MOVE DSA3 + 0 to DSA3 WITH CARRY;
        JUMP REL(datain_loop), WHEN DATA_IN;
        CALL REL(restoredsa);
+       MOVE SCRATCHA0 & flag_data_mask TO SCRATCHA0;
        JUMP REL(waitphase);
 
 dataout:
        CALL REL(savedsa);
+       MOVE SCRATCHA0 | flag_data TO SCRATCHA0;
 dataout_loop:
        MOVE FROM t_data, WHEN DATA_OUT;
        MOVE SCRATCHA1 + 1 TO SCRATCHA1 ; adjust offset
@@ -167,6 +172,7 @@
        MOVE DSA3 + 0 to DSA3 WITH CARRY;
        JUMP REL(dataout_loop), WHEN DATA_OUT;
        CALL REL(restoredsa);
+       MOVE SCRATCHA0 & flag_data_mask TO SCRATCHA0;
        JUMP REL(waitphase);
 
 savedsa:



Home | Main Index | Thread Index | Old Index