Home | History | Annotate | only in /src/sys/lib/libkern/arch
History log of /src/sys/lib/libkern/arch
RevisionDateAuthorComments
 1.2 16-Mar-2018  ryo use memmove.S
 1.1 10-Aug-2014  matt branches: 1.1.4; 1.1.28;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.28.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file Makefile.inc was added on branch tls-maxphys on 2014-08-20 00:04:30 +0000
 1.2 17-Oct-1996  cgd copy down changes from libc
 1.1 13-Feb-1995  cgd Alpha support from libc.
 1.28 14-Aug-2009  dsl Move that majority of the 'SRCS+= foo.c' into the main Makefile.libkern.
Any .S files added by the arch/*/Makefile.inc cause the .c file to
be excluded.
Specific exclusions added using NO_SRCS to match previous files.
At least sparc, sparc64, i386, amd64 and vax GENERIC still build.
(There is a fubar with the naming of the byte-swap files ...)
 1.27 12-Aug-2009  dsl Split the lines that add .c to SRCS from those that add .S
No changes (apart from the order) intended.
 1.26 18-Mar-2009  tsutsui - remove bcmp(9), bcopy(9), and bzero(9) from libkern since <sys/systm.h> has
macro which replace them with mem*() functions in #ifdef _KERNEL as noted
in man pages
- move declarations of bcopy(3) and bzero(3) into <lib/libsa/stand.h>
since they are still in libsa for some MD standalone sources
(I guess all bcmp(3) in standalone sources have been replaced with memcmp(3)
but they should be replaced with memcmp() anyway)
 1.25 11-Dec-2005  christos branches: 1.25.74; 1.25.84; 1.25.90;
merge ktrace-lwp.
 1.24 22-Apr-2005  reed Use ${TOOL_M4} instead of "m4". (I only tested this fix
for sparc but not sparc64 or alpha yet.)

Noticed problem when building NetBSD/sparc from a Linux/i386 host
that didn't have "m4".
 1.23 24-Apr-2002  ross branches: 1.23.10; 1.23.18;
Add strtoul.c
 1.22 13-Jul-2001  thorpej Provide bcopy() here.
 1.21 26-Apr-2001  ross branches: 1.21.2;
o IEEE 754 floating-point completion code.
o Implement the architected FP_C "Floating Point Control Quadword"
 1.20 01-Nov-2000  thorpej branches: 1.20.2;
Add a strcasecmp(), modified from chopps's strncasecmp().
 1.19 05-Sep-2000  thorpej Move the Alpha _mcount() into a .S file so that it can be
pre-processed, like other Alpha assembly files.
 1.18 15-Jan-1999  bouyer branches: 1.18.8;
Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.17 04-Aug-1998  perry add memcmp.c memmove.S
 1.16 22-Feb-1998  mycroft Use the assembler version of memcpy().
 1.15 22-Feb-1998  mycroft We need memcpy().
 1.14 22-Feb-1998  mycroft Add some missing things.
 1.13 21-Jan-1998  cgd add rules like those in libc to build strchr() and strrchr() (the latter
is being added to libkern by this commit). remove strchr.c from
archs' Makefile.inc files to go along with this. (If an arch has
a .S version, it should be copied down and added to the apropriate
Makefile.inc.)
 1.12 24-Oct-1997  chuck add memchr() to libkern
 1.11 09-Oct-1997  bouyer Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
 1.10 18-Jan-1997  cgd branches: 1.10.8;
add strchr() to libkern. strchr.c copied from libc's "index.c", but with
appropriate definitions so that it'll build strchr(), and so that it builds
correctly in libkern (needed to #define NULL).
 1.9 27-Aug-1996  cgd Add machine-independent assertion-checking support. macros are:

assert() which always does assertion checking
unless "NDEBUG" is defined.

KASSERT() which does assertion checking if DIAGNOSTIC
is defined.

KDASSERT() which does assertion checking if DEBUG is
define. This macro exists for compatibility
with existing ports' assertion checking macros.
(Assertion checking is not typically an
"expensive" operation, and DIAGNOSTIC should be
used for inexpensive consistency checks.)
 1.8 21-Aug-1996  cgd fix up for new libkern path specs
 1.7 15-Jul-1996  cgd add an assembly version of ffs(), copied down from libc
 1.6 10-Jun-1996  cgd locc() is unused. Remove it from the machine-independent kernel interface.
 1.5 17-Apr-1996  cgd files copied from libc
 1.4 13-Apr-1996  cgd add strncasecmp.c to ports' libkern Makefile.inc's. When adding a new
source file to libkern, it should be added to _ALL_ ports makefiles if
it is machine-independent and used by machine-independent code (in
this case adosfs). (There are several arguments that say that
strncasecmp should not be in libkern at all, and i think they're
good ones, but as long as ADOSFS needs it to link, it has to be here
for all architectures.)
 1.3 20-Oct-1995  cgd use NetBSD RCS id format. use bzero.S, not bzerro.c
 1.2 28-Jun-1995  cgd update dependencies to deal with the alpha
 1.1 13-Feb-1995  cgd Alpha support from libc.
 1.10.8.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.18.8.2 22-Nov-2000  bouyer Sync with HEAD.
 1.18.8.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.20.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.20.2.2 24-Aug-2001  nathanw Catch up with -current.
 1.20.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.21.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.21.2.1 03-Aug-2001  lukem update to -current
 1.23.18.1 29-Apr-2005  kent sync with -current
 1.23.10.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.25.90.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.25.84.1 28-Apr-2009  skrll Sync with HEAD.
 1.25.74.2 19-Aug-2009  yamt sync with head.
 1.25.74.1 04-May-2009  yamt sync with head.
 1.3 17-Oct-1996  cgd copy down changes from libc
 1.2 26-Sep-1996  cgd label changes, pulled down from libc
 1.1 13-Feb-1995  cgd Alpha support from libc.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 26-Feb-2005  perry branches: 1.2.4;
nuke trailing whitespace
 1.1 05-Sep-2000  thorpej branches: 1.1.2; 1.1.26; 1.1.34; 1.1.36;
Move the Alpha _mcount() into a .S file so that it can be
pre-processed, like other Alpha assembly files.
 1.1.36.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.34.1 29-Apr-2005  kent sync with -current
 1.1.26.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.1.2.1 05-Sep-2000  bouyer file _mcount.S was added on branch thorpej_scsipi on 2000-11-20 18:09:21 +0000
 1.2.4.1 21-Jun-2006  yamt sync with head.
 1.2 20-Dec-2005  christos Use common sources with userland.
 1.1 22-Feb-1998  mycroft branches: 1.1.64;
Use the assembler version of memcpy().
 1.1.64.1 21-Jun-2006  yamt sync with head.
 1.2 15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.1 12-Oct-1997  bouyer branches: 1.1.2;
Ops, forgot to 'cvs add' theses. Pointed out by enami tsugutomo.
 1.1.2.2 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.1.2.1 12-Oct-1997  thorpej file bswap16.S was added on branch marc-pcmcia on 1997-10-14 10:27:00 +0000
 1.2 15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.1 12-Oct-1997  bouyer branches: 1.1.2;
Ops, forgot to 'cvs add' theses. Pointed out by enami tsugutomo.
 1.1.2.2 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.1.2.1 12-Oct-1997  thorpej file bswap32.S was added on branch marc-pcmcia on 1997-10-14 10:27:01 +0000
 1.5 20-Dec-2005  christos Use common sources with userland.
 1.4 22-Jan-1999  mycroft branches: 1.4.58;
Sync with libc.
 1.3 15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.2 17-Oct-1996  cgd copy down changes from libc
 1.1 17-Apr-1996  cgd files copied from libc
 1.4.58.1 21-Jun-2006  yamt sync with head.
 1.6 20-Dec-2005  christos Use common sources with userland.
 1.5 22-Jan-1999  mycroft branches: 1.5.58;
Sync with libc.
 1.4 15-Jan-1999  thorpej Fix an unterminated macro call.
 1.3 15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.2 17-Oct-1996  cgd copy down changes from libc
 1.1 17-Apr-1996  cgd files copied from libc
 1.5.58.1 21-Jun-2006  yamt sync with head.
 1.3 20-Dec-2005  christos Use common sources with userland.
 1.2 17-Oct-1996  cgd branches: 1.2.78;
copy down changes from libc
 1.1 20-Oct-1995  cgd copy from libkern
 1.2.78.1 21-Jun-2006  yamt sync with head.
 1.8 11-Dec-2005  christos merge ktrace-lwp.
 1.7 26-Feb-2005  perry nuke trailing whitespace
 1.6 24-Jan-2002  ross branches: 1.6.16; 1.6.24; 1.6.26;
sync
 1.5 17-Oct-1996  cgd branches: 1.5.40; 1.5.42;
copy down changes from libc
 1.4 26-Sep-1996  cgd label changes, pulled down from libc
 1.3 20-Oct-1995  cgd update from libc
 1.2 03-Mar-1995  cgd copy down from libc.
 1.1 13-Feb-1995  cgd Alpha support from libc.
 1.5.42.1 11-Feb-2002  jdolecek Sync w/ -current.
 1.5.40.1 28-Feb-2002  nathanw Catch up to -current.
 1.6.26.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.6.24.1 29-Apr-2005  kent sync with -current
 1.6.16.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 17-Oct-1996  cgd branches: 1.3.78;
copy down changes from libc
 1.2 15-Jul-1996  cgd frob the mask so that only the low set bit is set, to avoid lossage.
 1.1 15-Jul-1996  cgd add an assembly version of ffs(), copied down from libc
 1.3.78.1 21-Jun-2006  yamt sync with head.
 1.1 17-Apr-1996  cgd files copied from libc
 1.1 17-Apr-1996  cgd files copied from libc
 1.2 20-Dec-2005  christos Use common sources with userland.
 1.1 22-Feb-1998  mycroft branches: 1.1.64;
Use the assembler version of memcpy().
 1.1.64.1 21-Jun-2006  yamt sync with head.
 1.2 20-Dec-2005  christos Use common sources with userland.
 1.1 04-Aug-1998  perry branches: 1.1.62;
add memmove.S
 1.1.62.1 21-Jun-2006  yamt sync with head.
 1.1 17-Apr-1996  cgd files copied from libc
 1.1 17-Apr-1996  cgd files copied from libc
 1.21 29-Jan-2014  joerg Include compiler-rt in libc, libm and libkern.
 1.20 20-Aug-2013  matt Some assembly files need to compiled -marm since they are Thumb compatible.
 1.19 12-Aug-2013  matt Add EHABI unwind stubs to libkern so prevent errors in linking if unwind
tables are present.
 1.18 21-Jun-2013  matt branches: 1.18.2;
Add back {,u}modsi3 for libkern since if we are building standalone tools
we might be using the old ABI and might need them.
 1.17 20-Jun-2013  matt modsi3/umodsi3 are only needed !EABI arm
 1.16 02-May-2013  matt This change arm, armeb, earm, earmeb, earmhf, earmhfeb so all builds that
share a MACHINE_ARCH for userland so that except for etc, will produce
identical sets.

usr/include/machine now points to usr/include/arm
 1.15 06-Feb-2013  matt Modify earm rule to match any machine_arch starting with earm.
 1.14 23-Jan-2013  matt Add strnlen.c to SRCS (which will automatically use the .S version if it
exists).
 1.13 23-Jan-2013  macallan pull in strnlen.S
 1.12 30-Oct-2012  christos add new divsi3 related files.
 1.11 10-Oct-2012  christos add split files.
 1.10 06-Aug-2012  matt branches: 1.10.2;
If earm*, compile new aeabi runtime routines.
 1.9 14-Aug-2009  dsl branches: 1.9.12; 1.9.18; 1.9.20;
Move that majority of the 'SRCS+= foo.c' into the main Makefile.libkern.
Any .S files added by the arch/*/Makefile.inc cause the .c file to
be excluded.
Specific exclusions added using NO_SRCS to match previous files.
At least sparc, sparc64, i386, amd64 and vax GENERIC still build.
(There is a fubar with the naming of the byte-swap files ...)
 1.8 12-Aug-2009  dsl Split the lines that add .c to SRCS from those that add .S
No changes (apart from the order) intended.
 1.7 14-Oct-2008  matt Add a _clzsi2 for armv4 platforms.
 1.6 23-Nov-2002  chris branches: 1.6.104; 1.6.108; 1.6.114;
Sync arm asm libkern files with libc's asm files.
 1.5 16-Nov-2002  rearnsha Add an assembler version of strcmp, based on example code from the ARM
ARM. As an example of the performance difference that this provides
a Dhrystone score on my Shark goes from 213k to 261k.
 1.4 17-Aug-2002  chris pull in ffs.S from libc for arm.
The main benefit is that ffs always runs in constant time.
 1.3 20-Nov-2001  chris branches: 1.3.8;
Tidy up some memory copying cruft:
bcopy.S is no longer needed
memmove and memcpy were both stacking r0 and unstacking it to keep the return value, so push this down into _memcpy.
rename _memcpy.S to memcpy.S.
memmove.S is now just a placeholder otherwise the make system automagically adds a memmove.c file to libkern.
memmove is just another entry point for memcpy.
 1.2 06-Jul-2001  toshii branches: 1.2.2;
Remove bcmp, bcopy and bzero. We don't need them as they aren't
called from asm code, and we shouldn't have them if we don't need them.
 1.1 29-Dec-2000  bjh21 branches: 1.1.2; 1.1.4;
Create a shared set of ARM sources for libkern and move arm26 over to using
them.

These are identical to the current arm32 sources with the following exceptions:
- References to C labels are wrapped in _C_LABEL().
- Function returns have an alternate version inside #ifdef __APCS_26__.
 1.1.4.4 11-Dec-2002  thorpej Sync with HEAD.
 1.1.4.3 27-Aug-2002  nathanw Catch up to -current.
 1.1.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.4.1 24-Aug-2001  nathanw Catch up with -current.
 1.1.2.2 08-Jan-2001  bouyer Files added on trunk.
 1.1.2.1 29-Dec-2000  bouyer file Makefile.inc was added on branch thorpej_scsipi on 2001-01-08 14:56:54 +0000
 1.2.2.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.8.1 29-Aug-2002  gehenna catch up with -current.
 1.6.114.1 19-Oct-2008  haad Sync with HEAD.
 1.6.108.2 19-Aug-2009  yamt sync with head.
 1.6.108.1 04-May-2009  yamt sync with head.
 1.6.104.1 17-Jan-2009  mjf Sync with HEAD.
 1.9.20.1 28-Nov-2012  matt Deal with div/mod changes.
 1.9.18.1 19-Nov-2012  riz Pull up following revision(s) (requested by christos in ticket #654):
common/lib/libc/arch/arm/gen/modsi3.S: revision 1.1
common/lib/libc/arch/arm/gen/umodsi3.S: revision 1.1
sys/lib/libkern/arch/arm/Makefile.inc: revision 1.11
sys/lib/libkern/arch/arm/Makefile.inc: revision 1.12
common/lib/libc/arch/arm/gen/divide.S: revision 1.1
lib/libc/arch/arm/gen/Makefile.inc: revision 1.20
common/lib/libc/arch/arm/gen/divsi3.S: revision 1.3
common/lib/libc/arch/arm/gen/udivsi3.S: revision 1.1
common/lib/libc/arch/arm/gen/divsi3.S: revision 1.4
Split out modsi3 and umodsi3 from the divsi3 file. This is so that
we don't get re-defined symbols in libc from libgcc in static linking.
Example: cc -pthread -static main-calls-pthread-create.c
add split files.
add new divsi3 related files.
add new files to fix static linking
split udivsi3 and divsi3 to fix static linking. This could be done better.
Fixes PR#47139
 1.9.12.3 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.9.12.2 16-Jan-2013  yamt sync with (a bit old) head
 1.9.12.1 30-Oct-2012  yamt sync with head
 1.10.2.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.10.2.3 23-Jun-2013  tls resync from head
 1.10.2.2 25-Feb-2013  tls resync with head
 1.10.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.18.2.2 18-May-2014  rmind sync with head
 1.18.2.1 28-Aug-2013  rmind sync with head
 1.3 20-Nov-2001  chris Tidy up some memory copying cruft:
bcopy.S is no longer needed
memmove and memcpy were both stacking r0 and unstacking it to keep the return value, so push this down into _memcpy.
rename _memcpy.S to memcpy.S.
memmove.S is now just a placeholder otherwise the make system automagically adds a memmove.c file to libkern.
memmove is just another entry point for memcpy.
 1.2 23-Jan-2001  bjh21 branches: 1.2.2; 1.2.4;
Sync with libc for licence update.
 1.1 29-Dec-2000  bjh21 branches: 1.1.2;
Create a shared set of ARM sources for libkern and move arm26 over to using
them.

These are identical to the current arm32 sources with the following exceptions:
- References to C labels are wrapped in _C_LABEL().
- Function returns have an alternate version inside #ifdef __APCS_26__.
 1.1.2.3 11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.2 08-Jan-2001  bouyer Files added on trunk.
 1.1.2.1 29-Dec-2000  bouyer file _memcpy.S was added on branch thorpej_scsipi on 2001-01-08 14:56:55 +0000
 1.2.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.2.1 28-Feb-2002  nathanw Catch up to -current.
 1.2 20-Nov-2001  chris Tidy up some memory copying cruft:
bcopy.S is no longer needed
memmove and memcpy were both stacking r0 and unstacking it to keep the return value, so push this down into _memcpy.
rename _memcpy.S to memcpy.S.
memmove.S is now just a placeholder otherwise the make system automagically adds a memmove.c file to libkern.
memmove is just another entry point for memcpy.
 1.1 29-Dec-2000  bjh21 branches: 1.1.2; 1.1.4; 1.1.6;
Create a shared set of ARM sources for libkern and move arm26 over to using
them.

These are identical to the current arm32 sources with the following exceptions:
- References to C labels are wrapped in _C_LABEL().
- Function returns have an alternate version inside #ifdef __APCS_26__.
 1.1.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.2 08-Jan-2001  bouyer Files added on trunk.
 1.1.2.1 29-Dec-2000  bouyer file bcopy.S was added on branch thorpej_scsipi on 2001-01-08 14:56:56 +0000
 1.6 20-Dec-2005  christos Use common sources with userland.
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 26-Feb-2005  perry branches: 1.4.4;
nuke trailing whitespace
 1.3 05-Apr-2003  bjh21 branches: 1.3.2; 1.3.10; 1.3.12;
NetBSD/acorn26 has used APCS-32 for years, so unifdef -U__APCS_26__.
 1.2 01-Jul-2002  bjh21 Avoid leaving junk in the top half of R0 on return.
This fixes port-arm/17440.
 1.1 29-Dec-2000  bjh21 branches: 1.1.2; 1.1.4; 1.1.6; 1.1.18; 1.1.20;
Create a shared set of ARM sources for libkern and move arm26 over to using
them.

These are identical to the current arm32 sources with the following exceptions:
- References to C labels are wrapped in _C_LABEL().
- Function returns have an alternate version inside #ifdef __APCS_26__.
 1.1.20.1 02-Jul-2002  lukem Pull up revision 1.2 (requested by bjh21 in ticket #419):
Avoid leaving junk in the top half of R0 on return.
This fixes port-arm/17440.
 1.1.18.1 15-Jul-2002  gehenna catch up with -current.
 1.1.6.1 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.4.1 01-Aug-2002  nathanw Catch up to -current.
 1.1.2.2 08-Jan-2001  bouyer Files added on trunk.
 1.1.2.1 29-Dec-2000  bouyer file byte_swap_2.S was added on branch thorpej_scsipi on 2001-01-08 14:56:56 +0000
 1.3.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.3.10.1 29-Apr-2005  kent sync with -current
 1.3.2.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.4.4.1 21-Jun-2006  yamt sync with head.
 1.3 20-Dec-2005  christos Use common sources with userland.
 1.2 05-Apr-2003  bjh21 branches: 1.2.18;
NetBSD/acorn26 has used APCS-32 for years, so unifdef -U__APCS_26__.
 1.1 29-Dec-2000  bjh21 branches: 1.1.2;
Create a shared set of ARM sources for libkern and move arm26 over to using
them.

These are identical to the current arm32 sources with the following exceptions:
- References to C labels are wrapped in _C_LABEL().
- Function returns have an alternate version inside #ifdef __APCS_26__.
 1.1.2.2 08-Jan-2001  bouyer Files added on trunk.
 1.1.2.1 29-Dec-2000  bouyer file byte_swap_4.S was added on branch thorpej_scsipi on 2001-01-08 14:56:57 +0000
 1.2.18.1 21-Jun-2006  yamt sync with head.
 1.2 09-Nov-2003  scw bzero is no longer used in the kernel.
 1.1 29-Dec-2000  bjh21 branches: 1.1.2; 1.1.26;
Create a shared set of ARM sources for libkern and move arm26 over to using
them.

These are identical to the current arm32 sources with the following exceptions:
- References to C labels are wrapped in _C_LABEL().
- Function returns have an alternate version inside #ifdef __APCS_26__.
 1.1.26.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 08-Jan-2001  bouyer Files added on trunk.
 1.1.2.1 29-Dec-2000  bouyer file bzero.S was added on branch thorpej_scsipi on 2001-01-08 14:56:58 +0000
 1.7 29-Jan-2014  joerg Include compiler-rt in libc, libm and libkern.
 1.6 21-Aug-2013  matt Thumbify
 1.5 11-Aug-2013  matt Support thumb
 1.4 01-Sep-2012  matt branches: 1.4.2; 1.4.4;
Add ARMv5 support the clz instruction
 1.3 15-Oct-2008  matt branches: 1.3.2; 1.3.10; 1.3.16; 1.3.34;
Use RET/RETc as appropriate
 1.2 14-Oct-2008  matt Need to be __clz[sd]i2
 1.1 14-Oct-2008  matt Add a _clzsi2 for armv4 platforms.
 1.3.34.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.3.34.1 30-Oct-2012  yamt sync with head
 1.3.16.2 04-May-2009  yamt sync with head.
 1.3.16.1 15-Oct-2008  yamt file clzsi2.S was added on branch yamt-nfs-mp on 2009-05-04 08:13:50 +0000
 1.3.10.2 17-Jan-2009  mjf Sync with HEAD.
 1.3.10.1 15-Oct-2008  mjf file clzsi2.S was added on branch mjf-devfs2 on 2009-01-17 13:29:21 +0000
 1.3.2.2 19-Oct-2008  haad Sync with HEAD.
 1.3.2.1 15-Oct-2008  haad file clzsi2.S was added on branch haad-dm on 2008-10-19 22:17:40 +0000
 1.4.4.2 18-May-2014  rmind sync with head
 1.4.4.1 28-Aug-2013  rmind sync with head
 1.4.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7 20-Dec-2005  christos Use common sources with userland.
 1.6 11-Dec-2005  christos merge ktrace-lwp.
 1.5 26-Feb-2005  perry branches: 1.5.4;
nuke trailing whitespace
 1.4 05-Apr-2003  bjh21 branches: 1.4.2; 1.4.10; 1.4.12;
NetBSD/acorn26 has used APCS-32 for years, so unifdef -U__APCS_26__.
 1.3 15-Aug-2002  briggs Use .L prefix for all local labels.
 1.2 13-Nov-2001  chris branches: 1.2.8;
Sync to libc version of divsi3.S. This is to fix up the stack for 8 byte alignment.
 1.1 29-Dec-2000  bjh21 branches: 1.1.2; 1.1.4; 1.1.6;
Create a shared set of ARM sources for libkern and move arm26 over to using
them.

These are identical to the current arm32 sources with the following exceptions:
- References to C labels are wrapped in _C_LABEL().
- Function returns have an alternate version inside #ifdef __APCS_26__.
 1.1.6.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.2 27-Aug-2002  nathanw Catch up to -current.
 1.1.4.1 14-Nov-2001  nathanw Catch up to -current.
 1.1.2.2 08-Jan-2001  bouyer Files added on trunk.
 1.1.2.1 29-Dec-2000  bouyer file divsi3.S was added on branch thorpej_scsipi on 2001-01-08 14:56:59 +0000
 1.2.8.1 29-Aug-2002  gehenna catch up with -current.
 1.4.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.4.10.1 29-Apr-2005  kent sync with -current
 1.4.2.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.5.4.1 21-Jun-2006  yamt sync with head.
 1.6 20-Dec-2005  christos Use common sources with userland.
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 26-Feb-2005  perry branches: 1.4.4;
nuke trailing whitespace
 1.3 05-Apr-2003  bjh21 branches: 1.3.2; 1.3.10; 1.3.12;
NetBSD/acorn26 has used APCS-32 for years, so unifdef -U__APCS_26__.
 1.2 17-Aug-2002  thorpej branches: 1.2.2; 1.2.4; 1.2.6;
Local label fixup.
 1.1 17-Aug-2002  chris pull in ffs.S from libc for arm.
The main benefit is that ffs always runs in constant time.
 1.2.6.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.6.1 17-Aug-2002  jdolecek file ffs.S was added on branch kqueue on 2002-09-06 08:48:27 +0000
 1.2.4.2 29-Aug-2002  gehenna catch up with -current.
 1.2.4.1 17-Aug-2002  gehenna file ffs.S was added on branch gehenna-devsw on 2002-08-29 05:23:19 +0000
 1.2.2.2 27-Aug-2002  nathanw Catch up to -current.
 1.2.2.1 17-Aug-2002  nathanw file ffs.S was added on branch nathanw_sa on 2002-08-27 23:47:44 +0000
 1.3.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.3.10.1 29-Apr-2005  kent sync with -current
 1.3.2.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.4.4.1 21-Jun-2006  yamt sync with head.
 1.6 20-Dec-2005  christos Use common sources with userland.
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 23-Oct-2003  scw branches: 1.4.16;
Duh, fix the align-to-32-bits code.
 1.3 13-Oct-2003  scw Xscale-optimised mem* functions, contributed by Wasabi Systems.
(Note: memcmp/memset improvements also benefit non-Xscale).

memcmp() - Compare 32-bits at a time if possible. Special-case 6-byte
comparisons, for the benefit of the network stack.

memset() - More loop unrolling, plus use of 'strd' instruction,
results in > 100% speedup on Xscale.

memcpy() - Big-endian support, unrolled loops, 'strd/ldrd/pld', plus
special-cases for very common length/alignment combinations
(at least in the kernel). Benchmarks show ~50% improvment on
Xscale.

memmove() - Big-endian support. Use fast memcpy(), above, if the regions
don't overlap. Otherwise unchanged.
 1.2 05-Apr-2003  bjh21 branches: 1.2.2;
NetBSD/acorn26 has used APCS-32 for years, so unifdef -U__APCS_26__.
 1.1 23-Nov-2002  chris branches: 1.1.2;
Sync arm asm libkern files with libc's asm files.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 23-Nov-2002  thorpej file memcmp.S was added on branch nathanw_sa on 2002-12-11 06:46:24 +0000
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.4.16.1 21-Jun-2006  yamt sync with head.
 1.8 20-Dec-2005  christos Use common sources with userland.
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 13-Oct-2003  scw branches: 1.6.16;
Xscale-optimised mem* functions, contributed by Wasabi Systems.
(Note: memcmp/memset improvements also benefit non-Xscale).

memcmp() - Compare 32-bits at a time if possible. Special-case 6-byte
comparisons, for the benefit of the network stack.

memset() - More loop unrolling, plus use of 'strd' instruction,
results in > 100% speedup on Xscale.

memcpy() - Big-endian support, unrolled loops, 'strd/ldrd/pld', plus
special-cases for very common length/alignment combinations
(at least in the kernel). Benchmarks show ~50% improvment on
Xscale.

memmove() - Big-endian support. Use fast memcpy(), above, if the regions
don't overlap. Otherwise unchanged.
 1.5 09-Oct-2003  ichiro big endian support

thanks to smi@sm.sony.co.jp
 1.4 05-Apr-2003  bjh21 branches: 1.4.2;
NetBSD/acorn26 has used APCS-32 for years, so unifdef -U__APCS_26__.
 1.3 15-Aug-2002  briggs Use .L prefix for all local labels.
 1.2 20-Nov-2001  chris branches: 1.2.8;
Tidy up some memory copying cruft:
bcopy.S is no longer needed
memmove and memcpy were both stacking r0 and unstacking it to keep the return value, so push this down into _memcpy.
rename _memcpy.S to memcpy.S.
memmove.S is now just a placeholder otherwise the make system automagically adds a memmove.c file to libkern.
memmove is just another entry point for memcpy.
 1.1 29-Dec-2000  bjh21 branches: 1.1.2; 1.1.4; 1.1.6;
Create a shared set of ARM sources for libkern and move arm26 over to using
them.

These are identical to the current arm32 sources with the following exceptions:
- References to C labels are wrapped in _C_LABEL().
- Function returns have an alternate version inside #ifdef __APCS_26__.
 1.1.6.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.2 27-Aug-2002  nathanw Catch up to -current.
 1.1.4.1 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.2 08-Jan-2001  bouyer Files added on trunk.
 1.1.2.1 29-Dec-2000  bouyer file memcpy.S was added on branch thorpej_scsipi on 2001-01-08 14:56:59 +0000
 1.2.8.1 29-Aug-2002  gehenna catch up with -current.
 1.4.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6.16.1 21-Jun-2006  yamt sync with head.
 1.5 20-Dec-2005  christos Use common sources with userland.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 02-Jun-2005  scw branches: 1.3.2;
Re-sync with libc version of memcpy_arm.S, which has deals correctly
with big-endian ARM (non-XScale) systems.
 1.2 26-Feb-2005  perry nuke trailing whitespace
 1.1 13-Oct-2003  scw branches: 1.1.4; 1.1.10; 1.1.12;
Xscale-optimised mem* functions, contributed by Wasabi Systems.
(Note: memcmp/memset improvements also benefit non-Xscale).

memcmp() - Compare 32-bits at a time if possible. Special-case 6-byte
comparisons, for the benefit of the network stack.

memset() - More loop unrolling, plus use of 'strd' instruction,
results in > 100% speedup on Xscale.

memcpy() - Big-endian support, unrolled loops, 'strd/ldrd/pld', plus
special-cases for very common length/alignment combinations
(at least in the kernel). Benchmarks show ~50% improvment on
Xscale.

memmove() - Big-endian support. Use fast memcpy(), above, if the regions
don't overlap. Otherwise unchanged.
 1.1.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.10.1 29-Apr-2005  kent sync with -current
 1.1.4.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.4.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.1.4.2 03-Aug-2004  skrll Sync with HEAD
 1.1.4.1 13-Oct-2003  skrll file memcpy_arm.S was added on branch ktrace-lwp on 2004-08-03 10:53:42 +0000
 1.3.2.1 21-Jun-2006  yamt sync with head.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 26-Feb-2005  perry branches: 1.2.2; 1.2.4;
nuke trailing whitespace
 1.1 13-Oct-2003  scw branches: 1.1.4; 1.1.10; 1.1.12;
Xscale-optimised mem* functions, contributed by Wasabi Systems.
(Note: memcmp/memset improvements also benefit non-Xscale).

memcmp() - Compare 32-bits at a time if possible. Special-case 6-byte
comparisons, for the benefit of the network stack.

memset() - More loop unrolling, plus use of 'strd' instruction,
results in > 100% speedup on Xscale.

memcpy() - Big-endian support, unrolled loops, 'strd/ldrd/pld', plus
special-cases for very common length/alignment combinations
(at least in the kernel). Benchmarks show ~50% improvment on
Xscale.

memmove() - Big-endian support. Use fast memcpy(), above, if the regions
don't overlap. Otherwise unchanged.
 1.1.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.10.1 29-Apr-2005  kent sync with -current
 1.1.4.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.1.4.2 03-Aug-2004  skrll Sync with HEAD
 1.1.4.1 13-Oct-2003  skrll file memcpy_xscale.S was added on branch ktrace-lwp on 2004-08-03 10:53:42 +0000
 1.2.4.1 21-Jun-2006  yamt sync with head.
 1.2.2.1 26-Aug-2007  bouyer Apply patch, requested by scw in ticket #1806:
lib/libc/arch/arm/string/memcpy_xscale.S: patch
sys/lib/libkern/arch/arm/memcpy_xscale.S: patch
Apply the patch, with some minor tweaks, supplied in PR/36513.
This prevents a possible prefetch past the end of the source buffer.
 1.6 20-Dec-2005  christos Use common sources with userland.
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 26-Feb-2005  perry branches: 1.4.2; 1.4.4;
nuke trailing whitespace
 1.3 13-Oct-2003  scw branches: 1.3.8; 1.3.10;
Xscale-optimised mem* functions, contributed by Wasabi Systems.
(Note: memcmp/memset improvements also benefit non-Xscale).

memcmp() - Compare 32-bits at a time if possible. Special-case 6-byte
comparisons, for the benefit of the network stack.

memset() - More loop unrolling, plus use of 'strd' instruction,
results in > 100% speedup on Xscale.

memcpy() - Big-endian support, unrolled loops, 'strd/ldrd/pld', plus
special-cases for very common length/alignment combinations
(at least in the kernel). Benchmarks show ~50% improvment on
Xscale.

memmove() - Big-endian support. Use fast memcpy(), above, if the regions
don't overlap. Otherwise unchanged.
 1.2 20-Nov-2001  chris branches: 1.2.16;
Tidy up some memory copying cruft:
bcopy.S is no longer needed
memmove and memcpy were both stacking r0 and unstacking it to keep the return value, so push this down into _memcpy.
rename _memcpy.S to memcpy.S.
memmove.S is now just a placeholder otherwise the make system automagically adds a memmove.c file to libkern.
memmove is just another entry point for memcpy.
 1.1 29-Dec-2000  bjh21 branches: 1.1.2; 1.1.4; 1.1.6;
Create a shared set of ARM sources for libkern and move arm26 over to using
them.

These are identical to the current arm32 sources with the following exceptions:
- References to C labels are wrapped in _C_LABEL().
- Function returns have an alternate version inside #ifdef __APCS_26__.
 1.1.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.2 08-Jan-2001  bouyer Files added on trunk.
 1.1.2.1 29-Dec-2000  bouyer file memmove.S was added on branch thorpej_scsipi on 2001-01-08 14:57:00 +0000
 1.2.16.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.2.16.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.16.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.16.1 03-Aug-2004  skrll Sync with HEAD
 1.3.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.3.8.1 29-Apr-2005  kent sync with -current
 1.4.4.1 21-Jun-2006  yamt sync with head.
 1.4.2.1 22-Jun-2007  liamjfoy Pull up following revision(s) (requested by scw in ticket #1805):
common/lib/libc/arch/arm/string/memmove.S: revision 1.2
Apply the patch supplied in PR/36512 to fix the buffer overlap check. The patch
to memmove.S was provided via patch.
 1.6 20-Dec-2005  christos Use common sources with userland.
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 13-Oct-2003  scw branches: 1.4.16;
Xscale-optimised mem* functions, contributed by Wasabi Systems.
(Note: memcmp/memset improvements also benefit non-Xscale).

memcmp() - Compare 32-bits at a time if possible. Special-case 6-byte
comparisons, for the benefit of the network stack.

memset() - More loop unrolling, plus use of 'strd' instruction,
results in > 100% speedup on Xscale.

memcpy() - Big-endian support, unrolled loops, 'strd/ldrd/pld', plus
special-cases for very common length/alignment combinations
(at least in the kernel). Benchmarks show ~50% improvment on
Xscale.

memmove() - Big-endian support. Use fast memcpy(), above, if the regions
don't overlap. Otherwise unchanged.
 1.3 05-Apr-2003  bjh21 branches: 1.3.2;
NetBSD/acorn26 has used APCS-32 for years, so unifdef -U__APCS_26__.
 1.2 15-Aug-2002  briggs Use .L prefix for all local labels.
 1.1 29-Dec-2000  bjh21 branches: 1.1.2; 1.1.4; 1.1.6; 1.1.18;
Create a shared set of ARM sources for libkern and move arm26 over to using
them.

These are identical to the current arm32 sources with the following exceptions:
- References to C labels are wrapped in _C_LABEL().
- Function returns have an alternate version inside #ifdef __APCS_26__.
 1.1.18.1 29-Aug-2002  gehenna catch up with -current.
 1.1.6.1 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.4.1 27-Aug-2002  nathanw Catch up to -current.
 1.1.2.2 08-Jan-2001  bouyer Files added on trunk.
 1.1.2.1 29-Dec-2000  bouyer file memset.S was added on branch thorpej_scsipi on 2001-01-08 14:57:01 +0000
 1.3.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.1 03-Aug-2004  skrll Sync with HEAD
 1.4.16.1 21-Jun-2006  yamt sync with head.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 05-Apr-2003  bjh21 branches: 1.3.18;
NetBSD/acorn26 has used APCS-32 for years, so unifdef -U__APCS_26__.
 1.2 23-Nov-2002  chris branches: 1.2.2;
Sync arm asm libkern files with libc's asm files.
 1.1 16-Nov-2002  rearnsha Add an assembler version of strcmp, based on example code from the ARM
ARM. As an example of the performance difference that this provides
a Dhrystone score on my Shark goes from 213k to 261k.
 1.2.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.2.2.1 23-Nov-2002  thorpej file strcmp.S was added on branch nathanw_sa on 2002-12-11 06:46:24 +0000
 1.3.18.1 21-Jun-2006  yamt sync with head.
 1.3 20-Dec-2005  christos Use common sources with userland.
 1.2 05-Apr-2003  bjh21 branches: 1.2.18;
NetBSD/acorn26 has used APCS-32 for years, so unifdef -U__APCS_26__.
 1.1 23-Nov-2002  chris branches: 1.1.2;
Sync arm asm libkern files with libc's asm files.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 23-Nov-2002  thorpej file strncmp.S was added on branch nathanw_sa on 2002-12-11 06:46:24 +0000
 1.2.18.1 21-Jun-2006  yamt sync with head.
 1.2 12-Aug-2013  matt branches: 1.2.2; 1.2.6; 1.2.10;
Fix typos (prX not cpX)
 1.1 12-Aug-2013  matt Add EHABI unwind stubs to libkern so prevent errors in linking if unwind
tables are present.
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 12-Aug-2013  tls file unwind_stub.c was added on branch tls-maxphys on 2014-08-20 00:04:30 +0000
 1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.6.1 12-Aug-2013  yamt file unwind_stub.c was added on branch yamt-pagecache on 2014-05-22 11:41:04 +0000
 1.2.2.2 28-Aug-2013  rmind sync with head
 1.2.2.1 12-Aug-2013  rmind file unwind_stub.c was added on branch rmind-smpnet on 2013-08-28 23:59:35 +0000
 1.13 13-Jun-2022  skrll Provide a __canonicalize_funcptr_for_compare which only needs to return
the passed value as the kernel doesn't do PLABELS.

PR/56878 (hppa: kernel module lua fails to load)
 1.12 13-Mar-2014  pooka branches: 1.12.34;
remove compiler-rt duplicates to fix build
 1.11 22-Sep-2009  pooka branches: 1.11.12; 1.11.22; 1.11.26;
Don't build spcopy for rumpkern. Fixes hp700 build failure pointed
out by nick.

XXX: spcopy should be in the main kernel instead of libkern in any case
 1.10 14-Aug-2009  dsl Move that majority of the 'SRCS+= foo.c' into the main Makefile.libkern.
Any .S files added by the arch/*/Makefile.inc cause the .c file to
be excluded.
Specific exclusions added using NO_SRCS to match previous files.
At least sparc, sparc64, i386, amd64 and vax GENERIC still build.
(There is a fubar with the naming of the byte-swap files ...)
 1.9 12-Aug-2009  dsl Split the lines that add .c to SRCS from those that add .S
No changes (apart from the order) intended.
 1.8 18-Mar-2009  tsutsui - remove bcmp(9), bcopy(9), and bzero(9) from libkern since <sys/systm.h> has
macro which replace them with mem*() functions in #ifdef _KERNEL as noted
in man pages
- move declarations of bcopy(3) and bzero(3) into <lib/libsa/stand.h>
since they are still in libsa for some MD standalone sources
(I guess all bcmp(3) in standalone sources have been replaced with memcmp(3)
but they should be replaced with memcmp() anyway)
 1.7 04-Feb-2006  uwe branches: 1.7.68; 1.7.78; 1.7.84;
Add bswap16.c and bswap32.c to SRCS. We need fallback versions for
kernels compiled without optimization (and thus without inlining of
bswap16 and bswap32)
 1.6 27-Dec-2005  yamt branches: 1.6.2; 1.6.4; 1.6.6;
fix build of bzero.
XXX is it better to remove it as i386?
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 21-Oct-2003  tsutsui branches: 1.4.16;
Add bswap64.c, required by options FFS_EI.
 1.3 11-Sep-2003  chs the asm version of strlcpy() was buggy, just use the C version.
 1.2 21-Sep-2002  chs branches: 1.2.6;
add strtoul.c, it's now used in MI code.
 1.1 06-Jun-2002  fredette branches: 1.1.2; 1.1.4;
Added hppa support to libkern.
 1.1.4.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.4.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.4.1 06-Jun-2002  jdolecek file Makefile.inc was added on branch kqueue on 2002-06-23 17:49:46 +0000
 1.1.2.2 20-Jun-2002  gehenna catch up with -current.
 1.1.2.1 06-Jun-2002  gehenna file Makefile.inc was added on branch gehenna-devsw on 2002-06-20 16:02:24 +0000
 1.2.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.6.1 03-Aug-2004  skrll Sync with HEAD
 1.4.16.1 21-Jun-2006  yamt sync with head.
 1.6.6.1 22-Apr-2006  simonb Sync with head.
 1.6.4.1 09-Sep-2006  rpaulo sync with head
 1.6.2.1 18-Feb-2006  yamt sync with head.
 1.7.84.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.7.78.1 28-Apr-2009  skrll Sync with HEAD.
 1.7.68.3 11-Mar-2010  yamt sync with head
 1.7.68.2 19-Aug-2009  yamt sync with head.
 1.7.68.1 04-May-2009  yamt sync with head.
 1.11.26.1 18-May-2014  rmind sync with head
 1.11.22.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.11.12.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.12.34.1 14-Jun-2022  martin Pull up following revision(s) (requested by skrll in ticket #1472):

sys/lib/libkern/arch/hppa/Makefile.inc: revision 1.13
sys/lib/libkern/arch/hppa/milli.S: revision 1.3
sys/lib/libkern/arch/hppa/milli_extra.S: revision 1.1

Don't need $$sh_func_adrs

Provide a __canonicalize_funcptr_for_compare which only needs to return
the passed value as the kernel doesn't do PLABELS.
PR/56878 (hppa: kernel module lua fails to load)
 1.17 09-Aug-2021  andvar fix typos in asymmetry, asymmetric(al), symmetrical.
 1.16 16-Jan-2021  chs remove unused "_DIAGNOSTIC" option and opt_diagnostic.h.
note that this is unrelated to the widely used "DIAGNOSTIC" option.
 1.15 30-Aug-2015  uebayasi branches: 1.15.30;
Include opt_diagnostic.h.
 1.14 31-Jan-2011  skrll branches: 1.14.14; 1.14.32;
This file needs opt_multiprocessor.h early so we pick up the right
definition from cpu.h, etc.

XXX should revisit the _STANDALONE vs _KERNEL split
 1.13 24-Jan-2011  skrll Fix build.
 1.12 22-Jan-2011  skrll Fix MULTIPROCESSOR curlwp/curcpu handling... missed in previous commit.
 1.11 20-Mar-2010  chs branches: 1.11.2; 1.11.4;
fix copy{in,out}{,str}() to return the error returned by uvm_fault().
fixes PR 41813.
 1.10 10-Dec-2009  skrll branches: 1.10.2; 1.10.4;
Rename L_ADDR to L_PCB
 1.9 01-Dec-2009  skrll Remove U_PCB as requested by rmind.

Same code before and after.
 1.8 30-Apr-2009  skrll Merge nick-hppapmap.

This is a port of the OpenBSD pmap and trap handling code to get us

- Performance boost on some/all machines.
- Well on the way to PA2.0 (in 32bit mode) support. Several
machines probe hardware, but fail sometime after interrupts
are enabled.

Other things changed / fixed on the branch are

- update autoconf to use the OpenBSD code.
- com @ dino is very close to being supported.
- HPPA_REDZONE has been replaced with a working redzone which
is enabled with DIAGNOSTIC.
- UPAGES has been halved in size.
- power(4) from OpenBSD to fix a few bugs.
- updated list of modules from OpenBSD.
- initial ports of uturn(4), astro(4) and elroy(4).
- update some copyrights (remove advertising clause, etc.)

Thanks to mjf for some of the above, testing and listening.
 1.7 28-Apr-2008  martin branches: 1.7.8; 1.7.14;
Remove clause 3 and 4 from TNF licenses
 1.6 04-Mar-2007  christos branches: 1.6.36; 1.6.38; 1.6.40;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.5 11-Dec-2005  christos branches: 1.5.26;
merge ktrace-lwp.
 1.4 26-Feb-2005  perry branches: 1.4.4;
nuke trailing whitespace
 1.3 10-Oct-2003  chs branches: 1.3.8; 1.3.10;
update for new gas syntax. from Jochen Kunz.
 1.2 31-Aug-2003  chs update for LWPs, and some lite cleanup.
 1.1 06-Jun-2002  fredette branches: 1.1.2; 1.1.4; 1.1.10;
Added hppa support to libkern.
 1.1.10.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.10.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.10.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.10.1 03-Aug-2004  skrll Sync with HEAD
 1.1.4.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.4.1 06-Jun-2002  jdolecek file bcopy.S was added on branch kqueue on 2002-06-23 17:49:46 +0000
 1.1.2.2 20-Jun-2002  gehenna catch up with -current.
 1.1.2.1 06-Jun-2002  gehenna file bcopy.S was added on branch gehenna-devsw on 2002-06-20 16:02:24 +0000
 1.3.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.3.8.1 29-Apr-2005  kent sync with -current
 1.4.4.1 03-Sep-2007  yamt sync with head.
 1.5.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.6.40.4 11-Aug-2010  yamt sync with head.
 1.6.40.3 11-Mar-2010  yamt sync with head
 1.6.40.2 04-May-2009  yamt sync with head.
 1.6.40.1 16-May-2008  yamt sync with head.
 1.6.38.1 18-May-2008  yamt sync with head.
 1.6.36.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.7.8.1 27-Oct-2008  skrll Commit work in progress.
 1.10.4.2 05-Mar-2011  rmind sync with head
 1.10.4.1 30-May-2010  rmind sync with head
 1.10.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.11.4.1 08-Feb-2011  bouyer Sync with HEAD
 1.11.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.14.32.1 22-Sep-2015  skrll Sync with HEAD
 1.14.14.1 03-Dec-2017  jdolecek update from HEAD
 1.15.30.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1 06-Jun-2002  fredette branches: 1.1.2; 1.1.4;
Added hppa support to libkern.
 1.1.4.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.4.1 06-Jun-2002  jdolecek file memcpy.S was added on branch kqueue on 2002-06-23 17:49:46 +0000
 1.1.2.2 20-Jun-2002  gehenna catch up with -current.
 1.1.2.1 06-Jun-2002  gehenna file memcpy.S was added on branch gehenna-devsw on 2002-06-20 16:02:24 +0000
 1.1 06-Jun-2002  fredette branches: 1.1.2; 1.1.4;
Added hppa support to libkern.
 1.1.4.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.4.1 06-Jun-2002  jdolecek file memmove.S was added on branch kqueue on 2002-06-23 17:49:46 +0000
 1.1.2.2 20-Jun-2002  gehenna catch up with -current.
 1.1.2.1 06-Jun-2002  gehenna file memmove.S was added on branch gehenna-devsw on 2002-06-20 16:02:24 +0000
 1.3 13-Jun-2022  skrll Don't need $$sh_func_adrs
 1.2 17-Aug-2021  andvar fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.1 06-Jun-2002  fredette branches: 1.1.2; 1.1.4; 1.1.204;
Added hppa support to libkern.
 1.1.204.1 14-Jun-2022  martin Pull up following revision(s) (requested by skrll in ticket #1472):

sys/lib/libkern/arch/hppa/Makefile.inc: revision 1.13
sys/lib/libkern/arch/hppa/milli.S: revision 1.3
sys/lib/libkern/arch/hppa/milli_extra.S: revision 1.1

Don't need $$sh_func_adrs

Provide a __canonicalize_funcptr_for_compare which only needs to return
the passed value as the kernel doesn't do PLABELS.
PR/56878 (hppa: kernel module lua fails to load)
 1.1.4.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.4.1 06-Jun-2002  jdolecek file milli.S was added on branch kqueue on 2002-06-23 17:49:47 +0000
 1.1.2.2 20-Jun-2002  gehenna catch up with -current.
 1.1.2.1 06-Jun-2002  gehenna file milli.S was added on branch gehenna-devsw on 2002-06-20 16:02:25 +0000
 1.2 15-Jun-2022  skrll Fix a dumb typo/thinko

Thanks to Tom Lane for spotting it.
 1.1 13-Jun-2022  skrll branches: 1.1.2;
Provide a __canonicalize_funcptr_for_compare which only needs to return
the passed value as the kernel doesn't do PLABELS.

PR/56878 (hppa: kernel module lua fails to load)
 1.1.2.3 16-Jun-2022  martin Pull up following revision(s) (requested by skrll in ticket #1473):

sys/lib/libkern/arch/hppa/milli_extra.S: revision 1.2

Fix a dumb typo/thinko

Thanks to Tom Lane for spotting it.
 1.1.2.2 14-Jun-2022  martin Pull up following revision(s) (requested by skrll in ticket #1472):

sys/lib/libkern/arch/hppa/Makefile.inc: revision 1.13
sys/lib/libkern/arch/hppa/milli.S: revision 1.3
sys/lib/libkern/arch/hppa/milli_extra.S: revision 1.1

Don't need $$sh_func_adrs

Provide a __canonicalize_funcptr_for_compare which only needs to return
the passed value as the kernel doesn't do PLABELS.
PR/56878 (hppa: kernel module lua fails to load)
 1.1.2.1 13-Jun-2022  martin file milli_extra.S was added on branch netbsd-9 on 2022-06-14 10:41:18 +0000
 1.2 12-Sep-2013  joerg Pass PICFLAGS down to cc-as-as and use __PIC__ to decide if it is small
vs big PIC mode. Retire -DPIC and -DBIGPIC.
 1.1 06-Jun-2002  fredette branches: 1.1.2; 1.1.4; 1.1.148; 1.1.158; 1.1.164;
Added hppa support to libkern.
 1.1.164.1 18-May-2014  rmind sync with head
 1.1.158.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.148.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.4.1 06-Jun-2002  jdolecek file prefix.h was added on branch kqueue on 2002-06-23 17:49:47 +0000
 1.1.2.2 20-Jun-2002  gehenna catch up with -current.
 1.1.2.1 06-Jun-2002  gehenna file prefix.h was added on branch gehenna-devsw on 2002-06-20 16:02:25 +0000
 1.1 06-Jun-2002  fredette branches: 1.1.2; 1.1.4;
Added hppa support to libkern.
 1.1.4.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.4.1 06-Jun-2002  jdolecek file spcopy.S was added on branch kqueue on 2002-06-23 17:49:47 +0000
 1.1.2.2 20-Jun-2002  gehenna catch up with -current.
 1.1.2.1 06-Jun-2002  gehenna file spcopy.S was added on branch gehenna-devsw on 2002-06-20 16:02:25 +0000
 1.2 11-Sep-2003  chs the asm version of strlcpy() was buggy, just use the C version.
 1.1 06-Jun-2002  fredette branches: 1.1.2; 1.1.4; 1.1.10;
Added hppa support to libkern.
 1.1.10.1 03-Aug-2004  skrll Sync with HEAD
 1.1.4.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.4.1 06-Jun-2002  jdolecek file strlcpy.S was added on branch kqueue on 2002-06-23 17:49:48 +0000
 1.1.2.2 20-Jun-2002  gehenna catch up with -current.
 1.1.2.1 06-Jun-2002  gehenna file strlcpy.S was added on branch gehenna-devsw on 2002-06-20 16:02:25 +0000
 1.6 10-Sep-1999  drochner -don't use DEFS.h nor SYS.h in libkern
-remove setjmp.S, it's not useful for libkern
 1.5 13-Oct-1997  lukem rcsid fascism
 1.4 07-Oct-1995  mycroft branches: 1.4.14;
Update from libc.
 1.3 05-Feb-1995  mycroft Sync with libc.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 05-Nov-1993  cgd branches: 1.1.2;
added files copied in from libc. version numbers are screwed,
but are screwed for the rest of libkern's files, anyway.
 1.1.2.2 05-Nov-1993  cgd added files copied in from libc. version numbers are screwed,
but are screwed for the rest of libkern's files, anyway.
 1.1.2.1 05-Nov-1993  cgd file DEFS.h was added on branch magnum on 1993-11-05 22:40:56 +0000
 1.4.14.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.32 27-Jan-2020  ad Make x86 use the C version of memcmp().
 1.31 14-Aug-2009  dsl branches: 1.31.64; 1.31.70;
Move that majority of the 'SRCS+= foo.c' into the main Makefile.libkern.
Any .S files added by the arch/*/Makefile.inc cause the .c file to
be excluded.
Specific exclusions added using NO_SRCS to match previous files.
At least sparc, sparc64, i386, amd64 and vax GENERIC still build.
(There is a fubar with the naming of the byte-swap files ...)
 1.30 12-Aug-2009  skrll Put back random.S. Hi dsl!
 1.29 12-Aug-2009  dsl Split the lines that add .c to SRCS from those that add .S
No changes (apart from the order) intended.
 1.28 25-Mar-2009  darran Fixes PR kern/41069 and PR kern/41070.

Extends the Opencrypto API to allow the destination buffer size to be
specified when its not the same size as the input buffer (i.e. for
operations like compress and decompress).
The crypto_op and crypt_n_op structures gain a u_int dst_len field.
The session_op structure gains a comp_alg field to specify a compression
algorithm.
Moved four ioctls to new ids; CIOCGSESSION, CIOCNGSESSION, CIOCCRYPT,
and CIOCNCRYPTM.
Added four backward compatible ioctls; OCIOCGSESSION, OCIOCNGSESSION,
OCIOCCRYPT, and OCIOCNCRYPTM.

Backward compatibility is maintained in ocryptodev.h and ocryptodev.c which
implement the original ioctls and set dst_len and comp_alg to 0.

Adds user-space access to compression features.

Adds software gzip support (CRYPTO_GZIP_COMP).

Adds the fast version of crc32 from zlib to libkern. This should be generally
useful and provide a place to start normalizing the various crc32 routines
in the kernel. The crc32 routine is used in this patch to support GZIP.

With input and support from tls@NetBSD.org.
 1.27 11-Dec-2005  christos branches: 1.27.74; 1.27.84; 1.27.86; 1.27.90; 1.27.94;
merge ktrace-lwp.
 1.26 26-Oct-2003  junyoung Remove bcmp.S and bzero.S from list. They were doing nothing but wasting
kernel bits for a long time (2 years?).
 1.25 05-Apr-2001  thorpej branches: 1.25.22;
Build strtoul.c
 1.24 01-Nov-2000  thorpej branches: 1.24.2;
Add a strcasecmp(), modified from chopps's strncasecmp().
 1.23 15-Jan-1999  bouyer branches: 1.23.8;
Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.22 04-Aug-1998  perry add memcmp.S
 1.21 04-Aug-1998  perry Fix formatting, and add memmove.S
 1.20 22-Feb-1998  mycroft Move random.S from arch/i386/i386.
 1.19 22-Feb-1998  mycroft Add strchr.S and strrchr.S.
 1.18 22-Feb-1998  mycroft Sync with libc.
 1.17 22-Feb-1998  mycroft Add some missing things.
 1.16 21-Jan-1998  cgd add rules like those in libc to build strchr() and strrchr() (the latter
is being added to libkern by this commit). remove strchr.c from
archs' Makefile.inc files to go along with this. (If an arch has
a .S version, it should be copied down and added to the apropriate
Makefile.inc.)
 1.15 24-Oct-1997  chuck add memchr() to libkern
 1.14 09-Oct-1997  bouyer Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
 1.13 18-Jan-1997  cgd branches: 1.13.8;
add strchr() to libkern. strchr.c copied from libc's "index.c", but with
appropriate definitions so that it'll build strchr(), and so that it builds
correctly in libkern (needed to #define NULL).
 1.12 27-Aug-1996  cgd Add machine-independent assertion-checking support. macros are:

assert() which always does assertion checking
unless "NDEBUG" is defined.

KASSERT() which does assertion checking if DIAGNOSTIC
is defined.

KDASSERT() which does assertion checking if DEBUG is
define. This macro exists for compatibility
with existing ports' assertion checking macros.
(Assertion checking is not typically an
"expensive" operation, and DIAGNOSTIC should be
used for inexpensive consistency checks.)
 1.11 10-Jun-1996  cgd locc() is unused. Remove it from the machine-independent kernel interface.
 1.10 13-Apr-1996  cgd add strncasecmp.c to ports' libkern Makefile.inc's. When adding a new
source file to libkern, it should be added to _ALL_ ports makefiles if
it is machine-independent and used by machine-independent code (in
this case adosfs). (There are several arguments that say that
strncasecmp should not be in libkern at all, and i think they're
good ones, but as long as ADOSFS needs it to link, it has to be here
for all architectures.)
 1.9 11-Mar-1996  scottr Back out previous change.
 1.8 11-Mar-1996  thorpej Provide a memset() for the i386 (assembly version), and move memset.c
out into the libkern proper in case other ports want to use it.
i386 kernels with COMPAT_LINUX should compile now.
 1.7 07-Oct-1995  mycroft Remove bzero.S and setjmp.S, as these functions are in locore.
 1.6 26-Oct-1994  cgd new RCS ID format.
 1.5 24-Feb-1994  mycroft Assembler versions of these.
 1.4 04-Dec-1993  cgd use .S files
 1.3 15-Oct-1993  cgd branches: 1.3.2;
add strncmp to anything
 1.2 15-Oct-1993  cgd add __main()
 1.1 13-Oct-1993  cgd move 'boot' and 'libkern' into 'lib'. generally clean up 'kernel library'
building and dependencies.
 1.3.2.2 04-Dec-1993  cgd use quad support; we need it
 1.3.2.1 15-Oct-1993  cgd file Makefile.inc was added on branch magnum on 1993-12-04 05:07:53 +0000
 1.13.8.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.23.8.2 21-Apr-2001  bouyer Sync with HEAD
 1.23.8.1 22-Nov-2000  bouyer Sync with HEAD.
 1.24.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.25.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.25.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.25.22.1 03-Aug-2004  skrll Sync with HEAD
 1.27.94.1 21-Apr-2010  matt sync to netbsd-5
 1.27.90.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.27.86.1 03-May-2009  snj Pull up following revision(s) (requested by tls in ticket #611):
sys/lib/libkern/Makefile: patch
sys/lib/libkern/crc32.c: revision 1.1
sys/lib/libkern/crc32.h: revision 1.1
sys/lib/libkern/libkern.h: revision 1.89
sys/lib/libkern/arch/i386/Makefile.inc: revision 1.28
sys/net/zlib.h: revision 1.14 via patch
sys/opencrypto/crypto.c: revision 1.33
sys/opencrypto/cryptodev.c: revision 1.46
sys/opencrypto/cryptodev.h: revision 1.16
sys/opencrypto/cryptosoft.c: revision 1.24
sys/opencrypto/cryptosoft.h: revision 1.6
sys/opencrypto/deflate.h: revision 1.6
sys/opencrypto/cryptosoft_xform.c: revision 1.12
sys/opencrypto/deflate.c: revision 1.13
sys/opencrypto/files.opencrypto: revision 1.20
sys/opencrypto/ocryptodev.c: revision 1.1
sys/opencrypto/ocryptodev.h: revision 1.1
sys/opencrypto/xform.c: revision 1.18
sys/opencrypto/xform.h: revision 1.10
Fixes PR kern/41069 and PR kern/41070.

Extends the Opencrypto API to allow the destination buffer size to be
specified when its not the same size as the input buffer (i.e. for
operations like compress and decompress).
The crypto_op and crypt_n_op structures gain a u_int dst_len field.
The session_op structure gains a comp_alg field to specify a compression
algorithm.
Moved four ioctls to new ids; CIOCGSESSION, CIOCNGSESSION, CIOCCRYPT,
and CIOCNCRYPTM.
Added four backward compatible ioctls; OCIOCGSESSION, OCIOCNGSESSION,
OCIOCCRYPT, and OCIOCNCRYPTM.

Backward compatibility is maintained in ocryptodev.h and ocryptodev.c which
implement the original ioctls and set dst_len and comp_alg to 0.

Adds user-space access to compression features.

Adds software gzip support (CRYPTO_GZIP_COMP).

Adds the fast version of crc32 from zlib to libkern. This should be generally
useful and provide a place to start normalizing the various crc32 routines
in the kernel. The crc32 routine is used in this patch to support GZIP.

With input and support from tls@NetBSD.org.
 1.27.84.1 28-Apr-2009  skrll Sync with HEAD.
 1.27.74.2 19-Aug-2009  yamt sync with head.
 1.27.74.1 04-May-2009  yamt sync with head.
 1.31.70.1 29-Feb-2020  ad Sync with head.
 1.31.64.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10 10-Sep-1999  drochner -don't use DEFS.h nor SYS.h in libkern
-remove setjmp.S, it's not useful for libkern
 1.9 23-Aug-1999  kleink Sync with libc: use _ALIGN_TEXT from <machine/asm.h>.
 1.8 22-Feb-1998  mycroft Move random.S from arch/i386/i386.
 1.7 22-Feb-1998  mycroft Sync with libc.
 1.6 13-Oct-1997  lukem rcsid fascism
 1.5 07-Oct-1995  mycroft branches: 1.5.14;
Update from libc.
 1.4 05-Feb-1995  mycroft Sync with libc.
 1.3 26-Oct-1994  cgd new RCS ID format.
 1.2 15-Feb-1994  mycroft Update from libc.
 1.1 05-Nov-1993  cgd branches: 1.1.2;
added files copied in from libc. version numbers are screwed,
but are screwed for the rest of libkern's files, anyway.
 1.1.2.2 05-Nov-1993  cgd added files copied in from libc. version numbers are screwed,
but are screwed for the rest of libkern's files, anyway.
 1.1.2.1 05-Nov-1993  cgd file SYS.h was added on branch magnum on 1993-11-05 22:40:58 +0000
 1.5.14.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.7 26-Oct-2003  junyoung Goodbye to bcmp.S, bcopy.S, and bzero.S. They are defined as macros in
sys/systm.h.
 1.6 22-Feb-1998  mycroft branches: 1.6.48;
Move random.S from arch/i386/i386.
 1.5 07-Oct-1995  mycroft Update from libc.
 1.4 05-Feb-1995  mycroft Sync with libc.
 1.3 26-Oct-1994  cgd new RCS ID format.
 1.2 28-Jan-1994  jtc Fix spelling error in Copyright notice
 1.1 04-Dec-1993  cgd branches: 1.1.2;
change to use MACHINE_ARCH and update from libc
 1.1.2.2 04-Dec-1993  cgd change to use MACHINE_ARCH and update from libc
 1.1.2.1 04-Dec-1993  cgd file bcmp.S was added on branch magnum on 1993-12-04 03:05:17 +0000
 1.6.48.1 03-Aug-2004  skrll Sync with HEAD
 1.2 01-Mar-1995  mycroft Clean up deleted files.
 1.1 27-Oct-1993  jtc Did a ``make copy-to-libkern'' from libc to copy libc files to libkern.
Checking them in to make people happy.
 1.5 26-Oct-2003  junyoung Goodbye to bcmp.S, bcopy.S, and bzero.S. They are defined as macros in
sys/systm.h.
 1.4 15-Apr-2003  dsl branches: 1.4.2;
Significantly faster memcpy/memmove/bcopy and memset/bzero
 1.3 10-Jul-2002  kent Avoid redundant memory access.
 1.2 22-Feb-1998  mycroft branches: 1.2.26; 1.2.28; 1.2.40;
Move random.S from arch/i386/i386.
 1.1 22-Feb-1998  mycroft Sync with libc.
 1.2.40.1 15-Jul-2002  gehenna catch up with -current.
 1.2.28.1 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.26.1 01-Aug-2002  nathanw Catch up to -current.
 1.4.2.1 03-Aug-2004  skrll Sync with HEAD
 1.3 15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.2 13-Oct-1997  lukem branches: 1.2.2;
rcsid fascism
 1.1 09-Oct-1997  bouyer Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
 1.2.2.2 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.2.2.1 13-Oct-1997  thorpej file bswap16.S was added on branch marc-pcmcia on 1997-10-14 10:27:28 +0000
 1.3 15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.2 13-Oct-1997  lukem branches: 1.2.2;
rcsid fascism
 1.1 09-Oct-1997  bouyer Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
 1.2.2.2 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.2.2.1 13-Oct-1997  thorpej file bswap32.S was added on branch marc-pcmcia on 1997-10-14 10:27:29 +0000
 1.5 20-Dec-2005  christos Use common sources with userland.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 07-Aug-2003  agc branches: 1.3.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.2 14-Dec-2000  mycroft branches: 1.2.24;
ALTENTRY() must die.
 1.1 15-Jan-1999  bouyer branches: 1.1.8;
Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.1.8.1 05-Jan-2001  bouyer Sync with HEAD
 1.2.24.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.24.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.24.1 03-Aug-2004  skrll Sync with HEAD
 1.3.16.1 21-Jun-2006  yamt sync with head.
 1.5 20-Dec-2005  christos Use common sources with userland.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 07-Aug-2003  agc branches: 1.3.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.2 14-Dec-2000  mycroft branches: 1.2.24;
ALTENTRY() must die.
 1.1 15-Jan-1999  bouyer branches: 1.1.8;
Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.1.8.1 05-Jan-2001  bouyer Sync with HEAD
 1.2.24.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.24.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.24.1 03-Aug-2004  skrll Sync with HEAD
 1.3.16.1 21-Jun-2006  yamt sync with head.
 1.8 26-Oct-2003  junyoung Goodbye to bcmp.S, bcopy.S, and bzero.S. They are defined as macros in
sys/systm.h.
 1.7 15-Apr-2003  dsl branches: 1.7.2;
Significantly faster memcpy/memmove/bcopy and memset/bzero
 1.6 22-Feb-1998  mycroft Move random.S from arch/i386/i386.
 1.5 07-Oct-1995  mycroft Update from libc.
 1.4 05-Feb-1995  mycroft Sync with libc.
 1.3 26-Oct-1994  cgd new RCS ID format.
 1.2 28-Jan-1994  jtc Fix spelling error in Copyright notice
 1.1 04-Dec-1993  cgd branches: 1.1.2;
change to use MACHINE_ARCH and update from libc
 1.1.2.2 04-Dec-1993  cgd change to use MACHINE_ARCH and update from libc
 1.1.2.1 04-Dec-1993  cgd file bzero.S was added on branch magnum on 1993-12-04 03:05:45 +0000
 1.7.2.1 03-Aug-2004  skrll Sync with HEAD
 1.2 01-Mar-1995  mycroft Clean up deleted files.
 1.1 27-Oct-1993  jtc Did a ``make copy-to-libkern'' from libc to copy libc files to libkern.
Checking them in to make people happy.
 1.10 20-Dec-2005  christos Use common sources with userland.
 1.9 11-Dec-2005  christos merge ktrace-lwp.
 1.8 04-Dec-2003  keihan branches: 1.8.16;
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.7 23-Aug-1999  kleink branches: 1.7.36;
Sync with libc: use _ALIGN_TEXT from <machine/asm.h>.
 1.6 22-Feb-1998  mycroft Move random.S from arch/i386/i386.
 1.5 07-Oct-1995  mycroft Update from libc.
 1.4 05-Feb-1995  mycroft Sync with libc.
 1.3 26-Oct-1994  cgd new RCS ID format.
 1.2 28-Jan-1994  jtc Fix spelling error in Copyright notice
 1.1 04-Dec-1993  cgd branches: 1.1.2;
change to use MACHINE_ARCH and update from libc
 1.1.2.2 04-Dec-1993  cgd change to use MACHINE_ARCH and update from libc
 1.1.2.1 04-Dec-1993  cgd file ffs.S was added on branch magnum on 1993-12-04 03:06:04 +0000
 1.7.36.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.36.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.36.1 03-Aug-2004  skrll Sync with HEAD
 1.8.16.1 21-Jun-2006  yamt sync with head.
 1.2 01-Mar-1995  mycroft Clean up deleted files.
 1.1 27-Oct-1993  jtc Did a ``make copy-to-libkern'' from libc to copy libc files to libkern.
Checking them in to make people happy.
 1.8 15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.7 22-Feb-1998  mycroft Move random.S from arch/i386/i386.
 1.6 22-Feb-1998  mycroft Sync with libc.
 1.5 13-Oct-1997  lukem rcsid fascism
 1.4 07-Oct-1995  mycroft branches: 1.4.14;
Update from libc.
 1.3 05-Feb-1995  mycroft Sync with libc.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 04-Dec-1993  cgd branches: 1.1.2;
change to use MACHINE_ARCH and update from libc
 1.1.2.2 04-Dec-1993  cgd change to use MACHINE_ARCH and update from libc
 1.1.2.1 04-Dec-1993  cgd file htonl.S was added on branch magnum on 1993-12-04 03:06:13 +0000
 1.4.14.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.2 01-Mar-1995  mycroft Clean up deleted files.
 1.1 27-Oct-1993  jtc Did a ``make copy-to-libkern'' from libc to copy libc files to libkern.
Checking them in to make people happy.
 1.8 15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.7 22-Feb-1998  mycroft Move random.S from arch/i386/i386.
 1.6 22-Feb-1998  mycroft Sync with libc.
 1.5 13-Oct-1997  lukem rcsid fascism
 1.4 07-Oct-1995  mycroft branches: 1.4.14;
Update from libc.
 1.3 05-Feb-1995  mycroft Sync with libc.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 04-Dec-1993  cgd branches: 1.1.2;
change to use MACHINE_ARCH and update from libc
 1.1.2.2 04-Dec-1993  cgd change to use MACHINE_ARCH and update from libc
 1.1.2.1 04-Dec-1993  cgd file htons.S was added on branch magnum on 1993-12-04 03:06:23 +0000
 1.4.14.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.2 01-Mar-1995  mycroft Clean up deleted files.
 1.1 27-Oct-1993  jtc Did a ``make copy-to-libkern'' from libc to copy libc files to libkern.
Checking them in to make people happy.
 1.3 27-Oct-2003  junyoung index() shouldn't be used in the kernel. Use strchr() instead.
 1.2 23-Aug-1999  kleink branches: 1.2.36;
Sync with libc: use _ALIGN_TEXT from <machine/asm.h>.
 1.1 22-Feb-1998  mycroft And index.S...
 1.2.36.1 03-Aug-2004  skrll Sync with HEAD
 1.3 10-Jun-1996  cgd locc() is unused. Remove it from the machine-independent kernel interface.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 24-Feb-1994  mycroft Assembler versions of these.
 1.7 20-Dec-2005  christos Use common sources with userland.
 1.6 11-Dec-2005  christos merge ktrace-lwp.
 1.5 04-Dec-2003  keihan branches: 1.5.16;
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.4 23-Aug-1999  kleink branches: 1.4.36;
Sync with libc: use _ALIGN_TEXT from <machine/asm.h>.
 1.3 22-Feb-1998  mycroft Move random.S from arch/i386/i386.
 1.2 05-Feb-1998  mrg initial import of the new virtual memory system, UVM, into -current.

UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code. i provided some help
getting swap and paging working, and other bug fixes/ideas. chuck
silvers <chuq@chuq.com> also provided some other fixes.

this is the rest of the MI portion changes.

this will be KNF'd shortly. :-)
 1.1 24-Oct-1997  chuck add memchr() to libkern
 1.4.36.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.36.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.36.1 03-Aug-2004  skrll Sync with HEAD
 1.5.16.1 21-Jun-2006  yamt sync with head.
 1.5 20-Dec-2005  christos Use common sources with userland.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 04-Dec-2003  keihan branches: 1.3.16;
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.2 21-Sep-2001  fvdl branches: 1.2.18;
Make new gas happy. Use movzbl instead of xorl + movb.
 1.1 04-Aug-1998  perry branches: 1.1.24; 1.1.26; 1.1.28;
add memcmp.S
 1.1.28.1 01-Oct-2001  fvdl Catch up with -current.
 1.1.26.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.24.1 21-Sep-2001  nathanw Catch up to -current.
 1.2.18.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.18.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.18.1 03-Aug-2004  skrll Sync with HEAD
 1.3.16.1 21-Jun-2006  yamt sync with head.
 1.7 20-Dec-2005  christos Use common sources with userland.
 1.6 11-Dec-2005  christos merge ktrace-lwp.
 1.5 15-Apr-2004  yamt branches: 1.5.12;
add '.L' prefixes to local labels.
 1.4 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.3 15-Apr-2003  dsl branches: 1.3.2;
Significantly faster memcpy/memmove/bcopy and memset/bzero
 1.2 22-Feb-1998  mycroft Move random.S from arch/i386/i386.
 1.1 22-Feb-1998  mycroft Sync with libc.
 1.3.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.1 03-Aug-2004  skrll Sync with HEAD
 1.5.12.1 21-Jun-2006  yamt sync with head.
 1.3 20-Dec-2005  christos Use common sources with userland.
 1.2 15-Apr-2003  dsl branches: 1.2.18;
Significantly faster memcpy/memmove/bcopy and memset/bzero
 1.1 04-Aug-1998  perry add memmove.S
 1.2.18.1 21-Jun-2006  yamt sync with head.
 1.8 20-Dec-2005  christos Use common sources with userland.
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 15-Apr-2004  yamt branches: 1.6.12;
add '.L' prefixes to local labels.
 1.5 15-Apr-2003  dsl branches: 1.5.2;
Significantly faster memcpy/memmove/bcopy and memset/bzero
 1.4 22-Feb-1998  mycroft Move random.S from arch/i386/i386.
 1.3 22-Feb-1998  mycroft Sync with libc.
 1.2 11-Mar-1996  scottr Back out previous change.
 1.1 11-Mar-1996  thorpej Provide a memset() for the i386 (assembly version), and move memset.c
out into the libkern proper in case other ports want to use it.
i386 kernels with COMPAT_LINUX should compile now.
 1.5.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6.12.1 21-Jun-2006  yamt sync with head.
 1.8 15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.7 22-Feb-1998  mycroft Move random.S from arch/i386/i386.
 1.6 22-Feb-1998  mycroft Sync with libc.
 1.5 13-Oct-1997  lukem rcsid fascism
 1.4 07-Oct-1995  mycroft branches: 1.4.14;
Update from libc.
 1.3 05-Feb-1995  mycroft Sync with libc.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 04-Dec-1993  cgd branches: 1.1.2;
change to use MACHINE_ARCH and update from libc
 1.1.2.2 04-Dec-1993  cgd change to use MACHINE_ARCH and update from libc
 1.1.2.1 04-Dec-1993  cgd file ntohl.S was added on branch magnum on 1993-12-04 03:06:33 +0000
 1.4.14.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.2 01-Mar-1995  mycroft Clean up deleted files.
 1.1 27-Oct-1993  jtc Did a ``make copy-to-libkern'' from libc to copy libc files to libkern.
Checking them in to make people happy.
 1.8 15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.7 22-Feb-1998  mycroft Move random.S from arch/i386/i386.
 1.6 22-Feb-1998  mycroft Sync with libc.
 1.5 13-Oct-1997  lukem rcsid fascism
 1.4 07-Oct-1995  mycroft branches: 1.4.14;
Update from libc.
 1.3 05-Feb-1995  mycroft Sync with libc.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 04-Dec-1993  cgd branches: 1.1.2;
change to use MACHINE_ARCH and update from libc
 1.1.2.2 04-Dec-1993  cgd change to use MACHINE_ARCH and update from libc
 1.1.2.1 04-Dec-1993  cgd file ntohs.S was added on branch magnum on 1993-12-04 03:06:43 +0000
 1.4.14.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.2 01-Mar-1995  mycroft Clean up deleted files.
 1.1 27-Oct-1993  jtc Did a ``make copy-to-libkern'' from libc to copy libc files to libkern.
Checking them in to make people happy.
 1.6 07-Sep-2010  pooka Rename jump label to something a little more negative. No, I'm
not doing it for cosmetic value or out of angst. See, PIC_PROLOGUE
on i386 uses the "1" label internally. Now, everything would be
fine and dandy for the first 551245 calls to random. After that
p+q is negative and the jump is taken. However, it is taken into
the middle of PIC_PROLOGUE instead of where upon superficial
examination we assumed we are jumping. This causes wrong(tm) things
to happen and "ret" triggers a jump into hyperspace.

(no, I did not see that coming)
 1.5 04-Jan-2009  pooka branches: 1.5.4; 1.5.6;
Support PIC for inclusion in librump. (m68k untested)
 1.4 28-Apr-2008  martin branches: 1.4.8;
Remove clause 3 and 4 from TNF licenses
 1.3 15-Aug-1998  mycroft branches: 1.3.144; 1.3.146; 1.3.148;
Assign my copyrights to TNF.
 1.2 15-Aug-1998  mycroft Make copyright notices with my name consistent.
 1.1 22-Feb-1998  mycroft Move random.S from arch/i386/i386.
 1.3.148.3 09-Oct-2010  yamt sync with head
 1.3.148.2 04-May-2009  yamt sync with head.
 1.3.148.1 16-May-2008  yamt sync with head.
 1.3.146.1 18-May-2008  yamt sync with head.
 1.3.144.2 17-Jan-2009  mjf Sync with HEAD.
 1.3.144.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.5.6.1 05-Mar-2011  rmind sync with head
 1.5.4.1 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.3 05-Nov-2003  junyoung rindex() shouldn't be used in the kernel. Use strrchr() instead.
 1.2 23-Aug-1999  kleink branches: 1.2.36;
Sync with libc: use _ALIGN_TEXT from <machine/asm.h>.
 1.1 22-Feb-1998  mycroft And rindex.S...
 1.2.36.1 03-Aug-2004  skrll Sync with HEAD
 1.9 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.8 10-Sep-1999  drochner branches: 1.8.134; 1.8.136; 1.8.138;
-don't use DEFS.h nor SYS.h in libkern
-remove setjmp.S, it's not useful for libkern
 1.7 15-Aug-1998  mycroft Assign copyrights to TNF.
 1.6 15-Aug-1998  mycroft Make copyright notices with my name consistent.
 1.5 26-Oct-1994  cgd new RCS ID format.
 1.4 23-Mar-1994  mycroft Much faster on 486s and Pentiums; a little slower on 386s.
 1.3 24-Feb-1994  mycroft Minor speedup.
 1.2 24-Feb-1994  mycroft Minutely faster.
 1.1 24-Feb-1994  mycroft Assembler versions of these.
 1.8.138.1 16-May-2008  yamt sync with head.
 1.8.136.1 18-May-2008  yamt sync with head.
 1.8.134.1 02-Jun-2008  mjf Sync with HEAD.
 1.6 10-Sep-1999  drochner -don't use DEFS.h nor SYS.h in libkern
-remove setjmp.S, it's not useful for libkern
 1.5 26-Oct-1994  cgd new RCS ID format.
 1.4 21-Oct-1993  jtc branches: 1.4.2;
So many files in arch/i386 have been changed I might as well run my
remove unecessary trailing whitespace script.
 1.3 21-Oct-1993  jtc Change instances of LIBC_RCS back to LIBC_SCCS. If we are going to change
th LIBC_RCS, the entire source tree should be updated at once.
Remove && !defined(lint) from conditionals around rcs id's. No one is
ever going to pass a *.s file through lint.
 1.2 20-Oct-1993  jtc Replaced instructions with immediate operands with compatible alternatives
saving a few bytes while the cycle count remains the same --- could
actually be faster, depending on the cache, prefetch queue, etc.
 1.1 07-Oct-1993  cgd make an arch directory in libc, and move all machine dirs into it
 1.4.2.2 21-Oct-1993  jtc So many files in arch/i386 have been changed I might as well run my
remove unecessary trailing whitespace script.
 1.4.2.1 21-Oct-1993  jtc file setjmp.S was added on branch magnum on 1993-10-21 01:48:17 +0000
 1.2 01-Mar-1995  mycroft Clean up deleted files.
 1.1 13-Oct-1993  cgd move 'boot' and 'libkern' into 'lib'. generally clean up 'kernel library'
building and dependencies.
 1.6 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.5 10-Sep-1999  drochner branches: 1.5.134; 1.5.136; 1.5.138;
-don't use DEFS.h nor SYS.h in libkern
-remove setjmp.S, it's not useful for libkern
 1.4 15-Aug-1998  mycroft Assign copyrights to TNF.
 1.3 15-Aug-1998  mycroft Make copyright notices with my name consistent.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 24-Feb-1994  mycroft Assembler versions of these.
 1.5.138.1 16-May-2008  yamt sync with head.
 1.5.136.1 18-May-2008  yamt sync with head.
 1.5.134.1 02-Jun-2008  mjf Sync with HEAD.
 1.11 20-Dec-2005  christos Use common sources with userland.
 1.10 11-Dec-2005  christos merge ktrace-lwp.
 1.9 04-Dec-2003  keihan branches: 1.9.16;
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.8 23-Aug-1999  kleink branches: 1.8.36;
Sync with libc: use _ALIGN_TEXT from <machine/asm.h>.
 1.7 22-Feb-1998  mycroft Move random.S from arch/i386/i386.
 1.6 07-Oct-1995  mycroft Update from libc.
 1.5 05-Feb-1995  mycroft Sync with libc.
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 15-Feb-1994  mycroft Update from libc.
 1.2 28-Jan-1994  jtc Fix spelling error in Copyright notice
 1.1 04-Dec-1993  cgd branches: 1.1.2;
change to use MACHINE_ARCH and update from libc
 1.1.2.2 04-Dec-1993  cgd change to use MACHINE_ARCH and update from libc
 1.1.2.1 04-Dec-1993  cgd file strcat.S was added on branch magnum on 1993-12-04 03:06:54 +0000
 1.8.36.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.36.2 18-Sep-2004  skrll Sync with HEAD.
 1.8.36.1 03-Aug-2004  skrll Sync with HEAD
 1.9.16.1 21-Jun-2006  yamt sync with head.
 1.2 01-Mar-1995  mycroft Clean up deleted files.
 1.1 27-Oct-1993  jtc Did a ``make copy-to-libkern'' from libc to copy libc files to libkern.
Checking them in to make people happy.
 1.5 20-Dec-2005  christos Use common sources with userland.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 04-Dec-2003  keihan branches: 1.3.16;
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.2 27-Oct-2003  junyoung index() shouldn't be used in the kernel. Use strchr() instead.
 1.1 22-Feb-1998  mycroft branches: 1.1.48;
Add these as well.
 1.1.48.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.48.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.48.1 03-Aug-2004  skrll Sync with HEAD
 1.3.16.1 21-Jun-2006  yamt sync with head.
 1.11 20-Dec-2005  christos Use common sources with userland.
 1.10 11-Dec-2005  christos merge ktrace-lwp.
 1.9 04-Dec-2003  keihan branches: 1.9.16;
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.8 23-Aug-1999  kleink branches: 1.8.36;
Sync with libc: use _ALIGN_TEXT from <machine/asm.h>.
 1.7 22-Feb-1998  mycroft Move random.S from arch/i386/i386.
 1.6 07-Oct-1995  mycroft Update from libc.
 1.5 05-Feb-1995  mycroft Sync with libc.
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 15-Feb-1994  mycroft Update from libc.
 1.2 28-Jan-1994  jtc Fix spelling error in Copyright notice
 1.1 04-Dec-1993  cgd branches: 1.1.2;
change to use MACHINE_ARCH and update from libc
 1.1.2.2 04-Dec-1993  cgd change to use MACHINE_ARCH and update from libc
 1.1.2.1 04-Dec-1993  cgd file strcmp.S was added on branch magnum on 1993-12-04 03:07:08 +0000
 1.8.36.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.36.2 18-Sep-2004  skrll Sync with HEAD.
 1.8.36.1 03-Aug-2004  skrll Sync with HEAD
 1.9.16.1 21-Jun-2006  yamt sync with head.
 1.2 01-Mar-1995  mycroft Clean up deleted files.
 1.1 27-Oct-1993  jtc Did a ``make copy-to-libkern'' from libc to copy libc files to libkern.
Checking them in to make people happy.
 1.11 20-Dec-2005  christos Use common sources with userland.
 1.10 11-Dec-2005  christos merge ktrace-lwp.
 1.9 04-Dec-2003  keihan branches: 1.9.16;
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.8 23-Aug-1999  kleink branches: 1.8.36;
Sync with libc: use _ALIGN_TEXT from <machine/asm.h>.
 1.7 22-Feb-1998  mycroft Move random.S from arch/i386/i386.
 1.6 07-Oct-1995  mycroft Update from libc.
 1.5 05-Feb-1995  mycroft Sync with libc.
 1.4 26-Oct-1994  cgd new RCS ID format.
 1.3 15-Feb-1994  mycroft Update from libc.
 1.2 28-Jan-1994  jtc Fix spelling error in Copyright notice
 1.1 04-Dec-1993  cgd branches: 1.1.2;
change to use MACHINE_ARCH and update from libc
 1.1.2.2 04-Dec-1993  cgd change to use MACHINE_ARCH and update from libc
 1.1.2.1 04-Dec-1993  cgd file strcpy.S was added on branch magnum on 1993-12-04 03:07:22 +0000
 1.8.36.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.36.2 18-Sep-2004  skrll Sync with HEAD.
 1.8.36.1 03-Aug-2004  skrll Sync with HEAD
 1.9.16.1 21-Jun-2006  yamt sync with head.
 1.2 01-Mar-1995  mycroft Clean up deleted files.
 1.1 27-Oct-1993  jtc Did a ``make copy-to-libkern'' from libc to copy libc files to libkern.
Checking them in to make people happy.
 1.9 20-Dec-2005  christos Use common sources with userland.
 1.8 11-Dec-2005  christos merge ktrace-lwp.
 1.7 04-Dec-2003  keihan branches: 1.7.16;
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.6 22-Feb-1998  mycroft branches: 1.6.48;
Move random.S from arch/i386/i386.
 1.5 07-Oct-1995  mycroft Update from libc.
 1.4 05-Feb-1995  mycroft Sync with libc.
 1.3 26-Oct-1994  cgd new RCS ID format.
 1.2 28-Jan-1994  jtc Fix spelling error in Copyright notice
 1.1 04-Dec-1993  cgd branches: 1.1.2;
change to use MACHINE_ARCH and update from libc
 1.1.2.2 04-Dec-1993  cgd change to use MACHINE_ARCH and update from libc
 1.1.2.1 04-Dec-1993  cgd file strlen.S was added on branch magnum on 1993-12-04 03:07:40 +0000
 1.6.48.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.48.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.48.1 03-Aug-2004  skrll Sync with HEAD
 1.7.16.1 21-Jun-2006  yamt sync with head.
 1.2 01-Mar-1995  mycroft Clean up deleted files.
 1.1 27-Oct-1993  jtc Did a ``make copy-to-libkern'' from libc to copy libc files to libkern.
Checking them in to make people happy.
 1.6 20-Dec-2005  christos Use common sources with userland.
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 26-Feb-2005  perry branches: 1.4.4;
nuke trailing whitespace
 1.3 04-Dec-2003  keihan branches: 1.3.8; 1.3.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.2 05-Nov-2003  junyoung rindex() shouldn't be used in the kernel. Use strrchr() instead.
 1.1 22-Feb-1998  mycroft branches: 1.1.48;
Add these as well.
 1.1.48.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.48.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.48.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.48.1 03-Aug-2004  skrll Sync with HEAD
 1.3.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.3.8.1 29-Apr-2005  kent sync with -current
 1.4.4.1 21-Jun-2006  yamt sync with head.
 1.5 05-Aug-2016  scole PR port-ia64/51261

Use common/lib/libc/arch/ia64/string functions
 1.4 14-Aug-2009  dsl branches: 1.4.22; 1.4.40; 1.4.44;
Move that majority of the 'SRCS+= foo.c' into the main Makefile.libkern.
Any .S files added by the arch/*/Makefile.inc cause the .c file to
be excluded.
Specific exclusions added using NO_SRCS to match previous files.
At least sparc, sparc64, i386, amd64 and vax GENERIC still build.
(There is a fubar with the naming of the byte-swap files ...)
 1.3 12-Aug-2009  dsl Split the lines that add .c to SRCS from those that add .S
No changes (apart from the order) intended.
 1.2 20-Jul-2009  kiyohara Fix little bit, and add a few files.
current status is to see following thread.
http://mail-index.netbsd.org/port-ia64/2009/06/18/msg000102.html
 1.1 07-Apr-2006  cherry branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10; 1.1.14; 1.1.20; 1.1.74; 1.1.90;
Initial import of arch/ia64 sources.
These sources are ported from FreeBSD/ia64 code.
See individual source files for credits.
In addition, code from NetBSD/alpha NetBSD/sparc64,
NetBSD/i386 and NetBSD/amd64 were used as templates,
along with my own additions.
 1.1.90.1 23-Jul-2009  jym Sync with HEAD.
 1.1.74.1 19-Aug-2009  yamt sync with head.
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 07-Apr-2006  rpaulo file Makefile.inc was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:57:52 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 07-Apr-2006  yamt file Makefile.inc was added on branch yamt-lazymbuf on 2006-06-21 15:10:22 +0000
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 07-Apr-2006  tron file Makefile.inc was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.1.6.2 22-Apr-2006  simonb Sync with head.
 1.1.6.1 07-Apr-2006  simonb file Makefile.inc was added on branch simonb-timecounters on 2006-04-22 11:40:05 +0000
 1.1.4.2 19-Apr-2006  elad sync with head.
 1.1.4.1 07-Apr-2006  elad file Makefile.inc was added on branch elad-kernelauth on 2006-04-19 04:36:01 +0000
 1.1.2.2 11-Apr-2006  yamt sync with head
 1.1.2.1 07-Apr-2006  yamt file Makefile.inc was added on branch yamt-pdpolicy on 2006-04-11 11:55:48 +0000
 1.4.44.1 06-Aug-2016  pgoyette Sync with HEAD
 1.4.40.1 05-Oct-2016  skrll Sync with HEAD
 1.4.22.1 03-Dec-2017  jdolecek update from HEAD
 1.2 07-Apr-2006  cherry branches: 1.2.2; 1.2.4; 1.2.6; 1.2.10; 1.2.14; 1.2.20;
Fixed CVS version headers
 1.1 07-Apr-2006  cherry Initial import of arch/ia64 sources.
These sources are ported from FreeBSD/ia64 code.
See individual source files for credits.
In addition, code from NetBSD/alpha NetBSD/sparc64,
NetBSD/i386 and NetBSD/amd64 were used as templates,
along with my own additions.
 1.2.20.2 09-Sep-2006  rpaulo sync with head
 1.2.20.1 07-Apr-2006  rpaulo file bswap16.S was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:57:52 +0000
 1.2.14.2 21-Jun-2006  yamt sync with head.
 1.2.14.1 07-Apr-2006  yamt file bswap16.S was added on branch yamt-lazymbuf on 2006-06-21 15:10:22 +0000
 1.2.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.10.1 07-Apr-2006  tron file bswap16.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.2.6.2 22-Apr-2006  simonb Sync with head.
 1.2.6.1 07-Apr-2006  simonb file bswap16.S was added on branch simonb-timecounters on 2006-04-22 11:40:05 +0000
 1.2.4.2 19-Apr-2006  elad sync with head.
 1.2.4.1 07-Apr-2006  elad file bswap16.S was added on branch elad-kernelauth on 2006-04-19 04:36:01 +0000
 1.2.2.2 11-Apr-2006  yamt sync with head
 1.2.2.1 07-Apr-2006  yamt file bswap16.S was added on branch yamt-pdpolicy on 2006-04-11 11:55:48 +0000
 1.2 07-Apr-2006  cherry branches: 1.2.2; 1.2.4; 1.2.6; 1.2.10; 1.2.14; 1.2.20;
Fixed CVS version headers
 1.1 07-Apr-2006  cherry Initial import of arch/ia64 sources.
These sources are ported from FreeBSD/ia64 code.
See individual source files for credits.
In addition, code from NetBSD/alpha NetBSD/sparc64,
NetBSD/i386 and NetBSD/amd64 were used as templates,
along with my own additions.
 1.2.20.2 09-Sep-2006  rpaulo sync with head
 1.2.20.1 07-Apr-2006  rpaulo file bswap32.S was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:57:52 +0000
 1.2.14.2 21-Jun-2006  yamt sync with head.
 1.2.14.1 07-Apr-2006  yamt file bswap32.S was added on branch yamt-lazymbuf on 2006-06-21 15:10:22 +0000
 1.2.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.10.1 07-Apr-2006  tron file bswap32.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.2.6.2 22-Apr-2006  simonb Sync with head.
 1.2.6.1 07-Apr-2006  simonb file bswap32.S was added on branch simonb-timecounters on 2006-04-22 11:40:05 +0000
 1.2.4.2 19-Apr-2006  elad sync with head.
 1.2.4.1 07-Apr-2006  elad file bswap32.S was added on branch elad-kernelauth on 2006-04-19 04:36:01 +0000
 1.2.2.2 11-Apr-2006  yamt sync with head
 1.2.2.1 07-Apr-2006  yamt file bswap32.S was added on branch yamt-pdpolicy on 2006-04-11 11:55:48 +0000
 1.1 20-Jul-2009  kiyohara branches: 1.1.2; 1.1.4;
Fix little bit, and add a few files.
current status is to see following thread.
http://mail-index.netbsd.org/port-ia64/2009/06/18/msg000102.html
 1.1.4.2 19-Aug-2009  yamt sync with head.
 1.1.4.1 20-Jul-2009  yamt file bswap64.S was added on branch yamt-nfs-mp on 2009-08-19 18:48:19 +0000
 1.1.2.2 23-Jul-2009  jym Sync with HEAD.
 1.1.2.1 20-Jul-2009  jym file bswap64.S was added on branch jym-xensuspend on 2009-07-23 23:32:45 +0000
 1.2 07-Apr-2006  cherry branches: 1.2.2; 1.2.4; 1.2.6; 1.2.10; 1.2.14; 1.2.20;
Fixed CVS version headers
 1.1 07-Apr-2006  cherry Initial import of arch/ia64 sources.
These sources are ported from FreeBSD/ia64 code.
See individual source files for credits.
In addition, code from NetBSD/alpha NetBSD/sparc64,
NetBSD/i386 and NetBSD/amd64 were used as templates,
along with my own additions.
 1.2.20.2 09-Sep-2006  rpaulo sync with head
 1.2.20.1 07-Apr-2006  rpaulo file byte_swap_2.S was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:57:52 +0000
 1.2.14.2 21-Jun-2006  yamt sync with head.
 1.2.14.1 07-Apr-2006  yamt file byte_swap_2.S was added on branch yamt-lazymbuf on 2006-06-21 15:10:22 +0000
 1.2.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.10.1 07-Apr-2006  tron file byte_swap_2.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.2.6.2 22-Apr-2006  simonb Sync with head.
 1.2.6.1 07-Apr-2006  simonb file byte_swap_2.S was added on branch simonb-timecounters on 2006-04-22 11:40:05 +0000
 1.2.4.2 19-Apr-2006  elad sync with head.
 1.2.4.1 07-Apr-2006  elad file byte_swap_2.S was added on branch elad-kernelauth on 2006-04-19 04:36:01 +0000
 1.2.2.2 11-Apr-2006  yamt sync with head
 1.2.2.1 07-Apr-2006  yamt file byte_swap_2.S was added on branch yamt-pdpolicy on 2006-04-11 11:55:48 +0000
 1.2 07-Apr-2006  cherry branches: 1.2.2; 1.2.4; 1.2.6; 1.2.10; 1.2.14; 1.2.20;
Fixed CVS version headers
 1.1 07-Apr-2006  cherry Initial import of arch/ia64 sources.
These sources are ported from FreeBSD/ia64 code.
See individual source files for credits.
In addition, code from NetBSD/alpha NetBSD/sparc64,
NetBSD/i386 and NetBSD/amd64 were used as templates,
along with my own additions.
 1.2.20.2 09-Sep-2006  rpaulo sync with head
 1.2.20.1 07-Apr-2006  rpaulo file byte_swap_4.S was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:57:52 +0000
 1.2.14.2 21-Jun-2006  yamt sync with head.
 1.2.14.1 07-Apr-2006  yamt file byte_swap_4.S was added on branch yamt-lazymbuf on 2006-06-21 15:10:22 +0000
 1.2.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.10.1 07-Apr-2006  tron file byte_swap_4.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.2.6.2 22-Apr-2006  simonb Sync with head.
 1.2.6.1 07-Apr-2006  simonb file byte_swap_4.S was added on branch simonb-timecounters on 2006-04-22 11:40:05 +0000
 1.2.4.2 19-Apr-2006  elad sync with head.
 1.2.4.1 07-Apr-2006  elad file byte_swap_4.S was added on branch elad-kernelauth on 2006-04-19 04:36:01 +0000
 1.2.2.2 11-Apr-2006  yamt sync with head
 1.2.2.1 07-Apr-2006  yamt file byte_swap_4.S was added on branch yamt-pdpolicy on 2006-04-11 11:55:48 +0000
 1.1 20-Jul-2009  kiyohara branches: 1.1.2; 1.1.4;
Fix little bit, and add a few files.
current status is to see following thread.
http://mail-index.netbsd.org/port-ia64/2009/06/18/msg000102.html
 1.1.4.2 19-Aug-2009  yamt sync with head.
 1.1.4.1 20-Jul-2009  yamt file byte_swap_8.S was added on branch yamt-nfs-mp on 2009-08-19 18:48:19 +0000
 1.1.2.2 23-Jul-2009  jym Sync with HEAD.
 1.1.2.1 20-Jul-2009  jym file byte_swap_8.S was added on branch jym-xensuspend on 2009-07-23 23:32:45 +0000
 1.2 07-Apr-2006  cherry branches: 1.2.2; 1.2.4; 1.2.6; 1.2.10; 1.2.14; 1.2.20;
Fixed CVS version headers
 1.1 07-Apr-2006  cherry Initial import of arch/ia64 sources.
These sources are ported from FreeBSD/ia64 code.
See individual source files for credits.
In addition, code from NetBSD/alpha NetBSD/sparc64,
NetBSD/i386 and NetBSD/amd64 were used as templates,
along with my own additions.
 1.2.20.2 09-Sep-2006  rpaulo sync with head
 1.2.20.1 07-Apr-2006  rpaulo file divdi3.S was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:57:52 +0000
 1.2.14.2 21-Jun-2006  yamt sync with head.
 1.2.14.1 07-Apr-2006  yamt file divdi3.S was added on branch yamt-lazymbuf on 2006-06-21 15:10:22 +0000
 1.2.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.10.1 07-Apr-2006  tron file divdi3.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.2.6.2 22-Apr-2006  simonb Sync with head.
 1.2.6.1 07-Apr-2006  simonb file divdi3.S was added on branch simonb-timecounters on 2006-04-22 11:40:05 +0000
 1.2.4.2 19-Apr-2006  elad sync with head.
 1.2.4.1 07-Apr-2006  elad file divdi3.S was added on branch elad-kernelauth on 2006-04-19 04:36:01 +0000
 1.2.2.2 11-Apr-2006  yamt sync with head
 1.2.2.1 07-Apr-2006  yamt file divdi3.S was added on branch yamt-pdpolicy on 2006-04-11 11:55:48 +0000
 1.2 07-Apr-2006  cherry branches: 1.2.2; 1.2.4; 1.2.6; 1.2.10; 1.2.14; 1.2.20;
Fixed CVS version headers
 1.1 07-Apr-2006  cherry Initial import of arch/ia64 sources.
These sources are ported from FreeBSD/ia64 code.
See individual source files for credits.
In addition, code from NetBSD/alpha NetBSD/sparc64,
NetBSD/i386 and NetBSD/amd64 were used as templates,
along with my own additions.
 1.2.20.2 09-Sep-2006  rpaulo sync with head
 1.2.20.1 07-Apr-2006  rpaulo file divsi3.S was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:57:52 +0000
 1.2.14.2 21-Jun-2006  yamt sync with head.
 1.2.14.1 07-Apr-2006  yamt file divsi3.S was added on branch yamt-lazymbuf on 2006-06-21 15:10:22 +0000
 1.2.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.10.1 07-Apr-2006  tron file divsi3.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.2.6.2 22-Apr-2006  simonb Sync with head.
 1.2.6.1 07-Apr-2006  simonb file divsi3.S was added on branch simonb-timecounters on 2006-04-22 11:40:05 +0000
 1.2.4.2 19-Apr-2006  elad sync with head.
 1.2.4.1 07-Apr-2006  elad file divsi3.S was added on branch elad-kernelauth on 2006-04-19 04:36:01 +0000
 1.2.2.2 11-Apr-2006  yamt sync with head
 1.2.2.1 07-Apr-2006  yamt file divsi3.S was added on branch yamt-pdpolicy on 2006-04-11 11:55:48 +0000
 1.1 07-Apr-2006  cherry branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10; 1.1.14; 1.1.20;
Initial import of arch/ia64 sources.
These sources are ported from FreeBSD/ia64 code.
See individual source files for credits.
In addition, code from NetBSD/alpha NetBSD/sparc64,
NetBSD/i386 and NetBSD/amd64 were used as templates,
along with my own additions.
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 07-Apr-2006  rpaulo file htonl.S was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:57:52 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 07-Apr-2006  yamt file htonl.S was added on branch yamt-lazymbuf on 2006-06-21 15:10:22 +0000
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 07-Apr-2006  tron file htonl.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.1.6.2 22-Apr-2006  simonb Sync with head.
 1.1.6.1 07-Apr-2006  simonb file htonl.S was added on branch simonb-timecounters on 2006-04-22 11:40:05 +0000
 1.1.4.2 19-Apr-2006  elad sync with head.
 1.1.4.1 07-Apr-2006  elad file htonl.S was added on branch elad-kernelauth on 2006-04-19 04:36:01 +0000
 1.1.2.2 11-Apr-2006  yamt sync with head
 1.1.2.1 07-Apr-2006  yamt file htonl.S was added on branch yamt-pdpolicy on 2006-04-11 11:55:48 +0000
 1.2 05-Aug-2016  scole PR port-ia64/51261

Use common/lib/libc/arch/ia64/string functions
 1.1 07-Apr-2006  cherry branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10; 1.1.14; 1.1.20; 1.1.120; 1.1.140; 1.1.144;
Initial import of arch/ia64 sources.
These sources are ported from FreeBSD/ia64 code.
See individual source files for credits.
In addition, code from NetBSD/alpha NetBSD/sparc64,
NetBSD/i386 and NetBSD/amd64 were used as templates,
along with my own additions.
 1.1.144.1 06-Aug-2016  pgoyette Sync with HEAD
 1.1.140.1 05-Oct-2016  skrll Sync with HEAD
 1.1.120.1 03-Dec-2017  jdolecek update from HEAD
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 07-Apr-2006  rpaulo file memcpy.S was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:57:52 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 07-Apr-2006  yamt file memcpy.S was added on branch yamt-lazymbuf on 2006-06-21 15:10:22 +0000
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 07-Apr-2006  tron file memcpy.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.1.6.2 22-Apr-2006  simonb Sync with head.
 1.1.6.1 07-Apr-2006  simonb file memcpy.S was added on branch simonb-timecounters on 2006-04-22 11:40:05 +0000
 1.1.4.2 19-Apr-2006  elad sync with head.
 1.1.4.1 07-Apr-2006  elad file memcpy.S was added on branch elad-kernelauth on 2006-04-19 04:36:01 +0000
 1.1.2.2 11-Apr-2006  yamt sync with head
 1.1.2.1 07-Apr-2006  yamt file memcpy.S was added on branch yamt-pdpolicy on 2006-04-11 11:55:48 +0000
 1.2 07-Apr-2006  cherry branches: 1.2.2; 1.2.4; 1.2.6; 1.2.10; 1.2.14; 1.2.20;
Fixed CVS version headers
 1.1 07-Apr-2006  cherry Initial import of arch/ia64 sources.
These sources are ported from FreeBSD/ia64 code.
See individual source files for credits.
In addition, code from NetBSD/alpha NetBSD/sparc64,
NetBSD/i386 and NetBSD/amd64 were used as templates,
along with my own additions.
 1.2.20.2 09-Sep-2006  rpaulo sync with head
 1.2.20.1 07-Apr-2006  rpaulo file moddi3.S was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:57:52 +0000
 1.2.14.2 21-Jun-2006  yamt sync with head.
 1.2.14.1 07-Apr-2006  yamt file moddi3.S was added on branch yamt-lazymbuf on 2006-06-21 15:10:22 +0000
 1.2.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.10.1 07-Apr-2006  tron file moddi3.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.2.6.2 22-Apr-2006  simonb Sync with head.
 1.2.6.1 07-Apr-2006  simonb file moddi3.S was added on branch simonb-timecounters on 2006-04-22 11:40:05 +0000
 1.2.4.2 19-Apr-2006  elad sync with head.
 1.2.4.1 07-Apr-2006  elad file moddi3.S was added on branch elad-kernelauth on 2006-04-19 04:36:01 +0000
 1.2.2.2 11-Apr-2006  yamt sync with head
 1.2.2.1 07-Apr-2006  yamt file moddi3.S was added on branch yamt-pdpolicy on 2006-04-11 11:55:48 +0000
 1.2 07-Apr-2006  cherry branches: 1.2.2; 1.2.4; 1.2.6; 1.2.10; 1.2.14; 1.2.20;
Fixed CVS version headers
 1.1 07-Apr-2006  cherry Initial import of arch/ia64 sources.
These sources are ported from FreeBSD/ia64 code.
See individual source files for credits.
In addition, code from NetBSD/alpha NetBSD/sparc64,
NetBSD/i386 and NetBSD/amd64 were used as templates,
along with my own additions.
 1.2.20.2 09-Sep-2006  rpaulo sync with head
 1.2.20.1 07-Apr-2006  rpaulo file modsi3.S was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:57:52 +0000
 1.2.14.2 21-Jun-2006  yamt sync with head.
 1.2.14.1 07-Apr-2006  yamt file modsi3.S was added on branch yamt-lazymbuf on 2006-06-21 15:10:22 +0000
 1.2.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.10.1 07-Apr-2006  tron file modsi3.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.2.6.2 22-Apr-2006  simonb Sync with head.
 1.2.6.1 07-Apr-2006  simonb file modsi3.S was added on branch simonb-timecounters on 2006-04-22 11:40:05 +0000
 1.2.4.2 19-Apr-2006  elad sync with head.
 1.2.4.1 07-Apr-2006  elad file modsi3.S was added on branch elad-kernelauth on 2006-04-19 04:36:01 +0000
 1.2.2.2 11-Apr-2006  yamt sync with head
 1.2.2.1 07-Apr-2006  yamt file modsi3.S was added on branch yamt-pdpolicy on 2006-04-11 11:55:48 +0000
 1.1 07-Apr-2006  cherry branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10; 1.1.14; 1.1.20;
Initial import of arch/ia64 sources.
These sources are ported from FreeBSD/ia64 code.
See individual source files for credits.
In addition, code from NetBSD/alpha NetBSD/sparc64,
NetBSD/i386 and NetBSD/amd64 were used as templates,
along with my own additions.
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 07-Apr-2006  rpaulo file ntohl.S was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:57:52 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 07-Apr-2006  yamt file ntohl.S was added on branch yamt-lazymbuf on 2006-06-21 15:10:22 +0000
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 07-Apr-2006  tron file ntohl.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.1.6.2 22-Apr-2006  simonb Sync with head.
 1.1.6.1 07-Apr-2006  simonb file ntohl.S was added on branch simonb-timecounters on 2006-04-22 11:40:05 +0000
 1.1.4.2 19-Apr-2006  elad sync with head.
 1.1.4.1 07-Apr-2006  elad file ntohl.S was added on branch elad-kernelauth on 2006-04-19 04:36:01 +0000
 1.1.2.2 11-Apr-2006  yamt sync with head
 1.1.2.1 07-Apr-2006  yamt file ntohl.S was added on branch yamt-pdpolicy on 2006-04-11 11:55:48 +0000
 1.2 07-Apr-2006  cherry branches: 1.2.2; 1.2.4; 1.2.6; 1.2.10; 1.2.14; 1.2.20;
Fixed CVS version headers
 1.1 07-Apr-2006  cherry Initial import of arch/ia64 sources.
These sources are ported from FreeBSD/ia64 code.
See individual source files for credits.
In addition, code from NetBSD/alpha NetBSD/sparc64,
NetBSD/i386 and NetBSD/amd64 were used as templates,
along with my own additions.
 1.2.20.2 09-Sep-2006  rpaulo sync with head
 1.2.20.1 07-Apr-2006  rpaulo file udivdi3.S was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:57:52 +0000
 1.2.14.2 21-Jun-2006  yamt sync with head.
 1.2.14.1 07-Apr-2006  yamt file udivdi3.S was added on branch yamt-lazymbuf on 2006-06-21 15:10:22 +0000
 1.2.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.10.1 07-Apr-2006  tron file udivdi3.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.2.6.2 22-Apr-2006  simonb Sync with head.
 1.2.6.1 07-Apr-2006  simonb file udivdi3.S was added on branch simonb-timecounters on 2006-04-22 11:40:05 +0000
 1.2.4.2 19-Apr-2006  elad sync with head.
 1.2.4.1 07-Apr-2006  elad file udivdi3.S was added on branch elad-kernelauth on 2006-04-19 04:36:01 +0000
 1.2.2.2 11-Apr-2006  yamt sync with head
 1.2.2.1 07-Apr-2006  yamt file udivdi3.S was added on branch yamt-pdpolicy on 2006-04-11 11:55:48 +0000
 1.2 07-Apr-2006  cherry branches: 1.2.2; 1.2.4; 1.2.6; 1.2.10; 1.2.14; 1.2.20;
Fixed CVS version headers
 1.1 07-Apr-2006  cherry Initial import of arch/ia64 sources.
These sources are ported from FreeBSD/ia64 code.
See individual source files for credits.
In addition, code from NetBSD/alpha NetBSD/sparc64,
NetBSD/i386 and NetBSD/amd64 were used as templates,
along with my own additions.
 1.2.20.2 09-Sep-2006  rpaulo sync with head
 1.2.20.1 07-Apr-2006  rpaulo file udivsi3.S was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:57:52 +0000
 1.2.14.2 21-Jun-2006  yamt sync with head.
 1.2.14.1 07-Apr-2006  yamt file udivsi3.S was added on branch yamt-lazymbuf on 2006-06-21 15:10:22 +0000
 1.2.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.10.1 07-Apr-2006  tron file udivsi3.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.2.6.2 22-Apr-2006  simonb Sync with head.
 1.2.6.1 07-Apr-2006  simonb file udivsi3.S was added on branch simonb-timecounters on 2006-04-22 11:40:05 +0000
 1.2.4.2 19-Apr-2006  elad sync with head.
 1.2.4.1 07-Apr-2006  elad file udivsi3.S was added on branch elad-kernelauth on 2006-04-19 04:36:01 +0000
 1.2.2.2 11-Apr-2006  yamt sync with head
 1.2.2.1 07-Apr-2006  yamt file udivsi3.S was added on branch yamt-pdpolicy on 2006-04-11 11:55:48 +0000
 1.2 07-Apr-2006  cherry branches: 1.2.2; 1.2.4; 1.2.6; 1.2.10; 1.2.14; 1.2.20;
Fixed CVS version headers
 1.1 07-Apr-2006  cherry Initial import of arch/ia64 sources.
These sources are ported from FreeBSD/ia64 code.
See individual source files for credits.
In addition, code from NetBSD/alpha NetBSD/sparc64,
NetBSD/i386 and NetBSD/amd64 were used as templates,
along with my own additions.
 1.2.20.2 09-Sep-2006  rpaulo sync with head
 1.2.20.1 07-Apr-2006  rpaulo file umoddi3.S was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:57:52 +0000
 1.2.14.2 21-Jun-2006  yamt sync with head.
 1.2.14.1 07-Apr-2006  yamt file umoddi3.S was added on branch yamt-lazymbuf on 2006-06-21 15:10:22 +0000
 1.2.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.10.1 07-Apr-2006  tron file umoddi3.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.2.6.2 22-Apr-2006  simonb Sync with head.
 1.2.6.1 07-Apr-2006  simonb file umoddi3.S was added on branch simonb-timecounters on 2006-04-22 11:40:05 +0000
 1.2.4.2 19-Apr-2006  elad sync with head.
 1.2.4.1 07-Apr-2006  elad file umoddi3.S was added on branch elad-kernelauth on 2006-04-19 04:36:01 +0000
 1.2.2.2 11-Apr-2006  yamt sync with head
 1.2.2.1 07-Apr-2006  yamt file umoddi3.S was added on branch yamt-pdpolicy on 2006-04-11 11:55:48 +0000
 1.2 07-Apr-2006  cherry branches: 1.2.2; 1.2.4; 1.2.6; 1.2.10; 1.2.14; 1.2.20;
Fixed CVS version headers
 1.1 07-Apr-2006  cherry Initial import of arch/ia64 sources.
These sources are ported from FreeBSD/ia64 code.
See individual source files for credits.
In addition, code from NetBSD/alpha NetBSD/sparc64,
NetBSD/i386 and NetBSD/amd64 were used as templates,
along with my own additions.
 1.2.20.2 09-Sep-2006  rpaulo sync with head
 1.2.20.1 07-Apr-2006  rpaulo file umodsi3.S was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:57:52 +0000
 1.2.14.2 21-Jun-2006  yamt sync with head.
 1.2.14.1 07-Apr-2006  yamt file umodsi3.S was added on branch yamt-lazymbuf on 2006-06-21 15:10:22 +0000
 1.2.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.10.1 07-Apr-2006  tron file umodsi3.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.2.6.2 22-Apr-2006  simonb Sync with head.
 1.2.6.1 07-Apr-2006  simonb file umodsi3.S was added on branch simonb-timecounters on 2006-04-22 11:40:05 +0000
 1.2.4.2 19-Apr-2006  elad sync with head.
 1.2.4.1 07-Apr-2006  elad file umodsi3.S was added on branch elad-kernelauth on 2006-04-19 04:36:01 +0000
 1.2.2.2 11-Apr-2006  yamt sync with head
 1.2.2.1 07-Apr-2006  yamt file umodsi3.S was added on branch yamt-pdpolicy on 2006-04-11 11:55:48 +0000
 1.4 11-Nov-1999  thorpej Sync w/ libc.
 1.3 22-Feb-1998  mycroft branches: 1.3.14; 1.3.16; 1.3.20;
Sync with libc, and add random.S.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 29-Mar-1994  chopps copied over so lib/libc/arch not needed to build kernel.
 1.3.20.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.16.1 15-Nov-1999  fvdl Sync with -current
 1.3.14.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.38 31-May-2020  rin Add m68k assembler version of __muldi3().

This is intended for 68060:
- GCC does not emit __muldi3() for 68020-40, that have 32 * 32 --> 64 mulul
- mulsl (and moveml), used in this code, are not implemented for 68010

In comparison with that from compiler_rt, this version saves:
- 12% of processing time
- 12 bytes of stack
- 50 bytes of code size
Also, slightly faster, memory saving, and smaller than libgcc version.

By examining with evcnt(9), __muldi3() is invoked more than 1000 times per
sec by kernel, which should justify to introduce assembler version of this
function.
 1.37 30-Jul-2015  tsutsui Revert untested and unnecessary change in previous rev 1.36.

Our autobuild doesn't always reflect the latest fixes.
 1.36 30-Jul-2015  christos add mulsi3, needed by inet_addr.o
 1.35 08-Sep-2014  joerg branches: 1.35.2;
Revert 1.33 and 1.34 for now, until either .INVISIBLE is reinstanciated
or random.S dropped.
 1.34 01-Sep-2014  matt Make random.S invisible for coldfire too (e.g. anything not "m68k")
 1.33 27-Aug-2014  christos use .INVISIBLE to hide random.S, instead of extra rules.
 1.32 18-Mar-2014  riastradh Merge riastradh-drm2 to HEAD.
 1.31 18-Jul-2013  matt Reorder a little to make clearer.
 1.30 14-Aug-2009  dsl branches: 1.30.12; 1.30.22; 1.30.26; 1.30.34;
Move that majority of the 'SRCS+= foo.c' into the main Makefile.libkern.
Any .S files added by the arch/*/Makefile.inc cause the .c file to
be excluded.
Specific exclusions added using NO_SRCS to match previous files.
At least sparc, sparc64, i386, amd64 and vax GENERIC still build.
(There is a fubar with the naming of the byte-swap files ...)
 1.29 12-Aug-2009  dsl Remove some .c files accidentally left on the .S lines
 1.28 12-Aug-2009  dsl Split the lines that add .c to SRCS from those that add .S
No changes (apart from the order) intended.
 1.27 18-Mar-2009  tsutsui - remove bcmp(9), bcopy(9), and bzero(9) from libkern since <sys/systm.h> has
macro which replace them with mem*() functions in #ifdef _KERNEL as noted
in man pages
- move declarations of bcopy(3) and bzero(3) into <lib/libsa/stand.h>
since they are still in libsa for some MD standalone sources
(I guess all bcmp(3) in standalone sources have been replaced with memcmp(3)
but they should be replaced with memcmp() anyway)
 1.26 11-Dec-2005  christos branches: 1.26.74; 1.26.84; 1.26.90;
merge ktrace-lwp.
 1.25 29-Oct-2003  mycroft Don't try to build random.S on 68010.
 1.24 21-Sep-2002  chs branches: 1.24.6;
add strtoul.c, it's now used in MI code.
 1.23 26-Mar-2002  fredette Added brand-new integer multiply and divide support, used only
on the m68000.
 1.22 22-Mar-2002  fredette On the m68000, if and only if gcc doesn't seem to know
where libgcc.a is, fall back to one under DESTDIR.
 1.21 16-May-2001  fredette branches: 1.21.2;
When MACHINE_ARCH is m68000, compile ffs.c and random.c
instead of ffs.s and random.s, and sneak the libgcc
integer support routines into the list of library objects.
 1.20 01-Nov-2000  thorpej branches: 1.20.2;
Add a strcasecmp(), modified from chopps's strncasecmp().
 1.19 04-Aug-1998  perry branches: 1.19.12;
add memcmp.S memmove.S
 1.18 22-Feb-1998  mycroft Use the new .S files.
 1.17 22-Feb-1998  mycroft Sync with libc, and add random.S.
 1.16 21-Jan-1998  cgd add rules like those in libc to build strchr() and strrchr() (the latter
is being added to libkern by this commit). remove strchr.c from
archs' Makefile.inc files to go along with this. (If an arch has
a .S version, it should be copied down and added to the apropriate
Makefile.inc.)
 1.15 24-Oct-1997  chuck add memchr() to libkern
 1.14 11-Oct-1997  scottr Implement assembly byte-swap functions.
 1.13 09-Oct-1997  bouyer Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
 1.12 18-Jan-1997  cgd branches: 1.12.8;
add strchr() to libkern. strchr.c copied from libc's "index.c", but with
appropriate definitions so that it'll build strchr(), and so that it builds
correctly in libkern (needed to #define NULL).
 1.11 03-Dec-1996  thorpej We use C flavors of the quad support functions in libkern.
 1.10 30-Nov-1996  jtc Sync with libc
 1.9 27-Aug-1996  cgd Add machine-independent assertion-checking support. macros are:

assert() which always does assertion checking
unless "NDEBUG" is defined.

KASSERT() which does assertion checking if DIAGNOSTIC
is defined.

KDASSERT() which does assertion checking if DEBUG is
define. This macro exists for compatibility
with existing ports' assertion checking macros.
(Assertion checking is not typically an
"expensive" operation, and DIAGNOSTIC should be
used for inexpensive consistency checks.)
 1.8 10-Jun-1996  cgd locc() is unused. Remove it from the machine-independent kernel interface.
 1.7 18-Apr-1996  cgd use assembly version of strcat (copied down from libc)
 1.6 06-Feb-1996  christos Add strncasecmp.c; extracted from ADOSFS adlookup.c.
 1.5 26-Oct-1994  cgd new RCS ID format.
 1.4 05-Dec-1993  cgd use .S
 1.3 04-Dec-1993  cgd branches: 1.3.2;
change to use MACHINE_ARCH and update from libc
 1.2 29-Nov-1993  briggs Move the SRCS from hp300 over to here, changing ffs.c to ffs.s.
Am I missing something obvious in doing this? This makes the
${ARCH}/Makefile.inc for 68k able to just set ARCH=m68k.
 1.1 13-Oct-1993  cgd move 'boot' and 'libkern' into 'lib'. generally clean up 'kernel library'
building and dependencies.
 1.3.2.2 05-Dec-1993  cgd use .S
 1.3.2.1 04-Dec-1993  cgd file Makefile.inc was added on branch magnum on 1993-12-05 01:52:18 +0000
 1.12.8.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.19.12.1 22-Nov-2000  bouyer Sync with HEAD.
 1.20.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.20.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.20.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.21.2.2 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.21.2.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.24.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.24.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.24.6.1 03-Aug-2004  skrll Sync with HEAD
 1.26.90.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.26.84.1 28-Apr-2009  skrll Sync with HEAD.
 1.26.74.2 19-Aug-2009  yamt sync with head.
 1.26.74.1 04-May-2009  yamt sync with head.
 1.30.34.1 23-Jul-2013  riastradh sync with HEAD
 1.30.26.1 28-Aug-2013  rmind sync with head
 1.30.22.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.30.12.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.35.2.1 22-Sep-2015  skrll Sync with HEAD
 1.8 30-Mar-2006  tsutsui Remove unused file. Pointed out by uwe.
 1.7 11-Dec-2005  christos branches: 1.7.4; 1.7.6; 1.7.8; 1.7.10; 1.7.12;
merge ktrace-lwp.
 1.6 26-Feb-2005  perry branches: 1.6.4;
nuke trailing whitespace
 1.5 07-Aug-2003  agc branches: 1.5.8; 1.5.10;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.4 11-Nov-1999  thorpej branches: 1.4.28;
Sync w/ libc.
 1.3 22-Feb-1998  mycroft branches: 1.3.14; 1.3.16; 1.3.20;
Sync with libc, and add random.S.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 29-Mar-1994  chopps copied over so lib/libc/arch not needed to build kernel.
 1.3.20.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.16.1 15-Nov-1999  fvdl Sync with -current
 1.3.14.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.4.28.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.4.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.28.1 03-Aug-2004  skrll Sync with HEAD
 1.5.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.5.8.1 29-Apr-2005  kent sync with -current
 1.6.4.1 21-Jun-2006  yamt sync with head.
 1.7.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.7.10.1 19-Apr-2006  elad sync with head.
 1.7.8.1 01-Apr-2006  yamt sync with head.
 1.7.6.1 22-Apr-2006  simonb Sync with head.
 1.7.4.1 09-Sep-2006  rpaulo sync with head
 1.12 20-Dec-2005  christos Use common sources with userland.
 1.11 11-Dec-2005  christos merge ktrace-lwp.
 1.10 26-Feb-2005  perry branches: 1.10.4;
nuke trailing whitespace
 1.9 07-Aug-2003  agc branches: 1.9.8; 1.9.10;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.8 16-May-2001  fredette branches: 1.8.22;
On the 68010, we are forced to do bytewise compares
and copies if the two addresses aren't of the same
evenness.
 1.7 11-Nov-1999  thorpej branches: 1.7.6;
Sync w/ libc.
 1.6 15-May-1997  jtc branches: 1.6.22; 1.6.24; 1.6.28;
Sync with libc
 1.5 13-May-1997  jtc Sync with libc.
 1.4 30-Nov-1996  jtc Sync with libc
 1.3 08-Feb-1995  mycroft Sync with libc.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 29-Mar-1994  chopps copied over so lib/libc/arch not needed to build kernel.
 1.6.28.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.6.24.1 15-Nov-1999  fvdl Sync with -current
 1.6.22.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.7.6.1 21-Jun-2001  nathanw Catch up to -current.
 1.8.22.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.8.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.8.22.1 03-Aug-2004  skrll Sync with HEAD
 1.9.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.9.8.1 29-Apr-2005  kent sync with -current
 1.10.4.1 21-Jun-2006  yamt sync with head.
 1.7 20-Dec-2005  christos Use common sources with userland.
 1.6 11-Dec-2005  christos merge ktrace-lwp.
 1.5 26-Feb-2005  perry branches: 1.5.4;
nuke trailing whitespace
 1.4 07-Aug-2003  agc branches: 1.4.8; 1.4.10;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.3 16-May-2001  fredette branches: 1.3.22;
On the 68010, we are forced to do bytewise compares
and copies if the two addresses aren't of the same
evenness.
 1.2 11-Nov-1999  thorpej branches: 1.2.6;
Sync w/ libc.
 1.1 22-Feb-1998  mycroft branches: 1.1.14; 1.1.16; 1.1.20;
Sync with libc, and add random.S.
 1.1.20.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.16.1 15-Nov-1999  fvdl Sync with -current
 1.1.14.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.2.6.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.22.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.3.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.22.1 03-Aug-2004  skrll Sync with HEAD
 1.4.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.4.8.1 29-Apr-2005  kent sync with -current
 1.5.4.1 21-Jun-2006  yamt sync with head.
 1.3 20-Dec-2005  christos Use common sources with userland.
 1.2 11-Nov-1999  thorpej branches: 1.2.44;
Sync w/ libc.
 1.1 11-Oct-1997  scottr branches: 1.1.2; 1.1.18; 1.1.20; 1.1.24;
Implement assembly byte-swap functions.
 1.1.24.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.20.1 15-Nov-1999  fvdl Sync with -current
 1.1.18.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.1.2.2 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.1.2.1 11-Oct-1997  thorpej file bswap16.S was added on branch marc-pcmcia on 1997-10-14 10:27:38 +0000
 1.2.44.1 21-Jun-2006  yamt sync with head.
 1.3 20-Dec-2005  christos Use common sources with userland.
 1.2 11-Nov-1999  thorpej branches: 1.2.44;
Sync w/ libc.
 1.1 11-Oct-1997  scottr branches: 1.1.2; 1.1.18; 1.1.20; 1.1.24;
Implement assembly byte-swap functions.
 1.1.24.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.20.1 15-Nov-1999  fvdl Sync with -current
 1.1.18.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.1.2.2 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.1.2.1 11-Oct-1997  thorpej file bswap32.S was added on branch marc-pcmcia on 1997-10-14 10:27:39 +0000
 1.2.44.1 21-Jun-2006  yamt sync with head.
 1.3 20-Dec-2005  christos Use common sources with userland.
 1.2 11-Nov-1999  thorpej branches: 1.2.44;
Sync w/ libc.
 1.1 11-Oct-1997  scottr branches: 1.1.2; 1.1.18; 1.1.20; 1.1.24;
Implement assembly byte-swap functions.
 1.1.24.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.20.1 15-Nov-1999  fvdl Sync with -current
 1.1.18.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.1.2.2 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.1.2.1 11-Oct-1997  thorpej file bswap64.S was added on branch marc-pcmcia on 1997-10-14 10:27:41 +0000
 1.2.44.1 21-Jun-2006  yamt sync with head.
 1.10 20-Dec-2005  christos Use common sources with userland.
 1.9 11-Dec-2005  christos merge ktrace-lwp.
 1.8 26-Feb-2005  perry branches: 1.8.4;
nuke trailing whitespace
 1.7 07-Aug-2003  agc branches: 1.7.8; 1.7.10;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.6 11-Nov-1999  thorpej branches: 1.6.28;
Sync w/ libc.
 1.5 13-May-1997  jtc branches: 1.5.22; 1.5.24; 1.5.28;
Sync with libc.
 1.4 30-Nov-1996  jtc Sync with libc
 1.3 08-Feb-1995  mycroft Sync with libc.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 29-Mar-1994  chopps copied over so lib/libc/arch not needed to build kernel.
 1.5.28.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.5.24.1 15-Nov-1999  fvdl Sync with -current
 1.5.22.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.6.28.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.6.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.28.1 03-Aug-2004  skrll Sync with HEAD
 1.7.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.7.8.1 29-Apr-2005  kent sync with -current
 1.8.4.1 21-Jun-2006  yamt sync with head.
 1.4 23-Apr-2020  rin Remove "#ifndef __mc68010__ #error" I added when these {,u}divsi3.S and
{,u}modsi3.S were moved here (It was better to split the commit, sorry);
bootloader for sun3 still depends on them.
 1.3 22-Apr-2020  rin Restrict usage of m68k assembler versions of {,u}divsi3 and {,u}divsi3 to
kernel and bootloader for 68010.

They requires a special calling convention to udivsi3, and cannot to be
mixed up in normal routines provided by libgcc or compiler_rt. Although,
there's no problem for using in a controlled situation, i.e., kernel and
standalone programs.

Note that this does not affect m68k ports other than sun2, since codes
generated by gcc do not call these routines.

Assembler files are moved from common/lib/libc/arch/m68k/gen to
sys/lib/libkern/arch/m68k in order not to be compiled in libc.

Revert hack introduced to lib/libc/compiler_rt/Makefile.inc rev 1.37:
http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/compiler_rt/Makefile.inc#rev1.37

Proposed on port-sun2@ with no response...
(Again, this does not affect m68k ports other than sun2.)
http://mail-index.netbsd.org/port-sun2/2020/03/10/msg000102.html
 1.2 20-Dec-2005  christos branches: 1.2.100;
Use common sources with userland.
 1.1 26-Mar-2002  fredette branches: 1.1.2; 1.1.8; 1.1.30;
Added brand-new integer multiply and divide support, used only
on the m68000.
 1.1.30.1 21-Jun-2006  yamt sync with head.
 1.1.8.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.8.1 26-Mar-2002  jdolecek file divsi3.S was added on branch kqueue on 2002-06-23 17:49:48 +0000
 1.1.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.1 26-Mar-2002  nathanw file divsi3.S was added on branch nathanw_sa on 2002-04-01 07:48:05 +0000
 1.2.100.1 25-Apr-2020  bouyer Sync with bouyer-xenpvh-base2 (HEAD)
 1.11 20-Dec-2005  christos Use common sources with userland.
 1.10 11-Dec-2005  christos merge ktrace-lwp.
 1.9 26-Feb-2005  perry branches: 1.9.4;
nuke trailing whitespace
 1.8 29-Oct-2003  mycroft branches: 1.8.8; 1.8.10;
Refresh from libc to get 68010 version.
 1.7 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.6 11-Nov-1999  thorpej branches: 1.6.28;
Sync w/ libc.
 1.5 13-May-1997  jtc branches: 1.5.22; 1.5.24; 1.5.28;
Sync with libc.
 1.4 08-Feb-1995  mycroft Sync with libc.
 1.3 26-Oct-1994  cgd new RCS ID format.
 1.2 09-Sep-1994  mycroft Use bfffo rather than a slow loop.
 1.1 29-Mar-1994  chopps copied over so lib/libc/arch not needed to build kernel.
 1.5.28.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.5.24.1 15-Nov-1999  fvdl Sync with -current
 1.5.22.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.6.28.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.6.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.28.1 03-Aug-2004  skrll Sync with HEAD
 1.8.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.8.8.1 29-Apr-2005  kent sync with -current
 1.9.4.1 21-Jun-2006  yamt sync with head.
 1.7 20-Dec-2005  christos Use common sources with userland.
 1.6 11-Dec-2005  christos merge ktrace-lwp.
 1.5 07-Aug-2003  agc branches: 1.5.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.4 11-Nov-1999  thorpej branches: 1.4.28;
Sync w/ libc.
 1.3 22-Feb-1998  mycroft branches: 1.3.14; 1.3.16; 1.3.20;
Sync with libc, and add random.S.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 29-Mar-1994  chopps copied over so lib/libc/arch not needed to build kernel.
 1.3.20.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.16.1 15-Nov-1999  fvdl Sync with -current
 1.3.14.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.4.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.28.1 03-Aug-2004  skrll Sync with HEAD
 1.5.16.1 21-Jun-2006  yamt sync with head.
 1.7 20-Dec-2005  christos Use common sources with userland.
 1.6 11-Dec-2005  christos merge ktrace-lwp.
 1.5 07-Aug-2003  agc branches: 1.5.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.4 11-Nov-1999  thorpej branches: 1.4.28;
Sync w/ libc.
 1.3 22-Feb-1998  mycroft branches: 1.3.14; 1.3.16; 1.3.20;
Sync with libc, and add random.S.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 29-Mar-1994  chopps copied over so lib/libc/arch not needed to build kernel.
 1.3.20.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.16.1 15-Nov-1999  fvdl Sync with -current
 1.3.14.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.4.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.28.1 03-Aug-2004  skrll Sync with HEAD
 1.5.16.1 21-Jun-2006  yamt sync with head.
 1.5 20-Dec-2005  christos Use common sources with userland.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 07-Aug-2003  agc branches: 1.3.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.2 11-Nov-1999  thorpej branches: 1.2.28;
Sync w/ libc.
 1.1 22-Feb-1998  mycroft branches: 1.1.14; 1.1.16; 1.1.20;
Sync with libc, and add random.S.
 1.1.20.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.16.1 15-Nov-1999  fvdl Sync with -current
 1.1.14.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.2.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.28.1 03-Aug-2004  skrll Sync with HEAD
 1.3.16.1 21-Jun-2006  yamt sync with head.
 1.3 10-Jun-1996  cgd locc() is unused. Remove it from the machine-independent kernel interface.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 13-Oct-1993  cgd branches: 1.1.2;
move 'boot' and 'libkern' into 'lib'. generally clean up 'kernel library'
building and dependencies.
 1.1.2.2 13-Oct-1993  cgd move 'boot' and 'libkern' into 'lib'. generally clean up 'kernel library'
building and dependencies.
 1.1.2.1 13-Oct-1993  cgd file locc.S was added on branch magnum on 1993-10-13 05:41:03 +0000
 1.2 01-Mar-1995  mycroft Clean up deleted files.
 1.1 13-Oct-1993  cgd move 'boot' and 'libkern' into 'lib'. generally clean up 'kernel library'
building and dependencies.
 1.5 20-Dec-2005  christos Use common sources with userland.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 07-Aug-2003  agc branches: 1.3.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.2 11-Nov-1999  thorpej branches: 1.2.28;
Add register prefixes.
 1.1 04-Aug-1998  perry branches: 1.1.12; 1.1.14; 1.1.18;
add memcmp.S memmove.S
 1.1.18.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.14.1 15-Nov-1999  fvdl Sync with -current
 1.1.12.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.2.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.28.1 03-Aug-2004  skrll Sync with HEAD
 1.3.16.1 21-Jun-2006  yamt sync with head.
 1.3 20-Dec-2005  christos Use common sources with userland.
 1.2 11-Nov-1999  thorpej branches: 1.2.44;
Sync w/ libc.
 1.1 22-Feb-1998  mycroft branches: 1.1.14; 1.1.16; 1.1.20;
Sync with libc, and add random.S.
 1.1.20.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.16.1 15-Nov-1999  fvdl Sync with -current
 1.1.14.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.2.44.1 21-Jun-2006  yamt sync with head.
 1.3 20-Dec-2005  christos Use common sources with userland.
 1.2 11-Nov-1999  thorpej branches: 1.2.44;
Sync w/ libc.
 1.1 04-Aug-1998  perry branches: 1.1.12; 1.1.14; 1.1.18;
add memcmp.S memmove.S
 1.1.18.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.14.1 15-Nov-1999  fvdl Sync with -current
 1.1.12.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.2.44.1 21-Jun-2006  yamt sync with head.
 1.7 20-Dec-2005  christos Use common sources with userland.
 1.6 11-Dec-2005  christos merge ktrace-lwp.
 1.5 26-Feb-2005  perry branches: 1.5.4;
nuke trailing whitespace
 1.4 07-Aug-2003  agc branches: 1.4.8; 1.4.10;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.3 06-Sep-2001  fredette branches: 1.3.20;
On the 68010, don't bother with the by-8-longwords loop, instead
only 16-bit align the region and use loop mode with longwords
to do the bulk of the work.

On the 68020+, fixed an optimization bug where all regions that start
on odd addresses would not be properly longword aligned.
 1.2 11-Nov-1999  thorpej branches: 1.2.6; 1.2.8;
Sync w/ libc.
 1.1 22-Feb-1998  mycroft branches: 1.1.14; 1.1.16; 1.1.20;
Sync with libc, and add random.S.
 1.1.20.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.16.1 15-Nov-1999  fvdl Sync with -current
 1.1.14.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.2.8.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.2.6.1 21-Sep-2001  nathanw Catch up to -current.
 1.3.20.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.3.20.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.20.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.20.1 03-Aug-2004  skrll Sync with HEAD
 1.4.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.4.8.1 29-Apr-2005  kent sync with -current
 1.5.4.1 21-Jun-2006  yamt sync with head.
 1.4 23-Apr-2020  rin Remove "#ifndef __mc68010__ #error" I added when these {,u}divsi3.S and
{,u}modsi3.S were moved here (It was better to split the commit, sorry);
bootloader for sun3 still depends on them.
 1.3 22-Apr-2020  rin Restrict usage of m68k assembler versions of {,u}divsi3 and {,u}divsi3 to
kernel and bootloader for 68010.

They requires a special calling convention to udivsi3, and cannot to be
mixed up in normal routines provided by libgcc or compiler_rt. Although,
there's no problem for using in a controlled situation, i.e., kernel and
standalone programs.

Note that this does not affect m68k ports other than sun2, since codes
generated by gcc do not call these routines.

Assembler files are moved from common/lib/libc/arch/m68k/gen to
sys/lib/libkern/arch/m68k in order not to be compiled in libc.

Revert hack introduced to lib/libc/compiler_rt/Makefile.inc rev 1.37:
http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/compiler_rt/Makefile.inc#rev1.37

Proposed on port-sun2@ with no response...
(Again, this does not affect m68k ports other than sun2.)
http://mail-index.netbsd.org/port-sun2/2020/03/10/msg000102.html
 1.2 20-Dec-2005  christos branches: 1.2.100;
Use common sources with userland.
 1.1 26-Mar-2002  fredette branches: 1.1.2; 1.1.8; 1.1.30;
Added brand-new integer multiply and divide support, used only
on the m68000.
 1.1.30.1 21-Jun-2006  yamt sync with head.
 1.1.8.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.8.1 26-Mar-2002  jdolecek file modsi3.S was added on branch kqueue on 2002-06-23 17:49:49 +0000
 1.1.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.1 26-Mar-2002  nathanw file modsi3.S was added on branch nathanw_sa on 2002-04-01 07:48:05 +0000
 1.2.100.1 25-Apr-2020  bouyer Sync with bouyer-xenpvh-base2 (HEAD)
 1.2 20-Dec-2005  christos Use common sources with userland.
 1.1 26-Mar-2002  fredette branches: 1.1.2; 1.1.8; 1.1.30;
Added brand-new integer multiply and divide support, used only
on the m68000.
 1.1.30.1 21-Jun-2006  yamt sync with head.
 1.1.8.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.8.1 26-Mar-2002  jdolecek file mulsi3.S was added on branch kqueue on 2002-06-23 17:49:49 +0000
 1.1.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.1 26-Mar-2002  nathanw file mulsi3.S was added on branch nathanw_sa on 2002-04-01 07:48:06 +0000
 1.7 20-Dec-2005  christos Use common sources with userland.
 1.6 11-Dec-2005  christos merge ktrace-lwp.
 1.5 07-Aug-2003  agc branches: 1.5.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.4 11-Nov-1999  thorpej branches: 1.4.28;
Sync w/ libc.
 1.3 22-Feb-1998  mycroft branches: 1.3.14; 1.3.16; 1.3.20;
Sync with libc, and add random.S.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 29-Mar-1994  chopps copied over so lib/libc/arch not needed to build kernel.
 1.3.20.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.16.1 15-Nov-1999  fvdl Sync with -current
 1.3.14.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.4.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.28.1 03-Aug-2004  skrll Sync with HEAD
 1.5.16.1 21-Jun-2006  yamt sync with head.
 1.7 20-Dec-2005  christos Use common sources with userland.
 1.6 11-Dec-2005  christos merge ktrace-lwp.
 1.5 07-Aug-2003  agc branches: 1.5.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.4 11-Nov-1999  thorpej branches: 1.4.28;
Sync w/ libc.
 1.3 22-Feb-1998  mycroft branches: 1.3.14; 1.3.16; 1.3.20;
Sync with libc, and add random.S.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 29-Mar-1994  chopps copied over so lib/libc/arch not needed to build kernel.
 1.3.20.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.16.1 15-Nov-1999  fvdl Sync with -current
 1.3.14.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.4.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.28.1 03-Aug-2004  skrll Sync with HEAD
 1.5.16.1 21-Jun-2006  yamt sync with head.
 1.6 18-Mar-2014  riastradh Merge riastradh-drm2 to HEAD.
 1.5 18-Jul-2013  matt Don't use %d2 (violates the ABI since it wasn't saved), use %a0 instead.
Use a pcrelative access for the local data avoiding the GOT.
 1.4 06-Jan-2009  pooka branches: 1.4.14; 1.4.24; 1.4.28; 1.4.36;
Fix PIC version, it was missing one dereference. Thanks to spz
for access to m68k hardware for testing.
 1.3 04-Jan-2009  pooka Support PIC for inclusion in librump. (m68k untested)
 1.2 11-Nov-1999  thorpej branches: 1.2.126; 1.2.130; 1.2.140;
Add register prefixes.
 1.1 22-Feb-1998  mycroft branches: 1.1.14; 1.1.16; 1.1.20;
Sync with libc, and add random.S.
 1.1.20.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.16.1 15-Nov-1999  fvdl Sync with -current
 1.1.14.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.2.140.1 19-Jan-2009  skrll Sync with HEAD.
 1.2.130.1 04-May-2009  yamt sync with head.
 1.2.126.1 17-Jan-2009  mjf Sync with HEAD.
 1.4.36.1 23-Jul-2013  riastradh sync with HEAD
 1.4.28.1 28-Aug-2013  rmind sync with head
 1.4.24.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.14.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.5 20-Dec-2005  christos Use common sources with userland.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 07-Aug-2003  agc branches: 1.3.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.2 11-Nov-1999  thorpej branches: 1.2.28;
Sync w/ libc.
 1.1 22-Feb-1998  mycroft branches: 1.1.14; 1.1.16; 1.1.20;
Sync with libc, and add random.S.
 1.1.20.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.16.1 15-Nov-1999  fvdl Sync with -current
 1.1.14.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.2.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.28.1 03-Aug-2004  skrll Sync with HEAD
 1.3.16.1 21-Jun-2006  yamt sync with head.
 1.10 18-Mar-2014  riastradh Merge riastradh-drm2 to HEAD.
 1.9 18-Jul-2013  matt Adjust for coldfire
 1.8 18-Jul-2013  matt Keep stack longword aligned.
Use longword ops for %d2.
 1.7 18-Jul-2013  matt Convert to motorola syntax
 1.6 08-Feb-2011  rmind branches: 1.6.4; 1.6.14; 1.6.18; 1.6.26;
Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.
 1.5 11-Dec-2005  christos branches: 1.5.98; 1.5.104; 1.5.106;
merge ktrace-lwp.
 1.4 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.3 11-Nov-1999  thorpej branches: 1.3.28;
Add register prefixes.
 1.2 26-Oct-1994  cgd branches: 1.2.32; 1.2.34; 1.2.38;
new RCS ID format.
 1.1 13-Oct-1993  cgd branches: 1.1.2;
move 'boot' and 'libkern' into 'lib'. generally clean up 'kernel library'
building and dependencies.
 1.1.2.2 13-Oct-1993  cgd move 'boot' and 'libkern' into 'lib'. generally clean up 'kernel library'
building and dependencies.
 1.1.2.1 13-Oct-1993  cgd file scanc.S was added on branch magnum on 1993-10-13 05:41:04 +0000
 1.2.38.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.34.1 15-Nov-1999  fvdl Sync with -current
 1.2.32.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.3.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.28.1 03-Aug-2004  skrll Sync with HEAD
 1.5.106.1 17-Feb-2011  bouyer Sync with HEAD
 1.5.104.1 06-Jun-2011  jruoho Sync with HEAD.
 1.5.98.1 05-Mar-2011  rmind sync with head
 1.6.26.1 23-Jul-2013  riastradh sync with HEAD
 1.6.18.1 28-Aug-2013  rmind sync with head
 1.6.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.4.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2 01-Mar-1995  mycroft Clean up deleted files.
 1.1 13-Oct-1993  cgd move 'boot' and 'libkern' into 'lib'. generally clean up 'kernel library'
building and dependencies.
 1.10 18-Mar-2014  riastradh Merge riastradh-drm2 to HEAD.
 1.9 18-Jul-2013  matt Adjust for coldfire
 1.8 18-Jul-2013  matt Fix typo.
 1.7 18-Jul-2013  matt Convert to morotola syntax
 1.6 08-Feb-2011  rmind branches: 1.6.4; 1.6.14; 1.6.18; 1.6.26;
Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.
 1.5 11-Dec-2005  christos branches: 1.5.98; 1.5.104; 1.5.106;
merge ktrace-lwp.
 1.4 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.3 11-Nov-1999  thorpej branches: 1.3.28;
Add register prefixes.
 1.2 26-Oct-1994  cgd branches: 1.2.32; 1.2.34; 1.2.38;
new RCS ID format.
 1.1 13-Oct-1993  cgd branches: 1.1.2;
move 'boot' and 'libkern' into 'lib'. generally clean up 'kernel library'
building and dependencies.
 1.1.2.2 13-Oct-1993  cgd move 'boot' and 'libkern' into 'lib'. generally clean up 'kernel library'
building and dependencies.
 1.1.2.1 13-Oct-1993  cgd file skpc.S was added on branch magnum on 1993-10-13 05:41:06 +0000
 1.2.38.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.34.1 15-Nov-1999  fvdl Sync with -current
 1.2.32.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.3.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.28.1 03-Aug-2004  skrll Sync with HEAD
 1.5.106.1 17-Feb-2011  bouyer Sync with HEAD
 1.5.104.1 06-Jun-2011  jruoho Sync with HEAD.
 1.5.98.1 05-Mar-2011  rmind sync with head
 1.6.26.1 23-Jul-2013  riastradh sync with HEAD
 1.6.18.1 28-Aug-2013  rmind sync with head
 1.6.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.4.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2 01-Mar-1995  mycroft Clean up deleted files.
 1.1 13-Oct-1993  cgd move 'boot' and 'libkern' into 'lib'. generally clean up 'kernel library'
building and dependencies.
 1.6 20-Dec-2005  christos Use common sources with userland.
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 07-Aug-2003  agc branches: 1.4.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.3 11-Nov-1999  thorpej branches: 1.3.28;
Sync w/ libc.
 1.2 13-May-1997  jtc branches: 1.2.22; 1.2.24; 1.2.28;
Sync with libc.
 1.1 18-Apr-1996  cgd use assembly version of strcat (copied down from libc)
 1.2.28.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.24.1 15-Nov-1999  fvdl Sync with -current
 1.2.22.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.3.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.28.1 03-Aug-2004  skrll Sync with HEAD
 1.4.16.1 21-Jun-2006  yamt sync with head.
 1.3 18-Apr-1996  cgd use assembly version of strcat (copied down from libc)
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 29-Mar-1994  chopps copied over so lib/libc/arch not needed to build kernel.
 1.3 20-Dec-2005  christos Use common sources with userland.
 1.2 11-Nov-1999  thorpej branches: 1.2.44;
Sync w/ libc.
 1.1 22-Feb-1998  mycroft branches: 1.1.14; 1.1.16; 1.1.20;
Sync with libc, and add random.S.
 1.1.20.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.16.1 15-Nov-1999  fvdl Sync with -current
 1.1.14.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.2.44.1 21-Jun-2006  yamt sync with head.
 1.11 20-Dec-2005  christos Use common sources with userland.
 1.10 11-Dec-2005  christos merge ktrace-lwp.
 1.9 04-Dec-2003  keihan branches: 1.9.16;
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.8 16-May-2001  fredette branches: 1.8.22;
Use the EXTBL macro where we want the extbl instruction.
On the 68010 this expands to an extw/extl combination.
 1.7 28-Nov-2000  is branches: 1.7.2;
Sync with libc: make function exit one instruction faster, and function one
instruction shorter (Horimoto).
 1.6 11-Nov-1999  thorpej Sync w/ libc.
 1.5 20-Jun-1997  jtc branches: 1.5.22; 1.5.24; 1.5.28;
sync with libc
 1.4 13-May-1997  jtc Sync with libc.
 1.3 08-Feb-1995  mycroft Sync with libc.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 29-Mar-1994  chopps copied over so lib/libc/arch not needed to build kernel.
 1.5.28.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.5.24.1 15-Nov-1999  fvdl Sync with -current
 1.5.22.2 08-Dec-2000  bouyer Sync with HEAD.
 1.5.22.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.7.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.8.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.8.22.1 03-Aug-2004  skrll Sync with HEAD
 1.9.16.1 21-Jun-2006  yamt sync with head.
 1.8 20-Dec-2005  christos Use common sources with userland.
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 07-Aug-2003  agc branches: 1.6.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.5 11-Nov-1999  thorpej branches: 1.5.28;
Sync w/ libc.
 1.4 13-May-1997  jtc branches: 1.4.22; 1.4.24; 1.4.28;
Sync with libc.
 1.3 08-Feb-1995  mycroft Sync with libc.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 29-Mar-1994  chopps copied over so lib/libc/arch not needed to build kernel.
 1.4.28.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.4.24.1 15-Nov-1999  fvdl Sync with -current
 1.4.22.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.5.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.28.1 03-Aug-2004  skrll Sync with HEAD
 1.6.16.1 21-Jun-2006  yamt sync with head.
 1.8 20-Dec-2005  christos Use common sources with userland.
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 07-Aug-2003  agc branches: 1.6.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.5 11-Nov-1999  thorpej branches: 1.5.28;
Sync w/ libc.
 1.4 13-May-1997  jtc branches: 1.4.22; 1.4.24; 1.4.28;
Sync with libc.
 1.3 08-Feb-1995  mycroft Sync with libc.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 29-Mar-1994  chopps copied over so lib/libc/arch not needed to build kernel.
 1.4.28.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.4.24.1 15-Nov-1999  fvdl Sync with -current
 1.4.22.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.5.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.28.1 03-Aug-2004  skrll Sync with HEAD
 1.6.16.1 21-Jun-2006  yamt sync with head.
 1.10 20-Dec-2005  christos Use common sources with userland.
 1.9 11-Dec-2005  christos merge ktrace-lwp.
 1.8 04-Dec-2003  keihan branches: 1.8.16;
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.7 16-May-2001  fredette branches: 1.7.22;
Use the EXTBL macro where we want the extbl instruction.
On the 68010 this expands to an extw/extl combination.
 1.6 11-Nov-1999  thorpej branches: 1.6.6;
Sync w/ libc.
 1.5 20-Jun-1997  jtc branches: 1.5.22; 1.5.24; 1.5.28;
sync with libc
 1.4 13-May-1997  jtc Sync with libc.
 1.3 08-Feb-1995  mycroft Sync with libc.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 29-Mar-1994  chopps copied over so lib/libc/arch not needed to build kernel.
 1.5.28.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.5.24.1 15-Nov-1999  fvdl Sync with -current
 1.5.22.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.6.6.1 21-Jun-2001  nathanw Catch up to -current.
 1.7.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.22.1 03-Aug-2004  skrll Sync with HEAD
 1.8.16.1 21-Jun-2006  yamt sync with head.
 1.9 20-Dec-2005  christos Use common sources with userland.
 1.8 11-Dec-2005  christos merge ktrace-lwp.
 1.7 07-Aug-2003  agc branches: 1.7.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.6 27-Nov-2000  is branches: 1.6.24;
Sync with libc strncpy.S 1.11: optimized code by Hiroshi Horimoto.
 1.5 11-Nov-1999  thorpej Sync w/ libc.
 1.4 13-May-1997  jtc branches: 1.4.22; 1.4.24; 1.4.28;
Sync with libc.
 1.3 08-Feb-1995  mycroft Sync with libc.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 29-Mar-1994  chopps copied over so lib/libc/arch not needed to build kernel.
 1.4.28.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.4.24.1 15-Nov-1999  fvdl Sync with -current
 1.4.22.2 08-Dec-2000  bouyer Sync with HEAD.
 1.4.22.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.6.24.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.24.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.24.1 03-Aug-2004  skrll Sync with HEAD
 1.7.16.1 21-Jun-2006  yamt sync with head.
 1.3 20-Dec-2005  christos Use common sources with userland.
 1.2 11-Nov-1999  thorpej branches: 1.2.44;
Sync w/ libc.
 1.1 22-Feb-1998  mycroft branches: 1.1.14; 1.1.16; 1.1.20;
Sync with libc, and add random.S.
 1.1.20.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.16.1 15-Nov-1999  fvdl Sync with -current
 1.1.14.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.2.44.1 21-Jun-2006  yamt sync with head.
 1.6 23-Apr-2020  rin Remove "#ifndef __mc68010__ #error" I added when these {,u}divsi3.S and
{,u}modsi3.S were moved here (It was better to split the commit, sorry);
bootloader for sun3 still depends on them.
 1.5 22-Apr-2020  rin Restrict usage of m68k assembler versions of {,u}divsi3 and {,u}divsi3 to
kernel and bootloader for 68010.

They requires a special calling convention to udivsi3, and cannot to be
mixed up in normal routines provided by libgcc or compiler_rt. Although,
there's no problem for using in a controlled situation, i.e., kernel and
standalone programs.

Note that this does not affect m68k ports other than sun2, since codes
generated by gcc do not call these routines.

Assembler files are moved from common/lib/libc/arch/m68k/gen to
sys/lib/libkern/arch/m68k in order not to be compiled in libc.

Revert hack introduced to lib/libc/compiler_rt/Makefile.inc rev 1.37:
http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/compiler_rt/Makefile.inc#rev1.37

Proposed on port-sun2@ with no response...
(Again, this does not affect m68k ports other than sun2.)
http://mail-index.netbsd.org/port-sun2/2020/03/10/msg000102.html
 1.4 20-Dec-2005  christos branches: 1.4.100;
Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 26-Feb-2005  perry branches: 1.2.4;
nuke trailing whitespace
 1.1 26-Mar-2002  fredette branches: 1.1.2; 1.1.8; 1.1.14; 1.1.22; 1.1.24;
Added brand-new integer multiply and divide support, used only
on the m68000.
 1.1.24.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.22.1 29-Apr-2005  kent sync with -current
 1.1.14.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.8.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.8.1 26-Mar-2002  jdolecek file udivsi3.S was added on branch kqueue on 2002-06-23 17:49:49 +0000
 1.1.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.1 26-Mar-2002  nathanw file udivsi3.S was added on branch nathanw_sa on 2002-04-01 07:48:06 +0000
 1.2.4.1 21-Jun-2006  yamt sync with head.
 1.4.100.1 25-Apr-2020  bouyer Sync with bouyer-xenpvh-base2 (HEAD)
 1.4 23-Apr-2020  rin Remove "#ifndef __mc68010__ #error" I added when these {,u}divsi3.S and
{,u}modsi3.S were moved here (It was better to split the commit, sorry);
bootloader for sun3 still depends on them.
 1.3 22-Apr-2020  rin Restrict usage of m68k assembler versions of {,u}divsi3 and {,u}divsi3 to
kernel and bootloader for 68010.

They requires a special calling convention to udivsi3, and cannot to be
mixed up in normal routines provided by libgcc or compiler_rt. Although,
there's no problem for using in a controlled situation, i.e., kernel and
standalone programs.

Note that this does not affect m68k ports other than sun2, since codes
generated by gcc do not call these routines.

Assembler files are moved from common/lib/libc/arch/m68k/gen to
sys/lib/libkern/arch/m68k in order not to be compiled in libc.

Revert hack introduced to lib/libc/compiler_rt/Makefile.inc rev 1.37:
http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/compiler_rt/Makefile.inc#rev1.37

Proposed on port-sun2@ with no response...
(Again, this does not affect m68k ports other than sun2.)
http://mail-index.netbsd.org/port-sun2/2020/03/10/msg000102.html
 1.2 20-Dec-2005  christos branches: 1.2.100;
Use common sources with userland.
 1.1 26-Mar-2002  fredette branches: 1.1.2; 1.1.8; 1.1.30;
Added brand-new integer multiply and divide support, used only
on the m68000.
 1.1.30.1 21-Jun-2006  yamt sync with head.
 1.1.8.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.8.1 26-Mar-2002  jdolecek file umodsi3.S was added on branch kqueue on 2002-06-23 17:49:49 +0000
 1.1.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.1 26-Mar-2002  nathanw file umodsi3.S was added on branch nathanw_sa on 2002-04-01 07:48:06 +0000
 1.2.100.1 25-Apr-2020  bouyer Sync with bouyer-xenpvh-base2 (HEAD)
 1.24 03-Sep-2018  riastradh Rename min.c -> uimin.c, max.c -> uimax.c in libkern.
 1.23 20-Jan-2010  pgoyette branches: 1.23.62; 1.23.64;
Remove kern_assert.c - it's not needed here cuz it's already pulled in
by sys/lib/libkern/Makefile.libkern

OK pooka@
 1.22 20-Jan-2010  pooka __assert.c -> kern_assert.c

(I don't fully understand why __assert.c is needed here. maybe it
can be removed, but I don't have time to do a full set of mips builds
tonight)
 1.21 14-Dec-2009  matt Merge from matt-nb5-mips64
 1.20 14-Aug-2009  dsl Move that majority of the 'SRCS+= foo.c' into the main Makefile.libkern.
Any .S files added by the arch/*/Makefile.inc cause the .c file to
be excluded.
Specific exclusions added using NO_SRCS to match previous files.
At least sparc, sparc64, i386, amd64 and vax GENERIC still build.
(There is a fubar with the naming of the byte-swap files ...)
 1.19 12-Aug-2009  dsl Split the lines that add .c to SRCS from those that add .S
No changes (apart from the order) intended.
 1.18 27-Dec-2001  shin branches: 1.18.120; 1.18.138;
we need ffs().
 1.17 01-Nov-2000  thorpej branches: 1.17.2; 1.17.4;
Add a strcasecmp(), modified from chopps's strncasecmp().
 1.16 29-Nov-1999  simonb Add strtoul.c and sort sources alphabetically.
 1.15 15-Mar-1999  jonathan branches: 1.15.8; 1.15.14;
Use merged memcpy()/memset() based on old bcopy rather than C-coded memmove.
TODO: change register usage so memcpy()/memmove() is default, put test
for back-copy before memcpy() and back-copy loop after memcpy().
 1.14 23-Feb-1999  simonb Add memset.S instead of memset.c, and remove __main.c.
 1.13 15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.12 15-Jan-1999  castor Break out utility functions from locore.S
 1.11 11-Sep-1998  jonathan Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>.
Adds (most) support for ARC platform to port-independent mips code.

Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by
comparison to the OpenBSD 2.1 codebase of Soda's ARC port.

Open issues:
* Still no support for r4600 or mipsIV CPUs with two-way L1 cache.
Code derived from Per Fogelstrom's OpenBSD source doesn't work
on mips3 pmaxes with L2 cache.

* Still some port-specific #ifdefs, for interrupt enable and
pmax L2 cache-size. Needs more thought, but overlaps with
work-in-progress by Tohru and Tsubai on spl()s and related stuff.
 1.10 20-Aug-1998  tls update for b->mem change in sys/kern; now we need memcmp and memset, not just memchr. AFAIK, memcpy is provided by the compiler or by locore on this platform.
 1.9 21-Jan-1998  cgd add rules like those in libc to build strchr() and strrchr() (the latter
is being added to libkern by this commit). remove strchr.c from
archs' Makefile.inc files to go along with this. (If an arch has
a .S version, it should be copied down and added to the apropriate
Makefile.inc.)
 1.8 24-Oct-1997  chuck add memchr() to libkern
 1.7 09-Oct-1997  bouyer Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
 1.6 18-Jan-1997  cgd branches: 1.6.8;
add strchr() to libkern. strchr.c copied from libc's "index.c", but with
appropriate definitions so that it'll build strchr(), and so that it builds
correctly in libkern (needed to #define NULL).
 1.5 27-Aug-1996  cgd Add machine-independent assertion-checking support. macros are:

assert() which always does assertion checking
unless "NDEBUG" is defined.

KASSERT() which does assertion checking if DIAGNOSTIC
is defined.

KDASSERT() which does assertion checking if DEBUG is
define. This macro exists for compatibility
with existing ports' assertion checking macros.
(Assertion checking is not typically an
"expensive" operation, and DIAGNOSTIC should be
used for inexpensive consistency checks.)
 1.4 13-Apr-1996  cgd add strncasecmp.c to ports' libkern Makefile.inc's. When adding a new
source file to libkern, it should be added to _ALL_ ports makefiles if
it is machine-independent and used by machine-independent code (in
this case adosfs). (There are several arguments that say that
strncasecmp should not be in libkern at all, and i think they're
good ones, but as long as ADOSFS needs it to link, it has to be here
for all architectures.)
 1.3 26-Oct-1994  cgd new RCS ID format.
 1.2 15-Jun-1994  glass fix typo: scan.c -> scanc.c
 1.1 03-Jun-1994  glass works in bootstrapping caseee
 1.6.8.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.15.14.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.15.8.2 22-Nov-2000  bouyer Sync with HEAD.
 1.15.8.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.17.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.17.2.1 08-Jan-2002  nathanw Catch up to -current.
 1.18.138.2 05-Sep-2009  matt Add an assmebly version of bswap64
 1.18.138.1 18-Aug-2009  matt Update to use new memset2.c
 1.18.120.2 11-Mar-2010  yamt sync with head
 1.18.120.1 19-Aug-2009  yamt sync with head.
 1.23.64.1 10-Jun-2019  christos Sync with HEAD
 1.23.62.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.8 20-Dec-2005  christos Use common sources with userland.
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 07-Aug-2003  agc branches: 1.6.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.5 10-Nov-2002  thorpej branches: 1.5.6;
ABICALLS -> __ABICALLS__
 1.4 27-Feb-2001  cgd branches: 1.4.2;
copy from lib/libc/arch/mips/gen
 1.3 20-Apr-1999  simonb branches: 1.3.2;
Until <bsd.lib.mk> is fixed, don't try to guess whether or not to
use abicalls in kernel source.
 1.2 17-Mar-1999  simonb branches: 1.2.2;
Don't add .abicalls if NO_ABICALLS is defined even if ABICALLS is defined.
 1.1 15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.2.2.1 27-Apr-1999  perry branches: 1.2.2.1.2;
pullup 1.2->1.3 (simonb)
 1.2.2.1.2.1 21-Jun-1999  thorpej Sync w/ -current.
 1.3.2.1 12-Mar-2001  bouyer Sync with HEAD.
 1.4.2.1 11-Nov-2002  nathanw Catch up to -current
 1.5.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.6.1 03-Aug-2004  skrll Sync with HEAD
 1.6.16.1 21-Jun-2006  yamt sync with head.
 1.9 20-Dec-2005  christos Use common sources with userland.
 1.8 11-Dec-2005  christos merge ktrace-lwp.
 1.7 07-Aug-2003  agc branches: 1.7.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.6 10-Nov-2002  thorpej branches: 1.6.6;
ABICALLS -> __ABICALLS__
 1.5 27-Feb-2001  cgd branches: 1.5.2;
copy from lib/libc/arch/mips/gen
 1.4 20-Apr-1999  simonb branches: 1.4.2;
Until <bsd.lib.mk> is fixed, don't try to guess whether or not to
use abicalls in kernel source.
 1.3 17-Mar-1999  simonb branches: 1.3.2;
Don't add .abicalls if NO_ABICALLS is defined even if ABICALLS is defined.
 1.2 18-Jan-1999  castor Make bswap32 be the "real" entrypoint and htonl, ntohl aliases.
 1.1 15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.3.2.1 27-Apr-1999  perry branches: 1.3.2.1.2;
pullup 1.3->1.4 (simonb)
 1.3.2.1.2.1 21-Jun-1999  thorpej Sync w/ -current.
 1.4.2.1 12-Mar-2001  bouyer Sync with HEAD.
 1.5.2.1 11-Nov-2002  nathanw Catch up to -current
 1.6.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.6.1 03-Aug-2004  skrll Sync with HEAD
 1.7.16.1 21-Jun-2006  yamt sync with head.
 1.8 20-Dec-2005  christos Use common sources with userland.
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 26-Feb-2005  perry branches: 1.6.4;
nuke trailing whitespace
 1.5 07-Aug-2003  agc branches: 1.5.8; 1.5.10;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.4 10-Nov-2002  thorpej branches: 1.4.6;
ABICALLS -> __ABICALLS__
 1.3 02-Jan-2002  uch branches: 1.3.2; 1.3.4;
R5900 short-loop bug.
 1.2 27-Dec-2001  shin don't use .abicalls in kernel.
 1.1 27-Dec-2001  shin copy from libc/arch/mips/string
 1.3.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.4.1 02-Jan-2002  thorpej file ffs.S was added on branch kqueue on 2002-01-10 20:00:32 +0000
 1.3.2.5 11-Nov-2002  nathanw Catch up to -current
 1.3.2.4 28-Feb-2002  nathanw Catch up to -current.
 1.3.2.3 11-Jan-2002  nathanw More catchup.
 1.3.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.3.2.1 02-Jan-2002  nathanw file ffs.S was added on branch nathanw_sa on 2002-01-08 00:32:50 +0000
 1.4.6.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.4.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.6.1 03-Aug-2004  skrll Sync with HEAD
 1.5.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.5.8.1 29-Apr-2005  kent sync with -current
 1.6.4.1 21-Jun-2006  yamt sync with head.
 1.11 20-Dec-2005  christos Use common sources with userland.
 1.10 11-Dec-2005  christos merge ktrace-lwp.
 1.9 26-Feb-2005  perry branches: 1.9.4;
nuke trailing whitespace
 1.8 29-Sep-2004  sekiya branches: 1.8.4; 1.8.6;
Use 64-bit-clean addition/subtraction opcodes for pointer arithmetic iff
_LP64 is defined.
 1.7 16-Oct-2001  uch branches: 1.7.18;
R5900 miss-prediction of branch targets for short-loop.
 1.6 10-Oct-2000  jeffs branches: 1.6.2; 1.6.4;
Set return value correctly for memcpy/memmove.
 1.5 18-Jul-2000  enami Fix an obvious typo in comment introduced by previous commit; the instruction
now compares a0 against a1 + a2, not a0 + a2.
 1.4 17-Jul-2000  jeffs Make memcpy() the favored interface an swizzle the args for ovbcopy. Also
move bcopy XLEAF here from locore.S. For 64b clean compilation add a
ld/sd section to the block copy.
 1.3 15-Mar-1999  jonathan branches: 1.3.8; 1.3.18;
Use merged memcpy()/memset() based on old bcopy rather than C-coded memmove.
TODO: change register usage so memcpy()/memmove() is default, put test
for back-copy before memcpy() and back-copy loop after memcpy().
 1.2 15-Jan-1999  castor Break out utility functions from locore.S
 1.1 11-Sep-1998  jonathan Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>.
Adds (most) support for ARC platform to port-independent mips code.

Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by
comparison to the OpenBSD 2.1 codebase of Soda's ARC port.

Open issues:
* Still no support for r4600 or mipsIV CPUs with two-way L1 cache.
Code derived from Per Fogelstrom's OpenBSD source doesn't work
on mips3 pmaxes with L2 cache.

* Still some port-specific #ifdefs, for interrupt enable and
pmax L2 cache-size. Needs more thought, but overlaps with
work-in-progress by Tohru and Tsubai on spl()s and related stuff.
 1.3.18.1 19-Jul-2000  jeffs Pull up revision memcpy.S 1.4-1.5 and locore.S 1.105 (approved by thorpej).
Make memcpy() the favored interface an swizzle the args for ovbcopy. Also
move bcopy XLEAF here from locore.S. For 64b clean compilation add a
ld/sd section to the block copy.
 1.3.8.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.6.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.6.2.1 22-Oct-2001  nathanw Catch up to -current.
 1.7.18.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.7.18.1 19-Oct-2004  skrll Sync with HEAD
 1.8.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.8.4.1 29-Apr-2005  kent sync with -current
 1.9.4.1 21-Jun-2006  yamt sync with head.
 1.2 20-Dec-2005  christos Use common sources with userland.
 1.1 15-Mar-1999  jonathan branches: 1.1.58;
Use merged memcpy()/memset() based on old bcopy rather than C-coded memmove.
TODO: change register usage so memcpy()/memmove() is default, put test
for back-copy before memcpy() and back-copy loop after memcpy().
 1.1.58.1 21-Jun-2006  yamt sync with head.
 1.7 20-Dec-2005  christos Use common sources with userland.
 1.6 11-Dec-2005  christos merge ktrace-lwp.
 1.5 26-Feb-2005  perry branches: 1.5.4;
nuke trailing whitespace
 1.4 29-Sep-2004  sekiya branches: 1.4.4; 1.4.6;
Use 64-bit-clean addition/subtraction opcodes for pointer arithmetic iff
_LP64 is defined.
 1.3 16-Oct-2001  uch branches: 1.3.18;
R5900 miss-prediction of branch targets for short-loop.
 1.2 15-Mar-1999  jonathan branches: 1.2.20; 1.2.22;
Fix bug in construction of word-length version of 'c'.
Preserve input string and return it as per userlevel spec.
 1.1 28-Jan-1999  jonathan memset, derived from old kernel bcopy.
Uses negative register offsets in memory writes, to avoid r4k silicon bugs.
 1.2.22.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.20.1 22-Oct-2001  nathanw Catch up to -current.
 1.3.18.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.3.18.1 19-Oct-2004  skrll Sync with HEAD
 1.4.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.4.4.1 29-Apr-2005  kent sync with -current
 1.5.4.1 21-Jun-2006  yamt sync with head.
 1.5 20-Dec-2005  christos Use common sources with userland.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 26-Feb-2005  perry branches: 1.3.4;
nuke trailing whitespace
 1.2 29-Sep-2004  sekiya branches: 1.2.4; 1.2.6;
Use 64-bit-clean addition/subtraction opcodes for pointer arithmetic iff
_LP64 is defined.
 1.1 15-Jan-1999  castor branches: 1.1.42;
Break out utility functions from locore.S
 1.1.42.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.42.1 19-Oct-2004  skrll Sync with HEAD
 1.2.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.2.4.1 29-Apr-2005  kent sync with -current
 1.3.4.1 21-Jun-2006  yamt sync with head.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 29-Sep-2004  sekiya branches: 1.2.12;
Use 64-bit-clean addition/subtraction opcodes for pointer arithmetic iff
_LP64 is defined.
 1.1 15-Jan-1999  castor branches: 1.1.42;
Break out utility functions from locore.S
 1.1.42.1 19-Oct-2004  skrll Sync with HEAD
 1.2.12.1 21-Jun-2006  yamt sync with head.
 1.1 03-Sep-2014  matt branches: 1.1.18;
New files for OR1K support
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 03-Sep-2014  jdolecek file Makefile.inc was added on branch tls-maxphys on 2017-12-03 11:38:46 +0000
 1.34 30-May-2022  rin Restrict strictly-aligned versions of memcmp(9), memcpy(9), and
memmove(9) to 403, instead of all evbppc machines.

Introduce strict-align LIBKERN_MD_FLAGS for this purpose.
 1.33 26-Jul-2021  rin Improve previous:

- Add suffix ``d'' for mkdep(1).
- Improve comment a little...
 1.32 24-Jul-2021  rin For evbppc, use C version of memcpy(3), memcmp(3), and memmove(3)
consistently for *.{po,pico,go} (for RUMP), in order to avoid
alignment faults for 403.
 1.31 02-Jul-2011  matt branches: 1.31.70;
Add the _restgpr* and _savegpr* entries that GCC 4.5 wants. This file is
designed to support the other GCC 4.5 variants that may be required.
 1.30 17-Jan-2011  matt Kill _NOREGNAMES. Everything should be using %rX now. If it doesn't it
soon will.
 1.29 16-Jan-2011  matt branches: 1.29.2;
Add -D_NOREGNAMES
 1.28 14-Aug-2009  dsl Move that majority of the 'SRCS+= foo.c' into the main Makefile.libkern.
Any .S files added by the arch/*/Makefile.inc cause the .c file to
be excluded.
Specific exclusions added using NO_SRCS to match previous files.
At least sparc, sparc64, i386, amd64 and vax GENERIC still build.
(There is a fubar with the naming of the byte-swap files ...)
 1.27 12-Aug-2009  dsl Split the lines that add .c to SRCS from those that add .S
No changes (apart from the order) intended.
 1.26 18-Mar-2009  tsutsui - remove bcmp(9), bcopy(9), and bzero(9) from libkern since <sys/systm.h> has
macro which replace them with mem*() functions in #ifdef _KERNEL as noted
in man pages
- move declarations of bcopy(3) and bzero(3) into <lib/libsa/stand.h>
since they are still in libsa for some MD standalone sources
(I guess all bcmp(3) in standalone sources have been replaced with memcmp(3)
but they should be replaced with memcmp() anyway)
 1.25 18-Apr-2008  garbled branches: 1.25.4; 1.25.12; 1.25.18;
Back out the ppc assembler changes for memcpy/memmove/memcmp on evbppc.
It breaks the explora because the cpu (403) cannot deal with unaligned
accesses. Reported by Juergen Hannken-Illjes.
 1.24 11-Dec-2005  christos branches: 1.24.70;
merge ktrace-lwp.
 1.23 10-Aug-2003  matt Add a memset.S (does not use dcbz; to be added later). It does both bzero
and memset.
 1.22 25-Feb-2003  matt branches: 1.22.2;
Switch back to generic bzero/memset until new one is shown to work.
 1.21 24-Feb-2003  matt Actually use bzero.S. Also fix bzero to use GET_CPUINFO
 1.20 24-Feb-2003  matt Don't make memset.c since bzero.o has memset in addition to bzero.
 1.19 02-Dec-2001  mjl Disable bzero/memset assembler implementation until the dependency
problem on assym.h is sorted out and TRW to get at CACHELINESIZE in
the kernel is determined.
 1.18 30-Nov-2001  mjl Add assembler version of strlen.
 1.17 29-Nov-2001  mjl Add assembler versions of ffs, bzero and memset.
 1.16 01-Nov-2000  thorpej branches: 1.16.2; 1.16.4;
Add a strcasecmp(), modified from chopps's strncasecmp().
 1.15 01-Feb-2000  danw add strtoul
 1.14 17-Apr-1999  ws branches: 1.14.2;
Modify syncicache on PowerPC from an inline to a real function.
Support different cache line sizes with the same object code in userland.
While here, move the function to implementation name space.
 1.13 04-Aug-1998  perry branches: 1.13.8;
remove memcpy.c -- I forgot this gets built anyway
 1.12 04-Aug-1998  perry remove memmove.c -- I forgot this gets built anyway
 1.11 04-Aug-1998  perry add memcmp.c memcpy.c memmove.c
 1.10 22-Feb-1998  mycroft Fix typo.
 1.9 22-Feb-1998  mycroft Don't list bcopy.c here, since we only want memcpy() and not bcopy().
XXX What a kluge!
 1.8 22-Feb-1998  mycroft We need memcpy().
 1.7 22-Feb-1998  mycroft Add some missing things.
 1.6 22-Feb-1998  mycroft Pull in [hn]to[nh][ls].c.
 1.5 21-Jan-1998  cgd add rules like those in libc to build strchr() and strrchr() (the latter
is being added to libkern by this commit). remove strchr.c from
archs' Makefile.inc files to go along with this. (If an arch has
a .S version, it should be copied down and added to the apropriate
Makefile.inc.)
 1.4 24-Oct-1997  chuck add memchr() to libkern
 1.3 09-Oct-1997  bouyer Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
 1.2 18-Jan-1997  cgd branches: 1.2.8;
add strchr() to libkern. strchr.c copied from libc's "index.c", but with
appropriate definitions so that it'll build strchr(), and so that it builds
correctly in libkern (needed to #define NULL).
 1.1 30-Sep-1996  ws PowerPC port
 1.2.8.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.13.8.1 21-Jun-1999  thorpej Sync w/ -current.
 1.14.2.2 22-Nov-2000  bouyer Sync with HEAD.
 1.14.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.16.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.16.2.1 08-Jan-2002  nathanw Catch up to -current.
 1.22.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.22.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.22.2.1 03-Aug-2004  skrll Sync with HEAD
 1.24.70.1 02-Jun-2008  mjf Sync with HEAD.
 1.25.18.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.25.12.1 28-Apr-2009  skrll Sync with HEAD.
 1.25.4.2 19-Aug-2009  yamt sync with head.
 1.25.4.1 04-May-2009  yamt sync with head.
 1.29.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.31.70.1 01-Aug-2021  thorpej Sync with HEAD.
 1.6 10-Aug-2003  matt Add a memset.S (does not use dcbz; to be added later). It does both bzero
and memset.
 1.5 24-Feb-2003  matt branches: 1.5.2;
Actually use bzero.S. Also fix bzero to use GET_CPUINFO
 1.4 30-Jul-2002  matt cpu_info is not in spr0, but spr_g_0.
 1.3 13-Mar-2002  eeh branches: 1.3.4;
Updated from libc.
 1.2 30-Nov-2001  mjl branches: 1.2.2; 1.2.4;
Outifdef some stuff not needed in the _KERNEL case.
 1.1 29-Nov-2001  mjl Add assembler versions of ffs, bzero and memset.
 1.2.4.4 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.4.3 16-Mar-2002  jdolecek Catch up with -current.
 1.2.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.4.1 30-Nov-2001  thorpej file bzero.S was added on branch kqueue on 2002-01-10 20:00:34 +0000
 1.2.2.4 01-Aug-2002  nathanw Catch up to -current.
 1.2.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.2.2.1 30-Nov-2001  nathanw file bzero.S was added on branch nathanw_sa on 2002-01-08 00:32:51 +0000
 1.3.4.1 29-Aug-2002  gehenna catch up with -current.
 1.5.2.1 03-Aug-2004  skrll Sync with HEAD
 1.2 20-Dec-2005  christos Use common sources with userland.
 1.1 29-Nov-2001  mjl branches: 1.1.2; 1.1.4; 1.1.36;
Add assembler versions of ffs, bzero and memset.
 1.1.36.1 21-Jun-2006  yamt sync with head.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 29-Nov-2001  thorpej file ffs.S was added on branch kqueue on 2002-01-10 20:00:34 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 29-Nov-2001  nathanw file ffs.S was added on branch nathanw_sa on 2002-01-08 00:32:51 +0000
 1.4 28-Oct-2011  christos shouldn't need .size for ppc64.
 1.3 12-Aug-2011  matt Fix bug when only restoring r31 (lr was not being restored properly).
 1.2 02-Jul-2011  mrg fix the names of the _END symbols passed to .size; fixes rump issues,
and kernels still work fine, and ofwboot still links.
 1.1 02-Jul-2011  matt Add the _restgpr* and _savegpr* entries that GCC 4.5 wants. This file is
designed to support the other GCC 4.5 variants that may be required.
 1.7 17-Jan-2011  matt Don't define _NOREGNAMES since all of libkern is now compiled with it.
 1.6 04-Mar-2007  christos branches: 1.6.64;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.5 11-Dec-2005  christos branches: 1.5.26;
merge ktrace-lwp.
 1.4 26-Feb-2005  perry branches: 1.4.4;
nuke trailing whitespace
 1.3 04-Dec-2003  keihan branches: 1.3.4; 1.3.10; 1.3.12;
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.2 27-Aug-2003  matt Actually the right instruction to fill a half-word.
From Juergen Hannken-Illjes hannken at eis dot cs dot tu-bs dot de
 1.1 10-Aug-2003  matt Add a memset.S (does not use dcbz; to be added later). It does both bzero
and memset.
 1.3.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.3.10.1 29-Apr-2005  kent sync with -current
 1.3.4.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.3.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.3.4.2 03-Aug-2004  skrll Sync with HEAD
 1.3.4.1 04-Dec-2003  skrll file memset.S was added on branch ktrace-lwp on 2004-08-03 10:53:49 +0000
 1.4.4.1 03-Sep-2007  yamt sync with head.
 1.5.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.6.64.1 05-Mar-2011  rmind sync with head
 1.5 20-Dec-2005  christos Use common sources with userland.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 26-Feb-2005  perry branches: 1.3.4;
nuke trailing whitespace
 1.2 04-Dec-2003  keihan branches: 1.2.8; 1.2.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.1 30-Nov-2001  mjl branches: 1.1.2; 1.1.4; 1.1.20;
Add assembler version of strlen.
 1.1.20.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.20.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.20.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.20.1 03-Aug-2004  skrll Sync with HEAD
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 30-Nov-2001  thorpej file strlen.S was added on branch kqueue on 2002-01-10 20:00:35 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 30-Nov-2001  nathanw file strlen.S was added on branch nathanw_sa on 2002-01-08 00:32:52 +0000
 1.2.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.2.8.1 29-Apr-2005  kent sync with -current
 1.3.4.1 21-Jun-2006  yamt sync with head.
 1.14 18-Mar-2008  he When compiling for _STANDALONE, omit a bunch of headers which aren't really
needed and which trigger build problems.

(These two files should probably be unified and put under common/...)
 1.13 24-Dec-2005  perry branches: 1.13.46; 1.13.66; 1.13.70;
__asm__ -> __asm
 1.12 24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.11 11-Dec-2005  christos merge ktrace-lwp.
 1.10 27-Jul-2005  simonb KNF nit.
 1.9 26-Feb-2005  perry branches: 1.9.4;
nuke trailing whitespace
 1.8 28-Mar-2002  matt branches: 1.8.10; 1.8.18; 1.8.20;
Refresh from libc.
 1.7 26-Mar-2002  matt Use size_t in prototype (so this will be LP64 clean for PPC64 someday).
Calculate len separately for icache & dcache in case each has different
cacheline widths. Make the code for both loops the same except for the
dcbst/icbi. Deal with sizes >=2GB properly (like that'll happen but ...)
 1.6 18-Mar-2002  dbj make compile with _STANDALONE
 1.5 13-Mar-2002  eeh Updated from libc.
 1.4 22-Aug-2001  matt 7450 requires a sync before the the isync (MPC7450UM - 3.4.4.8)
 1.3 27-Jun-2000  mrg branches: 1.3.2; 1.3.4;
<vm/vm.h> -> <uvm/uvm_extern.h>
 1.2 05-May-1999  tsubai branches: 1.2.2; 1.2.4;
Copy from libc.
 1.1 17-Apr-1999  ws Modify syncicache on PowerPC from an inline to a real function.
Support different cache line sizes with the same object code in userland.
While here, move the function to implementation name space.
 1.2.4.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.2.2.1 21-Jun-1999  thorpej Sync w/ -current.
 1.3.4.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.4.2 16-Mar-2002  jdolecek Catch up with -current.
 1.3.4.1 25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.3.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.3.2.1 21-Sep-2001  nathanw Catch up to -current.
 1.8.20.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.8.18.1 29-Apr-2005  kent sync with -current
 1.8.10.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.8.10.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.9.4.2 24-Mar-2008  yamt sync with head.
 1.9.4.1 21-Jun-2006  yamt sync with head.
 1.13.70.1 03-Apr-2008  mjf Sync with HEAD.
 1.13.66.1 24-Mar-2008  keiichi sync with head.
 1.13.46.1 23-Mar-2008  matt sync with HEAD
 1.1 19-Sep-2014  matt branches: 1.1.18;
New files for Userland support of UCB RISC-V (both 32-bit and 64-bit)
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 19-Sep-2014  jdolecek file Makefile.inc was added on branch tls-maxphys on 2017-12-03 11:38:46 +0000
 1.19 04-Aug-2011  uwe For unsignad integer division gcc used to emit a call to __udivsi3
"millicode" function that uses compiler-private ABI. Newer gcc uses
heavily tuned __udivsi3_i4i that is NOT compatible with __udivsi3
because it's expected to clobber different registers. We don't want
to link the kernel against libgcc and we don't have resources to write
heavily tuned version ourselves, so clone __udivsi3 but adjust it to
conform to the __udivsi3_i4i clobber spec.

Ditto for signed division.

You can make gcc use old routines with -mdiv=call-div1 to avoid few
extra instructions to save/restore the right registers in the signed
division funcion.
 1.18 14-Aug-2009  dsl Move that majority of the 'SRCS+= foo.c' into the main Makefile.libkern.
Any .S files added by the arch/*/Makefile.inc cause the .c file to
be excluded.
Specific exclusions added using NO_SRCS to match previous files.
At least sparc, sparc64, i386, amd64 and vax GENERIC still build.
(There is a fubar with the naming of the byte-swap files ...)
 1.17 12-Aug-2009  dsl Split the lines that add .c to SRCS from those that add .S
No changes (apart from the order) intended.
 1.16 14-Mar-2007  uwe branches: 1.16.36;
Provide __movmemSI12_i4 (gcc4) a.k.a. __movstrSI12_i4 (gcc3) that gcc
emits for sh4 to copy 12 bytes at certain optimization levels.
Discovered by compiling landisk kernel with -Os.

Use gcc3 naming ("movstr") to match the rest of the "movstr" files.
 1.15 11-Dec-2005  christos branches: 1.15.24; 1.15.26; 1.15.30; 1.15.32;
merge ktrace-lwp.
 1.14 14-Nov-2003  uwe branches: 1.14.16;
Use assembler version of bswap64.
 1.13 13-Nov-2003  uwe Eliminate bzero.
 1.12 08-Nov-2003  uwe Nuke bcopy. Move the code to memmove.S (which it is) make memmove the
primary entry point and comment out the bcopy entry point.

Kernels before and after the change are identical.
 1.11 08-Nov-2003  jdolecek no need for bcmp.c
 1.10 20-Nov-2002  itohy branches: 1.10.6;
Use assembly version of bzero() and memset().
 1.9 21-Sep-2002  chs add strtoul.c, it's now used in MI code.
 1.8 05-Sep-2002  msaitoh Add __movstr_i4_{odd,even} for -m4.
Written by SHIMIZU Ryo.
 1.7 24-Aug-2002  itohy Use assembly version of ffs(3).
 1.6 01-Nov-2000  thorpej branches: 1.6.2; 1.6.4; 1.6.16;
Add a strcasecmp(), modified from chopps's strncasecmp().
 1.5 21-Jul-2000  msaitoh compile byte_swap_2.S and byte_swap_4.S
 1.4 09-Jun-2000  msaitoh branches: 1.4.2;
new bcopy.S
 1.3 20-Apr-2000  msaitoh branches: 1.3.2;
asm bcopy() for sh3
 1.2 21-Oct-1999  msaitoh add strncasecmp.c
 1.1 13-Sep-1999  itojun branches: 1.1.2; 1.1.4; 1.1.6;
Merge in NetBSD/sh3 from cvs.kame.net repository.

Tree structure:
- sys/arch/sh3: sh3 generic code
As commented, in-chip device drivers are put into sys/arch/sh3/dev.
- sys/arch/evbsh3: sh3 evaluation boards (pure sh3 CPU, no fancy external HW)
- sys/arch/mmeye: Brains mmEye, www.brains.co.jp
MI source code includes couple of #ifdef for sh3-coff support.
(sh3 uses coff or elf)

Needs some more improvements, especialy in sys/arch/sh3/conf/files.sh3,
to compile the tree (due to last minute tree structure change).
 1.1.6.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.4.1 15-Nov-1999  fvdl Sync with -current
 1.1.2.2 22-Nov-2000  bouyer Sync with HEAD.
 1.1.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.3.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.4.2.1 11-Aug-2000  msaitoh Pullup revision 1.5 (approved by thorpej):

compile byte_swap_*.S
 1.6.16.1 29-Aug-2002  gehenna catch up with -current.
 1.6.4.2 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.6.4.1 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.6.2.4 11-Dec-2002  thorpej Sync with HEAD.
 1.6.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.6.2.2 17-Sep-2002  nathanw Catch up to -current.
 1.6.2.1 27-Aug-2002  nathanw Catch up to -current.
 1.10.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.10.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.10.6.1 03-Aug-2004  skrll Sync with HEAD
 1.14.16.1 03-Sep-2007  yamt sync with head.
 1.15.32.1 11-Jul-2007  mjf Sync with head.
 1.15.30.1 10-Apr-2007  ad Sync with head.
 1.15.26.1 24-Mar-2007  yamt sync with head.
 1.15.24.1 20-Apr-2007  bouyer Pull up following revision(s) (requested by uwe in ticket #585):
sys/lib/libkern/arch/sh3/Makefile.inc: revision 1.16
sys/lib/libkern/arch/sh3/movstrSI12_i4.S: revision 1.1
Provide __movmemSI12_i4 (gcc4) a.k.a. __movstrSI12_i4 (gcc3) that gcc
emits for sh4 to copy 12 bytes at certain optimization levels.
Discovered by compiling landisk kernel with -Os.
Use gcc3 naming ("movstr") to match the rest of the "movstr" files.
 1.16.36.1 19-Aug-2009  yamt sync with head.
 1.7 07-Jan-2009  uwe These copy of gcc millicode routines is now included in librump (that
sucks in all libkern sources), so mark them ".hidden". I'm not sure
if this is the best course of action (dropping millicode from librump
might be a better idea), but it's the quickest fix to get sh3 builds
going again for now.
 1.6 22-May-2006  uwe branches: 1.6.2; 1.6.58; 1.6.62; 1.6.72;
G/c #ifdef PIC we inherited from the userland.
 1.5 22-Apr-2006  uwe branches: 1.5.2; 1.5.4;
libc gets gcc millicode from libgcc, so we don't need to keep it
in src/common. Move it to sys/lib/libkern/arch/sh3.
 1.4 20-Dec-2005  christos branches: 1.4.4; 1.4.6; 1.4.8;
Use common sources with userland.
 1.3 14-Feb-2001  msaitoh branches: 1.3.40;
don't profile (use NENTRY() and ALTENTRY())
 1.2 14-Feb-2001  msaitoh _C_LABEL()
 1.1 13-Sep-1999  itojun branches: 1.1.2;
Merge in NetBSD/sh3 from cvs.kame.net repository.

Tree structure:
- sys/arch/sh3: sh3 generic code
As commented, in-chip device drivers are put into sys/arch/sh3/dev.
- sys/arch/evbsh3: sh3 evaluation boards (pure sh3 CPU, no fancy external HW)
- sys/arch/mmeye: Brains mmEye, www.brains.co.jp
MI source code includes couple of #ifdef for sh3-coff support.
(sh3 uses coff or elf)

Needs some more improvements, especialy in sys/arch/sh3/conf/files.sh3,
to compile the tree (due to last minute tree structure change).
 1.1.2.1 12-Mar-2001  bouyer Sync with HEAD.
 1.3.40.1 21-Jun-2006  yamt sync with head.
 1.4.8.1 24-May-2006  yamt sync with head.
 1.4.6.1 01-Jun-2006  kardel Sync with head.
 1.4.4.1 09-Sep-2006  rpaulo sync with head
 1.5.4.1 19-Jun-2006  chap Sync with head.
 1.5.2.2 11-May-2006  elad sync with head
 1.5.2.1 22-Apr-2006  elad file ashiftrt.S was added on branch elad-kernelauth on 2006-05-11 23:31:08 +0000
 1.6.72.1 19-Jan-2009  skrll Sync with HEAD.
 1.6.62.1 04-May-2009  yamt sync with head.
 1.6.58.1 17-Jan-2009  mjf Sync with HEAD.
 1.6.2.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.6.2.1 22-May-2006  tron file ashiftrt.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.6 07-Jan-2009  uwe These copy of gcc millicode routines is now included in librump (that
sucks in all libkern sources), so mark them ".hidden". I'm not sure
if this is the best course of action (dropping millicode from librump
might be a better idea), but it's the quickest fix to get sh3 builds
going again for now.
 1.5 22-May-2006  uwe branches: 1.5.2; 1.5.58; 1.5.62; 1.5.72;
G/c #ifdef PIC we inherited from the userland.
 1.4 22-Apr-2006  uwe branches: 1.4.2; 1.4.4;
libc gets gcc millicode from libgcc, so we don't need to keep it
in src/common. Move it to sys/lib/libkern/arch/sh3.
 1.3 20-Dec-2005  christos branches: 1.3.4; 1.3.6; 1.3.8;
Use common sources with userland.
 1.2 14-Feb-2001  msaitoh branches: 1.2.40;
_C_LABEL()
 1.1 13-Sep-1999  itojun branches: 1.1.2;
Merge in NetBSD/sh3 from cvs.kame.net repository.

Tree structure:
- sys/arch/sh3: sh3 generic code
As commented, in-chip device drivers are put into sys/arch/sh3/dev.
- sys/arch/evbsh3: sh3 evaluation boards (pure sh3 CPU, no fancy external HW)
- sys/arch/mmeye: Brains mmEye, www.brains.co.jp
MI source code includes couple of #ifdef for sh3-coff support.
(sh3 uses coff or elf)

Needs some more improvements, especialy in sys/arch/sh3/conf/files.sh3,
to compile the tree (due to last minute tree structure change).
 1.1.2.1 12-Mar-2001  bouyer Sync with HEAD.
 1.2.40.1 21-Jun-2006  yamt sync with head.
 1.3.8.1 24-May-2006  yamt sync with head.
 1.3.6.1 01-Jun-2006  kardel Sync with head.
 1.3.4.1 09-Sep-2006  rpaulo sync with head
 1.4.4.1 19-Jun-2006  chap Sync with head.
 1.4.2.2 11-May-2006  elad sync with head
 1.4.2.1 22-Apr-2006  elad file ashlsi3.S was added on branch elad-kernelauth on 2006-05-11 23:31:08 +0000
 1.5.72.1 19-Jan-2009  skrll Sync with HEAD.
 1.5.62.1 04-May-2009  yamt sync with head.
 1.5.58.1 17-Jan-2009  mjf Sync with HEAD.
 1.5.2.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.5.2.1 22-May-2006  tron file ashlsi3.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.6 07-Jan-2009  uwe These copy of gcc millicode routines is now included in librump (that
sucks in all libkern sources), so mark them ".hidden". I'm not sure
if this is the best course of action (dropping millicode from librump
might be a better idea), but it's the quickest fix to get sh3 builds
going again for now.
 1.5 22-May-2006  uwe branches: 1.5.2; 1.5.58; 1.5.62; 1.5.72;
G/c #ifdef PIC we inherited from the userland.
 1.4 22-Apr-2006  uwe branches: 1.4.2; 1.4.4;
libc gets gcc millicode from libgcc, so we don't need to keep it
in src/common. Move it to sys/lib/libkern/arch/sh3.
 1.3 20-Dec-2005  christos branches: 1.3.4; 1.3.6; 1.3.8;
Use common sources with userland.
 1.2 14-Feb-2001  msaitoh branches: 1.2.40;
_C_LABEL()
 1.1 13-Sep-1999  itojun branches: 1.1.2;
Merge in NetBSD/sh3 from cvs.kame.net repository.

Tree structure:
- sys/arch/sh3: sh3 generic code
As commented, in-chip device drivers are put into sys/arch/sh3/dev.
- sys/arch/evbsh3: sh3 evaluation boards (pure sh3 CPU, no fancy external HW)
- sys/arch/mmeye: Brains mmEye, www.brains.co.jp
MI source code includes couple of #ifdef for sh3-coff support.
(sh3 uses coff or elf)

Needs some more improvements, especialy in sys/arch/sh3/conf/files.sh3,
to compile the tree (due to last minute tree structure change).
 1.1.2.1 12-Mar-2001  bouyer Sync with HEAD.
 1.2.40.1 21-Jun-2006  yamt sync with head.
 1.3.8.1 24-May-2006  yamt sync with head.
 1.3.6.1 01-Jun-2006  kardel Sync with head.
 1.3.4.1 09-Sep-2006  rpaulo sync with head
 1.4.4.1 19-Jun-2006  chap Sync with head.
 1.4.2.2 11-May-2006  elad sync with head
 1.4.2.1 22-Apr-2006  elad file ashrsi3.S was added on branch elad-kernelauth on 2006-05-11 23:31:08 +0000
 1.5.72.1 19-Jan-2009  skrll Sync with HEAD.
 1.5.62.1 04-May-2009  yamt sync with head.
 1.5.58.1 17-Jan-2009  mjf Sync with HEAD.
 1.5.2.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.5.2.1 22-May-2006  tron file ashrsi3.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.4 08-Nov-2003  uwe Nuke bcopy. Move the code to memmove.S (which it is) make memmove the
primary entry point and comment out the bcopy entry point.

Kernels before and after the change are identical.
 1.3 20-Nov-2002  itohy branches: 1.3.6;
memcpy() and memmove() must return the first parameter.
Problem found by itohy, fixed by SHIMIZU Ryo.
 1.2 09-Jun-2000  msaitoh branches: 1.2.4; 1.2.6;
new bcopy.S
 1.1 20-Apr-2000  msaitoh branches: 1.1.2;
asm bcopy() for sh3
 1.1.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.2.6.1 11-Dec-2002  thorpej Sync with HEAD.
 1.2.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.2.4.1 09-Jun-2000  bouyer file bcopy.S was added on branch thorpej_scsipi on 2000-11-20 18:09:30 +0000
 1.3.6.1 03-Aug-2004  skrll Sync with HEAD
 1.6 14-Apr-2006  nonaka Always _LOCORE is defined for standalone program.
 1.5 04-Feb-2006  uwe branches: 1.5.2; 1.5.4; 1.5.6;
Truncate the argument to 16 bit with extu.w
 1.4 11-Dec-2005  christos branches: 1.4.2; 1.4.4; 1.4.6;
merge ktrace-lwp.
 1.3 09-Nov-2003  uwe branches: 1.3.16;
Compile identity ntoh*/hton* only for big endian case.
 1.2 21-Jul-2000  msaitoh branches: 1.2.24;
support "big endian", too.
 1.1 13-Sep-1999  itojun branches: 1.1.2; 1.1.12;
Merge in NetBSD/sh3 from cvs.kame.net repository.

Tree structure:
- sys/arch/sh3: sh3 generic code
As commented, in-chip device drivers are put into sys/arch/sh3/dev.
- sys/arch/evbsh3: sh3 evaluation boards (pure sh3 CPU, no fancy external HW)
- sys/arch/mmeye: Brains mmEye, www.brains.co.jp
MI source code includes couple of #ifdef for sh3-coff support.
(sh3 uses coff or elf)

Needs some more improvements, especialy in sys/arch/sh3/conf/files.sh3,
to compile the tree (due to last minute tree structure change).
 1.1.12.1 11-Aug-2000  msaitoh Pullup revision 1.5 (approved by thorpej):

support big endian, too.
 1.1.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.2.24.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.24.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.24.1 03-Aug-2004  skrll Sync with HEAD
 1.3.16.1 21-Jun-2006  yamt sync with head.
 1.4.6.1 22-Apr-2006  simonb Sync with head.
 1.4.4.1 09-Sep-2006  rpaulo sync with head
 1.4.2.1 18-Feb-2006  yamt sync with head.
 1.5.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.5.4.1 19-Apr-2006  elad sync with head.
 1.5.2.1 24-May-2006  yamt sync with head.
 1.5 14-Apr-2006  nonaka Always _LOCORE is defined for standalone program.
 1.4 11-Dec-2005  christos branches: 1.4.4; 1.4.6; 1.4.8; 1.4.10; 1.4.12;
merge ktrace-lwp.
 1.3 09-Nov-2003  uwe branches: 1.3.16;
Compile identity ntoh*/hton* only for big endian case.
 1.2 21-Jul-2000  msaitoh branches: 1.2.24;
support "big endian", too.
 1.1 13-Sep-1999  itojun branches: 1.1.2; 1.1.12;
Merge in NetBSD/sh3 from cvs.kame.net repository.

Tree structure:
- sys/arch/sh3: sh3 generic code
As commented, in-chip device drivers are put into sys/arch/sh3/dev.
- sys/arch/evbsh3: sh3 evaluation boards (pure sh3 CPU, no fancy external HW)
- sys/arch/mmeye: Brains mmEye, www.brains.co.jp
MI source code includes couple of #ifdef for sh3-coff support.
(sh3 uses coff or elf)

Needs some more improvements, especialy in sys/arch/sh3/conf/files.sh3,
to compile the tree (due to last minute tree structure change).
 1.1.12.1 11-Aug-2000  msaitoh Pullup revision 1.2 (approved by thorpej):

support big endian, too.
 1.1.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.2.24.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.24.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.24.1 03-Aug-2004  skrll Sync with HEAD
 1.3.16.1 21-Jun-2006  yamt sync with head.
 1.4.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.4.10.1 19-Apr-2006  elad sync with head.
 1.4.8.1 24-May-2006  yamt sync with head.
 1.4.6.1 22-Apr-2006  simonb Sync with head.
 1.4.4.1 09-Sep-2006  rpaulo sync with head
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 14-Nov-2003  uwe branches: 1.1.4;
bswap64 written in assembler.
 1.1.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.1.4.2 03-Aug-2004  skrll Sync with HEAD
 1.1.4.1 14-Nov-2003  skrll file byte_swap_8.S was added on branch ktrace-lwp on 2004-08-03 10:53:49 +0000
 1.2 13-Nov-2003  uwe Eliminate bzero.
 1.1 20-Nov-2002  itohy branches: 1.1.2; 1.1.8;
Assembly version of bzero()/memset().
Written by SHIMIZU Ryo.
 1.1.8.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 20-Nov-2002  thorpej file bzero.S was added on branch nathanw_sa on 2002-12-11 06:46:25 +0000
 1.5 20-Dec-2005  christos Use common sources with userland.
 1.4 01-Sep-2002  itohy branches: 1.4.2; 1.4.24;
Save 1-4 instructions on all cases except for the ret=0 case.

This is probably the last version from me. :)
You are welcome to speed it up, of course. :)

Here's a benchmark on SH-4 200MHz.
9.2% faster if all the cases occur evenly.

return value C version previous vers this version speed ratio
of ffs() (ns/call) *1 (ns/call) (ns/call) *2 (*1/*2)
 1.3 28-Aug-2002  itohy branches: 1.3.2;
Slightly improved version of ffs(3).
Partially from SHIMIZU Ryo <ryo@iij.ad.jp>. Thanks.
Some cases are slower, but other most cases are faster.

Here's a benchmark on SH-4 200MHz.

return value C version previous vers this version speed ratio
of ffs() (ns/call) *1 (ns/call) (ns/call) *2 (*1/*2)
 1.2 24-Aug-2002  itohy branches: 1.2.2;
Oops, SYSLIBC_SCCS -> LIBC_SCCS
 1.1 24-Aug-2002  itohy Assembly version of ffs(3).
Confirmed to return the same value as that of the C version.

The results of a simple benchmark on SH-4 200MHz, is shown below.
I think this shows acceptable performance.

return value C version this version speed
of ffs() (ns/call) (ns/call) ratio
 1.2.2.3 17-Sep-2002  nathanw Catch up to -current.
 1.2.2.2 27-Aug-2002  nathanw Catch up to -current.
 1.2.2.1 24-Aug-2002  nathanw file ffs.S was added on branch nathanw_sa on 2002-08-27 23:47:46 +0000
 1.3.2.2 29-Aug-2002  gehenna catch up with -current.
 1.3.2.1 28-Aug-2002  gehenna file ffs.S was added on branch gehenna-devsw on 2002-08-29 05:23:20 +0000
 1.4.24.1 21-Jun-2006  yamt sync with head.
 1.4.2.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.4.2.1 01-Sep-2002  jdolecek file ffs.S was added on branch kqueue on 2002-09-06 08:48:31 +0000
 1.6 07-Jan-2009  uwe These copy of gcc millicode routines is now included in librump (that
sucks in all libkern sources), so mark them ".hidden". I'm not sure
if this is the best course of action (dropping millicode from librump
might be a better idea), but it's the quickest fix to get sh3 builds
going again for now.
 1.5 22-May-2006  uwe branches: 1.5.2; 1.5.58; 1.5.62; 1.5.72;
G/c #ifdef PIC we inherited from the userland.
 1.4 22-Apr-2006  uwe branches: 1.4.2; 1.4.4;
libc gets gcc millicode from libgcc, so we don't need to keep it
in src/common. Move it to sys/lib/libkern/arch/sh3.
 1.3 20-Dec-2005  christos branches: 1.3.4; 1.3.6; 1.3.8;
Use common sources with userland.
 1.2 14-Feb-2001  msaitoh branches: 1.2.40;
_C_LABEL()
 1.1 13-Sep-1999  itojun branches: 1.1.2;
Merge in NetBSD/sh3 from cvs.kame.net repository.

Tree structure:
- sys/arch/sh3: sh3 generic code
As commented, in-chip device drivers are put into sys/arch/sh3/dev.
- sys/arch/evbsh3: sh3 evaluation boards (pure sh3 CPU, no fancy external HW)
- sys/arch/mmeye: Brains mmEye, www.brains.co.jp
MI source code includes couple of #ifdef for sh3-coff support.
(sh3 uses coff or elf)

Needs some more improvements, especialy in sys/arch/sh3/conf/files.sh3,
to compile the tree (due to last minute tree structure change).
 1.1.2.1 12-Mar-2001  bouyer Sync with HEAD.
 1.2.40.1 21-Jun-2006  yamt sync with head.
 1.3.8.1 24-May-2006  yamt sync with head.
 1.3.6.1 01-Jun-2006  kardel Sync with head.
 1.3.4.1 09-Sep-2006  rpaulo sync with head
 1.4.4.1 19-Jun-2006  chap Sync with head.
 1.4.2.2 11-May-2006  elad sync with head
 1.4.2.1 22-Apr-2006  elad file lshrsi3.S was added on branch elad-kernelauth on 2006-05-11 23:31:08 +0000
 1.5.72.1 19-Jan-2009  skrll Sync with HEAD.
 1.5.62.1 04-May-2009  yamt sync with head.
 1.5.58.1 17-Jan-2009  mjf Sync with HEAD.
 1.5.2.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.5.2.1 22-May-2006  tron file lshrsi3.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.3 20-Dec-2005  christos Use common sources with userland.
 1.2 09-Jun-2000  msaitoh branches: 1.2.4; 1.2.44;
new bcopy.S
 1.1 20-Apr-2000  msaitoh branches: 1.1.2;
asm bcopy() for sh3
 1.1.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.2.44.1 21-Jun-2006  yamt sync with head.
 1.2.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.2.4.1 09-Jun-2000  bouyer file memcpy.S was added on branch thorpej_scsipi on 2000-11-20 18:09:31 +0000
 1.6 20-Dec-2005  christos Use common sources with userland.
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 09-Nov-2003  uwe branches: 1.4.16;
Get rid of bcopy relics. Minimize diffs against the libc version.
 1.3 08-Nov-2003  uwe Nuke bcopy. Move the code to memmove.S (which it is) make memmove the
primary entry point and comment out the bcopy entry point.

Kernels before and after the change are identical.
 1.2 09-Jun-2000  msaitoh branches: 1.2.4; 1.2.28;
new bcopy.S
 1.1 20-Apr-2000  msaitoh branches: 1.1.2;
asm bcopy() for sh3
 1.1.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.2.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.28.1 03-Aug-2004  skrll Sync with HEAD
 1.2.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.2.4.1 09-Jun-2000  bouyer file memmove.S was added on branch thorpej_scsipi on 2000-11-20 18:09:31 +0000
 1.4.16.1 21-Jun-2006  yamt sync with head.
 1.2 20-Dec-2005  christos Use common sources with userland.
 1.1 20-Nov-2002  itohy branches: 1.1.2; 1.1.24;
Assembly version of bzero()/memset().
Written by SHIMIZU Ryo.
 1.1.24.1 21-Jun-2006  yamt sync with head.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 20-Nov-2002  thorpej file memset.S was added on branch nathanw_sa on 2002-12-11 06:46:25 +0000
 1.9 07-Jan-2009  uwe These copy of gcc millicode routines is now included in librump (that
sucks in all libkern sources), so mark them ".hidden". I'm not sure
if this is the best course of action (dropping millicode from librump
might be a better idea), but it's the quickest fix to get sh3 builds
going again for now.
 1.8 22-May-2006  uwe branches: 1.8.2; 1.8.58; 1.8.62; 1.8.72;
Provide __movmem* aliases to __movstr* functions.
Gcc4 uses movmem, older versions use movstr.
 1.7 22-May-2006  uwe G/c #ifdef PIC we inherited from the userland.
 1.6 22-Apr-2006  uwe branches: 1.6.2; 1.6.4;
libc gets gcc millicode from libgcc, so we don't need to keep it
in src/common. Move it to sys/lib/libkern/arch/sh3.
 1.5 20-Dec-2005  christos branches: 1.5.4; 1.5.6; 1.5.8;
Use common sources with userland.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 26-Feb-2005  perry branches: 1.3.4;
nuke trailing whitespace
 1.2 14-Feb-2001  msaitoh branches: 1.2.24; 1.2.32; 1.2.34;
_C_LABEL()
 1.1 13-Sep-1999  itojun branches: 1.1.2;
Merge in NetBSD/sh3 from cvs.kame.net repository.

Tree structure:
- sys/arch/sh3: sh3 generic code
As commented, in-chip device drivers are put into sys/arch/sh3/dev.
- sys/arch/evbsh3: sh3 evaluation boards (pure sh3 CPU, no fancy external HW)
- sys/arch/mmeye: Brains mmEye, www.brains.co.jp
MI source code includes couple of #ifdef for sh3-coff support.
(sh3 uses coff or elf)

Needs some more improvements, especialy in sys/arch/sh3/conf/files.sh3,
to compile the tree (due to last minute tree structure change).
 1.1.2.1 12-Mar-2001  bouyer Sync with HEAD.
 1.2.34.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.2.32.1 29-Apr-2005  kent sync with -current
 1.2.24.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.3.4.1 21-Jun-2006  yamt sync with head.
 1.5.8.1 24-May-2006  yamt sync with head.
 1.5.6.1 01-Jun-2006  kardel Sync with head.
 1.5.4.1 09-Sep-2006  rpaulo sync with head
 1.6.4.1 19-Jun-2006  chap Sync with head.
 1.6.2.2 11-May-2006  elad sync with head
 1.6.2.1 22-Apr-2006  elad file movstr.S was added on branch elad-kernelauth on 2006-05-11 23:31:08 +0000
 1.8.72.1 19-Jan-2009  skrll Sync with HEAD.
 1.8.62.1 04-May-2009  yamt sync with head.
 1.8.58.1 17-Jan-2009  mjf Sync with HEAD.
 1.8.2.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.8.2.1 22-May-2006  tron file movstr.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.2 16-Sep-1999  msaitoh unused file (we have an asm version)
 1.1 13-Sep-1999  itojun Merge in NetBSD/sh3 from cvs.kame.net repository.

Tree structure:
- sys/arch/sh3: sh3 generic code
As commented, in-chip device drivers are put into sys/arch/sh3/dev.
- sys/arch/evbsh3: sh3 evaluation boards (pure sh3 CPU, no fancy external HW)
- sys/arch/mmeye: Brains mmEye, www.brains.co.jp
MI source code includes couple of #ifdef for sh3-coff support.
(sh3 uses coff or elf)

Needs some more improvements, especialy in sys/arch/sh3/conf/files.sh3,
to compile the tree (due to last minute tree structure change).
 1.8 07-Jan-2009  uwe These copy of gcc millicode routines is now included in librump (that
sucks in all libkern sources), so mark them ".hidden". I'm not sure
if this is the best course of action (dropping millicode from librump
might be a better idea), but it's the quickest fix to get sh3 builds
going again for now.
 1.7 22-May-2006  uwe branches: 1.7.2; 1.7.58; 1.7.62; 1.7.72;
Provide __movmem* aliases to __movstr* functions.
Gcc4 uses movmem, older versions use movstr.
 1.6 22-May-2006  uwe G/c #ifdef PIC we inherited from the userland.
 1.5 22-Apr-2006  uwe branches: 1.5.2; 1.5.4;
libc gets gcc millicode from libgcc, so we don't need to keep it
in src/common. Move it to sys/lib/libkern/arch/sh3.
 1.4 20-Dec-2005  christos branches: 1.4.4; 1.4.6; 1.4.8;
Use common sources with userland.
 1.3 14-Feb-2001  msaitoh branches: 1.3.40;
don't profile (use NENTRY() and ALTENTRY())
 1.2 14-Feb-2001  msaitoh ENTRY()
 1.1 09-Jun-2000  msaitoh branches: 1.1.4; 1.1.6;
movstrSI*() for gcc -Os
 1.1.6.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.1.6.1 09-Jun-2000  bouyer file movstrSI.S was added on branch thorpej_scsipi on 2000-11-20 18:09:31 +0000
 1.1.4.2 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.1.4.1 09-Jun-2000  minoura file movstrSI.S was added on branch minoura-xpg4dl on 2000-06-22 17:09:28 +0000
 1.3.40.1 21-Jun-2006  yamt sync with head.
 1.4.8.1 24-May-2006  yamt sync with head.
 1.4.6.1 01-Jun-2006  kardel Sync with head.
 1.4.4.1 09-Sep-2006  rpaulo sync with head
 1.5.4.1 19-Jun-2006  chap Sync with head.
 1.5.2.2 11-May-2006  elad sync with head
 1.5.2.1 22-Apr-2006  elad file movstrSI.S was added on branch elad-kernelauth on 2006-05-11 23:31:08 +0000
 1.7.72.1 19-Jan-2009  skrll Sync with HEAD.
 1.7.62.1 04-May-2009  yamt sync with head.
 1.7.58.1 17-Jan-2009  mjf Sync with HEAD.
 1.7.2.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.7.2.1 22-May-2006  tron file movstrSI.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.2 07-Jan-2009  uwe These copy of gcc millicode routines is now included in librump (that
sucks in all libkern sources), so mark them ".hidden". I'm not sure
if this is the best course of action (dropping millicode from librump
might be a better idea), but it's the quickest fix to get sh3 builds
going again for now.
 1.1 14-Mar-2007  uwe branches: 1.1.4; 1.1.6; 1.1.10; 1.1.12; 1.1.22; 1.1.42; 1.1.46; 1.1.56;
Provide __movmemSI12_i4 (gcc4) a.k.a. __movstrSI12_i4 (gcc3) that gcc
emits for sh4 to copy 12 bytes at certain optimization levels.
Discovered by compiling landisk kernel with -Os.

Use gcc3 naming ("movstr") to match the rest of the "movstr" files.
 1.1.56.1 19-Jan-2009  skrll Sync with HEAD.
 1.1.46.1 04-May-2009  yamt sync with head.
 1.1.42.1 17-Jan-2009  mjf Sync with HEAD.
 1.1.22.2 03-Sep-2007  yamt sync with head.
 1.1.22.1 14-Mar-2007  yamt file movstrSI12_i4.S was added on branch yamt-lazymbuf on 2007-09-03 14:41:30 +0000
 1.1.12.2 11-Jul-2007  mjf Sync with head.
 1.1.12.1 14-Mar-2007  mjf file movstrSI12_i4.S was added on branch mjf-ufs-trans on 2007-07-11 20:10:28 +0000
 1.1.10.2 20-Apr-2007  bouyer Pull up following revision(s) (requested by uwe in ticket #585):
sys/lib/libkern/arch/sh3/Makefile.inc: revision 1.16
sys/lib/libkern/arch/sh3/movstrSI12_i4.S: revision 1.1
Provide __movmemSI12_i4 (gcc4) a.k.a. __movstrSI12_i4 (gcc3) that gcc
emits for sh4 to copy 12 bytes at certain optimization levels.
Discovered by compiling landisk kernel with -Os.
Use gcc3 naming ("movstr") to match the rest of the "movstr" files.
 1.1.10.1 14-Mar-2007  bouyer file movstrSI12_i4.S was added on branch netbsd-4 on 2007-04-20 20:35:32 +0000
 1.1.6.2 10-Apr-2007  ad Sync with head.
 1.1.6.1 14-Mar-2007  ad file movstrSI12_i4.S was added on branch vmlocking on 2007-04-10 13:26:18 +0000
 1.1.4.2 24-Mar-2007  yamt sync with head.
 1.1.4.1 14-Mar-2007  yamt file movstrSI12_i4.S was added on branch yamt-idlelwp on 2007-03-24 14:56:07 +0000
 1.6 07-Jan-2009  uwe These copy of gcc millicode routines is now included in librump (that
sucks in all libkern sources), so mark them ".hidden". I'm not sure
if this is the best course of action (dropping millicode from librump
might be a better idea), but it's the quickest fix to get sh3 builds
going again for now.
 1.5 22-May-2006  uwe branches: 1.5.2; 1.5.58; 1.5.62; 1.5.72;
Provide __movmem* aliases to __movstr* functions.
Gcc4 uses movmem, older versions use movstr.
 1.4 22-May-2006  uwe G/c #ifdef PIC we inherited from the userland.
 1.3 22-Apr-2006  uwe branches: 1.3.2; 1.3.4;
libc gets gcc millicode from libgcc, so we don't need to keep it
in src/common. Move it to sys/lib/libkern/arch/sh3.
 1.2 20-Dec-2005  christos branches: 1.2.4; 1.2.6; 1.2.8;
Use common sources with userland.
 1.1 05-Sep-2002  msaitoh branches: 1.1.2; 1.1.4; 1.1.26;
Add __movstr_i4_{odd,even} for -m4.
Written by SHIMIZU Ryo.
 1.1.26.1 21-Jun-2006  yamt sync with head.
 1.1.4.2 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.4.1 05-Sep-2002  jdolecek file movstr_i4.S was added on branch kqueue on 2002-10-10 18:43:26 +0000
 1.1.2.2 17-Sep-2002  nathanw Catch up to -current.
 1.1.2.1 05-Sep-2002  nathanw file movstr_i4.S was added on branch nathanw_sa on 2002-09-17 21:22:35 +0000
 1.2.8.1 24-May-2006  yamt sync with head.
 1.2.6.1 01-Jun-2006  kardel Sync with head.
 1.2.4.1 09-Sep-2006  rpaulo sync with head
 1.3.4.1 19-Jun-2006  chap Sync with head.
 1.3.2.2 11-May-2006  elad sync with head
 1.3.2.1 22-Apr-2006  elad file movstr_i4.S was added on branch elad-kernelauth on 2006-05-11 23:31:08 +0000
 1.5.72.1 19-Jan-2009  skrll Sync with HEAD.
 1.5.62.1 04-May-2009  yamt sync with head.
 1.5.58.1 17-Jan-2009  mjf Sync with HEAD.
 1.5.2.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.5.2.1 22-May-2006  tron file movstr_i4.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.6 07-Jan-2009  uwe These copy of gcc millicode routines is now included in librump (that
sucks in all libkern sources), so mark them ".hidden". I'm not sure
if this is the best course of action (dropping millicode from librump
might be a better idea), but it's the quickest fix to get sh3 builds
going again for now.
 1.5 22-May-2006  uwe branches: 1.5.2; 1.5.58; 1.5.62; 1.5.72;
G/c #ifdef PIC we inherited from the userland.
 1.4 22-Apr-2006  uwe branches: 1.4.2; 1.4.4;
libc gets gcc millicode from libgcc, so we don't need to keep it
in src/common. Move it to sys/lib/libkern/arch/sh3.
 1.3 20-Dec-2005  christos branches: 1.3.4; 1.3.6; 1.3.8;
Use common sources with userland.
 1.2 14-Feb-2001  msaitoh branches: 1.2.40;
_C_LABEL()
 1.1 13-Sep-1999  itojun branches: 1.1.2;
Merge in NetBSD/sh3 from cvs.kame.net repository.

Tree structure:
- sys/arch/sh3: sh3 generic code
As commented, in-chip device drivers are put into sys/arch/sh3/dev.
- sys/arch/evbsh3: sh3 evaluation boards (pure sh3 CPU, no fancy external HW)
- sys/arch/mmeye: Brains mmEye, www.brains.co.jp
MI source code includes couple of #ifdef for sh3-coff support.
(sh3 uses coff or elf)

Needs some more improvements, especialy in sys/arch/sh3/conf/files.sh3,
to compile the tree (due to last minute tree structure change).
 1.1.2.1 12-Mar-2001  bouyer Sync with HEAD.
 1.2.40.1 21-Jun-2006  yamt sync with head.
 1.3.8.1 24-May-2006  yamt sync with head.
 1.3.6.1 01-Jun-2006  kardel Sync with head.
 1.3.4.1 09-Sep-2006  rpaulo sync with head
 1.4.4.1 19-Jun-2006  chap Sync with head.
 1.4.2.2 11-May-2006  elad sync with head
 1.4.2.1 22-Apr-2006  elad file mulsi3.S was added on branch elad-kernelauth on 2006-05-11 23:31:08 +0000
 1.5.72.1 19-Jan-2009  skrll Sync with HEAD.
 1.5.62.1 04-May-2009  yamt sync with head.
 1.5.58.1 17-Jan-2009  mjf Sync with HEAD.
 1.5.2.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.5.2.1 22-May-2006  tron file mulsi3.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.12 05-Aug-2011  uwe Reword the comment about "millicode" nature of these functions and add
it to sdivsi3.S too.

Remove !_KERNEL code left over from the days when we shared these
files with userland.

Use .L prefix for local label.
 1.11 14-Jul-2011  mrg revert the _i4i aliases. they are not the right thing.
 1.10 06-Jul-2011  mrg add weak aliases for __sdivsi3_i4i and __udivsi3_i4i.
 1.9 07-Jan-2009  uwe These copy of gcc millicode routines is now included in librump (that
sucks in all libkern sources), so mark them ".hidden". I'm not sure
if this is the best course of action (dropping millicode from librump
might be a better idea), but it's the quickest fix to get sh3 builds
going again for now.
 1.8 22-May-2006  uwe branches: 1.8.2; 1.8.58; 1.8.62; 1.8.72;
G/c #ifdef PIC we inherited from the userland.
 1.7 22-Apr-2006  uwe branches: 1.7.2; 1.7.4;
libc gets gcc millicode from libgcc, so we don't need to keep it
in src/common. Move it to sys/lib/libkern/arch/sh3.
 1.6 20-Dec-2005  christos branches: 1.6.4; 1.6.6; 1.6.8;
Use common sources with userland.
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 07-Aug-2003  agc branches: 1.4.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.3 09-Sep-2000  msaitoh branches: 1.3.24;
check _STANDALONE macro, too.
 1.2 03-Jan-2000  msaitoh branches: 1.2.4;
don't clobber r4 and r5
 1.1 13-Sep-1999  itojun branches: 1.1.2;
Merge in NetBSD/sh3 from cvs.kame.net repository.

Tree structure:
- sys/arch/sh3: sh3 generic code
As commented, in-chip device drivers are put into sys/arch/sh3/dev.
- sys/arch/evbsh3: sh3 evaluation boards (pure sh3 CPU, no fancy external HW)
- sys/arch/mmeye: Brains mmEye, www.brains.co.jp
MI source code includes couple of #ifdef for sh3-coff support.
(sh3 uses coff or elf)

Needs some more improvements, especialy in sys/arch/sh3/conf/files.sh3,
to compile the tree (due to last minute tree structure change).
 1.1.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.2.4.1 21-Sep-2000  msaitoh pullup revision 1.3 (approved by thorpej):

check _STANDALONE macro, too (for boot-loader)
 1.3.24.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.24.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.24.1 03-Aug-2004  skrll Sync with HEAD
 1.4.16.1 21-Jun-2006  yamt sync with head.
 1.6.8.1 24-May-2006  yamt sync with head.
 1.6.6.1 01-Jun-2006  kardel Sync with head.
 1.6.4.1 09-Sep-2006  rpaulo sync with head
 1.7.4.1 19-Jun-2006  chap Sync with head.
 1.7.2.2 11-May-2006  elad sync with head
 1.7.2.1 22-Apr-2006  elad file sdivsi3.S was added on branch elad-kernelauth on 2006-05-11 23:31:08 +0000
 1.8.72.1 19-Jan-2009  skrll Sync with HEAD.
 1.8.62.1 04-May-2009  yamt sync with head.
 1.8.58.1 17-Jan-2009  mjf Sync with HEAD.
 1.8.2.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.8.2.1 22-May-2006  tron file sdivsi3.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.2 05-Aug-2011  uwe Reword the comment about "millicode" nature of these functions and add
it to sdivsi3_i4i.S too.
 1.1 04-Aug-2011  uwe For unsignad integer division gcc used to emit a call to __udivsi3
"millicode" function that uses compiler-private ABI. Newer gcc uses
heavily tuned __udivsi3_i4i that is NOT compatible with __udivsi3
because it's expected to clobber different registers. We don't want
to link the kernel against libgcc and we don't have resources to write
heavily tuned version ourselves, so clone __udivsi3 but adjust it to
conform to the __udivsi3_i4i clobber spec.

Ditto for signed division.

You can make gcc use old routines with -mdiv=call-div1 to avoid few
extra instructions to save/restore the right registers in the signed
division funcion.
 1.11 05-Aug-2011  uwe Reword the comment about "millicode" nature of these functions and add
it to sdivsi3.S too.

Remove !_KERNEL code left over from the days when we shared these
files with userland.

Use .L prefix for local label.
 1.10 14-Jul-2011  mrg revert the _i4i aliases. they are not the right thing.
 1.9 06-Jul-2011  mrg add weak aliases for __sdivsi3_i4i and __udivsi3_i4i.
 1.8 07-Jan-2009  uwe These copy of gcc millicode routines is now included in librump (that
sucks in all libkern sources), so mark them ".hidden". I'm not sure
if this is the best course of action (dropping millicode from librump
might be a better idea), but it's the quickest fix to get sh3 builds
going again for now.
 1.7 22-May-2006  uwe branches: 1.7.2; 1.7.58; 1.7.62; 1.7.72;
G/c #ifdef PIC we inherited from the userland.
 1.6 22-Apr-2006  uwe branches: 1.6.2; 1.6.4;
libc gets gcc millicode from libgcc, so we don't need to keep it
in src/common. Move it to sys/lib/libkern/arch/sh3.
 1.5 20-Dec-2005  christos branches: 1.5.4; 1.5.6; 1.5.8;
Use common sources with userland.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 07-Aug-2003  agc branches: 1.3.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.2 21-Dec-1999  msaitoh branches: 1.2.28;
check _STANDALONE
 1.1 13-Sep-1999  itojun branches: 1.1.2; 1.1.8;
Merge in NetBSD/sh3 from cvs.kame.net repository.

Tree structure:
- sys/arch/sh3: sh3 generic code
As commented, in-chip device drivers are put into sys/arch/sh3/dev.
- sys/arch/evbsh3: sh3 evaluation boards (pure sh3 CPU, no fancy external HW)
- sys/arch/mmeye: Brains mmEye, www.brains.co.jp
MI source code includes couple of #ifdef for sh3-coff support.
(sh3 uses coff or elf)

Needs some more improvements, especialy in sys/arch/sh3/conf/files.sh3,
to compile the tree (due to last minute tree structure change).
 1.1.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.2.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.28.1 03-Aug-2004  skrll Sync with HEAD
 1.3.16.1 21-Jun-2006  yamt sync with head.
 1.5.8.1 24-May-2006  yamt sync with head.
 1.5.6.1 01-Jun-2006  kardel Sync with head.
 1.5.4.1 09-Sep-2006  rpaulo sync with head
 1.6.4.1 19-Jun-2006  chap Sync with head.
 1.6.2.2 11-May-2006  elad sync with head
 1.6.2.1 22-Apr-2006  elad file udivsi3.S was added on branch elad-kernelauth on 2006-05-11 23:31:08 +0000
 1.7.72.1 19-Jan-2009  skrll Sync with HEAD.
 1.7.62.1 04-May-2009  yamt sync with head.
 1.7.58.1 17-Jan-2009  mjf Sync with HEAD.
 1.7.2.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.7.2.1 22-May-2006  tron file udivsi3.S was added on branch peter-altq on 2006-05-24 15:50:42 +0000
 1.2 05-Aug-2011  uwe Reword the comment about "millicode" nature of these functions and add
it to sdivsi3_i4i.S too.
 1.1 04-Aug-2011  uwe For unsignad integer division gcc used to emit a call to __udivsi3
"millicode" function that uses compiler-private ABI. Newer gcc uses
heavily tuned __udivsi3_i4i that is NOT compatible with __udivsi3
because it's expected to clobber different registers. We don't want
to link the kernel against libgcc and we don't have resources to write
heavily tuned version ourselves, so clone __udivsi3 but adjust it to
conform to the __udivsi3_i4i clobber spec.

Ditto for signed division.

You can make gcc use old routines with -mdiv=call-div1 to avoid few
extra instructions to save/restore the right registers in the signed
division funcion.
 1.3 18-Nov-1996  pk sync with libc source: remove DEFS.h
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 30-Jun-1994  deraadt auto-copied from libc
 1.36 17-Mar-2013  nakayama Revert previous. christos fixed the root cause.
 1.35 14-Mar-2013  nakayama Make sparc64 32-bit kernel buildable.
 1.34 14-Aug-2009  dsl Move that majority of the 'SRCS+= foo.c' into the main Makefile.libkern.
Any .S files added by the arch/*/Makefile.inc cause the .c file to
be excluded.
Specific exclusions added using NO_SRCS to match previous files.
At least sparc, sparc64, i386, amd64 and vax GENERIC still build.
(There is a fubar with the naming of the byte-swap files ...)
 1.33 12-Aug-2009  dsl Split the lines that add .c to SRCS from those that add .S
No changes (apart from the order) intended.
 1.32 11-Dec-2005  christos branches: 1.32.74;
merge ktrace-lwp.
 1.31 22-Apr-2005  reed Use ${TOOL_M4} instead of "m4". (I only tested this fix
for sparc but not sparc64 or alpha yet.)

Noticed problem when building NetBSD/sparc from a Linux/i386 host
that didn't have "m4".
 1.30 08-Nov-2003  lukem branches: 1.30.8;
Add '.SUFFIXES: .m4' here, now that <sys.mk> doesn't provide it anymore.
It appears that .PATH.m4: needs it.
Should fix problem noted in private mail by Markus W Kilbinger.
 1.29 08-Nov-2003  jdolecek don't need bcmp() and bzero()
 1.28 16-Apr-2002  martin branches: 1.28.10;
Add strtoul.c, otherwise kernels using "wi* at pcmcia?" do not work
anymore.

Why only four archs provide this is beyound me.
 1.27 01-Jul-2001  kleink branches: 1.27.2;
Sync with libc: use bzero-based assembly version of memset().
 1.26 01-Nov-2000  thorpej branches: 1.26.2;
Add a strcasecmp(), modified from chopps's strncasecmp().
 1.25 09-May-1999  pk branches: 1.25.2;
Add .PATH.m4
 1.24 24-Feb-1999  chs branches: 1.24.4;
don't list any *.S files in SRCS multiple times, once is enough.
 1.23 04-Aug-1998  perry branches: 1.23.2;
add memcmp.c
 1.22 22-Feb-1998  mycroft Move random() from kernel.
 1.21 22-Feb-1998  mycroft Don't list bcopy.c here, since we only want memcpy() and not bcopy().
XXX What a kluge!
 1.20 22-Feb-1998  mycroft We need memcpy().
 1.19 22-Feb-1998  mycroft Add some missing things.
 1.18 21-Jan-1998  cgd add rules like those in libc to build strchr() and strrchr() (the latter
is being added to libkern by this commit). remove strchr.c from
archs' Makefile.inc files to go along with this. (If an arch has
a .S version, it should be copied down and added to the apropriate
Makefile.inc.)
 1.17 24-Oct-1997  chuck add memchr() to libkern
 1.16 09-Oct-1997  bouyer Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
 1.15 18-Jan-1997  cgd branches: 1.15.8;
add strchr() to libkern. strchr.c copied from libc's "index.c", but with
appropriate definitions so that it'll build strchr(), and so that it builds
correctly in libkern (needed to #define NULL).
 1.14 18-Nov-1996  pk Remove `chmod 444's.
 1.13 27-Aug-1996  cgd Add machine-independent assertion-checking support. macros are:

assert() which always does assertion checking
unless "NDEBUG" is defined.

KASSERT() which does assertion checking if DIAGNOSTIC
is defined.

KDASSERT() which does assertion checking if DEBUG is
define. This macro exists for compatibility
with existing ports' assertion checking macros.
(Assertion checking is not typically an
"expensive" operation, and DIAGNOSTIC should be
used for inexpensive consistency checks.)
 1.12 23-Apr-1996  christos Remove memset.c; it is not currently used, and .c files should belong in
the MI portion of libkern. When/if we move to use mem* routines in the kernel
we can add it to the MI portion/write a memset.s.
 1.11 13-Apr-1996  cgd add strncasecmp.c to ports' libkern Makefile.inc's. When adding a new
source file to libkern, it should be added to _ALL_ ports makefiles if
it is machine-independent and used by machine-independent code (in
this case adosfs). (There are several arguments that say that
strncasecmp should not be in libkern at all, and i think they're
good ones, but as long as ADOSFS needs it to link, it has to be here
for all architectures.)
 1.10 07-Oct-1995  mycroft Remove setjmp() and ffs().
 1.9 26-Oct-1994  cgd new RCS ID format.
 1.8 15-Sep-1994  deraadt gcc automatically calls memset in certain situations.
 1.7 30-Jun-1994  deraadt find divrem.m4 automatically
 1.6 22-Mar-1994  deraadt delete some unneeded things
 1.5 15-Jan-1994  pk Find source in the right places.
 1.4 05-Dec-1993  cgd use .S
 1.3 15-Oct-1993  cgd branches: 1.3.2;
add strncmp to anything
 1.2 15-Oct-1993  cgd add __main()
 1.1 13-Oct-1993  cgd move 'boot' and 'libkern' into 'lib'. generally clean up 'kernel library'
building and dependencies.
 1.3.2.2 05-Dec-1993  cgd use .S
 1.3.2.1 15-Oct-1993  cgd file Makefile.inc was added on branch magnum on 1993-12-05 01:52:48 +0000
 1.15.8.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.23.2.1 09-Nov-1998  chs initial snapshot. lots left to do.
 1.24.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.25.2.1 22-Nov-2000  bouyer Sync with HEAD.
 1.26.2.2 17-Apr-2002  nathanw Catch up to -current.
 1.26.2.1 24-Aug-2001  nathanw Catch up with -current.
 1.27.2.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.28.10.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.28.10.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.28.10.2 18-Sep-2004  skrll Sync with HEAD.
 1.28.10.1 03-Aug-2004  skrll Sync with HEAD
 1.30.8.1 29-Apr-2005  kent sync with -current
 1.32.74.1 19-Aug-2009  yamt sync with head.
 1.9 30-Mar-2006  uwe G/c this stale copy of SYS.h. It has not been updated since 1999. It
has not been used since an unused copy of setjmp.S has been removed
from here in 2002 (i386 removed its own in 1999).
 1.8 11-Dec-2005  christos branches: 1.8.4; 1.8.6; 1.8.8; 1.8.10; 1.8.12;
merge ktrace-lwp.
 1.7 26-Feb-2005  perry branches: 1.7.4;
nuke trailing whitespace
 1.6 07-Aug-2003  agc branches: 1.6.8; 1.6.10;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.5 05-Mar-1999  pk branches: 1.5.42;
Sync with libc
 1.4 13-Oct-1997  lukem rcsid fascism
 1.3 18-Nov-1996  pk branches: 1.3.10;
sync with libc source: remove DEFS.h
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 30-Jun-1994  deraadt auto-copied from libc
 1.3.10.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.5.42.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.5.42.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.42.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.42.1 03-Aug-2004  skrll Sync with HEAD
 1.6.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.6.8.1 29-Apr-2005  kent sync with -current
 1.7.4.1 21-Jun-2006  yamt sync with head.
 1.8.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.8.10.1 19-Apr-2006  elad sync with head.
 1.8.8.1 01-Apr-2006  yamt sync with head.
 1.8.6.1 22-Apr-2006  simonb Sync with head.
 1.8.4.1 09-Sep-2006  rpaulo sync with head
 1.6 27-Oct-2002  chs remove setjmp/longjmp from libkern, they're not used.
 1.5 05-Mar-1999  pk branches: 1.5.20;
Sync with libc
 1.4 13-Oct-1997  lukem rcsid fascism
 1.3 18-Nov-1996  pk branches: 1.3.10;
sync with libc source: remove DEFS.h
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 30-Jun-1994  deraadt auto-copied from libc
 1.3.10.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.5.20.1 11-Nov-2002  nathanw Catch up to -current
 1.9 20-Dec-2005  christos Use common sources with userland.
 1.8 11-Dec-2005  christos merge ktrace-lwp.
 1.7 07-Aug-2003  agc branches: 1.7.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.6 01-Jul-2001  kleink branches: 1.6.22;
Sync with libc: use bzero-based assembly version of memset().
 1.5 05-Mar-1999  pk branches: 1.5.20;
Sync with libc
 1.4 13-Oct-1997  lukem rcsid fascism
 1.3 18-Nov-1996  pk branches: 1.3.10;
sync with libc source: remove DEFS.h
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 30-Jun-1994  deraadt auto-copied from libc
 1.3.10.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.5.20.1 24-Aug-2001  nathanw Catch up with -current.
 1.6.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.22.1 03-Aug-2004  skrll Sync with HEAD
 1.7.16.1 21-Jun-2006  yamt sync with head.
 1.9 13-Jun-2011  mrg catch up with the userland copy:
>revision 1.6
>date: 2011/03/23 20:54:35; author: martin; state: Exp; lines: +2 -2
>Avoid using %g7

fixes rump on sparc, at least somewhat.
tested that normal kernels runs fine this with this change, too.
 1.8 11-Dec-2005  christos branches: 1.8.108;
merge ktrace-lwp.
 1.7 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.6 05-Mar-1999  pk branches: 1.6.42;
Sync with libc
 1.5 13-Oct-1997  lukem rcsid fascism
 1.4 18-Nov-1996  pk branches: 1.4.10;
sync with libc source: remove DEFS.h
 1.3 22-Apr-1995  pk eserve the equality "x == y*(x/y)+(x%y)" for negative y; from Lon Willett.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 30-Jun-1994  deraadt auto-copied from libc
 1.4.10.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.6.42.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.42.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.42.1 03-Aug-2004  skrll Sync with HEAD
 1.8.108.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.14 20-Dec-2005  christos Use common sources with userland.
 1.13 11-Dec-2005  christos merge ktrace-lwp.
 1.12 07-Aug-2003  agc branches: 1.12.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.11 13-May-2001  kleink branches: 1.11.22;
Make this work for PIC (as opposed to pic) without taking chances of fitting
__ffstab into a GOT13 relocation; from Eduardo Horvath.
 1.10 06-Sep-1999  chs branches: 1.10.14;
sync with libc:
use RODATA() instead of ENTRY() for __ffstab so that it works when profiling.
 1.9 05-Mar-1999  pk Sync with libc
 1.8 24-Feb-1999  chs use RODATA(__ffstab) instead of ENTRY().
this makes profiling kernels work on the sparc.
 1.7 07-May-1998  pk branches: 1.7.4;
Sync with libc.
 1.6 22-Feb-1998  mycroft Fix omission in last.
 1.5 22-Feb-1998  mycroft Copy up.
 1.4 13-Oct-1997  lukem rcsid fascism
 1.3 18-Nov-1996  pk branches: 1.3.10;
sync with libc source: remove DEFS.h
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 30-Jun-1994  deraadt auto-copied from libc
 1.3.10.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.7.4.1 25-Feb-1999  chs sync with HEAD - profiling fixes.
 1.10.14.1 21-Jun-2001  nathanw Catch up to -current.
 1.11.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.11.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.11.22.1 03-Aug-2004  skrll Sync with HEAD
 1.12.16.1 21-Jun-2006  yamt sync with head.
 1.8 20-Dec-2005  christos Use common sources with userland.
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 07-Aug-2003  agc branches: 1.6.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.5 05-Mar-1999  pk branches: 1.5.42;
Sync with libc
 1.4 13-Oct-1997  lukem rcsid fascism
 1.3 18-Nov-1996  pk branches: 1.3.10;
sync with libc source: remove DEFS.h
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 30-Jun-1994  deraadt auto-copied from libc
 1.3.10.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.5.42.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.42.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.42.1 03-Aug-2004  skrll Sync with HEAD
 1.6.16.1 21-Jun-2006  yamt sync with head.
 1.8 20-Dec-2005  christos Use common sources with userland.
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 07-Aug-2003  agc branches: 1.6.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.5 05-Mar-1999  pk branches: 1.5.42;
Sync with libc
 1.4 13-Oct-1997  lukem rcsid fascism
 1.3 18-Nov-1996  pk branches: 1.3.10;
sync with libc source: remove DEFS.h
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 30-Jun-1994  deraadt auto-copied from libc
 1.3.10.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.5.42.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.42.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.42.1 03-Aug-2004  skrll Sync with HEAD
 1.6.16.1 21-Jun-2006  yamt sync with head.
 1.2 20-Dec-2005  christos Use common sources with userland.
 1.1 01-Jul-2001  kleink branches: 1.1.4; 1.1.40;
Sync with libc: use bzero-based assembly version of memset().
 1.1.40.1 21-Jun-2006  yamt sync with head.
 1.1.4.2 24-Aug-2001  nathanw Catch up with -current.
 1.1.4.1 01-Jul-2001  nathanw file memset.S was added on branch nathanw_sa on 2001-08-24 00:11:52 +0000
 1.6 23-Apr-1996  christos Remove memset.c; it is not currently used, and .c files should belong in
the MI portion of libkern. When/if we move to use mem* routines in the kernel
we can add it to the MI portion/write a memset.s.
 1.5 18-Apr-1996  cgd don't include user-land headers in libkern files when compiling for
the kernel. memset.c does not belong here. it either belongs in
the MI libkern directory, or does not belong in libkern at all.
 1.4 11-Mar-1996  scottr Back out previous change.
 1.3 11-Mar-1996  thorpej Provide a memset() for the i386 (assembly version), and move memset.c
out into the libkern proper in case other ports want to use it.
i386 kernels with COMPAT_LINUX should compile now.
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 15-Sep-1994  deraadt gcc automatically calls memset in certain situations.
 1.9 20-Dec-2005  christos Use common sources with userland.
 1.8 11-Dec-2005  christos merge ktrace-lwp.
 1.7 26-Feb-2005  perry branches: 1.7.4;
nuke trailing whitespace
 1.6 07-Aug-2003  agc branches: 1.6.8; 1.6.10;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.5 05-Mar-1999  pk branches: 1.5.42;
Sync with libc
 1.4 13-Oct-1997  lukem rcsid fascism
 1.3 18-Nov-1996  pk branches: 1.3.10;
sync with libc source: remove DEFS.h
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 30-Jun-1994  deraadt auto-copied from libc
 1.3.10.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.5.42.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.5.42.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.42.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.42.1 03-Aug-2004  skrll Sync with HEAD
 1.6.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.6.8.1 29-Apr-2005  kent sync with -current
 1.7.4.1 21-Jun-2006  yamt sync with head.
 1.8 20-Dec-2005  christos Use common sources with userland.
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 07-Aug-2003  agc branches: 1.6.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.5 05-Mar-1999  pk branches: 1.5.42;
Sync with libc
 1.4 13-Oct-1997  lukem rcsid fascism
 1.3 18-Nov-1996  pk branches: 1.3.10;
sync with libc source: remove DEFS.h
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 30-Jun-1994  deraadt auto-copied from libc
 1.3.10.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.5.42.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.42.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.42.1 03-Aug-2004  skrll Sync with HEAD
 1.6.16.1 21-Jun-2006  yamt sync with head.
 1.8 20-Dec-2005  christos Use common sources with userland.
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 07-Aug-2003  agc branches: 1.6.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.5 05-Mar-1999  pk branches: 1.5.42;
Sync with libc
 1.4 13-Oct-1997  lukem rcsid fascism
 1.3 18-Nov-1996  pk branches: 1.3.10;
sync with libc source: remove DEFS.h
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 30-Jun-1994  deraadt auto-copied from libc
 1.3.10.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.5.42.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.42.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.42.1 03-Aug-2004  skrll Sync with HEAD
 1.6.16.1 21-Jun-2006  yamt sync with head.
 1.5 07-Mar-2014  nakayama Align explicitly to make kernels compiled by clang generate
properly aligned code.
 1.4 12-Sep-2013  joerg Pass PICFLAGS down to cc-as-as and use __PIC__ to decide if it is small
vs big PIC mode. Retire -DPIC and -DBIGPIC.
 1.3 05-Jan-2009  pooka branches: 1.3.14; 1.3.24; 1.3.28;
Fix previous. I have no idea what crack I was on when I "tested" them.
 1.2 04-Jan-2009  pooka Support PIC for inclusion in librump. (m68k untested)
 1.1 22-Feb-1998  mycroft branches: 1.1.146; 1.1.150; 1.1.160;
Move random() from kernel.
 1.1.160.1 19-Jan-2009  skrll Sync with HEAD.
 1.1.150.1 04-May-2009  yamt sync with head.
 1.1.146.1 17-Jan-2009  mjf Sync with HEAD.
 1.3.28.1 18-May-2014  rmind sync with head
 1.3.24.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.14.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.8 20-Dec-2005  christos Use common sources with userland.
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 07-Aug-2003  agc branches: 1.6.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.5 05-Mar-1999  pk branches: 1.5.42;
Sync with libc
 1.4 13-Oct-1997  lukem rcsid fascism
 1.3 18-Nov-1996  pk branches: 1.3.10;
sync with libc source: remove DEFS.h
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 30-Jun-1994  deraadt auto-copied from libc
 1.3.10.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.5.42.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.42.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.42.1 03-Aug-2004  skrll Sync with HEAD
 1.6.16.1 21-Jun-2006  yamt sync with head.
 1.6 27-Oct-2002  chs remove setjmp/longjmp from libkern, they're not used.
 1.5 05-Mar-1999  pk branches: 1.5.20;
Sync with libc
 1.4 13-Oct-1997  lukem rcsid fascism
 1.3 18-Nov-1996  pk branches: 1.3.10;
sync with libc source: remove DEFS.h
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 30-Jun-1994  deraadt auto-copied from libc
 1.3.10.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.5.20.1 11-Nov-2002  nathanw Catch up to -current
 1.8 20-Dec-2005  christos Use common sources with userland.
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 07-Aug-2003  agc branches: 1.6.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.5 05-Mar-1999  pk branches: 1.5.42;
Sync with libc
 1.4 13-Oct-1997  lukem rcsid fascism
 1.3 18-Nov-1996  pk branches: 1.3.10;
sync with libc source: remove DEFS.h
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 30-Jun-1994  deraadt auto-copied from libc
 1.3.10.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.5.42.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.42.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.42.1 03-Aug-2004  skrll Sync with HEAD
 1.6.16.1 21-Jun-2006  yamt sync with head.
 1.8 20-Dec-2005  christos Use common sources with userland.
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 07-Aug-2003  agc branches: 1.6.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.5 05-Mar-1999  pk branches: 1.5.42;
Sync with libc
 1.4 13-Oct-1997  lukem rcsid fascism
 1.3 18-Nov-1996  pk branches: 1.3.10;
sync with libc source: remove DEFS.h
 1.2 26-Oct-1994  cgd new RCS ID format.
 1.1 30-Jun-1994  deraadt auto-copied from libc
 1.3.10.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.5.42.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.42.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.42.1 03-Aug-2004  skrll Sync with HEAD
 1.6.16.1 21-Jun-2006  yamt sync with head.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 20-Jun-1998  eeh branches: 1.1.1;
Initial revision
 1.1.1.1 20-Jun-1998  eeh branches: 1.1.1.1.48;
Second half of the sparc64 stuff.
 1.1.1.1.48.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.1.1.48.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.1.1.48.1 03-Aug-2004  skrll Sync with HEAD
 1.11 17-Mar-2013  nakayama Remove duplicate source files.
 1.10 14-Aug-2009  dsl branches: 1.10.12; 1.10.22;
Move that majority of the 'SRCS+= foo.c' into the main Makefile.libkern.
Any .S files added by the arch/*/Makefile.inc cause the .c file to
be excluded.
Specific exclusions added using NO_SRCS to match previous files.
At least sparc, sparc64, i386, amd64 and vax GENERIC still build.
(There is a fubar with the naming of the byte-swap files ...)
 1.9 12-Aug-2009  dsl Split the lines that add .c to SRCS from those that add .S
No changes (apart from the order) intended.
 1.8 11-Dec-2005  christos branches: 1.8.74;
merge ktrace-lwp.
 1.7 22-Apr-2005  reed Use ${TOOL_M4} instead of "m4". (I only tested this fix
for sparc but not sparc64 or alpha yet.)

Noticed problem when building NetBSD/sparc from a Linux/i386 host
that didn't have "m4".
 1.6 09-Nov-2003  martin branches: 1.6.8;
bzero is gone from the kernel
 1.5 05-May-2002  martin branches: 1.5.10;
Add strtoul.
 1.4 01-Nov-2000  thorpej branches: 1.4.2; 1.4.4;
Add a strcasecmp(), modified from chopps's strncasecmp().
 1.3 09-May-1999  eeh branches: 1.3.2;
Find the udivrem.m4 in the proper directory.
 1.2 04-Aug-1998  perry branches: 1.2.8;
add memcmp.c
 1.1 20-Jun-1998  eeh branches: 1.1.1;
Initial revision
 1.1.1.1 20-Jun-1998  eeh Second half of the sparc64 stuff.
 1.2.8.1 21-Jun-1999  thorpej Sync w/ -current.
 1.3.2.1 22-Nov-2000  bouyer Sync with HEAD.
 1.4.4.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.2.1 20-Jun-2002  nathanw Catch up to -current.
 1.5.10.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.10.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.10.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.10.1 03-Aug-2004  skrll Sync with HEAD
 1.6.8.1 29-Apr-2005  kent sync with -current
 1.8.74.1 19-Aug-2009  yamt sync with head.
 1.10.22.1 23-Jun-2013  tls resync from head
 1.10.12.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.6 30-Mar-2006  martin Remove an unused, obsolete copy (pointed out by Valeriy E. Ushakov).
 1.5 11-Dec-2005  christos branches: 1.5.4; 1.5.6; 1.5.8; 1.5.10; 1.5.12;
merge ktrace-lwp.
 1.4 26-Feb-2005  perry branches: 1.4.4;
nuke trailing whitespace
 1.3 07-Aug-2003  agc branches: 1.3.8; 1.3.10;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.2 15-Feb-1999  hubertf branches: 1.2.42;
RCS ID police
 1.1 20-Jun-1998  eeh branches: 1.1.1;
Initial revision
 1.1.1.1 20-Jun-1998  eeh Second half of the sparc64 stuff.
 1.2.42.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.2.42.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.42.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.42.1 03-Aug-2004  skrll Sync with HEAD
 1.3.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.3.8.1 29-Apr-2005  kent sync with -current
 1.4.4.1 21-Jun-2006  yamt sync with head.
 1.5.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.5.10.1 19-Apr-2006  elad sync with head.
 1.5.8.1 01-Apr-2006  yamt sync with head.
 1.5.6.1 22-Apr-2006  simonb Sync with head.
 1.5.4.1 09-Sep-2006  rpaulo sync with head
 1.2 27-Oct-2002  chs remove setjmp/longjmp from libkern, they're not used.
 1.1 20-Jun-1998  eeh branches: 1.1.1;
Initial revision
 1.1.1.1 20-Jun-1998  eeh branches: 1.1.1.1.26;
Second half of the sparc64 stuff.
 1.1.1.1.26.1 11-Nov-2002  nathanw Catch up to -current
 1.3 09-Nov-2003  martin bzero is gone from the kernel
 1.2 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 20-Jun-1998  eeh branches: 1.1.1;
Initial revision
 1.1.1.1 20-Jun-1998  eeh branches: 1.1.1.1.48;
Second half of the sparc64 stuff.
 1.1.1.1.48.1 03-Aug-2004  skrll Sync with HEAD
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.3 29-Oct-2002  chs branches: 1.3.6;
move includes to the top so that this builds in libc context too.
 1.2 27-Oct-2002  chs use %g5 instead of %g7 (since we want to use %g7 for the cpu_info pointer
in the kernel). resync libc and libkern versions of this file.
 1.1 20-Jun-1998  eeh branches: 1.1.1;
Initial revision
 1.1.1.1 20-Jun-1998  eeh branches: 1.1.1.1.26;
Second half of the sparc64 stuff.
 1.1.1.1.26.1 11-Nov-2002  nathanw Catch up to -current
 1.3.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.6.1 03-Aug-2004  skrll Sync with HEAD
 1.6 20-Dec-2005  christos Use common sources with userland.
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 26-Feb-2005  perry branches: 1.4.4;
nuke trailing whitespace
 1.3 07-Aug-2003  agc branches: 1.3.8; 1.3.10;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.2 26-Nov-1998  eeh branches: 1.2.44;
Fixup ffstab naming conflict between locore.s, libkern/arch/sparc/ffs.S and
libkern/arch/sparc64/ffs.S
 1.1 20-Jun-1998  eeh branches: 1.1.1;
Initial revision
 1.1.1.1 20-Jun-1998  eeh Second half of the sparc64 stuff.
 1.2.44.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.2.44.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.44.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.44.1 03-Aug-2004  skrll Sync with HEAD
 1.3.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.3.8.1 29-Apr-2005  kent sync with -current
 1.4.4.1 21-Jun-2006  yamt sync with head.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 07-Aug-2003  agc branches: 1.2.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 20-Jun-1998  eeh branches: 1.1.1;
Initial revision
 1.1.1.1 20-Jun-1998  eeh branches: 1.1.1.1.48;
Second half of the sparc64 stuff.
 1.1.1.1.48.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.1.1.48.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.1.1.48.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 07-Aug-2003  agc branches: 1.2.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 20-Jun-1998  eeh branches: 1.1.1;
Initial revision
 1.1.1.1 20-Jun-1998  eeh branches: 1.1.1.1.48;
Second half of the sparc64 stuff.
 1.1.1.1.48.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.1.1.48.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.1.1.48.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.8 20-Dec-2005  christos Use common sources with userland.
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 26-Feb-2005  perry branches: 1.6.4;
nuke trailing whitespace
 1.5 07-Aug-2003  agc branches: 1.5.8; 1.5.10;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.4 26-Nov-1998  eeh branches: 1.4.44;
Forgot to specify a label for the branch target. Oops.
 1.3 30-Aug-1998  eeh Some more 64-bit cleanup. Now everything compiles.
 1.2 29-Aug-1998  eeh Some more 64-bit-ification.
 1.1 20-Jun-1998  eeh branches: 1.1.1;
Initial revision
 1.1.1.1 20-Jun-1998  eeh Second half of the sparc64 stuff.
 1.4.44.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.4.44.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.44.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.44.1 03-Aug-2004  skrll Sync with HEAD
 1.5.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.5.8.1 29-Apr-2005  kent sync with -current
 1.6.4.1 21-Jun-2006  yamt sync with head.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 07-Aug-2003  agc branches: 1.2.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 20-Jun-1998  eeh branches: 1.1.1;
Initial revision
 1.1.1.1 20-Jun-1998  eeh branches: 1.1.1.1.48;
Second half of the sparc64 stuff.
 1.1.1.1.48.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.1.1.48.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.1.1.48.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 07-Aug-2003  agc branches: 1.2.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 20-Jun-1998  eeh branches: 1.1.1;
Initial revision
 1.1.1.1 20-Jun-1998  eeh branches: 1.1.1.1.48;
Second half of the sparc64 stuff.
 1.1.1.1.48.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.1.1.48.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.1.1.48.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.5 07-Mar-2014  nakayama Align explicitly to make kernels compiled by clang generate
properly aligned code.
 1.4 12-Sep-2013  joerg Pass PICFLAGS down to cc-as-as and use __PIC__ to decide if it is small
vs big PIC mode. Retire -DPIC and -DBIGPIC.
 1.3 05-Jan-2009  pooka branches: 1.3.14; 1.3.24; 1.3.28;
Fix previous. I have no idea what crack I was on when I "tested" them.
 1.2 04-Jan-2009  pooka Support PIC for inclusion in librump. (m68k untested)
 1.1 20-Jun-1998  eeh branches: 1.1.1;
Initial revision
 1.1.1.1 20-Jun-1998  eeh branches: 1.1.1.1.146; 1.1.1.1.150; 1.1.1.1.160;
Second half of the sparc64 stuff.
 1.1.1.1.160.1 19-Jan-2009  skrll Sync with HEAD.
 1.1.1.1.150.1 04-May-2009  yamt sync with head.
 1.1.1.1.146.1 17-Jan-2009  mjf Sync with HEAD.
 1.3.28.1 18-May-2014  rmind sync with head
 1.3.24.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.14.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 07-Aug-2003  agc branches: 1.2.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 20-Jun-1998  eeh branches: 1.1.1;
Initial revision
 1.1.1.1 20-Jun-1998  eeh branches: 1.1.1.1.48;
Second half of the sparc64 stuff.
 1.1.1.1.48.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.1.1.48.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.1.1.48.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.2 27-Oct-2002  chs remove setjmp/longjmp from libkern, they're not used.
 1.1 20-Jun-1998  eeh branches: 1.1.1;
Initial revision
 1.1.1.1 20-Jun-1998  eeh branches: 1.1.1.1.26;
Second half of the sparc64 stuff.
 1.1.1.1.26.1 11-Nov-2002  nathanw Catch up to -current
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 07-Aug-2003  agc branches: 1.2.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 20-Jun-1998  eeh branches: 1.1.1;
Initial revision
 1.1.1.1 20-Jun-1998  eeh branches: 1.1.1.1.48;
Second half of the sparc64 stuff.
 1.1.1.1.48.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.1.1.48.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.1.1.48.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 07-Aug-2003  agc branches: 1.2.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 20-Jun-1998  eeh branches: 1.1.1;
Initial revision
 1.1.1.1 20-Jun-1998  eeh branches: 1.1.1.1.48;
Second half of the sparc64 stuff.
 1.1.1.1.48.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.1.1.48.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.1.1.48.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.4 03-Sep-2018  riastradh Rename min.c -> uimin.c, max.c -> uimax.c in libkern.
 1.3 14-Aug-2009  dsl branches: 1.3.62; 1.3.64;
Move that majority of the 'SRCS+= foo.c' into the main Makefile.libkern.
Any .S files added by the arch/*/Makefile.inc cause the .c file to
be excluded.
Specific exclusions added using NO_SRCS to match previous files.
At least sparc, sparc64, i386, amd64 and vax GENERIC still build.
(There is a fubar with the naming of the byte-swap files ...)
 1.2 12-Aug-2009  dsl Split the lines that add .c to SRCS from those that add .S
No changes (apart from the order) intended.
 1.1 29-Dec-2007  jmcneill branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.18;
libkern bits for usermode port.
 1.1.18.1 19-Aug-2009  yamt sync with head.
 1.1.8.2 18-Feb-2008  mjf Sync with HEAD.
 1.1.8.1 29-Dec-2007  mjf file Makefile.inc was added on branch mjf-devfs on 2008-02-18 21:06:59 +0000
 1.1.6.2 21-Jan-2008  yamt sync with head
 1.1.6.1 29-Dec-2007  yamt file Makefile.inc was added on branch yamt-lazymbuf on 2008-01-21 09:46:36 +0000
 1.1.4.2 09-Jan-2008  matt sync with HEAD
 1.1.4.1 29-Dec-2007  matt file Makefile.inc was added on branch matt-armv6 on 2008-01-09 01:56:35 +0000
 1.1.2.2 02-Jan-2008  bouyer Sync with HEAD
 1.1.2.1 29-Dec-2007  bouyer file Makefile.inc was added on branch bouyer-xeni386 on 2008-01-02 21:56:29 +0000
 1.3.64.1 10-Jun-2019  christos Sync with HEAD
 1.3.62.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.25 03-Sep-2018  riastradh Rename min.c -> uimin.c, max.c -> uimax.c in libkern.
 1.24 15-Mar-2010  uwe branches: 1.24.60; 1.24.62;
Add memset to libkern on vax, moving existing memset.S to src/common.

While kernel source code is supposed to use <machine/macros.h> via
<sys/param.h> and pick an inline asm version from there, gcc itself
can generate direct calls to memset() for structure initialization, so
the symbol must be provided.

Fixes INSTALL kernel, for which -Os caused gcc to use memset() call to
initialize a struct in uvm_fault_internal().
 1.23 14-Aug-2009  dsl branches: 1.23.2;
Move that majority of the 'SRCS+= foo.c' into the main Makefile.libkern.
Any .S files added by the arch/*/Makefile.inc cause the .c file to
be excluded.
Specific exclusions added using NO_SRCS to match previous files.
At least sparc, sparc64, i386, amd64 and vax GENERIC still build.
(There is a fubar with the naming of the byte-swap files ...)
 1.22 12-Aug-2009  dsl Split the lines that add .c to SRCS from those that add .S
No changes (apart from the order) intended.
 1.21 18-Jun-2009  he Back out the addition of memset.c to the vax libkern, and instead do
as tsutsui@ suggested, and include <sys/param.h> in sha2.c instead.
On the vax, this causes <machine/macros.h> to be included, and it contains
that machine's memset() macro+inline.
 1.20 18-Jun-2009  he Add memset.c, so that the references from sha2.c can be satisfied, and
so that the kernel and puffs applications can link again.
 1.19 13-Apr-2007  matt branches: 1.19.32; 1.19.48;
Include byte_swap_[24].c for kernels compiled with -O0
 1.18 11-Dec-2005  christos branches: 1.18.26; 1.18.30; 1.18.32;
merge ktrace-lwp.
 1.17 13-Aug-2003  ragge branches: 1.17.16;
Include the C versions of the string instructions.
Replace blkcpy() with a version that can handle overlapping data areas.
 1.16 19-Sep-2002  ragge branches: 1.16.6;
Need strtoul() also.
 1.15 24-Feb-2002  matt Upon further reflection, move udiv/urem to libkern and out of vax/vax.
 1.14 10-Feb-2002  thorpej Add __blkcpy() and __blkset() (renamed/modified from __blkclr()) to
libkern.
 1.13 01-Nov-2000  thorpej branches: 1.13.2; 1.13.4;
Add a strcasecmp(), modified from chopps's strncasecmp().
 1.12 19-Jul-2000  matt We need strncasecmp.c now.
 1.11 15-Jan-1999  bouyer branches: 1.11.8; 1.11.18;
Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.10 08-Aug-1998  ragge Lots of kernlib functions rewritten as inline macros.
 1.9 22-Feb-1998  mycroft Move random.S from kernel.
 1.8 21-Jan-1998  cgd add rules like those in libc to build strchr() and strrchr() (the latter
is being added to libkern by this commit). remove strchr.c from
archs' Makefile.inc files to go along with this. (If an arch has
a .S version, it should be copied down and added to the apropriate
Makefile.inc.)
 1.7 24-Oct-1997  chuck add memchr() to libkern
 1.6 09-Oct-1997  bouyer Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
 1.5 18-Jan-1997  cgd branches: 1.5.8;
add strchr() to libkern. strchr.c copied from libc's "index.c", but with
appropriate definitions so that it'll build strchr(), and so that it builds
correctly in libkern (needed to #define NULL).
 1.4 27-Aug-1996  cgd Add machine-independent assertion-checking support. macros are:

assert() which always does assertion checking
unless "NDEBUG" is defined.

KASSERT() which does assertion checking if DIAGNOSTIC
is defined.

KDASSERT() which does assertion checking if DEBUG is
define. This macro exists for compatibility
with existing ports' assertion checking macros.
(Assertion checking is not typically an
"expensive" operation, and DIAGNOSTIC should be
used for inexpensive consistency checks.)
 1.3 10-Jun-1996  cgd locc() is unused. Remove it from the machine-independent kernel interface.
 1.2 13-Apr-1996  cgd add strncasecmp.c to ports' libkern Makefile.inc's. When adding a new
source file to libkern, it should be added to _ALL_ ports makefiles if
it is machine-independent and used by machine-independent code (in
this case adosfs). (There are several arguments that say that
strncasecmp should not be in libkern at all, and i think they're
good ones, but as long as ADOSFS needs it to link, it has to be here
for all architectures.)
 1.1 18-Apr-1995  ragge Added VAX specific makefile. (In libkern/arch/vax)
 1.5.8.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.11.18.1 27-Jul-2000  matt Pull up revision 1.12 (requested by matt)
add strncasecmp.c (needed for cd9660)
 1.11.8.2 22-Nov-2000  bouyer Sync with HEAD.
 1.11.8.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.13.4.2 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.13.4.1 16-Mar-2002  jdolecek Catch up with -current.
 1.13.2.2 18-Oct-2002  nathanw Catch up to -current.
 1.13.2.1 28-Feb-2002  nathanw Catch up to -current.
 1.16.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.16.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.16.6.1 03-Aug-2004  skrll Sync with HEAD
 1.17.16.1 03-Sep-2007  yamt sync with head.
 1.18.32.1 11-Jul-2007  mjf Sync with head.
 1.18.30.1 08-Jun-2007  ad Sync with head.
 1.18.26.1 15-Apr-2007  yamt sync with head.
 1.19.48.1 23-Jul-2009  jym Sync with HEAD.
 1.19.32.4 11-Aug-2010  yamt sync with head.
 1.19.32.3 19-Aug-2009  yamt sync with head.
 1.19.32.2 18-Jul-2009  yamt sync with head.
 1.19.32.1 20-Jun-2009  yamt sync with head
 1.23.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.24.62.1 10-Jun-2019  christos Sync with HEAD
 1.24.60.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 13-Aug-2003  ragge Include the C versions of the string instructions.
Replace blkcpy() with a version that can handle overlapping data areas.
 1.2 24-Feb-2002  matt branches: 1.2.2; 1.2.8; 1.2.20;
Upon further reflection, move udiv/urem to libkern and out of vax/vax.
 1.1 10-Feb-2002  thorpej Add __blkcpy() and __blkset() (renamed/modified from __blkclr()) to
libkern.
 1.2.20.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.20.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.20.1 03-Aug-2004  skrll Sync with HEAD
 1.2.8.2 16-Mar-2002  jdolecek Catch up with -current.
 1.2.8.1 24-Feb-2002  jdolecek file blkcpy.S was added on branch kqueue on 2002-03-16 16:01:56 +0000
 1.2.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.2.2.1 24-Feb-2002  nathanw file blkcpy.S was added on branch nathanw_sa on 2002-02-28 04:14:50 +0000
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 26-Feb-2005  perry nuke trailing whitespace
 1.3 24-Feb-2002  matt branches: 1.3.2; 1.3.8; 1.3.20; 1.3.28; 1.3.30;
Upon further reflection, move udiv/urem to libkern and out of vax/vax.
 1.2 19-Feb-2002  ragge blkset() used a register for set value that get clobbered by movc5,
causing the set area to get unpredictable contents.
 1.1 10-Feb-2002  thorpej Add __blkcpy() and __blkset() (renamed/modified from __blkclr()) to
libkern.
 1.3.30.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.3.28.1 29-Apr-2005  kent sync with -current
 1.3.20.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.3.8.2 16-Mar-2002  jdolecek Catch up with -current.
 1.3.8.1 24-Feb-2002  jdolecek file blkset.S was added on branch kqueue on 2002-03-16 16:01:56 +0000
 1.3.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.3.2.1 24-Feb-2002  nathanw file blkset.S was added on branch nathanw_sa on 2002-02-28 04:14:50 +0000
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 24-Feb-2002  matt branches: 1.3.32;
Upon further reflection, move udiv/urem to libkern and out of vax/vax.
 1.2 19-Jan-1999  ragge branches: 1.2.20; 1.2.22;
#include <machine/asm.h> instead of (nonexistent) "DEFS.h".
 1.1 15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.2.22.1 16-Mar-2002  jdolecek Catch up with -current.
 1.2.20.1 28-Feb-2002  nathanw Catch up to -current.
 1.3.32.1 21-Jun-2006  yamt sync with head.
 1.3 20-Dec-2005  christos Use common sources with userland.
 1.2 15-Feb-1999  hubertf branches: 1.2.58;
RCS ID police
 1.1 08-Aug-1998  ragge Lots of kernlib functions rewritten as inline macros.
 1.2.58.1 21-Jun-2006  yamt sync with head.
 1.3 20-Dec-2005  christos Use common sources with userland.
 1.2 15-Feb-1999  hubertf branches: 1.2.58;
RCS ID police
 1.1 08-Aug-1998  ragge Lots of kernlib functions rewritten as inline macros.
 1.2.58.1 21-Jun-2006  yamt sync with head.
 1.4 14-Jan-2007  ragge Repair copyright that has been broken since -94.
Gently requested by Otto Moerbeek.
 1.3 24-Feb-2002  matt branches: 1.3.32; 1.3.62;
Upon further reflection, move udiv/urem to libkern and out of vax/vax.
 1.2 19-Jul-2000  matt branches: 1.2.2; 1.2.4;
ELFify
 1.1 22-Feb-1998  mycroft branches: 1.1.14;
Move random.S from kernel.
 1.1.14.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.2.4.1 16-Mar-2002  jdolecek Catch up with -current.
 1.2.2.1 28-Feb-2002  nathanw Catch up to -current.
 1.3.62.1 01-Feb-2007  ad Sync with head.
 1.3.32.1 26-Feb-2007  yamt sync with head.
 1.5 20-Dec-2005  christos Use common sources with userland.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 07-Aug-2003  agc branches: 1.3.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.2 24-Feb-2002  matt branches: 1.2.2; 1.2.8; 1.2.20;
Add register prefixes to these.
 1.1 24-Feb-2002  matt Upon further reflection, move udiv/urem to libkern and out of vax/vax.
 1.2.20.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.20.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.20.1 03-Aug-2004  skrll Sync with HEAD
 1.2.8.2 16-Mar-2002  jdolecek Catch up with -current.
 1.2.8.1 24-Feb-2002  jdolecek file udiv.S was added on branch kqueue on 2002-03-16 16:01:57 +0000
 1.2.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.2.2.1 24-Feb-2002  nathanw file udiv.S was added on branch nathanw_sa on 2002-02-28 04:14:50 +0000
 1.3.16.1 21-Jun-2006  yamt sync with head.
 1.5 20-Dec-2005  christos Use common sources with userland.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 07-Aug-2003  agc branches: 1.3.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.2 24-Feb-2002  matt branches: 1.2.2; 1.2.8; 1.2.20;
Add register prefixes to these.
 1.1 24-Feb-2002  matt Upon further reflection, move udiv/urem to libkern and out of vax/vax.
 1.2.20.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.20.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.20.1 03-Aug-2004  skrll Sync with HEAD
 1.2.8.2 16-Mar-2002  jdolecek Catch up with -current.
 1.2.8.1 24-Feb-2002  jdolecek file urem.S was added on branch kqueue on 2002-03-16 16:01:57 +0000
 1.2.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.2.2.1 24-Feb-2002  nathanw file urem.S was added on branch nathanw_sa on 2002-02-28 04:14:51 +0000
 1.3.16.1 21-Jun-2006  yamt sync with head.
 1.7 27-Jan-2020  ad Make x86 use the C version of memcmp().
 1.6 14-Jan-2010  joerg branches: 1.6.64; 1.6.70;
Move AMD64's bswap64 implementation from libc to src/common and share it
with the kernel.
 1.5 14-Aug-2009  dsl Move that majority of the 'SRCS+= foo.c' into the main Makefile.libkern.
Any .S files added by the arch/*/Makefile.inc cause the .c file to
be excluded.
Specific exclusions added using NO_SRCS to match previous files.
At least sparc, sparc64, i386, amd64 and vax GENERIC still build.
(There is a fubar with the naming of the byte-swap files ...)
 1.4 12-Aug-2009  dsl Split the lines that add .c to SRCS from those that add .S
No changes (apart from the order) intended.
 1.3 18-Mar-2009  tsutsui - remove bcmp(9), bcopy(9), and bzero(9) from libkern since <sys/systm.h> has
macro which replace them with mem*() functions in #ifdef _KERNEL as noted
in man pages
- move declarations of bcopy(3) and bzero(3) into <lib/libsa/stand.h>
since they are still in libsa for some MD standalone sources
(I guess all bcmp(3) in standalone sources have been replaced with memcmp(3)
but they should be replaced with memcmp() anyway)
 1.2 25-Nov-2002  fvdl branches: 1.2.108; 1.2.118; 1.2.124;
Add strtoul.c
 1.1 19-Jun-2001  fvdl Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.2.124.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.2.118.1 28-Apr-2009  skrll Sync with HEAD.
 1.2.108.3 11-Mar-2010  yamt sync with head
 1.2.108.2 19-Aug-2009  yamt sync with head.
 1.2.108.1 04-May-2009  yamt sync with head.
 1.6.70.1 29-Feb-2020  ad Sync with head.
 1.6.64.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.2 20-Dec-2005  christos Use common sources with userland.
 1.1 19-Jun-2001  fvdl branches: 1.1.38;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.38.1 21-Jun-2006  yamt sync with head.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 07-Aug-2003  agc branches: 1.2.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 19-Jun-2001  fvdl branches: 1.1.22;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 07-Aug-2003  agc branches: 1.2.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 19-Jun-2001  fvdl branches: 1.1.22;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 07-Aug-2003  agc branches: 1.2.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 19-Jun-2001  fvdl branches: 1.1.22;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 04-Dec-2003  keihan branches: 1.2.16;
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.1 19-Jun-2001  fvdl branches: 1.1.22;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 04-Dec-2003  keihan branches: 1.2.16;
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.1 19-Jun-2001  fvdl branches: 1.1.22;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 04-Dec-2003  keihan branches: 1.2.16;
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.1 19-Jun-2001  fvdl branches: 1.1.22;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 04-Dec-2003  keihan branches: 1.2.16;
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.1 19-Jun-2001  fvdl branches: 1.1.22;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 04-Dec-2003  keihan branches: 1.2.16;
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.1 19-Jun-2001  fvdl branches: 1.1.22;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.2 20-Dec-2005  christos Use common sources with userland.
 1.1 19-Jun-2001  fvdl branches: 1.1.38;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.38.1 21-Jun-2006  yamt sync with head.
 1.2 20-Dec-2005  christos Use common sources with userland.
 1.1 19-Jun-2001  fvdl branches: 1.1.38;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.38.1 21-Jun-2006  yamt sync with head.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 04-Dec-2003  keihan branches: 1.2.16;
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.1 19-Jun-2001  fvdl branches: 1.1.22;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.3 30-Oct-2017  maxv Add END().
 1.2 28-Apr-2008  martin branches: 1.2.44;
Remove clause 3 and 4 from TNF licenses
 1.1 19-Jun-2001  fvdl branches: 1.1.120; 1.1.122; 1.1.124;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.124.1 16-May-2008  yamt sync with head.
 1.1.122.1 18-May-2008  yamt sync with head.
 1.1.120.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.44.1 03-Dec-2017  jdolecek update from HEAD
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 04-Dec-2003  keihan branches: 1.2.16;
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.1 19-Jun-2001  fvdl branches: 1.1.22;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.3 30-Oct-2017  maxv Add END().
 1.2 28-Apr-2008  martin branches: 1.2.44;
Remove clause 3 and 4 from TNF licenses
 1.1 19-Jun-2001  fvdl branches: 1.1.120; 1.1.122; 1.1.124;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.124.1 16-May-2008  yamt sync with head.
 1.1.122.1 18-May-2008  yamt sync with head.
 1.1.120.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.44.1 03-Dec-2017  jdolecek update from HEAD
 1.3 30-Oct-2017  maxv Add END().
 1.2 28-Apr-2008  martin branches: 1.2.44;
Remove clause 3 and 4 from TNF licenses
 1.1 19-Jun-2001  fvdl branches: 1.1.120; 1.1.122; 1.1.124;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.124.1 16-May-2008  yamt sync with head.
 1.1.122.1 18-May-2008  yamt sync with head.
 1.1.120.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.44.1 03-Dec-2017  jdolecek update from HEAD
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 04-Dec-2003  keihan branches: 1.2.16;
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.1 19-Jun-2001  fvdl branches: 1.1.22;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.2 20-Dec-2005  christos Use common sources with userland.
 1.1 19-Jun-2001  fvdl branches: 1.1.38;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.38.1 21-Jun-2006  yamt sync with head.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 04-Dec-2003  keihan branches: 1.2.16;
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.1 19-Jun-2001  fvdl branches: 1.1.22;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 04-Dec-2003  keihan branches: 1.2.16;
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.1 19-Jun-2001  fvdl branches: 1.1.22;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.4 20-Dec-2005  christos Use common sources with userland.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 04-Dec-2003  keihan branches: 1.2.16;
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.1 19-Jun-2001  fvdl branches: 1.1.22;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.2 20-Dec-2005  christos Use common sources with userland.
 1.1 19-Jun-2001  fvdl branches: 1.1.38;
Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
 1.1.38.1 21-Jun-2006  yamt sync with head.

RSS XML Feed