freebsd-skq/sys
Justin T. Gibbs 56a7c4a852 ahc_eisa.c:
ahc_pci.c:
		Add detach support.

		Make use of soft allocated on our behalf by newbus.

		For PCI devices, disable the mapping type we aren't
		using for extra protection from rogue code.

	aic7xxx_93cx6.c:
	aic7xxx_93cx6.h:
		Sync perforce IDs.

	aic7xxx_freebsd.c:
		Capture the eventhandle returned by EVENTHANDER_REGISTER
		so we can kill the handler off during detach.

		Use AHC_* constants instead of hard coded numbers in a
		few more places.

		Test PPR option state when deciding to "really" negotiate
		when the CAM_NEGOTIATE flag is passed in a CCB.

		Make use of core "ahc_pause_and_flushwork" routine in our
		timeout handler rather than re-inventing this code.

		Cleanup all of our resources (really!) in ahc_platform_free().
		We should be all set to become a module now.

		Implement the core ahc_detach() routine shared by all of
		the FreeBSD front-ends.

	aic7xxx_freebsd.h:
		Softc storage for our event handler.

		Null implementation for the ahc_platform_flushwork() OSM
		callback.  FreeBSD doesn't need this as XPT callbacks are
		safe from all contexts and are done directly in ahc_done().

	aic7xxx_inline.h:
		Implement new lazy interrupt scheme.  To avoid an extra
		PCI bus read, we first check our completion queues to
		see if any work has completed.  If work is available, we
		assume that this is the source of the interrupt and skip
		reading INTSTAT.  Any remaining interrupt status will be
		cleared by a second call to the interrupt handler should
		the interrupt line still be asserted.  This drops the
		interrupt handler down to a single PCI bus read in the
		common case of I/O completion.  This is the same overhead
		as in the not so distant past, but the extra sanity of
		perforning a PCI read after clearing the command complete
		interrupt and before running the completion queue to avoid
		missing command complete interrupts added a cycle.

	aic7xxx.c:
		During initialization, be sure to initialize all scratch
		ram locations before they are read to avoid parity errors.
		In this case, we use a new function, ahc_unbusy_tcl() to
		initialize the scratch ram busy target table.

		Replace instances of ahc_index_busy_tcl() used to unbusy
		a tcl without looking at the old value with ahc_unbusy_tcl().

		Modify ahc_sent_msg so that it can find single byte messages.
		ahc_sent_msg is now used to determine if a transfer negotiation
		attempt resulted in a bus free.

		Be more careful in filtering out only the SCSI interrupts
		of interest in ahc_handle_scsiint.

		Rearrange interrupt clearing code to ensure that at least
		one PCI transaction occurrs after hitting CLRSINT1 and
		writting to CLRINT.  CLRSINT1 writes take a bit to
		take effect, and the re-arrangement provides sufficient
		delay to ensure the write to CLRINT is effective.  The
		old code might report a spurious interrupt on some "fast"
		chipsets.

		export ahc-update_target_msg_request for use by OSM code.

		If a target does not respond to our ATN request, clear
		it once we move to a non-message phase.  This avoids
		sending a MSG_NOOP in some later message out phase.

		Use max lun and max target constants instead of
		hard-coded values.

		Use softc storage built into our device_t under FreeBSD.

		Fix a bug in ahc_free() that caused us to delete
		resources that were not allocated.

		Clean up any tstate/lstate info in ahc_free().

		Clear the powerdown state in ahc_reset() so that
		registers can be accessed.

		Add a preliminary function for pausing the chip and
		processing any posted work.

		Add a preliminary suspend and resume functions.

	aic7xxx.h:
		Limit the number of supported luns to 64.  We don't
		support information unit transfers, so this is the
		maximum that makes sense for these chips.

		Add a new flag AHC_ALL_INTERRUPTS that forces the
		processing of all interrupt state in a single invokation
		of ahc_intr().  When the flag is not set, we use the
		lazy interrupt handling scheme.

		Add data structures to store controller state while
		we are suspended.

		Use constants instead of hard coded values where appropriate.

		Correct some harmless "unsigned/signed" conflicts.

	aic7xxx.seq:
		Only perform the SCSIBUSL fix on ULTRA2 or newer controllers.
		Older controllers seem to be confused by this.

		In target mode, ignore PHASEMIS during data phases.
		This bit seems to be flakey on U160 controllers acting
		in target mode.

	aic7xxx_pci.c:
		Add support for the 29160C CPCI adapter.

		Add definitions for subvendor ID information
		available for devices with the "9005" vendor id.
		We currently use this information to determine
		if a multi-function device doesn't have the second
		channel hooked up on a board.

		Add rudimentary power mode code so we can put the
		controller into the D0 state.  In the future this
		will be an OSM callback so that in FreeBSD we don't
		duplicate functionality provided by the PCI code.
		The powerstate code was added after I'd completed
		my regression tests on this code.

		Only capture "left over BIOS state" if the POWRDN
		setting is not set in HCNTRL.

		In target mode, don't bother sending incremental
		CRC data.
2000-12-20 01:11:37 +00:00
..
alpha Fix ypo in essage about isabling EISA nterrupt ector 2000-12-15 23:09:05 +00:00
amd64 Remove the "machine dependent" KTR trace buffer ddb commands. The code was 2000-12-14 23:57:30 +00:00
boot Fix column alignment (whitespace-only change). 2000-12-19 00:17:36 +00:00
cam Generalize quirk for Sony Memory Sticks. Any device that starts with 2000-12-14 22:08:13 +00:00
coda When p_ucred is passed to the venus daemon, first grab the proc lock to 2000-12-15 00:12:30 +00:00
compat translate the flags in recvfrom and recvmsg from linux to bsd ones 2000-12-19 00:24:25 +00:00
compile
conf revert addition of strlcpy/strlcat 2000-12-18 13:28:12 +00:00
contrib/dev Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
crypto Initial import of AES algorithm code (aka Rijndael) from KAME. 2000-10-30 11:03:32 +00:00
ddb Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
dev ahc_eisa.c: 2000-12-20 01:11:37 +00:00
fs When p_ucred is passed to the venus daemon, first grab the proc lock to 2000-12-15 00:12:30 +00:00
geom Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
gnu Avoid a data-consistency race between write() and mmap() 2000-12-17 23:57:05 +00:00
i4b Divorce the kernel binary ABI version number from the message 2000-12-18 20:03:32 +00:00
i386 Attempt to read and verify the card's status in wi_stop() before sending it 2000-12-18 23:49:56 +00:00
ia64 Remove the "machine dependent" KTR trace buffer ddb commands. The code was 2000-12-14 23:57:30 +00:00
isa Fix the PR. Getting a dma channel equal to 0 remains a problem though. 2000-12-19 21:28:17 +00:00
isofs/cd9660 Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
kern Fix another sched_sihand -> sched_swi in a KTR trace message. 2000-12-18 23:59:34 +00:00
libkern Add __ucmpdi2 prototype to quelch a warning. 2000-12-07 22:28:20 +00:00
miscfs o Tighten restrictions on use of /proc/pid/ctl and move access checks 2000-12-13 04:28:24 +00:00
modules Enable the sym module. 2000-12-19 12:54:17 +00:00
msdosfs Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
net Various fixes to make leased line operation more robust. On lcp_up, start 2000-12-19 19:08:11 +00:00
netatalk Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
netatm Add back some now needed #include <sys/systm.h> 2000-12-07 22:19:06 +00:00
netgraph Divorce the kernel binary ABI version number from the message 2000-12-18 20:03:32 +00:00
netinet Use getmicrotime() instead of microtime() when timestamping ICMP packets, 2000-12-16 21:39:48 +00:00
netinet6 Staticize some malloc M_ instances. 2000-12-08 20:09:00 +00:00
netipx Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
netkey Revert previous commit after discussion with phk. 2000-10-30 09:13:46 +00:00
netnatm Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
netncp Make malloc use M_ZERO in some more locations. 2000-10-29 16:14:28 +00:00
netns Lock down the network interface queues. The queue mutex must be obtained 2000-11-25 07:35:38 +00:00
nfs Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
nfsclient Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
nfsserver Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
ntfs Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
nwfs v_interlock is a mutex now, not simple lock. 2000-11-04 02:42:11 +00:00
pc98 Merged from sys/i386/conf/GENERIC revisions 1.292 - 1.294. 2000-12-16 03:31:44 +00:00
pccard add PNPID for PnP PCMCIA, SCM SwapBox Classic X2P. 2000-12-11 15:02:50 +00:00
pci un-staticize M_AGP so that it can be used in agp*.c 2000-12-19 08:32:37 +00:00
posix4 Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
powerpc Store in globaldata our CPU ID#. Provide a lock for panics - only one 2000-12-09 20:52:42 +00:00
rpc
svr4 This patchset fixes a large number of file descriptor race conditions. 2000-11-18 21:01:04 +00:00
sys remove pfctlinput 2000-12-19 08:09:36 +00:00
tools Simplify this a bit so that it doesn't have to generate silly redundant 2000-12-06 06:59:38 +00:00
ufs Several small but important fixes for snapshots: 2000-12-19 04:41:09 +00:00
vm Fix floppy drives on machines with lots of RAM. 2000-12-18 20:12:13 +00:00
Makefile I should know better than to touch this without testing a 'make release' 2000-08-24 18:53:09 +00:00