Commit Graph

228 Commits

Author SHA1 Message Date
bouyer b66120e445 Regen 2000-10-18 17:01:46 +00:00
bouyer 75246b83c0 Redo the target/lun sw in a better way, and handle queue tag messages. 2000-10-18 17:01:13 +00:00
bouyer 8ec46d1679 Fix off by one error when using RETURN, WHEN/IF ... 2000-10-18 16:05:23 +00:00
mjacob 8ddb5fd594 roll SBus f/w to latest released level (1.37) 2000-10-16 05:10:37 +00:00
bouyer 64c818a7e2 Emit a warning when a symbol is undefined. 2000-10-09 15:57:56 +00:00
bouyer c8ad9b6302 Regen 2000-10-06 16:39:22 +00:00
bouyer 171adcf634 Fix recurent typo: shed->sched 2000-10-06 16:39:04 +00:00
bouyer eae96f0267 Regen 2000-10-06 16:31:31 +00:00
bouyer c67eef4e7d 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.
2000-10-06 16:31:17 +00:00
mjacob f73a4d37e2 split firmware into smaller files 2000-07-05 22:09:08 +00:00
bouyer 22a10be43e sheduler->scheduler, as pointed out by Klaus Klein 2000-06-13 13:59:15 +00:00
bouyer c9347a04a5 Regen. 2000-05-25 10:16:37 +00:00
bouyer b063b2ec36 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.
2000-05-25 10:10:54 +00:00
thorpej 5274a6162f Add a device driver for the Cyclades-Z series of intelligent multi-port
serial boards.  Written by Jason R. Thorpe and Bill Studenmund.
2000-05-17 17:58:09 +00:00
bouyer 95d08cb691 Regen 2000-05-15 07:44:05 +00:00
bouyer 06d4aa45eb - 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.
2000-05-15 07:43:45 +00:00
bouyer babd44e7a1 Ops, regen siop.out from the last siop.ss. 2000-05-04 15:44:35 +00:00
bouyer c8ff442f72 Add a flag hold in scratcha0, set when we're doing a data transfer. Used
for save data pointers.
2000-05-04 15:42:42 +00:00
bouyer fe54b787dc Add NetBSD RCS Id and copyrigth notice. 2000-04-27 14:08:09 +00:00
bouyer 88be4752d0 - 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)
2000-04-25 16:27:05 +00:00
bouyer 5ee6872b46 - Add support for NOP instruction
- fix dsp value for second operand of memory move, so that patch list will be
  correct.
2000-04-25 16:01:16 +00:00
bouyer 19ada4a82a 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'.
2000-04-21 17:56:58 +00:00
bouyer cd5411b382 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.
2000-04-21 17:50:07 +00:00
fvdl 1e4647a15b New ahc driver, a port of Justin Gibbs' FreeBSD driver. This adds
support for the U2W chips, and U160 controllers.
2000-03-15 02:08:28 +00:00
mjacob 29f08cd82d add 12160 (Ultra3) microcode 2000-02-12 02:07:49 +00:00
mjacob 67944140cf oops, got the initiator and initiator/target f/w reversed for the 1080 1999-12-20 04:25:56 +00:00
mjacob 775b699ee1 add in initiator mode only f/w versions 1999-12-20 00:22:56 +00:00
mjacob 04debef27a add back firmware with BSD style copyright as approved by Qlogic 1999-12-03 21:48:49 +00:00
mjacob a7c74fb98f Re-add stub Qlogic F/W files so that life is easier when/if the new
Qlogic F/W copyright is approved.
1999-11-16 18:48:40 +00:00
mjacob 7c3f92fd69 Remove f/w from tree. The licences are not acceptable to TNF. 1999-10-28 16:13:43 +00:00
mjacob 05a454312d roll firmware 1999-10-14 02:12:34 +00:00
mrg 387650fb8b do not install these headers. they are large (~1.8M) and useless to userland. 1999-08-26 07:58:58 +00:00
mjacob c9d36d5b4c add in (controlled by option) 2200 Expanded Lun F/W 1999-07-06 05:43:51 +00:00
mjacob 8fc3744ddd Upgrade 2100 F/W and add 2200 f/w. 1999-07-05 20:33:58 +00:00
mjacob a10888f463 roll ISP 1080/1240 f/w to latest level 1999-05-12 16:45:04 +00:00
mjacob e6a460c3f3 roll ISP1040 and ISP2100 f/w to latest release 1999-04-04 01:21:02 +00:00
mjacob d3fb0e2ad5 roll internal tag level 1999-03-25 19:41:47 +00:00
garbled f124765044 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.
1999-03-22 18:25:43 +00:00
mjacob 690045798e roll internal tag 1999-03-17 05:11:57 +00:00
mjacob 72c7f98bd8 add in 1080/1240 f/w, plus options to not compile stuff in 1999-03-17 05:11:13 +00:00
mjacob ee72ee212e darn- 7.55 seems to be a little unstable- go back to 1.31 1999-01-31 04:56:20 +00:00
mjacob 513722ba25 Grrr.. Do the *correct* and *usable* 1.31 firmware. You have to power
cycle to get rid of the old 1.31 firmware. *@!$&^@&$!&^&^!!!!!

But anyway comment it out and use new SBus 7.55 firmware. We get fast posting
with this as well as 32 luns and target mode support.
1999-01-30 07:18:59 +00:00
mjacob 09ce6222fc roll internal release tag 1999-01-30 07:14:26 +00:00
mjacob 9ccf227085 clean up header 1998-12-28 19:07:38 +00:00
mjacob 9d51ff8e34 Roll to 1.15 f/w level for Qlogic 2100. Leave all flavors in, but control which
one gets compiled in by default. The default is private loop, non-expanded lun.
1998-12-05 00:28:05 +00:00
mjacob 45fb6a3e74 Add in and enable latest SBus ISP Firmware (1.31) 1998-12-05 00:25:26 +00:00
mjacob 4275b01a08 Adjust copyright notice to reflect that Qlogic still owns this.
Move SCSI f/w to 7.55 level. Move FibreChannel f/w to 1.13 level.
1998-09-08 07:13:11 +00:00
mjacob 0456723423 Adjust copyright to reflect that this is really still owned by Qlogic 1998-09-08 07:06:57 +00:00
mjacob 15f982f580 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.
1998-07-04 22:29:46 +00:00
mjacob 205c293676 Patches from Justin that handle some REV B AIC7880 problems 1998-07-03 23:45:10 +00:00
cgd e2578025b3 Point people to the correct Makefiles to build generated headers.
(Suggested by Manuel Bouyer.)
1998-06-16 18:36:03 +00:00
cgd 651b44e211 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.
1998-06-12 23:22:30 +00:00
leo b66dd55f59 Backout endian changes here (per discussion with Justin) and move them to
aic7xxx.c
1998-04-16 07:07:37 +00:00
leo dd709a7f89 Make it possible to interface to big-endian cpu's. 1998-03-11 20:57:03 +00:00
mjacob 5cafda5b3c Update 2100 F/W to 1.10 level. Also remove some older 2100 f/w versions.
This version of the 1.10 f/w is initiator only (not initiator/target).
1998-01-28 06:09:02 +00:00
perry fff05a68ab RCSID Police. 1998-01-05 07:31:05 +00:00
mjacob fd208bedb2 Rev up to 1.09 FC f/w, but keep 1.07 around- 1.09 is a little strange. 1997-12-05 19:42:32 +00:00
mjacob d90bb02e10 oops on a comment- it is 1.07 FW, not 1.05 1997-12-03 00:45:05 +00:00
mjacob fee73b1391 Roll to 1.7 F/W level. 1997-11-17 05:07:02 +00:00
mjacob 20d01ea842 Updated f/w from Qlogic. 1997-11-02 22:10:57 +00:00
lukem 3e8e744696 getopt returns -1 not EOF 1997-11-01 06:49:14 +00:00
mjacob 38ea6714c9 New microcode release (1.02) from qlogic for the 2100. 1997-09-19 14:15:54 +00:00
mjacob 695bb7c37e Addition of PCI Qlogic ISP2100 (Fibre Channel) support meant a slight
change in f/w layout.
1997-08-16 00:30:37 +00:00
cgd e36a5ca4de change microcode array definitions from "unsigned short" to the more
correct u_int16_t, and remove bogus casts that the old definition
required.
1997-03-13 04:07:44 +00:00
mycroft 919efaeb60 Make the microcode table const. 1997-03-13 03:33:03 +00:00
cgd cf26d31ad2 NetBSD RCS ID tweaks, a few comment block tweaks. Also, make copyright
notices consistent (per Matt Jacob).
1997-03-12 21:06:41 +00:00
cgd 099e30a322 ISP 10x0 driver from Matthew Jacob of NASA Ames Research Center.
(March 12, 1997 version).
1997-03-12 20:44:50 +00:00
gibbs b9c06e6fa3 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.
1996-10-08 03:04:02 +00:00
mycroft 035c4e9b65 Compile the sequencer statically. 1996-08-10 08:36:48 +00:00
mycroft ed82d062fe Use HOSTED_C_C when building the assembler. 1996-08-10 08:24:59 +00:00
explorer 73cb5a96f8 aic, not aix... Stupid typo 1996-07-13 06:20:11 +00:00
explorer 00f9b22eb8 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.
1996-07-13 06:19:34 +00:00
explorer c62a6661a1 Updates to aic7xxx driver ; from pr port-i386/2600 1996-07-10 22:50:44 +00:00
thorpej a318461042 RCS Id police. 1996-05-20 00:48:43 +00:00
mycroft 19b0b9502f New version, with changes from Justin Gibbs and Noriyuki Soda. 1996-05-16 03:44:13 +00:00
christos 3a77c25f3e Add prototypes. 1996-04-29 19:30:50 +00:00
christos 3f3082e5f5 Add a clean target to clean the assembler binary 1996-04-29 19:30:19 +00:00
mycroft b216bead49 Add an Adaptec 2940 driver, by John Aycock and Justin Gibbs, ported to NetBSD by Stefan
Grefen, with several bug fixes by me.
1995-10-09 09:49:30 +00:00