freebsd-dev/sys
Matt Jacob 5d57194434 Spring MegaChange #1.
----

Make a device for each ISP- really usable only with devfs and add an ioctl
entry point (this can be used to (re)set debug levels, reset the HBA,
rescan the fabric, issue lips, etc).

----

Add in a kernel thread for Fibre Channel cards. The purpose of this
thread is to be woken up to clean up after Fibre Channel events
block things.  Basically, any FC event that casts doubt on the
location or identify of FC devices blocks the queues. When, and
if, we get the PORT DATABASE CHANGED or NAME SERVER DATABASE CHANGED
async event, we activate the kthread which will then, in full thread
context, re-evaluate the local loop and/or the fabric. When it's
satisfied that things are stable, it can then release the blocked
queues and let commands flow again.

The prior mechanism was a lazy evaluation. That is, the next command
to come down the pipe after change events would pay the full price
for re-evaluation. And if this was done off of a softcall, it really
could hang up the system.

These changes brings the FreeBSD port more in line with the Solaris,
Linux and NetBSD ports. It also, more importantly, gets us being
more proactive about topology changes which could then be reflected
upwards to CAM so that the periph driver can be informed sooner
rather than later when things arrive or depart.

---

Add in the (correct) usage of locking macros- we now have lock transition
macros which allow us to transition from holding the CAM lock (Giant)
and grabbing the softc lock and vice versa. Switch over to having this
HBA do real locking. Some folks claim this won't be a win. They're right.
But you have to start somewhere, and this will begin to teach us how
to DTRT for HBAs, etc.

--

Start putting in prototype 2300 support.  Add back in LIP
and Loop Reset as async events that each platform will handle.
Add in another int_bogus instrumentation point.

Do some more substantial target mode cleanups.

MFC after:	8 weeks
2001-05-28 21:20:43 +00:00
..
alpha One needs to introduce things with a `.file' directive before trying to 2001-05-28 09:52:21 +00:00
amd64 Remove pcm hints here now that it's gone from GENERIC. 2001-05-26 08:04:34 +00:00
arm/include Make _BSD_TIME_T_ (time_t) an int' rather than long'. This will help 2001-05-18 01:43:25 +00:00
boot One needs to introduce things with a `.file' directive before trying to 2001-05-28 09:52:21 +00:00
cam Print out the asc/ascq and description even when both the asc and ascq 2001-05-27 03:22:51 +00:00
coda Introduce a global lock for the vm subsystem (vm_mtx). 2001-05-19 01:28:09 +00:00
compat - sys/n[tw]fs moved to sys/fs/n[tw]fs 2001-05-26 11:57:45 +00:00
compile
conf Clarify that the old CD-ROM drivers are only for non-ATAPI drives. 2001-05-28 20:43:36 +00:00
contrib/dev Actually biofinish(struct bio *, struct devstat *, int error) is more general 2001-05-06 20:00:03 +00:00
crypto
ddb o Merge contents of struct pcred into struct ucred. Specifically, add the 2001-05-25 16:59:11 +00:00
dev Spring MegaChange #1. 2001-05-28 21:20:43 +00:00
fs Don't copy the trailing zero in readlink, it confuses namei(). 2001-05-26 20:07:57 +00:00
geom Polish error handling with biofinish(). 2001-05-08 09:10:27 +00:00
gnu Close the opening comment line on these two files that mysteriouly vanished. 2001-05-27 21:07:39 +00:00
i4b Submitted by: Juha-Matti Liukkonen (Cubical Solutions Ltd) (jml@cubical.fi) 2001-05-25 08:43:30 +00:00
i386 Clarify that the old CD-ROM drivers are only for non-ATAPI drives. 2001-05-28 20:43:36 +00:00
ia64 - FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION file 2001-05-23 09:42:29 +00:00
isa add Dualmode Zoom/FaxModem 56K (internal) Model 2919 2001-05-26 11:17:57 +00:00
isofs/cd9660 - FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION file 2001-05-23 09:42:29 +00:00
kern With the new kernel dev_t conversions done at release 4.X, 2001-05-28 20:22:12 +00:00
libkern Make the rcsid and FreeBSD IDs more sane in the wcs* and wmem* files. 2001-05-24 08:47:42 +00:00
modules Name this module msdos.ko so that mount_msdos(8) can autoload 2001-05-28 17:10:46 +00:00
net Currently, each wireless networking driver has it's own control program 2001-05-26 09:27:08 +00:00
netatalk
netatm
netgraph Fix a range checking bug in ng_int32_parse which affected 64-bit 2001-05-19 19:36:32 +00:00
netinet In in_ifadown(), differentiate between whether the interface goes 2001-05-11 14:37:34 +00:00
netinet6 Fix memory leak. 2001-05-23 20:41:17 +00:00
netipx Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
netkey Remove unneeded includes of sys/ipl.h and machine/ipl.h. 2001-05-15 23:22:29 +00:00
netnatm Change a couple of M_WAITOKs used in M_PREPEND() to M_TRYWAITs, which 2001-04-05 04:20:48 +00:00
netncp Use new kernel_sysctlbyname function. Remove private copy. 2001-05-19 05:48:07 +00:00
netns
netsmb Back out scanning file descriptors with holding a process lock. 2001-05-15 10:19:57 +00:00
nfs o Merge contents of struct pcred into struct ucred. Specifically, add the 2001-05-25 16:59:11 +00:00
nfsclient o Merge contents of struct pcred into struct ucred. Specifically, add the 2001-05-25 16:59:11 +00:00
nfsserver Introduce a global lock for the vm subsystem (vm_mtx). 2001-05-19 01:28:09 +00:00
pc98 Update pc98 memory probe functions. 2001-05-21 12:51:44 +00:00
pccard Turns out that one bit isn't enough. Introduce two new fields 2001-05-28 02:53:02 +00:00
pci Vlan tags are 12 bits, mask off anything above since the chip doesn't 2001-05-23 19:25:14 +00:00
posix4 o Merge contents of struct pcred into struct ucred. Specifically, add the 2001-05-25 16:59:11 +00:00
powerpc - FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION file 2001-05-23 09:42:29 +00:00
rpc
svr4
sys Add a CONS_CLRHIST ioctl which instructs syscons to clear the history 2001-05-27 00:45:59 +00:00
tools replace calls to non-existant bail() subroutine with calls to 2001-03-23 11:48:50 +00:00
ufs Add a check to determine whether extended attributes have been 2001-05-25 18:24:52 +00:00
vm Stick VM syscalls back under Giant if the BLEED option is not defined. 2001-05-24 18:04:29 +00:00
Makefile