summaryrefslogtreecommitdiffstats
path: root/sys/dev/microcode
diff options
context:
space:
mode:
authorkrw <krw@openbsd.org>2001-04-15 06:01:28 +0000
committerkrw <krw@openbsd.org>2001-04-15 06:01:28 +0000
commitebc5123d9dad640cf018972880af9acb561fa129 (patch)
treeb56aacf1beaa0a5af880990074668bfed7ee1082 /sys/dev/microcode
parentPrettier printing of cpu models and more models. (diff)
Support U160 on 53c1010 chips.
Add support for PPR negotiations and DT transfers, and the preservation and restoration of the SCNTL4 register which controls Ultra3 transfers. Redo sync lookup, since the same period factor can mean two things depending on whether you are using DT or ST. Keep a minimum allowed ST period factor, and a minimum allowd DT period factor for each adapter. Currently NO support for QAS or IUS or AIP.
Diffstat (limited to 'sys/dev/microcode')
-rw-r--r--sys/dev/microcode/siop/siop.out56
-rw-r--r--sys/dev/microcode/siop/siop.ss19
2 files changed, 38 insertions, 37 deletions
diff --git a/sys/dev/microcode/siop/siop.out b/sys/dev/microcode/siop/siop.out
index 04f97fd382d..810d6feb4bd 100644
--- a/sys/dev/microcode/siop/siop.out
+++ b/sys/dev/microcode/siop/siop.out
@@ -1,8 +1,7 @@
-/* $OpenBSD: siop.out,v 1.1 2001/02/15 04:07:59 krw Exp $ */
-/* $NetBSD: siop.out,v 1.11 2000/10/23 14:54:50 bouyer Exp $ */
+/* $NetBSD: ncr53cxxx.c,v 1.5 2000/10/23 14:51:51 bouyer Exp $ */
/*
* DO NOT EDIT - this file is automatically generated.
- * created from siop.ss on Mon Oct 23 16:54:27 2000
+ * created from siop.ss on Tue Mar 27 13:58:43 2001
*/
const u_int32_t siop_script[] = {
0x78340000, 0x00000000, /* 000 - 0 */
@@ -104,7 +103,7 @@ const u_int32_t siop_script[] = {
0x60000040, 0x00000000, /* 300 - 768 */
0x7a340100, 0x00000000, /* 308 - 776 */
0x60000008, 0x00000000, /* 310 - 784 */
- 0x1f000020, 0x00000020, /* 318 - 792 */
+ 0x1f000030, 0x00000030, /* 318 - 792 */
0x808c0000, 0x00000218, /* 320 - 800 */
0x808c0002, 0xffffffd0, /* 328 - 808 */
0x808c0001, 0x00000218, /* 330 - 816 */
@@ -119,16 +118,16 @@ const u_int32_t siop_script[] = {
0x80880000, 0xfffffca0, /* 378 - 888 */
0x58000008, 0x00000000, /* 380 - 896 */
0x60000040, 0x00000000, /* 388 - 904 */
- 0x1e000038, 0x00000038, /* 390 - 912 */
+ 0x1e000048, 0x00000048, /* 390 - 912 */
0x60000008, 0x00000000, /* 398 - 920 */
0x80880000, 0xfffffc78, /* 3a0 - 928 */
- 0x1a000040, 0x00000040, /* 3a8 - 936 */
+ 0x1a000050, 0x00000050, /* 3a8 - 936 */
0x80880000, 0xfffffc68, /* 3b0 - 944 */
- 0x1b000048, 0x00000048, /* 3b8 - 952 */
+ 0x1b000058, 0x00000058, /* 3b8 - 952 */
0x80880000, 0xfffffc58, /* 3c0 - 960 */
0x88880000, 0x000000b8, /* 3c8 - 968 */
0x7a340200, 0x00000000, /* 3d0 - 976 */
- 0x19000050, 0x00000050, /* 3d8 - 984 */
+ 0x19000060, 0x00000060, /* 3d8 - 984 */
0x7e350100, 0x00000000, /* 3e0 - 992 */
0x7e100800, 0x00000000, /* 3e8 - 1000 */
0x7f110000, 0x00000000, /* 3f0 - 1008 */
@@ -140,7 +139,7 @@ const u_int32_t siop_script[] = {
0x80880000, 0xfffffbf8, /* 420 - 1056 */
0x88880000, 0x00000058, /* 428 - 1064 */
0x7a340200, 0x00000000, /* 430 - 1072 */
- 0x18000050, 0x00000050, /* 438 - 1080 */
+ 0x18000060, 0x00000060, /* 438 - 1080 */
0x7e350100, 0x00000000, /* 440 - 1088 */
0x7e100800, 0x00000000, /* 448 - 1096 */
0x7f110000, 0x00000000, /* 450 - 1104 */
@@ -176,10 +175,10 @@ const u_int32_t siop_script[] = {
0x88880000, 0xffffffd0, /* 540 - 1344 */
0x98080000, 0x0000ff00, /* 548 - 1352 */
0x60000040, 0x00000000, /* 550 - 1360 */
- 0x1f000028, 0x00000028, /* 558 - 1368 */
+ 0x1f000038, 0x00000038, /* 558 - 1368 */
0x98080000, 0x0000ff02, /* 560 - 1376 */
0x60000040, 0x00000000, /* 568 - 1384 */
- 0x1f000030, 0x00000030, /* 570 - 1392 */
+ 0x1f000040, 0x00000040, /* 570 - 1392 */
0x98080000, 0x0000ff03, /* 578 - 1400 */
0x10000000, 0x00000000, /* 580 - 1408 */
};
@@ -187,10 +186,11 @@ const u_int32_t siop_script[] = {
const u_int32_t lun_switch[] = {
0x7803ff00, 0x00000000, /* 000 - 0 */
0x7805ff00, 0x00000000, /* 008 - 8 */
- 0x80080000, 0x00000000, /* 010 - 16 */
- 0x88880000, 0xffffffe0, /* 018 - 24 */
- 0x72350000, 0x00000000, /* 020 - 32 */
- 0x98080000, 0x0000ff81, /* 028 - 40 */
+ 0x7808ff00, 0x00000000, /* 010 - 16 */
+ 0x80080000, 0x00000000, /* 018 - 24 */
+ 0x88880000, 0xffffffd8, /* 020 - 32 */
+ 0x72350000, 0x00000000, /* 028 - 40 */
+ 0x98080000, 0x0000ff81, /* 030 - 48 */
};
const u_int32_t tag_switch[] = {
@@ -223,20 +223,20 @@ const u_int32_t load_dsa[] = {
0x88880000, 0xffffffd0, /* 028 - 40 */
0x80080000, 0x00000000, /* 030 - 48 */
0x88880000, 0xffffffc0, /* 038 - 56 */
- 0x43000018, 0x00000000, /* 040 - 64 */
+ 0x43000028, 0x00000000, /* 040 - 64 */
0xc0000004, 0x00000000, 0x00000000, /* 048 - 72 */
0x80080000, 0x00000000, /* 054 - 84 */
0x10000000, 0x00000000, /* 05c - 92 */
};
-#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_msg_out 0x00000038
-#define A_t_cmd 0x00000040
-#define A_t_status 0x00000048
-#define A_t_data 0x00000050
+#define A_t_id 0x00000028
+#define A_t_msg_in 0x00000030
+#define A_t_ext_msg_in 0x00000038
+#define A_t_ext_msg_data 0x00000040
+#define A_t_msg_out 0x00000048
+#define A_t_cmd 0x00000050
+#define A_t_status 0x00000058
+#define A_t_data 0x00000060
#define A_int_done 0x0000ff00
#define A_int_msgin 0x0000ff01
#define A_int_extmsgin 0x0000ff02
@@ -340,12 +340,12 @@ u_int32_t E_abs_msgin_Used[] = {
0x000000b9,
};
-#define Ent_lun_switch_entry 0x00000018
-#define Ent_resel_lun0 0x00000028
+#define Ent_lun_switch_entry 0x00000020
+#define Ent_resel_lun0 0x00000030
#define Ent_restore_scntl3 0x00000000
#define E_abs_lunsw_return 0x00000000
u_int32_t E_abs_lunsw_return_Used[] = {
- 0x00000005,
+ 0x00000007,
};
#define Ent_tag_switch_entry 0x00000000
@@ -403,5 +403,5 @@ u_int32_t E_ldsa_abs_slot_Used[] = {
};
-u_int32_t INSTRUCTIONS = 0x000000d5;
+u_int32_t INSTRUCTIONS = 0x000000d6;
u_int32_t PATCHES = 0x00000000;
diff --git a/sys/dev/microcode/siop/siop.ss b/sys/dev/microcode/siop/siop.ss
index acf214e893f..a33543ab2af 100644
--- a/sys/dev/microcode/siop/siop.ss
+++ b/sys/dev/microcode/siop/siop.ss
@@ -1,4 +1,4 @@
-; $OpenBSD: siop.ss,v 1.2 2001/03/01 17:14:27 krw Exp $
+; $OpenBSD: siop.ss,v 1.3 2001/04/15 06:01:32 krw Exp $
; $NetBSD: siop.ss,v 1.12 2000/10/23 14:53:53 bouyer Exp $
;
@@ -32,14 +32,14 @@
ARCH 720
; offsets in sym_xfer
-ABSOLUTE t_id = 24;
-ABSOLUTE t_msg_in = 32;
-ABSOLUTE t_ext_msg_in = 40;
-ABSOLUTE t_ext_msg_data = 48;
-ABSOLUTE t_msg_out = 56;
-ABSOLUTE t_cmd = 64;
-ABSOLUTE t_status = 72;
-ABSOLUTE t_data = 80;
+ABSOLUTE t_id = 40;
+ABSOLUTE t_msg_in = 48;
+ABSOLUTE t_ext_msg_in = 56;
+ABSOLUTE t_ext_msg_data = 64;
+ABSOLUTE t_msg_out = 72;
+ABSOLUTE t_cmd = 80;
+ABSOLUTE t_status = 88;
+ABSOLUTE t_data = 96;
;; interrupt codes
; interrupts that need a valid DSA
@@ -354,6 +354,7 @@ PROC lun_switch:
restore_scntl3:
MOVE 0xff TO SCNTL3;
MOVE 0xff TO SXFER;
+ MOVE 0xff TO SFBR;
JUMP abs_lunsw_return;
lun_switch_entry:
CALL REL(restore_scntl3);