diff options
author | gibbs <gibbs@FreeBSD.org> | 1997-09-27 19:37:31 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 1997-09-27 19:37:31 +0000 |
commit | b9404180a2be84207f9bffb12d2e6e36bb608a36 (patch) | |
tree | 59e8c857d2b62551c0fe6a16db2a966d9cca6df3 /sys/dev/aic7xxx/sequencer.h | |
parent | eba31c606658833edb4a1449fc8f468a18ccd422 (diff) | |
download | FreeBSD-src-b9404180a2be84207f9bffb12d2e6e36bb608a36.zip FreeBSD-src-b9404180a2be84207f9bffb12d2e6e36bb608a36.tar.gz |
Add support to aicasm for "downloaded constants". These are immediate
operands that are set during seqeuncer program download instead of at
assembly time.
Convert the sequencer code to use" downloaded constants" for four run time
constants that vary depending on the board type. This frees up 4 bytes
of sequencer scratch ram space where these constants used to be stored and
also removes the additional instructions required to load their values
into the accumulator prior to using them.
Remove the REJBYTE sram variable. The host driver can just as easly
read the accumulator to get this value.
The scratch ram savings is important as the old code used to clober the
SCSICONF register on 274X cards which sits near the top of scratch ram
space. The SCSICONF register controls bus termination, and clobbering
it is not a good thing. Now we have 4 bytes to spare.
This should fix the reported problems with cards that don't have devices
attached to them failing with a stream of "Somone reset bus X" messages.
Doug Ledford determined the cause of the problem, fixes by me.
Diffstat (limited to 'sys/dev/aic7xxx/sequencer.h')
-rw-r--r-- | sys/dev/aic7xxx/sequencer.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/aic7xxx/sequencer.h b/sys/dev/aic7xxx/sequencer.h index 00d1f08..fd69435 100644 --- a/sys/dev/aic7xxx/sequencer.h +++ b/sys/dev/aic7xxx/sequencer.h @@ -36,7 +36,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sequencer.h,v 1.1 1997/03/16 07:08:18 gibbs Exp $ + * $Id: sequencer.h,v 1.2 1997/06/27 19:38:52 gibbs Exp $ */ struct ins_format1 { @@ -44,6 +44,7 @@ struct ins_format1 { u_int8_t source; u_int8_t destination; u_int8_t opcode_ret; +#define DOWNLOAD_CONST_IMMEDIATE 0x80 }; struct ins_format2 { |