diff options
author | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
---|---|---|
committer | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
commit | e611b132f9b8abe35b362e5870b74bce94a1e58e (patch) | |
tree | a5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/ntos/miniport/symbios/symc810/symscam.h | |
download | NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2 NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip |
Diffstat (limited to '')
-rw-r--r-- | private/ntos/miniport/symbios/symc810/symscam.h | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/private/ntos/miniport/symbios/symc810/symscam.h b/private/ntos/miniport/symbios/symc810/symscam.h new file mode 100644 index 000000000..2b65c33d3 --- /dev/null +++ b/private/ntos/miniport/symbios/symc810/symscam.h @@ -0,0 +1,107 @@ +/************************************************************************ +* * +* Copyright 1994 Symbios Logic Inc. All rights reserved. * +* * +* This file is confidential and a trade secret of Symbios Logic Inc. * +* The receipt of or possession of this file does not convey any * +* rights to reproduce or disclose its contents or to manufacture, * +* use, or sell anything is may describe, in whole, or in part, * +* without the specific written consent of Symbios Logic Inc. * +* * +************************************************************************/ + +/*+++HDR + * + * Version History + * --------------- + * + * Date Who? Description + * -------- ---- ------------------------------------------------------- + * + * +---*/ + + +#ifndef _SYMSCAM_ +#define _SYMSCAM_ + + + + + +/************************/ +/* SCAM data structures */ +/************************/ + +/* TC1_TC2_VENDOR__VENDOR_UNIQUE________ */ +static CHAR our_scam_id_str[]= {"\045\007SYM SDMS SCAMCore - Alpha"}; + +typedef struct _SIOP_REG_STORE { // storage to save/restore SIOP state + UCHAR reg_st[21]; // used by AdapterState and SCAM + ULONG long_st; +} SIOP_REG_STORE, *PSIOP_REG_STORE; + +/************************/ +/* SCAM definitions */ +/************************/ + +#define Ent_fragmovefirstin 0 +#define Ent_fragmovelastin 8 +#define INSTRUCT 1 +#define ISOLATED 0 +#define NOBODY_HOME -1 + +#define QUINTET_MASK 0x1F +#define SCAM_SYNC 0x1F +#define SCAM_ASSIGN_ID 0x00 +#define SCAM_SET_PRIO 0x01 +#define SCAM_SET_ID_00 0x18 +#define SCAM_SET_ID_01 0x11 +#define SCAM_SET_ID_10 0x12 +#define SCAM_SET_ID_11 0x0B + +#define ASSIGNABLE_ID 0x80 +#define DEFER 0x01 +#define STOP 0x02 + +#define SCAM_ID_STRLEN 0x20 +#define SCAM_DEFERRED -1 +#define SCAM_TERMINATED -2 + +#define MSG_NOOP 0x08 +#define MSG_RESET 0x0C + +#define ARB_IN_PROGRESS 0x10 +#define CONNECTED 0x08 + +/* Timer value for HTH/SEL/GEN timers for short timeout */ +/* 0x05 is 1.6mS which is comfortably between the 1 & 4 */ +/* mS times for SCAM tolerant vs SCAM compliant. */ +#define SHORT_720_STO 0x05 +#define DISABLE_720_STO 0x00 + +#define IO 0x01 +#define CD 0x02 +#define MSG 0x04 +#define ATN 0x08 +#define SEL 0x10 +#define BSY 0x20 +#define ACK 0x40 +#define REQ 0x80 + +/* SBCL phases */ +#define PHASE_MASK (MSG & CD & IO) +#define DATA__OUT (~MSG & ~CD & ~IO) +#define DATA__IN (~MSG & ~CD & IO) +#define COMMAND (~MSG & CD & ~IO) +#define STATUS (~MSG & CD & IO) +#define MESSAGE_OUT (MSG & CD & ~IO) +#define MESSAGE_IN (MSG & CD & IO) +#define PHASE (READ_SIOP_UCHAR(SBCL) & PHASE_MASK) + +#define DB5 0x20 +#define DB6 0x40 +#define DB7 0x80 + +#endif + |