summaryrefslogtreecommitdiffstats
path: root/sys/dev/aic7xxx/aic7xxx.reg
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>1999-01-14 06:14:15 +0000
committergibbs <gibbs@FreeBSD.org>1999-01-14 06:14:15 +0000
commitb0bf7fe0ffc8c67f71b47dbcce97e589f7a925e3 (patch)
treec1d8ff4c7c13731bc2b4ff206d30fbe777b0a02f /sys/dev/aic7xxx/aic7xxx.reg
parenteec3d5cfc887b77bd68687cd2cd39b51e2068162 (diff)
downloadFreeBSD-src-b0bf7fe0ffc8c67f71b47dbcce97e589f7a925e3.zip
FreeBSD-src-b0bf7fe0ffc8c67f71b47dbcce97e589f7a925e3.tar.gz
Add support for routing initiator transactions to disabled luns to the
black hole device. The controller will now only accept selections if the black hole device is present and some other target/lun is enabled for target mode. Handle the IGNORE WIDE RESIDUE message. This support has not been tested. Checkpoint work on handling ABORT, BUS DEVICE RESET, TERMINATE I/O PROCESS, and CLEAR QUEUE messages as a target. Fix a few problems with tagged command handling in target mode. Wait until the sync offset counter falls to 0 before changing phase after a data-in transfer completes as the DMA logic seems to indicate transfer complete as soon as our last REQ is issued. Simplify some of the target mode message handling code in the sequencer.
Diffstat (limited to 'sys/dev/aic7xxx/aic7xxx.reg')
-rw-r--r--sys/dev/aic7xxx/aic7xxx.reg22
1 files changed, 19 insertions, 3 deletions
diff --git a/sys/dev/aic7xxx/aic7xxx.reg b/sys/dev/aic7xxx/aic7xxx.reg
index 058bc8f..775c0e3 100644
--- a/sys/dev/aic7xxx/aic7xxx.reg
+++ b/sys/dev/aic7xxx/aic7xxx.reg
@@ -1,7 +1,7 @@
/*
* Aic7xxx register and scratch ram definitions.
*
- * Copyright (c) 1994-1998 Justin Gibbs.
+ * Copyright (c) 1994-1999 Justin Gibbs.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -32,7 +32,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: aic7xxx.reg,v 1.10 1998/12/15 08:22:42 gibbs Exp $
+ * $Id: aic7xxx.reg,v 1.11 1998/12/17 00:06:52 gibbs Exp $
*/
/*
@@ -471,7 +471,7 @@ register SEQCTL {
* Sequencer RAM Data (p. 3-34)
* Single byte window into the Scratch Ram area starting at the address
* specified by SEQADDR0 and SEQADDR1. To write a full word, simply write
- * four bytes in sucessesion. The SEQADDRs will increment after the most
+ * four bytes in succession. The SEQADDRs will increment after the most
* significant byte is written
*/
register SEQRAM {
@@ -678,6 +678,7 @@ register INTSTAT {
mask ABORT_REQUESTED 0x50|SEQINT /* Reconect of aborted SCB */
mask BAD_STATUS 0x70|SEQINT /* Bad status from target */
mask RESIDUAL 0x80|SEQINT /* Residual byte count != 0 */
+ mask TRACE_POINT 0x90|SEQINT
mask HOST_MSG_LOOP 0xa0|SEQINT /*
* The bus is ready for the
* host to perform another
@@ -1330,6 +1331,21 @@ scratch_ram {
}
/*
+ * Track whether the transfer byte count for
+ * the current data phase is odd.
+ */
+ DATA_COUNT_ODD {
+ size 1
+ }
+
+ /*
+ * The initiator specified tag for this target mode transaction.
+ */
+ INITIATOR_TAG {
+ size 1
+ }
+
+ /*
* These are reserved registers in the card's scratch ram. Some of
* the values are specified in the AHA2742 technical reference manual
* and are initialized by the BIOS at boot time.
OpenPOWER on IntegriCloud