summaryrefslogtreecommitdiffstats
path: root/private/ntos/miniport/symbios/symc810/symscam.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--private/ntos/miniport/symbios/symc810/symscam.h107
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
+