diff options
| author | 2001-04-15 06:01:28 +0000 | |
|---|---|---|
| committer | 2001-04-15 06:01:28 +0000 | |
| commit | ebc5123d9dad640cf018972880af9acb561fa129 (patch) | |
| tree | b56aacf1beaa0a5af880990074668bfed7ee1082 /sys/dev/microcode | |
| parent | Prettier 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.out | 56 | ||||
| -rw-r--r-- | sys/dev/microcode/siop/siop.ss | 19 |
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); |
