Home | History | Annotate | only in /src/sys/arch/sbmips
History log of /src/sys/arch/sbmips
RevisionDateAuthorComments
 1.4 06-Apr-2011  dyoung Fix target 'tags'.
 1.3 06-Jan-2003  lukem branches: 1.3.130; 1.3.136;
Rework how KERNOBJDIR functions; now it's always determined with
cd ${KERNSRCDIR}/${KERNARCHDIR}/compile && ${PRINTOBJDIR}
This is far simpler than the previous system, and more robust with
objdirs built via BSDOBJDIR.

The previous method of finding KERNOBJDIR when using BSDOBJDIR by
referencing _SRC_TOP_OBJ_ from another directory was extremely
fragile due to the depth first tree walk by <bsd.subdir.mk>, and
the caching of _SRC_TOP_OBJ_ (with MAKEOVERRIDES) which would be
empty on the *first* pass to create fresh objdirs.

This change requires adding sys/arch/*/compile/Makefile to create
the objdir in that directory, and descending into arch/*/compile
from arch/*/Makefile. Remove the now-unnecessary .keep_me files
whilst here.

Per lengthy discussion with Andrew Brown.
 1.2 09-Nov-2002  cgd add stand to subdir list
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.3 07-Jan-2003  thorpej Sync with HEAD.
 1.1.12.2 11-Nov-2002  nathanw Catch up to -current
 1.1.12.1 06-Mar-2002  nathanw file Makefile was added on branch nathanw_sa on 2002-11-11 22:03:11 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file Makefile was added on branch kqueue on 2002-06-23 17:40:02 +0000
 1.3.136.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.130.1 21-Apr-2011  rmind sync with head
 1.3 11-Nov-2005  simonb Switch to the MIPS generic soft interrupt code instead of using
port-specific code.
 1.2 18-Jul-2003  simonb branches: 1.2.16;
Reflect reality a little better.
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12; 1.1.18;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.18.4 11-Dec-2005  christos Sync with head.
 1.1.18.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.18.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.18.1 03-Aug-2004  skrll Sync with HEAD
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file TODO was added on branch nathanw_sa on 2002-03-06 02:13:38 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file TODO was added on branch kqueue on 2002-06-23 17:40:02 +0000
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.2 06-Jan-2003  lukem Rework how KERNOBJDIR functions; now it's always determined with
cd ${KERNSRCDIR}/${KERNARCHDIR}/compile && ${PRINTOBJDIR}
This is far simpler than the previous system, and more robust with
objdirs built via BSDOBJDIR.

The previous method of finding KERNOBJDIR when using BSDOBJDIR by
referencing _SRC_TOP_OBJ_ from another directory was extremely
fragile due to the depth first tree walk by <bsd.subdir.mk>, and
the caching of _SRC_TOP_OBJ_ (with MAKEOVERRIDES) which would be
empty on the *first* pass to create fresh objdirs.

This change requires adding sys/arch/*/compile/Makefile to create
the objdir in that directory, and descending into arch/*/compile
from arch/*/Makefile. Remove the now-unnecessary .keep_me files
whilst here.

Per lengthy discussion with Andrew Brown.
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 07-Jan-2003  thorpej Sync with HEAD.
 1.1.12.1 06-Mar-2002  thorpej file .keep_me was added on branch nathanw_sa on 2003-01-07 21:14:29 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file .keep_me was added on branch kqueue on 2002-06-23 17:40:03 +0000
 1.1 06-Jan-2003  lukem branches: 1.1.2;
Rework how KERNOBJDIR functions; now it's always determined with
cd ${KERNSRCDIR}/${KERNARCHDIR}/compile && ${PRINTOBJDIR}
This is far simpler than the previous system, and more robust with
objdirs built via BSDOBJDIR.

The previous method of finding KERNOBJDIR when using BSDOBJDIR by
referencing _SRC_TOP_OBJ_ from another directory was extremely
fragile due to the depth first tree walk by <bsd.subdir.mk>, and
the caching of _SRC_TOP_OBJ_ (with MAKEOVERRIDES) which would be
empty on the *first* pass to create fresh objdirs.

This change requires adding sys/arch/*/compile/Makefile to create
the objdir in that directory, and descending into arch/*/compile
from arch/*/Makefile. Remove the now-unnecessary .keep_me files
whilst here.

Per lengthy discussion with Andrew Brown.
 1.1.2.2 07-Jan-2003  thorpej Sync with HEAD.
 1.1.2.1 06-Jan-2003  thorpej file Makefile was added on branch nathanw_sa on 2003-01-07 21:14:29 +0000
 1.115 29-Jan-2024  christos PR/57889: Ricardo Branco: ext2fs does not have user immutable and append
file flags, only system ones. Restrict those to the superuser. Before
the behavior was controlled by EXT2FS_SYSTEM_FLAGS. Make that behavior the
default.
 1.114 12-Feb-2023  abs Add optoion GENERIC.local include to the end of ~all GENERIC configs

This excludes atari, sgimips, evbmips, evbppc, evbsh3, and hpcarm
all of which have somewhat specific kernel config file layouts
 1.113 29-Sep-2022  riastradh swwdog(4): Add to GENERIC kernels.

Plus a handful of others that I'm familiar with. Lots of special-
purpose kernels should probably have this too but I'm not going
through all the arm, mips, and ppc evaluation board kernels to see
which ones are relevant.

Omitted from systems I know to be very small:
- sun2/GENERIC
- dreamcast/GENERIC
Feel free to remove it from others that need to be kept smaller.

Compile-tested a few of these just in case:
- alpha/GENERIC
- amd64/GENERIC
- evbmips/OCTEON
- i386/GENERIC
- riscv/GENERIC

PR kern/29702
 1.112 07-Aug-2022  simonb UFS/LFS dirhash:
- Enable UFS_DIRHASH if the architecture or kernel model specific config
file can use 128MB of RAM or more.
- Remove experimental tag from UFS_DIRHASH; it's been with RUMP kernel
and by a number of NetBSD developers for years.
- Add LFS_DIRHASH if LFS was enabled.
- Be somewhat consistent with FS options order.
 1.111 27-Sep-2020  roy vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.110 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.109 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.108 26-Apr-2019  sevan branches: 1.108.4;
Enable BUFQ_PRIOCSCAN, CARP, Veriexec by default in GENERIC kernel configs.
On ports without a GENERIC kernel config enable in individul files, e.g evbmips.
Omit on:
atari, dreamcast, emips, epoc32, evbppc/VIRTEX*, ia64, luna68x, mvme68k,
mvmeppc, playstation2, riscv, sun2, sun3, x68k, zaurus due to resource
constraints or port infancy.
 1.107 23-Oct-2018  jdolecek remove the 'wd* at umass?' for the non-standardized and rare (extinct?)
In-System Design ATA protocol over Bulk-Only devices from most kernels,
leave only in i386/amd64 ALL; it's unmaintained and likely currently broken,
lack of test hardware makes it impossible to support
 1.106 01-Aug-2018  maxv Unreference IPF/PF from all the config files, and enable NPF instead when
wanted. This also fixes some inconsistencies I saw in several files (eg
IPF options while IPF was not compiled, IPF+PF enabled by default, etc).
 1.105 14-Sep-2017  mrg branches: 1.105.2; 1.105.4;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.104 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

Discussed on tech-security
http://mail-index.netbsd.org/tech-security/2017/08/21/msg000936.html

ok riastradh
 1.103 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.102 07-Aug-2015  maxv Remove KMEMSTATS.
 1.101 16-Nov-2014  manu branches: 1.101.2;
Remove unused extended attributes kernel options

As Masao Uebayashi pointed to me, UFS_EXTATTR_AUTOSTART, LFS_EXTATTR_AUTOSTART
and UFS_EXTATTR_AUTOCREATE are not used anywhere in the code. Remove them
as they have been obsolete for a long time:
UFS_EXTATTR_AUTOSTART was replaced by mount -o extattr
LFS_EXTATTR_AUTOSTART was created to match obsolete UFS_EXTATTR_AUTOSTART
UFS_EXTATTR_AUTOCREATE was replaced by sysctl vfs.ffs.extattr_autocreate
 1.100 12-Nov-2014  manu Support for UFS1 extended attributes in GENERIC and GENERIC-like kernels

This change just brings UFS1 extended attribute *support* in the kernel,
extended attributes are not enabled unless three conditions are met:
1) filesystem is UFS1 (newfs -O1)
2) .attribute/system and .attribute/user directories are created at fs root
3) filesystem is mounted with -o extattr

Some GENERIC kernels are obviously memory constrained, the extended
attributes options were not enabled for them, but just added commented out.
(kernel were considered memory constrained if QUOTA option was disabled)
 1.99 23-Aug-2014  dholland Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.98 17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.97 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.96 20-Jul-2014  alnsn branches: 1.96.2;
Add commented out bpfjit options to mips kernels.
While here, add 2 missing RCS ids.
 1.95 30-Jun-2013  rmind branches: 1.95.4;
G/C PFIL_HOOKS from the kernel configs.
 1.94 05-Jun-2013  christos branches: 1.94.2;
remove obsolete networking options
 1.93 27-Apr-2013  christos more bogus number removal
 1.92 27-Apr-2013  christos the bogus number police
 1.91 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.90 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.89 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.88 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.87 10-Mar-2012  joerg branches: 1.87.2;
P1003_1B_SEMAPHORE is no longer optional.
 1.86 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.85 22-Nov-2011  tls branches: 1.85.2;

The rnd pseudo-device is not really optional, because it is in the same
source file as the entropy-pool code itself. Move it to std. This
will be cleaned up more when I split the sources up as they should be.

This fixes build breaks on several ports. Thanks to Havard Eidnes for
pointing them out.
 1.84 22-Nov-2011  he Bump SYMTAB_SPACE so that the symbol table fits again.
 1.83 30-Jun-2011  wiz branches: 1.83.2;
dependant -> dependent
 1.82 06-Mar-2011  bouyer merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
 1.81 20-Feb-2011  matt Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.80 23-Nov-2010  hannken branches: 1.80.2; 1.80.4;
Remove unused count from pseudo-device md.
 1.79 30-Jun-2010  he Bump SYMTAB_SPACE so that the contents fits again.
 1.78 08-May-2010  mrg enable IPFILTER_COMPAT in all kernels that have ipfilter already.
canonicalise several of the ipf option segments in various files
(this mostly means adding commented out IPFILTER_DEFAULT_BLOCK,
or adding commented or uncommented IPFILTER_LOG or IPFILTER_LOOKUP
option statements.)

i built about 20 of these kernels to check, but not all of them.
 1.77 29-Apr-2010  chs enable TMPFS in all GENERICs that have MFS enabled.
 1.76 05-Dec-2009  pooka branches: 1.76.2; 1.76.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.75 12-Aug-2009  simonb Remove many magic numbers for addresses and interrupt numbers, and use
constants defined in SiByte/Broadcom standard header files. Switch from
using offsets for locators to actual addresses.

Tested on a swarm (my rhone is dead, but should be OK there too).
 1.74 06-Mar-2009  joerg Remove SHMMAXPGS from all kernel configs. Dynamically compute the
initial limit as 1/4 of the physical memory. Ensure the limit is at
least 1024 pages, the old default on most platforms.
 1.73 24-Jan-2009  mrg branches: 1.73.2;
add COMPAT_50 to all the configs with COMPAT_40.
 1.72 24-Nov-2008  ad Remove softdep, pass 1. We are focused on improving journalling.

Proposed on tech-kern@.
 1.71 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.70 25-Oct-2008  he branches: 1.70.2; 1.70.8;
Bump SYMTAB_SPACE so that it fits again.
 1.69 10-Aug-2008  tls Add accept filters to GENERIC kernels where they exist.
 1.68 31-Jul-2008  simonb Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.67 30-May-2008  tsutsui branches: 1.67.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.66 19-Jan-2008  he branches: 1.66.6; 1.66.8; 1.66.10; 1.66.12;
Bump SYMTAB_SPACE to by 10000 bytes ot 310000 so that it fits again.
 1.65 31-Dec-2007  ad Remove systrace. Ok core@.
 1.64 05-Dec-2007  he branches: 1.64.4;
Bump SYMTAB_SPACE so that it fits again.
 1.63 17-Oct-2007  garbled branches: 1.63.2; 1.63.4;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.62 11-Jul-2007  he branches: 1.62.2; 1.62.8; 1.62.10;
Bump SYMTAB_SPACE so that it fits again.
 1.61 04-Jun-2007  martin Add pseudo-device agr to all GENERIC kernels where it might make sense
(commented out in some).
 1.60 27-May-2007  he Bump SYMTAB_SPACE so that it fits again.
 1.59 11-Nov-2006  jmmv branches: 1.59.2; 1.59.8; 1.59.10; 1.59.16; 1.59.18;
Remove tmpfs's experimental status. OK'ed by core@.
 1.58 27-Sep-2006  manu - Document COMPAT_15 as doing nothing
- Add COMPAT_15 to all the kernel that had COMPAT_14, for the sake of coherency
- Remove the only occurences of #ifdef COMPAT_15 in the tree: for the ARM
ports, COMPAT_15 was always used in conjunction with EXEC_AOUT. Only EXEC_AOUT
matters here.

This address kern/18407
 1.57 26-Aug-2006  christos branches: 1.57.2; 1.57.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.56 26-Aug-2006  matt Increase SYMTAB_SPACE by 10000 to 210000. MIPS64 needs a slighter large
symbol table.
 1.55 26-Aug-2006  tsutsui Remove obsolete #options VERIFIED_EXEC, found by grep(1).
 1.54 12-Aug-2006  christos Disable SYSTRACE by default on all kernels (discussed with core)
 1.53 28-Jun-2006  liamjfoy branches: 1.53.2;
Add CARP to GENERIC kernel configs. CARP is not enabled by default.

ok: christos
 1.52 05-Feb-2006  cube branches: 1.52.2; 1.52.10;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.51 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.50 02-Feb-2006  reinoud branches: 1.50.2;
Add commented out UDF file-system entry in all GENERIC configurations.
 1.49 20-Dec-2005  thorpej branches: 1.49.2; 1.49.4;
Remove the tablet line discipline.
 1.48 09-Dec-2005  elad Add (commented out) Veriexec options and pseudo-device to GENERIC kernels,
and remove the i386 GENERIC_VERIEXEC config.
 1.47 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.46 03-Nov-2005  chs turn off DEBUG and DIAGNOSTIC in GENERIC kernels so that they
are compatible with the LKMs that are part of the release.
 1.45 10-Sep-2005  jmmv Initial addition of tmpfs, an efficient memory file-system. This project
was developed as part of Google's Summer of Code 2005 program. This
change adds the kernel code, the mount_tmpfs utility, a regression test
suite and does all other related changes to integrate these.

The file-system is still *experimental*. Therefore, it is disabled by
default in all kernels. However, as typically done, a commented-out
entry is added in them to ease its setup.

Note that I haven't commited the required mountd(8) changes to be able
to export tmpfs file-systems because NFS support is still very unstable
and because, before enabling it, I'd like to do some other changes.

OK'ed by my project mentor, William Studenmund (wrstuden@).
 1.44 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.43 19-Aug-2005  christos 64 bit inode changes.
 1.42 31-Jul-2005  yamt revert "defflag VMSWAP" changes for now.
there seems to be far more people who don't want to edit
their kernel config files than i thought.
 1.41 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.40 29-Jul-2005  simonb Fix a typo.
 1.39 17-Jul-2005  hubertf Add support for reading cloop2 compressed filesystem image,
enable by putting VND_COMPRESSION into kernel config file.
Written by Cliff Wright, polished up slightly by me.
 1.38 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.37 25-Jun-2005  rpaulo branches: 1.37.2;
Add file-system PTYFS (commented out) so that people know its existence.

Ok'ed by Christos Zoulas and Hubert Feyrer.
 1.36 25-Feb-2005  simonb branches: 1.36.2;
Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.35 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.34 11-Feb-2005  dsl Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
 1.33 28-Jan-2005  rumble Sprinkle options UFS_DIRHASH on GENERIC kernels. It's presently
commented out and labeled experimental pending further review and
testing.
 1.32 17-Jan-2005  cube branches: 1.32.2;
Add tap(4) support to a random^Wcarefully chosen set of kernel configs.
All those kernels have a line for both tun and bridge, and if either is
commented out, tap is commented out also. With the exception of i386's
GENERIC_TINY.

XXX: we _need_ some way of making this more simple.
 1.31 10-Nov-2004  christos branches: 1.31.4;
Add COMPAT_BSDPTY to the rest of the config files.
 1.30 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.29 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.28 28-Jun-2004  bouyer Add options P1003_1B_SEMAPHORE
to all GENERIC-like kernel config files where SYSV* options were already
present (commented out if the SYSV* options are commented out).
Fix lib/25897 and lib/25898.
 1.27 26-Jun-2004  abs Add (commented out) ALTQ options to all GENERIC-like files
 1.26 22-Jun-2004  itojun have pf and pflog pseudo-device (commented out).
reviewed by matt, perry, christos
 1.25 18-Jun-2004  christos ptm is now mandatory, depends on pty, and can be disabled with -DNO_DEV_PTM
 1.24 16-Jun-2004  christos Add pseudo-device ptm on all the generic flavored kernels.
 1.23 25-Oct-2003  simonb branches: 1.23.2;
Rename the "strtc" device to "m41t81rtc" so that it doesn't conflict with
the MI i2c "strtc" device.
XXX: This should use the MI "strtc" device - the M41T81 should be
compatible enough with the M41ST84 currently supported by that
driver.
 1.22 25-Oct-2003  simonb Add COMPAT_16 where missing.
Remove the unused COMPAT_15.
Comment out/remove COMPAT_* from INSTALL kernels.
 1.21 26-Apr-2003  ragge branches: 1.21.2;
Add pseudo-device ksyms.
 1.20 10-Apr-2003  christos Bye Bye UCONSOLE
 1.19 27-Feb-2003  perseant Make BRIDGE_IPF an option, and document it. Add it (commented) to GENERIC.
Let brconfig tell whether the bridge is using the ipfilter hook, or not.
 1.18 09-Dec-2002  simonb Remove the explicit `makeoptions MACHINE_ARCH="mipse{b,l}"' for kernel
builds and use the endianness of the toolchain being used to determine
the endianness of the kernel.
 1.17 23-Nov-2002  cgd go back to being big-endian by default; was clobbered in last commit
 1.16 12-Nov-2002  simonb Add support for the ST M41T81 RTC found on pass 2 swarm boards.
XXX: Much of this should live in arch/sbmips instead of arch/mips/sibyte.
XXX: These should be replaced with MI SMBus drivers one day.
 1.15 08-Nov-2002  cgd default to big-endian, so that the kernel config matches the default
endianness chosen by build.sh for "-m sbmips".
 1.14 14-Oct-2002  elric Added commented out cgd(4)s to GENERIC configs.
 1.13 06-Oct-2002  provos add SYSTRACE; approved perry.
 1.12 25-Sep-2002  martti Add one space between "#option" and "<tab>IPFILTER_DEFAULT_BLOCK"
 1.11 20-Sep-2002  martti Added (commented out) IPFILTER_DEFAULT_BLOCK.
 1.10 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.9 31-Jul-2002  simonb branches: 1.9.2;
Add support for the watchdog timers on the BCM1xxx parts.
 1.8 17-Jun-2002  lukem branches: 1.8.2;
Enable "pseudo-device clockctl" in all kernels, except
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
 1.7 04-Jun-2002  simonb Add smbus@sbobio and rtc@smbus.
 1.6 04-Jun-2002  simonb Use "cpu*" and not "cpu0" to attach all CPUs.
Add PROCFS and fix a whitespace nit while we're here.
 1.5 25-Apr-2002  atatat branches: 1.5.2; 1.5.4;
Add the INCLUDE_CONFIG_FILE option to all config files. In config
files that are generic (ie, GENERIC, GENERICSBC, GENERIC32, ALL, or
ALPHA), it is uncommented.
 1.4 12-Apr-2002  gmcgarry Add commented-out USERCONF option. Mainly useful for install media
and can be optionally enabled based on miniroot and ramdisk size
requirements.
 1.3 18-Mar-2002  simonb Fix comments after endian selection includes(!).
 1.2 17-Mar-2002  simonb Allow selection of a big- or little-endian kernel by uncommenting the
std.sbmips.eb or std.sbmips.el config include file in the kernel config
file. Idea from the evbsh3 port.
 1.1 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.5.4.2 24-Oct-2002  lukem Pull up upgrade to IPfilter 3.4.29 (requested by martti in ticket #905).
Affected files & revisions:

dist/ipf/HISTORY 1.14
dist/ipf/fils.c 1.17-1.21
dist/ipf/ipf.c 1.11-1.13
dist/ipf/ipfs.c 1.8-1.10
dist/ipf/ipft_ef.c 1.6-1.7
dist/ipf/ipft_td.c 1.6-1.7
dist/ipf/ipft_tx.c 1.7-1.8
dist/ipf/ipmon.c 1.12-1.17
dist/ipf/ipnat.c 1.11-1.12
dist/ipf/ipsend/ip_var.h 1.2
dist/ipf/ipsend/ipsend.c 1.8
dist/ipf/ipsend/iptests.c 1.5
dist/ipf/ipt.c 1.8-1.10
dist/ipf/kmem.c 1.8-1.10
dist/ipf/man/ipf.4 1.10
dist/ipf/man/ipf.5 1.8
dist/ipf/man/ipftest.1 1.3
dist/ipf/man/ipmon.8 1.10
dist/ipf/man/ipnat.5 1.9-1.10
dist/ipf/man/ipnat.8 1.4
dist/ipf/misc.c 1.7
dist/ipf/natparse.c 1.10
dist/ipf/parse.c 1.13
dist/ipf/printnat.c 1.8-1.10
dist/ipf/relay.c 1.5-1.6
dist/ipf/rules/example.9 1.2
etc/rc.d/ipnat 1.8
regress/sys/kern/ipf/Makefile 1.3-1.4
regress/sys/kern/ipf/dotest6 1.2
regress/sys/kern/ipf/expected/f13 1.1.1.2
regress/sys/kern/ipf/expected/i12 1.1.1.1
regress/sys/kern/ipf/expected/ni3 1.1.1.1
regress/sys/kern/ipf/expected/ni5 1.2
regress/sys/kern/ipf/input/f13 1.1.1.2
regress/sys/kern/ipf/input/ipv6.1 1.1.1.1
regress/sys/kern/ipf/input/ni3 1.1.1.1
regress/sys/kern/ipf/regress/i12 1.1.1.1
regress/sys/kern/ipf/regress/ipv6.1 1.1.1.1
regress/sys/kern/ipf/regress/ni3.ipf 1.1.1.1
regress/sys/kern/ipf/regress/ni3.nat 1.1.1.1
sys/arch/alpha/conf/ALPHA 1.169,1.171
sys/arch/amiga/conf/GENERIC 1.185-1.186
sys/arch/arc/conf/GENERIC 1.71-1.72
sys/arch/atari/conf/GENERIC.in 1.24-1.25
sys/arch/cats/conf/GENERIC 1.31-1.32
sys/arch/cobalt/conf/GENERIC 1.34-1.35
sys/arch/hp300/conf/GENERIC 1.83-1.84
sys/arch/i386/conf/CARDBUS 1.66-1.67
sys/arch/i386/conf/GENERIC 1.510,1.512
sys/arch/i386/conf/GENERIC_LAPTOP 1.58-1.59
sys/arch/i386/conf/GENERIC_PS2TINY 1.19-1.20
sys/arch/i386/conf/GENERIC_TINY 1.47-1.48
sys/arch/luna68k/conf/GENERIC 1.33-1.33
sys/arch/mac68k/conf/GENERIC 1.130-1.131
sys/arch/mac68k/conf/GENERICSBC 1.21-1.22
sys/arch/mac68k/conf/SMALLRAM 1.4-1.5
sys/arch/macppc/conf/GENERIC 1.142-1.143
sys/arch/mipsco/conf/GENERIC 1.21-1.22
sys/arch/mmeye/conf/GENERIC 1.44-1.45
sys/arch/news68k/conf/GENERIC 1.36-1.37
sys/arch/news68k/conf/GENERIC_TINY 1.18-1.19
sys/arch/newsmips/conf/GENERIC 1.50-1.51
sys/arch/ofppc/conf/GENERIC 1.56-1.57
sys/arch/pmax/conf/GENERIC 1.103-1.104
sys/arch/prep/conf/GENERIC 1.55-1.56
sys/arch/sbmips/conf/GENERIC 1.11-1.12
sys/arch/sgimips/conf/GENERIC 1.7-1.8
sys/arch/sparc/conf/GENERIC 1.138-1.139
sys/arch/sparc64/conf/GENERIC32 1.46-1.47
sys/arch/vax/conf/GENERIC 1.102-1.103
sys/arch/x68k/conf/ALL 1.55-1.56
sys/arch/x68k/conf/GENERIC 1.80-1.81
sys/lkm/netinet/if_ipl/mln_ipl.c 1.29
sys/netinet/fil.c 1.57-1.58
sys/netinet/ip_auth.c 1.29-1.30
sys/netinet/ip_compat.h 1.30-1.31
sys/netinet/ip_fil.c 1.81-1.86
sys/netinet/ip_fil.h 1.46-1.49
sys/netinet/ip_frag.c 1.33-1.34
sys/netinet/ip_frag.h 1.18
sys/netinet/ip_ftp_pxy.c 1.25-1.26
sys/netinet/ip_h323_pxy.c 1.5-1.6
sys/netinet/ip_log.c 1.22-1.23
sys/netinet/ip_nat.c 1.51-1.53
sys/netinet/ip_nat.h 1.27
sys/netinet/ip_netbios_pxy.c 1.4
sys/netinet/ip_proxy.c 1.35-1.36
sys/netinet/ip_proxy.h 1.18
sys/netinet/ip_state.c 1.41-1.42
sys/netinet/ip_state.h 1.23
sys/netinet/ipl.h 1.14
 1.5.4.1 01-Aug-2002  lukem Pull up revision 1.8 (requested by lukem in ticket #312):
Enable "pseudo-device clockctl" in all kernels, except
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
 1.5.2.2 31-Aug-2002  gehenna catch up with -current.
 1.5.2.1 15-Jul-2002  gehenna catch up with -current.
 1.8.2.4 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.8.2.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.8.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.8.2.1 17-Jun-2002  jdolecek file GENERIC was added on branch kqueue on 2002-06-23 17:40:03 +0000
 1.9.2.4 11-Dec-2002  thorpej Sync with HEAD.
 1.9.2.3 11-Nov-2002  nathanw Catch up to -current
 1.9.2.2 18-Oct-2002  nathanw Catch up to -current.
 1.9.2.1 31-Jul-2002  nathanw file GENERIC was added on branch nathanw_sa on 2002-10-18 02:39:37 +0000
 1.21.2.10 11-Dec-2005  christos Sync with head.
 1.21.2.9 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.21.2.8 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.21.2.7 15-Feb-2005  skrll Sync with HEAD.
 1.21.2.6 04-Feb-2005  skrll Sync with HEAD.
 1.21.2.5 24-Jan-2005  skrll Sync with HEAD.
 1.21.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.21.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.21.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.21.2.1 03-Aug-2004  skrll Sync with HEAD
 1.23.2.3 15-Jul-2004  he Pull up revision 1.29 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.23.2.2 02-Jul-2004  he Pull up revision 1.28 (requested by bouyer in ticket #573):
Add options P1003_1B_SEMAPHORE to all GENERIC-like kernel
config files where SYSV* options were already present
(commented out if the SYSV* options are commented out).
Fixes PR#25897 and PR#25898.
 1.23.2.1 30-Jun-2004  jdc Pull up revision 1.27 (requested by abs in ticket #567).

Add (commented out) ALTQ options to all GENERIC-like files
 1.31.4.1 29-Apr-2005  kent sync with -current
 1.32.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.32.2.1 12-Feb-2005  yamt sync with head.
 1.36.2.3 05-Nov-2005  tron Pull up following revision(s) (requested by chs in ticket #929):
sys/arch/hp300/conf/GENERIC: revision 1.124
sys/arch/acorn32/conf/GENERIC: revision 1.62
sys/arch/pdp10/conf/GENERIC: revision 1.19
sys/arch/mvme68k/conf/GENERIC: revision 1.61
sys/arch/netwinder/conf/GENERIC: revision 1.70
sys/arch/sbmips/conf/GENERIC: revision 1.46
sys/arch/macppc/conf/GENERIC: revision 1.214
sys/arch/bebox/conf/GENERIC: revision 1.89
sys/arch/cobalt/conf/GENERIC: revision 1.83
sys/arch/cats/conf/GENERIC: revision 1.92
sys/arch/shark/conf/GENERIC: revision 1.53
sys/arch/amiga/conf/GENERIC.in: revision 1.45
sys/arch/acorn26/conf/GENERIC: revision 1.37
sys/arch/cesfic/conf/GENERIC: revision 1.38
sys/arch/iyonix/conf/GENERIC: revision 1.21
sys/arch/alpha/conf/GENERIC: revision 1.277
sys/arch/vax/conf/GENERIC: revision 1.143
sys/arch/atari/conf/GENERIC.in: revision 1.56
sys/arch/mipsco/conf/GENERIC: revision 1.53
sys/arch/ofppc/conf/GENERIC: revision 1.85
sys/arch/next68k/conf/GENERIC: revision 1.96
sys/arch/arc/conf/GENERIC: revision 1.125
sys/arch/dreamcast/conf/GENERIC: revision 1.62
turn off DEBUG and DIAGNOSTIC in GENERIC kernels so that they
are compatible with the LKMs that are part of the release.
 1.36.2.2 14-Aug-2005  riz Pull up revision 1.39 (requested by hubertf in ticket #625):
Add support for reading cloop2 compressed filesystem images,
enable by putting VND_COMPRESSION into kernel config file.
Written by Cliff Wright, polished up slightly by me.
 1.36.2.1 18-Jul-2005  riz Pull up revision 1.38 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.37.2.5 21-Jan-2008  yamt sync with head
 1.37.2.4 07-Dec-2007  yamt sync with head
 1.37.2.3 03-Sep-2007  yamt sync with head.
 1.37.2.2 30-Dec-2006  yamt sync with head.
 1.37.2.1 21-Jun-2006  yamt sync with head.
 1.49.4.1 09-Sep-2006  rpaulo sync with head
 1.49.2.1 18-Feb-2006  yamt sync with head.
 1.50.2.1 22-Apr-2006  simonb Sync with head.
 1.52.10.1 13-Jul-2006  gdamore Merge from HEAD.
 1.52.2.2 03-Sep-2006  yamt sync with head.
 1.52.2.1 11-Aug-2006  yamt sync with head
 1.53.2.2 22-Sep-2006  riz Pull up following revision(s) (requested by tsutsui in ticket #170):
sys/arch/sparc64/conf/GENERIC: revision 1.63
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.55
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.54
sys/arch/next68k/conf/GENERIC: revision 1.105
sys/arch/ews4800mips/conf/GENERIC: revision 1.12
sys/arch/arc/conf/GENERIC: revision 1.142
sys/arch/sun3/conf/GENERIC3X: revision 1.91
sys/arch/amd64/conf/GENERIC: revision 1.105
sys/arch/sun2/conf/GENERIC: revision 1.58
sys/arch/amiga/conf/GENERIC.in: revision 1.55
sys/arch/mac68k/conf/GENERIC: revision 1.175
sys/arch/acorn26/conf/GENERIC: revision 1.46
sys/arch/shark/conf/GENERIC: revision 1.65
sys/arch/cesfic/conf/GENERIC: revision 1.45
sys/arch/sandpoint/conf/GENERIC: revision 1.36
sys/arch/iyonix/conf/GENERIC: revision 1.32
sys/arch/mvme68k/conf/GENERIC: revision 1.69
sys/arch/evbarm/conf/ARMADILLO210: revision 1.3
sys/arch/vax/conf/GENERIC: revision 1.154
sys/arch/mipsco/conf/GENERIC: revision 1.61
sys/arch/evbarm/conf/ARMADILLO9: revision 1.14
sys/arch/cobalt/conf/GENERIC: revision 1.103
sys/arch/ofppc/conf/GENERIC: revision 1.94
sys/arch/hp700/conf/GENERIC: revision 1.69
sys/arch/playstation2/conf/GENERIC: revision 1.8
sys/arch/dreamcast/conf/GENERIC: revision 1.73
sys/arch/news68k/conf/GENERIC: revision 1.81
sys/arch/macppc/conf/GENERIC: revision 1.234
sys/arch/hp300/conf/GENERIC: revision 1.134
sys/arch/mmeye/conf/GENERIC: revision 1.83
sys/arch/ibmnws/conf/GENERIC: revision 1.26
sys/arch/cats/conf/GENERIC: revision 1.109
sys/arch/sparc/conf/GENERIC: revision 1.191
sys/arch/pdp10/conf/GENERIC: revision 1.27
sys/arch/acorn32/conf/GENERIC: revision 1.75
sys/arch/luna68k/conf/GENERIC: revision 1.74
sys/arch/bebox/conf/GENERIC: revision 1.101
sys/arch/pmax/conf/GENERIC: revision 1.148
sys/arch/x68k/conf/GENERIC: revision 1.130
sys/arch/sun3/conf/GENERIC: revision 1.134
sys/arch/prep/conf/GENERIC: revision 1.126
sys/arch/alpha/conf/GENERIC: revision 1.293
sys/arch/newsmips/conf/GENERIC: revision 1.94
sys/arch/netwinder/conf/GENERIC: revision 1.83
sys/arch/hpcsh/conf/GENERIC: revision 1.69
sys/arch/sbmips/conf/GENERIC: revision 1.55
sys/arch/pc532/conf/GENERIC: revision 1.65
sys/arch/hpcmips/conf/GENERIC: revision 1.192
Remove obsolete #options VERIFIED_EXEC, found by grep(1).
 1.53.2.1 14-Aug-2006  tron Pull up following revision(s) (requested by elad in ticket #17):
sys/arch/sparc/conf/KRUPS: revision 1.38
sys/arch/i386/conf/XEN2_DOMU: revision 1.2
sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.197
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.53
sys/arch/evbsh5/conf/SIMULATOR: revision 1.12
sys/arch/sparc/conf/MRCOFFEE: revision 1.17
sys/arch/next68k/conf/GENERIC: revision 1.104
sys/arch/i386/conf/VIRTUALPC: revision 1.44
sys/arch/ews4800mips/conf/GENERIC: revision 1.11
sys/arch/evbsh5/conf/CAYMAN: revision 1.23
sys/arch/arc/conf/GENERIC: revision 1.141
sys/arch/amd64/conf/GENERIC: revision 1.103
sys/arch/sun3/conf/GENERIC3X: revision 1.90
sys/arch/evbarm/conf/HDL_G: revision 1.3
sys/arch/sun2/conf/GENERIC: revision 1.57
sys/arch/news68k/conf/GENERIC_TINY: revision 1.51
sys/arch/evbppc/conf/EXPLORA451: revision 1.27
sys/arch/amiga/conf/GENERIC.in: revision 1.54
sys/arch/mac68k/conf/GENERIC: revision 1.174
sys/arch/acorn26/conf/GENERIC: revision 1.45
sys/arch/shark/conf/GENERIC: revision 1.64
sys/arch/cesfic/conf/GENERIC: revision 1.44
sys/arch/mvme68k/conf/GENERIC: revision 1.68
sys/arch/i386/conf/XEN2_DOM0: revision 1.4
sys/arch/atari/conf/GENERIC.in: revision 1.63
sys/arch/amiga/conf/GENERIC: revision 1.240
sys/arch/i386/conf/LAMB: revision 1.65
sys/arch/i386/conf/GENERIC: revision 1.773
sys/arch/acorn32/conf/EB7500ATX: revision 1.26
sys/arch/x68k/conf/GENERIC: revision 1.128
sys/arch/vax/conf/GENERIC: revision 1.153
sys/arch/atari/conf/ATARITT: revision 1.81
sys/arch/mipsco/conf/GENERIC: revision 1.60
sys/arch/cobalt/conf/GENERIC: revision 1.101
sys/arch/evbarm/conf/ARMADILLO9: revision 1.13
sys/arch/ofppc/conf/GENERIC: revision 1.93
sys/arch/atari/conf/MILAN-PCIIDE: revision 1.51
sys/arch/arc/conf/RPC44: revision 1.26
sys/arch/sparc64/conf/GENERIC: revision 1.59
sys/arch/i386/conf/XEN3_DOMU: revision 1.2
sys/arch/hp700/conf/GENERIC: revision 1.68
sys/arch/atari/conf/MILAN-ISAIDE: revision 1.47
sys/arch/macppc/conf/GENERIC: revision 1.231
sys/arch/dreamcast/conf/GENERIC: revision 1.72
sys/arch/news68k/conf/GENERIC: revision 1.80
sys/arch/hp300/conf/GENERIC: revision 1.133
sys/arch/mmeye/conf/GENERIC: revision 1.82
sys/arch/macppc/conf/MAMBO: revision 1.2
sys/arch/cats/conf/GENERIC: revision 1.107
sys/arch/atari/conf/FALCON: revision 1.79
sys/arch/acorn32/conf/GENERIC: revision 1.71
sys/arch/sparc/conf/GENERIC: revision 1.190
sys/arch/news68k/conf/LIBERO: revision 1.40
sys/arch/amiga/conf/DRACO: revision 1.114
sys/arch/cobalt/conf/INSTALL: revision 1.23
sys/arch/luna68k/conf/GENERIC: revision 1.73
sys/arch/bebox/conf/GENERIC: revision 1.100
sys/arch/pmax/conf/GENERIC: revision 1.147
sys/arch/amiga/conf/WSCONS: revision 1.52
sys/arch/macppc/conf/POWERMAC_G5: revision 1.2
sys/arch/alpha/conf/ALPHA: revision 1.218
sys/arch/sun3/conf/GENERIC: revision 1.133
sys/arch/prep/conf/GENERIC: revision 1.124
sys/arch/alpha/conf/GENERIC: revision 1.291
sys/arch/atari/conf/HADES: revision 1.71
sys/arch/newsmips/conf/GENERIC: revision 1.93
sys/arch/netwinder/conf/GENERIC: revision 1.82
sys/arch/hpcmips/conf/GENERIC: revision 1.190
sys/arch/amiga/conf/AMIGA: revision 1.98
sys/arch/sbmips/conf/GENERIC: revision 1.54
sys/arch/pc532/conf/GENERIC: revision 1.64
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.53
Disable SYSTRACE by default on all kernels (discussed with core)
 1.57.4.2 10-Dec-2006  yamt sync with head.
 1.57.4.1 22-Oct-2006  yamt sync with head
 1.57.2.1 18-Nov-2006  ad Sync with head.
 1.59.18.1 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.59.16.2 03-Oct-2007  garbled Sync with HEAD
 1.59.16.1 26-Jun-2007  garbled Sync with HEAD.
 1.59.10.1 11-Jul-2007  mjf Sync with head.
 1.59.8.2 15-Jul-2007  ad Sync with head.
 1.59.8.1 09-Jun-2007  ad Sync with head.
 1.59.2.2 11-Jun-2007  liamjfoy Pull up following revision(s) (requested by tsutsui in ticket #715):
sys/arch/mips/mips/trap.c: revision 1.212
sys/arch/sbmips/conf/GENERIC: revision 1.60
sys/arch/mips/conf/Makefile.mips: revision 1.46
Preserve local symbols on linking a kernel so that
we can get more useful trace on ddb(4).
Bump SYMTAB_SPACE so that it fits again.
Use the kernel symbol table to see the beginning of the current
subroutine to get more proper backtrace on ddb(4).
In the previous code it scans backwards from the current PC
for the end of the previous subroutine and checks "jr ra" or
"jr k0" instructions, but it often fails because gcc is
so aggressive nowadays as to reorder instruction blocks
to create efficient code path by branch predict etc. and
"jr ra" is not always located at the end of subroutines.
No objection on port-mips.
 1.59.2.1 05-Jun-2007  bouyer Pull up following revision(s) (requested by martin in ticket #699):
sys/arch/hpcmips/conf/GENERIC: revision 1.196
sys/arch/hp700/conf/GENERIC: revision 1.74
sys/arch/i386/conf/GENERIC: revision 1.831
sys/arch/next68k/conf/GENERIC: revision 1.108
sys/arch/alpha/conf/GENERIC: revision 1.313
sys/arch/arc/conf/GENERIC: revision 1.146
sys/arch/cats/conf/GENERIC: revision 1.115
sys/arch/ews4800mips/conf/GENERIC: revision 1.18
sys/arch/landisk/conf/GENERIC: revision 1.8 via patch
sys/arch/sparc64/conf/GENERIC: revision 1.85
sys/arch/pmax/conf/GENERIC: revision 1.152
sys/arch/iyonix/conf/GENERIC: revision 1.38 via patch
sys/arch/amiga/conf/GENERIC: revision 1.245
sys/arch/vax/conf/GENERIC: revision 1.157
sys/arch/prep/conf/GENERIC: revision 1.135
sys/arch/pc532/conf/GENERIC: revision 1.70
sys/arch/sbmips/conf/GENERIC: revision 1.61
sys/arch/mipsco/conf/GENERIC: revision 1.65
sys/arch/cobalt/conf/GENERIC: revision 1.108
sys/arch/ofppc/conf/GENERIC: revision 1.98
sys/arch/amd64/conf/GENERIC: revision 1.148
sys/arch/acorn26/conf/GENERIC: revision 1.50
sys/arch/dreamcast/conf/GENERIC: revision 1.78
sys/arch/mac68k/conf/GENERIC: revision 1.181
sys/arch/hp300/conf/GENERIC: revision 1.139
sys/arch/mmeye/conf/GENERIC: revision 1.88
sys/arch/news68k/conf/GENERIC: revision 1.88
sys/arch/mvme68k/conf/GENERIC: revision 1.71
sys/arch/acorn32/conf/GENERIC: revision 1.79
sys/arch/sparc/conf/GENERIC: revision 1.199
sys/arch/luna68k/conf/GENERIC: revision 1.78
sys/arch/bebox/conf/GENERIC: revision 1.105
sys/arch/macppc/conf/GENERIC: revision 1.256 via patch
sys/arch/x68k/conf/GENERIC: revision 1.134
sys/arch/sun3/conf/GENERIC: revision 1.138
sys/arch/newsmips/conf/GENERIC: revision 1.98
Add pseudo-device agr to all GENERIC kernels where it might make sense
(commented out in some).
 1.62.10.3 23-Mar-2008  matt sync with HEAD
 1.62.10.2 09-Jan-2008  matt sync with HEAD
 1.62.10.1 06-Nov-2007  matt sync with HEAD
 1.62.8.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.62.2.1 07-Aug-2007  matt Sync with HEAD.
 1.63.4.1 08-Dec-2007  ad Sync with head.
 1.63.2.2 18-Feb-2008  mjf Sync with HEAD.
 1.63.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.64.4.2 20-Jan-2008  bouyer Sync with HEAD
 1.64.4.1 02-Jan-2008  bouyer Sync with HEAD
 1.66.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.66.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.66.10.4 11-Aug-2010  yamt sync with head.
 1.66.10.3 11-Mar-2010  yamt sync with head
 1.66.10.2 19-Aug-2009  yamt sync with head.
 1.66.10.1 04-May-2009  yamt sync with head.
 1.66.8.1 04-Jun-2008  yamt sync with head
 1.66.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.66.6.2 28-Sep-2008  mjf Sync with HEAD.
 1.66.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.67.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.67.4.1 19-Oct-2008  haad Sync with HEAD.
 1.70.8.6 29-Apr-2011  matt increase SYMTAB_SPACE
 1.70.8.5 14-May-2010  cliff - increase SYMTAB_SPACE to 380000
- configure ohci at pci, and some useful USB devices
 1.70.8.4 29-Jan-2010  matt Change mips kernel options SOFTFLOAT to FPEMUL. Allow a kernel to have
no FP emulation code. Fix insufficient SYMTAB_SPACE. When a kernel without
an FPU and with FPEMUL code, the application will trap with a SIGILL/ILL_ILLOPC
signal, not SIGSEGV/SEGV_MAPERR.
 1.70.8.3 21-Jan-2010  cyber Get rid of sbpcihb, unused
increase SYMTAB_SPACE
 1.70.8.2 21-Jan-2010  matt sbldthb is dead. ppb.c will now take care of it.
sbpcihb is now brain dead. only print whether we are in host or device mode
 1.70.8.1 21-Jan-2010  matt Increase SYMTAB_SPACE
Add pci support
 1.70.2.3 28-Apr-2009  skrll Sync with HEAD.
 1.70.2.2 03-Mar-2009  skrll Sync with HEAD.
 1.70.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.73.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.76.4.4 21-Apr-2011  rmind sync with head
 1.76.4.3 05-Mar-2011  rmind sync with head
 1.76.4.2 03-Jul-2010  rmind sync with head
 1.76.4.1 30-May-2010  rmind sync with head
 1.76.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.80.4.2 05-Mar-2011  bouyer Sync with HEAD
 1.80.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.80.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.83.2.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.83.2.2 30-Oct-2012  yamt sync with head
 1.83.2.1 17-Apr-2012  yamt sync with head
 1.85.2.2 11-Mar-2012  mrg sync to latest -current
 1.85.2.1 18-Feb-2012  mrg merge to -current.
 1.87.2.4 03-Dec-2017  jdolecek update from HEAD
 1.87.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.87.2.2 23-Jun-2013  tls resync from head
 1.87.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.94.2.1 28-Aug-2013  rmind sync with head
 1.95.4.1 10-Aug-2014  tls Rebase.
 1.96.2.2 18-Nov-2014  snj Pull up following revision(s) (requested by manu in ticket #251):
sys/arch/acorn26/conf/GENERIC: revision 1.81
sys/arch/acorn32/conf/GENERIC: revision 1.116
sys/arch/alpha/conf/GENERIC: revision 1.362
sys/arch/amd64/conf/ALL: revision 1.23
sys/arch/amd64/conf/GENERIC: revision 1.404
sys/arch/amd64/conf/XEN3_DOM0: revision 1.112
sys/arch/amd64/conf/XEN3_DOMU: revision 1.60
sys/arch/amiga/conf/GENERIC.in: revision 1.129
sys/arch/amiga/conf/GENERIC: revision 1.311
sys/arch/amigappc/conf/GENERIC: revision 1.24
sys/arch/arc/conf/GENERIC: revision 1.184
sys/arch/bebox/conf/GENERIC: revision 1.145
sys/arch/cats/conf/GENERIC: revision 1.155
sys/arch/cesfic/conf/GENERIC: revision 1.65
sys/arch/cobalt/conf/GENERIC: revision 1.147
sys/arch/dreamcast/conf/GENERIC: revision 1.121
sys/arch/emips/conf/GENERIC: revision 1.15
sys/arch/epoc32/conf/GENERIC: revision 1.8
sys/arch/ews4800mips/conf/GENERIC: revision 1.51
sys/arch/hp300/conf/GENERIC: revision 1.190
sys/arch/hpcmips/conf/GENERIC: revision 1.229
sys/arch/hpcsh/conf/GENERIC: revision 1.106
sys/arch/hppa/conf/GENERIC: revision 1.6
sys/arch/i386/conf/ALL: revision 1.389
sys/arch/i386/conf/GENERIC: revision 1.1118
sys/arch/i386/conf/XEN3_DOM0: revision 1.93
sys/arch/i386/conf/XEN3_DOMU: revision 1.65
sys/arch/ibmnws/conf/GENERIC: revision 1.46
sys/arch/iyonix/conf/GENERIC: revision 1.88
sys/arch/landisk/conf/GENERIC: revision 1.45
sys/arch/luna68k/conf/GENERIC: revision 1.119
sys/arch/mac68k/conf/GENERIC: revision 1.220
sys/arch/macppc/conf/GENERIC: revision 1.320
sys/arch/macppc/conf/MAMBO: revision 1.24
sys/arch/macppc/conf/POWERMAC_G5: revision 1.25
sys/arch/mipsco/conf/GENERIC: revision 1.88
sys/arch/mmeye/conf/GENERIC: revision 1.120
sys/arch/mvme68k/conf/GENERIC: revision 1.94
sys/arch/mvmeppc/conf/GENERIC: revision 1.24
sys/arch/netwinder/conf/GENERIC: revision 1.126
sys/arch/news68k/conf/GENERIC: revision 1.125
sys/arch/newsmips/conf/GENERIC: revision 1.129
sys/arch/next68k/conf/GENERIC: revision 1.139
sys/arch/ofppc/conf/GENERIC: revision 1.157
sys/arch/pmax/conf/GENERIC64: revision 1.21
sys/arch/pmax/conf/GENERIC: revision 1.185
sys/arch/prep/conf/GENERIC: revision 1.174
sys/arch/rs6000/conf/GENERIC: revision 1.33
sys/arch/sandpoint/conf/GENERIC: revision 1.88
sys/arch/sbmips/conf/GENERIC: revision 1.101
sys/arch/sgimips/conf/GENERIC32_IP12: revision 1.28
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.104
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.106
sys/arch/shark/conf/GENERIC: revision 1.121
sys/arch/sparc/conf/GENERIC: revision 1.248
sys/arch/sparc/conf/TADPOLE3GX: revision 1.65
sys/arch/sparc64/conf/GENERIC: revision 1.177
sys/arch/sparc64/conf/NONPLUS64: revision 1.44
sys/arch/sun2/conf/GENERIC: revision 1.94
sys/arch/sun3/conf/GENERIC: revision 1.171
sys/arch/vax/conf/GENERIC: revision 1.193
sys/arch/vax/conf/VAX780: revision 1.19
sys/arch/x68k/conf/GENERIC: revision 1.179
sys/arch/zaurus/conf/GENERIC: revision 1.65
sys/ufs/files.ufs: revision 1.38
Remove unused extended attributes kernel options

As Masao Uebayashi pointed to me, UFS_EXTATTR_AUTOSTART, LFS_EXTATTR_AUTOSTART
and UFS_EXTATTR_AUTOCREATE are not used anywhere in the code. Remove them
as they have been obsolete for a long time:
UFS_EXTATTR_AUTOSTART was replaced by mount -o extattr
LFS_EXTATTR_AUTOSTART was created to match obsolete UFS_EXTATTR_AUTOSTART
UFS_EXTATTR_AUTOCREATE was replaced by sysctl vfs.ffs.extattr_autocreate
 1.96.2.1 14-Nov-2014  martin Pull up following revision(s) (requested by manu in ticket #232):
sys/arch/next68k/conf/GENERIC: revision 1.138
sys/arch/cobalt/conf/GENERIC: revision 1.146
sys/arch/mvme68k/conf/GENERIC: revision 1.93
sys/arch/vax/conf/VAX780: revision 1.18
sys/arch/newsmips/conf/GENERIC: revision 1.128
sys/arch/luna68k/conf/GENERIC: revision 1.118
sys/arch/sbmips/conf/GENERIC: revision 1.100
sys/arch/pmax/conf/GENERIC: revision 1.184
sys/arch/alpha/conf/GENERIC: revision 1.361
sys/arch/sparc64/conf/GENERIC: revision 1.176
sys/arch/sun3/conf/GENERIC: revision 1.170
sys/arch/shark/conf/GENERIC: revision 1.120
sys/arch/landisk/conf/GENERIC: revision 1.44
sys/arch/bebox/conf/GENERIC: revision 1.144
sys/arch/sparc64/conf/NONPLUS64: revision 1.43
sys/arch/sandpoint/conf/GENERIC: revision 1.87
sys/arch/emips/conf/GENERIC: revision 1.14
sys/arch/amd64/conf/XEN3_DOM0: revision 1.111
sys/arch/dreamcast/conf/GENERIC: revision 1.120
sys/arch/cesfic/conf/GENERIC: revision 1.64
sys/arch/mmeye/conf/GENERIC: revision 1.119
sys/arch/epoc32/conf/GENERIC: revision 1.7
sys/arch/x68k/conf/GENERIC: revision 1.178
sys/arch/iyonix/conf/GENERIC: revision 1.87
sys/arch/sun2/conf/GENERIC: revision 1.93
sys/arch/ews4800mips/conf/GENERIC: revision 1.50
sys/arch/amd64/conf/XEN3_DOMU: revision 1.59
sys/arch/acorn26/conf/GENERIC: revision 1.80
sys/arch/acorn32/conf/GENERIC: revision 1.115
sys/arch/macppc/conf/POWERMAC_G5: revision 1.24
sys/arch/i386/conf/GENERIC: revision 1.1117
sys/arch/arc/conf/GENERIC: revision 1.183
sys/arch/cats/conf/GENERIC: revision 1.154
sys/arch/amiga/conf/GENERIC.in: revision 1.128
sys/arch/zaurus/conf/GENERIC: revision 1.64
sys/arch/netwinder/conf/GENERIC: revision 1.125
sys/arch/hppa/conf/GENERIC: revision 1.5
sys/arch/mvmeppc/conf/GENERIC: revision 1.23
sys/arch/macppc/conf/GENERIC: revision 1.319
sys/arch/amiga/conf/GENERIC: revision 1.310
sys/arch/pmax/conf/GENERIC64: revision 1.20
sys/arch/macppc/conf/MAMBO: revision 1.23
sys/arch/sgimips/conf/GENERIC32_IP12: revision 1.27
sys/arch/amigappc/conf/GENERIC: revision 1.23
sys/arch/amd64/conf/GENERIC: revision 1.403
sys/arch/ofppc/conf/GENERIC: revision 1.156
sys/arch/mac68k/conf/GENERIC: revision 1.219
sys/arch/i386/conf/XEN3_DOMU: revision 1.64
sys/arch/mipsco/conf/GENERIC: revision 1.87
sys/arch/hp300/conf/GENERIC: revision 1.189
sys/arch/vax/conf/GENERIC: revision 1.192
sys/arch/news68k/conf/GENERIC: revision 1.124
sys/arch/ibmnws/conf/GENERIC: revision 1.45
sys/arch/hpcsh/conf/GENERIC: revision 1.105
sys/arch/sparc/conf/TADPOLE3GX: revision 1.64
sys/arch/i386/conf/XEN3_DOM0: revision 1.92
sys/arch/sparc/conf/GENERIC: revision 1.247
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.105
sys/arch/prep/conf/GENERIC: revision 1.173
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.103
sys/arch/rs6000/conf/GENERIC: revision 1.32
sys/arch/hpcmips/conf/GENERIC: revision 1.228
Support for UFS1 extended attributes in GENERIC and GENERIC-like kernels
This change just brings UFS1 extended attribute *support* in the kernel,
extended attributes are not enabled unless three conditions are met:
1) filesystem is UFS1 (newfs -O1)
2) .attribute/system and .attribute/user directories are created at fs root
3) filesystem is mounted with -o extattr
Some GENERIC kernels are obviously memory constrained, the extended
attributes options were not enabled for them, but just added commented out.
(kernel were considered memory constrained if QUOTA option was disabled)
 1.101.2.2 28-Aug-2017  skrll Sync with HEAD
 1.101.2.1 22-Sep-2015  skrll Sync with HEAD
 1.105.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.105.4.1 10-Jun-2019  christos Sync with HEAD
 1.105.2.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.105.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.108.4.1 25-Jan-2020  ad Sync with head.
 1.3 17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.2 20-Feb-2011  matt branches: 1.2.14;
Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.1 28-Feb-2010  matt branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
file GENERIC.MP was initially added on branch matt-nb5-mips64.
 1.1.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.1.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.4.1 05-Mar-2011  rmind sync with head
 1.1.2.1 28-Feb-2010  matt Add MP versions of GENERIC and GENERIC64 (untested).
Start adding the MP bits for sbmips.
 1.2.14.1 03-Dec-2017  jdolecek update from HEAD
 1.3 17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.2 14-Dec-2009  matt branches: 1.2.4; 1.2.24;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.1 20-Aug-2009  matt branches: 1.1.2;
file GENERIC64 was initially added on branch matt-nb5-mips64.
 1.1.2.3 08-Dec-2009  cyber - Allow debugging symbols
- Handle args processing in a way that CFE will let us use
 1.1.2.2 14-Sep-2009  matt Add COMPAT_NETBSD32
 1.1.2.1 20-Aug-2009  matt This config will build a N64 (64-bit) kernel.
 1.2.24.1 03-Dec-2017  jdolecek update from HEAD
 1.2.4.2 11-Mar-2010  yamt sync with head
 1.2.4.1 14-Dec-2009  yamt file GENERIC64 was added on branch yamt-nfs-mp on 2010-03-11 15:02:53 +0000
 1.3 17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.2 20-Feb-2011  matt branches: 1.2.14;
Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.1 28-Feb-2010  matt branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
file GENERIC64.MP was initially added on branch matt-nb5-mips64.
 1.1.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.1.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.4.1 05-Mar-2011  rmind sync with head
 1.1.2.1 28-Feb-2010  matt Add MP versions of GENERIC and GENERIC64 (untested).
Start adding the MP bits for sbmips.
 1.2.14.1 03-Dec-2017  jdolecek update from HEAD
 1.2 24-Nov-2005  dbj . Have dbsym explicitly suggest increasing SYMTAB_SPACE when
an overflow occurs.
. Make this error a fatal build time error
. Move the support for dbsym into the MI Makefile.kern.inc,
conditional upon the SYMTAB_SPACE option being defined in
the kernel config file.
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12; 1.1.18; 1.1.24; 1.1.34; 1.1.40;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.40.1 29-Nov-2005  yamt sync with head.
 1.1.34.1 21-Jun-2006  yamt sync with head.
 1.1.24.1 06-Feb-2005  jmc Pull up patch (requested by martti in ticket #1086)
Move ipf to sys/dist/ipf and sync w. trunk
 1.1.18.1 11-Dec-2005  christos Sync with head.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file Makefile.sbmips.inc was added on branch nathanw_sa on 2002-03-06 02:13:39 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file Makefile.sbmips.inc was added on branch kqueue on 2002-06-23 17:40:03 +0000
 1.18 04-Mar-2022  andvar fix few typos in comments for word "because".
 1.17 21-Aug-2019  msaitoh Fix typo (s/contoller/controller/).
 1.16 20-Jul-2014  alnsn branches: 1.16.28;
Include sljit files.
 1.15 20-Feb-2011  matt branches: 1.15.14; 1.15.28;
Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.14 20-Feb-2008  drochner branches: 1.14.28; 1.14.32; 1.14.38; 1.14.40;
Since files.wscons et al. are included by ~all ports anyway, include
them in the mi "files" file, and remove include statements from md files.
These shouldn't pull in additional kernel code when not in use, so it
shouldn't do any harm except a risk of namespace collisions which
should be easy to fix.
 1.13 08-Jan-2008  simonb Add timecounter support for sbmips machines and Broadcom SiByte CPUs.
Based on patch from joerg@, with tweaks by me to work with sbmips
non-use of the CP0 count/compare registers for clock interrupts.
 1.12 10-Apr-2007  macallan branches: 1.12.14; 1.12.20; 1.12.26;
include files.wsfb
 1.11 11-Nov-2005  simonb branches: 1.11.28; 1.11.32; 1.11.34;
Switch to the MIPS generic soft interrupt code instead of using
port-specific code.
 1.10 25-Mar-2004  wiz branches: 1.10.16;
Backout previous -- this is not enough, config needs to be taught
how to reach partitions above h. Noted by Simon Burge, related to
PR 24905.
 1.9 25-Mar-2004  wiz Define maxpartitions to the same value as MAXPARTITIONS in disklabel.h.
Addresses PR 24905 by Simon Burge.
 1.8 13-Mar-2004  bjh21 Abstract the interface between pckbc(4), and the pckbd(4) and pms(4)
drivers that attach to it. This allows for other host interface chips
that use the same keyboards and mice, such as the ones in the ARM
IOMD20, ARM7500, and SA-1111. The PC-compatible driver is still
called pckbc(4), and the new abstraction layer is "pckbport", so the
child devices have moved from sys/dev/pckbc to sys/dev/pckbport, which
also contains some code shared between all host controllers. To avoid
incompatibility, pckbdreg.h is still installed in
/usr/include/dev/pckbc.

In theory, this shouldn't cause any behavioural changes in the drivers
concerned. Thy just use rather more function pointers than before. Tested
on i386 and (with a new host driver) acorn32. Compiled on several other
affected architectures.
 1.7 27-Jul-2003  thorpej Since everyone uses clock_subr.c (or should, if they don't currently),
list it in conf/files instead of in every port's files.*.
 1.6 09-Nov-2002  cgd branches: 1.6.6;
GC IKOS kernel option (never complete in these sources anyway)
 1.5 01-Nov-2002  simonb Fix fallout from gehenna-devsw merge.
 1.4 06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.3 16-Apr-2002  thorpej branches: 1.3.2; 1.3.6; 1.3.8;
* Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
the magic "files include order" dance in N machine-dependent
configuration definitions.
 1.2 06-Mar-2002  simonb Remove the -O0 workaround for nfs_bio.c - the in-tree toolchain builds
this properly.
 1.1 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.3.8.3 11-Nov-2002  nathanw Catch up to -current
 1.3.8.2 17-Sep-2002  nathanw Catch up to -current.
 1.3.8.1 16-Apr-2002  nathanw file files.sbmips was added on branch nathanw_sa on 2002-09-17 21:17:17 +0000
 1.3.6.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.3.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.6.1 16-Apr-2002  jdolecek file files.sbmips was added on branch kqueue on 2002-06-23 17:40:04 +0000
 1.3.2.3 31-Aug-2002  gehenna Device switches for sbmips are shared with evbmips.
 1.3.2.2 17-May-2002  gehenna Remove old block majors list.
 1.3.2.1 16-May-2002  gehenna Include the list of block/character major numbers.
 1.6.6.4 11-Dec-2005  christos Sync with head.
 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.10.16.4 27-Feb-2008  yamt sync with head.
 1.10.16.3 21-Jan-2008  yamt sync with head
 1.10.16.2 03-Sep-2007  yamt sync with head.
 1.10.16.1 21-Jun-2006  yamt sync with head.
 1.11.34.1 11-Jul-2007  mjf Sync with head.
 1.11.32.1 10-Apr-2007  ad Sync with head.
 1.11.28.1 15-Apr-2007  yamt sync with head.
 1.12.26.1 08-Jan-2008  bouyer Sync with HEAD
 1.12.20.1 18-Feb-2008  mjf Sync with HEAD.
 1.12.14.2 23-Mar-2008  matt sync with HEAD
 1.12.14.1 09-Jan-2008  matt sync with HEAD
 1.14.40.1 05-Mar-2011  bouyer Sync with HEAD
 1.14.38.1 06-Jun-2011  jruoho Sync with HEAD.
 1.14.32.1 05-Mar-2011  rmind sync with head
 1.14.28.2 05-Feb-2010  matt Change to deal with new method of invoking softints. Remove mips/softintr.c
from config files. Fix SYMTAB_SPACE for WGT62V43
 1.14.28.1 14-Jan-2010  matt Deal with various changes with avail_end and avail_start, etc.
 1.15.28.1 10-Aug-2014  tls Rebase.
 1.15.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.16.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1 16-May-2002  gehenna branches: 1.1.2;
file majors.sbmips was initially added on branch gehenna-devsw.
 1.1.2.5 31-Aug-2002  gehenna Device switches for sbmips are shared with evbmips.
 1.1.2.4 17-Jul-2002  gehenna ctach up with -current.
 1.1.2.3 15-Jul-2002  gehenna catch up with -current.
 1.1.2.2 30-May-2002  gehenna Add $NetBSD$
 1.1.2.1 16-May-2002  gehenna Add the list of block/character majors.
 1.6 14-Dec-2009  matt Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.5 11-Dec-2005  christos branches: 1.5.78; 1.5.96;
merge ktrace-lwp.
 1.4 17-Sep-2005  yamt include "conf/std".
 1.3 09-Dec-2002  simonb branches: 1.3.2; 1.3.8; 1.3.24;
Remove the explicit `makeoptions MACHINE_ARCH="mipse{b,l}"' for kernel
builds and use the endianness of the toolchain being used to determine
the endianness of the kernel.
 1.2 17-Mar-2002  simonb Allow selection of a big- or little-endian kernel by uncommenting the
std.sbmips.eb or std.sbmips.el config include file in the kernel config
file. Idea from the evbsh3 port.
 1.1 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.3.24.1 21-Jun-2006  yamt sync with head.
 1.3.8.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.3.2.1 09-Dec-2002  thorpej file std.sbmips was added on branch nathanw_sa on 2002-12-11 06:11:50 +0000
 1.5.96.1 20-Aug-2009  matt When building sbmips kernels, always use compile with -mips64 -mtune=sb1
 1.5.78.1 11-Mar-2010  yamt sync with head
 1.3 09-Dec-2002  simonb Remove the explicit `makeoptions MACHINE_ARCH="mipse{b,l}"' for kernel
builds and use the endianness of the toolchain being used to determine
the endianness of the kernel.
 1.2 15-Nov-2002  simonb Add "options MIPS64_SB1".
 1.1 17-Mar-2002  simonb branches: 1.1.8; 1.1.10;
Allow selection of a big- or little-endian kernel by uncommenting the
std.sbmips.eb or std.sbmips.el config include file in the kernel config
file. Idea from the evbsh3 port.
 1.1.10.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.10.1 17-Mar-2002  thorpej file std.sbmips.common was added on branch nathanw_sa on 2002-12-11 06:11:50 +0000
 1.1.8.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.8.1 17-Mar-2002  jdolecek file std.sbmips.common was added on branch kqueue on 2002-06-23 17:40:04 +0000
 1.2 09-Dec-2002  simonb Remove the explicit `makeoptions MACHINE_ARCH="mipse{b,l}"' for kernel
builds and use the endianness of the toolchain being used to determine
the endianness of the kernel.
 1.1 17-Mar-2002  simonb branches: 1.1.8; 1.1.10;
Allow selection of a big- or little-endian kernel by uncommenting the
std.sbmips.eb or std.sbmips.el config include file in the kernel config
file. Idea from the evbsh3 port.
 1.1.10.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.10.1 17-Mar-2002  thorpej file std.sbmips.eb was added on branch nathanw_sa on 2002-12-11 06:11:50 +0000
 1.1.8.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.8.1 17-Mar-2002  jdolecek file std.sbmips.eb was added on branch kqueue on 2002-06-23 17:40:04 +0000
 1.2 09-Dec-2002  simonb Remove the explicit `makeoptions MACHINE_ARCH="mipse{b,l}"' for kernel
builds and use the endianness of the toolchain being used to determine
the endianness of the kernel.
 1.1 17-Mar-2002  simonb branches: 1.1.8; 1.1.10;
Allow selection of a big- or little-endian kernel by uncommenting the
std.sbmips.eb or std.sbmips.el config include file in the kernel config
file. Idea from the evbsh3 port.
 1.1.10.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.10.1 17-Mar-2002  thorpej file std.sbmips.el was added on branch nathanw_sa on 2002-12-11 06:11:50 +0000
 1.1.8.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.8.1 17-Mar-2002  jdolecek file std.sbmips.el was added on branch kqueue on 2002-06-23 17:40:04 +0000
 1.18 30-Nov-2024  christos Create a new header lwp_private.h to contain _lwp_getprivate_fast,
_lwp_gettcb_fast, _lwp_settcb and remove them from mcontext.h, so that:
1. we don't need special hacks to hide them
2. we can include <lwp.h> where needed to get the necessary prototypes
without redefining them locally.
 1.17 12-Jul-2018  maxv branches: 1.17.36;
Remove the kernel PMC code. Sent yesterday on tech-kern@.

This change:

* Removes "options PERFCTRS", the associated includes, and the associated
ifdefs. In doing so, it removes several XXXSMPs in the MI code, which is
good.

* Removes the PMC code of ARM XSCALE.

* Removes all the pmc.h files. They were all empty, except for ARM XSCALE.

* Reorders the x86 PMC code not to rely on the legacy pmc.h file. The
definitions are put in sysarch.h.

* Removes the kern/sys_pmc.c file, and along with it, the sys_pmc_control
and sys_pmc_get_info syscalls. They are marked as OBSOL in kern,
netbsd32 and rump.

* Removes the pmc_evid_t and pmc_ctr_t types.

* Removes all the associated man pages. The sets are marked as obsolete.
 1.16 21-Dec-2015  christos branches: 1.16.16; 1.16.18;
Add mips fenv.h (From FreeBSD)
 1.15 23-Jul-2014  alnsn branches: 1.15.4;
Rename sljitarch.h to sljit_machdep.h.
 1.14 25-Nov-2012  alnsn branches: 1.14.10;
Add sljitarch.h to all mips machines.
 1.13 17-Jul-2011  dyoung branches: 1.13.2; 1.13.12;
Do not install bus.h.
 1.12 17-Jul-2011  joerg Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.11 12-Aug-2009  matt Nuke a.out support for MIPS.
 1.10 18-Feb-2007  ad branches: 1.10.46;
+ mutex.h
 1.9 17-Feb-2007  he Install the new rwlock.h file.
 1.8 26-Jul-2006  drochner branches: 1.8.10;
don't install <machine/db_machdep.h>, this is kernel only
 1.7 11-Dec-2005  christos branches: 1.7.4; 1.7.8;
merge ktrace-lwp.
 1.6 08-May-2004  kleink branches: 1.6.12;
Factor out W{CHAR,INT}_{MAX,MIN} into their own header file.
 1.5 18-Jan-2003  thorpej branches: 1.5.2;
Merge the nathanw_sa branch.
 1.4 26-Nov-2002  lukem Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more.
 1.3 07-Aug-2002  briggs branches: 1.3.2;
Implement pmc(9) -- An interface to hardware performance monitoring
counters. These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface. Initially, the Intel XScale
counters are the only ones supported.
 1.2 18-Apr-2002  kleink branches: 1.2.2; 1.2.6;
Alpha-sort/cosmetics.
 1.1 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.2.6.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 18-Apr-2002  jdolecek file Makefile was added on branch kqueue on 2002-06-23 17:40:05 +0000
 1.2.2.1 31-Aug-2002  gehenna catch up with -current.
 1.3.2.3 11-Dec-2002  thorpej Sync with HEAD.
 1.3.2.2 13-Aug-2002  simonb Add generic MIPS mcontext.h.
 1.3.2.1 07-Aug-2002  simonb file Makefile was added on branch nathanw_sa on 2002-08-13 03:34:40 +0000
 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.2 26-Feb-2007  yamt sync with head.
 1.6.12.1 30-Dec-2006  yamt sync with head.
 1.7.8.1 11-Aug-2006  yamt sync with head
 1.7.4.1 09-Sep-2006  rpaulo sync with head
 1.8.10.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.10.46.1 19-Aug-2009  yamt sync with head.
 1.13.12.3 03-Dec-2017  jdolecek update from HEAD
 1.13.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.13.12.1 25-Feb-2013  tls resync with head
 1.13.2.1 16-Jan-2013  yamt sync with (a bit old) head
 1.14.10.1 10-Aug-2014  tls Rebase.
 1.15.4.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.16.18.1 10-Jun-2019  christos Sync with HEAD
 1.16.16.1 28-Jul-2018  pgoyette Sync with HEAD
 1.17.36.1 02-Aug-2025  perseant Sync with HEAD
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file ansi.h was added on branch nathanw_sa on 2002-03-06 02:13:40 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file ansi.h was added on branch kqueue on 2002-06-23 17:40:05 +0000
 1.2 12-Aug-2009  matt Nuke a.out support for MIPS.
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12; 1.1.124; 1.1.138;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.138.1 24-Oct-2010  jym Sync with HEAD
 1.1.124.1 19-Aug-2009  yamt sync with head.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file aout_machdep.h was added on branch nathanw_sa on 2002-03-06 02:13:41 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file aout_machdep.h was added on branch kqueue on 2002-06-23 17:40:05 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file asm.h was added on branch nathanw_sa on 2002-03-06 02:13:41 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file asm.h was added on branch kqueue on 2002-06-23 17:40:06 +0000
 1.4 14-Dec-2009  matt Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.3 22-Mar-2003  simonb branches: 1.3.108; 1.3.126;
Fix a grammatical nit.
 1.2 07-Feb-2003  cgd Update to consistently use Broadcom GPL-compatible license on all SiByte code.
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file autoconf.h was added on branch nathanw_sa on 2002-03-06 02:13:41 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file autoconf.h was added on branch kqueue on 2002-06-23 17:40:06 +0000
 1.3.126.1 08-Dec-2009  cyber - fix to allow 64bit kernels to properly talk to the firmware
- allow visibiliy of additional RAM
 1.3.108.1 11-Mar-2010  yamt sync with head
 1.2 12-Aug-2009  matt Nuke a.out support for MIPS.
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12; 1.1.124; 1.1.138;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.138.1 24-Oct-2010  jym Sync with HEAD
 1.1.124.1 19-Aug-2009  yamt sync with head.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file bsd-aout.h was added on branch nathanw_sa on 2002-03-06 02:13:41 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file bsd-aout.h was added on branch kqueue on 2002-06-23 17:40:06 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file bswap.h was added on branch nathanw_sa on 2002-03-06 02:13:41 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file bswap.h was added on branch kqueue on 2002-06-23 17:40:06 +0000
 1.4 17-Jul-2011  dyoung Switch to new-style <sys/bus.h>.
 1.3 20-Feb-2011  matt Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.2 13-Jun-2010  simonb branches: 1.2.2; 1.2.4; 1.2.6;
Add a very basic <machine/bus.h> which nows seems to be mandatory in MI
code even if a port doesn't use it.

Based on code in private email from Havard Eidnes. Thanks Havard!
 1.1 14-Jan-2010  matt branches: 1.1.2; 1.1.4; 1.1.6;
file bus.h was initially added on branch matt-nb5-mips64.
 1.1.6.2 05-Mar-2011  rmind sync with head
 1.1.6.1 03-Jul-2010  rmind sync with head
 1.1.4.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.1.2.2 21-Jan-2010  matt add some whitespace
 1.1.2.1 14-Jan-2010  matt Deal with various changes with avail_end and avail_start, etc.
 1.2.6.1 05-Mar-2011  bouyer Sync with HEAD
 1.2.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.2.2 11-Aug-2010  yamt sync with head.
 1.2.2.1 13-Jun-2010  yamt file bus.h was added on branch yamt-nfs-mp on 2010-08-11 22:52:41 +0000
 1.1 01-Jul-2011  dyoung Per discussion at
<http://mail-index.netbsd.org/tech-kern/2010/04/02/msg007941.html>,
divide each machine's bus.h into bus_defs.h (constants & data types)
and bus_funcs.h (macro implementations of bus_space(9) routines and MD
prototypes).

Note that some bus_space(9) routines' implementation will move to .c
files from inline subroutines or macros in .h files.

I've only made the split for machine architectures where there is PCI.
All of the non-PCI-having architectures will require a similar split.

These #include files are not referenced by any (committed) Makefiles or
header files, yet. Changes to Makefiles, to <sys/bus.h>, and to some
more machine-dependent files will dribble in before I throw the switch.
 1.1 01-Jul-2011  dyoung Per discussion at
<http://mail-index.netbsd.org/tech-kern/2010/04/02/msg007941.html>,
divide each machine's bus.h into bus_defs.h (constants & data types)
and bus_funcs.h (macro implementations of bus_space(9) routines and MD
prototypes).

Note that some bus_space(9) routines' implementation will move to .c
files from inline subroutines or macros in .h files.

I've only made the split for machine architectures where there is PCI.
All of the non-PCI-having architectures will require a similar split.

These #include files are not referenced by any (committed) Makefiles or
header files, yet. Changes to Makefiles, to <sys/bus.h>, and to some
more machine-dependent files will dribble in before I throw the switch.
 1.2 01-Jun-2002  simonb branches: 1.2.2; 1.2.4;
Stop using the _MIPS_BSD_API_LP32_64CLEAN ABI. This causes a few problems
and it's easier/better to wait for true N32/N64.
 1.1 06-Mar-2002  simonb branches: 1.1.6; 1.1.8;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.8.1 10-Sep-2002  lukem Pull up revision 1.2 (requested by simonb in ticket #781):
Stop using the _MIPS_BSD_API_LP32_64CLEAN ABI. This causes a few problems
and it's easier/better to wait for true N32/N64.

[note from releng: this fixes ABI compatibility with other mipseb platforms]
 1.1.6.1 15-Jul-2002  gehenna catch up with -current.
 1.2.4.2 01-Jun-2002  simonb Stop using the _MIPS_BSD_API_LP32_64CLEAN ABI. This causes a few problems
and it's easier/better to wait for true N32/N64.
 1.2.4.1 01-Jun-2002  simonb file cdefs.h was added on branch nathanw_sa on 2002-06-01 14:29:33 +0000
 1.2.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.2.1 01-Jun-2002  jdolecek file cdefs.h was added on branch kqueue on 2002-06-23 17:40:07 +0000
 1.2 06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.1 06-Mar-2002  simonb branches: 1.1.6; 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 17-Sep-2002  nathanw Catch up to -current.
 1.1.12.1 06-Mar-2002  nathanw file conf.h was added on branch nathanw_sa on 2002-09-17 21:17:17 +0000
 1.1.10.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.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file conf.h was added on branch kqueue on 2002-06-23 17:40:07 +0000
 1.1.6.1 19-May-2002  gehenna Remove port-dependent conf.h.
 1.2 20-Feb-2011  matt Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12; 1.1.142; 1.1.152;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.152.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.142.2 11-Mar-2010  matt Move cpu_softc to <machine/cpuvar.h>
#include <machine/cpuvar.h> appropriately
Change cpu_softc prefix from cpu_ to sb1cpu_
 1.1.142.1 11-Mar-2010  matt Use a cpu_softc to keep per-cpu things like interrupts, intr masks, etc.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file cpu.h was added on branch nathanw_sa on 2002-03-06 02:13:42 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file cpu.h was added on branch kqueue on 2002-06-23 17:40:07 +0000
 1.1 05-Feb-2003  nakayama Replace machine/rnd.h with more appropriate name to share it
with cycle counter based microtime in kern/kern_microtime.c.
 1.2 20-Feb-2011  matt Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.1 11-Mar-2010  matt branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
file cpuvar.h was initially added on branch matt-nb5-mips64.
 1.1.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.1.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.4.1 05-Mar-2011  rmind sync with head
 1.1.2.2 29-Dec-2010  matt Add some per-cpu interrupts counters to cpuvar.
 1.1.2.1 11-Mar-2010  matt Move cpu_softc to <machine/cpuvar.h>
#include <machine/cpuvar.h> appropriately
Change cpu_softc prefix from cpu_ to sb1cpu_
 1.2 09-Jul-2011  matt Default to DB_ELF_SYMBOLS and DB_ELFSIZE 32
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file db_machdep.h was added on branch nathanw_sa on 2002-03-06 02:13:42 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file db_machdep.h was added on branch kqueue on 2002-06-23 17:40:07 +0000
 1.10 16-May-2013  christos Complete the dosparts -> mbrparts conversion. Only x86k new uses dosparts
because it also uses struct dos_partition.
 1.9 16-May-2013  christos Complete the dosparts -> mbrparts conversion. Only x86k new uses dosparts
because it also uses struct dos_partition.
 1.8 30-Aug-2011  bouyer branches: 1.8.2; 1.8.12;
Add getlabelusesmbr(), as proposed in
http://mail-index.netbsd.org/tech-userlevel/2011/08/25/msg005404.html
This is used by disk tools such as disklabel(8) to dynamically decide is
the undelyling platform uses a disklabel-in-mbr-partition or not
(instead of using a compile-time list of ports).
getlabelusesmbr() reads the sysctl kern.labelusesmbr, takes its value from the
machdep #define LABELUSESMBR.
For evbmips, make LABELUSESMBR 1 if the platform uses pmon
as bootloader, and 0 (the previous value) otherwise.
 1.7 23-Nov-2009  pooka If cpu_disklabel includes struct dkbad, define __HAVE_DISKLABEL_DKBAD.
This allows use of subr_disk_mbr on all archs. Default to it for
the rump disk component. No functional change for regular kernels.
(The other option would've been to include dkbad in disklabels
everywhere, but arguably this approach has less possible side-effects,
especially given that wedges and related magic will take over the
world any second now).
 1.6 11-Dec-2005  christos branches: 1.6.78;
merge ktrace-lwp.
 1.5 12-Jun-2005  dyoung Make disklabel(8) and fdisk(8) into "host tools " last step: build
and install ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-disklabel,
${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-fdisk by "reaching over" to
the sources in ${NETBSDSRCDIR}/sbin/{disklabel fdisk}/.

To avoid clashes with a build-host's header files, especially on
*BSD, the host-tools versions of fdisk and disklabel search for
#includes such as disklabel.h, disklabel_acorn.h, disklabel_gpt.h,
and bootinfo.h in a new #includes namespace, nbinclude/. That is,
they #include <nbinclude/sys/disklabel.h>, <nbinclude/machine/disklabel.h>,
<nbinclude/sparc64/disklabel.h>, instead of <sys/disklabel.h> and
such. I have also updated the system headers to #include from
nbinclude/-space when HAVE_NBTOOL_CONFIG_H is #defined.
 1.4 25-Oct-2003  simonb Use "cfe_bb_*" instead of "bb_*" to avoid conflicts with <sys/disklabel.h>.
XXX: Most of this file should probably move to <sys/disklabel.h>.
 1.3 08-Oct-2003  lukem Overhaul MBR handling (part 1):

<sys/bootblock.h>:
* Added definitions for the Master Boot Record (MBR) used by
a variety of systems (primarily i386), including the format
of the BIOS Parameter Block (BPB).
This information was cribbed from a variety of sources
including <sys/disklabel_mbr.h> which this is a superset of.

As part of this, some data structure elements and #defines
were renamed to be more "namespace friendly" and consistent
with other bootblocks and MBR documentation.
Update all uses of the old names to the new names.

<sys/disklabel_mbr.h>:
* Deprecated in favor of <sys/bootblock.h> (the latter is more
"host tool" friendly).

amd64 & i386:
* Renamed /usr/mdec/bootxx_dosfs to /usr/mdec/bootxx_msdos, to
be consistent with the naming convention of the msdosfs tools.

* Removed /usr/mdec/bootxx_ufs, as it's equivalent to bootxx_ffsv1
and it's confusing to have two functionally equivalent bootblocks,
especially given that "ufs" has multiple meanings (it could be
a synonym for "ffs", or the group of ffs/lfs/ext2fs file systems).

* Rework pbr.S (the first sector of bootxx_*):
+ Ensure that BPB (bytes 11..89) and the partition table
(bytes 446..509) do not contain code.
+ Add support for booting from FAT partitions if BOOT_FROM_FAT
is defined. (Only set for bootxx_msdos).
+ Remove "dummy" partition 3; if people want to installboot(8)
these to the start of the disk they can use fdisk(8) to
create a real MBR partition table...
+ Compile with TERSE_ERROR so it fits because of the above.
Whilst this is less user friendly, I feel it's important
to have a valid partition table and BPB in the MBR/PBR.

* Renamed /usr/mdec/biosboot to /usr/mdec/boot, to be consistent
with other platforms.

* Enable SUPPORT_DOSFS in /usr/mdec/boot (stage2), so that
we can boot off FAT partitions.

* Crank version of /usr/mdec/boot to 3.1, and fix some of the other
entries in the version file.

installboot(8) (i386):
* Read the existing MBR of the filesystem and retain the BIOS
Parameter Block (BPB) in bytes 11..89 and the MBR partition
table in bytes 446..509. (Previously installboot(8) would
trash those two sections of the MBR.)

mbrlabel(8):
* Use sys/lib/libkern/xlat_mbr_fstype.c instead of homegrown code
to map the MBR partition type to the NetBSD disklabel type.


Test built "make release" for i386, and new bootblocks verified to work
(even off FAT!).
 1.2 07-Feb-2003  cgd branches: 1.2.2;
Update to consistently use Broadcom GPL-compatible license on all SiByte code.
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file disklabel.h was added on branch nathanw_sa on 2002-03-06 02:13:42 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file disklabel.h was added on branch kqueue on 2002-06-23 17:40:08 +0000
 1.2.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 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.6.78.1 11-Mar-2010  yamt sync with head
 1.8.12.1 23-Jun-2013  tls resync from head
 1.8.2.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 11-Mar-2002  simonb branches: 1.1.8; 1.1.10;
Need this to build the system - libc nlist assumes all mips have ecoff.
 1.1.10.2 11-Mar-2002  simonb Need this to build the system - libc nlist assumes all mips have ecoff.
 1.1.10.1 11-Mar-2002  simonb file ecoff_machdep.h was added on branch nathanw_sa on 2002-03-11 02:33:38 +0000
 1.1.8.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.8.1 11-Mar-2002  jdolecek file ecoff_machdep.h was added on branch kqueue on 2002-06-23 17:40:08 +0000
 1.3 14-Dec-2009  matt Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.2 25-Nov-2006  riz branches: 1.2.20; 1.2.56; 1.2.74;
Don't worry about the ELF32_MACHDEP_ENDIANNESS macro when compiling
a host tool - it's never used there.
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12; 1.1.34; 1.1.64; 1.1.66;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.66.1 10-Dec-2006  yamt sync with head.
 1.1.64.1 12-Jan-2007  ad Sync with head.
 1.1.34.1 30-Dec-2006  yamt sync with head.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file elf_machdep.h was added on branch nathanw_sa on 2002-03-06 02:13:43 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file elf_machdep.h was added on branch kqueue on 2002-06-23 17:40:08 +0000
 1.2.74.1 22-Aug-2009  matt Move ELF{32,64}_MACHDEP_ENDIANNESS to <mips/elf_machdep.h>
 1.2.56.1 11-Mar-2010  yamt sync with head
 1.2.20.1 07-Aug-2007  matt Sync with HEAD.
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file endian.h was added on branch nathanw_sa on 2002-03-06 02:13:43 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file endian.h was added on branch kqueue on 2002-06-23 17:40:09 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file endian_machdep.h was added on branch nathanw_sa on 2002-03-06 02:13:43 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file endian_machdep.h was added on branch kqueue on 2002-06-23 17:40:09 +0000
 1.1 21-Dec-2015  christos branches: 1.1.2; 1.1.18;
Add mips fenv.h (From FreeBSD)
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 21-Dec-2015  jdolecek file fenv.h was added on branch tls-maxphys on 2017-12-03 11:36:40 +0000
 1.1.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.2.1 21-Dec-2015  skrll file fenv.h was added on branch nick-nhusb on 2015-12-27 12:09:41 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file float.h was added on branch nathanw_sa on 2002-03-06 02:13:43 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file float.h was added on branch kqueue on 2002-06-23 17:40:09 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file ieee.h was added on branch nathanw_sa on 2002-03-06 02:13:44 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file ieee.h was added on branch kqueue on 2002-06-23 17:40:09 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file ieeefp.h was added on branch nathanw_sa on 2002-03-06 02:13:44 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file ieeefp.h was added on branch kqueue on 2002-06-23 17:40:10 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file int_const.h was added on branch nathanw_sa on 2002-03-06 02:13:44 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file int_const.h was added on branch kqueue on 2002-06-23 17:40:10 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file int_fmtio.h was added on branch nathanw_sa on 2002-03-06 02:13:44 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file int_fmtio.h was added on branch kqueue on 2002-06-23 17:40:10 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file int_limits.h was added on branch nathanw_sa on 2002-03-06 02:13:44 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file int_limits.h was added on branch kqueue on 2002-06-23 17:40:11 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file int_mwgwtypes.h was added on branch nathanw_sa on 2002-03-06 02:13:45 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file int_mwgwtypes.h was added on branch kqueue on 2002-06-23 17:40:11 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file int_types.h was added on branch nathanw_sa on 2002-03-06 02:13:45 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file int_types.h was added on branch kqueue on 2002-06-23 17:40:11 +0000
 1.10 20-Feb-2011  matt Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.9 03-Dec-2007  ad branches: 1.9.36; 1.9.40; 1.9.46; 1.9.48;
Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.8 17-Oct-2007  garbled branches: 1.8.2;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.7 17-Jun-2007  tsutsui branches: 1.7.8; 1.7.10;
Move declaretions of _spl*() and _{clr,set}softintr() functions
(which are in mips/locore.S) into <mips/locore.h>
from various MD files.
 1.6 16-Feb-2007  ad branches: 1.6.6; 1.6.8; 1.6.14;
Remove spllowersoftclock() and CLKF_BASEPRI(), and always dispatch callouts
via a soft interrupt. In the near future, softclock will be run from process
context.
 1.5 21-Dec-2006  yamt merge yamt-splraiseipl branch.

- finish implementing splraiseipl (and makeiplcookie).
http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
- complete workqueue(9) and fix its ipl problem, which is reported
to cause audio skipping.
- fix netbt (at least compilation problems) for some ports.
- fix PR/33218.
 1.4 11-Nov-2005  simonb branches: 1.4.22; 1.4.24;
Switch to the MIPS generic soft interrupt code instead of using
port-specific code.
 1.3 25-Oct-2003  simonb branches: 1.3.16;
Switch from intrcnt interrupt account to event counters.
 1.2 07-Feb-2003  cgd branches: 1.2.2;
Update to consistently use Broadcom GPL-compatible license on all SiByte code.
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file intr.h was added on branch nathanw_sa on 2002-03-06 02:13:45 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file intr.h was added on branch kqueue on 2002-06-23 17:40:11 +0000
 1.2.2.4 11-Dec-2005  christos Sync with head.
 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.3.16.5 07-Dec-2007  yamt sync with head
 1.3.16.4 03-Sep-2007  yamt sync with head.
 1.3.16.3 26-Feb-2007  yamt sync with head.
 1.3.16.2 30-Dec-2006  yamt sync with head.
 1.3.16.1 21-Jun-2006  yamt sync with head.
 1.4.24.3 24-Sep-2006  yamt remove a duplicated IPL_SERIAL.
 1.4.24.2 24-Sep-2006  yamt fix typos.
 1.4.24.1 23-Sep-2006  yamt implement splraiseipl for sbmips.
 1.4.22.1 12-Jan-2007  ad Sync with head.
 1.6.14.1 26-Jun-2007  garbled Sync with HEAD.
 1.6.8.1 11-Jul-2007  mjf Sync with head.
 1.6.6.2 03-Dec-2007  ad Sync with HEAD.
 1.6.6.1 15-Jul-2007  ad Sync with head.
 1.7.10.2 09-Jan-2008  matt sync with HEAD
 1.7.10.1 06-Nov-2007  matt sync with HEAD
 1.7.8.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.8.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.9.48.1 05-Mar-2011  bouyer Sync with HEAD
 1.9.46.1 06-Jun-2011  jruoho Sync with HEAD.
 1.9.40.1 05-Mar-2011  rmind sync with head
 1.9.36.1 23-Feb-2010  matt Instead of a read-only ipl_sr_bits, define a ipl_sr_map struct and fill that
in the interrupt init routine. There's a default ipl_sr_map will operate
correctly, but isn't performant.
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file kcore.h was added on branch nathanw_sa on 2002-03-06 02:13:45 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file kcore.h was added on branch kqueue on 2002-06-23 17:40:12 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file kdbparam.h was added on branch nathanw_sa on 2002-03-06 02:13:45 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file kdbparam.h was added on branch kqueue on 2002-06-23 17:40:12 +0000
 1.3 07-Feb-2003  cgd Update to consistently use Broadcom GPL-compatible license on all SiByte code.
 1.2 17-Mar-2002  simonb branches: 1.2.8; 1.2.10;
Fix up some white-space bogons.
 1.1 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.2.10.2 17-Mar-2002  simonb Fix up some white-space bogons.
 1.2.10.1 17-Mar-2002  simonb file leds.h was added on branch nathanw_sa on 2002-03-17 06:28:57 +0000
 1.2.8.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.8.1 17-Mar-2002  jdolecek file leds.h was added on branch kqueue on 2002-06-23 17:40:12 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file limits.h was added on branch nathanw_sa on 2002-03-06 02:13:46 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file limits.h was added on branch kqueue on 2002-06-23 17:40:13 +0000
 1.5 06-Aug-2014  joerg Consistently define WARN in a way that passes format string checks, i.e.
always uses the same number of arguments as given in the format string.
 1.4 14-Dec-2009  matt branches: 1.4.22; 1.4.36;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.3 28-Apr-2008  martin branches: 1.3.18;
Remove clause 3 and 4 from TNF licenses
 1.2 25-Jan-2006  christos branches: 1.2.72; 1.2.74; 1.2.76;
free -> dealloc
unsigned -> size_t for alloc/dealloc
 1.1 09-Nov-2002  cgd branches: 1.1.2; 1.1.24; 1.1.36;
loadfile_machdep.h implementation, needed by boot blocks.
copied verbatim from NetBSD/prep.
 1.1.36.1 01-Feb-2006  yamt sync with head.
 1.1.24.1 21-Jun-2006  yamt sync with head.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file loadfile_machdep.h was added on branch nathanw_sa on 2002-11-11 22:03:14 +0000
 1.2.76.2 11-Mar-2010  yamt sync with head
 1.2.76.1 16-May-2008  yamt sync with head.
 1.2.74.1 18-May-2008  yamt sync with head.
 1.2.72.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.18.1 23-Aug-2009  matt Enable ELF64
 1.4.36.1 10-Aug-2014  tls Rebase.
 1.4.22.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file lock.h was added on branch nathanw_sa on 2002-03-06 02:13:46 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file lock.h was added on branch kqueue on 2002-06-23 17:40:13 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file locore.h was added on branch nathanw_sa on 2002-03-06 02:13:46 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file locore.h was added on branch kqueue on 2002-06-23 17:40:13 +0000
 1.1 30-Nov-2024  christos branches: 1.1.4;
Create a new header lwp_private.h to contain _lwp_getprivate_fast,
_lwp_gettcb_fast, _lwp_settcb and remove them from mcontext.h, so that:
1. we don't need special hacks to hide them
2. we can include <lwp.h> where needed to get the necessary prototypes
without redefining them locally.
 1.1.4.2 02-Aug-2025  perseant Sync with HEAD
 1.1.4.1 30-Nov-2024  perseant file lwp_private.h was added on branch perseant-exfatfs on 2025-08-02 05:56:06 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file math.h was added on branch nathanw_sa on 2002-03-06 02:13:46 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file math.h was added on branch kqueue on 2002-06-23 17:40:14 +0000
 1.2 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.1 13-Aug-2002  simonb branches: 1.1.2;
file mcontext.h was initially added on branch nathanw_sa.
 1.1.2.1 13-Aug-2002  simonb Add generic MIPS mcontext.h.
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file mips_opcode.h was added on branch nathanw_sa on 2002-03-06 02:13:46 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file mips_opcode.h was added on branch kqueue on 2002-06-23 17:40:14 +0000
 1.2 09-Feb-2007  ad branches: 1.2.4;
Merge newlock2 to head.
 1.1 22-Dec-2006  ad branches: 1.1.2;
file mutex.h was initially added on branch newlock2.
 1.1.2.1 22-Dec-2006  ad Pull in CPU specific stubs.
 1.2.4.2 26-Feb-2007  yamt sync with head.
 1.2.4.1 09-Feb-2007  yamt file mutex.h was added on branch yamt-lazymbuf on 2007-02-26 09:08:00 +0000
 1.2 14-Dec-2009  matt branches: 1.2.4;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.1 15-Sep-2009  matt branches: 1.1.2;
file netbsd32_machdep.h was initially added on branch matt-nb5-mips64.
 1.1.2.1 15-Sep-2009  matt Add netbsd32_machdep.h for algor64 and sbmips64
 1.2.4.2 11-Mar-2010  yamt sync with head
 1.2.4.1 14-Dec-2009  yamt file netbsd32_machdep.h was added on branch yamt-nfs-mp on 2010-03-11 15:02:53 +0000
 1.11 07-Jan-2019  jdolecek move DEV_BSIZE, DEV_BSHIFT out of MD param.h, they are same on all ports

also move BLKDEV_IOSIZE, MAXPHYS, but allow override since some ports
have different value (powerpc uses NBPG for BLKDEV_IOSIZE, sun2/sun3
have lower MAXPHYS)
 1.10 18-Mar-2011  tsutsui branches: 1.10.54; 1.10.56;
- include <mips/mips_param.h> after MACHINE is defined
- remove redundant comment
 1.9 06-Mar-2011  he Now that MACHINE is defined in user-land in either
mips/include/mips_param.h or powerpc/include/param.h, stop
trying to re-define it in the port-specific param.h files
when _KERNEL isn't defined.
 1.8 08-Feb-2011  rmind 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.7 14-Dec-2009  matt branches: 1.7.4; 1.7.6; 1.7.8;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.6 13-Aug-2009  matt Move MID_MACHINE to <mips/mips_param.h> and use local values so we don't
need to include exec_aout.h
 1.5 08-Jan-2008  simonb branches: 1.5.10; 1.5.28;
Add timecounter support for sbmips machines and Broadcom SiByte CPUs.
Based on patch from joerg@, with tweaks by me to work with sbmips
non-use of the CP0 count/compare registers for clock interrupts.
 1.4 11-Dec-2005  christos branches: 1.4.50; 1.4.56; 1.4.64;
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-Jul-2002  simonb branches: 1.2.2; 1.2.8;
Remove unused MCLOFSET define.
 1.1 06-Mar-2002  simonb branches: 1.1.6; 1.1.10;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.10.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file param.h was added on branch kqueue on 2002-06-23 17:40:14 +0000
 1.1.6.1 17-Jul-2002  gehenna ctach up with -current.
 1.2.8.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.8.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.8.1 03-Aug-2004  skrll Sync with HEAD
 1.2.2.2 11-Jul-2002  simonb Remove unused MCLOFSET define.
 1.2.2.1 11-Jul-2002  simonb file param.h was added on branch nathanw_sa on 2002-07-11 13:36:46 +0000
 1.3.16.1 21-Jan-2008  yamt sync with head
 1.4.64.1 08-Jan-2008  bouyer Sync with HEAD
 1.4.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.4.50.1 09-Jan-2008  matt sync with HEAD
 1.5.28.1 22-Aug-2009  matt Move MACHINE_ARCH definition to <mips/mips_param.h>
Move mbuf related defines to <mips/mips_param.h>
 1.5.10.2 11-Mar-2010  yamt sync with head
 1.5.10.1 19-Aug-2009  yamt sync with head.
 1.7.8.1 17-Feb-2011  bouyer Sync with HEAD
 1.7.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.7.4.2 21-Apr-2011  rmind sync with head
 1.7.4.1 05-Mar-2011  rmind sync with head
 1.10.56.1 10-Jun-2019  christos Sync with HEAD
 1.10.54.1 18-Jan-2019  pgoyette Synch with HEAD
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file pcb.h was added on branch nathanw_sa on 2002-03-06 02:13:47 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file pcb.h was added on branch kqueue on 2002-06-23 17:40:15 +0000
 1.2 20-Feb-2011  matt Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.1 21-Jan-2010  matt branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10;
file pci_machdep.h was initially added on branch matt-nb5-mips64.
 1.1.10.1 05-Mar-2011  bouyer Sync with HEAD
 1.1.8.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.6.1 05-Mar-2011  rmind sync with head
 1.1.2.2 21-Jan-2010  matt Add rest of pci framework functions.
Disable pciide compat intr establish for sbmips
 1.1.2.1 21-Jan-2010  matt Needed for pci support.
 1.2 22-Feb-2007  thorpej TRUE -> true, FALSE -> false
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12; 1.1.34; 1.1.72;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.72.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.1.34.1 26-Feb-2007  yamt sync with head.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file pmap.h was added on branch nathanw_sa on 2002-03-06 02:13:47 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file pmap.h was added on branch kqueue on 2002-06-23 17:40:15 +0000
 1.2 12-Jul-2018  maxv Remove the kernel PMC code. Sent yesterday on tech-kern@.

This change:

* Removes "options PERFCTRS", the associated includes, and the associated
ifdefs. In doing so, it removes several XXXSMPs in the MI code, which is
good.

* Removes the PMC code of ARM XSCALE.

* Removes all the pmc.h files. They were all empty, except for ARM XSCALE.

* Reorders the x86 PMC code not to rely on the legacy pmc.h file. The
definitions are put in sysarch.h.

* Removes the kern/sys_pmc.c file, and along with it, the sys_pmc_control
and sys_pmc_get_info syscalls. They are marked as OBSOL in kern,
netbsd32 and rump.

* Removes the pmc_evid_t and pmc_ctr_t types.

* Removes all the associated man pages. The sets are marked as obsolete.
 1.1 07-Aug-2002  briggs branches: 1.1.2; 1.1.4; 1.1.6; 1.1.202; 1.1.204;
Implement pmc(9) -- An interface to hardware performance monitoring
counters. These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface. Initially, the Intel XScale
counters are the only ones supported.
 1.1.204.1 10-Jun-2019  christos Sync with HEAD
 1.1.202.1 28-Jul-2018  pgoyette Sync with HEAD
 1.1.6.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.6.1 07-Aug-2002  jdolecek file pmc.h was added on branch kqueue on 2002-09-06 08:39:42 +0000
 1.1.4.2 31-Aug-2002  gehenna catch up with -current.
 1.1.4.1 07-Aug-2002  gehenna file pmc.h was added on branch gehenna-devsw on 2002-08-31 13:45:51 +0000
 1.1.2.2 07-Aug-2002  briggs Implement pmc(9) -- An interface to hardware performance monitoring
counters. These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface. Initially, the Intel XScale
counters are the only ones supported.
 1.1.2.1 07-Aug-2002  briggs file pmc.h was added on branch nathanw_sa on 2002-08-07 05:15:58 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file proc.h was added on branch nathanw_sa on 2002-03-06 02:13:47 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file proc.h was added on branch kqueue on 2002-06-23 17:40:15 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file profile.h was added on branch nathanw_sa on 2002-03-06 02:13:47 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file profile.h was added on branch kqueue on 2002-06-23 17:40:15 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file psl.h was added on branch nathanw_sa on 2002-03-06 02:13:47 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file psl.h was added on branch kqueue on 2002-06-23 17:40:16 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file pte.h was added on branch nathanw_sa on 2002-03-06 02:13:48 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file pte.h was added on branch kqueue on 2002-06-23 17:40:16 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file ptrace.h was added on branch nathanw_sa on 2002-03-06 02:13:48 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file ptrace.h was added on branch kqueue on 2002-06-23 17:40:16 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file reg.h was added on branch nathanw_sa on 2002-03-06 02:13:48 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file reg.h was added on branch kqueue on 2002-06-23 17:40:16 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file regdef.h was added on branch nathanw_sa on 2002-03-06 02:13:48 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file regdef.h was added on branch kqueue on 2002-06-23 17:40:17 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file regnum.h was added on branch nathanw_sa on 2002-03-06 02:13:48 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file regnum.h was added on branch kqueue on 2002-06-23 17:40:17 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file reloc.h was added on branch nathanw_sa on 2002-03-06 02:13:48 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file reloc.h was added on branch kqueue on 2002-06-23 17:40:17 +0000
 1.2 05-Feb-2003  nakayama Replace machine/rnd.h with more appropriate name to share it
with cycle counter based microtime in kern/kern_microtime.c.
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file rnd.h was added on branch nathanw_sa on 2002-03-06 02:13:49 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file rnd.h was added on branch kqueue on 2002-06-23 17:40:18 +0000
 1.2 09-Feb-2007  ad branches: 1.2.4;
Merge newlock2 to head.
 1.1 22-Dec-2006  ad branches: 1.1.2;
file rwlock.h was initially added on branch newlock2.
 1.1.2.1 22-Dec-2006  ad Pull in CPU specific stubs.
 1.2.4.2 26-Feb-2007  yamt sync with head.
 1.2.4.1 09-Feb-2007  yamt file rwlock.h was added on branch yamt-lazymbuf on 2007-02-26 09:08:01 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file setjmp.h was added on branch nathanw_sa on 2002-03-06 02:13:49 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file setjmp.h was added on branch kqueue on 2002-06-23 17:40:18 +0000
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file signal.h was added on branch nathanw_sa on 2002-03-06 02:13:49 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file signal.h was added on branch kqueue on 2002-06-23 17:40:19 +0000
 1.1 23-Jul-2014  alnsn branches: 1.1.2; 1.1.6;
Rename sljitarch.h to sljit_machdep.h.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 23-Jul-2014  tls file sljit_machdep.h was added on branch tls-maxphys on 2014-08-20 00:03:22 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 23-Jul-2014  tls file sljit_machdep.h was added on branch tls-earlyentropy on 2014-08-10 06:54:07 +0000
 1.2 23-Jul-2014  alnsn Rename sljitarch.h to sljit_machdep.h.
 1.1 25-Nov-2012  alnsn branches: 1.1.2; 1.1.6; 1.1.14;
Add sljitarch.h to all mips machines.
 1.1.14.1 10-Aug-2014  tls Rebase.
 1.1.6.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.2 25-Feb-2013  tls resync with head
 1.1.6.1 25-Nov-2012  tls file sljitarch.h was added on branch tls-maxphys on 2013-02-25 00:28:55 +0000
 1.1.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.1.2.1 25-Nov-2012  yamt file sljitarch.h was added on branch yamt-pagecache on 2013-01-16 05:33:03 +0000
 1.2 17-Jul-2011  joerg Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file stdarg.h was added on branch nathanw_sa on 2002-03-06 02:13:50 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file stdarg.h was added on branch kqueue on 2002-06-23 17:40:19 +0000
 1.2 12-Nov-2002  simonb Add support for the ST M41T81 RTC found on pass 2 swarm boards.
XXX: Much of this should live in arch/sbmips instead of arch/mips/sibyte.
XXX: These should be replaced with MI SMBus drivers one day.
 1.1 17-Mar-2002  simonb branches: 1.1.8; 1.1.10;
An include file describing some address map info, GPIO pin assignments
and SMBus addesses for the swarm eval board.
 1.1.10.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.10.1 17-Mar-2002  thorpej file swarm.h was added on branch nathanw_sa on 2002-12-11 06:11:51 +0000
 1.1.8.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.8.1 17-Mar-2002  jdolecek file swarm.h was added on branch kqueue on 2002-06-23 17:40:19 +0000
 1.10 25-Sep-2023  riastradh sbmips/systemsw.h: sys/stdbool.h for bool.

XXX sys/types.h should bring this in too, but that doesn't happen in
the crash(8) build, perhaps because sys/types.h only includes
sys/stdbool.h under _KERNEL or _STANDALONE but not _KMEMUSER -- maybe
we should fix that but this is a lower-risk change for now to fix a
build problem.

Found by Jan-Benedict Glaw.
 1.9 20-Feb-2011  matt Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.8 14-Dec-2009  matt branches: 1.8.4; 1.8.6; 1.8.8;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.7 08-Jan-2008  simonb branches: 1.7.10; 1.7.28;
Add timecounter support for sbmips machines and Broadcom SiByte CPUs.
Based on patch from joerg@, with tweaks by me to work with sbmips
non-use of the CP0 count/compare registers for clock interrupts.
 1.6 14-Sep-2006  gdamore branches: 1.6.30; 1.6.36; 1.6.44;
Convert sbmips to generic TODR. ok simonb@.
 1.5 11-Nov-2005  simonb branches: 1.5.10; 1.5.22;
Switch to the MIPS generic soft interrupt code instead of using
port-specific code.
 1.4 07-Feb-2003  cgd branches: 1.4.2; 1.4.18;
Update to consistently use Broadcom GPL-compatible license on all SiByte code.
 1.3 01-Jun-2002  simonb branches: 1.3.2; 1.3.4;
Add statclock and todr function arguments to the systemsw.
Add a system_set_todrfns() function.
 1.2 06-Mar-2002  simonb branches: 1.2.6;
Add a "clkread" function to the systemsw.
 1.1 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.2.6.1 15-Jul-2002  gehenna catch up with -current.
 1.3.4.2 01-Jun-2002  simonb Add statclock and todr function arguments to the systemsw.
Add a system_set_todrfns() function.
 1.3.4.1 01-Jun-2002  simonb file systemsw.h was added on branch nathanw_sa on 2002-06-01 14:38:28 +0000
 1.3.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.2.1 01-Jun-2002  jdolecek file systemsw.h was added on branch kqueue on 2002-06-23 17:40:20 +0000
 1.4.18.3 21-Jan-2008  yamt sync with head
 1.4.18.2 30-Dec-2006  yamt sync with head.
 1.4.18.1 21-Jun-2006  yamt sync with head.
 1.4.2.1 11-Dec-2005  christos Sync with head.
 1.5.22.1 18-Nov-2006  ad Sync with head.
 1.5.10.1 14-Sep-2006  yamt sync with head.
 1.6.44.1 08-Jan-2008  bouyer Sync with HEAD
 1.6.36.1 18-Feb-2008  mjf Sync with HEAD.
 1.6.30.1 09-Jan-2008  matt sync with HEAD
 1.7.28.6 10-Jun-2010  cliff seperate initializing spl is from initizlizing the PIC:
setting ipl_sr_map is moved from sb1250_icu_init to sb1250_ipl_map_init.
 1.7.28.5 11-Mar-2010  matt Use a cpu_softc to keep per-cpu things like interrupts, intr masks, etc.
 1.7.28.4 01-Mar-2010  matt Add MP interrupts, IPIs, and secondary CPU spinup.
(compile tested only).
 1.7.28.3 23-Feb-2010  matt Instead of a read-only ipl_sr_bits, define a ipl_sr_map struct and fill that
in the interrupt init routine. There's a default ipl_sr_map will operate
correctly, but isn't performant.
 1.7.28.2 21-Jan-2010  matt Minor type cleanup.
 1.7.28.1 23-Nov-2009  matt Use vaddr_t instead uint32_t for storing a pc since the latter won't work in
a LP64 kernel.
 1.7.10.1 11-Mar-2010  yamt sync with head
 1.8.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.8.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.8.4.1 05-Mar-2011  rmind sync with head
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file trap.h was added on branch nathanw_sa on 2002-03-06 02:13:50 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file trap.h was added on branch kqueue on 2002-06-23 17:40:20 +0000
 1.10 26-Jan-2017  christos provide __HAVE_COMPAT_NETBSD32 and fix multiple include protection consistently.
 1.9 17-Jul-2011  dyoung branches: 1.9.12; 1.9.30; 1.9.34; 1.9.38;
Switch to new-style <sys/bus.h>.
 1.8 20-Feb-2011  matt Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.7 20-Jan-2008  joerg branches: 1.7.28; 1.7.32; 1.7.38; 1.7.40;
Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants,
remove the conditionals and the code associated with the undef case.
 1.6 08-Jan-2008  simonb Add timecounter support for sbmips machines and Broadcom SiByte CPUs.
Based on patch from joerg@, with tweaks by me to work with sbmips
non-use of the CP0 count/compare registers for clock interrupts.
 1.5 17-Oct-2007  garbled branches: 1.5.2; 1.5.8;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.4 14-Jul-2007  ad branches: 1.4.10;
Generic soft interrupts are mandatory.
 1.3 14-Sep-2006  gdamore branches: 1.3.10; 1.3.18;
Convert sbmips to generic TODR. ok simonb@.
 1.2 11-Nov-2005  simonb branches: 1.2.10; 1.2.22;
Switch to the MIPS generic soft interrupt code instead of using
port-specific code.
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12; 1.1.18; 1.1.34;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.34.4 21-Jan-2008  yamt sync with head
 1.1.34.3 03-Sep-2007  yamt sync with head.
 1.1.34.2 30-Dec-2006  yamt sync with head.
 1.1.34.1 21-Jun-2006  yamt sync with head.
 1.1.18.1 11-Dec-2005  christos Sync with head.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file types.h was added on branch nathanw_sa on 2002-03-06 02:13:50 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file types.h was added on branch kqueue on 2002-06-23 17:40:20 +0000
 1.2.22.1 18-Nov-2006  ad Sync with head.
 1.2.10.1 14-Sep-2006  yamt sync with head.
 1.3.18.1 03-Oct-2007  garbled Sync with HEAD
 1.3.10.1 15-Jul-2007  ad Sync with head.
 1.4.10.3 23-Mar-2008  matt sync with HEAD
 1.4.10.2 09-Jan-2008  matt sync with HEAD
 1.4.10.1 06-Nov-2007  matt sync with HEAD
 1.5.8.2 23-Jan-2008  bouyer Sync with HEAD.
 1.5.8.1 08-Jan-2008  bouyer Sync with HEAD
 1.5.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.7.40.1 05-Mar-2011  bouyer Sync with HEAD
 1.7.38.1 06-Jun-2011  jruoho Sync with HEAD.
 1.7.32.1 05-Mar-2011  rmind sync with head
 1.7.28.1 21-Jan-2010  matt sbmips needs 64bit paddr_t
 1.9.38.1 21-Apr-2017  bouyer Sync with HEAD
 1.9.34.1 20-Mar-2017  pgoyette Sync with HEAD
 1.9.30.1 05-Feb-2017  skrll Sync with HEAD
 1.9.12.1 03-Dec-2017  jdolecek update from HEAD
 1.2 17-Jul-2011  joerg Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file varargs.h was added on branch nathanw_sa on 2002-03-06 02:13:51 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file varargs.h was added on branch kqueue on 2002-06-23 17:40:20 +0000
 1.3 20-Feb-2011  matt Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.2 14-Dec-2009  matt branches: 1.2.4; 1.2.6; 1.2.8;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12; 1.1.124; 1.1.142;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.142.2 21-Jan-2010  matt Define the FIRST512 and FIRST4G vm freelists
 1.1.142.1 11-Dec-2009  matt Use the default set of VM_FREELISTs in <mips/vmparam.h> but allow them to
be overridden (for pmax).
 1.1.124.1 11-Mar-2010  yamt sync with head
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file vmparam.h was added on branch nathanw_sa on 2002-03-06 02:13:51 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file vmparam.h was added on branch kqueue on 2002-06-23 17:40:21 +0000
 1.2.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.2.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.4.1 05-Mar-2011  rmind sync with head
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 08-May-2004  kleink branches: 1.1.2;
Factor out W{CHAR,INT}_{MAX,MIN} into their own header file.
 1.1.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.2 03-Aug-2004  skrll Sync with HEAD
 1.1.2.1 08-May-2004  skrll file wchar_limits.h was added on branch ktrace-lwp on 2004-08-03 10:39:56 +0000
 1.2 11-Dec-2005  christos branches: 1.2.18;
merge ktrace-lwp.
 1.1 05-Nov-2005  tsutsui branches: 1.1.2;
Add empty <machine/wired_map.h> for the MI mips/wired_map.c.
 1.1.2.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.2.1 05-Nov-2005  skrll file wired_map.h was added on branch ktrace-lwp on 2005-11-10 13:58:33 +0000
 1.2.18.2 21-Jun-2006  yamt sync with head.
 1.2.18.1 11-Dec-2005  yamt file wired_map.h was added on branch yamt-lazymbuf on 2006-06-21 14:55:23 +0000
 1.9 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.8 29-Jul-2012  mlelstv branches: 1.8.2;
Do not call setroot() from MD code and from MI code, which has
unwanted sideeffects in the RB_ASKNAME case. This fixes PR/46732.

No longer wrap MD cpu_rootconf(), as hp300 port stores reboot information
as a side effect. Instead call MI rootconf() from MD code which makes
rootconf() now a wrapper to setroot().

Adjust several MD routines to set the global booted_device,booted_partition
variables instead of passing partial information to setroot().

Make cpu_rootconf(9) describe the calling order.
 1.7 20-Feb-2011  matt branches: 1.7.4; 1.7.10;
Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.6 11-Dec-2005  christos branches: 1.6.96; 1.6.100; 1.6.106; 1.6.108;
merge ktrace-lwp.
 1.5 23-Oct-2004  thorpej Centralize the declaration of booted_device and booted_partition.
 1.4 15-Jul-2003  lukem __KERNEL_RCSID()
 1.3 07-Feb-2003  cgd branches: 1.3.2;
Update to consistently use Broadcom GPL-compatible license on all SiByte code.
 1.2 09-Nov-2002  cgd GC IKOS kernel option (never complete in these sources anyway)
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 11-Nov-2002  nathanw Catch up to -current
 1.1.12.1 06-Mar-2002  nathanw file autoconf.c was added on branch nathanw_sa on 2002-11-11 22:03:15 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file autoconf.c was added on branch kqueue on 2002-06-23 17:40:21 +0000
 1.3.2.4 02-Nov-2004  skrll Sync with HEAD.
 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.6.108.1 05-Mar-2011  bouyer Sync with HEAD
 1.6.106.1 06-Jun-2011  jruoho Sync with HEAD.
 1.6.100.1 05-Mar-2011  rmind sync with head
 1.6.96.2 16-May-2010  matt Use device_xname and <sys/intr.h>
 1.6.96.1 23-Feb-2010  matt Instead of a read-only ipl_sr_bits, define a ipl_sr_map struct and fill that
in the interrupt init routine. There's a default ipl_sr_map will operate
correctly, but isn't performant.
 1.7.10.1 08-Aug-2012  martin Pull up following revision(s) (requested by mlelstv in ticket #466):
sys/arch/amiga/amiga/autoconf.c: revision 1.113
sys/arch/rs6000/rs6000/autoconf.c: revision 1.4
sys/arch/emips/emips/autoconf.c: revision 1.6
sys/arch/sandpoint/sandpoint/autoconf.c: revision 1.27
sys/arch/evbmips/alchemy/autoconf.c: revision 1.18
sys/arch/sgimips/sgimips/autoconf.c: revision 1.43
sys/arch/atari/atari/autoconf.c: revision 1.63
sys/arch/powerpc/oea/ofw_autoconf.c: revision 1.17
sys/arch/mmeye/mmeye/autoconf.c: revision 1.9
distrib/sets/lists/comp/mi: revision 1.1771
sys/arch/mipsco/mipsco/autoconf.c: revision 1.25
sys/arch/iyonix/iyonix/autoconf.c: revision 1.14
sys/arch/hp300/hp300/autoconf.c: revision 1.100
sys/kern/init_main.c: revision 1.445
sys/arch/pmax/pmax/autoconf.c: revision 1.79
sys/arch/netwinder/netwinder/autoconf.c: revision 1.11
sys/arch/dreamcast/dreamcast/autoconf.c: revision 1.10
sys/arch/ibmnws/ibmnws/autoconf.c: revision 1.12
sys/arch/evbppc/ev64260/autoconf.c: revision 1.17
sys/arch/evbmips/gdium/autoconf.c: revision 1.5
sys/arch/algor/algor/autoconf.c: revision 1.21
share/man/man9/Makefile: revision 1.367
sys/arch/ews4800mips/ews4800mips/autoconf.c: revision 1.9
sys/arch/amigappc/amigappc/autoconf.c: revision 1.5
sys/arch/x86/x86/x86_autoconf.c: revision 1.65
sys/arch/acorn26/acorn26/autoconf.c: revision 1.9
sys/arch/mvmeppc/mvmeppc/autoconf.c: revision 1.13
sys/arch/vax/vax/autoconf.c: revision 1.94
sys/arch/usermode/dev/cpu.c: revision 1.72
sys/arch/evbppc/virtex/autoconf.c: revision 1.5
sys/arch/next68k/next68k/autoconf.c: revision 1.26
sys/arch/mac68k/mac68k/autoconf.c: revision 1.73
sys/arch/ia64/ia64/autoconf.c: revision 1.6
sys/arch/evbppc/obs405/obs405_autoconf.c: revision 1.6
share/man/man9/cpu_rootconf.9: revision 1.7
sys/arch/landisk/landisk/autoconf.c: revision 1.6
sys/arch/evbmips/malta/autoconf.c: revision 1.16
sys/arch/sun3/sun3/autoconf.c: revision 1.76
sys/arch/evbppc/explora/autoconf.c: revision 1.13
sys/arch/sun3/sun3/autoconf.c: revision 1.77
sys/arch/evbmips/loongson/autoconf.c: revision 1.3
sys/arch/evbmips/atheros/autoconf.c: revision 1.11
sys/arch/sparc64/sparc64/autoconf.c: revision 1.188
sys/arch/acorn32/acorn32/autoconf.c: revision 1.18
sys/arch/evbarm/evbarm/autoconf.c: revision 1.13
sys/arch/cobalt/cobalt/autoconf.c: revision 1.30
sys/arch/mvme68k/mvme68k/autoconf.c: revision 1.46
sys/arch/hp700/hp700/autoconf.c: revision 1.48
sys/arch/evbmips/adm5120/autoconf.c: revision 1.5
sys/arch/hpcmips/hpcmips/autoconf.c: revision 1.25
sys/arch/alpha/alpha/autoconf.c: revision 1.52
sys/arch/sparc/sparc/autoconf.c: revision 1.244
sys/arch/evbppc/pmppc/autoconf.c: revision 1.7
sys/arch/bebox/bebox/autoconf.c: revision 1.25
sys/arch/luna68k/luna68k/autoconf.c: revision 1.13
sys/arch/hpcarm/hpcarm/autoconf.c: revision 1.20
sys/arch/evbppc/walnut/autoconf.c: revision 1.21
sys/arch/cesfic/cesfic/autoconf.c: revision 1.26
sys/arch/cats/cats/autoconf.c: revision 1.17
sys/arch/x68k/x68k/autoconf.c: revision 1.67
sys/arch/news68k/news68k/autoconf.c: revision 1.21
sys/arch/arc/arc/autoconf.c: revision 1.34
sys/arch/evbsh3/evbsh3/autoconf.c: revision 1.11
sys/sys/conf.h: revision 1.143
sys/arch/evbmips/rasoc/autoconf.c: revision 1.3
sys/arch/hpcsh/hpcsh/autoconf.c: revision 1.26
sys/arch/sun68k/sun68k/autoconf.c: revision 1.29
sys/arch/evbmips/rmixl/autoconf.c: revision 1.6
sys/arch/zaurus/zaurus/autoconf.c: revision 1.12
sys/arch/xen/x86/autoconf.c: revision 1.15
sys/arch/evbppc/mpc85xx/autoconf.c: revision 1.6
sys/arch/shark/shark/autoconf.c: revision 1.18
sys/arch/prep/prep/autoconf.c: revision 1.25
sys/arch/newsmips/newsmips/autoconf.c: revision 1.36
sys/arch/sbmips/sbmips/autoconf.c: revision 1.8
Do not call setroot() from MD code and from MI code, which has
unwanted sideeffects in the RB_ASKNAME case. This fixes PR/46732.
No longer wrap MD cpu_rootconf(), as hp300 port stores reboot information
as a side effect. Instead call MI rootconf() from MD code which makes
rootconf() now a wrapper to setroot().
Adjust several MD routines to set the global booted_device,booted_partition
variables instead of passing partial information to setroot().
Make cpu_rootconf(9) describe the calling order.
add rootconf(9) as a link to cpu_rootconf(9)
make this compile again
 1.7.4.1 30-Oct-2012  yamt sync with head
 1.8.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.9 01-Nov-2002  simonb Fix fallout from gehenna-devsw merge.
 1.8 06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.7 31-Jul-2002  simonb branches: 1.7.2;
Use evbmips/evbmips/conf_common.c since the sbmips port's conf.c was
mostly in-sync with the evbmips one. The kttcp device has changed
device number; users who have created that will need to re-create it.
 1.6 19-Jul-2002  thorpej Rename cdev_systrace_init() to cdev_clonemisc_init(), so it can
be properly used by any misc. cloning device. While here, correct
a comment to indicate that "open" is the only entry point and that
everything else is handled with fileops.
 1.5 11-Jul-2002  simonb Add kttcp device.
 1.4 17-Jun-2002  christos branches: 1.4.2;
MD systrace gluons.
 1.3 17-Mar-2002  simonb branches: 1.3.4;
Fix up some white-space bogons.
 1.2 16-Mar-2002  martin Rename ISDN devices, per discussion on tech-kern. The network devices
become ippp (ISDN ppp) and irip (ISDN raw IP). The character device now
are called: /dev/isdn (isdnd <-> kernel communication), /dev/isdnctl (dialing
and other control), /dev/isdntrc* (tracing), /dev/isdnbchan* (raw B channel
access, i.e. for user land PPP) and /dev/isdntel* (telephone devices, i.e.
for answering machines).
 1.1 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.3.4.7 01-Sep-2002  gehenna revive machine dependent conf.c for iskmemdev().
 1.3.4.6 31-Aug-2002  gehenna Device switches for sbmips are shared with evbmips.
 1.3.4.5 31-Aug-2002  gehenna catch up with -current.
 1.3.4.4 21-Jul-2002  gehenna catch up with -current.
 1.3.4.3 17-Jul-2002  gehenna ctach up with -current.
 1.3.4.2 15-Jul-2002  gehenna catch up with -current.
 1.3.4.1 16-May-2002  gehenna Bye block/character device swicth tables.
 1.4.2.4 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.4.2.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.4.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.2.1 17-Jun-2002  jdolecek file conf.c was added on branch kqueue on 2002-06-23 17:40:21 +0000
 1.7.2.3 11-Nov-2002  nathanw Catch up to -current
 1.7.2.2 17-Sep-2002  nathanw Catch up to -current.
 1.7.2.1 31-Jul-2002  nathanw file conf.c was added on branch nathanw_sa on 2002-09-17 21:17:18 +0000
 1.6 11-Aug-2009  simonb Allow console speed to be overriden with "options CONSPEED=xxx".
Default to 115200 (original hard-coded value).
 1.5 11-Dec-2005  christos branches: 1.5.78;
merge ktrace-lwp.
 1.4 15-Jul-2003  lukem __KERNEL_RCSID()
 1.3 07-Feb-2003  cgd branches: 1.3.2;
Update to consistently use Broadcom GPL-compatible license on all SiByte code.
 1.2 09-Nov-2002  cgd GC IKOS kernel option (never complete in these sources anyway)
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.2 11-Nov-2002  nathanw Catch up to -current
 1.1.12.1 06-Mar-2002  nathanw file console.c was added on branch nathanw_sa on 2002-11-11 22:03:17 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file console.c was added on branch kqueue on 2002-06-23 17:40:22 +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.5.78.1 19-Aug-2009  yamt sync with head.
 1.24 05-Dec-2023  andvar use kcpuset_isset() and pass second (NULL) argument to mips_fixup_exceptions()
to fix build for GENERIC(64).MP kernel configs.
 1.23 21-Jul-2016  christos make this compile.
 1.22 24-Mar-2014  christos branches: 1.22.6; 1.22.10;
- fix unused
- use cpu_{g,s}etmodel
 1.21 09-Jul-2011  matt branches: 1.21.2; 1.21.12; 1.21.16;
cleanup machine includes
 1.20 20-Feb-2011  matt Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.19 14-Dec-2009  matt branches: 1.19.4; 1.19.6; 1.19.8;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.18 26-May-2008  tsutsui branches: 1.18.16;
Remove all initialization of obsolete ci_divisor_recip in
mips struct cpu_info and related macroes.
The member was prepared for a hack in MD microtime(9) implementation
but it has been superseded by MI timecounter(9).
 1.17 09-Jan-2008  wiz branches: 1.17.6; 1.17.8; 1.17.10; 1.17.12;
Fix typo in macro name and comments.
 1.16 17-Oct-2007  garbled branches: 1.16.2; 1.16.8;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.15 17-May-2007  yamt branches: 1.15.10;
merge yamt-idlelwp branch. asked by core@. some ports still needs work.

from doc/BRANCHES:

idle lwp, and some changes depending on it.

1. separate context switching and thread scheduling.
(cf. gmcgarry_ctxsw)
2. implement idle lwp.
3. clean up related MD/MI interfaces.
4. make scheduler(s) modular.
 1.14 11-Dec-2005  christos branches: 1.14.26; 1.14.30; 1.14.32; 1.14.38;
merge ktrace-lwp.
 1.13 13-Feb-2004  wiz branches: 1.13.16;
Uppercase CPU, plural is CPUs.
 1.12 15-Jul-2003  lukem __KERNEL_RCSID()
 1.11 23-Jun-2003  martin branches: 1.11.2;
Make sure to include opt_foo.h if a defflag option FOO is used.
 1.10 07-Feb-2003  cgd Update to consistently use Broadcom GPL-compatible license on all SiByte code.
 1.9 02-Oct-2002  thorpej Add trailing ; to CFATTACH_DECL.
 1.8 01-Oct-2002  thorpej Use CFATTACH_DECL().
 1.7 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.6 04-Jun-2002  simonb branches: 1.6.2; 1.6.4;
Match all possible CPUs, but print warnings that the processors after
the first are offline due to the lack of SMP support in the kernel.
 1.5 04-Jun-2002  simonb 3 ports are now using the reciprocal count divisor code now, move it
to <mips/cpu.h>, and add MIPS_SET_CI_RECIPRICAL and MIPS_COUNT_TO_MHZ
macros to use it.
 1.4 06-Mar-2002  simonb branches: 1.4.6;
cgd notes that we shouldn't use the CPU xtal for calculating wall-clock
time - but as yet we don't attach the RTC becuase it's on an SMbus.
One for later...
 1.3 06-Mar-2002  simonb Calculate the reciprocal of the divisor delay. From the comments:

To implement a more accurate microtime using the CP0 COUNT
register we need to divide that register by the number of
cycles per MHz. But...

DIV and DIVU are expensive on MIPS (eg 75 clocks on the
R4000). MULT and MULTU are only 12 clocks on the same CPU.
On the SB1 these appear to be 40-72 clocks for DIV/DIVU and 3
clocks for MUL/MULTU.

The strategy we use to to calculate the reciprical of cycles
per MHz, scaled by 1<<32. Then we can simply issue a MULTU
and pluck of the HI register and have the results of the
division.
 1.2 06-Mar-2002  simonb Determine and display the CPU clock frequency from the "System
Identification and Revision Register", and set the frequency
related variables in curcpu info structure.
 1.1 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.4.6.1 15-Jul-2002  gehenna catch up with -current.
 1.6.4.2 18-Oct-2002  nathanw Catch up to -current.
 1.6.4.1 04-Jun-2002  nathanw file cpu.c was added on branch nathanw_sa on 2002-10-18 02:39:37 +0000
 1.6.2.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.6.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.2.1 04-Jun-2002  jdolecek file cpu.c was added on branch kqueue on 2002-06-23 17:40:22 +0000
 1.11.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.11.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.11.2.1 03-Aug-2004  skrll Sync with HEAD
 1.13.16.2 21-Jan-2008  yamt sync with head
 1.13.16.1 03-Sep-2007  yamt sync with head.
 1.14.38.1 22-May-2007  matt Update to HEAD.
 1.14.32.1 11-Jul-2007  mjf Sync with head.
 1.14.30.1 27-May-2007  ad Sync with head.
 1.14.26.1 19-Apr-2007  ad Compile fixes.
 1.15.10.2 23-Mar-2008  matt sync with HEAD
 1.15.10.1 06-Nov-2007  matt sync with HEAD
 1.16.8.1 10-Jan-2008  bouyer Sync with HEAD
 1.16.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.17.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.17.10.2 11-Mar-2010  yamt sync with head
 1.17.10.1 04-May-2009  yamt sync with head.
 1.17.8.1 04-Jun-2008  yamt sync with head
 1.17.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.18.16.10 23-Dec-2011  matt Change usage to cpu_identify(self, NULL);
 1.18.16.9 01-Sep-2010  matt Pass node/core/smt id to cpu_info_alloc.
 1.18.16.8 11-May-2010  matt grammar police!
 1.18.16.7 11-Mar-2010  matt Move cpu_softc to <machine/cpuvar.h>
#include <machine/cpuvar.h> appropriately
Change cpu_softc prefix from cpu_ to sb1cpu_
 1.18.16.6 11-Mar-2010  matt Use a cpu_softc to keep per-cpu things like interrupts, intr masks, etc.
 1.18.16.5 01-Mar-2010  matt Add MP interrupts, IPIs, and secondary CPU spinup.
(compile tested only).
 1.18.16.4 28-Feb-2010  matt Add MP versions of GENERIC and GENERIC64 (untested).
Start adding the MP bits for sbmips.
 1.18.16.3 13-Jan-2010  matt Deal with new cpu_identity()
 1.18.16.2 12-Jan-2010  matt Change some devices to use CFATTACH_DECL_NEW/device_t/cfdata_t/device_*
 1.18.16.1 23-Nov-2009  matt mips3_ld/mips3_sd need to be passed a volatile uint64_t *
 1.19.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.19.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.19.4.1 05-Mar-2011  rmind sync with head
 1.21.16.1 18-May-2014  rmind sync with head
 1.21.12.2 03-Dec-2017  jdolecek update from HEAD
 1.21.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.21.2.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.22.10.1 26-Jul-2016  pgoyette Sync with HEAD
 1.22.6.1 05-Oct-2016  skrll Sync with HEAD
 1.23 10-Feb-2024  andvar Fix various typos in comments, log messages and documentation.
 1.22 03-Apr-2019  christos centralize setdisklabel(9)
 1.21 16-May-2013  christos branches: 1.21.34;
Complete the dosparts -> mbrparts conversion. Only x86k new uses dosparts
because it also uses struct dos_partition.
 1.20 16-Mar-2009  dsl branches: 1.20.12; 1.20.22;
ANSIfy functions with function-pointer arguments
 1.19 14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.18 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.17 02-Jan-2008  ad branches: 1.17.10; 1.17.18; 1.17.24;
Merge vmlocking2 to head.
 1.16 17-Oct-2007  garbled branches: 1.16.2; 1.16.4; 1.16.8;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.15 08-Oct-2007  ad Merge brelse() changes from the vmlocking branch.
 1.14 29-Jul-2007  ad branches: 1.14.4; 1.14.6; 1.14.8;
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.
 1.13 06-Mar-2007  simonb branches: 1.13.2; 1.13.10; 1.13.12; 1.13.14;
Fix some caddr_t rototill fallout.
 1.12 25-Nov-2006  scw branches: 1.12.4;
Replace the myriad copies of bounds_check_with_label() with a single MI
version.

Add disk_blocksize(9) so that disk drivers can record the physical
block size of a disk if it is different to DEV_BSIZE. Right now this
simply initialises dk_blkshift and dk_byteshift according to the
supplied block size. This information is used in the MI version of
bounds_check_with_label().
 1.11 11-Dec-2005  christos branches: 1.11.20; 1.11.22;
merge ktrace-lwp.
 1.10 03-Jun-2005  he branches: 1.10.2;
Adapt to -Wcast-qual.
 1.9 08-Oct-2003  lukem Overhaul MBR handling (part 1):

<sys/bootblock.h>:
* Added definitions for the Master Boot Record (MBR) used by
a variety of systems (primarily i386), including the format
of the BIOS Parameter Block (BPB).
This information was cribbed from a variety of sources
including <sys/disklabel_mbr.h> which this is a superset of.

As part of this, some data structure elements and #defines
were renamed to be more "namespace friendly" and consistent
with other bootblocks and MBR documentation.
Update all uses of the old names to the new names.

<sys/disklabel_mbr.h>:
* Deprecated in favor of <sys/bootblock.h> (the latter is more
"host tool" friendly).

amd64 & i386:
* Renamed /usr/mdec/bootxx_dosfs to /usr/mdec/bootxx_msdos, to
be consistent with the naming convention of the msdosfs tools.

* Removed /usr/mdec/bootxx_ufs, as it's equivalent to bootxx_ffsv1
and it's confusing to have two functionally equivalent bootblocks,
especially given that "ufs" has multiple meanings (it could be
a synonym for "ffs", or the group of ffs/lfs/ext2fs file systems).

* Rework pbr.S (the first sector of bootxx_*):
+ Ensure that BPB (bytes 11..89) and the partition table
(bytes 446..509) do not contain code.
+ Add support for booting from FAT partitions if BOOT_FROM_FAT
is defined. (Only set for bootxx_msdos).
+ Remove "dummy" partition 3; if people want to installboot(8)
these to the start of the disk they can use fdisk(8) to
create a real MBR partition table...
+ Compile with TERSE_ERROR so it fits because of the above.
Whilst this is less user friendly, I feel it's important
to have a valid partition table and BPB in the MBR/PBR.

* Renamed /usr/mdec/biosboot to /usr/mdec/boot, to be consistent
with other platforms.

* Enable SUPPORT_DOSFS in /usr/mdec/boot (stage2), so that
we can boot off FAT partitions.

* Crank version of /usr/mdec/boot to 3.1, and fix some of the other
entries in the version file.

installboot(8) (i386):
* Read the existing MBR of the filesystem and retain the BIOS
Parameter Block (BPB) in bytes 11..89 and the MBR partition
table in bytes 446..509. (Previously installboot(8) would
trash those two sections of the MBR.)

mbrlabel(8):
* Use sys/lib/libkern/xlat_mbr_fstype.c instead of homegrown code
to map the MBR partition type to the NetBSD disklabel type.


Test built "make release" for i386, and new bootblocks verified to work
(even off FAT!).
 1.8 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.7 15-Jul-2003  lukem __KERNEL_RCSID()
 1.6 10-May-2003  thorpej branches: 1.6.2;
Change bounds_check_with_label() to take a pointer to the disk structure,
rather than the label itself. This paves the way for some future changes.
 1.5 02-May-2003  dsl Change return type of readdisklabel() to const char *
I hope I've found all the correct places!
 1.4 16-Apr-2003  bouyer Nake return values from bounds_check_with_label() conform to the man
page: -1 for error, 0 for EOF, 1 otherwise. Inspired by an OpenBSD commit
message, pointed out by Miod Vallat in private mail.
vax/mba/hp.c: check return value <= 0, not < 0 to be concistent with how
other places handle return values from bounds_check_with_label().
 1.3 19-Mar-2003  simonb Spell 'strategy' correctly.
 1.2 17-Mar-2002  simonb branches: 1.2.8; 1.2.10;
Fix up some white-space bogons.
 1.1 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.2.10.2 17-Mar-2002  simonb Fix up some white-space bogons.
 1.2.10.1 17-Mar-2002  simonb file disksubr.c was added on branch nathanw_sa on 2002-03-17 06:28:58 +0000
 1.2.8.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.8.1 17-Mar-2002  jdolecek file disksubr.c was added on branch kqueue on 2002-06-23 17:40:23 +0000
 1.6.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.6.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.2.1 03-Aug-2004  skrll Sync with HEAD
 1.10.2.4 21-Jan-2008  yamt sync with head
 1.10.2.3 27-Oct-2007  yamt sync with head.
 1.10.2.2 03-Sep-2007  yamt sync with head.
 1.10.2.1 30-Dec-2006  yamt sync with head.
 1.11.22.1 10-Dec-2006  yamt sync with head.
 1.11.20.1 12-Jan-2007  ad Sync with head.
 1.12.4.1 12-Mar-2007  rmind Sync with HEAD.
 1.13.14.1 15-Aug-2007  skrll Sync with HEAD.
 1.13.12.1 07-Aug-2007  matt Sync with HEAD.
 1.13.10.2 16-Oct-2007  garbled Sync with HEAD
 1.13.10.1 03-Oct-2007  garbled Sync with HEAD
 1.13.2.2 09-Oct-2007  ad Sync with head.
 1.13.2.1 19-Aug-2007  ad - Back out the biodone() changes.
- Eliminate B_ERROR (from HEAD).
 1.14.8.1 14-Oct-2007  yamt sync with head.
 1.14.6.2 09-Jan-2008  matt sync with HEAD
 1.14.6.1 06-Nov-2007  matt sync with HEAD
 1.14.4.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.16.8.1 02-Jan-2008  bouyer Sync with HEAD
 1.16.4.1 31-Dec-2007  ad Make compile with new buffer cache locking scheme.

XXX This should be largely MI, please do not make another clone of disksubr.c.
 1.16.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.17.24.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.17.18.1 28-Apr-2009  skrll Sync with HEAD.
 1.17.10.1 04-May-2009  yamt sync with head.
 1.20.22.1 23-Jun-2013  tls resync from head
 1.20.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.21.34.1 10-Jun-2019  christos Sync with HEAD
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 31-May-2005  chs remove vestigal {,e}intr{names,cnt} symbols now that vmstat doesn't need them.
 1.2 25-Oct-2003  simonb Switch from intrcnt interrupt account to event counters.
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12; 1.1.18;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.18.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.18.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.18.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.18.1 03-Aug-2004  skrll Sync with HEAD
 1.1.12.2 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.1 06-Mar-2002  simonb file locore_machdep.S was added on branch nathanw_sa on 2002-03-06 02:13:52 +0000
 1.1.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file locore_machdep.S was added on branch kqueue on 2002-06-23 17:40:23 +0000
 1.58 05-Mar-2024  thorpej Move the at-shutdown call to resettodr() from cpu_reboot() to kern_reboot().

It's a small step, but it's a step.
 1.57 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.56 05-Dec-2023  andvar use kcpuset_isset() and pass second (NULL) argument to mips_fixup_exceptions()
to fix build for GENERIC(64).MP kernel configs.
 1.55 06-Nov-2017  christos Cleanup and clarify the ELFSIZE mess:

We now have 2 variables automatically set in elf_machdep.h:

ARCH_ELFSIZE: the size for userland binaries
KERN_ELFSIZE: the size for the kernel binaries

DB_ELFSIZE has been deleted and KERN_ELFSIZE should have always the
same values DB_ELFSIZE used to have.

In sys/exec_elf.h, if ELFSIZE is not set, it is set to KERN_ELFSIZE
for the kernel and ARCH_ELFSIZE for userland. These defaults should
eliminate the need for most manual ELFSIZE setting.
 1.54 22-Dec-2016  cherry switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.53 24-Mar-2014  christos branches: 1.53.6; 1.53.10;
- fix unused
- use cpu_{g,s}etmodel
 1.52 28-Jul-2012  matt branches: 1.52.2; 1.52.4;
Fix -fno-common fallout.
 1.51 28-Jul-2012  matt Remove declartions of physmem
 1.50 09-Jul-2011  matt branches: 1.50.2;
cleanup machine includes
 1.49 20-Feb-2011  matt Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.48 01-Feb-2011  matt Cast to intptr_t before changing size of type.
 1.47 08-Feb-2010  joerg branches: 1.47.2; 1.47.4; 1.47.6;
Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
 1.46 16-Dec-2009  matt branches: 1.46.2;
Remove unneeded variables.
 1.45 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.44 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.43 18-Mar-2009  cegger bzero -> memset
 1.42 13-Feb-2009  apb Use "defopt MODULAR" in sys/conf/files, and #include "opt_modular.h"
in all kernel sources that use the MODULAR option.
Proposed in tech-kern on 18 Jan 2009.
 1.41 30-Nov-2008  martin branches: 1.41.4;
As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.40 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.39 11-Nov-2008  dyoung It is not appropriate to call pmf_system_shutdown(9) from
doshutdownhooks(9): shutdown hooks registered by shutdownhook_establish(9)
expect to be called with interrupts disabled, but shutdown hooks
registered with pmf_device_register1(9) expect to be called with
interrupts enabled. So I have made two changes:

1 Do not call pmf_system_shutdown() from doshutdownhooks(). Instead,
change every call to doshutdownhooks() to a call to doshutdownhooks()
followed by a call to pmf_system_shutdown(). No functional change
is intended by this change.

2 Make i386 re-enable interrupts briefly while it calls
pmf_system_shutdown(). I leave it to others either to fix the
other ports, or to factor out some MI shutdown code, as joerg@
suggests, and fix that. Note that a functional change *is* intended
by this change.

I hope that this patch will stop us from flip-flopping between
calling doshutdownhooks() and pmf_system_shutdown() sometimes with
and sometimes without interrupts enabled.
 1.38 02-Jul-2008  ad branches: 1.38.2; 1.38.4; 1.38.10;
Replce exec_map with a pool. Proposed on tech-kern@, reviewed by chs@.
 1.37 17-Oct-2007  garbled branches: 1.37.16; 1.37.20; 1.37.22; 1.37.24;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.36 17-May-2007  yamt branches: 1.36.10;
merge yamt-idlelwp branch. asked by core@. some ports still needs work.

from doc/BRANCHES:

idle lwp, and some changes depending on it.

1. separate context switching and thread scheduling.
(cf. gmcgarry_ctxsw)
2. implement idle lwp.
3. clean up related MD/MI interfaces.
4. make scheduler(s) modular.
 1.35 06-Mar-2007  simonb branches: 1.35.2; 1.35.4; 1.35.10;
Fix some caddr_t rototill fallout.
 1.34 05-Mar-2007  dogcow semimechanically convert 'void foo' -> 'void *foo', as part of the continuing
caddr_t fallout.
 1.33 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.32 22-Feb-2007  thorpej TRUE -> true, FALSE -> false
 1.31 09-Feb-2007  ad branches: 1.31.2;
Merge newlock2 to head.
 1.30 26-Aug-2006  matt branches: 1.30.2;
Use PRIx64 instead of llx
 1.29 09-Apr-2006  tsutsui Remove declarations for cpu_model[] since it's in <sys/systm.h>.
 1.28 11-Dec-2005  christos branches: 1.28.4; 1.28.6; 1.28.8; 1.28.10; 1.28.12;
merge ktrace-lwp.
 1.27 25-Apr-2005  lukem branches: 1.27.2;
Move the MI printing of `copyright' to the MD cpu_startup() code
where the printing of `version' is already performed.
This has the benefit of allowing the copyright to be available
via dmesg(8) on platforms which need the `msgbuf' to be setup
in cpu_startup() before printed output is remembered.
 1.26 21-Jan-2005  simonb Use LL suffix on >32bit constants.
 1.25 03-Apr-2004  simonb branches: 1.25.4;
Copy Izumi Tsutsui's total/avail memory message tidy up.
sgimips is a little different, that is left as is.
 1.24 13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.23 30-Dec-2003  pk Replace the traditional buffer memory management -- based on fixed per buffer
virtual memory reservation and a private pool of memory pages -- by a scheme
based on memory pools.

This allows better utilization of memory because buffers can now be allocated
with a granularity finer than the system's native page size (useful for
filesystems with e.g. 1k or 2k fragment sizes). It also avoids fragmentation
of virtual to physical memory mappings (due to the former fixed virtual
address reservation) resulting in better utilization of MMU resources on some
platforms. Finally, the scheme is more flexible by allowing run-time decisions
on the amount of memory to be used for buffers.

On the other hand, the effectiveness of the LRU queue for buffer recycling
may be somewhat reduced compared to the traditional method since, due to the
nature of the pool based memory allocation, the actual least recently used
buffer may release its memory to a pool different from the one needed by a
newly allocated buffer. However, this effect will kick in only if the
system is under memory pressure.
 1.22 26-Sep-2003  simonb Cast through (void *) to appease gcc3.
XXX1 - why does this "type-punned pointer" warning only affect little-
endian MIPS and not big-endian MIPS?!
XXX2 - too much duplicated code.
 1.21 15-Jul-2003  lukem __KERNEL_RCSID()
 1.20 06-Jul-2003  simonb Hardwire physmem to 32MB if not called from CFE.
This should be a kernel config option, but for now is enough to get
a sbmips GENERIC kernel running under a simulator.
 1.19 26-Apr-2003  ragge branches: 1.19.2;
Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
 1.18 02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.17 07-Feb-2003  cgd Update to consistently use Broadcom GPL-compatible license on all SiByte code.
 1.16 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.15 12-Nov-2002  simonb s/bcopy/memcpy/
 1.14 12-Nov-2002  simonb Fix the end-of-kernel calculation when we don't have a valid bootinfo
structure. From Chris Demetriou.
 1.13 09-Nov-2002  cgd support passing in kernel symbols from a boot loader. GC some bogus
boot option handling.
 1.12 09-Nov-2002  cgd GC IKOS kernel option (never complete in these sources anyway)
 1.11 08-Nov-2002  cgd update to latest CFE API code
 1.10 25-Sep-2002  thorpej Don't include <sys/map.h>.
 1.9 25-Aug-2002  thorpej Make nbuf, nswbuf, and bufpages unsigned. Make all operations on these
variables unsigned, and update places where their values are printed.
 1.8 04-Aug-2002  gmcgarry branches: 1.8.2;
Merge cpu_sysctl() for all mips ports, based on powerpc and m68k precedent.

For now, only pmax implements CPU_BOOTED_KERNEL. Need to revisit.
 1.7 07-Jun-2002  simonb branches: 1.7.2;
For some reason I'm not sure of yet, cfe_exit(warmstart, ...) isn't
working any more. Just do a cold restart so at least we get back to
CFE for now...
 1.6 01-Jun-2002  simonb Remove some unused debug cruft.
Only print out the registers passed to us from CFE #ifdef DEBUG.
 1.5 01-Jun-2002  simonb Remove the unneeded early memsize/physmem calculations.
KNF, ANSIfy.
 1.4 17-Mar-2002  simonb branches: 1.4.4;
Include <machine/swarm.h>.
 1.3 17-Mar-2002  simonb Don't use a magic number.
 1.2 17-Mar-2002  simonb Fix up some white-space bogons.
 1.1 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.4.4.2 31-Aug-2002  gehenna catch up with -current.
 1.4.4.1 15-Jul-2002  gehenna catch up with -current.
 1.7.2.4 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.7.2.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.7.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.7.2.1 07-Jun-2002  jdolecek file machdep.c was added on branch kqueue on 2002-06-23 17:40:23 +0000
 1.8.2.6 11-Dec-2002  thorpej Sync with HEAD.
 1.8.2.5 11-Nov-2002  nathanw Catch up to -current
 1.8.2.4 18-Oct-2002  nathanw Catch up to -current.
 1.8.2.3 27-Aug-2002  nathanw Catch up to -current.
 1.8.2.2 13-Aug-2002  simonb LWP'ify.
 1.8.2.1 04-Aug-2002  simonb file machdep.c was added on branch nathanw_sa on 2002-08-13 03:35:49 +0000
 1.19.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.19.2.4 24-Jan-2005  skrll Sync with HEAD.
 1.19.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.19.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.19.2.1 03-Aug-2004  skrll Sync with HEAD
 1.25.4.1 29-Apr-2005  kent sync with -current
 1.27.2.4 03-Sep-2007  yamt sync with head.
 1.27.2.3 26-Feb-2007  yamt sync with head.
 1.27.2.2 30-Dec-2006  yamt sync with head.
 1.27.2.1 21-Jun-2006  yamt sync with head.
 1.28.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.28.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.28.8.2 03-Sep-2006  yamt sync with head.
 1.28.8.1 11-Apr-2006  yamt sync with head
 1.28.6.1 22-Apr-2006  simonb Sync with head.
 1.28.4.1 09-Sep-2006  rpaulo sync with head
 1.30.2.1 30-Jan-2007  ad Remove support for SA. Ok core@.
 1.31.2.3 18-Apr-2007  ad - Further adaptations to MIPS for the yamt-idlelwp branch.
- Make curlwp a register variable on MIPS.
 1.31.2.2 12-Mar-2007  rmind Sync with HEAD.
 1.31.2.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.35.10.1 22-May-2007  matt Update to HEAD.
 1.35.4.1 11-Jul-2007  mjf Sync with head.
 1.35.2.1 27-May-2007  ad Sync with head.
 1.36.10.1 06-Nov-2007  matt sync with HEAD
 1.37.24.1 03-Jul-2008  simonb Sync with head.
 1.37.22.3 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.37.22.2 14-May-2008  wrstuden Per discussion with ad, remove most of the #include <sys/sa.h> lines
as they were including sa.h just for the type(s) needed for syscallargs.h.

Instead, create a new file, sys/satypes.h, which contains just the
types needed for syscallargs.h. Yes, there's only one now, but that
may change and it's probably more likely to change if it'd be difficult
to handle. :-)

Per discussion with matt at n dot o, add an include of satypes.h to
sigtypes.h. Upcall handlers are kinda signal handlers, and signalling
is the header file that's already included for syscallargs.h that
closest matches SA.

This shaves about 3000 lines off of the diff of the branch relative
to the base. That also represents about 18% of the total before this
checkin.

I think this reduction is very good thing.
 1.37.22.1 10-May-2008  wrstuden Initial checkin of re-adding SA. Everything except kern_sa.c
compiles in GENERIC for i386. This is still a work-in-progress, but
this checkin covers most of the mechanical work (changing signalling
to be able to accomidate SA's process-wide signalling and re-adding
includes of sys/sa.h and savar.h). Subsequent changes will be much
more interesting.

Also, kern_sa.c has received partial cleanup. There's still more
to do, though.
 1.37.20.2 11-Mar-2010  yamt sync with head
 1.37.20.1 04-May-2009  yamt sync with head.
 1.37.16.2 17-Jan-2009  mjf Sync with HEAD.
 1.37.16.1 02-Jul-2008  mjf Sync with HEAD.
 1.38.10.11 14-Feb-2012  matt mem_cluster_cnt on mips is now a u_int.
 1.38.10.10 29-Apr-2011  matt Major merge to/from current.
Adds MIPS32/MIPS64 R2 support (24k, 74k, etc.) including COP0_USERLOCAL
Adds support for emulation of rdhwr $3,$29 instruction.
Major cleanup of SMP code. (stable on multi-core / single thread per core)
llsc locking code only used in MP capable kernels.
 1.38.10.9 10-Jun-2010  cliff - set mips_locoresw.lsw_bus_error = sibyte_bus_watch_check
- call sb1250_ipl_map_init() to set the ipl_sr_map for sbmips.
 1.38.10.8 21-Mar-2010  cliff mips_vector_init now takes an argument to specify splsw.
NULL specifies use the default 'std_splsw'
 1.38.10.7 28-Feb-2010  matt Add MP versions of GENERIC and GENERIC64 (untested).
Start adding the MP bits for sbmips.
 1.38.10.6 01-Feb-2010  matt fix fallout from frame/trapframe merger.
 1.38.10.5 31-Dec-2009  matt Use mips_page_physload and mips_init_lwp0_uarea.
 1.38.10.4 08-Dec-2009  cyber - Allow debugging symbols
- Handle args processing in a way that CFE will let us use
 1.38.10.3 08-Dec-2009  cyber - fix to allow 64bit kernels to properly talk to the firmware
- allow visibiliy of additional RAM
 1.38.10.2 23-Nov-2009  matt Use %#
 1.38.10.1 07-Sep-2009  matt Make sure MIPS_SR_KX is set for _LP64 kernels.
 1.38.4.3 28-Apr-2009  skrll Sync with HEAD.
 1.38.4.2 03-Mar-2009  skrll Sync with HEAD.
 1.38.4.1 19-Jan-2009  skrll Sync with HEAD.
 1.38.2.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.41.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.46.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.47.6.2 05-Mar-2011  bouyer Sync with HEAD
 1.47.6.1 08-Feb-2011  bouyer Sync with HEAD
 1.47.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.47.2.1 05-Mar-2011  rmind sync with head
 1.50.2.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.50.2.1 30-Oct-2012  yamt sync with head
 1.52.4.1 18-May-2014  rmind sync with head
 1.52.2.2 03-Dec-2017  jdolecek update from HEAD
 1.52.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.53.10.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.53.6.1 05-Feb-2017  skrll Sync with HEAD
 1.22 07-Sep-2025  thorpej Change todr_chip_handle::cookie -> todr_chip_handle::todr_dev, and
make it a device_t. Upcoming functional changes will require the
device_t associated with a TODR device.

Change todr_chip_handle::bus_cookie -> todr_chip_handle::todr_devaux.
Nothing was using the old field, but I decided to keep it around just
in cause something needs it in the future.

And with these largely mechanical yet semantically meaningful changes,
thus spake the Oracle: "Welcome to NetBSD 11.99.2."
 1.21 21-Jul-2016  christos make this compile.
 1.20 20-Nov-2014  christos branches: 1.20.2; 1.20.4;
use the inline bcdtobin and bintobcd directly instead through a macro.
 1.19 09-Jul-2011  matt branches: 1.19.12;
cleanup machine includes
 1.18 20-Feb-2011  matt Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.17 14-Dec-2009  matt branches: 1.17.4; 1.17.6; 1.17.8;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.16 17-Oct-2007  garbled branches: 1.16.20; 1.16.38;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.15 17-May-2007  yamt branches: 1.15.10;
merge yamt-idlelwp branch. asked by core@. some ports still needs work.

from doc/BRANCHES:

idle lwp, and some changes depending on it.

1. separate context switching and thread scheduling.
(cf. gmcgarry_ctxsw)
2. implement idle lwp.
3. clean up related MD/MI interfaces.
4. make scheduler(s) modular.
 1.14 14-Sep-2006  gdamore branches: 1.14.6; 1.14.10; 1.14.12; 1.14.18;
Convert sbmips to generic TODR. ok simonb@.
 1.13 04-Sep-2006  gdamore branches: 1.13.2;
Remove unused todr_setcal/todr_getcal and all the assorted stub
implementations.
 1.12 11-Dec-2005  christos branches: 1.12.4; 1.12.8;
merge ktrace-lwp.
 1.11 09-Jun-2005  jmc branches: 1.11.2;
Fixes for -Wcast-qual. Add some needed const around char *'s,
__UNVOLATILE in READ/WRITE_REG and convert the rtc functions to properaly
take a volatile timeval
 1.10 04-Jun-2005  he Fix the various todr_gettime() and todr_settime() fallouts from
-Wcast-qual differently, by instead changing the signatore of those
"functions" to take a "volatile struct timeval*" instead of a
"struct timeval*". Many places, these functions are called with
&time, and time is declared as volatile in <sys/kernel.h>. This
way we can get rid of all the ugly casts which now also triggered
warnings, and caused more code to be added to work around the
problem.

Reviewed by thorpej.
 1.9 25-Oct-2003  simonb Rename the "strtc" device to "m41t81rtc" so that it doesn't conflict with
the MI i2c "strtc" device.
XXX: This should use the MI "strtc" device - the M41T81 should be
compatible enough with the M41ST84 currently supported by that
driver.
 1.8 15-Jul-2003  lukem __KERNEL_RCSID()
 1.7 11-Feb-2003  cgd branches: 1.7.2;
fix spacing on Broadcom license.
 1.6 07-Feb-2003  cgd Update to consistently use Broadcom GPL-compatible license on all SiByte code.
 1.5 12-Nov-2002  simonb Add support for the ST M41T81 RTC found on pass 2 swarm boards.
XXX: Much of this should live in arch/sbmips instead of arch/mips/sibyte.
XXX: These should be replaced with MI SMBus drivers one day.
 1.4 02-Oct-2002  thorpej Add trailing ; to CFATTACH_DECL.
 1.3 01-Oct-2002  thorpej Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 04-Jun-2002  simonb branches: 1.1.2; 1.1.4; 1.1.6;
Add an extremely rough SMBus handler and RTC driver. This will be
cleaned up significantly when we have an MI SMBus framework, but at
least we can see the RTC on the swarm now.
 1.1.6.3 11-Dec-2002  thorpej Sync with HEAD.
 1.1.6.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.6.1 04-Jun-2002  nathanw file rtc.c was added on branch nathanw_sa on 2002-10-18 02:39:37 +0000
 1.1.4.2 15-Jul-2002  gehenna catch up with -current.
 1.1.4.1 04-Jun-2002  gehenna file rtc.c was added on branch gehenna-devsw on 2002-07-15 01:20:59 +0000
 1.1.2.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.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.2.1 04-Jun-2002  jdolecek file rtc.c was added on branch kqueue on 2002-06-23 17:40:24 +0000
 1.7.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.7.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.2.1 03-Aug-2004  skrll Sync with HEAD
 1.11.2.2 03-Sep-2007  yamt sync with head.
 1.11.2.1 30-Dec-2006  yamt sync with head.
 1.12.8.1 14-Sep-2006  yamt sync with head.
 1.12.4.1 09-Sep-2006  rpaulo sync with head
 1.13.2.1 18-Nov-2006  ad Sync with head.
 1.14.18.1 22-May-2007  matt Update to HEAD.
 1.14.12.1 11-Jul-2007  mjf Sync with head.
 1.14.10.1 27-May-2007  ad Sync with head.
 1.14.6.1 19-Apr-2007  ad Compile fixes.
 1.15.10.1 06-Nov-2007  matt sync with HEAD
 1.16.38.2 12-Jan-2010  matt Change some devices to use CFATTACH_DECL_NEW/device_t/cfdata_t/device_*
 1.16.38.1 23-Nov-2009  matt mips3_ld/mips3_sd need to be passed a volatile uint64_t *
 1.16.20.1 11-Mar-2010  yamt sync with head
 1.17.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.17.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.17.4.1 05-Mar-2011  rmind sync with head
 1.19.12.1 03-Dec-2017  jdolecek update from HEAD
 1.20.4.1 26-Jul-2016  pgoyette Sync with HEAD
 1.20.2.1 05-Oct-2016  skrll Sync with HEAD
 1.15 05-Dec-2023  andvar use kcpuset_isset() and pass second (NULL) argument to mips_fixup_exceptions()
to fix build for GENERIC(64).MP kernel configs.
 1.14 21-Jul-2016  christos make this compile.
 1.13 09-Jul-2011  matt branches: 1.13.12; 1.13.30; 1.13.34;
cleanup machine includes
 1.12 20-Feb-2011  matt Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.11 20-Dec-2010  matt branches: 1.11.2; 1.11.4;
Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch
from uvmexp to per-cpu cpu_data and move them to 64bits. Remove unneeded
includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.
 1.10 14-Dec-2009  matt branches: 1.10.4;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.9 03-Dec-2007  ad branches: 1.9.18; 1.9.36;
Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.8 21-Dec-2006  yamt branches: 1.8.6; 1.8.22; 1.8.24; 1.8.30;
merge yamt-splraiseipl branch.

- finish implementing splraiseipl (and makeiplcookie).
http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
- complete workqueue(9) and fix its ipl problem, which is reported
to cause audio skipping.
- fix netbt (at least compilation problems) for some ports.
- fix PR/33218.
 1.7 11-Nov-2005  simonb branches: 1.7.22; 1.7.24;
Switch to the MIPS generic soft interrupt code instead of using
port-specific code.
 1.6 25-Oct-2003  simonb branches: 1.6.16;
Switch from intrcnt interrupt account to event counters.
 1.5 26-Sep-2003  simonb Add "ULL" to large constant; keeps gcc331 happy.
 1.4 15-Jul-2003  lukem __KERNEL_RCSID()
 1.3 07-Feb-2003  cgd branches: 1.3.2;
Update to consistently use Broadcom GPL-compatible license on all SiByte code.
 1.2 06-Mar-2002  simonb branches: 1.2.8; 1.2.10; 1.2.12;
Neaten slightly.
 1.1 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.2.12.2 06-Mar-2002  simonb Neaten slightly.
 1.2.12.1 06-Mar-2002  simonb file sb1250_icu.c was added on branch nathanw_sa on 2002-03-06 07:51:03 +0000
 1.2.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.10.1 06-Mar-2002  jdolecek file sb1250_icu.c was added on branch kqueue on 2002-06-23 17:40:24 +0000
 1.2.8.1 23-Jul-2004  tron Apply patch (requested by dbj in ticket 1724):
Fix problems when building the netbsd-1-6 branch with GCC 3.3.3.
 1.3.2.4 11-Dec-2005  christos Sync with head.
 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.6.16.3 07-Dec-2007  yamt sync with head
 1.6.16.2 30-Dec-2006  yamt sync with head.
 1.6.16.1 21-Jun-2006  yamt sync with head.
 1.7.24.1 23-Sep-2006  yamt implement splraiseipl for sbmips.
 1.7.22.1 12-Jan-2007  ad Sync with head.
 1.8.30.1 08-Dec-2007  mjf Sync with HEAD.
 1.8.24.1 09-Jan-2008  matt sync with HEAD
 1.8.22.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.8.6.1 03-Dec-2007  ad Sync with HEAD.
 1.9.36.15 10-Jun-2010  cliff seperate initializing spl is from initizlizing the PIC:
setting ipl_sr_map is moved from sb1250_icu_init to sb1250_ipl_map_init.
 1.9.36.14 16-May-2010  matt Add IPL_DDB. This is needed for watchdog on sbmips and for IPIs used by DDB.
It's above IPL_SCHED but below IPL_HIGH.
 1.9.36.13 15-May-2010  matt Make the sibyte watchdog establish an interrupt, and if taken, drop into DDB.
Make sure these interrupt are not blocked by IPL_HIGH.
 1.9.36.12 12-May-2010  matt Force the Watchdog interrupts to NMI and don't mask them.
 1.9.36.11 16-Mar-2010  matt Use dclz directly since gcc4.1 doesn't to with clzdi properly.
 1.9.36.10 13-Mar-2010  matt Want until sb1250_cpu_init to establish interrupts.
 1.9.36.9 12-Mar-2010  matt establish IPI intrs in sb1250_cpu_init
 1.9.36.8 11-Mar-2010  matt Move cpu_softc to <machine/cpuvar.h>
#include <machine/cpuvar.h> appropriately
Change cpu_softc prefix from cpu_ to sb1cpu_
 1.9.36.7 11-Mar-2010  matt Use a cpu_softc to keep per-cpu things like interrupts, intr masks, etc.
 1.9.36.6 01-Mar-2010  matt Add MP interrupts, IPIs, and secondary CPU spinup.
(compile tested only).
 1.9.36.5 28-Feb-2010  matt #define __INTR_PRIVATE
 1.9.36.4 23-Feb-2010  matt Instead of a read-only ipl_sr_bits, define a ipl_sr_map struct and fill that
in the interrupt init routine. There's a default ipl_sr_map will operate
correctly, but isn't performant.
 1.9.36.3 05-Feb-2010  matt Change to deal with new method of invoking softints. Remove mips/softintr.c
from config files. Fix SYMTAB_SPACE for WGT62V43
 1.9.36.2 23-Nov-2009  matt Use vaddr_t instead uint32_t for storing a pc since the latter won't work in
a LP64 kernel.
 1.9.36.1 23-Nov-2009  matt mips3_ld/mips3_sd need to be passed a volatile uint64_t *
 1.9.18.1 11-Mar-2010  yamt sync with head
 1.10.4.1 05-Mar-2011  rmind sync with head
 1.11.4.1 05-Mar-2011  bouyer Sync with HEAD
 1.11.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.13.34.1 26-Jul-2016  pgoyette Sync with HEAD
 1.13.30.1 05-Oct-2016  skrll Sync with HEAD
 1.13.12.1 03-Dec-2017  jdolecek update from HEAD
 1.6 11-Nov-2005  simonb Switch to the MIPS generic soft interrupt code instead of using
port-specific code.
 1.5 06-Oct-2005  simonb KNF.
 1.4 25-Oct-2003  simonb branches: 1.4.16;
Switch from intrcnt interrupt account to event counters.
 1.3 07-Feb-2003  cgd branches: 1.3.2;
Update to consistently use Broadcom GPL-compatible license on all SiByte code.
 1.2 17-Mar-2002  simonb branches: 1.2.8; 1.2.10;
Fix up some white-space bogons.
 1.1 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.2.10.2 17-Mar-2002  simonb Fix up some white-space bogons.
 1.2.10.1 17-Mar-2002  simonb file softintr.c was added on branch nathanw_sa on 2002-03-17 06:28:58 +0000
 1.2.8.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.8.1 17-Mar-2002  jdolecek file softintr.c was added on branch kqueue on 2002-06-23 17:40:24 +0000
 1.3.2.5 11-Dec-2005  christos Sync with head.
 1.3.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 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.18 18-Oct-2014  snj src is too big these days to tolerate superfluous apostrophes. It's
"its", people!
 1.17 09-Jul-2011  matt branches: 1.17.12;
cleanup machine includes
 1.16 20-Feb-2011  matt Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.15 14-Dec-2009  matt branches: 1.15.4; 1.15.6; 1.15.8;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.14 08-Jan-2008  simonb branches: 1.14.10; 1.14.28;
Add timecounter support for sbmips machines and Broadcom SiByte CPUs.
Based on patch from joerg@, with tweaks by me to work with sbmips
non-use of the CP0 count/compare registers for clock interrupts.
 1.13 17-Oct-2007  garbled branches: 1.13.2; 1.13.8;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.12 17-May-2007  yamt branches: 1.12.10;
merge yamt-idlelwp branch. asked by core@. some ports still needs work.

from doc/BRANCHES:

idle lwp, and some changes depending on it.

1. separate context switching and thread scheduling.
(cf. gmcgarry_ctxsw)
2. implement idle lwp.
3. clean up related MD/MI interfaces.
4. make scheduler(s) modular.
 1.11 14-Sep-2006  gdamore branches: 1.11.6; 1.11.10; 1.11.12; 1.11.18;
Convert sbmips to generic TODR. ok simonb@.
 1.10 11-Nov-2005  simonb branches: 1.10.10; 1.10.22;
Switch to the MIPS generic soft interrupt code instead of using
port-specific code.
 1.9 15-Jul-2003  lukem branches: 1.9.16;
__KERNEL_RCSID()
 1.8 29-May-2003  simonb branches: 1.8.2;
KNF nit.
 1.7 07-Feb-2003  cgd Update to consistently use Broadcom GPL-compatible license on all SiByte code.
 1.6 04-Jun-2002  simonb branches: 1.6.2; 1.6.4;
3 ports are now using the reciprocal count divisor code now, move it
to <mips/cpu.h>, and add MIPS_SET_CI_RECIPRICAL and MIPS_COUNT_TO_MHZ
macros to use it.
 1.5 01-Jun-2002  simonb Add statclock and todr function arguments to the systemsw.
Add a system_set_todrfns() function.
 1.4 03-May-2002  simonb branches: 1.4.2;
Fix off-by-one error in delay(). Fix from Charles Hannum in ARM code,
pointed out by Rafal Boni.
 1.3 06-Mar-2002  simonb Implement a clkread() function for microtime() using a multu/mfhi
sequence using the reciprocal of the delay divisor to perform the
division.
Set the cp0 compare register so that it doesn't trigger interrupts and
reset the cp0 count register in the hardclock interrupt handler.
 1.2 06-Mar-2002  simonb Use the divisor delay from curcpu() in the implementation of delay().
 1.1 06-Mar-2002  simonb A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.4.2.1 15-Jul-2002  gehenna catch up with -current.
 1.6.4.2 04-Jun-2002  simonb 3 ports are now using the reciprocal count divisor code now, move it
to <mips/cpu.h>, and add MIPS_SET_CI_RECIPRICAL and MIPS_COUNT_TO_MHZ
macros to use it.
 1.6.4.1 04-Jun-2002  simonb file systemsw.c was added on branch nathanw_sa on 2002-06-04 05:42:42 +0000
 1.6.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.2.1 04-Jun-2002  jdolecek file systemsw.c was added on branch kqueue on 2002-06-23 17:40:25 +0000
 1.8.2.4 11-Dec-2005  christos Sync with head.
 1.8.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.8.2.1 03-Aug-2004  skrll Sync with HEAD
 1.9.16.4 21-Jan-2008  yamt sync with head
 1.9.16.3 03-Sep-2007  yamt sync with head.
 1.9.16.2 30-Dec-2006  yamt sync with head.
 1.9.16.1 21-Jun-2006  yamt sync with head.
 1.10.22.1 18-Nov-2006  ad Sync with head.
 1.10.10.1 14-Sep-2006  yamt sync with head.
 1.11.18.1 22-May-2007  matt Update to HEAD.
 1.11.12.1 11-Jul-2007  mjf Sync with head.
 1.11.10.1 27-May-2007  ad Sync with head.
 1.11.6.1 19-Apr-2007  ad Compile fixes.
 1.12.10.2 09-Jan-2008  matt sync with HEAD
 1.12.10.1 06-Nov-2007  matt sync with HEAD
 1.13.8.1 08-Jan-2008  bouyer Sync with HEAD
 1.13.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.14.28.4 23-Feb-2010  matt Instead of a read-only ipl_sr_bits, define a ipl_sr_map struct and fill that
in the interrupt init routine. There's a default ipl_sr_map will operate
correctly, but isn't performant.
 1.14.28.3 21-Jan-2010  matt Minor type cleanup
 1.14.28.2 08-Dec-2009  cyber match prototype
 1.14.28.1 23-Nov-2009  matt Use vaddr_t instead uint32_t for storing a pc since the latter won't work in
a LP64 kernel.
 1.14.10.1 11-Mar-2010  yamt sync with head
 1.15.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.15.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.15.4.1 05-Mar-2011  rmind sync with head
 1.17.12.1 03-Dec-2017  jdolecek update from HEAD
 1.14 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.13 24-Apr-2021  thorpej branches: 1.13.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.12 20-Feb-2011  matt branches: 1.12.70;
Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.11 11-Dec-2005  christos branches: 1.11.96; 1.11.100; 1.11.106; 1.11.108;
merge ktrace-lwp.
 1.10 26-Aug-2005  drochner s/locdesc_t/int/g
 1.9 28-Jun-2005  drochner branches: 1.9.2;
convert remaining autoconf bus "submatch" functions to use the new
signature (passing locators), and remove some which obviously don't
serve any purpose
(untested, sorry)
 1.8 15-Jul-2003  lukem __KERNEL_RCSID()
 1.7 07-Feb-2003  cgd branches: 1.7.2;
Update to consistently use Broadcom GPL-compatible license on all SiByte code.
 1.6 01-Jan-2003  thorpej Use aprint_normal() for cfprint routines.
 1.5 02-Oct-2002  thorpej Add trailing ; to CFATTACH_DECL.
 1.4 01-Oct-2002  thorpej Use CFATTACH_DECL().
 1.3 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.2 27-Sep-2002  thorpej Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.
 1.1 06-Mar-2002  simonb branches: 1.1.10; 1.1.12;
A basic port to the Broadcom/SiByte SB1250 evaluation board (the
"swarm"). Other SB-cpu boards will be supported by this port in
the future.

Includes support for on-chip ethernet and serial. Many features
still missing - notably SMP, PCI/LDT and IDE.

This code is provided by the Broadband Processor Business Unit at
Broadcom Corp with minor updates by me.
 1.1.12.3 03-Jan-2003  thorpej Sync with HEAD.
 1.1.12.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.12.1 06-Mar-2002  nathanw file zbbus.c was added on branch nathanw_sa on 2002-10-18 02:39:37 +0000
 1.1.10.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.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.10.1 06-Mar-2002  jdolecek file zbbus.c was added on branch kqueue on 2002-06-23 17:40:25 +0000
 1.7.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.7.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.2.1 03-Aug-2004  skrll Sync with HEAD
 1.9.2.1 21-Jun-2006  yamt sync with head.
 1.11.108.1 05-Mar-2011  bouyer Sync with HEAD
 1.11.106.1 06-Jun-2011  jruoho Sync with HEAD.
 1.11.100.1 05-Mar-2011  rmind sync with head
 1.11.96.1 12-Jan-2010  matt Change some devices to use CFATTACH_DECL_NEW/device_t/cfdata_t/device_*
 1.12.70.2 22-Mar-2021  thorpej Audit CFARG_IATTR in config_found() calls, and remove it in situations
where the interface attribute is not ambiguous.
 1.12.70.1 22-Mar-2021  thorpej Mechanical conversion of config_found_sm_loc() -> config_found().
CFARG_IATTR usage needs to be audited.
 1.13.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.2 20-Feb-2011  matt Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.1 09-Nov-2002  cgd branches: 1.1.2; 1.1.136; 1.1.142; 1.1.144;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.144.1 05-Mar-2011  bouyer Sync with HEAD
 1.1.142.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.136.1 05-Mar-2011  rmind sync with head
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file Makefile was added on branch nathanw_sa on 2002-11-11 22:03:19 +0000
 1.15 28-May-2022  andvar fix various typos in comments.
 1.14 08-Apr-2017  christos centralize vers.c building for standalone programs.
 1.13 16-Jan-2014  christos branches: 1.13.6; 1.13.10; 1.13.14;
eliminate use of bsd.sys.mk from Makefiles
 1.12 12-Jan-2014  tsutsui Add empty LIBCRTI= as LIBCRT0 to build sa programs without installed DESTDIR.

XXX: probabry we should have bsd.saprog.mk or something.
 1.11 21-Aug-2013  matt Use <bsd.klinks.mk>
 1.10 19-Jan-2012  matt branches: 1.10.6; 1.10.10;
Use a ldscript to make sure boot programs are linked correctly.
 1.9 20-Feb-2011  matt branches: 1.9.4; 1.9.8;
Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.8 22-Jan-2011  joerg Drop bootprog_maker (formerly enabled by -M) and bootprog_date (formerly
disabled by -D) from the output of newvers_stand.sh. Change -D to the
inverted logic, so that it adds the date to bootprog_rev in ().

Change all platforms accordingly. -D is added if MKREPRO is not yes and
wasn't present before. Platforms that didn't use -D don't depend on
MKREPRO now either.
 1.7 12-Jan-2009  tsutsui branches: 1.7.6; 1.7.8; 1.7.10;
WARNSfy
 1.6 11-Dec-2005  christos branches: 1.6.74; 1.6.78; 1.6.86;
merge ktrace-lwp.
 1.5 21-Jun-2004  jmc Ignore errors on some rm -rf's for platforms that aren't quite
POSIX compliant
and return errors on r/o source (FreeBSD) for -rf. Fixes PR#25022
 1.4 26-Oct-2003  lukem branches: 1.4.2;
Use ${HOST_SH} instead of `sh'.

If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
 1.3 08-Oct-2003  simonb Define LIB{CRT0,C,CRTBEGIN,CRTEND} as nothing, we don't need to link
against them.
 1.2 12-Nov-2002  cgd branches: 1.2.6;
to catch up with the recent gcc compiler driver changes, add -mno-abicalls
to AFLAGS. In CFLAGS, remote -mno-half-pic (unneeded), and add -msoft-float
(needed for gcc 3.3).
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.3 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file Makefile.bootprogs was added on branch nathanw_sa on 2002-11-11 22:03:20 +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.2.1 22-Jun-2004  tron Pull up revision 1.5 (requested by jmc in ticket #531):
Ignore errors on some rm -rf's for platforms that aren't quite
POSIX compliant
and return errors on r/o source (FreeBSD) for -rf. Fixes PR#25022
 1.6.86.1 19-Jan-2009  skrll Sync with HEAD.
 1.6.78.1 04-May-2009  yamt sync with head.
 1.6.74.1 17-Jan-2009  mjf Sync with HEAD.
 1.7.10.2 05-Mar-2011  bouyer Sync with HEAD
 1.7.10.1 08-Feb-2011  bouyer Sync with HEAD
 1.7.8.1 06-Jun-2011  jruoho Sync with HEAD.
 1.7.6.1 05-Mar-2011  rmind sync with head
 1.9.8.1 18-Feb-2012  mrg merge to -current.
 1.9.4.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.9.4.1 17-Apr-2012  yamt sync with head
 1.10.10.2 18-May-2014  rmind sync with head
 1.10.10.1 28-Aug-2013  rmind sync with head
 1.10.6.2 03-Dec-2017  jdolecek update from HEAD
 1.10.6.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.13.14.1 21-Apr-2017  bouyer Sync with HEAD
 1.13.10.1 26-Apr-2017  pgoyette Sync with HEAD
 1.13.6.1 28-Aug-2017  skrll Sync with HEAD
 1.4 21-Jul-2016  christos remove .MIPS.abiflags to avoid objcopy creating a 0x20000000 large boot file.
 1.3 20-Feb-2011  matt branches: 1.3.14; 1.3.32; 1.3.36;
Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.2 03-Apr-2009  tsutsui branches: 1.2.4; 1.2.6; 1.2.8;
Remove obsolete LIBSA_USE_MEMCPY and LIBSA_USE_MEMSET.
They were removed from <lib/libsa/stand.h> on December 2007.
 1.1 09-Nov-2002  cgd branches: 1.1.2; 1.1.114; 1.1.122; 1.1.128;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.128.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.1.122.1 28-Apr-2009  skrll Sync with HEAD.
 1.1.114.1 04-May-2009  yamt sync with head.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file Makefile.bootxx was added on branch nathanw_sa on 2002-11-11 22:03:21 +0000
 1.2.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.2.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.4.1 05-Mar-2011  rmind sync with head
 1.3.36.1 26-Jul-2016  pgoyette Sync with HEAD
 1.3.32.1 05-Oct-2016  skrll Sync with HEAD
 1.3.14.1 03-Dec-2017  jdolecek update from HEAD
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file Makefile.inc was added on branch nathanw_sa on 2002-11-11 22:03:22 +0000
 1.3 19-Jan-2012  matt Use a ldscript to make sure boot programs are linked correctly.
 1.2 20-Feb-2011  matt branches: 1.2.4; 1.2.8;
Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.1 09-Nov-2002  cgd branches: 1.1.2; 1.1.136; 1.1.142; 1.1.144;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.144.1 05-Mar-2011  bouyer Sync with HEAD
 1.1.142.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.136.1 05-Mar-2011  rmind sync with head
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file Makefile was added on branch nathanw_sa on 2002-11-11 22:03:24 +0000
 1.2.8.1 18-Feb-2012  mrg merge to -current.
 1.2.4.1 17-Apr-2012  yamt sync with head
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 23-Jun-2005  junyoung Use FS_OPS() macro.
 1.3 23-Jun-2005  junyoung Drop trailing spaces.
 1.2 23-Feb-2003  simonb branches: 1.2.2;
Update for LFSv2 support. Ports that have "bootxx_lfs"-style
bootblocks currently only support LFSv2, but the second level
"boot" program supports both LFS versions.
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file filesystem.c was added on branch nathanw_sa on 2002-11-11 22:03:24 +0000
 1.2.2.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file version was added on branch nathanw_sa on 2002-11-11 22:03:25 +0000
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file Makefile was added on branch nathanw_sa on 2002-11-11 22:03:26 +0000
 1.2 01-Feb-2003  simonb Use a 32-bit daddr_t so that lib/libsa/{ufs,lfs}.c don't pull in 64
bit divide and modulus library routines that break the tight space
constraints on bootblocks on these platforms.

May not be the final solution, but gets bootblocks building again.
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file Makefile was added on branch nathanw_sa on 2002-11-11 22:03:27 +0000
 1.3 23-Feb-2003  simonb Update for LFSv2 support. Ports that have "bootxx_lfs"-style
bootblocks currently only support LFSv2, but the second level
"boot" program supports both LFS versions.
 1.2 01-Feb-2003  simonb Use a 32-bit daddr_t so that lib/libsa/{ufs,lfs}.c don't pull in 64
bit divide and modulus library routines that break the tight space
constraints on bootblocks on these platforms.

May not be the final solution, but gets bootblocks building again.
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file Makefile was added on branch nathanw_sa on 2002-11-11 22:03:28 +0000
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file bbinfo.h was added on branch nathanw_sa on 2002-11-11 22:03:29 +0000
 1.7 27-Dec-2019  msaitoh s/transfered/transferred/
 1.6 14-Mar-2009  dsl branches: 1.6.64;
ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.5 12-Jan-2009  tsutsui branches: 1.5.2;
WARNSfy
 1.4 11-Dec-2005  christos branches: 1.4.74; 1.4.78; 1.4.86;
merge ktrace-lwp.
 1.3 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.2 05-Apr-2003  he branches: 1.2.2;
Obey the LIBSA_NO_TWIDDLE define; don't include a reference to twiddle()
if it's defined. This brings the size of bootxx_ffs under it's limit again.
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file blkdev.c was added on branch nathanw_sa on 2002-11-11 22:03:30 +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.86.2 28-Apr-2009  skrll Sync with HEAD.
 1.4.86.1 19-Jan-2009  skrll Sync with HEAD.
 1.4.78.1 04-May-2009  yamt sync with head.
 1.4.74.1 17-Jan-2009  mjf Sync with HEAD.
 1.5.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.6.64.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.3 16-Mar-2009  he Correct the sense of the check for LIBSA_NO_FS_CLOSE; restores buildability.
 1.2 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.1 09-Nov-2002  cgd branches: 1.1.2; 1.1.114; 1.1.122; 1.1.128;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.128.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.1.122.1 28-Apr-2009  skrll Sync with HEAD.
 1.1.114.1 04-May-2009  yamt sync with head.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file blkdev.h was added on branch nathanw_sa on 2002-11-11 22:03:31 +0000
 1.7 11-Jun-2016  dholland PR 51200 gets in libsa considered harmful: use kgets
 1.6 22-Jan-2011  joerg branches: 1.6.14; 1.6.32;
Drop bootprog_maker (formerly enabled by -M) and bootprog_date (formerly
disabled by -D) from the output of newvers_stand.sh. Change -D to the
inverted logic, so that it adds the date to bootprog_rev in ().

Change all platforms accordingly. -D is added if MKREPRO is not yes and
wasn't present before. Platforms that didn't use -D don't depend on
MKREPRO now either.
 1.5 18-Mar-2009  cegger branches: 1.5.4; 1.5.6; 1.5.8;
bzero -> memset
 1.4 12-Jan-2009  tsutsui branches: 1.4.2;
WARNSfy
 1.3 11-Dec-2005  christos branches: 1.3.74; 1.3.78; 1.3.86;
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 09-Nov-2002  cgd branches: 1.1.2; 1.1.8;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.8.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.8.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.8.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file boot.c was added on branch nathanw_sa on 2002-11-11 22:03:31 +0000
 1.3.86.2 28-Apr-2009  skrll Sync with HEAD.
 1.3.86.1 19-Jan-2009  skrll Sync with HEAD.
 1.3.78.1 04-May-2009  yamt sync with head.
 1.3.74.1 17-Jan-2009  mjf Sync with HEAD.
 1.4.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.5.8.1 08-Feb-2011  bouyer Sync with HEAD
 1.5.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.5.4.1 05-Mar-2011  rmind sync with head
 1.6.32.1 09-Jul-2016  skrll Sync with HEAD
 1.6.14.1 03-Dec-2017  jdolecek update from HEAD
 1.2 20-Jan-2012  matt branches: 1.2.4; 1.2.6;
Remove output emulation.
 1.1 19-Jan-2012  matt Use a ldscript to make sure boot programs are linked correctly.
 1.2.6.2 17-Apr-2012  yamt sync with head
 1.2.6.1 20-Jan-2012  yamt file boot.ldscript was added on branch yamt-pagecache on 2012-04-17 00:06:51 +0000
 1.2.4.2 18-Feb-2012  mrg merge to -current.
 1.2.4.1 20-Jan-2012  mrg file boot.ldscript was added on branch jmcneill-usbmp on 2012-02-18 07:33:06 +0000
 1.2 07-Feb-2003  cgd Update to consistently use Broadcom GPL-compatible license on all SiByte code.
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file booted_dev.c was added on branch nathanw_sa on 2002-11-11 22:03:32 +0000
 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 09-Nov-2002  cgd branches: 1.1.2; 1.1.8;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.8.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.8.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.8.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file bootxx.c was added on branch nathanw_sa on 2002-11-11 22:03:33 +0000
 1.3 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.2 07-Feb-2003  cgd branches: 1.2.108; 1.2.116; 1.2.122;
Update to consistently use Broadcom GPL-compatible license on all SiByte code.
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file cfe.c was added on branch nathanw_sa on 2002-11-11 22:03:35 +0000
 1.2.122.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.2.116.1 28-Apr-2009  skrll Sync with HEAD.
 1.2.108.1 04-May-2009  yamt sync with head.
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file cfe_api.c was added on branch nathanw_sa on 2002-11-11 22:03:36 +0000
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file cfe_api.h was added on branch nathanw_sa on 2002-11-11 22:03:37 +0000
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file cfe_api_int.h was added on branch nathanw_sa on 2002-11-11 22:03:38 +0000
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file cfe_error.h was added on branch nathanw_sa on 2002-11-11 22:03:39 +0000
 1.2 07-Feb-2003  cgd Update to consistently use Broadcom GPL-compatible license on all SiByte code.
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file cfe_ioctl.h was added on branch nathanw_sa on 2002-11-11 22:03:40 +0000
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file checksize.sh was added on branch nathanw_sa on 2002-11-11 22:03:40 +0000
 1.3 22-Jan-2011  joerg Drop bootprog_maker (formerly enabled by -M) and bootprog_date (formerly
disabled by -D) from the output of newvers_stand.sh. Change -D to the
inverted logic, so that it adds the date to bootprog_rev in ().

Change all platforms accordingly. -D is added if MKREPRO is not yes and
wasn't present before. Platforms that didn't use -D don't depend on
MKREPRO now either.
 1.2 14-Mar-2009  dsl branches: 1.2.4; 1.2.6; 1.2.8;
Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.1 09-Nov-2002  cgd branches: 1.1.2; 1.1.114; 1.1.122; 1.1.128;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.128.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.1.122.1 28-Apr-2009  skrll Sync with HEAD.
 1.1.114.1 04-May-2009  yamt sync with head.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file common.h was added on branch nathanw_sa on 2002-11-11 22:03:42 +0000
 1.2.8.1 08-Feb-2011  bouyer Sync with HEAD
 1.2.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.4.1 05-Mar-2011  rmind sync with head
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file panic_putstr.c was added on branch nathanw_sa on 2002-11-11 22:03:42 +0000
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file putstr.c was added on branch nathanw_sa on 2002-11-11 22:03:43 +0000
 1.2 07-Feb-2003  cgd Update to consistently use Broadcom GPL-compatible license on all SiByte code.
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file start.S was added on branch nathanw_sa on 2002-11-11 22:03:43 +0000
 1.6 19-Jan-2012  matt Use a ldscript to make sure boot programs are linked correctly.
 1.5 20-Feb-2011  matt branches: 1.5.4; 1.5.8;
Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
 1.4 04-Nov-2009  skrll branches: 1.4.4; 1.4.6; 1.4.8;
Apply workaround for an ld bug which creates an empty .rel.dyn section.
 1.3 11-Dec-2005  christos branches: 1.3.78;
merge ktrace-lwp.
 1.2 14-Mar-2004  simonb Remove trailing blank line.
 1.1 09-Nov-2002  cgd branches: 1.1.2; 1.1.8;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.8.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.8.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.8.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file Makefile was added on branch nathanw_sa on 2002-11-11 22:03:44 +0000
 1.3.78.1 11-Mar-2010  yamt sync with head
 1.4.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.4.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.4.4.1 05-Mar-2011  rmind sync with head
 1.5.8.1 18-Feb-2012  mrg merge to -current.
 1.5.4.1 17-Apr-2012  yamt sync with head
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 23-Jun-2005  junyoung Use FS_OPS() macro.
 1.1 09-Nov-2002  cgd branches: 1.1.2; 1.1.8;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.8.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file conf.c was added on branch nathanw_sa on 2002-11-11 22:03:45 +0000
 1.7 05-Jun-2021  christos Use the libsa dev_net.c (fixes the build since this defined netmask
which has moved to a different file in libsa).
 1.6 17-Jul-2011  joerg branches: 1.6.70; 1.6.74;
Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.5 21-Oct-2009  snj Drop 3rd and 4th clauses. Approved by gwr@ (copyright holder).
 1.4 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.3 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.2 19-Mar-2003  drochner branches: 1.2.108; 1.2.116; 1.2.122;
"bootparam" specific variables are defined in libsa/bootparam.c now.
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file dev_net.c was added on branch nathanw_sa on 2002-11-11 22:03:45 +0000
 1.2.122.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.2.116.1 28-Apr-2009  skrll Sync with HEAD.
 1.2.108.2 11-Mar-2010  yamt sync with head
 1.2.108.1 04-May-2009  yamt sync with head.
 1.6.74.1 06-Jun-2021  cjep sync with head
 1.6.70.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.5 19-Jun-2014  msaitoh Fix compile error of -Werror=unused-but-set-variable.
 1.4 14-Mar-2009  dsl branches: 1.4.22; 1.4.36;
ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.3 11-Dec-2005  christos branches: 1.3.78; 1.3.86; 1.3.92;
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 09-Nov-2002  cgd branches: 1.1.2; 1.1.8;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.8.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.8.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.8.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file devopen.c was added on branch nathanw_sa on 2002-11-11 22:03:46 +0000
 1.3.92.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.3.86.1 28-Apr-2009  skrll Sync with HEAD.
 1.3.78.1 04-May-2009  yamt sync with head.
 1.4.36.1 10-Aug-2014  tls Rebase.
 1.4.22.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4 12-Jan-2009  tsutsui Replace time_t values in libsa sources with the following two types
to avoid unnecessary 64 bit ops which would make binaries larger:

satime_t (currently unsigned int):
numbers in seconds returned by the machine dependent getsecs() function
which are used to measure relative time

saseconds_t (currently int):
numbers in seconds used to specify timeout to network drivers

Per discussion on current-users.
 1.3 15-Apr-2006  simonb branches: 1.3.62; 1.3.66; 1.3.74;
ANSIfy, white-space nits.
 1.2 07-Feb-2003  cgd branches: 1.2.18; 1.2.32; 1.2.34; 1.2.36; 1.2.38; 1.2.40;
Update to consistently use Broadcom GPL-compatible license on all SiByte code.
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file getsecs.c was added on branch nathanw_sa on 2002-11-11 22:03:47 +0000
 1.2.40.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.38.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.2.36.1 24-May-2006  yamt sync with head.
 1.2.34.1 22-Apr-2006  simonb Sync with head.
 1.2.32.1 09-Sep-2006  rpaulo sync with head
 1.2.18.1 21-Jun-2006  yamt sync with head.
 1.3.74.1 19-Jan-2009  skrll Sync with HEAD.
 1.3.66.1 04-May-2009  yamt sync with head.
 1.3.62.1 17-Jan-2009  mjf Sync with HEAD.
 1.5 18-Mar-2009  cegger bcopy -> memcpy
 1.4 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.3 12-Jan-2009  tsutsui branches: 1.3.2;
Replace time_t values in libsa sources with the following two types
to avoid unnecessary 64 bit ops which would make binaries larger:

satime_t (currently unsigned int):
numbers in seconds returned by the machine dependent getsecs() function
which are used to measure relative time

saseconds_t (currently int):
numbers in seconds used to specify timeout to network drivers

Per discussion on current-users.
 1.2 13-Mar-2003  drochner branches: 1.2.104; 1.2.108; 1.2.116;
cope with removal of this sick NENTS macro from libsa/netif.h
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file if_cfe.c was added on branch nathanw_sa on 2002-11-11 22:03:47 +0000
 1.2.116.2 28-Apr-2009  skrll Sync with HEAD.
 1.2.116.1 19-Jan-2009  skrll Sync with HEAD.
 1.2.108.1 04-May-2009  yamt sync with head.
 1.2.104.1 17-Jan-2009  mjf Sync with HEAD.
 1.3.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.1 09-Nov-2002  cgd branches: 1.1.2;
first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 09-Nov-2002  nathanw file version was added on branch nathanw_sa on 2002-11-11 22:03:48 +0000

RSS XML Feed