From owner-cvs-sys Sat Sep 27 12:44:13 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id MAA09100 for cvs-sys-outgoing; Sat, 27 Sep 1997 12:44:13 -0700 (PDT) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id MAA09056; Sat, 27 Sep 1997 12:43:39 -0700 (PDT) From: "Justin T. Gibbs" Received: (from gibbs@localhost) by freefall.freebsd.org (8.8.6/8.8.5) id MAA15615; Sat, 27 Sep 1997 12:38:32 -0700 (PDT) Date: Sat, 27 Sep 1997 12:38:32 -0700 (PDT) Message-Id: <199709271938.MAA15615@freefall.freebsd.org> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-sys@FreeBSD.ORG Subject: cvs commit: src/sys/dev/aic7xxx Makefile aic7xxx.reg aic7xxx.seq aicasm_gram.y aicasm_scan.l aicasm_symbol.c aicasm_symbol.h sequencer.h src/sys/i386/scsi aic7xxx.c Sender: owner-cvs-sys@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk gibbs 1997/09/27 12:38:32 PDT Modified files: sys/dev/aic7xxx Makefile aic7xxx.reg aic7xxx.seq aicasm_gram.y aicasm_scan.l aicasm_symbol.c aicasm_symbol.h sequencer.h Log: 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. Revision Changes Path 1.4 +8 -1 src/sys/dev/aic7xxx/Makefile 1.6 +16 -37 src/sys/dev/aic7xxx/aic7xxx.reg 1.76 +5 -10 src/sys/dev/aic7xxx/aic7xxx.seq 1.4 +59 -3 src/sys/dev/aic7xxx/aicasm_gram.y 1.5 +2 -1 src/sys/dev/aic7xxx/aicasm_scan.l 1.4 +23 -1 src/sys/dev/aic7xxx/aicasm_symbol.c 1.3 +2 -1 src/sys/dev/aic7xxx/aicasm_symbol.h 1.3 +2 -1 src/sys/dev/aic7xxx/sequencer.h Modified files: sys/i386/scsi aic7xxx.c Log: Add support to the host driver for "downloaded constants". These are immediate operands that are set during seqeuncer program download instead of at assembly time. Remove the REJBYTE sram variable. The host driver can just as easly read the accumulator to get this value. 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. Revision Changes Path 1.126 +32 -43 src/sys/i386/scsi/aic7xxx.c