NetBSD/sys/dev
mjacob c9de53f96e Create a kernel thread for Fibre Channel cards. This is the new
way of doing business- modulo some startup spasms and peculiarities
of the way kthreads are started (*after* configuration, weird) and
some strangeness with the freeze/thaw code, what now happens is
that any of Loop Down, LIP, Loop Reset or Port Datbase or Name
Server Database Changed ASYNC events cause the queues to freeze
for this channel.  The arrival of a Loop UP is not relevant.

What *is* relevant is that the Port Datbase or Name Server Changed
async event indicate that it's okay to go and (re)evaluate the
state of the FC link and (re)probe local loop and fabric membership.
We have a kthread do this because it's *sooooo* much nicer to be
able to sleep while doing the 130-250 mailbox commands it'll take
to re-evaluate things.

When the state is well known again, we can unfreeze the channel
queues.  Then, as commands start arriving, we simply can start them
or bounce them with XS_SELTIMEOUT (if the device in question has
gone away).  Previously, we did lazy evaluation, which meant that
if a change occurred, we would wait until the very *next* command
to go rebuild stuff.

The reason this is not sensible is:

 a) Even with sleeping, you can hang up your system because you might be
 making some poor stat(2) call pay the price of re-evaluating the whole
 fabric.

 b) If we ever really want to get to dynamic attachment/detachment, we
 should find out sooner, rather than later, where things get to.

Split off ispminphys_1020 from ispminphys- a 1020 has a 24 bit limit-
not anything newer.

Re-enable LIPs and Loop Resets as async events- this allows the outer
layer to set policy about them.

Roll platform major && minor. Remove bogus waitq (no longer used).
Remove callout entry in softc (no longer used). Define some shorthands
for channels. Clean up a variety of cruft left over from the
thorpej_scsipi changeover.
2001-05-25 21:45:55 +00:00
..
ata Since __HAVE_OLD_DISKLABEL, DISKMINOR(u, p) isn't continuous over "p" 2001-05-06 18:30:56 +00:00
bi splimp -> splvm. 2001-04-12 20:38:25 +00:00
cardbus Add support for "Corega FEther CB-TXD". 2001-05-15 04:26:23 +00:00
dec export dec_boot.h 2001-05-03 05:26:08 +00:00
eisa Add missing printf(). 2001-05-10 09:41:19 +00:00
hpc fix locking problem of event queue access. 2001-05-08 17:23:09 +00:00
i2c Only install headers which are actually used by our userland. This 2001-04-11 07:42:31 +00:00
i2o Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
ic Create a kernel thread for Fibre Channel cards. This is the new 2001-05-25 21:45:55 +00:00
ieee1394 Add a few nits. Hubs seem problematic on resets sometimes. 2001-05-17 05:30:37 +00:00
isa space/TAB cosmetics 2001-05-19 12:04:07 +00:00
isapnp Add Aztech sound card found in HP Kayaks. 2001-04-15 03:31:37 +00:00
mca remove //-commented debugging stuff 2001-05-14 07:35:33 +00:00
microcode Generated from osiop.ss rev. 1.1: 2001-04-30 04:49:57 +00:00
mii Regen. 2001-05-22 16:07:56 +00:00
mscp Upon inspection of a 4000/600 dmesg, change the splbios to splubas. 2001-04-12 20:13:26 +00:00
news
ofisa Only install headers which are actually used by our userland. This 2001-04-11 07:42:31 +00:00
ofw Add l_poll' to struct linesw' and provide an xxxpoll() entry point 2001-05-02 10:32:08 +00:00
pci Add mii_bitbang attribute to gsip, pointed out by Andrew Gillham. 2001-05-22 16:58:23 +00:00
pckbc Only install headers which are actually used by our userland. This 2001-04-11 07:42:31 +00:00
pcmcia add product COREGA FEther-PCC-TXF 2001-05-21 13:48:25 +00:00
podulebus Add Multi-media/Ethernet card from Irlam. 2001-05-20 21:07:06 +00:00
qbus Update the TS11 driver to useable state. 2001-05-13 15:32:40 +00:00
raidframe A value of 1 for tracks/cylinder in the disklabel is apparently sub-optimal. 2001-04-05 02:48:51 +00:00
rasops Only install headers which are actually used by our userland. This 2001-04-11 07:42:31 +00:00
rcons Only install headers which are actually used by our userland. This 2001-04-11 07:42:31 +00:00
sbus Add l_poll' to struct linesw' and provide an xxxpoll() entry point 2001-05-02 10:32:08 +00:00
scsipi In scsipi_channel_thaw(), if the count drops to 0, call scsipi_run_queue(). 2001-05-23 15:50:32 +00:00
std Add comment set spec id to macro types 2001-04-23 00:57:32 +00:00
sun give sunkbd and sunms a "poll" routine. 2001-05-17 02:24:00 +00:00
sysmon
tc Put back /usr/include/dev/tc/sticreg.h. 2001-05-16 13:48:52 +00:00
usb fix forgotten/malformed initialization of some variables. 2001-05-25 19:33:36 +00:00
vme Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
wscons do this console device lookup thing the right way this time 2001-05-18 11:49:21 +00:00
wsfont Only install headers which are actually used by our userland. This 2001-04-11 07:42:31 +00:00
xmi
auconv.c
auconv.h
audio_if.h
audio.c X68k built-in voice synthesizer supports 4bit ADPCM. 2001-05-02 12:49:41 +00:00
audiovar.h
ccd.c
ccdvar.h
clock_subr.c
clock_subr.h
cninit.c
cons.c
cons.h
DEVNAMES Note TS11 (ts). 2001-05-13 15:34:25 +00:00
ld.c minor lint 2001-04-30 02:44:53 +00:00
ldvar.h
Makefile Put back all header files defining ioctls 2001-04-11 19:07:36 +00:00
md_root.c
md.c
md.h
midi_if.h
midi.c
midisyn.c
midisynvar.h
midivar.h
mulaw.c
mulaw.h
rnd.c
rndpool.c
sequencer.c
sequencervar.h
vnd.c
vndvar.h