Home | History | Annotate | Download | only in ic
History log of /src/sys/dev/ic/ispvar.h
RevisionDateAuthorComments
 1.76  21-Sep-2023  msaitoh s/ for for / for / in comment.
 1.75  12-Apr-2022  andvar s/similarily/similarly/
 1.74  11-Sep-2021  andvar Add missing double p and d for stopped and overriden accordingly.
Fix few more typos along the way, mainly in copy-pasted comments.
 1.73  18-Oct-2014  snj src is too big these days to tolerate superfluous apostrophes. It's
"its", people!
 1.72  28-Feb-2011  mjacob branches: 1.72.14;
Update isp driver to be in sync with other platforms. Mostly very minor changes
with effectively zero impact on NetBSD.
 1.71  26-Mar-2010  mjacob branches: 1.71.2; 1.71.4;
Synchronize with other platforms:

Strongly architect handles so we can more easily detect bogus
handles. This switches us to a full 32 bits for all handles.

Handle the case of FC disks disappearing and then reappearing-
at least at the FC transport level.

Some better and finer control of debug and non-debug printouts.
 1.70  25-Jun-2009  mjacob branches: 1.70.2; 1.70.4;
Update ISP driver to latest and greatest. Includes support for the 8Gb part.
 1.69  11-May-2008  mjacob branches: 1.69.12;
Make fc scratch acquisition something that can fail. Remove in_intr flag.
Otherwise synchronize with changes made due to other platforms.
 1.68  11-Mar-2008  mjacob branches: 1.68.2; 1.68.4; 1.68.6;
Checkpoint of some fairly major isp(4) rototilling.

Reintroduce more of a 'channel' concept in preparation for NP-IV support.
This gets rid of the chanA/chanB concept as the 2400 can have up to 128
virtual channels. Actually, with MID firmware you can also have the 2200
and 2300 support 'channels, but they do it with an FL-Port topology.
Because FC cards can now have 'channels', just about every support
function for fibre channel had to be redone to have a channel index
as well. Rototill isp_ioctl.h for channel stuff as well.

Pick up a lot of work about fabric management (hopefully better) and keep
work in place that will allow for dynamic attachment/detachment of devices
(if I can figure out how to make the midlayer support it).

Merge the target code with external trees. Eventually it might even
be sorted out on NetBSD.

Update some firmware stuff.
 1.67  07-Jul-2007  mjacob branches: 1.67.8; 1.67.24; 1.67.28;
Do a number of 24XX related fixes: fix the actual getting of initiator
status correctly (which we never were doing before). Add an underrun
checker for 24XX. The process of sorting this out led to a whole bunch
of endian surprises that had to be dealt with. Fix NVRAM endian issues
for the 24XX as well.

Do a little 2200 related cleanup- in particular, turn off complaints about
not finding a fast posting handle when running with RIO enabled- we are
somehow getting duplicate completions in this case. If we ignore them and
don't complain, all is well, and we actually start averaging > 2 commands
completed per interrupt.
 1.66  24-May-2007  mjacob Major update to isp(4) driver to bring it in line with external sources.

The major changes are:

+ 4Gb (24XX) card support
+ Rewritten fabric and loop evaluation code
+ New f/w sets

The 4Gb changes required major rototilling, which caused a rewrite of
fabric and loop eval code. The latter can now be set up to tune for
dynamic device arrival/departure if the framework is set up for it,
or to be firm about waiting for devices.

Testing has been principally on amd64, i386 and sparc64 and seems to
not have broken things for me.
 1.65  04-Mar-2007  christos branches: 1.65.2; 1.65.4;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.64  11-Dec-2005  christos branches: 1.64.26;
merge ktrace-lwp.
 1.63  30-May-2005  christos branches: 1.63.2;
- add missing const
- fix variable shadowing
- remove unneeded casts
 1.62  27-Feb-2005  perry nuke trailing whitespace
 1.61  04-Dec-2003  keihan branches: 1.61.8; 1.61.10;
netbsd.org -> NetBSD.org

This was the last commit of this kind to src/sys, which is now totally
"NetBSD.org clean". Thanks for the patiance, and sorry for all the commits.
 1.60  03-May-2003  wiz branches: 1.60.2;
DMA, not dma nor Dma.
 1.59  18-Oct-2002  mjacob Remove ISP_DMA_ADDR_T as a 'type'. Instead, go off of whether
ISP_DAC_SUPPORTED is defined and do a real typedef for the size
of DMA addresses. ISP_DAC_SUPPORTED also decides how much of any
particular DMA address is significant.

Lose STRNCAT over the side.

Add in (sight unseen) 10160 support.
 1.58  16-Aug-2002  mjacob Further fix problems with 23XX ISR handling and correctly initialize the
23XX to use ZIO in preference to fast posting.
 1.57  12-Aug-2002  mjacob Various changes to allow for overriding just loopid and/or iid.
Fix a random 23XX ISR reading bug. Be chattier about HBA_BOTCH
errors. More f/w cashdump layering.
 1.56  15-Jun-2002  mjacob Roll version minor.

Add DEFAULT_FRAMESIZE/DEFAULT_EXEC_THROTTLE/ISPASYNC_FW_RESTARTED
defines.
 1.55  04-Apr-2002  mjacob branches: 1.55.2;
Redo fabric evaluation to not use GET ALL NEXT (GA_NXT). Switches seem
to be trying to wriggle out of supporting this well. Instead, use
GID_FT to get a list of Port IDs and then use GPN_ID/GNN_ID to find the
port and node wwn. This should make working on fabrics a bit cleaner and
more stable.

This also caused some cleanup of SNS subcommand canonicalization so that
we can actually check for FS_ACC and FS_RJT, and if we get an FS_RJT,
print out the reason and explanation codes.

We'll keep the old GA_NXT method around if people want to uncomment a
controlling definition in ispvar.h.

This also had us clean up ISPASYNC_FABRICDEV to use a local lportdb argument
and to have the caller explicitly say that a device is at the end of the
fabric list.
 1.54  22-Mar-2002  mjacob Handle Port Unavailable the same as Port Logout (i.e., send a LIP).

Unconst pointer to f/w in the ispdv structure. Too many compilers get
unhappy over our walking the array. Make casts as appropriate so that
initialization in structure is still happy.

Limit length of fabric to 256. This will all go away soon.

Do a cleaner case of keeping multiple CPUs/threads from reading the
same response queue entries.
 1.53  21-Feb-2002  mjacob Implement F/W crashdumps for 2200 && 2300 cards (kernel compile option).

Distinguish between 2312 and 2300 cards (they *are* different). Enable
RIO (Reduced Interrupt Operation) for the LVD cards (hey- I've seen
batched completions of the 30 commands at a time with this,....)...

If we get a Port Logout on local loop topologies, we have to force the
f/w to log back in. The easiest way (for us) to do this is to force
a LIP. This also will wake up the disk that probably just had a f/w crash.

Implement mailbox 'continuations'- this allows interrupts to re-drive
a mailbox command if it's one that just essentially repeats the previous
mailbox command (e.g., f/w download). This saves a boatload of sleep/wakeup
twitches.

If we're not a 2300 and we're about to return with a 'bogus interrupt'- check
the semaphore register to be non-zero at all and outgoing mailbox 0- this
seems to be where some of the lost ISP1080 commands came from.
 1.52  03-Jan-2002  mjacob Implement REDUCED INTERRUPT OPERATION usage for FC cards- this allows the
firmware to delay completion of commands so that it can attempt to batch
a bunch of completions at once- either returning 16 bit handles in mailbox
registers, or in a resposne queue entry that has a whole wad of 16 bit handles.

Distinguish between 2300 and 2312 chipsets- if only because the revisions
on the chips have different meanings.

Add more instrumentation plus ISP_GET_STATS and ISP_CLR_STATS ioctls.
Run up the maximum number of response queue entities we'll look at
per interrupt.

If we haven't set HBA role yet, always return success from isp_fc_runstate.
 1.51  14-Dec-2001  mjacob Major restructuring for swizzling to the request queue and unswizzling from
the response queue. Instead of the ad hoc ISP_SWIZZLE_REQUEST, we now have
a complete set of inline functions in isp_inline.h. Each platform is
responsible for providing just one of a set of ISP_IOX_{GET,PUT}{8,16,32}
macros.

The reason this needs to be done is that we need to have a single set of
functions that will work correctly on multiple architectures for both little
and big endian machines. It also needs to work correctly in the case that
we have the request or response queues in memory that has to be treated
specially (e.g., have ddi_dma_sync called on it for Solaris after we update
it or before we read from it).

One thing that falls out of this is that we no longer build requests in the
request queue itself. Instead, we build the request locally (e.g., on the
stack) and then as part of the swizzling operation, copy it to the request
queue entry we've allocated. I thought long and hard about whether this was
too expensive a change to make as it in a lot of cases requires an extra
copy. On balance, the flexbility is worth it. With any luck, the entry that
we build locally stays in a processor writeback cache (after all, it's only
64 bytes) so that the cost of actually flushing it to the memory area that is
the shared queue with the PCI device is not all that expensive. We may examine
this again and try to get clever in the future to try and avoid copies.

Another change that falls out of this is that MEMORYBARRIER should be taken
a lot more seriously. The macro ISP_ADD_REQUEST does a MEMORYBARRIER on the
entry being added. But there had been many other places this had been missing.
It's now very important that it be done.

For NetBSD, it does a ddi_dmamap_sync as appropriate. This gets us out of
the explicit ddi_dmamap_sync on the whole response queue that we did for SBus
cards at each interrupt.

Set things up so that platforms that cannot have an SBus don't get a lot of
the SBus code checks (dead coded out).

Additional changes:

Fix a longstanding buglet of sorts. When we get an entry via isp_getrqentry,
the iptr value that gets returned is the value we intend to eventually plug
into the ISP registers as the entry *one past* the last one we've written-
*not* the current entry we're updating. All along we've been calling sync
functions on the wrong index value. Argh. The 'fix' here is to rename all
'iptr' variables as 'nxti' to remember that this is the 'next' pointer-
not the current pointer.

Devote a single bit to mboxbsy- and set aside bits for output mbox registers
that we need to pick up- we can have at least one command which does not
have any defined output registers (MBOX_EXECUTE_FIRMWARE).

Explicitly decode GetAllNext SNS Response back *as* a GetAllNext response.
Otherwise, we won't unswizzle it correctly.

Nuke some additional __P macros.
 1.50  06-Oct-2001  mjacob Fix various 2300 GB issues related to chip errata and documentation
misunderstandings. We also now can report our connection rate.
 1.49  05-Sep-2001  mjacob branches: 1.49.2;
Synchronize with FreeBSD/Linux.
 1.48  01-Sep-2001  mjacob Add support for 2 Gigabit cards (2300/2312). This necessitated a change
in how interrupts are down- the 23XX has not only a different place to check
for an interrupt, but unlike all other QLogic cards, you have to read the
status as a 32 bit word- not 16 bit words. Rather than have device specific
functions as called from the core module (in isp_intr), it makes more sense
to have the platform/bus modules do the gruntwork of splitting out the
isr, semaphore register and the first outgoing mailbox register (if needed)
*prior* to calling isp_intr (if calling isp_intr is necessary at all).
 1.47  22-Jul-2001  wiz seperate -> separate
 1.46  06-Jul-2001  mjacob branches: 1.46.2;
White space cleanup. Fix oopslet about having overlapping loop states.
Handle FW crashes as an isp_async call. Reclaim a missing logging level
bit.
 1.45  22-May-2001  mjacob Add back in (again) ISPASYNC_LIP and ISPASYNC_LOOP_RESET async
notifications. Let each platform set policy as to what to do
with these.
 1.44  16-May-2001  mjacob beginning basic 2300 infrstructure support
 1.43  14-Mar-2001  mjacob Roll core minor. ANSify.
 1.42  20-Feb-2001  mjacob branches: 1.42.2;
Add ISPCTL_RUN_MBOXCMD control op and ISPASYNC_UNHANDLED_RESPONSE async event.
 1.41  12-Feb-2001  mjacob Eliminate ISP2100_FABRIC- we always allow for fabric now. Add an
isp_iid_set/isp_iid for fibre channel- this is because we now
fake a port database entry for ourselves. Add the additional loop
states between LOOP_PDB_RCVD and LOOP_READY.

Change and comment on a wad of Fibre Channel isp_control functions.
Change and comment on some of the ISPASYNC Fibre Channel events.

Add was_fabric_dev/fabric_dev tags to our local FC database structure
(so we can see rapidly whether something was a fabric device but is
now gone).

Add a tag which says what role this adapter should take. It can take
on the value of None, Target, Initiator or Both. None is useful for
warm failover purposes. Remove the ISP_CFG_NOINIT silliness since
a role of "None" does this.

Add a isp_lastmbxcmd tag to store the opcode for the last mailbox
command used.
 1.40  09-Jan-2001  mjacob ISPASYNC_PDB_CHANGED -> ISPASYNC_LOGGED_INOUT.
 1.39  28-Dec-2000  mjacob Apply nearly all of Bill Sommerfeld's -Wformat patches. The one
change I didn't take is the %llu format- I can't have a common
across multiple platform module assume a %ll argument capability-
which really pointed out that I shouldn't be trying to *print*
something which could long long.
 1.38  28-Dec-2000  mjacob add an ISP_CFG_NOINIT flag
 1.37  23-Dec-2000  wiz Fix pathnames in comment.
 1.36  09-Dec-2000  mjacob Finally fix this driver to be sensible about the ENDIAN dance. It's not
quite simply a question of the Qlogic being little endian and having
to have stuff swapped on big endian machines- it also has to do with the
fact that the SBus and PCI DMA layouts are wierd with respect to this.

At any rate, now finally fixed- works on Mac G4, tested it on a SS10
for sparc, checked on alpha to see if I've broken anything, and as
soon as I get another spare afternoon I'll finally install a sparc64
version which should just work (as it'll be like the Mac).
 1.35  16-Oct-2000  mjacob Change some of the WWN macros- eliminate PORT_FROM_NODE_WWN and make
sure we have a DEFAULT_{PORT,NODE}WWN and ISP_{NODE,PORT}WWN macro
as a requirement for all platforms.
 1.34  14-Aug-2000  mjacob Add a maintenance note. Fix QFREE and QAVAIL macros to match change in usage.
 1.33  08-Aug-2000  mjacob Remove ispcmd_slow routine- SCBUSACCEL routine will set/clear tag/wide/sync.
Make some changes about where some things sit in the softc.
 1.32  01-Aug-2000  mjacob Core version 2.0 (platform version 1.0) rewrite of ISP driver. Some
interace cleanups, some new common functions. The major impact that
will be noticeable right away is that if you boot with not Fibre connected
to the FC cards, you no longer hang indefinitely.
 1.31  05-Jul-2000  mjacob Roll core version. Get rid of dogactive (no longer used). Add in some
volatile flags (isp_mboxbsy- keeps a bitmask of expected output mailbox
registers) and storage for them (isp_mboxtmp). Get rid of macroized
LUN widths. This is determined at run time.
 1.30  13-May-2000  he branches: 1.30.4;
Update from Matthew Jacob:

Correctly account for F-port vs. F-port (no FLOGI_ACC) topologies.
Make sure we get a port database entry for the fabric name server.
Preserve fabric logins if the device didn't change across fabric
or port database changes, or the device has already logged into
us (e.g., for target/initiator dual role devices like Veritas
SANbox). Propagate class 3 service parameter changes where devices
can change roles.

Fix all occurrences of setting a sendmarker so that setting it
for one bus on dual bus cards doesn't wipe a pending sendmarker
for other busses on the same card :-;.

Comments added and clarifications made in some of the target mode code.
 1.29  12-Feb-2000  mjacob add in 12160 (Ultra3) related definitions
 1.28  06-Jan-2000  mjacob roll revision level and add some taret mode changes
 1.27  16-Dec-1999  mjacob Dual LVD (1280) support.
 1.26  04-Dec-1999  mjacob Roll core version minor. Clean out some target mode stuff. Respecify some
queue related functions to take u_int16_t's. Restructure the softc a bit.
 1.25  17-Oct-1999  mjacob branches: 1.25.2;
mostly stylistic
 1.24  14-Oct-1999  mjacob Roll minor version. Change how f/w revisions are stored. Add some
defines to get max luns for a card. Make sure the RESULT_QUEUE_LEN is not less
than 64- I've seen breakage with that. Move the temp port database stuff
into the softc (ick). Remove most of the target mode stuff. Make xflist
storage an external outer layer thing (since it will now be allocated based
upon the maximum commands that this HBA can support rather than request
queue size).
 1.23  05-Jul-1999  mjacob branches: 1.23.2;
Change to approved NASA/Ames copyright. Add Fabric support. Fix SCCLUN support.
Add code that tries to track LoopID shifting.
 1.22  12-May-1999  mjacob Do a fairly large internal restructuring to accomodate dual-bus host adapters
(e.g., the 1240). Include the new 1080/1240 NVRAM layout reading code. Some
moderately significant mailbox changes were necessary also to accomodate a
second channel.
 1.21  04-Apr-1999  mjacob Change f/w revision to major,minor,micro version. Add in ISP1040C definition.
 1.20  26-Mar-1999  mjacob branches: 1.20.2; 1.20.4;
add isp1080 support and some basic PDB change stuff
 1.19  17-Mar-1999  mjacob Update the driver with some infrastructure for the 1080. Fix an embarrassing
clock botch bug. Additional infrastructure for PDB change stuff.
 1.18  09-Feb-1999  mjacob Roll internal release tag. Roll core version minor. Fix broken DPARM_DEFAULT
define. Add a new config flag param (ISP_CFG_NONVRAM) whose intent it is
to cause NVRAM to be ignored. Add ISPASYNC_LOOP_DOWN and ISPASYNC_LOOP_UP
isp_async enums.
 1.17  30-Jan-1999  mjacob Implement and use Fast Posting for both parallel && fibre. Redo a bit of
the startup code. Implement a call to outer framework function so that
asynchronous events can be handled (e.g., speed negotiation, target mode).

Roll internal release tags.
 1.16  10-Jan-1999  mjacob bump isp_fifo_threshold tag top 3 bits
 1.15  28-Dec-1998  mjacob clean up headers; move uninit/watch to outer layers
 1.14  05-Dec-1998  mjacob Update BA for new max_lun parameter for SCSIbusses. Clearify maximum luns
for FC HB based upon a SCCLUN define (15 for normal- 255 out of a possible
65535 for SCCLUN). Propagate loopid as adapter_target.

Roll minor platform version. Roll core version number.

Update mailbox definitions with cleaner target mode structure definitions.
Clean up some ENDIAN stuff. Correct botched ISP2100_NVRAM_HARDLOOPID offset.
 1.13  17-Sep-1998  mjacob cleanup header to be just NetBSD, roll rev, change QDEPTH to QAVAIL macro
 1.12  10-Sep-1998  mjacob turn into a debug message an ABOUT F/W failure. Add ISPCTL_UPDATE_PARAMS isp_control case
 1.11  08-Sep-1998  mjacob Roll major revision. Change some definitions around. Add more current device
state stuff. Make DPARM flags full 16 bits (no shifting needed) and add
the 2 new ones for the 7.55 f/w.
 1.10  18-Jul-1998  mjacob roll core version number and add a global visible isp_restart function
 1.9  15-Jul-1998  mjacob Some major thrashing to handle building for other than NetBSD.

There is one change of note- build a list of completing commands in
ispintr and then say you're done- this avoids some re-entrancy issues
that had surfaced.
 1.8  05-May-1998  mjacob there is an (unimportant) difference between 1020 && 1020A
 1.7  27-Aug-1997  bouyer branches: 1.7.4;
Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
 1.6  16-Aug-1997  mjacob Defines and structures necessary to support the Qlogic 2100 (Fibre Channel
PCI card); Some additional defines to try and manage various flavors of
the SCSI host adapters (parameters for various SYNC modes).
 1.5  08-Jun-1997  thorpej branches: 1.5.2; 1.5.4;
- Simplify mailbox DMA setup, allowing the front-ends to allocate the
mailbox storage in a way they see fit.
- Define macros to index and size the request and result queue entries.
 1.4  05-Apr-1997  mjacob Need a bus/platform specific clock speed variable.
 1.3  13-Mar-1997  mycroft Make the microcode table const.
 1.2  12-Mar-1997  cgd NetBSD RCS ID tweaks, a few comment block tweaks. Also, make copyright
notices consistent (per Matt Jacob).
 1.1  12-Mar-1997  cgd branches: 1.1.1;
Initial revision
 1.1.1.1  12-Mar-1997  cgd ISP 10x0 driver from Matthew Jacob of NASA Ames Research Center.
(March 12, 1997 version).
 1.5.4.2  27-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.5.4.1  23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.5.2.2  26-Aug-1997  bouyer Update from trunk.
 1.5.2.1  01-Jul-1997  bouyer Updates for new scsipi subsystem. Actally known to work on i386 and sparc.
 1.7.4.1  07-Nov-1998  cgd pull up revs 1.8-1.13 from trunk (mjacob)
 1.20.4.2  02-Aug-1999  thorpej Update from trunk.
 1.20.4.1  21-Jun-1999  thorpej Sync w/ -current.
 1.20.2.2  13-May-2000  he Apply patch (requested by Matthew Jacob via he):
Correctly account for F-port vs. F-port (no FLOGI_ACC) topologies.
Make sure we get a port database entry for the fabric name server.
Preserve fabric logins if the device didn't change across fabric
or port database changes, or the device has already logged into
us (e.g., for target/initiator dual role devices like Veritas
SANbox). Propagate class 3 service parameter changes where devices
can change roles.

Fix all occurrences of setting a sendmarker so that setting it
for one bus on dual bus cards doesn't wipe a pending sendmarker
for other busses on the same card.

Comments added and clarifications made in some of the target mode code.

Add support for > 12 byte CDBs. Split out nvram reading into
per-card functions. Add proper Ultra2/Ultra3 support. Upgrade
firmware.
 1.20.2.1  08-Jan-2000  he Pull up revisions 1.21-1.28 (requested by mjacob):
Untangle Qlogic firmware copyright problems and update firmware.
Untangle some MD support issues for said firmware. Add 1280 (Dual
LVD), 1240 (Dual Ultra), 2200 (2nd Generation Qlogic FC chipset).
Fix some synchronous negotiation problems for parallel SCSI.
Firm up some Fabric Support issues.
 1.23.2.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.25.2.6  27-Mar-2001  bouyer Sync with HEAD.
 1.25.2.5  12-Mar-2001  bouyer Sync with HEAD.
 1.25.2.4  18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.25.2.3  05-Jan-2001  bouyer Sync with HEAD
 1.25.2.2  13-Dec-2000  bouyer Sync with HEAD (for UBC fixes).
 1.25.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.30.4.3  16-Mar-2001  he Pull up revisions 1.39-1.43 (requested by mjacob):
Add ISPCTL_RUN_MBOXCMD control op and ISPASYNC_UNHANDLED_RESPONSE
async event. Eliminate ISP2100_FABRIC. ISPASYNC_PDB_CHANGED ->
ISPASYNC_LOGGED_INOUT. Add -Wformat patches. Roll core minor.
ANSIfy.
 1.30.4.2  25-Jan-2001  jhawk Pull up revisions 1.36-1.38 (requested by mjacob):
Add in correct SBus bursting; upgrade to 2.01.26 firmware; pull to latest
initiator mode level; make changes to WWN default handling; quiet
chatty boot messages; fix endian code so MacPPC works; fix bug in
lock recursion counter; fix bug which excluded all but NL-ports from
being logged into on a fabric.
 1.30.4.1  28-Aug-2000  mjacob Complete rewrite of internals for isp core version 2.0.
Pullup to netbsd-1-5 approved by thorpej@netbsd.org.
 1.42.2.14  11-Nov-2002  nathanw Catch up to -current
 1.42.2.13  27-Aug-2002  nathanw Catch up to -current.
 1.42.2.12  13-Aug-2002  nathanw Catch up to -current.
 1.42.2.11  20-Jun-2002  nathanw Catch up to -current.
 1.42.2.10  17-Apr-2002  nathanw Catch up to -current.
 1.42.2.9  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.42.2.8  28-Feb-2002  nathanw Catch up to -current.
 1.42.2.7  11-Jan-2002  nathanw More catchup.
 1.42.2.6  08-Jan-2002  nathanw Catch up to -current.
 1.42.2.5  22-Oct-2001  nathanw Catch up to -current.
 1.42.2.4  21-Sep-2001  nathanw Catch up to -current.
 1.42.2.3  24-Aug-2001  nathanw Catch up with -current.
 1.42.2.2  21-Jun-2001  nathanw Catch up to -current.
 1.42.2.1  09-Apr-2001  nathanw Catch up with -current.
 1.46.2.6  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.46.2.5  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.46.2.4  16-Mar-2002  jdolecek Catch up with -current.
 1.46.2.3  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.46.2.2  13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.46.2.1  03-Aug-2001  lukem update to -current
 1.49.2.1  11-Oct-2001  fvdl Catch up with -current. Fix some bogons in the sparc64 kbd/ms
attach code. cd18xx conversion provided by mrg.
 1.55.2.2  29-Aug-2002  gehenna catch up with -current.
 1.55.2.1  20-Jun-2002  gehenna catch up with -current.
 1.60.2.5  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.60.2.4  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.60.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.60.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.60.2.1  03-Aug-2004  skrll Sync with HEAD
 1.61.10.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.61.8.1  29-Apr-2005  kent sync with -current
 1.63.2.2  17-Mar-2008  yamt sync with head.
 1.63.2.1  03-Sep-2007  yamt sync with head.
 1.64.26.1  12-Mar-2007  rmind Sync with HEAD.
 1.65.4.1  11-Jul-2007  mjf Sync with head.
 1.65.2.2  15-Jul-2007  ad Sync with head.
 1.65.2.1  27-May-2007  ad Sync with head.
 1.67.28.2  02-Jun-2008  mjf Sync with HEAD.
 1.67.28.1  03-Apr-2008  mjf Sync with HEAD.
 1.67.24.1  24-Mar-2008  keiichi sync with head.
 1.67.8.1  23-Mar-2008  matt sync with HEAD
 1.68.6.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.68.4.3  11-Aug-2010  yamt sync with head.
 1.68.4.2  18-Jul-2009  yamt sync with head.
 1.68.4.1  16-May-2008  yamt sync with head.
 1.68.2.1  18-May-2008  yamt sync with head.
 1.69.12.1  23-Jul-2009  jym Sync with HEAD.
 1.70.4.2  05-Mar-2011  rmind sync with head
 1.70.4.1  30-May-2010  rmind sync with head
 1.70.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.71.4.1  05-Mar-2011  bouyer Sync with HEAD
 1.71.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.72.14.1  03-Dec-2017  jdolecek update from HEAD

RSS XML Feed