History log of /src/sys/dev/microcode/aic7xxx |
Revision | Date | Author | Comments |
1.9 | 29-Jun-2020 |
rin | No longer depend on libl.
|
1.8 | 27-Jun-2020 |
jdolecek | make this work with objdir, drop unused -ll
|
1.7 | 19-Apr-2003 |
fvdl | Newer aic sequencer assembler. From FreeBSD, written by Justin Gibbs. Ported to NetBSD by Pascal Renauld at Network Storage Solutions, Inc. Some Makefile changes by me.
The 79xx code isn't yet used, driver for that to follow shortly.
|
1.6 | 11-Apr-2001 |
jdolecek | Only install headers which are actually used by our userland. This saves about 2.2MB under /usr/include/dev/. Discussed on tech-kern@ recently.
I HOPE to get the list right. The headers I left in are ones used for MI tools and those whose usage I discovered by grep over tree sources. Feel free to put needed includes back in if you encounter anything which should not be removed from lists.
|
1.5 | 15-Mar-2000 |
fvdl | branches: 1.5.6; New ahc driver, a port of Justin Gibbs' FreeBSD driver. This adds support for the U2W chips, and U160 controllers.
|
1.4 | 16-Jun-1998 |
cgd | branches: 1.4.14; Point people to the correct Makefiles to build generated headers. (Suggested by Manuel Bouyer.)
|
1.3 | 12-Jun-1998 |
cgd | Rework the way kernel include files are installed. In the new method, as with user-land programs, include files are installed by each directory in the tree that has includes to install. (This allows more flexibility as to what gets installed, makes 'partial installs' easier, and gives us more options as to which machines' includes get installed at any given time.) The old SYS_INCLUDES={symlinks,copies} behaviours are _both_ still supported, though at least one bug in the 'symlinks' case is fixed by this change. Include files can't be build before installation, so directories that have includes as targets (e.g. dev/pci) have to move those targets into a different Makefile.
|
1.2 | 05-Jan-1998 |
perry | RCSID Police.
|
1.1 | 10-Aug-1996 |
mycroft | branches: 1.1.6; Compile the sequencer statically.
|
1.1.6.2 | 04-Mar-1997 |
mycroft | Pull up latest ahc driver. Fixes several bugs.
|
1.1.6.1 | 10-Aug-1996 |
mycroft | file Makefile was added on branch netbsd-1-2 on 1997-03-04 14:55:22 +0000
|
1.4.14.2 | 21-Apr-2001 |
bouyer | Sync with HEAD
|
1.4.14.1 | 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.5.6.1 | 28-Feb-2002 |
nathanw | Catch up to -current.
|
1.8 | 10-Aug-1996 |
mycroft | Compile the sequencer statically.
|
1.7 | 10-Aug-1996 |
mycroft | Use HOSTED_C_C when building the assembler.
|
1.6 | 13-Jul-1996 |
explorer | aic, not aix... Stupid typo
|
1.5 | 13-Jul-1996 |
explorer | Remove aic7xxx_seq.h on clean, build it on depend. This closes pr 2608, 2441, and part of 2600. 2436 is left open to remind me that Chris's comments are probably correct. This file should be built statically and committed to the tree, not built on a per-kernel basis.
|
1.4 | 20-May-1996 |
thorpej | branches: 1.4.4; RCS Id police.
|
1.3 | 16-May-1996 |
mycroft | New version, with changes from Justin Gibbs and Noriyuki Soda.
|
1.2 | 29-Apr-1996 |
christos | Add a clean target to clean the assembler binary
|
1.1 | 09-Oct-1995 |
mycroft | Add an Adaptec 2940 driver, by John Aycock and Justin Gibbs, ported to NetBSD by Stefan Grefen, with several bug fixes by me.
|
1.4.4.2 | 04-Mar-1997 |
mycroft | Pull up latest ahc driver. Fixes several bugs.
|
1.4.4.1 | 25-Aug-1996 |
thorpej | Fix support for the Adaptec 284x VLbus SCSI cards, massaged for the NetBSD-1.2 release branch by Noriyuki Soda <soda@sra.co.jp>. (`sys/arch/i386/isa/ahc_isa.c' tagged separately.)
|
1.4 | 19-Apr-2003 |
fvdl | Newer aic sequencer assembler. From FreeBSD, written by Justin Gibbs. Ported to NetBSD by Pascal Renauld at Network Storage Solutions, Inc. Some Makefile changes by me.
The 79xx code isn't yet used, driver for that to follow shortly.
|
1.3 | 12-Dec-2001 |
tv | MKfoo=no -> NOfoo
|
1.2 | 15-Mar-2000 |
fvdl | branches: 1.2.6; 1.2.8; New ahc driver, a port of Justin Gibbs' FreeBSD driver. This adds support for the U2W chips, and U160 controllers.
|
1.1 | 12-Jun-1998 |
cgd | branches: 1.1.14; Rework the way kernel include files are installed. In the new method, as with user-land programs, include files are installed by each directory in the tree that has includes to install. (This allows more flexibility as to what gets installed, makes 'partial installs' easier, and gives us more options as to which machines' includes get installed at any given time.) The old SYS_INCLUDES={symlinks,copies} behaviours are _both_ still supported, though at least one bug in the 'symlinks' case is fixed by this change. Include files can't be build before installation, so directories that have includes as targets (e.g. dev/pci) have to move those targets into a different Makefile.
|
1.1.14.1 | 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.2.8.1 | 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.2.6.1 | 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.18 | 06-Sep-2025 |
andvar | s/Tranceiver/Transceiver/ in comment.
|
1.17 | 09-Feb-2024 |
andvar | fix spelling mistakes, mainly in comments and log messages.
|
1.16 | 31-May-2022 |
andvar | fix various typos in comments, documentation and messages.
|
1.15 | 25-Jan-2022 |
andvar | fix various typos in comments.
|
1.14 | 28-May-2019 |
msaitoh | s/recieve/receive/
|
1.13 | 08-Feb-2018 |
dholland | branches: 1.13.4; Typos.
|
1.12 | 25-Feb-2006 |
wiz | Fix typos, reported by Alexey Dobriyan ("Gathered from Linux"), forwarded by jmc@openbsd.
|
1.11 | 11-Dec-2005 |
christos | branches: 1.11.2; 1.11.4; 1.11.6; merge ktrace-lwp.
|
1.10 | 27-Feb-2005 |
perry | branches: 1.10.4; nuke trailing whitespace
|
1.9 | 24-Feb-2004 |
wiz | branches: 1.9.8; 1.9.10; Spell interrupt with two rs. From Peter Postma.
|
1.8 | 29-Aug-2003 |
thorpej | Sync perforce IDs. (From FreeBSD)
|
1.7 | 29-Aug-2003 |
thorpej | Apply the following change from 05/30/2003 02:14:22 made by scottl to the FreeBSD ahd driver:
Fix a reported case of severe data corruption:
aic79xx.h: aic79xx.reg: Return the SCB_TAG field to 16byte alignment. It seems that on some PCI systems, SCBs are not transferred correctly to the controller with the previous placement of the SCB_TAG field.
Approved by: re (rwatson)
|
1.6 | 29-Aug-2003 |
thorpej | Add some missing definitions for the LUNLEN register.
|
1.5 | 29-Aug-2003 |
thorpej | Apply the following change made on 5/26/2003 21:26:51 by gibbs to the FreeBSD ahd driver:
Correct/Simplify ignore wide residue message handling
aic79xx.c: In ahd_handle_ign_wide_residue(): o Use SCB_XFERLEN_ODD SCB field to determine transfer "oddness" rather than the DATA_COUNT_ODD logic. SCB_XFERLEN_ODD is toggled on every ignore wide residue message so that multiple ignore wide residue messages for the same transaction are properly supported. o If the sg list has been exausted, the sequencer doesn't bother to update the residual data count since it is known to be zero. Perform the zeroing manually before calculating the remaining data count. o Use multibyte in/out macros instead of shifting/masking by hand.
aic79xx_inline.h: In ahd_setup_scb_common(), setup the SCB_XFERLEN_ODD field.
aic79xx.reg: Use the SCB_TASK_ATTRIBUTE field as a bit field in the non-packetized case. We currently only define one bit, SCB_XFERLEN_ODD.
Remove the ODD_SEG bit field that was used to carry the odd transfer length information through the SG cache. This is obviated by SCB_XFERLEN_ODD field.
Remove the DATA_COUNT_ODD scratch ram byte that was used dynamicaly compute data transfer oddness. This is obviated by SCB_XFERLEN_ODD field.
aic79xx.seq: Remove all updates to the DATA_COUNT_ODD scratch ram field. Remove all uses of ODD_SEG. These two save quite a few sequencer instructions.
Use SCB_XFERLEN_ODD to validate the end of transfer ignore wide residue message case.
|
1.4 | 29-Aug-2003 |
thorpej | Apply the following change checked in 2003/05/04 00:20:07 by gibbs to the FreeBSD ahd driver:
Correct spelling errors.
Switch to handling bad SCSI status as a sequencer interrupt instead of having the kernel proccess these failures via the completion queue. This is done because:
o The old scheme required us to pause the sequencer and clear critical sections for each SCB. It seems that these pause actions, if coincident with a sequencer FIFO interrupt, would result in a FIFO interrupt getting lost or directing to the wrong FIFO. This caused hangs when the driver was stressed under high "queue full" loads. o The completion code assumed that it was always called with the sequencer running. This may not be the case in timeout processing where completions occur manually via ahd_pause_and_flushwork(). o With this scheme, the extra expense of clearing critical sections is avoided since the sequencer will only self pause once all pending selections have cleared and it is not in a critical section.
aic79xx.c Add code to handle the new BAD_SCB_STATUS sequencer interrupt code. This just redirects the SCB through the already existing ahd_complete_scb() code path. Remove code in ahd_handle_scsi_status() that paused the sequencer, made sure that no selections where pending, and cleared critical sections. Bad status SCBs are now only processed when all of these conditions are true.
aic79xx.reg: Add the BAD_SCB_STATUS sequencer interrupt code.
aic79xx.seq: When completing an SCB upload to the host, if we are doing this because the SCB contains non-zero SCSI status, defer completing the SCB until there are no pending selection events. When completing these SCBs, use the new BAD_SCB_STATUS sequencer interrupt. For all other uploaded SCBs (currently only for underruns), the SCB is completed via the normal done queue. Additionally, keep the SCB that is currently being uploaded on the COMPLETE_DMA_SCB list until the dma is completed, not just until the DMA is started. This ensures that the DMA is restarted properly should the host disable the DMA transfer for some reason.
In our RevA workaround for Maxtor drives, guard against the host pausing us while trying to pause I/O until the first data-valid REQ by clearing the current snapshot so that we can tell if the transfer has completed prior to us noticing the REQINIT status.
In cfg4data_intr, shave off an instruction before getting the data path running by adding an entrypoint to the overrun handler to also increment the FIFO use count.
In the overrun handler, be sure to clear our LONGJMP address in both exit paths.
Perform a few sequencer optimizations.
aic79xx.c: Print the full path from the SCB when a packetized status overrun occurs.
Remove references to LONGJMP_SCB which is being removed from firmware usage.
Print the new SCB_FIFO_USE_COUNT field in the per-SCB section of ahd_dump_card_state(). The SCB_TAG field is now re-used by the sequencer, so it no longer makes sense to reference this field in the kernel driver.
aic79xx.h: Re-arrange fields in the hardware SCB from largest size type to smallest. This makes it easier to move fields without changing field alignment.
The hardware scb tag field is now down near the "spare" portion of the SCB to facilitate reuse by the sequencer.
aic79xx.reg: Remove LONGJMP_ADDR.
Rearrange SCB fields to match aic79xx.h. Add SCB_FIFO_USE_COUNT as the first byte of the SCB_TAG field.
aic79xx.seq: Add a per-SCB "Fifos in use count" field and use it to determine when it is safe (all data posted) to deliver status back to the host. The old method involved polling one or both FIFOs to verify that the current task did not have pending data. This makes running down the GSFIFO very cheap, so we will empty the GSFIFO in one idle loop pass in all cases.
Use this simplification of the completion process to prune down the data FIFO teardown sequencer for packetized transfers. Much more code is now shared between the data residual and transfer complete cases.
Correct some issues in the packetized status handler. It used to be possible to CLRCHN our FIFO before status had fully transferred to the host. We also failed to handle NONPACKREQ phases that could occur should a CRC error occur during transmission of the status data packet.
Correct a few big endian issues:
aic79xx.c: aic79xx_inline.h: aic79xx_pci.c: aic79xx_osm.c: o Always get the SCB's tag via the SCB_GET_TAG acccessor o Add missing use of byte swapping macros when touching hscb fields. o Don't double swap SEEPROM data when it is printed. Correct a big-endian bug. We cannot assign a o When assigning a 32bit LE variable to a 64bit LE variable, we must be explict about how the words of the 64bit LE variable are initialized. Cast to (uint32_t*) to do this.
aic79xx.c: In ahd_clear_critical_section(), hit CRLSCSIINT after restoring the interrupt masks to avoid what appears to be a glitch on SCSIINT. Any real SCSIINT status will be persistent and will immidiately reset SCSIINT. This clear should only get rid of spurious SCSIINTs.
This glitch was the cause of the "Unexpected PKT busfree" status that occurred under high queue full loads
Call ahd_fini_scbdata() after shutdown so that any ahd_chip_init() routine that might access SCB data will not access free'd memory.
Reset the bus on an IOERR since the chip doesn't seem to reset to the new voltage level without this. Change offset calculation for scatter gather maps so that the calculation is correct if an integral multiple of sg lists does not fit in the allocation size.
Adjust bus dma tag for data buffers based on 39BIT addressing flag in our softc.
Use the QFREEZE count to simplify ahd_pause_and_flushworkd(). We can thus rely on the sequencer eventually clearing ENSELO.
In ahd_abort_scbs(), fix a bug that could potentially corrupt sequencer state. The saved SCB was being restored in the SCSI mode instead of the saved mode. It turns out that the SCB did not need to be saved at all as the scbptr is already restored by all subroutines called during this function that modify that register.
aic79xx.c: aic79xx.h: aic79xx_pci.c: Add support for parsing the seeprom vital product data. The VPD data are currently unused.
aic79xx.h: aic79xx.seq: aic79xx_pci.c: Add a firmware workaround to make the LED blink brighter during packetized operations on the H2A.
aic79xx_inline.h: The host does not use timer interrupts, so don't gate our decision on whether or not to unpause the sequencer on whether or not a timer interrupt is pending.
|
1.3 | 14-May-2003 |
wiz | branches: 1.3.2; Correct spelling of coalesce. (Will forward to Justin Gibbs.)
|
1.2 | 20-Apr-2003 |
fvdl | Sync with FreeBSD rev. 1.10: correct default precompensation value for RevA hardware.
|
1.1 | 19-Apr-2003 |
fvdl | Newer aic sequencer assembler. From FreeBSD, written by Justin Gibbs. Ported to NetBSD by Pascal Renauld at Network Storage Solutions, Inc. Some Makefile changes by me.
The 79xx code isn't yet used, driver for that to follow shortly.
|
1.3.2.4 | 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.3.2.3 | 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.3.2.2 | 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.3.2.1 | 03-Aug-2004 |
skrll | Sync with HEAD
|
1.9.10.1 | 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.9.8.1 | 29-Apr-2005 |
kent | sync with -current
|
1.10.4.1 | 21-Jun-2006 |
yamt | sync with head.
|
1.11.6.1 | 22-Apr-2006 |
simonb | Sync with head.
|
1.11.4.1 | 09-Sep-2006 |
rpaulo | sync with head
|
1.11.2.1 | 01-Mar-2006 |
yamt | sync with head.
|
1.13.4.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.17 | 27-Jun-2022 |
andvar | fix various typos in comments.
|
1.16 | 25-Jan-2022 |
andvar | fix various typos in comments.
|
1.15 | 19-Sep-2021 |
andvar | fix various typos in comments, messages and documentation.
|
1.14 | 16-Sep-2021 |
andvar | fix typos in word "successfully", mainly s/succesfully/successfully/.
|
1.13 | 03-Sep-2021 |
andvar | s/existant/existent/ in comments and messages, plus few more similar fixes.
|
1.12 | 04-Jun-2019 |
msaitoh | Fix typo (s/recevie/receive/).
|
1.11 | 18-Oct-2014 |
snj | branches: 1.11.20; src is too big these days to tolerate superfluous apostrophes. It's "its", people!
|
1.10 | 11-Dec-2005 |
christos | branches: 1.10.120; merge ktrace-lwp.
|
1.9 | 27-Feb-2005 |
perry | nuke trailing whitespace
|
1.8 | 29-Aug-2003 |
thorpej | branches: 1.8.8; 1.8.10; Apply the following change from 06/28/2003 04:44:10 by gibbs to the FreeBSD ahd driver:
Use clr instead of an explicit mov from ALLZEROS to clear SCB_FIFO_USE_COUNT. This is just a syntactic change.
|
1.7 | 29-Aug-2003 |
thorpej | Apply the following change from 06/28/2003 04:40:46 made by gibbs to the FreeBSD ahd driver:
aic79xx.seq: Remove an old comment that no longer applies.
Fix a jump in our unexpected non-packetized phase handler to use an explicit lable. The old code had a hardcoded jump offset that was off by one instruction.
|
1.6 | 29-Aug-2003 |
thorpej | Apply the following change made on 5/26/2003 21:26:51 by gibbs to the FreeBSD ahd driver:
Correct/Simplify ignore wide residue message handling
aic79xx.c: In ahd_handle_ign_wide_residue(): o Use SCB_XFERLEN_ODD SCB field to determine transfer "oddness" rather than the DATA_COUNT_ODD logic. SCB_XFERLEN_ODD is toggled on every ignore wide residue message so that multiple ignore wide residue messages for the same transaction are properly supported. o If the sg list has been exausted, the sequencer doesn't bother to update the residual data count since it is known to be zero. Perform the zeroing manually before calculating the remaining data count. o Use multibyte in/out macros instead of shifting/masking by hand.
aic79xx_inline.h: In ahd_setup_scb_common(), setup the SCB_XFERLEN_ODD field.
aic79xx.reg: Use the SCB_TASK_ATTRIBUTE field as a bit field in the non-packetized case. We currently only define one bit, SCB_XFERLEN_ODD.
Remove the ODD_SEG bit field that was used to carry the odd transfer length information through the SG cache. This is obviated by SCB_XFERLEN_ODD field.
Remove the DATA_COUNT_ODD scratch ram byte that was used dynamicaly compute data transfer oddness. This is obviated by SCB_XFERLEN_ODD field.
aic79xx.seq: Remove all updates to the DATA_COUNT_ODD scratch ram field. Remove all uses of ODD_SEG. These two save quite a few sequencer instructions.
Use SCB_XFERLEN_ODD to validate the end of transfer ignore wide residue message case.
|
1.5 | 29-Aug-2003 |
thorpej | Apply the following change made 5/26/2003 21:18:48 by gibbs to the FreeBSD ahd driver:
Change hadling of the Rev. A packetized lun output bug to be more efficient by having the sequencer copy the single byte of valid lun data into the long lun field.
aic79xx.c: Memset our hardware SCB to 0 so that untouched fields don't confuse diagnostic output. With the old method for handling the Rev A bug, if the long lun field was not 0, this could result in bogus lun information being sent to drives.
Use the same SCB transfer size for all chip types now that the long lun is not DMA'ed to the chip.
aic79xx.seq: Add code to copy lun information for Rev.A hardware.
aic79xx_inline.h: Remove host update of the long_lun field on every packetized command.
|
1.4 | 29-Aug-2003 |
thorpej | Apply the following change checked in 2003/05/04 00:20:07 by gibbs to the FreeBSD ahd driver:
Correct spelling errors.
Switch to handling bad SCSI status as a sequencer interrupt instead of having the kernel proccess these failures via the completion queue. This is done because:
o The old scheme required us to pause the sequencer and clear critical sections for each SCB. It seems that these pause actions, if coincident with a sequencer FIFO interrupt, would result in a FIFO interrupt getting lost or directing to the wrong FIFO. This caused hangs when the driver was stressed under high "queue full" loads. o The completion code assumed that it was always called with the sequencer running. This may not be the case in timeout processing where completions occur manually via ahd_pause_and_flushwork(). o With this scheme, the extra expense of clearing critical sections is avoided since the sequencer will only self pause once all pending selections have cleared and it is not in a critical section.
aic79xx.c Add code to handle the new BAD_SCB_STATUS sequencer interrupt code. This just redirects the SCB through the already existing ahd_complete_scb() code path. Remove code in ahd_handle_scsi_status() that paused the sequencer, made sure that no selections where pending, and cleared critical sections. Bad status SCBs are now only processed when all of these conditions are true.
aic79xx.reg: Add the BAD_SCB_STATUS sequencer interrupt code.
aic79xx.seq: When completing an SCB upload to the host, if we are doing this because the SCB contains non-zero SCSI status, defer completing the SCB until there are no pending selection events. When completing these SCBs, use the new BAD_SCB_STATUS sequencer interrupt. For all other uploaded SCBs (currently only for underruns), the SCB is completed via the normal done queue. Additionally, keep the SCB that is currently being uploaded on the COMPLETE_DMA_SCB list until the dma is completed, not just until the DMA is started. This ensures that the DMA is restarted properly should the host disable the DMA transfer for some reason.
In our RevA workaround for Maxtor drives, guard against the host pausing us while trying to pause I/O until the first data-valid REQ by clearing the current snapshot so that we can tell if the transfer has completed prior to us noticing the REQINIT status.
In cfg4data_intr, shave off an instruction before getting the data path running by adding an entrypoint to the overrun handler to also increment the FIFO use count.
In the overrun handler, be sure to clear our LONGJMP address in both exit paths.
Perform a few sequencer optimizations.
aic79xx.c: Print the full path from the SCB when a packetized status overrun occurs.
Remove references to LONGJMP_SCB which is being removed from firmware usage.
Print the new SCB_FIFO_USE_COUNT field in the per-SCB section of ahd_dump_card_state(). The SCB_TAG field is now re-used by the sequencer, so it no longer makes sense to reference this field in the kernel driver.
aic79xx.h: Re-arrange fields in the hardware SCB from largest size type to smallest. This makes it easier to move fields without changing field alignment.
The hardware scb tag field is now down near the "spare" portion of the SCB to facilitate reuse by the sequencer.
aic79xx.reg: Remove LONGJMP_ADDR.
Rearrange SCB fields to match aic79xx.h. Add SCB_FIFO_USE_COUNT as the first byte of the SCB_TAG field.
aic79xx.seq: Add a per-SCB "Fifos in use count" field and use it to determine when it is safe (all data posted) to deliver status back to the host. The old method involved polling one or both FIFOs to verify that the current task did not have pending data. This makes running down the GSFIFO very cheap, so we will empty the GSFIFO in one idle loop pass in all cases.
Use this simplification of the completion process to prune down the data FIFO teardown sequencer for packetized transfers. Much more code is now shared between the data residual and transfer complete cases.
Correct some issues in the packetized status handler. It used to be possible to CLRCHN our FIFO before status had fully transferred to the host. We also failed to handle NONPACKREQ phases that could occur should a CRC error occur during transmission of the status data packet.
Correct a few big endian issues:
aic79xx.c: aic79xx_inline.h: aic79xx_pci.c: aic79xx_osm.c: o Always get the SCB's tag via the SCB_GET_TAG acccessor o Add missing use of byte swapping macros when touching hscb fields. o Don't double swap SEEPROM data when it is printed. Correct a big-endian bug. We cannot assign a o When assigning a 32bit LE variable to a 64bit LE variable, we must be explict about how the words of the 64bit LE variable are initialized. Cast to (uint32_t*) to do this.
aic79xx.c: In ahd_clear_critical_section(), hit CRLSCSIINT after restoring the interrupt masks to avoid what appears to be a glitch on SCSIINT. Any real SCSIINT status will be persistent and will immidiately reset SCSIINT. This clear should only get rid of spurious SCSIINTs.
This glitch was the cause of the "Unexpected PKT busfree" status that occurred under high queue full loads
Call ahd_fini_scbdata() after shutdown so that any ahd_chip_init() routine that might access SCB data will not access free'd memory.
Reset the bus on an IOERR since the chip doesn't seem to reset to the new voltage level without this. Change offset calculation for scatter gather maps so that the calculation is correct if an integral multiple of sg lists does not fit in the allocation size.
Adjust bus dma tag for data buffers based on 39BIT addressing flag in our softc.
Use the QFREEZE count to simplify ahd_pause_and_flushworkd(). We can thus rely on the sequencer eventually clearing ENSELO.
In ahd_abort_scbs(), fix a bug that could potentially corrupt sequencer state. The saved SCB was being restored in the SCSI mode instead of the saved mode. It turns out that the SCB did not need to be saved at all as the scbptr is already restored by all subroutines called during this function that modify that register.
aic79xx.c: aic79xx.h: aic79xx_pci.c: Add support for parsing the seeprom vital product data. The VPD data are currently unused.
aic79xx.h: aic79xx.seq: aic79xx_pci.c: Add a firmware workaround to make the LED blink brighter during packetized operations on the H2A.
aic79xx_inline.h: The host does not use timer interrupts, so don't gate our decision on whether or not to unpause the sequencer on whether or not a timer interrupt is pending.
|
1.3 | 14-May-2003 |
wiz | branches: 1.3.2; Correct spelling of coalesce. (Will forward to Justin Gibbs.)
|
1.2 | 03-May-2003 |
wiz | DMA, not dma nor Dma.
|
1.1 | 19-Apr-2003 |
fvdl | Newer aic sequencer assembler. From FreeBSD, written by Justin Gibbs. Ported to NetBSD by Pascal Renauld at Network Storage Solutions, Inc. Some Makefile changes by me.
The 79xx code isn't yet used, driver for that to follow shortly.
|
1.3.2.4 | 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.3.2.3 | 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.3.2.2 | 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.3.2.1 | 03-Aug-2004 |
skrll | Sync with HEAD
|
1.8.10.1 | 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.8.8.1 | 29-Apr-2005 |
kent | sync with -current
|
1.10.120.1 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.11.20.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.12 | 27-Jun-2020 |
jdolecek | regen - NFCI, confirmed by comparing compiled binary object before and after
|
1.11 | 29-Aug-2003 |
thorpej | Apply the following change from 06/28/2003 04:44:10 by gibbs to the FreeBSD ahd driver:
Use clr instead of an explicit mov from ALLZEROS to clear SCB_FIFO_USE_COUNT. This is just a syntactic change.
|
1.10 | 29-Aug-2003 |
thorpej | Apply the following change from 06/28/2003 04:40:46 made by gibbs to the FreeBSD ahd driver:
aic79xx.seq: Remove an old comment that no longer applies.
Fix a jump in our unexpected non-packetized phase handler to use an explicit lable. The old code had a hardcoded jump offset that was off by one instruction.
|
1.9 | 29-Aug-2003 |
thorpej | Sync perforce IDs. (From FreeBSD)
|
1.8 | 29-Aug-2003 |
thorpej | Apply the following change from 05/30/2003 02:14:22 made by scottl to the FreeBSD ahd driver:
Fix a reported case of severe data corruption:
aic79xx.h: aic79xx.reg: Return the SCB_TAG field to 16byte alignment. It seems that on some PCI systems, SCBs are not transferred correctly to the controller with the previous placement of the SCB_TAG field.
Approved by: re (rwatson)
|
1.7 | 29-Aug-2003 |
thorpej | Add some missing definitions for the LUNLEN register.
|
1.6 | 29-Aug-2003 |
thorpej | Apply the following change made on 5/26/2003 21:26:51 by gibbs to the FreeBSD ahd driver:
Correct/Simplify ignore wide residue message handling
aic79xx.c: In ahd_handle_ign_wide_residue(): o Use SCB_XFERLEN_ODD SCB field to determine transfer "oddness" rather than the DATA_COUNT_ODD logic. SCB_XFERLEN_ODD is toggled on every ignore wide residue message so that multiple ignore wide residue messages for the same transaction are properly supported. o If the sg list has been exausted, the sequencer doesn't bother to update the residual data count since it is known to be zero. Perform the zeroing manually before calculating the remaining data count. o Use multibyte in/out macros instead of shifting/masking by hand.
aic79xx_inline.h: In ahd_setup_scb_common(), setup the SCB_XFERLEN_ODD field.
aic79xx.reg: Use the SCB_TASK_ATTRIBUTE field as a bit field in the non-packetized case. We currently only define one bit, SCB_XFERLEN_ODD.
Remove the ODD_SEG bit field that was used to carry the odd transfer length information through the SG cache. This is obviated by SCB_XFERLEN_ODD field.
Remove the DATA_COUNT_ODD scratch ram byte that was used dynamicaly compute data transfer oddness. This is obviated by SCB_XFERLEN_ODD field.
aic79xx.seq: Remove all updates to the DATA_COUNT_ODD scratch ram field. Remove all uses of ODD_SEG. These two save quite a few sequencer instructions.
Use SCB_XFERLEN_ODD to validate the end of transfer ignore wide residue message case.
|
1.5 | 29-Aug-2003 |
thorpej | Apply the following change made 5/26/2003 21:18:48 by gibbs to the FreeBSD ahd driver:
Change hadling of the Rev. A packetized lun output bug to be more efficient by having the sequencer copy the single byte of valid lun data into the long lun field.
aic79xx.c: Memset our hardware SCB to 0 so that untouched fields don't confuse diagnostic output. With the old method for handling the Rev A bug, if the long lun field was not 0, this could result in bogus lun information being sent to drives.
Use the same SCB transfer size for all chip types now that the long lun is not DMA'ed to the chip.
aic79xx.seq: Add code to copy lun information for Rev.A hardware.
aic79xx_inline.h: Remove host update of the long_lun field on every packetized command.
|
1.4 | 29-Aug-2003 |
thorpej | Apply the following change checked in 2003/05/04 00:20:07 by gibbs to the FreeBSD ahd driver:
Correct spelling errors.
Switch to handling bad SCSI status as a sequencer interrupt instead of having the kernel proccess these failures via the completion queue. This is done because:
o The old scheme required us to pause the sequencer and clear critical sections for each SCB. It seems that these pause actions, if coincident with a sequencer FIFO interrupt, would result in a FIFO interrupt getting lost or directing to the wrong FIFO. This caused hangs when the driver was stressed under high "queue full" loads. o The completion code assumed that it was always called with the sequencer running. This may not be the case in timeout processing where completions occur manually via ahd_pause_and_flushwork(). o With this scheme, the extra expense of clearing critical sections is avoided since the sequencer will only self pause once all pending selections have cleared and it is not in a critical section.
aic79xx.c Add code to handle the new BAD_SCB_STATUS sequencer interrupt code. This just redirects the SCB through the already existing ahd_complete_scb() code path. Remove code in ahd_handle_scsi_status() that paused the sequencer, made sure that no selections where pending, and cleared critical sections. Bad status SCBs are now only processed when all of these conditions are true.
aic79xx.reg: Add the BAD_SCB_STATUS sequencer interrupt code.
aic79xx.seq: When completing an SCB upload to the host, if we are doing this because the SCB contains non-zero SCSI status, defer completing the SCB until there are no pending selection events. When completing these SCBs, use the new BAD_SCB_STATUS sequencer interrupt. For all other uploaded SCBs (currently only for underruns), the SCB is completed via the normal done queue. Additionally, keep the SCB that is currently being uploaded on the COMPLETE_DMA_SCB list until the dma is completed, not just until the DMA is started. This ensures that the DMA is restarted properly should the host disable the DMA transfer for some reason.
In our RevA workaround for Maxtor drives, guard against the host pausing us while trying to pause I/O until the first data-valid REQ by clearing the current snapshot so that we can tell if the transfer has completed prior to us noticing the REQINIT status.
In cfg4data_intr, shave off an instruction before getting the data path running by adding an entrypoint to the overrun handler to also increment the FIFO use count.
In the overrun handler, be sure to clear our LONGJMP address in both exit paths.
Perform a few sequencer optimizations.
aic79xx.c: Print the full path from the SCB when a packetized status overrun occurs.
Remove references to LONGJMP_SCB which is being removed from firmware usage.
Print the new SCB_FIFO_USE_COUNT field in the per-SCB section of ahd_dump_card_state(). The SCB_TAG field is now re-used by the sequencer, so it no longer makes sense to reference this field in the kernel driver.
aic79xx.h: Re-arrange fields in the hardware SCB from largest size type to smallest. This makes it easier to move fields without changing field alignment.
The hardware scb tag field is now down near the "spare" portion of the SCB to facilitate reuse by the sequencer.
aic79xx.reg: Remove LONGJMP_ADDR.
Rearrange SCB fields to match aic79xx.h. Add SCB_FIFO_USE_COUNT as the first byte of the SCB_TAG field.
aic79xx.seq: Add a per-SCB "Fifos in use count" field and use it to determine when it is safe (all data posted) to deliver status back to the host. The old method involved polling one or both FIFOs to verify that the current task did not have pending data. This makes running down the GSFIFO very cheap, so we will empty the GSFIFO in one idle loop pass in all cases.
Use this simplification of the completion process to prune down the data FIFO teardown sequencer for packetized transfers. Much more code is now shared between the data residual and transfer complete cases.
Correct some issues in the packetized status handler. It used to be possible to CLRCHN our FIFO before status had fully transferred to the host. We also failed to handle NONPACKREQ phases that could occur should a CRC error occur during transmission of the status data packet.
Correct a few big endian issues:
aic79xx.c: aic79xx_inline.h: aic79xx_pci.c: aic79xx_osm.c: o Always get the SCB's tag via the SCB_GET_TAG acccessor o Add missing use of byte swapping macros when touching hscb fields. o Don't double swap SEEPROM data when it is printed. Correct a big-endian bug. We cannot assign a o When assigning a 32bit LE variable to a 64bit LE variable, we must be explict about how the words of the 64bit LE variable are initialized. Cast to (uint32_t*) to do this.
aic79xx.c: In ahd_clear_critical_section(), hit CRLSCSIINT after restoring the interrupt masks to avoid what appears to be a glitch on SCSIINT. Any real SCSIINT status will be persistent and will immidiately reset SCSIINT. This clear should only get rid of spurious SCSIINTs.
This glitch was the cause of the "Unexpected PKT busfree" status that occurred under high queue full loads
Call ahd_fini_scbdata() after shutdown so that any ahd_chip_init() routine that might access SCB data will not access free'd memory.
Reset the bus on an IOERR since the chip doesn't seem to reset to the new voltage level without this. Change offset calculation for scatter gather maps so that the calculation is correct if an integral multiple of sg lists does not fit in the allocation size.
Adjust bus dma tag for data buffers based on 39BIT addressing flag in our softc.
Use the QFREEZE count to simplify ahd_pause_and_flushworkd(). We can thus rely on the sequencer eventually clearing ENSELO.
In ahd_abort_scbs(), fix a bug that could potentially corrupt sequencer state. The saved SCB was being restored in the SCSI mode instead of the saved mode. It turns out that the SCB did not need to be saved at all as the scbptr is already restored by all subroutines called during this function that modify that register.
aic79xx.c: aic79xx.h: aic79xx_pci.c: Add support for parsing the seeprom vital product data. The VPD data are currently unused.
aic79xx.h: aic79xx.seq: aic79xx_pci.c: Add a firmware workaround to make the LED blink brighter during packetized operations on the H2A.
aic79xx_inline.h: The host does not use timer interrupts, so don't gate our decision on whether or not to unpause the sequencer on whether or not a timer interrupt is pending.
|
1.3 | 14-May-2003 |
wiz | branches: 1.3.2; Correct spelling of coalesce. (Will forward to Justin Gibbs.)
|
1.2 | 20-Apr-2003 |
fvdl | Regen.
|
1.1 | 19-Apr-2003 |
fvdl | Generated register/sequencer code include files for the ahc and ahd drivers.
|
1.3.2.1 | 03-Aug-2004 |
skrll | Sync with HEAD
|
1.13 | 25-Oct-2021 |
ryo | regen
|
1.12 | 27-Jun-2020 |
jdolecek | constify, NFCI
|
1.11 | 16-Nov-2006 |
christos | __unused removal on arguments; approved by core.
|
1.10 | 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.9 | 29-Aug-2003 |
thorpej | branches: 1.9.48; Apply the following change from 06/28/2003 04:44:10 by gibbs to the FreeBSD ahd driver:
Use clr instead of an explicit mov from ALLZEROS to clear SCB_FIFO_USE_COUNT. This is just a syntactic change.
|
1.8 | 29-Aug-2003 |
thorpej | Apply the following change from 06/28/2003 04:40:46 made by gibbs to the FreeBSD ahd driver:
aic79xx.seq: Remove an old comment that no longer applies.
Fix a jump in our unexpected non-packetized phase handler to use an explicit lable. The old code had a hardcoded jump offset that was off by one instruction.
|
1.7 | 29-Aug-2003 |
thorpej | Sync perforce IDs. (From FreeBSD)
|
1.6 | 29-Aug-2003 |
thorpej | Apply the following change from 05/30/2003 02:14:22 made by scottl to the FreeBSD ahd driver:
Fix a reported case of severe data corruption:
aic79xx.h: aic79xx.reg: Return the SCB_TAG field to 16byte alignment. It seems that on some PCI systems, SCBs are not transferred correctly to the controller with the previous placement of the SCB_TAG field.
Approved by: re (rwatson)
|
1.5 | 29-Aug-2003 |
thorpej | Apply the following change made on 5/26/2003 21:26:51 by gibbs to the FreeBSD ahd driver:
Correct/Simplify ignore wide residue message handling
aic79xx.c: In ahd_handle_ign_wide_residue(): o Use SCB_XFERLEN_ODD SCB field to determine transfer "oddness" rather than the DATA_COUNT_ODD logic. SCB_XFERLEN_ODD is toggled on every ignore wide residue message so that multiple ignore wide residue messages for the same transaction are properly supported. o If the sg list has been exausted, the sequencer doesn't bother to update the residual data count since it is known to be zero. Perform the zeroing manually before calculating the remaining data count. o Use multibyte in/out macros instead of shifting/masking by hand.
aic79xx_inline.h: In ahd_setup_scb_common(), setup the SCB_XFERLEN_ODD field.
aic79xx.reg: Use the SCB_TASK_ATTRIBUTE field as a bit field in the non-packetized case. We currently only define one bit, SCB_XFERLEN_ODD.
Remove the ODD_SEG bit field that was used to carry the odd transfer length information through the SG cache. This is obviated by SCB_XFERLEN_ODD field.
Remove the DATA_COUNT_ODD scratch ram byte that was used dynamicaly compute data transfer oddness. This is obviated by SCB_XFERLEN_ODD field.
aic79xx.seq: Remove all updates to the DATA_COUNT_ODD scratch ram field. Remove all uses of ODD_SEG. These two save quite a few sequencer instructions.
Use SCB_XFERLEN_ODD to validate the end of transfer ignore wide residue message case.
|
1.4 | 29-Aug-2003 |
thorpej | Apply the following change made 5/26/2003 21:18:48 by gibbs to the FreeBSD ahd driver:
Change hadling of the Rev. A packetized lun output bug to be more efficient by having the sequencer copy the single byte of valid lun data into the long lun field.
aic79xx.c: Memset our hardware SCB to 0 so that untouched fields don't confuse diagnostic output. With the old method for handling the Rev A bug, if the long lun field was not 0, this could result in bogus lun information being sent to drives.
Use the same SCB transfer size for all chip types now that the long lun is not DMA'ed to the chip.
aic79xx.seq: Add code to copy lun information for Rev.A hardware.
aic79xx_inline.h: Remove host update of the long_lun field on every packetized command.
|
1.3 | 29-Aug-2003 |
thorpej | Apply the following change checked in 2003/05/04 00:20:07 by gibbs to the FreeBSD ahd driver:
Correct spelling errors.
Switch to handling bad SCSI status as a sequencer interrupt instead of having the kernel proccess these failures via the completion queue. This is done because:
o The old scheme required us to pause the sequencer and clear critical sections for each SCB. It seems that these pause actions, if coincident with a sequencer FIFO interrupt, would result in a FIFO interrupt getting lost or directing to the wrong FIFO. This caused hangs when the driver was stressed under high "queue full" loads. o The completion code assumed that it was always called with the sequencer running. This may not be the case in timeout processing where completions occur manually via ahd_pause_and_flushwork(). o With this scheme, the extra expense of clearing critical sections is avoided since the sequencer will only self pause once all pending selections have cleared and it is not in a critical section.
aic79xx.c Add code to handle the new BAD_SCB_STATUS sequencer interrupt code. This just redirects the SCB through the already existing ahd_complete_scb() code path. Remove code in ahd_handle_scsi_status() that paused the sequencer, made sure that no selections where pending, and cleared critical sections. Bad status SCBs are now only processed when all of these conditions are true.
aic79xx.reg: Add the BAD_SCB_STATUS sequencer interrupt code.
aic79xx.seq: When completing an SCB upload to the host, if we are doing this because the SCB contains non-zero SCSI status, defer completing the SCB until there are no pending selection events. When completing these SCBs, use the new BAD_SCB_STATUS sequencer interrupt. For all other uploaded SCBs (currently only for underruns), the SCB is completed via the normal done queue. Additionally, keep the SCB that is currently being uploaded on the COMPLETE_DMA_SCB list until the dma is completed, not just until the DMA is started. This ensures that the DMA is restarted properly should the host disable the DMA transfer for some reason.
In our RevA workaround for Maxtor drives, guard against the host pausing us while trying to pause I/O until the first data-valid REQ by clearing the current snapshot so that we can tell if the transfer has completed prior to us noticing the REQINIT status.
In cfg4data_intr, shave off an instruction before getting the data path running by adding an entrypoint to the overrun handler to also increment the FIFO use count.
In the overrun handler, be sure to clear our LONGJMP address in both exit paths.
Perform a few sequencer optimizations.
aic79xx.c: Print the full path from the SCB when a packetized status overrun occurs.
Remove references to LONGJMP_SCB which is being removed from firmware usage.
Print the new SCB_FIFO_USE_COUNT field in the per-SCB section of ahd_dump_card_state(). The SCB_TAG field is now re-used by the sequencer, so it no longer makes sense to reference this field in the kernel driver.
aic79xx.h: Re-arrange fields in the hardware SCB from largest size type to smallest. This makes it easier to move fields without changing field alignment.
The hardware scb tag field is now down near the "spare" portion of the SCB to facilitate reuse by the sequencer.
aic79xx.reg: Remove LONGJMP_ADDR.
Rearrange SCB fields to match aic79xx.h. Add SCB_FIFO_USE_COUNT as the first byte of the SCB_TAG field.
aic79xx.seq: Add a per-SCB "Fifos in use count" field and use it to determine when it is safe (all data posted) to deliver status back to the host. The old method involved polling one or both FIFOs to verify that the current task did not have pending data. This makes running down the GSFIFO very cheap, so we will empty the GSFIFO in one idle loop pass in all cases.
Use this simplification of the completion process to prune down the data FIFO teardown sequencer for packetized transfers. Much more code is now shared between the data residual and transfer complete cases.
Correct some issues in the packetized status handler. It used to be possible to CLRCHN our FIFO before status had fully transferred to the host. We also failed to handle NONPACKREQ phases that could occur should a CRC error occur during transmission of the status data packet.
Correct a few big endian issues:
aic79xx.c: aic79xx_inline.h: aic79xx_pci.c: aic79xx_osm.c: o Always get the SCB's tag via the SCB_GET_TAG acccessor o Add missing use of byte swapping macros when touching hscb fields. o Don't double swap SEEPROM data when it is printed. Correct a big-endian bug. We cannot assign a o When assigning a 32bit LE variable to a 64bit LE variable, we must be explict about how the words of the 64bit LE variable are initialized. Cast to (uint32_t*) to do this.
aic79xx.c: In ahd_clear_critical_section(), hit CRLSCSIINT after restoring the interrupt masks to avoid what appears to be a glitch on SCSIINT. Any real SCSIINT status will be persistent and will immidiately reset SCSIINT. This clear should only get rid of spurious SCSIINTs.
This glitch was the cause of the "Unexpected PKT busfree" status that occurred under high queue full loads
Call ahd_fini_scbdata() after shutdown so that any ahd_chip_init() routine that might access SCB data will not access free'd memory.
Reset the bus on an IOERR since the chip doesn't seem to reset to the new voltage level without this. Change offset calculation for scatter gather maps so that the calculation is correct if an integral multiple of sg lists does not fit in the allocation size.
Adjust bus dma tag for data buffers based on 39BIT addressing flag in our softc.
Use the QFREEZE count to simplify ahd_pause_and_flushworkd(). We can thus rely on the sequencer eventually clearing ENSELO.
In ahd_abort_scbs(), fix a bug that could potentially corrupt sequencer state. The saved SCB was being restored in the SCSI mode instead of the saved mode. It turns out that the SCB did not need to be saved at all as the scbptr is already restored by all subroutines called during this function that modify that register.
aic79xx.c: aic79xx.h: aic79xx_pci.c: Add support for parsing the seeprom vital product data. The VPD data are currently unused.
aic79xx.h: aic79xx.seq: aic79xx_pci.c: Add a firmware workaround to make the LED blink brighter during packetized operations on the H2A.
aic79xx_inline.h: The host does not use timer interrupts, so don't gate our decision on whether or not to unpause the sequencer on whether or not a timer interrupt is pending.
|
1.2 | 20-Apr-2003 |
fvdl | branches: 1.2.2; Regen.
|
1.1 | 19-Apr-2003 |
fvdl | Generated register/sequencer code include files for the ahc and ahd drivers.
|
1.2.2.1 | 03-Aug-2004 |
skrll | Sync with HEAD
|
1.9.48.2 | 10-Dec-2006 |
yamt | sync with head.
|
1.9.48.1 | 22-Oct-2006 |
yamt | sync with head
|
1.8 | 18-Aug-2025 |
andvar | Fix various typos, mainly in comments: s/invaid/invalid/ s/instad/instead/ s/wich/with/ s/tranform/transform/ s/tranmist/transmit/ s/tranceiver/transceiver/ s/Tranparent/Transparent/ s/tranlated/translated/ s/tranfer/transfer/ s/tranmissions/transmissions/ s/condtions/conditions/ s/Recient/Recent/
|
1.7 | 02-Feb-2024 |
andvar | fix various typos in comments.
|
1.6 | 25-Jan-2022 |
andvar | fix various typos in comments.
|
1.5 | 07-Aug-2021 |
andvar | s/configuraiton/configuration/ in comments and man pages.
|
1.4 | 11-Dec-2005 |
christos | merge ktrace-lwp.
|
1.3 | 27-Feb-2005 |
perry | nuke trailing whitespace
|
1.2 | 19-Apr-2003 |
fvdl | branches: 1.2.2; 1.2.10; 1.2.12; Newer aic sequencer assembler. From FreeBSD, written by Justin Gibbs. Ported to NetBSD by Pascal Renauld at Network Storage Solutions, Inc. Some Makefile changes by me.
The 79xx code isn't yet used, driver for that to follow shortly.
|
1.1 | 15-Mar-2000 |
fvdl | branches: 1.1.6; New ahc driver, a port of Justin Gibbs' FreeBSD driver. This adds support for the U2W chips, and U160 controllers.
|
1.1.6.2 | 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.1.6.1 | 15-Mar-2000 |
bouyer | file aic7xxx.reg was added on branch thorpej_scsipi on 2000-11-20 11:41:33 +0000
|
1.2.12.1 | 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.2.10.1 | 29-Apr-2005 |
kent | sync with -current
|
1.2.2.1 | 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.24 | 10-Feb-2024 |
andvar | s/psuedo/pseudo/ in comments.
|
1.23 | 27-Jun-2022 |
andvar | fix various typos in comments.
|
1.22 | 25-Jan-2022 |
andvar | fix various typos in comments.
|
1.21 | 03-Sep-2021 |
andvar | s/existant/existent/ in comments and messages, plus few more similar fixes.
|
1.20 | 04-Jun-2019 |
msaitoh | Fix typo (s/recevie/receive/).
|
1.19 | 18-Oct-2014 |
snj | branches: 1.19.20; src is too big these days to tolerate superfluous apostrophes. It's "its", people!
|
1.18 | 25-Nov-2006 |
christos | branches: 1.18.98; spell precede; from Zafer
|
1.17 | 11-Dec-2005 |
christos | branches: 1.17.20; 1.17.22; merge ktrace-lwp.
|
1.16 | 27-Feb-2005 |
perry | branches: 1.16.4; nuke trailing whitespace
|
1.15 | 03-May-2003 |
wiz | branches: 1.15.2; 1.15.10; 1.15.12; DMA, not dma nor Dma.
|
1.14 | 19-Apr-2003 |
fvdl | Newer aic sequencer assembler. From FreeBSD, written by Justin Gibbs. Ported to NetBSD by Pascal Renauld at Network Storage Solutions, Inc. Some Makefile changes by me.
The 79xx code isn't yet used, driver for that to follow shortly.
|
1.13 | 20-Aug-2001 |
wiz | precede, not preceed.
|
1.12 | 19-Jun-2001 |
wiz | branches: 1.12.2; `response', not `responce'
|
1.11 | 15-Mar-2000 |
fvdl | branches: 1.11.6; New ahc driver, a port of Justin Gibbs' FreeBSD driver. This adds support for the U2W chips, and U160 controllers.
|
1.10 | 04-Jul-1998 |
mjacob | branches: 1.10.14; port-i386/5706: I had no problem with the previous patch, but someone else has. Rolling it back while we try and figure it out.
|
1.9 | 03-Jul-1998 |
mjacob | Patches from Justin that handle some REV B AIC7880 problems
|
1.8 | 16-Apr-1998 |
leo | Backout endian changes here (per discussion with Justin) and move them to aic7xxx.c
|
1.7 | 11-Mar-1998 |
leo | Make it possible to interface to big-endian cpu's.
|
1.6 | 08-Oct-1996 |
gibbs | dev/microcode/aic7xxx/aic7xxx.seq, dev/microcode/aic7xxx_seq.h, dev/ic/aic7xxxreg.h: Remove intrinsic knowledge about SDTR and WDTR messages and replace it with a generic message system that allows the kernel driver to handle SDTR, WDTR and any other type of extended message it chooses too. This makes the sequencer code much simpler, makes extended message handling debuggable since the bulk of the work is in the kernel driver, and saves lots of instruction space.
Regen microcode header file.
dev/ic/aic7xxx.c, dev/ic/aic7xxxvar.h: Add code to handle WDTR and SDTR negotiation in light of the changes in the message interface to the sequencer. Don't reject targets that negotiate async by sending an SDTR with a 0 offset. Use an sdtr message with 0,0 to negotiate async when a target suggests a period that is too long for us to handle. Some tape and cdrom drives don't like us doing the message reject that we did in the past.
Fix a problem with handing the QUEUE FULL condition.
Fix a race condition (most likely the cause of the SCB paging problems) that might allow the sequencer to get unpaused before the condition that caused it to be paused (a SEQINT) was handled.
Race condition pointed out by Doug Ledford <dledford@dialnet.net> and by "Dan Willis" <dan@plutotech.com>.
dev/pci/ahc_pci.c: Add support for the 2940AU, an aic7860 based controller.
dev/pci/pcidevs.h, dev/pci/pcidevs_data.h: Add product IDs for the 2940AU, aic7860 and aic7855.
Regen data file.
scsi/scsi_message.h: Add MSG_EXT_SDTR_LEN and MSG_EXT_WDTR_LEN - the length of bytes in these extended messages.
Thanks to Chuck Cranor <chuck@maria.wustl.edu> for testing these changes out for me.
|
1.5 | 10-Aug-1996 |
mycroft | Compile the sequencer statically.
|
1.4 | 10-Jul-1996 |
explorer | Updates to aic7xxx driver ; from pr port-i386/2600
|
1.3 | 20-May-1996 |
thorpej | branches: 1.3.4; RCS Id police.
|
1.2 | 16-May-1996 |
mycroft | New version, with changes from Justin Gibbs and Noriyuki Soda.
|
1.1 | 09-Oct-1995 |
mycroft | Add an Adaptec 2940 driver, by John Aycock and Justin Gibbs, ported to NetBSD by Stefan Grefen, with several bug fixes by me.
|
1.3.4.2 | 04-Mar-1997 |
mycroft | Pull up latest ahc driver. Fixes several bugs.
|
1.3.4.1 | 18-Jul-1996 |
jtc | Pulled up from rev 1.4, ahc fixes
|
1.10.14.1 | 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.11.6.2 | 24-Aug-2001 |
nathanw | Catch up with -current.
|
1.11.6.1 | 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.12.2.1 | 25-Aug-2001 |
thorpej | Merge Aug 24 -current into the kqueue branch.
|
1.15.12.1 | 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.15.10.1 | 29-Apr-2005 |
kent | sync with -current
|
1.15.2.1 | 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.16.4.1 | 30-Dec-2006 |
yamt | sync with head.
|
1.17.22.1 | 10-Dec-2006 |
yamt | sync with head.
|
1.17.20.1 | 12-Jan-2007 |
ad | Sync with head.
|
1.18.98.1 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.19.20.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.4 | 15-Mar-2000 |
fvdl | New ahc driver, a port of Justin Gibbs' FreeBSD driver. This adds support for the U2W chips, and U160 controllers.
|
1.3 | 22-Mar-1999 |
garbled | branches: 1.3.8; More and more .Os cleanups. .Os is defined in the tmac.doc-common file, so we shouldn't override it with versions in the manpages. Many more to come.
|
1.2 | 20-May-1996 |
thorpej | RCS Id police.
|
1.1 | 09-Oct-1995 |
mycroft | Add an Adaptec 2940 driver, by John Aycock and Justin Gibbs, ported to NetBSD by Stefan Grefen, with several bug fixes by me.
|
1.3.8.1 | 20-Nov-2000 |
bouyer | Remove files that are no longer on the trunck, and commit Makefile which I forgot in the batch of commits.
|
1.6 | 15-Mar-2000 |
fvdl | New ahc driver, a port of Justin Gibbs' FreeBSD driver. This adds support for the U2W chips, and U160 controllers.
|
1.5 | 01-Nov-1997 |
lukem | branches: 1.5.14; getopt returns -1 not EOF
|
1.4 | 20-May-1996 |
thorpej | RCS Id police.
|
1.3 | 16-May-1996 |
mycroft | New version, with changes from Justin Gibbs and Noriyuki Soda.
|
1.2 | 29-Apr-1996 |
christos | Add prototypes.
|
1.1 | 09-Oct-1995 |
mycroft | Add an Adaptec 2940 driver, by John Aycock and Justin Gibbs, ported to NetBSD by Stefan Grefen, with several bug fixes by me.
|
1.5.14.1 | 20-Nov-2000 |
bouyer | Remove files that are no longer on the trunck, and commit Makefile which I forgot in the batch of commits.
|
1.6 | 25-Oct-2021 |
ryo | regen
|
1.5 | 27-Jun-2020 |
jdolecek | make sure to strip leading '$' from NetBSD rcs id so that it won't be replaces by cvs, and regen the headers again
|
1.4 | 27-Jun-2020 |
jdolecek | regen again
|
1.3 | 27-Jun-2020 |
jdolecek | regen - NFCI, confirmed by comparing compiled binary object before and after
|
1.2 | 19-Apr-2003 |
fvdl | Generated register/sequencer code include files for the ahc and ahd drivers.
|
1.1 | 15-Mar-2000 |
fvdl | branches: 1.1.6; New ahc driver, a port of Justin Gibbs' FreeBSD driver. This adds support for the U2W chips, and U160 controllers.
|
1.1.6.2 | 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.1.6.1 | 15-Mar-2000 |
bouyer | file aic7xxx_reg.h was added on branch thorpej_scsipi on 2000-11-20 11:41:33 +0000
|
1.15 | 25-Oct-2021 |
ryo | regen
|
1.14 | 27-Jun-2020 |
jdolecek | constify, NFCI
|
1.13 | 27-Jun-2020 |
jdolecek | make sure to strip leading '$' from NetBSD rcs id so that it won't be replaces by cvs, and regen the headers again
|
1.12 | 27-Jun-2020 |
jdolecek | regen - NFCI, confirmed by comparing compiled binary object before and after
|
1.11 | 16-Nov-2006 |
christos | __unused removal on arguments; approved by core.
|
1.10 | 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.9 | 19-Apr-2003 |
fvdl | branches: 1.9.48; 1.9.50; Generated register/sequencer code include files for the ahc and ahd drivers.
|
1.8 | 30-Apr-2001 |
lukem | minor lint
|
1.7 | 22-Jan-2001 |
jdolecek | branches: 1.7.2; make patches[] const
|
1.6 | 18-Jan-2001 |
jdolecek | constify
|
1.5 | 15-Mar-2000 |
fvdl | New ahc driver, a port of Justin Gibbs' FreeBSD driver. This adds support for the U2W chips, and U160 controllers.
|
1.4 | 04-Jul-1998 |
mjacob | branches: 1.4.14; port-i386/5706: I had no problem with the previous patch, but someone else has. Rolling it back while we try and figure it out.
|
1.3 | 03-Jul-1998 |
mjacob | Patches from Justin that handle some REV B AIC7880 problems
|
1.2 | 08-Oct-1996 |
gibbs | branches: 1.2.6; dev/microcode/aic7xxx/aic7xxx.seq, dev/microcode/aic7xxx_seq.h, dev/ic/aic7xxxreg.h: Remove intrinsic knowledge about SDTR and WDTR messages and replace it with a generic message system that allows the kernel driver to handle SDTR, WDTR and any other type of extended message it chooses too. This makes the sequencer code much simpler, makes extended message handling debuggable since the bulk of the work is in the kernel driver, and saves lots of instruction space.
Regen microcode header file.
dev/ic/aic7xxx.c, dev/ic/aic7xxxvar.h: Add code to handle WDTR and SDTR negotiation in light of the changes in the message interface to the sequencer. Don't reject targets that negotiate async by sending an SDTR with a 0 offset. Use an sdtr message with 0,0 to negotiate async when a target suggests a period that is too long for us to handle. Some tape and cdrom drives don't like us doing the message reject that we did in the past.
Fix a problem with handing the QUEUE FULL condition.
Fix a race condition (most likely the cause of the SCB paging problems) that might allow the sequencer to get unpaused before the condition that caused it to be paused (a SEQINT) was handled.
Race condition pointed out by Doug Ledford <dledford@dialnet.net> and by "Dan Willis" <dan@plutotech.com>.
dev/pci/ahc_pci.c: Add support for the 2940AU, an aic7860 based controller.
dev/pci/pcidevs.h, dev/pci/pcidevs_data.h: Add product IDs for the 2940AU, aic7860 and aic7855.
Regen data file.
scsi/scsi_message.h: Add MSG_EXT_SDTR_LEN and MSG_EXT_WDTR_LEN - the length of bytes in these extended messages.
Thanks to Chuck Cranor <chuck@maria.wustl.edu> for testing these changes out for me.
|
1.1 | 10-Aug-1996 |
mycroft | Compile the sequencer statically.
|
1.2.6.2 | 04-Mar-1997 |
mycroft | Regen.
|
1.2.6.1 | 08-Oct-1996 |
mycroft | file aic7xxx_seq.h was added on branch netbsd-1-2 on 1997-03-04 14:55:54 +0000
|
1.4.14.2 | 11-Feb-2001 |
bouyer | Sync with HEAD.
|
1.4.14.1 | 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.7.2.1 | 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.9.50.2 | 10-Dec-2006 |
yamt | sync with head.
|
1.9.50.1 | 22-Oct-2006 |
yamt | sync with head
|
1.9.48.1 | 18-Nov-2006 |
ad | Sync with head.
|
1.14 | 01-Sep-2023 |
andvar | fix typos in comments, mainly s/innner/inner/.
|
1.13 | 24-May-2022 |
andvar | fix various typos in comment, documentation and log messages.
|
1.12 | 25-Oct-2021 |
ryo | For "num_critical_sections", now output not only the "static const int" variable but also macro definition.
|
1.11 | 24-Jul-2021 |
andvar | Fix all remaining typos, mainly in comments but also in few definitions and log messages, reported by me in PR kern/54889. Also fixed some additional typos in comments, found on review of same files or typos.
|
1.10 | 27-Jun-2020 |
jdolecek | branches: 1.10.6; constify, NFCI
|
1.9 | 15-Aug-2016 |
maxv | This thing is completely buggy. There is a use-after-free and NULL pointer dereference. Just fix the uaf, and add a comment. Not tested, but obvious enough; found by brainy.
|
1.8 | 27-Dec-2009 |
jakllsch | branches: 1.8.22; 1.8.40; Free memory when done with it. From Henning Petersen in PR/42522.
|
1.7 | 18-Mar-2009 |
cegger | Ansify function definitions w/o arguments. Generated with sed.
|
1.6 | 11-Dec-2005 |
christos | branches: 1.6.74; 1.6.84; 1.6.90; merge ktrace-lwp.
|
1.5 | 14-Jul-2003 |
lukem | add missing __RCSID()
|
1.4 | 19-Apr-2003 |
fvdl | branches: 1.4.2; Newer aic sequencer assembler. From FreeBSD, written by Justin Gibbs. Ported to NetBSD by Pascal Renauld at Network Storage Solutions, Inc. Some Makefile changes by me.
The 79xx code isn't yet used, driver for that to follow shortly.
|
1.3 | 22-Jan-2001 |
jdolecek | make patches[] const
|
1.2 | 18-Jan-2001 |
jdolecek | constify
|
1.1 | 15-Mar-2000 |
fvdl | branches: 1.1.6; New ahc driver, a port of Justin Gibbs' FreeBSD driver. This adds support for the U2W chips, and U160 controllers.
|
1.1.6.3 | 11-Feb-2001 |
bouyer | Sync with HEAD.
|
1.1.6.2 | 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.1.6.1 | 15-Mar-2000 |
bouyer | file aicasm.c was added on branch thorpej_scsipi on 2000-11-20 11:41:33 +0000
|
1.4.2.3 | 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.4.2.2 | 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.4.2.1 | 03-Aug-2004 |
skrll | Sync with HEAD
|
1.6.90.1 | 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.6.84.1 | 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.6.74.2 | 11-Mar-2010 |
yamt | sync with head
|
1.6.74.1 | 04-May-2009 |
yamt | sync with head.
|
1.8.40.1 | 05-Oct-2016 |
skrll | Sync with HEAD
|
1.8.22.1 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.10.6.1 | 01-Aug-2021 |
thorpej | Sync with HEAD.
|
1.4 | 11-Dec-2005 |
christos | merge ktrace-lwp.
|
1.3 | 27-Feb-2005 |
perry | nuke trailing whitespace
|
1.2 | 19-Apr-2003 |
fvdl | branches: 1.2.2; 1.2.10; 1.2.12; Newer aic sequencer assembler. From FreeBSD, written by Justin Gibbs. Ported to NetBSD by Pascal Renauld at Network Storage Solutions, Inc. Some Makefile changes by me.
The 79xx code isn't yet used, driver for that to follow shortly.
|
1.1 | 15-Mar-2000 |
fvdl | branches: 1.1.6; New ahc driver, a port of Justin Gibbs' FreeBSD driver. This adds support for the U2W chips, and U160 controllers.
|
1.1.6.2 | 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.1.6.1 | 15-Mar-2000 |
bouyer | file aicasm.h was added on branch thorpej_scsipi on 2000-11-20 11:41:34 +0000
|
1.2.12.1 | 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.2.10.1 | 29-Apr-2005 |
kent | sync with -current
|
1.2.2.1 | 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.9 | 25-Oct-2021 |
ryo | fix build failure of "multiple definition"
|
1.8 | 19-Sep-2021 |
andvar | fix various typos in comments, messages and documentation.
|
1.7 | 27-Jun-2020 |
jdolecek | make sure to strip leading '$' from NetBSD rcs id so that it won't be replaces by cvs, and regen the headers again
|
1.6 | 25-Nov-2006 |
christos | spell precede; from Zafer
|
1.5 | 11-Dec-2005 |
christos | branches: 1.5.20; 1.5.22; merge ktrace-lwp.
|
1.4 | 27-Feb-2005 |
perry | branches: 1.4.4; nuke trailing whitespace
|
1.3 | 19-Apr-2003 |
fvdl | branches: 1.3.2; 1.3.10; 1.3.12; Newer aic sequencer assembler. From FreeBSD, written by Justin Gibbs. Ported to NetBSD by Pascal Renauld at Network Storage Solutions, Inc. Some Makefile changes by me.
The 79xx code isn't yet used, driver for that to follow shortly.
|
1.2 | 02-Jun-2002 |
lukem | Use SLIST_*() instead of accessing slh_first,sle_next directly.
XXX: this program currently doesn't parse macros that cross the EOL with \ (there are a couple in sys/dev/scsipi/scsi_message.h). with that issue temporarily worked around, this change generates the same output as the version of aicasm without this change.
|
1.1 | 15-Mar-2000 |
fvdl | branches: 1.1.6; 1.1.8; 1.1.10; 1.1.22; New ahc driver, a port of Justin Gibbs' FreeBSD driver. This adds support for the U2W chips, and U160 controllers.
|
1.1.22.1 | 20-Jun-2002 |
gehenna | catch up with -current.
|
1.1.10.1 | 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.1.8.1 | 20-Jun-2002 |
nathanw | Catch up to -current.
|
1.1.6.2 | 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.1.6.1 | 15-Mar-2000 |
bouyer | file aicasm_gram.y was added on branch thorpej_scsipi on 2000-11-20 11:41:34 +0000
|
1.3.12.1 | 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.3.10.1 | 29-Apr-2005 |
kent | sync with -current
|
1.3.2.1 | 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.4.4.1 | 30-Dec-2006 |
yamt | sync with head.
|
1.5.22.1 | 10-Dec-2006 |
yamt | sync with head.
|
1.5.20.1 | 12-Jan-2007 |
ad | Sync with head.
|
1.1 | 19-Apr-2003 |
fvdl | Newer aic sequencer assembler. From FreeBSD, written by Justin Gibbs. Ported to NetBSD by Pascal Renauld at Network Storage Solutions, Inc. Some Makefile changes by me.
The 79xx code isn't yet used, driver for that to follow shortly.
|
1.4 | 10-Feb-2024 |
andvar | Fix various typos in comments, log messages and documentation.
|
1.3 | 27-Jun-2020 |
jdolecek | make this compile with normal WARNS
|
1.2 | 25-Nov-2006 |
christos | spell precede; from Zafer
|
1.1 | 19-Apr-2003 |
fvdl | branches: 1.1.18; 1.1.48; 1.1.50; Newer aic sequencer assembler. From FreeBSD, written by Justin Gibbs. Ported to NetBSD by Pascal Renauld at Network Storage Solutions, Inc. Some Makefile changes by me.
The 79xx code isn't yet used, driver for that to follow shortly.
|
1.1.50.1 | 10-Dec-2006 |
yamt | sync with head.
|
1.1.48.1 | 12-Jan-2007 |
ad | Sync with head.
|
1.1.18.1 | 30-Dec-2006 |
yamt | sync with head.
|
1.3 | 11-Dec-2005 |
christos | merge ktrace-lwp.
|
1.2 | 27-Feb-2005 |
perry | nuke trailing whitespace
|
1.1 | 19-Apr-2003 |
fvdl | branches: 1.1.2; 1.1.10; 1.1.12; Newer aic sequencer assembler. From FreeBSD, written by Justin Gibbs. Ported to NetBSD by Pascal Renauld at Network Storage Solutions, Inc. Some Makefile changes by me.
The 79xx code isn't yet used, driver for that to follow shortly.
|
1.1.12.1 | 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.1.10.1 | 29-Apr-2005 |
kent | sync with -current
|
1.1.2.1 | 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.6 | 27-Jun-2020 |
jdolecek | make this compile with normal WARNS
|
1.5 | 11-Dec-2005 |
christos | merge ktrace-lwp.
|
1.4 | 27-Feb-2005 |
perry | nuke trailing whitespace
|
1.3 | 19-Apr-2003 |
fvdl | branches: 1.3.2; 1.3.10; 1.3.12; Newer aic sequencer assembler. From FreeBSD, written by Justin Gibbs. Ported to NetBSD by Pascal Renauld at Network Storage Solutions, Inc. Some Makefile changes by me.
The 79xx code isn't yet used, driver for that to follow shortly.
|
1.2 | 02-Jun-2002 |
lukem | Use SLIST_*() instead of accessing slh_first,sle_next directly.
XXX: this program currently doesn't parse macros that cross the EOL with \ (there are a couple in sys/dev/scsipi/scsi_message.h). with that issue temporarily worked around, this change generates the same output as the version of aicasm without this change.
|
1.1 | 15-Mar-2000 |
fvdl | branches: 1.1.6; 1.1.8; 1.1.10; 1.1.22; New ahc driver, a port of Justin Gibbs' FreeBSD driver. This adds support for the U2W chips, and U160 controllers.
|
1.1.22.1 | 20-Jun-2002 |
gehenna | catch up with -current.
|
1.1.10.1 | 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.1.8.1 | 20-Jun-2002 |
nathanw | Catch up to -current.
|
1.1.6.2 | 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.1.6.1 | 15-Mar-2000 |
bouyer | file aicasm_scan.l was added on branch thorpej_scsipi on 2000-11-20 11:41:34 +0000
|
1.3.12.1 | 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.3.10.1 | 29-Apr-2005 |
kent | sync with -current
|
1.3.2.1 | 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.9 | 24-May-2022 |
andvar | fix various typos in comment, documentation and log messages.
|
1.8 | 01-Jan-2022 |
andvar | fix typos in word "diagnostic".
|
1.7 | 27-Jun-2020 |
jdolecek | make this compile with normal WARNS
|
1.6 | 18-Mar-2009 |
cegger | Ansify function definitions w/o arguments. Generated with sed.
|
1.5 | 11-Dec-2005 |
christos | branches: 1.5.74; 1.5.84; 1.5.90; merge ktrace-lwp.
|
1.4 | 14-Jul-2003 |
lukem | add missing __RCSID()
|
1.3 | 19-Apr-2003 |
fvdl | branches: 1.3.2; Newer aic sequencer assembler. From FreeBSD, written by Justin Gibbs. Ported to NetBSD by Pascal Renauld at Network Storage Solutions, Inc. Some Makefile changes by me.
The 79xx code isn't yet used, driver for that to follow shortly.
|
1.2 | 02-Jun-2002 |
lukem | Use SLIST_*() instead of accessing slh_first,sle_next directly.
XXX: this program currently doesn't parse macros that cross the EOL with \ (there are a couple in sys/dev/scsipi/scsi_message.h). with that issue temporarily worked around, this change generates the same output as the version of aicasm without this change.
|
1.1 | 15-Mar-2000 |
fvdl | branches: 1.1.6; 1.1.8; 1.1.10; 1.1.22; New ahc driver, a port of Justin Gibbs' FreeBSD driver. This adds support for the U2W chips, and U160 controllers.
|
1.1.22.1 | 20-Jun-2002 |
gehenna | catch up with -current.
|
1.1.10.1 | 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.1.8.1 | 20-Jun-2002 |
nathanw | Catch up to -current.
|
1.1.6.2 | 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.1.6.1 | 15-Mar-2000 |
bouyer | file aicasm_symbol.c was added on branch thorpej_scsipi on 2000-11-20 11:41:34 +0000
|
1.3.2.3 | 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.3.2.2 | 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.3.2.1 | 03-Aug-2004 |
skrll | Sync with HEAD
|
1.5.90.1 | 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.5.84.1 | 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.5.74.1 | 04-May-2009 |
yamt | sync with head.
|
1.4 | 24-May-2022 |
andvar | fix various typos in comment, documentation and log messages.
|
1.3 | 25-Oct-2021 |
ryo | fix build failure of "multiple definition"
|
1.2 | 19-Apr-2003 |
fvdl | Newer aic sequencer assembler. From FreeBSD, written by Justin Gibbs. Ported to NetBSD by Pascal Renauld at Network Storage Solutions, Inc. Some Makefile changes by me.
The 79xx code isn't yet used, driver for that to follow shortly.
|
1.1 | 15-Mar-2000 |
fvdl | branches: 1.1.6; New ahc driver, a port of Justin Gibbs' FreeBSD driver. This adds support for the U2W chips, and U160 controllers.
|
1.1.6.2 | 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.1.6.1 | 15-Mar-2000 |
bouyer | file aicasm_symbol.h was added on branch thorpej_scsipi on 2000-11-20 11:41:34 +0000
|
1.2 | 19-Apr-2003 |
fvdl | Newer aic sequencer assembler. From FreeBSD, written by Justin Gibbs. Ported to NetBSD by Pascal Renauld at Network Storage Solutions, Inc. Some Makefile changes by me.
The 79xx code isn't yet used, driver for that to follow shortly.
|
1.1 | 15-Mar-2000 |
fvdl | branches: 1.1.6; New ahc driver, a port of Justin Gibbs' FreeBSD driver. This adds support for the U2W chips, and U160 controllers.
|
1.1.6.2 | 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.1.6.1 | 15-Mar-2000 |
bouyer | file sequencer.h was added on branch thorpej_scsipi on 2000-11-20 11:41:34 +0000
|