History log of /src/sys/dev/microcode/siop |
Revision | Date | Author | Comments |
1.6 | 06-Apr-2003 |
tsutsui | Tweak siop scripts assembler for new oosiop.
|
1.5 | 21-Apr-2002 |
bouyer | First cut at a esiop driver (enhanced siop). Doesn't implement tagged queuing yet. If is restricted to SIOP which implement the load/store instruction, and has 10 scratch registers (basically, 825 and newer, possibly 770). It implements a different interface between host and script, using a real ring for command starts, and improved support for reconnect which will allow 256 tag per device. It uses interrupt on the fly to signal complete command, which allows several commands to be serviced per interrupt and doesn't require the script to stop to signal command completion.
|
1.4 | 12-Dec-2001 |
tv | MKfoo=no -> NOfoo
|
1.3 | 05-Dec-2001 |
fredette | Now generate oosiop.out, the compiled 53c700 script.
|
1.2 | 30-Apr-2001 |
tsutsui | branches: 1.2.2; Add a MI driver for the Symbios/NCR 53c710 SCSI controller. This is based on amiga's siop driver, but converted to use bus_space(9) functions and modified to fit bus_dma(9) framework.
Currently tested on NetBSD/arc with jazzio 53c710 SCSI, which really requires bus_dma(9) functions :-) Sync transfers and disconnect/reconnect are also working.
TODO: - Test under more heavy load - Clean up osiop_checkintr() hander - Reorganize command queue and sync negotiation handling more suitable for thorpej-scsipi mid-layer - Re-think defered interrupt handling for amiga
|
1.1 | 21-Apr-2000 |
bouyer | branches: 1.1.6; 1.1.8; Snapshot of work in progress: new driver for the NCR 53c8xx SCSI controller (the name 'siop' is still being discussed, may change). Only basic disconnect/reselect for now, no sync/wide negotiation. Tested with 810A, 875 and 895 on i386 only. The bus-independant part should also be able to handle the 53c720 and 53c770. A new driver with enhanced script should appear for the 825/875/895 'soon'.
|
1.1.8.3 | 20-Jun-2002 |
nathanw | Catch up to -current.
|
1.1.8.2 | 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.1.8.1 | 21-Jun-2001 |
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 | 21-Apr-2000 |
bouyer | file Makefile was added on branch thorpej_scsipi on 2000-11-20 11:42:06 +0000
|
1.2.2.2 | 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.2.2.1 | 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.14 | 18-Nov-2005 |
bouyer | Regen: save offset at disconnect after a data phase without save data pointer.
|
1.13 | 17-May-2004 |
bouyer | branches: 1.13.10; 1.13.12; 1.13.18; Regen from esiop.ss 1.18
|
1.12 | 17-May-2004 |
bouyer | Regen from esiop.ss 1.17.
|
1.11 | 06-Aug-2003 |
bouyer | branches: 1.11.4; Regen from esiop.ss 1.15.
|
1.10 | 02-May-2002 |
bouyer | branches: 1.10.4; 1.10.6; 1.10.8; 1.10.14; Regen: move a few things around to save a few JUMP.
|
1.9 | 27-Apr-2002 |
bouyer | Regen: use a u_int32_t in script RAM to pass flags between script and driver.
|
1.8 | 27-Apr-2002 |
bouyer | Regen: implement done command ring.
|
1.7 | 25-Apr-2002 |
bouyer | Regen: 2 DSA entry per lun, load SCRATCHC before select, avoid race condition when setting f_cmd_free.
|
1.6 | 24-Apr-2002 |
bouyer | Regen: get rid or ID in scheduler slot, to save RAM.
|
1.5 | 24-Apr-2002 |
bouyer | Regen: bump the number of slots in the cmd ring to 256.
|
1.4 | 23-Apr-2002 |
bouyer | Regen: bump message size to 16 octets.
|
1.3 | 22-Apr-2002 |
bouyer | Regen: block on wait MSG_OUT after a SELECT.
|
1.2 | 22-Apr-2002 |
bouyer | Regen: tagged queuing support, and led on/off fragments.
|
1.1 | 21-Apr-2002 |
bouyer | Generated from esiop.ss, for the new esiop driver.
|
1.10.14.4 | 11-Dec-2005 |
christos | Sync with head.
|
1.10.14.3 | 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.10.14.2 | 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.10.14.1 | 03-Aug-2004 |
skrll | Sync with HEAD
|
1.10.8.2 | 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.10.8.1 | 02-May-2002 |
jdolecek | file esiop.out was added on branch kqueue on 2002-06-23 17:47:18 +0000
|
1.10.6.2 | 20-Jun-2002 |
nathanw | Catch up to -current.
|
1.10.6.1 | 02-May-2002 |
nathanw | file esiop.out was added on branch nathanw_sa on 2002-06-20 03:45:13 +0000
|
1.10.4.4 | 14-Dec-2005 |
jmc | Regen (requested in ticket #5957 by bouyer) Some drives disconnect after the last data phase without a save data pointer message. In such case we would not update resid with the proper value (eventually resid would not be updated at all if there was only one data phase). To fix this, have the script save the offset in the data tables at disconnect time if there was a transfer, and use this to compute the resid if the current offset is 0. PR#31990
|
1.10.4.3 | 17-Mar-2005 |
tron | Regen for ticket 1750.
|
1.10.4.2 | 17-Mar-2005 |
tron | Regen for ticket 1749.
|
1.10.4.1 | 15-Aug-2003 |
tron | Regen.
|
1.11.4.3 | 01-Dec-2005 |
riz | Regen for ticket 10168.
|
1.11.4.2 | 11-May-2005 |
snj | branches: 1.11.4.2.2; Regen for ticket 1365.
|
1.11.4.1 | 11-May-2005 |
snj | Regen for ticket 1364.
|
1.11.4.2.2.1 | 01-Dec-2005 |
riz | Regen for ticket 10168.
|
1.13.18.1 | 22-Nov-2005 |
yamt | sync with head.
|
1.13.12.1 | 21-Jun-2006 |
yamt | sync with head.
|
1.13.10.1 | 21-Nov-2005 |
tron | Regen for ticket #973.
|
1.22 | 23-May-2022 |
andvar | s/beggining/beginning/ in comments.
|
1.21 | 19-Oct-2009 |
bouyer | Remove closes 3 & 4 from my licence. Lots of thanks to Soren Jacobsen for the booring work !
|
1.20 | 18-Nov-2005 |
bouyer | branches: 1.20.74; Some drives disconnect after the last data phase without a save data pointer message. In such case we would not update resid with the proper value (eventually resid would not be updated at all if there was only one data phase). To fix this, have the script save the offset in the data tables at disconnect time if there was a transfer, and use this to compute the resid if the current offset is 0. Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi. Fix kern/31990 by YAMAMOTO Takashi.
|
1.19 | 27-Feb-2005 |
perry | branches: 1.19.2; 1.19.4; 1.19.10; nuke trailing whitespace
|
1.18 | 17-May-2004 |
bouyer | branches: 1.18.4; 1.18.6; when an unexpected disconnect occurs only compute the resid; do the real save data pointers when we get the message (or rather, at disconnect time following the message). Factor out code to do this, and to deal with xs->resid, in siop_common.c.
|
1.17 | 17-May-2004 |
bouyer | Properly compute xs->resid, instead of assuming it'll always be 0 when a command is done.
|
1.16 | 05-Oct-2003 |
bouyer | branches: 1.16.4; Remove references to University of California from my copyright notices.
|
1.15 | 06-Aug-2003 |
bouyer | Properly handle messages that we get at reconnect time (other than SIMPLE_Q_TAG). Some drives start sync/wide negotiation at reconnect time. Problem reported and fix tested by Andreas Wrede.
|
1.14 | 29-Aug-2002 |
bouyer | branches: 1.14.6; Fix typo in comment.
|
1.13 | 02-May-2002 |
bouyer | branches: 1.13.2; 1.13.4; 1.13.6; 1.13.8; Move a few things around, to save some JUMP.
|
1.12 | 27-Apr-2002 |
bouyer | Use a u_int32_t in script RAM instead of the SEM bit in ISTAT to pass flags between script and driver. This allows more than one flag, and is easier to manage (we almost can't read/write istat outside of the irq handler).
|
1.11 | 27-Apr-2002 |
bouyer | Implement a ring for the completed commands. This avoid a (problematic only if error occurs after status is collected) race condition when using the status byte to detect completed commands (a command descriptor could be recycled before the device disconnected), and make the interrupt routine handling completed commands more efficient (no need to scan target * lun * tag array any more).
|
1.10 | 25-Apr-2002 |
bouyer | - We can't share the per-lun DSA entry for untagged and tag table DSA; there may be tagged commands still running when we queue a request sense command. Solve this by using 2 DSA entry per LUN - Now that we have the command DSA before select, we can load T/L/Q in SCRATCHC. This makes the selection timeout handler simpler. - Avoid a race condition when setting the free flag in the cmd ring (see comment in the script) - don't forget to update the ID in the head of LUN table after a sync/wide negotiation. This fixes the command timeout at the first data command after negotiation (the bus reset handler did update the ID properly, so subsequent commands were OK). - for DMA interrupts, clear fifo if it's not empty. Leaving the fifo dirty would prevent subsequent interrupts from coming in. - Various improvements in debug messages - misc cleanups.
|
1.9 | 24-Apr-2002 |
bouyer | For a new command, use the id in the command table and get rid of the ID in the scheduler slot. This costs a few more instructions but divide the size of the scheduler ring by 2, saving 1k of onboard RAM (a bus with 15 devices would overflow the on-board RAM by 128 bytes).
|
1.8 | 24-Apr-2002 |
bouyer | Bump the number of slots in the command ring to 256.
|
1.7 | 23-Apr-2002 |
bouyer | More copyright fixes, pointed out by Thomas. Thanks !
|
1.6 | 23-Apr-2002 |
bouyer | Fix copyrigth.
|
1.5 | 23-Apr-2002 |
bouyer | Bump the space for SCSI messages from 8 to 16 octets, as 8 may not be enouth for IDENTIFY + TAG + PPR. Get rid of constants in C code by use of a offsetof macro.
|
1.4 | 22-Apr-2002 |
bouyer | It seems that the script processor continue to exec a few intructions after the selection timeout is posted but the number executed isn't reliable. So wait for MSG_OUT rigth after the select so that the state of the script when the interruption is handled is known.
|
1.3 | 22-Apr-2002 |
bouyer | Add the led_on/led_off script fragments.
|
1.2 | 22-Apr-2002 |
bouyer | Add support for tagged queuing to esiop (256 tags per device). For this add another indirecton: the DSA in the LUN table points to a table of DSA indexed by the tag number when tagged command is in use. For non tagged command, the LUN DSA still points to the tables describing the xfer directly.
|
1.1 | 21-Apr-2002 |
bouyer | First cut at a esiop driver (enhanced siop). Doesn't implement tagged queuing yet. If is restricted to SIOP which implement the load/store instruction, and has 10 scratch registers (basically, 825 and newer, possibly 770). It implements a different interface between host and script, using a real ring for command starts, and improved support for reconnect which will allow 256 tag per device. It uses interrupt on the fly to signal complete command, which allows several commands to be serviced per interrupt and doesn't require the script to stop to signal command completion.
|
1.13.8.3 | 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.13.8.2 | 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.13.8.1 | 02-May-2002 |
jdolecek | file esiop.ss was added on branch kqueue on 2002-06-23 17:47:18 +0000
|
1.13.6.3 | 17-Sep-2002 |
nathanw | Catch up to -current.
|
1.13.6.2 | 20-Jun-2002 |
nathanw | Catch up to -current.
|
1.13.6.1 | 02-May-2002 |
nathanw | file esiop.ss was added on branch nathanw_sa on 2002-06-20 03:45:14 +0000
|
1.13.4.4 | 14-Dec-2005 |
jmc | Pullup via patch (requested in ticket #5957 by bouyer) Some drives disconnect after the last data phase without a save data pointer message. In such case we would not update resid with the proper value (eventually resid would not be updated at all if there was only one data phase). To fix this, have the script save the offset in the data tables at disconnect time if there was a transfer, and use this to compute the resid if the current offset is 0. PR#31990
|
1.13.4.3 | 17-Mar-2005 |
tron | Pull up revision 1.18 (requested by bouyer in ticket #1750): when an unexpected disconnect occurs only compute the resid; do the real save data pointers when we get the message (or rather, at disconnect time following the message). Factor out code to do this, and to deal with xs->resid, in siop_common.c.
|
1.13.4.2 | 17-Mar-2005 |
tron | Pull up revision 1.17 (requested by bouyer in ticket #1749): Properly compute xs->resid, instead of assuming it'll always be 0 when a command is done.
|
1.13.4.1 | 15-Aug-2003 |
tron | Pull up revision 1.15 (requested by bouyer in ticket #1399): Properly handle messages that we get at reconnect time (other than SIMPLE_Q_TAG). Some drives start sync/wide negotiation at reconnect time. Problem reported and fix tested by Andreas Wrede.
|
1.13.2.1 | 31-Aug-2002 |
gehenna | catch up with -current.
|
1.14.6.5 | 11-Dec-2005 |
christos | Sync with head.
|
1.14.6.4 | 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.14.6.3 | 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.14.6.2 | 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.14.6.1 | 03-Aug-2004 |
skrll | Sync with HEAD
|
1.16.4.3 | 01-Dec-2005 |
riz | Pull up following revision(s) (requested by bouyer in ticket #10168): sys/dev/ic/siop.c: revision 1.79 via patch sys/dev/ic/siopvar_common.h: revision 1.33 via patch sys/dev/ic/esiopvar.h: revision 1.13 via patch sys/dev/ic/esiop.c: revision 1.34 via patch sys/dev/microcode/siop/esiop.ss: revision 1.20 via patch sys/dev/ic/siopvar.h: revision 1.22 via patch sys/dev/microcode/siop/siop.ss: revision 1.20 via patch Some drives disconnect after the last data phase without a save data pointer message. In such case we would not update resid with the proper value (eventually resid would not be updated at all if there was only one data phase). To fix this, have the script save the offset in the data tables at disconnect time if there was a transfer, and use this to compute the resid if the current offset is 0. Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi. Fix kern/31990 by YAMAMOTO Takashi.
|
1.16.4.2 | 11-May-2005 |
snj | branches: 1.16.4.2.2; Pull up revision 1.18 (requested by bouyer in ticket #1365): when an unexpected disconnect occurs only compute the resid; do the real save data pointers when we get the message (or rather, at disconnect time following the message). Factor out code to do this, and to deal with xs->resid, in siop_common.c.
|
1.16.4.1 | 11-May-2005 |
snj | Pull up revision 1.17 (requested by bouyer in ticket #1364): Properly compute xs->resid, instead of assuming it'll always be 0 when a command is done.
|
1.16.4.2.2.1 | 01-Dec-2005 |
riz | Pull up following revision(s) (requested by bouyer in ticket #10168): sys/dev/ic/siop.c: revision 1.79 via patch sys/dev/ic/siopvar_common.h: revision 1.33 via patch sys/dev/ic/esiopvar.h: revision 1.13 via patch sys/dev/ic/esiop.c: revision 1.34 via patch sys/dev/microcode/siop/esiop.ss: revision 1.20 via patch sys/dev/ic/siopvar.h: revision 1.22 via patch sys/dev/microcode/siop/siop.ss: revision 1.20 via patch Some drives disconnect after the last data phase without a save data pointer message. In such case we would not update resid with the proper value (eventually resid would not be updated at all if there was only one data phase). To fix this, have the script save the offset in the data tables at disconnect time if there was a transfer, and use this to compute the resid if the current offset is 0. Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi. Fix kern/31990 by YAMAMOTO Takashi.
|
1.18.6.1 | 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.18.4.1 | 29-Apr-2005 |
kent | sync with -current
|
1.19.10.1 | 22-Nov-2005 |
yamt | sync with head.
|
1.19.4.1 | 21-Jun-2006 |
yamt | sync with head.
|
1.19.2.1 | 21-Nov-2005 |
tron | Pull up following revision(s) (requested by bouyer in ticket #973): sys/dev/ic/siop.c: revision 1.79 sys/dev/ic/siopvar_common.h: revision 1.33 sys/dev/ic/esiopvar.h: revision 1.13 sys/dev/ic/esiop.c: revision 1.34 sys/dev/microcode/siop/esiop.ss: revision 1.20 sys/dev/ic/siopvar.h: revision 1.22 sys/dev/microcode/siop/siop.ss: revision 1.20 Some drives disconnect after the last data phase without a save data pointer message. In such case we would not update resid with the proper value (eventually resid would not be updated at all if there was only one data phase). To fix this, have the script save the offset in the data tables at disconnect time if there was a transfer, and use this to compute the resid if the current offset is 0. Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi. Fix kern/31990 by YAMAMOTO Takashi.
|
1.20.74.1 | 11-Mar-2010 |
yamt | sync with head
|
1.17 | 21-Apr-2022 |
andvar | s/substract/subtract/ in comments and error message. s/obtainted/obtained/ in one comment.
|
1.16 | 21-Oct-2009 |
snj | Drop 3rd and 4th clauses (except on files where copyright is shared with UC, in which case only the ad clause has been removed). Approved by mhitch@ (copyright holder).
|
1.15 | 11-Dec-2005 |
christos | branches: 1.15.74; merge ktrace-lwp.
|
1.14 | 11-Feb-2005 |
simonb | White space nit- don't put a space before/after increment/decrement operators.
|
1.13 | 16-May-2004 |
bouyer | branches: 1.13.4; 1.13.6; Make it compile with recent compilers.
|
1.12 | 14-Jul-2003 |
lukem | branches: 1.12.2; add missing __RCSID()
|
1.11 | 06-Apr-2003 |
tsutsui | branches: 1.11.2; Tweak siop scripts assembler for new oosiop.
|
1.10 | 21-Apr-2002 |
bouyer | branches: 1.10.4; - handle INTFLY (interrupt on the fly) command - hanlde set/clear carry - handle shl, shr (shift left and rigth) and xor operators
|
1.9 | 20-Apr-2002 |
bouyer | Fix scratchd2 address.
|
1.8 | 17-Apr-2002 |
bouyer | Really use a JUMP for NOP, not a block move.
|
1.7 | 05-Dec-2001 |
fredette | Added support for the Symbios/NCR 53c700 SCSI controller. This chip is very similar to the 53c710, except that it's missing a few registers, doesn't do relative jumps and doesn't have the table-indirect addressing mode.
I have checked that this still generates the same output on the existing scripts for the other chips.
|
1.6 | 29-Apr-2001 |
tsutsui | branches: 1.6.2; Correct register address map for 53c710.
|
1.5 | 23-Oct-2000 |
bouyer | branches: 1.5.2; 1.5.4; Allow conditionnal branch like "JUMP foo, IF FALSE" The branch will never be taken as is, but the driver can patch the script.
|
1.4 | 18-Oct-2000 |
bouyer | Fix off by one error when using RETURN, WHEN/IF ...
|
1.3 | 09-Oct-2000 |
bouyer | Emit a warning when a symbol is undefined.
|
1.2 | 25-Apr-2000 |
bouyer | branches: 1.2.4; - Add support for NOP instruction - fix dsp value for second operand of memory move, so that patch list will be correct.
|
1.1 | 21-Apr-2000 |
bouyer | Script assembler for the NCR 53c7xx/8xx scsi controller. Initial work done by Michael L. Hitch, support for the 8xx and some improvements by me.
|
1.2.4.1 | 15-Dec-2000 |
he | Pull up revisions 1.3-1.5 (requested by bouyer): Allow conditional branch like "JUMP foo, IF FALSE" (that the driver can later patch). Bug fixes and syntax checking improvement.
|
1.5.4.3 | 20-Jun-2002 |
nathanw | Catch up to -current.
|
1.5.4.2 | 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.5.4.1 | 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.5.2.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.5.2.1 | 23-Oct-2000 |
bouyer | file ncr53cxxx.c was added on branch thorpej_scsipi on 2000-11-20 11:42:06 +0000
|
1.6.2.2 | 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.6.2.1 | 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.10.4.1 | 19-Mar-2005 |
jmc | Pullup patch (requested by tron in ticket #5713)
Fix this to build with GCC 3.3.x.
|
1.11.2.4 | 15-Feb-2005 |
skrll | Sync with HEAD.
|
1.11.2.3 | 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.11.2.2 | 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.11.2.1 | 03-Aug-2004 |
skrll | Sync with HEAD
|
1.12.2.1 | 20-May-2004 |
tron | Pull up revision 1.13 (requested by bouyer in ticket #348): Make it compile with recent compilers.
|
1.13.6.1 | 12-Feb-2005 |
yamt | sync with head.
|
1.13.4.1 | 29-Apr-2005 |
kent | sync with -current
|
1.15.74.1 | 11-Mar-2010 |
yamt | sync with head
|
1.3 | 06-Apr-2003 |
tsutsui | Regen scripts for new oosiop.
|
1.2 | 07-Jul-2002 |
fredette | Regen.
|
1.1 | 05-Dec-2001 |
fredette | branches: 1.1.2; 1.1.4; 1.1.12; 1.1.14; Generated from oosiop.ss rev. 1.1: Initial compiled script for 53c700.
|
1.1.14.1 | 17-Mar-2005 |
tron | Regen for ticket 1749.
|
1.1.12.1 | 15-Jul-2002 |
gehenna | catch up with -current.
|
1.1.4.3 | 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.1.4.2 | 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.1.4.1 | 05-Dec-2001 |
thorpej | file oosiop.out was added on branch kqueue on 2002-01-10 19:56:11 +0000
|
1.1.2.3 | 01-Aug-2002 |
nathanw | Catch up to -current.
|
1.1.2.2 | 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.1.2.1 | 05-Dec-2001 |
nathanw | file oosiop.out was added on branch nathanw_sa on 2002-01-08 00:30:54 +0000
|
1.2 | 06-Apr-2003 |
tsutsui | Add MI NCR/Symbios 53c700 SCSI driver. This "oosiop" driver was originally written by Shuichiro URATA for arc port, and then it was modified by me to make it work also on hp700.
This driver has been tested on my NEC Express5800/240 with 53c700-66 for several months, and also tested on HP9000 735/125 with 53c700 (though current hp700 port has been broken since SA merge). Both sync transfer and disconnect/reselect work fine, but tagged queuing is not implemented yet.
|
1.1 | 05-Dec-2001 |
fredette | branches: 1.1.2; 1.1.4; New script for the Symbios/NCR 53c700 SCSI controller. This is closely related to osiop.ss, the script for the 53c710.
|
1.1.4.2 | 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.1.4.1 | 05-Dec-2001 |
thorpej | file oosiop.ss was added on branch kqueue on 2002-01-10 19:56:12 +0000
|
1.1.2.2 | 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.1.2.1 | 05-Dec-2001 |
nathanw | file oosiop.ss was added on branch nathanw_sa on 2002-01-08 00:30:54 +0000
|
1.1 | 30-Apr-2001 |
tsutsui | branches: 1.1.2; 1.1.18; Generated from osiop.ss rev. 1.1: Initial compiled script for 53c710.
|
1.1.18.1 | 17-Mar-2005 |
tron | Regen for ticket 1749.
|
1.1.2.2 | 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.1.2.1 | 30-Apr-2001 |
nathanw | file osiop.out was added on branch nathanw_sa on 2001-06-21 20:04:14 +0000
|
1.3 | 12-Dec-2016 |
maya | acknowleg -> acknowledg, proceedure -> procedure. only comments were changed.
from miod
|
1.2 | 21-Oct-2009 |
snj | branches: 1.2.22; 1.2.40; 1.2.44; Drop 3rd and 4th clauses (except on files where copyright is shared with UC, in which case only the ad clause has been removed). Approved by mhitch@ (copyright holder).
|
1.1 | 30-Apr-2001 |
tsutsui | branches: 1.1.2; 1.1.126; Add a MI driver for the Symbios/NCR 53c710 SCSI controller. This is based on amiga's siop driver, but converted to use bus_space(9) functions and modified to fit bus_dma(9) framework.
Currently tested on NetBSD/arc with jazzio 53c710 SCSI, which really requires bus_dma(9) functions :-) Sync transfers and disconnect/reconnect are also working.
TODO: - Test under more heavy load - Clean up osiop_checkintr() hander - Reorganize command queue and sync negotiation handling more suitable for thorpej-scsipi mid-layer - Re-think defered interrupt handling for amiga
|
1.1.126.1 | 11-Mar-2010 |
yamt | sync with head
|
1.1.2.2 | 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.1.2.1 | 30-Apr-2001 |
nathanw | file osiop.ss was added on branch nathanw_sa on 2001-06-21 20:04:15 +0000
|
1.2.44.1 | 07-Jan-2017 |
pgoyette | Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.)
|
1.2.40.1 | 05-Feb-2017 |
skrll | Sync with HEAD
|
1.2.22.1 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.16 | 18-Nov-2005 |
bouyer | Regen: save offset at disconnect after a data phase without save data pointer.
|
1.15 | 17-May-2004 |
bouyer | branches: 1.15.10; 1.15.12; 1.15.18; Regen from siop.ss 1.18
|
1.14 | 23-Apr-2002 |
bouyer | branches: 1.14.4; 1.14.10; 1.14.14; Regen: bump message size to 16 octets.
|
1.13 | 18-Apr-2002 |
bouyer | Regen: add hooks to drive LED via GPIO.
|
1.12 | 07-Dec-2001 |
fredette | Regen.
|
1.11 | 23-Oct-2000 |
bouyer | branches: 1.11.2; 1.11.4; 1.11.6; Regen
|
1.10 | 19-Oct-2000 |
bouyer | Regen
|
1.9 | 18-Oct-2000 |
bouyer | Regen
|
1.8 | 06-Oct-2000 |
bouyer | Regen
|
1.7 | 06-Oct-2000 |
bouyer | Regen
|
1.6 | 25-May-2000 |
bouyer | branches: 1.6.4; Regen.
|
1.5 | 15-May-2000 |
bouyer | Regen
|
1.4 | 04-May-2000 |
bouyer | Ops, regen siop.out from the last siop.ss.
|
1.3 | 04-May-2000 |
bouyer | Add a flag hold in scratcha0, set when we're doing a data transfer. Used for save data pointers.
|
1.2 | 25-Apr-2000 |
bouyer | - Change the script to start new commands in an asyncronous way, using 'command slots' in which the host can put command and wait for the script to start them - Change siop.c to do full disconnect/reslelect, allowing as much as one command per target/lun to run in parallel. - Fix bug in registers init where a board without BIOS would end at ID 0 (now the driver works on alpha too). - better handling of messages, sending back a MSG_EXT_SDTR in response to an incoming MSG_EXT_SDTR, and MSG_MESSAGE_REJECT for unhandled messages. - fix use of bus_dmamap_sync() and htole32(). - supports shared interrups - change some int8 and int16 to int, for alpha and mips benefits ( suggested by Toru Nishimura)
|
1.1 | 21-Apr-2000 |
bouyer | Snapshot of work in progress: new driver for the NCR 53c8xx SCSI controller (the name 'siop' is still being discussed, may change). Only basic disconnect/reselect for now, no sync/wide negotiation. Tested with 810A, 875 and 895 on i386 only. The bus-independant part should also be able to handle the 53c720 and 53c770. A new driver with enhanced script should appear for the 825/875/895 'soon'.
|
1.6.4.1 | 15-Dec-2000 |
he | Pull up regenerated file (requested by bouyer): Speed improvements to the siop driver, and add tagged queueing support. As a side effect, better handling of some not so common phase or message sequences.
|
1.11.6.2 | 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.11.6.1 | 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.11.4.2 | 20-Jun-2002 |
nathanw | Catch up to -current.
|
1.11.4.1 | 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.11.2.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.11.2.1 | 23-Oct-2000 |
bouyer | file siop.out was added on branch thorpej_scsipi on 2000-11-20 11:42:08 +0000
|
1.14.14.2 | 01-Dec-2005 |
riz | Regen for ticket 10168.
|
1.14.14.1 | 11-May-2005 |
snj | branches: 1.14.14.1.2; Regen for ticket 1365.
|
1.14.14.1.2.1 | 01-Dec-2005 |
riz | Regen for ticket 10168.
|
1.14.10.4 | 11-Dec-2005 |
christos | Sync with head.
|
1.14.10.3 | 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.14.10.2 | 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.14.10.1 | 03-Aug-2004 |
skrll | Sync with HEAD
|
1.14.4.3 | 14-Dec-2005 |
jmc | Regen (requested in ticket #5957 by bouyer) Some drives disconnect after the last data phase without a save data pointer message. In such case we would not update resid with the proper value (eventually resid would not be updated at all if there was only one data phase). To fix this, have the script save the offset in the data tables at disconnect time if there was a transfer, and use this to compute the resid if the current offset is 0. PR#31990
|
1.14.4.2 | 17-Mar-2005 |
tron | Regen for ticket 1750.
|
1.14.4.1 | 17-Mar-2005 |
tron | Regen for ticket 1749.
|
1.15.18.1 | 22-Nov-2005 |
yamt | sync with head.
|
1.15.12.1 | 21-Jun-2006 |
yamt | sync with head.
|
1.15.10.1 | 21-Nov-2005 |
tron | Regen for ticket #973.
|
1.21 | 19-Oct-2009 |
bouyer | Remove closes 3 & 4 from my licence. Lots of thanks to Soren Jacobsen for the booring work !
|
1.20 | 18-Nov-2005 |
bouyer | branches: 1.20.74; Some drives disconnect after the last data phase without a save data pointer message. In such case we would not update resid with the proper value (eventually resid would not be updated at all if there was only one data phase). To fix this, have the script save the offset in the data tables at disconnect time if there was a transfer, and use this to compute the resid if the current offset is 0. Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi. Fix kern/31990 by YAMAMOTO Takashi.
|
1.19 | 27-Feb-2005 |
perry | branches: 1.19.2; 1.19.4; 1.19.10; nuke trailing whitespace
|
1.18 | 17-May-2004 |
bouyer | branches: 1.18.4; 1.18.6; when an unexpected disconnect occurs only compute the resid; do the real save data pointers when we get the message (or rather, at disconnect time following the message). Factor out code to do this, and to deal with xs->resid, in siop_common.c.
|
1.17 | 26-Jul-2002 |
wiz | branches: 1.17.6; 1.17.10; Spell '[Rr]ight' correctly. From Jim Bernard.
|
1.16 | 26-Jul-2002 |
wiz | enouth -> enough.
|
1.15 | 23-Apr-2002 |
bouyer | branches: 1.15.2; 1.15.4; More copyright fixes, pointed out by Thomas. Thanks !
|
1.14 | 23-Apr-2002 |
bouyer | Bump the space for SCSI messages from 8 to 16 octets, as 8 may not be enouth for IDENTIFY + TAG + PPR. Get rid of constants in C code by use of a offsetof macro.
|
1.13 | 18-Apr-2002 |
bouyer | Add hooks to drive the activity led via the GPIO pin 1, as required by some tekram and symbios adapters.
|
1.12 | 23-Oct-2000 |
bouyer | branches: 1.12.2; 1.12.4; 1.12.6; Rearrange things a bit to have less jumps Install the core of the scheduler in main script (so it's in RAM when there is one), and avoid jump in the common case. The command part of the scheduler now lives in host memory, with tables. Add template for a tag switch.
|
1.11 | 19-Oct-2000 |
bouyer | Move restore_scntl3 before the lun switch, to ease freeing of unused lun slots.
|
1.10 | 18-Oct-2000 |
bouyer | Redo the target/lun sw in a better way, and handle queue tag messages.
|
1.9 | 06-Oct-2000 |
bouyer | Fix recurent typo: shed->sched
|
1.8 | 06-Oct-2000 |
bouyer | Handle reselect entirely in script; for this provide a script area, modified by the driver, which will load the appropriate DSA for a given target/lun.
|
1.7 | 13-Jun-2000 |
bouyer | branches: 1.7.2; sheduler->scheduler, as pointed out by Klaus Klein
|
1.6 | 25-May-2000 |
bouyer | branches: 1.6.2; Separate the sheduler from the main script, allocate another DMA-safe memory page for the sheduler. Put the main script in the on-chip RAM when available. Avoid a null-pointer dereference when DSA is invalid.
|
1.5 | 15-May-2000 |
bouyer | - use my standart copyrigth notice - After reselect, don't clear ack after the IDENTIFY message, this breaks when the reselecting target has different sync parameters than the previous one.
|
1.4 | 04-May-2000 |
bouyer | Add a flag hold in scratcha0, set when we're doing a data transfer. Used for save data pointers.
|
1.3 | 27-Apr-2000 |
bouyer | Add NetBSD RCS Id and copyrigth notice.
|
1.2 | 25-Apr-2000 |
bouyer | - Change the script to start new commands in an asyncronous way, using 'command slots' in which the host can put command and wait for the script to start them - Change siop.c to do full disconnect/reslelect, allowing as much as one command per target/lun to run in parallel. - Fix bug in registers init where a board without BIOS would end at ID 0 (now the driver works on alpha too). - better handling of messages, sending back a MSG_EXT_SDTR in response to an incoming MSG_EXT_SDTR, and MSG_MESSAGE_REJECT for unhandled messages. - fix use of bus_dmamap_sync() and htole32(). - supports shared interrups - change some int8 and int16 to int, for alpha and mips benefits ( suggested by Toru Nishimura)
|
1.1 | 21-Apr-2000 |
bouyer | Snapshot of work in progress: new driver for the NCR 53c8xx SCSI controller (the name 'siop' is still being discussed, may change). Only basic disconnect/reselect for now, no sync/wide negotiation. Tested with 810A, 875 and 895 on i386 only. The bus-independant part should also be able to handle the 53c720 and 53c770. A new driver with enhanced script should appear for the 825/875/895 'soon'.
|
1.6.2.1 | 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.7.2.1 | 15-Dec-2000 |
he | Pull up revisions 1.8-1.12 (requested by bouyer): Speed improvements to the siop driver, and add tagged queueing support. As a side effect, better handling of some not so common phase or message sequences.
|
1.12.6.2 | 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.12.6.1 | 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.12.4.2 | 01-Aug-2002 |
nathanw | Catch up to -current.
|
1.12.4.1 | 20-Jun-2002 |
nathanw | Catch up to -current.
|
1.12.2.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.12.2.1 | 23-Oct-2000 |
bouyer | file siop.ss was added on branch thorpej_scsipi on 2000-11-20 11:42:09 +0000
|
1.15.4.2 | 14-Dec-2005 |
jmc | Pullup via patch (requested in ticket #5957 by bouyer) Some drives disconnect after the last data phase without a save data pointer message. In such case we would not update resid with the proper value (eventually resid would not be updated at all if there was only one data phase). To fix this, have the script save the offset in the data tables at disconnect time if there was a transfer, and use this to compute the resid if the current offset is 0. PR#31990
|
1.15.4.1 | 17-Mar-2005 |
tron | Pull up revision 1.18 (requested by bouyer in ticket #1750): when an unexpected disconnect occurs only compute the resid; do the real save data pointers when we get the message (or rather, at disconnect time following the message). Factor out code to do this, and to deal with xs->resid, in siop_common.c.
|
1.15.2.1 | 29-Aug-2002 |
gehenna | catch up with -current.
|
1.17.10.2 | 01-Dec-2005 |
riz | Pull up following revision(s) (requested by bouyer in ticket #10168): sys/dev/ic/siop.c: revision 1.79 via patch sys/dev/ic/siopvar_common.h: revision 1.33 via patch sys/dev/ic/esiopvar.h: revision 1.13 via patch sys/dev/ic/esiop.c: revision 1.34 via patch sys/dev/microcode/siop/esiop.ss: revision 1.20 via patch sys/dev/ic/siopvar.h: revision 1.22 via patch sys/dev/microcode/siop/siop.ss: revision 1.20 via patch Some drives disconnect after the last data phase without a save data pointer message. In such case we would not update resid with the proper value (eventually resid would not be updated at all if there was only one data phase). To fix this, have the script save the offset in the data tables at disconnect time if there was a transfer, and use this to compute the resid if the current offset is 0. Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi. Fix kern/31990 by YAMAMOTO Takashi.
|
1.17.10.1 | 11-May-2005 |
snj | branches: 1.17.10.1.2; Pull up revision 1.18 (requested by bouyer in ticket #1365): when an unexpected disconnect occurs only compute the resid; do the real save data pointers when we get the message (or rather, at disconnect time following the message). Factor out code to do this, and to deal with xs->resid, in siop_common.c.
|
1.17.10.1.2.1 | 01-Dec-2005 |
riz | Pull up following revision(s) (requested by bouyer in ticket #10168): sys/dev/ic/siop.c: revision 1.79 via patch sys/dev/ic/siopvar_common.h: revision 1.33 via patch sys/dev/ic/esiopvar.h: revision 1.13 via patch sys/dev/ic/esiop.c: revision 1.34 via patch sys/dev/microcode/siop/esiop.ss: revision 1.20 via patch sys/dev/ic/siopvar.h: revision 1.22 via patch sys/dev/microcode/siop/siop.ss: revision 1.20 via patch Some drives disconnect after the last data phase without a save data pointer message. In such case we would not update resid with the proper value (eventually resid would not be updated at all if there was only one data phase). To fix this, have the script save the offset in the data tables at disconnect time if there was a transfer, and use this to compute the resid if the current offset is 0. Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi. Fix kern/31990 by YAMAMOTO Takashi.
|
1.17.6.5 | 11-Dec-2005 |
christos | Sync with head.
|
1.17.6.4 | 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.17.6.3 | 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.17.6.2 | 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.17.6.1 | 03-Aug-2004 |
skrll | Sync with HEAD
|
1.18.6.1 | 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.18.4.1 | 29-Apr-2005 |
kent | sync with -current
|
1.19.10.1 | 22-Nov-2005 |
yamt | sync with head.
|
1.19.4.1 | 21-Jun-2006 |
yamt | sync with head.
|
1.19.2.1 | 21-Nov-2005 |
tron | Pull up following revision(s) (requested by bouyer in ticket #973): sys/dev/ic/siop.c: revision 1.79 sys/dev/ic/siopvar_common.h: revision 1.33 sys/dev/ic/esiopvar.h: revision 1.13 sys/dev/ic/esiop.c: revision 1.34 sys/dev/microcode/siop/esiop.ss: revision 1.20 sys/dev/ic/siopvar.h: revision 1.22 sys/dev/microcode/siop/siop.ss: revision 1.20 Some drives disconnect after the last data phase without a save data pointer message. In such case we would not update resid with the proper value (eventually resid would not be updated at all if there was only one data phase). To fix this, have the script save the offset in the data tables at disconnect time if there was a transfer, and use this to compute the resid if the current offset is 0. Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi. Fix kern/31990 by YAMAMOTO Takashi.
|
1.20.74.1 | 11-Mar-2010 |
yamt | sync with head
|