patch-2.1.125 linux/drivers/scsi/aic7xxx/sequencer.h
Next file: linux/drivers/scsi/aic7xxx.c
Previous file: linux/drivers/scsi/aic7xxx/bsd_q.h
Back to the patch index
Back to the overall index
- Lines: 83
- Date:
Thu Oct 8 08:07:33 1998
- Orig file:
v2.1.124/linux/drivers/scsi/aic7xxx/sequencer.h
- Orig date:
Tue Apr 14 14:29:21 1998
diff -u --recursive --new-file v2.1.124/linux/drivers/scsi/aic7xxx/sequencer.h linux/drivers/scsi/aic7xxx/sequencer.h
@@ -2,7 +2,7 @@
* Instruction formats for the sequencer program downloaded to
* Aic7xxx SCSI host adapters
*
- * Copyright (c) 1997 Justin T. Gibbs.
+ * Copyright (c) 1997, 1998 Justin T. Gibbs.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -37,42 +37,44 @@
*/
struct ins_format1 {
- unsigned char immediate;
- unsigned char source;
- unsigned char destination;
- unsigned char opcode_ret;
-#define DOWNLOAD_CONST_IMMEDIATE 0x80
+ unsigned int immediate : 8,
+ source : 9,
+ destination : 9,
+ ret : 1,
+ opcode : 4,
+ parity : 1;
};
struct ins_format2 {
- unsigned char shift_control;
- unsigned char source;
- unsigned char destination;
- unsigned char opcode_ret;
-#define RETURN_BIT 0x01
+ unsigned int shift_control : 8,
+ source : 9,
+ destination : 9,
+ ret : 1,
+ opcode : 4,
+ parity : 1;
};
struct ins_format3 {
- unsigned char immediate;
- unsigned char source;
- unsigned char address;
- unsigned char opcode_addr;
-#define ADDR_HIGH_BIT 0x01
+ unsigned int immediate : 8,
+ source : 9,
+ address : 10,
+ opcode : 4,
+ parity : 1;
};
-#ifndef __KERNEL__
-struct instruction {
- union {
+union ins_formats {
struct ins_format1 format1;
struct ins_format2 format2;
struct ins_format3 format3;
unsigned char bytes[4];
- } format;
- u_int srcline;
+ unsigned int integer;
+};
+struct instruction {
+ union ins_formats format;
+ unsigned int srcline;
struct symbol *patch_label;
STAILQ_ENTRY(instruction) links;
};
-#endif
#define AIC_OP_OR 0x0
#define AIC_OP_AND 0x1
@@ -80,6 +82,7 @@
#define AIC_OP_ADD 0x3
#define AIC_OP_ADC 0x4
#define AIC_OP_ROL 0x5
+#define AIC_OP_BMOV 0x6
#define AIC_OP_JMP 0x8
#define AIC_OP_JC 0x9
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov