From owner-cvs-sys Sat Mar 15 23:12:41 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id XAA12742 for cvs-sys-outgoing; Sat, 15 Mar 1997 23:12:41 -0800 (PST) Received: (from gibbs@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id XAA12735; Sat, 15 Mar 1997 23:12:39 -0800 (PST) Date: Sat, 15 Mar 1997 23:12:39 -0800 (PST) From: "Justin T. Gibbs" Message-Id: <199703160712.XAA12735@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-sys Subject: cvs commit: src/sys/conf files src/sys/dev/aic7xxx Makefile aic7xxx.reg gram.y scan.l sequencer.h symbol.c symbol.h aic7xxx.seq aic7xxx_asm.c aic7xxx_asm.1 aic7xxx_reg.h src/sys/i386/conf files.i386 src/sys/i386/eisa aic7770.c src/sys/i386/scsi aic7xxx.c src/sys/pci aic7870.c Sender: owner-cvs-sys@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk gibbs 97/03/15 23:12:38 Modified: sys/conf files Log: Add depend rule for the now compile time generated aic7xxx register file. Revision Changes Path 1.90 +1 -0 src/sys/conf/files Modified: sys/dev/aic7xxx aic7xxx.seq aic7xxx_asm.c Added: sys/dev/aic7xxx Makefile aic7xxx.reg gram.y scan.l sequencer.h symbol.c symbol.h Removed: sys/dev/aic7xxx aic7xxx_asm.1 aic7xxx_reg.h Log: Makefile gram.y scan.l sequencer.h symbol.c symbol.h aic7xxx_asm.c: New sequencer assembler for the aic7xxx adapters. This assembler performs some amount of register type checking, allows bit manipulation of symbolic constants, and generates "patch tables" for conditionalized downloading of portions of the program. This makes it easier to take full advantage of the different features of the aic7xxx cards without imposing run time penalies or being bound to the small memory footprints of the low end cards for features like target mode. aic7xxx.reg: New, assembler parsed, register definitions fo the aic7xxx cards. This was done primarily in anticipation of 7810 support which will have a different register layout, but should be able to use the same assembler. The kernel aic7xxx driver consumes a generated file in the compile directory to get the definitions of the register locations. aic7xxx.seq: Convert to the slighly different syntax of the new assembler. Conditionalize SCB_PAGING, ultra, and twin features which shaves quite a bit of space once the program is downloaded. Add code to leave the selection hardware enabled during reconnects that win bus arbitration. This ensures that we will rearbitrate as soon as the bus goes free instead of delaying for a bit. When we expect the bus to go free, perform all of the cleanup associated with that event "up front" and enter a loop awaiting bus free. If we see a REQ first, complain, but attempt to continue. This will hopefully address, or at least help diagnose, the "target didn't send identify" messages that have been reported. Spelling corrections obtained from NetBSD. Revision Changes Path 1.64 +522 -531 src/sys/dev/aic7xxx/aic7xxx.seq 1.15 +335 -613 src/sys/dev/aic7xxx/aic7xxx_asm.c Modified: sys/i386/conf files.i386 Log: Adapt build rules to new aic7xxx seqeuncer assembler. Revision Changes Path 1.155 +10 -9 src/sys/i386/conf/files.i386 Modified: sys/i386/eisa aic7770.c Log: The register definition file is now in the compile directory. Revision Changes Path 1.39 +2 -2 src/sys/i386/eisa/aic7770.c Modified: sys/i386/scsi aic7xxx.c Log: Adapt to some changes in the register definitions. Clear the selection enable in SCSISEQ during error recovery to deal with the way the sequencer leaves selections enabled now. Add code to perform "patching" during sequencer program download. Spelling fixes obtained from NetBSD. Revision Changes Path 1.106 +233 -77 src/sys/i386/scsi/aic7xxx.c Modified: sys/pci aic7870.c Log: The register definitions are now in the compile directory. Revision Changes Path 1.52 +3 -3 src/sys/pci/aic7870.c