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.
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.)
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.
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.)
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.)