Commit Graph

50419 Commits

Author SHA1 Message Date
Justin T. Gibbs
aa6dfd9d3d o Convert to <inttypes.h> style fixed sized types to facilitate porting to
other systems.

 o Normalize copyright text.

 o Clean up probe code function interfaces by passing around a single
   structure of common arguments instead of passing "too many" args
   in each function call.

 o Add support for the AAA-131 as a SCSI adapter.

 o Add support for the AHA-4944 courtesy of "Matthew N. Dodd" <winter@jurai.net

 o Correct manual termination support for PCI cards.  The bit definitions
   for manual termination control in the SEEPROM were incorrect.

 o Add support for extracting NVRAM information from SCB 2 for BIOSen
   that use this mechanism to pass this data to OS drivers.

 o Properly set the STPWLEVEL bit in PCI config space based on the
   setting in an SEEPROM.

 o Go back to useing 32byte SCBs for all controllers.  The current
   firmware allows us to embed 12byte cdbs on all controllers in
   a 32byte SCB, and larger cdbs are rarely used, so it is a
   better use of this space to offer more SCBs (32).

 o Add support for U160 transfers.

 o Add an idle loop executed during data transfers that prefetches
   S/G segments on controllers that have a secondary DMA engine
   (aic789X).

 o Improve the performance of reselections by avoiding an extra
   one byte DMA in the case of an SCB lookup miss for the reselecting
   target.  We now keep a 16byte "untagged target" array on the card
   for dealing with untagged reselections.  If the controller has
   external SCB ram and can support 64byte SCBs, then we use an
   "untagged target/lun" array to maximize concurrency.  Without
   external SCB ram, the controller is limited to one untagged
   transaction per target, auto-request sense operations excluded.

 o Correct the setup of the STPWEN bit in SXFRCTL1.  This control
   line is tri-stated until set to one, so set it to one and then
   set it to the desired value.

 o Add tagged queuing support to our target role implementation.

 o Handle the common cases of the ignore wide residue message
   in firmware.

 o Add preliminary support for 39bit addressing.

 o Add support for assembling on big-endian machines.  Big-endian
   support is not complete in the driver.

 o Correctly remove SCBs in the waiting for selection queue when
   freezing a device queue.

 o Now that we understand more about the autoflush bug on the
   aic7890, only use the workaround on devices that need it.

 o Add a workaround for the "aic7890 hangs the system when you
   attempt to pause it" problem.  We can now pause the aic7890
   safely regardless of what instruction it is executing.
2000-07-18 20:12:14 +00:00
Justin T. Gibbs
d4e2be3050 scsi_all.c:
Clean up the comments related to the high speed
	sync rate table for SPI.

scsi_message.h:
	Bring in some SCSI3 message terminology.  All SCSI2 names
	are still preserved for backwards compatibility.
2000-07-18 19:48:58 +00:00
Justin T. Gibbs
dd5bac9d0f cam_ccb.h:
Bring back the CAM_NEGOTIATE ccb flag.  This flag indicates
	that SPI transfer negotiation should occur concurrently with the
	execution of this CCB.  The flag is not yet used by the XPT but
	is required for proper support of multi-initiator configurations
	where topology scans cannot rely on a bus reset to invalidate
	prior negotiations.

cam_xpt.c:
	Don't allow DT transmission rates to be specified for devices
	that don't have the DT feature listed in their inquiry data.
2000-07-18 19:47:14 +00:00
Jonathan Lemon
727a4ed619 Convert calls to match new kqueue API. 2000-07-18 19:38:38 +00:00
Jonathan Lemon
a8e65b915e Simplify kqueue API slightly.
Discussed on:	-arch
2000-07-18 19:31:52 +00:00
Poul-Henning Kamp
f8fc6141fb Fix the IRQ9/IRQ2 confusion.
Submitted by:	Alan Clegg <abc@bsdi.com>
2000-07-18 18:50:24 +00:00
Nik Clayton
3d48b53ecf Correct the attribution for yes(1).
PR:		docs/19401
Submitted by:	s.c.sprong@student.utwente.nl
2000-07-18 18:32:08 +00:00
David E. O'Brien
433364bb77 Remove an OBE comment. 2000-07-18 18:27:06 +00:00
David E. O'Brien
6b02e06806 KNF'ize. 2000-07-18 18:26:03 +00:00
Wilko Bulte
5d3d180a97 document serial console habits of AS2100[a] 2000-07-18 17:50:16 +00:00
Sheldon Hearn
893d2b85cd Cross-reference mount_nfs(8) and showmount(8).
PR:		20008
Reported by:	Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2000-07-18 17:34:23 +00:00
Sheldon Hearn
ffc717e235 Order the cross-references in the SEE ALSO section, in preparation
for PR 20008.
2000-07-18 17:31:00 +00:00
Sheldon Hearn
edeb84a1b2 Import the new truncate(1) utility.
Approved by:	jdp
2000-07-18 17:03:58 +00:00
Poul-Henning Kamp
f928d1a2f2 Add the '-l' flag to nghook which loops the received data back. 2000-07-18 16:52:27 +00:00
Matt Jacob
e2f7ff26d3 oops- need reboot.h file 2000-07-18 16:47:49 +00:00
Sheldon Hearn
571214d4fe Fix a comment which was broken in rev 1.36.
PR:		19947
Submitted by:	Tetsuya Isaki <isaki@net.ipc.hiroshima-u.ac.jp>
2000-07-18 16:43:29 +00:00
Matt Jacob
116da9daa7 Add case that David missed about setting RB_SERIAL. 2000-07-18 16:25:14 +00:00
Ben Smithurst
37cc56f575 Remove <center> tags from with <title> section.
PR:		20002
Submitted by:	James Johnson <bonk1138@msn.com>
Approved by:	patrick (from freebsd-small mailing list)
2000-07-18 15:20:55 +00:00
Ben Smithurst
dff9235e4a Define what is meant by brackets' and braces'.
Suggested by:	grog
2000-07-18 14:41:01 +00:00
Neil Blakey-Milner
42c4c88ae9 Add an empty crunch.inc with instructions that you can use it to adjust
the building of the crunched binary.

I'll add examples when I add the post-include mechanism, since the
crunch.mk environment stomps on the pre-included crunch.inc's variables
at the moment.
2000-07-18 13:49:17 +00:00
Neil Blakey-Milner
cb42083e46 Make a separate build directory in which to put all the generated
objects, to simplify working with PicoBSD.

Add the ability to put make instructions in crunch.inc to pass to the
build process.

Now explicitly make the objects in our own object tree, since we want to
build the objects with our own defines, and allow this to occur in a
common object tree for all PicoBSD builds, if required.  This is
controlled by the COMM_OBJ variable, for those who don't want this -
setting it to /usr/obj again will just pick up the objects from your
last make buildworld, as before.
2000-07-18 13:43:38 +00:00
Neil Blakey-Milner
1b9d3e55e0 Update PICOBSD-C kernel configuration to the new world order, grabbing
hints simply from GENERIC.hints.

Added a bunch of comments about usb devices, new network cards, and
IPv6.
2000-07-18 13:25:51 +00:00
Sheldon Hearn
9400b2896e Order the cross-references in the SEE ALSO section correctly. 2000-07-18 13:03:09 +00:00
Neil Blakey-Milner
ec082028ef Fix the one 'obj'-related breakage, and quieten the build. Also change
symlinks from '/sbin' to 'sbin', so following the links make sense when
not on the disk itself.
2000-07-18 12:17:54 +00:00
Neil Blakey-Milner
d295906767 First part of PicoBSD makeover, adding basic 'obj' facilities, allowing
for read-only src tree.

While I'm there:
1) Use kgzip, not kzip, since kzip certainly doesn't make bootable
kernels anymore.  loader still isn't built separately, let alone without
forth support.  This needs to be fixed.

2) Expand the mount/vnconfig examples to be the defacto way of making
sure the filesystems are mounted, unmounted, or not configured.  This
needs more work.

3) quieten the build substantially, so errors are more prominent

4) Start of '-j' ability.  Current style isn't quite in the correct
dependency format for this, but obvious mistakes (changing directories
in main shell) are fixed.

Approved by:	grog, dwhite, luigi (no objections to me doing a makeover)
2000-07-18 12:04:33 +00:00
Sheldon Hearn
888d5fad11 Fix one grammar problem which crept in from rev 1.40 to rev 1.42, and
one mdoc problem from rev 1.40 (unnecessarily populated Nm macro).
2000-07-18 12:02:15 +00:00
Poul-Henning Kamp
cdd075277a Driver for LMC1504 card: four port E1 or fractional E1.
T1 support is possible but I have no T1 hardware to test with.

The vendor can be found at: www.lanmedia.com
2000-07-18 11:34:15 +00:00
Sheldon Hearn
93238a0c40 Substitute UT_NAMESIZE for 8 when truncating long usernames.
PR:		19886
Reported by:	Gregory Bond <gnb@itga.com.au>
2000-07-18 11:32:27 +00:00
Sheldon Hearn
47e05f6091 Fix header inclusions in preparation for a fix for PR 19886.
The CVS Id tag FreeBSD was added to satisfy commit_prep.pl.
2000-07-18 11:29:13 +00:00
Poul-Henning Kamp
f21dbedd56 Driver for LMC1504 card: four port E1 or fractional E1.
T1 support is possible but I have no T1 hardware to test with.

The vendor can be found at: www.lanmedia.com
2000-07-18 11:17:25 +00:00
Nick Hibma
e9fb12d38a Add the umodem driver. 2000-07-18 10:49:45 +00:00
David E. O'Brien
628224b176 Set `boothowto' approapiately if our console is a serial one.
The "debug.boothowto" sysctl can now be used (as on the i386) to determine
if the console is a serial one.
2000-07-18 10:05:10 +00:00
David E. O'Brien
7090abf525 Allow the Fix-it functionality to detect that we are on a serial console,
and DTRT rather than start the fixit shell on a non-existant vty.

PR:	19837
Submitted by:	Doug Ambrisko <ambrisko@whistle.com>
Approved by:	JKH
2000-07-18 09:14:06 +00:00
Doug Rabson
6a5be8627c Add smc37c935 chipset support and clean up the code which tries to
allocate a short port range in some alpha configurations.

Submitted by: "Andrew M. Miklic" <miklic@udlkern.fc.hp.com>,
	      Mark Abene <phiber@radicalmedia.com>
2000-07-18 09:01:09 +00:00
David Malone
b0fe2da816 Allow logger to send messages directly to a remote syslog. (This
only does IPv4 as our syslogd only does IPv4. I dunno if the KAME
people have any plans for syslogd).

PR:		19821
Submitted by:	Nick Hilliard <nick@iol.ie>
Reviewed by:	sheldonh
2000-07-18 08:56:54 +00:00
Hajimu UMEMOTO
6941031461 Fix an unmatched opening quote.
PR:		conf/20000
Submitted by:	Alex Kapranoff <alex@kapran.bitmcnit.bryansk.su>
2000-07-18 08:44:17 +00:00
Alexander Langer
6e145859ff Drop the references to index(3) and rindex(3), which are non-standard
and people shouldn't be encouraged to use them.

Asked by:	sheldonh
2000-07-18 08:05:11 +00:00
Sheldon Hearn
3ae5a45440 Clean up this new manual page. This delta includes content and
whitespace changes, which should not be a problem because this
is only the second revision of the file and translators are
unlikely to have gotten started yet.

Reviewed by:	abial
2000-07-18 07:46:14 +00:00
Dag-Erling Smørgrav
269532d987 Don't take a failure to stat a file to mean that it doesn't exist, as it may
be a dynamically created file, e.g. a tarball on servers that support sending
tarballs of directories.
2000-07-18 07:12:26 +00:00
Matt Jacob
482cf5c2e7 Add in some new IN_XXX and CT_XXXX flags in preparation
for the rototilling that !*$)~@!$_@*_(~@$*_(~@$*~@$*
Qlogic F/W changes will need.
2000-07-18 07:06:47 +00:00
Matt Jacob
d37162ca7a If debugging set, zero out an incoming response entry
when we're done reading it (makes checking things easier).
Before calling isp_notify_ack make sure we're at RUNSTATE-
elsewise we can be responding to LIPs or SCSI bus resets
before we've finished some of the wiring.
2000-07-18 07:05:37 +00:00
Matt Jacob
910fb4f6ee The SERVICING_INTERRUPT isn't quite safe yet. 2000-07-18 07:04:07 +00:00
Matt Jacob
f48ce1882f Add a isp_target_putback_atio- we aren't using CCINCR at this time, so
we need a function that tells the Qlogic f/w that a target mode command
is done, so increase the resource count for that lun. Add in a timeout
function to kick the putback again if we fail to do it the first time (we
may not have the request queue space for ATIO push). Split the function
isp_handle_platform_ctio into two parts so that the timeout function for
the ATIO push or isp_handle_platform_ctio can inform CAM that the requested
CTIO(s) are now done.

Clean up (cough) residual handling. What we need for Fibre Channel
is to preserve the at_datalen field from the original incoming ATIO
so we can calculate a 'true' residual.  Unfortunately, we're not
guaranteed to get that back from CAM. We'll *try* to find it hiding
in the periph_priv field (layering violation)- but if an ATIO was
passed in from user land- forget it. This means that we'll probably
get residuals wrong for Fibre Channel commands we're completing
with an error. It's too late to 4.1 release to fix this- too bad.
Luckily the only device we'd really care about this occurring on
is a tape device and they're still so rare as FC attached devices
that this can be considered an untested combination anyway.

Remove all CCINCR usage (resource autoreplenish). When we've proved
to ourself that things are working properly, we can add it back
in.

Make sure we propage 'suggested' sense data from the incoming ATIO
into the created system ATIO- and set sense_len appropriately.
Correctly propagate tag values.

Fall back to the model of generating (well, the functions in isp_pci.c
do the work) multiple CTIOs based upon what we get from XPT. Instead
of being able to pair Qlogic generated ATIOs with CAM ATIOs, and then
to pair CAM CTIOs with Qlogic CTIOs, we have to take the CTIO passed
to us from XPT, and if it implies that we have to generate extra
Qlogic CTIOs, so be it. This means that we have to wait until the
last CTIO in a sequence we generated completes before calling xpt_done.

Executive summary- target mode actually now pretty much works well
enough to tell folks about.
2000-07-18 06:58:28 +00:00
Matt Jacob
c77d11d0cc Raise debug level for some messages. Fix botched inversion
about MBOX_COMMAND_ERROR vs. MBOX_COMMAND_PARAM_ERROR.
2000-07-18 06:46:48 +00:00
Matt Jacob
05fbcbb000 Keep interrupts blocked for all of isp_pci_attach. Redo DMA routines
for target mode for cleanliness and accuracy.
2000-07-18 06:40:22 +00:00
Matthew N. Dodd
5ce6286805 Properly detect ISA cards in EISA mode and skip them in the ISA identify
routine so that they will be picked up by the EISA front end.

PR:		i386/2598
2000-07-18 06:37:08 +00:00
Peter Wemm
f03c9f90d1 Patch up some bogons in the resource_find() vs resource_find_hard()
interfaces.  The original resource_find() returned a pointer to an internal
resource table entry.  resource_find_hard() dereferences the actual
passed in value (oops!) - effectively trashing random memory due to
the pointer being passed in with a random initial value.

Submitted by:  bde
2000-07-18 06:08:27 +00:00
Matt Jacob
785b6ccaec Don't get stuck in a loop calling exit from an atexit routine. Clean
up cam_fill_ctio usage to passed atio flags. Clear periph_priv area
of new ctio so if the kernel is dumb enough to look at them (this is
a SECURITY hole) the panic will be obvious instead of subtle.
2000-07-18 04:39:36 +00:00
David E. O'Brien
ff1e937c46 Declare our DEC Alpha cdboot to be a fully released version 1.0. 2000-07-18 04:15:06 +00:00
Andrey A. Chernov
7d66a72a06 Move mtree to bootstrap-tools and add PATH=${TMPPATH} to IMAKEENV to pick it 2000-07-18 01:49:05 +00:00