summaryrefslogtreecommitdiff
path: root/sys/dev/microcode/aic7xxx/aic79xx.reg
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/microcode/aic7xxx/aic79xx.reg')
-rw-r--r--sys/dev/microcode/aic7xxx/aic79xx.reg74
1 files changed, 45 insertions, 29 deletions
diff --git a/sys/dev/microcode/aic7xxx/aic79xx.reg b/sys/dev/microcode/aic7xxx/aic79xx.reg
index cf6cfbda8a6..5732b28f86c 100644
--- a/sys/dev/microcode/aic7xxx/aic79xx.reg
+++ b/sys/dev/microcode/aic7xxx/aic79xx.reg
@@ -1,6 +1,4 @@
-/* $OpenBSD: aic79xx.reg,v 1.2 2003/12/24 23:27:55 krw Exp $ */
-/* $NetBSD: aic79xx.reg,v 1.8 2003/08/29 03:45:59 thorpej Exp $ */
-
+/* $OpenBSD: aic79xx.reg,v 1.3 2004/05/19 00:35:18 krw Exp $ */
/*
* Aic79xx register and scratch ram definitions.
*
@@ -40,9 +38,9 @@
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES.
*
- * $FreeBSD: src/sys/dev/aic7xxx/aic79xx.reg,v 1.15 2003/06/10 03:25:24 gibbs Exp $
+ * $FreeBSD: /repoman/r/ncvs/src/sys/dev/aic7xxx/aic79xx.reg,v 1.17 2004/05/11 20:46:05 gibbs Exp $
*/
-VERSION = "Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#70 $"
+VERSION = "$Id: aic79xx.reg,v 1.3 2004/05/19 00:35:18 krw Exp $"
/*
* This file is processed by the aic7xxx_asm utility for use in assembling
@@ -68,13 +66,6 @@ VERSION = "Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#70 $"
mvi MODE_PTR, MK_MODE(src, dst); \
}
-#define TOGGLE_DFF_MODE \
- if ((ahd->bugs & AHD_SET_MODE_BUG) != 0) { \
- call toggle_dff_mode_work_around; \
- } else { \
- xor MODE_PTR, MK_MODE(M_DFF1, M_DFF1); \
- }
-
#define RESTORE_MODE(mode) \
if ((ahd->bugs & AHD_SET_MODE_BUG) != 0) { \
mov mode call set_mode_work_around; \
@@ -3545,10 +3536,34 @@ scratch_ram {
COMPLETE_DMA_SCB_HEAD {
size 2
}
- /* Counting semaphore to prevent new select-outs */
+ /*
+ * tail of list of SCBs that have
+ * completed but need to be uploaded
+ * to the host prior to being completed.
+ */
+ COMPLETE_DMA_SCB_TAIL {
+ size 2
+ }
+ /*
+ * head of list of SCBs that have
+ * been uploaded to the host, but cannot
+ * be completed until the QFREEZE is in
+ * full effect (i.e. no selections pending).
+ */
+ COMPLETE_ON_QFREEZE_HEAD {
+ size 2
+ }
+ /*
+ * Counting semaphore to prevent new select-outs
+ * The queue is frozen so long as the sequencer
+ * and kernel freeze counts differ.
+ */
QFREEZE_COUNT {
size 2
}
+ KERNEL_QFREEZE_COUNT {
+ size 2
+ }
/*
* Mode to restore on legacy idle loop exit.
*/
@@ -3628,6 +3643,17 @@ scratch_ram {
size 1
}
/*
+ * Kernel and sequencer offsets into the queue of
+ * incoming target mode command descriptors. The
+ * queue is full when the KERNEL_TQINPOS == TQINPOS.
+ */
+ KERNEL_TQINPOS {
+ size 1
+ }
+ TQINPOS {
+ size 1
+ }
+ /*
* Base address of our shared data with the kernel driver in host
* memory. This includes the qoutfifo and target mode
* incoming command queue.
@@ -3642,17 +3668,6 @@ scratch_ram {
QOUTFIFO_NEXT_ADDR {
size 4
}
- /*
- * Kernel and sequencer offsets into the queue of
- * incoming target mode command descriptors. The
- * queue is full when the KERNEL_TQINPOS == TQINPOS.
- */
- KERNEL_TQINPOS {
- size 1
- }
- TQINPOS {
- size 1
- }
ARG_1 {
size 1
mask SEND_MSG 0x80
@@ -3829,14 +3844,14 @@ scb {
SCB_TASK_ATTRIBUTE {
size 1
/*
- * Overloaded field for non-packetized
+ * Overloaded field for non-packetized
* ignore wide residue message handling.
*/
field SCB_XFERLEN_ODD 0x01
}
SCB_CDB_LEN {
size 1
- field SCB_CDB_LEN_PTR 0x80 /* CDB in host memory */
+ field SCB_CDB_LEN_PTR 0x80 /* CDB in host memory */
}
SCB_TASK_MANAGEMENT {
size 1
@@ -3855,9 +3870,9 @@ scb {
}
SCB_SGPTR {
size 4
- field SG_STATUS_VALID 0x04 /* In the first byte */
- field SG_FULL_RESID 0x02 /* In the first byte */
- field SG_LIST_NULL 0x01 /* In the first byte */
+ field SG_STATUS_VALID 0x04 /* In the first byte */
+ field SG_FULL_RESID 0x02 /* In the first byte */
+ field SG_LIST_NULL 0x01 /* In the first byte */
}
SCB_BUSADDR {
size 4
@@ -3954,6 +3969,7 @@ const SG_PREFETCH_ADDR_MASK download
const SG_SIZEOF download
const PKT_OVERRUN_BUFOFFSET download
const SCB_TRANSFER_SIZE download
+const CACHELINE_MASK download
/*
* BIOS SCB offsets