Home | History | Annotate | only in /src/sys/arch/mipsco
History log of /src/sys/arch/mipsco
RevisionDateAuthorComments
 1.5 25-Oct-2008  apb Use ${TOOL_SED} instead if plain sed in Makefiles.
 1.4 06-Jan-2003  lukem branches: 1.4.104; 1.4.108; 1.4.114;
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.3 26-Sep-2000  wdk branches: 1.3.2; 1.3.10;
Add stand directory to build process
 1.2 13-Aug-2000  soren s/dev/obio/
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.3.10.1 07-Jan-2003  thorpej Sync with HEAD.
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 26-Sep-2000  bouyer file Makefile was added on branch thorpej_scsipi on 2000-11-20 20:14:00 +0000
 1.4.114.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.4.108.1 04-May-2009  yamt sync with head.
 1.4.104.1 17-Jan-2009  mjf 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 12-Aug-2000  wdk branches: 1.1.2; 1.1.10;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.10.1 07-Jan-2003  thorpej Sync with HEAD.
 1.1.2.2 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.1 12-Aug-2000  wdk file .keep_me was added on branch thorpej_scsipi on 2000-08-12 22:57:58 +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:12:08 +0000
 1.100 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.99 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.98 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.97 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.96 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.95 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.94 26-Apr-2019  sevan branches: 1.94.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.93 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.92 23-Jan-2018  sevan branches: 1.92.2; 1.92.4;
Alternate buffer queue strategies no longer considered experimental, update
description.

Discussed on tech-kern
http://mail-index.netbsd.org/tech-kern/2018/01/21/msg023002.html
 1.91 14-Sep-2017  mrg 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.90 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.89 28-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 1.
 1.88 16-Nov-2014  manu branches: 1.88.2; 1.88.12;
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.87 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.86 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.85 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.84 30-Jun-2013  rmind branches: 1.84.6;
G/C PFIL_HOOKS from the kernel configs.
 1.83 27-Apr-2013  christos branches: 1.83.4;
the bogus number police
 1.82 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.81 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.80 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.79 10-Mar-2012  joerg branches: 1.79.2;
P1003_1B_SEMAPHORE is no longer optional.
 1.78 22-Nov-2011  tls branches: 1.78.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.77 30-Jun-2011  wiz branches: 1.77.2;
dependant -> dependent
 1.76 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.75 29-Apr-2010  chs branches: 1.75.2; 1.75.4;
enable TMPFS in all GENERICs that have MFS enabled.
 1.74 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.73 05-Dec-2009  pooka branches: 1.73.2; 1.73.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.72 24-Jan-2009  mrg add COMPAT_50 to all the configs with COMPAT_40.
 1.71 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.70 10-Aug-2008  tls branches: 1.70.2;
Add accept filters to GENERIC kernels where they exist.
 1.69 30-May-2008  tsutsui branches: 1.69.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.68 31-Dec-2007  ad branches: 1.68.6; 1.68.8; 1.68.10; 1.68.12;
Remove systrace. Ok core@.
 1.67 04-Nov-2007  xtraeme branches: 1.67.2; 1.67.8;
Remove System V semaphores and share memory options to set the limits:
SEMMNI, SEMMNS, SEMUME and SHMMAXPGS.

They can be tweaked via sysctl now. Ports that were setting values on
them weren't touched, I only removed the ones that were commented out.
 1.66 17-Oct-2007  garbled 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.65 04-Jun-2007  martin branches: 1.65.8; 1.65.10; 1.65.14;
Add pseudo-device agr to all GENERIC kernels where it might make sense
(commented out in some).
 1.64 11-Nov-2006  jmmv branches: 1.64.2; 1.64.8; 1.64.10; 1.64.16; 1.64.18;
Remove tmpfs's experimental status. OK'ed by core@.
 1.63 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.62 26-Aug-2006  christos branches: 1.62.2; 1.62.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.61 26-Aug-2006  tsutsui Remove obsolete #options VERIFIED_EXEC, found by grep(1).
 1.60 12-Aug-2006  christos Disable SYSTRACE by default on all kernels (discussed with core)
 1.59 28-Jun-2006  liamjfoy branches: 1.59.2;
Add CARP to GENERIC kernel configs. CARP is not enabled by default.

ok: christos
 1.58 05-Feb-2006  cube branches: 1.58.2; 1.58.10;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.57 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.56 02-Feb-2006  reinoud branches: 1.56.2;
Add commented out UDF file-system entry in all GENERIC configurations.
 1.55 09-Dec-2005  elad branches: 1.55.2; 1.55.4;
Add (commented out) Veriexec options and pseudo-device to GENERIC kernels,
and remove the i386 GENERIC_VERIEXEC config.
 1.54 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.53 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.52 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.51 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.50 19-Aug-2005  christos 64 bit inode changes.
 1.49 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.48 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.47 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.46 25-Jun-2005  rpaulo branches: 1.46.2;
Add file-system PTYFS (commented out) so that people know its existence.

Ok'ed by Christos Zoulas and Hubert Feyrer.
 1.45 09-Jun-2005  tsutsui - Rename options NEW_BUFQ_STRATEGY -> options BUFQ_READPRIO.
(still commented out)
- Add (also commented out) options BUFQ_PRIOCSCAN.

Suggested by perry and soda on tech-kern.
Please refer options(4) for details for these options.
 1.44 25-Feb-2005  simonb branches: 1.44.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.43 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.42 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.41 31-Jan-2005  hannken Add file system snapshots to kernel configs.

- Ffs internal snapshots get compiled in unconditionally.

- File system snapshot device fss(4) added to all kernel configs that
have a disk. Device is commented out on all non-GENERIC kernels.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
 1.40 17-Jan-2005  cube branches: 1.40.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.39 10-Nov-2004  christos branches: 1.39.4;
Add COMPAT_BSDPTY to the rest of the config files.
 1.38 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.37 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.36 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.35 26-Jun-2004  abs Add (commented out) ALTQ options to all GENERIC-like files
 1.34 22-Jun-2004  itojun have pf and pflog pseudo-device (commented out).
reviewed by matt, perry, christos
 1.33 18-Jun-2004  christos ptm is now mandatory, depends on pty, and can be disabled with -DNO_DEV_PTM
 1.32 16-Jun-2004  christos Add pseudo-device ptm on all the generic flavored kernels.
 1.31 25-Oct-2003  simonb branches: 1.31.2;
Add COMPAT_16 where missing.
Remove the unused COMPAT_15.
Comment out/remove COMPAT_* from INSTALL kernels.
 1.30 03-May-2003  wiz branches: 1.30.2;
DMA, not dma nor Dma.
 1.29 26-Apr-2003  ragge Add pseudo-device ksyms.
 1.28 10-Apr-2003  christos Bye Bye UCONSOLE
 1.27 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.26 22-Nov-2002  wiz Fix typo (responsiness -> responsiveness).
 1.25 18-Oct-2002  junyoung Add NEW_BUFQ_STRATEGY (disabled by default).
 1.24 14-Oct-2002  elric Added commented out cgd(4)s to GENERIC configs.
 1.23 06-Oct-2002  provos add SYSTRACE; approved perry.
 1.22 25-Sep-2002  martti Add one space between "#option" and "<tab>IPFILTER_DEFAULT_BLOCK"
 1.21 20-Sep-2002  martti Added (commented out) IPFILTER_DEFAULT_BLOCK.
 1.20 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.19 17-Jun-2002  lukem 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.18 25-Apr-2002  atatat branches: 1.18.2; 1.18.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.17 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.16 27-Jan-2002  jdolecek add options PIPE_SOCKETPAIR to individual kernel configs
the option is commented out on everything but kernels I was able
to recognize as INSTALL-like or ones for small memory machines
 1.15 19-Jan-2002  oster Add new RF_* options for RAIDframe bits that are no longer built by default.

While we're here, enable RAIDframe (and RAID_AUTOCONFIG) by default for
architectures that I'm comfortable can deal with it being on by default.

Also: bump the number of 'raid' devices from 4 to 8, since 4 seems to
be insufficient in practise.
 1.14 28-Dec-2001  martin Add PPPoE to all generic kernels that should be able to use it.
XXX TODO: do this for INSTALL kernels too, add sysinst support and make the
XXX needed binaries available on the ramdisk root fs.
 1.13 14-Dec-2001  gmcgarry Add a blurb to the top of all GENERIC files. This serves three purposes:
- to clarify some terminology
- to clarify the intention of the GENERIC file
- to cross-reference some useful man pages
 1.12 23-Nov-2001  atatat The bridge(4) pseudo-device no longer requires the port to
__HAVE_GENERIC_SOFT_INTERRUPTS, so add it back to all GENERIC configs.
 1.11 20-Nov-2001  lukem cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""
 1.10 20-Nov-2001  lukem - pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for options KGDB_DEVNAME="\"com\""
- use correct quotes for options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
 1.9 01-Sep-2001  atatat branches: 1.9.6;
Comment out bridge pseudo devices from ports that don't
__HAVE_GENERIC_SOFT_INTERRUPTS. bridge(4) doesn't compile there.
 1.8 01-Sep-2001  atatat Add bridge pseudo devices to GENERIC configs
 1.7 08-Jul-2001  abs branches: 1.7.2;
Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
 1.6 30-Jun-2001  darcy Add System V semaphore resource limits to each GENERIC file that has an
option for System V semaphores. It appears that there are no overrides
in the code and each file has the following added.

options SYSVSEM # System V semaphores
+#options SEMMNI=10 # number of semaphore identifiers
+#options SEMMNS=60 # number of semaphores in system
+#options SEMUME=10 # max number of undo entries per process
+#options SEMMNU=30 # number of undo structures in system
options SYSVSHM # System V shared memory

If anyone thinks that this is incorrect for any of these files, please
correct it.

Note - the i386 port was not forgotten. It was done separately.
 1.5 21-Feb-2001  wdk Document KGDB options
 1.4 19-Dec-2000  bouyer Add pseudo-device vlan
 1.3 04-Oct-2000  itojun branches: 1.3.2;
more rnd(4).
 1.2 24-Sep-2000  jdolecek don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.3.2.4 12-Mar-2001  bouyer Sync with HEAD.
 1.3.2.3 05-Jan-2001  bouyer Sync with HEAD
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 04-Oct-2000  bouyer file GENERIC was added on branch thorpej_scsipi on 2000-11-20 20:14:00 +0000
 1.7.2.6 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.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.7.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.7.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.7.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.7.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.9.6.8 11-Dec-2002  thorpej Sync with HEAD.
 1.9.6.7 11-Nov-2002  nathanw Catch up to -current
 1.9.6.6 18-Oct-2002  nathanw Catch up to -current.
 1.9.6.5 20-Jun-2002  nathanw Catch up to -current.
 1.9.6.4 17-Apr-2002  nathanw Catch up to -current.
 1.9.6.3 28-Feb-2002  nathanw Catch up to -current.
 1.9.6.2 08-Jan-2002  nathanw Catch up to -current.
 1.9.6.1 01-Sep-2001  nathanw file GENERIC was added on branch nathanw_sa on 2002-01-08 00:26:28 +0000
 1.18.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.18.4.1 01-Aug-2002  lukem Pull up revision 1.19 (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.18.2.1 14-Jul-2002  gehenna catch up with -current.
 1.30.2.10 11-Dec-2005  christos Sync with head.
 1.30.2.9 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.30.2.8 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.30.2.7 15-Feb-2005  skrll Sync with HEAD.
 1.30.2.6 04-Feb-2005  skrll Sync with HEAD.
 1.30.2.5 24-Jan-2005  skrll Sync with HEAD.
 1.30.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.30.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.30.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.30.2.1 03-Aug-2004  skrll Sync with HEAD
 1.31.2.3 15-Jul-2004  he Pull up revision 1.37 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.31.2.2 02-Jul-2004  he Pull up revision 1.36 (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.31.2.1 30-Jun-2004  jdc Pull up revision 1.35 (requested by abs in ticket #567).

Add (commented out) ALTQ options to all GENERIC-like files
 1.39.4.1 29-Apr-2005  kent sync with -current
 1.40.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.40.2.1 12-Feb-2005  yamt sync with head.
 1.44.2.2 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.44.2.1 14-Aug-2005  riz Pull up revision 1.47 (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.46.2.5 21-Jan-2008  yamt sync with head
 1.46.2.4 15-Nov-2007  yamt sync with head.
 1.46.2.3 03-Sep-2007  yamt sync with head.
 1.46.2.2 30-Dec-2006  yamt sync with head.
 1.46.2.1 21-Jun-2006  yamt sync with head.
 1.55.4.1 09-Sep-2006  rpaulo sync with head
 1.55.2.1 18-Feb-2006  yamt sync with head.
 1.56.2.1 22-Apr-2006  simonb Sync with head.
 1.58.10.1 13-Jul-2006  gdamore Merge from HEAD.
 1.58.2.2 03-Sep-2006  yamt sync with head.
 1.58.2.1 11-Aug-2006  yamt sync with head
 1.59.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.59.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.62.4.2 10-Dec-2006  yamt sync with head.
 1.62.4.1 22-Oct-2006  yamt sync with head
 1.62.2.1 18-Nov-2006  ad Sync with head.
 1.64.18.1 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.64.16.1 26-Jun-2007  garbled Sync with HEAD.
 1.64.10.1 11-Jul-2007  mjf Sync with head.
 1.64.8.2 03-Dec-2007  ad Sync with HEAD.
 1.64.8.1 09-Jun-2007  ad Sync with head.
 1.64.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.65.14.1 13-Nov-2007  bouyer Sync with HEAD
 1.65.10.2 09-Jan-2008  matt sync with HEAD
 1.65.10.1 06-Nov-2007  matt sync with HEAD
 1.65.8.1 04-Nov-2007  jmcneill Sync with HEAD.
 1.67.8.1 02-Jan-2008  bouyer Sync with HEAD
 1.67.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.68.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.68.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.68.10.3 11-Aug-2010  yamt sync with head.
 1.68.10.2 11-Mar-2010  yamt sync with head
 1.68.10.1 04-May-2009  yamt sync with head.
 1.68.8.1 04-Jun-2008  yamt sync with head
 1.68.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.68.6.2 28-Sep-2008  mjf Sync with HEAD.
 1.68.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.69.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.69.4.1 19-Oct-2008  haad 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.4.2 21-Apr-2011  rmind sync with head
 1.73.4.1 30-May-2010  rmind sync with head
 1.73.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.73.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.75.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.75.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.77.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.77.2.2 30-Oct-2012  yamt sync with head
 1.77.2.1 17-Apr-2012  yamt sync with head
 1.78.2.1 11-Mar-2012  mrg sync to latest -current
 1.79.2.4 03-Dec-2017  jdolecek update from HEAD
 1.79.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.79.2.2 23-Jun-2013  tls resync from head
 1.79.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.83.4.1 28-Aug-2013  rmind sync with head
 1.84.6.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.84.6.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.88.12.1 26-Jan-2018  martin Pull up following revision(s) (requested by sevan in ticket #510):
sys/arch/sun3/conf/GENERIC3X: revision 1.130
sys/arch/sparc64/conf/GENERIC: revision 1.203
sys/arch/news68k/conf/LIBERO: revision 1.66
sys/arch/amiga/conf/DRACO: revision 1.185
sys/arch/evbarm/conf/MV2120: revision 1.35
sys/arch/x68k/conf/GENERIC: revision 1.187
sys/arch/rs6000/conf/GENERIC: revision 1.39
sys/arch/news68k/conf/GENERIC_TINY: revision 1.86
sys/arch/i386/conf/XEN3_DOMU: revision 1.88
sys/arch/iyonix/conf/GENERIC: revision 1.97
sys/arch/evbarm64/conf/A64EMUL: revision 1.11
sys/arch/mvme68k/conf/GENERIC: revision 1.98
sys/arch/acorn32/conf/GENERIC: revision 1.124
sys/arch/i386/conf/XEN3_DOM0: revision 1.125
sys/arch/cobalt/conf/INSTALL: revision 1.65
sys/arch/macppc/conf/GENERIC_601: revision 1.16
sys/arch/hppa/conf/GENERIC: revision 1.17
sys/arch/amiga/conf/GENERIC.in: revision 1.137
sys/arch/sgimips/conf/GENERIC32_IP12: revision 1.33
sys/arch/netwinder/conf/GENERIC: revision 1.134
sys/arch/amd64/conf/XEN3_DOMU: revision 1.83
sys/arch/mac68k/conf/GENERIC: revision 1.225
sys/arch/arc/conf/RPC44: revision 1.54
sys/arch/mipsco/conf/GENERIC: revision 1.92
sys/arch/cats/conf/GENERIC: revision 1.166
sys/arch/amd64/conf/XEN3_DOM0: revision 1.145
sys/arch/amigappc/conf/GENERIC: revision 1.33
sys/arch/sun3/conf/GENERIC: revision 1.176
sys/arch/news68k/conf/GENERIC: revision 1.130
sys/arch/hpcsh/conf/GENERIC: revision 1.110
sys/arch/hp300/conf/GENERIC: revision 1.198
sys/arch/atari/conf/GENERIC.in: revision 1.115
sys/arch/sparc/conf/MRCOFFEE: revision 1.54
sys/arch/evbppc/conf/EXPLORA451: revision 1.62
sys/arch/cesfic/conf/GENERIC: revision 1.69
sys/arch/vax/conf/GENERIC: revision 1.204
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.115
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.112
sys/arch/sparc/conf/GENERIC: revision 1.258
sys/arch/next68k/conf/GENERIC: revision 1.145
sys/arch/evbarm/conf/MMNET_GENERIC: revision 1.34
sys/arch/prep/conf/GENERIC: revision 1.185
sys/arch/amiga/conf/INSTALL: revision 1.129
sys/arch/newsmips/conf/GENERIC: revision 1.133
sys/arch/cobalt/conf/GENERIC: revision 1.156
sys/arch/sun2/conf/GENERIC: revision 1.99
sys/arch/luna68k/conf/INSTALL: revision 1.25
sys/arch/amigappc/conf/NULL: revision 1.53
sys/arch/acorn26/conf/GENERIC: revision 1.85
sys/arch/vax/conf/VAX780: revision 1.25
sys/arch/luna68k/conf/GENERIC: revision 1.125
sys/arch/ews4800mips/conf/GENERIC: revision 1.56
sys/arch/macppc/conf/POWERMAC_G5: revision 1.29
sys/arch/arc/conf/GENERIC: revision 1.189
sys/arch/macppc/conf/MAMBO: revision 1.27
sys/arch/acorn32/conf/EB7500ATX: revision 1.64
sys/arch/pmax/conf/GENERIC: revision 1.196
sys/arch/pmax/conf/GENERIC64: revision 1.28
sys/arch/amiga/conf/GENERIC: revision 1.319
sys/arch/evbarm/conf/MPCSA_GENERIC: revision 1.55
sys/arch/macppc/conf/GENERIC: revision 1.339
sys/arch/emips/conf/GENERIC: revision 1.21
sys/arch/sandpoint/conf/GENERIC: revision 1.97
sys/arch/landisk/conf/GENERIC: revision 1.58
sys/arch/bebox/conf/GENERIC: revision 1.157
sys/arch/alpha/conf/GENERIC: revision 1.379
Alternate buffer queue strategies no longer considered experimental, update
description.
Discussed on tech-kern
http://mail-index.netbsd.org/tech-kern/2018/01/21/msg023002.html
 1.88.2.1 28-Aug-2017  skrll Sync with HEAD
 1.92.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.92.4.1 10-Jun-2019  christos Sync with HEAD
 1.92.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.94.4.1 25-Jan-2020  ad Sync with head.
 1.32 14-Sep-2017  mrg 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.31 28-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 1.
 1.30 23-Aug-2014  dholland branches: 1.30.2;
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.29 27-Apr-2013  christos the bogus number police
 1.28 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.27 18-Dec-2011  dholland branches: 1.27.6;
WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.26 22-Nov-2011  tls branches: 1.26.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.25 16-Apr-2010  pooka branches: 1.25.8;
Remove unused count (invariably "4") from pseudo-device fss.
 1.24 31-Jul-2008  simonb branches: 1.24.14; 1.24.16;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.23 02-Oct-2006  chs branches: 1.23.52; 1.23.56; 1.23.58; 1.23.62;
remove MALLOC_NOINLINE, it doesn't do anything anymore.
 1.22 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.21 05-Feb-2006  cube branches: 1.21.14; 1.21.16;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.20 07-Dec-2005  tsutsui branches: 1.20.2; 1.20.4; 1.20.6;
Remove obsolete options VNODE_OP_NOINLINE.
 1.19 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.18 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.17 18-Feb-2005  dsl branches: 1.17.6;
Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.16 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.15 31-Jan-2005  hannken Add file system snapshots to kernel configs.

- Ffs internal snapshots get compiled in unconditionally.

- File system snapshot device fss(4) added to all kernel configs that
have a disk. Device is commented out on all non-GENERIC kernels.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
 1.14 10-Nov-2004  christos branches: 1.14.4; 1.14.6;
Add COMPAT_BSDPTY to the rest of the config files.
 1.13 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.12 25-Oct-2003  simonb branches: 1.12.2;
Add COMPAT_16 where missing.
Remove the unused COMPAT_15.
Comment out/remove COMPAT_* from INSTALL kernels.
 1.11 06-Sep-2003  itojun add rnd(4) device to installation media.
necessary for many purposes, including password seeding, tcp sequence number,
and more. see tech-security
 1.10 03-May-2003  wiz branches: 1.10.2;
DMA, not dma nor Dma.
 1.9 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.8 05-Jul-2002  abs Ensure all INSTALL config files consistantly include PIPE_SOCKETPAIR,
MALLOC_NOINLINE, and VNODE_OP_NOINLINE. The exceptions are when they
include another config files that already defines the options, or if
they are for an embedded board, just define a few extra options, and
do not already define PIPE_SOCKETPAIR.
 1.7 25-Apr-2002  atatat branches: 1.7.2;
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.6 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.5 27-Jan-2002  jdolecek add options PIPE_SOCKETPAIR to individual kernel configs
the option is commented out on everything but kernels I was able
to recognize as INSTALL-like or ones for small memory machines
 1.4 20-Nov-2001  lukem cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""
 1.3 08-Jul-2001  abs branches: 1.3.2; 1.3.8;
Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
 1.2 02-Oct-2000  abs branches: 1.2.2;
Ensure all INSTALL* kernels have two ptys, and a note explaining why:
pseudo-device pty 2 # pseudo-terminals (Sysinst needs two)
(Some installers may not be using sysinst, in which case this just reduces
the number of ptys from 16 that are not used to 2 that are not used)
For i386 conf files, no change other than comments.
 1.1 02-Oct-2000  wdk downsized kernels for installation & recovery
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 02-Oct-2000  bouyer file INSTALL was added on branch thorpej_scsipi on 2000-11-20 20:14:00 +0000
 1.3.8.7 18-Oct-2002  nathanw Catch up to -current.
 1.3.8.6 01-Aug-2002  nathanw Catch up to -current.
 1.3.8.5 20-Jun-2002  nathanw Catch up to -current.
 1.3.8.4 17-Apr-2002  nathanw Catch up to -current.
 1.3.8.3 28-Feb-2002  nathanw Catch up to -current.
 1.3.8.2 08-Jan-2002  nathanw Catch up to -current.
 1.3.8.1 08-Jul-2001  nathanw file INSTALL was added on branch nathanw_sa on 2002-01-08 00:26:28 +0000
 1.3.2.5 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.2.4 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.3.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.3.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.7.2.1 16-Jul-2002  gehenna catch up with -current.
 1.10.2.9 11-Dec-2005  christos Sync with head.
 1.10.2.8 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.10.2.7 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.10.2.6 15-Feb-2005  skrll Sync with HEAD.
 1.10.2.5 04-Feb-2005  skrll Sync with HEAD.
 1.10.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.10.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.10.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.10.2.1 03-Aug-2004  skrll Sync with HEAD
 1.12.2.1 15-Jul-2004  he Pull up revision 1.13 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.14.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.14.6.1 12-Feb-2005  yamt sync with head.
 1.14.4.1 29-Apr-2005  kent sync with -current
 1.17.6.2 30-Dec-2006  yamt sync with head.
 1.17.6.1 21-Jun-2006  yamt sync with head.
 1.20.6.1 22-Apr-2006  simonb Sync with head.
 1.20.4.1 09-Sep-2006  rpaulo sync with head
 1.20.2.1 18-Feb-2006  yamt sync with head.
 1.21.16.1 22-Oct-2006  yamt sync with head
 1.21.14.1 18-Nov-2006  ad Sync with head.
 1.23.62.1 19-Oct-2008  haad Sync with HEAD.
 1.23.58.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.23.56.2 11-Aug-2010  yamt sync with head.
 1.23.56.1 04-May-2009  yamt sync with head.
 1.23.52.1 28-Sep-2008  mjf Sync with HEAD.
 1.24.16.1 30-May-2010  rmind sync with head
 1.24.14.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.25.8.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.25.8.1 17-Apr-2012  yamt sync with head
 1.26.2.1 18-Feb-2012  mrg merge to -current.
 1.27.6.2 03-Dec-2017  jdolecek update from HEAD
 1.27.6.1 23-Jun-2013  tls resync from head
 1.30.2.1 28-Aug-2017  skrll Sync with HEAD
 1.4 03-Dec-2000  matt Use shared Makefile.mips
 1.3 03-Oct-2000  wdk branches: 1.3.2;
Add netbsd.ecoff to list of files to cleanup. Forgot in previous commit.
 1.2 03-Oct-2000  wdk Change default kernel format from ECOFF to ELF now we can boot ELF using
libsa based bootstraps. This is now the prefered format.

ECOFF format kernel renamed to netbsd.ecoff - still required for network
booting.
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.3.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 03-Oct-2000  bouyer file Makefile.mipsco was added on branch thorpej_scsipi on 2000-11-20 20:14:00 +0000
 1.7 01-Jan-2019  christos ELF2ECOFF -> MIPS_ELF2ECOFF
 1.6 15-Nov-2002  wdk branches: 1.6.12; 1.6.194; 1.6.196;
Be toolchain friendly and use nbmips-elf2ecoff
 1.5 19-Mar-2002  atatat Remove a comment that is wrong
 1.4 07-Jan-2002  thorpej Fix typo.
 1.3 09-Dec-2001  atatat Roll the rest of the ports over to the new MI kernel build machinery.
Any problems reported by testers have been fixed, and massive
cross-compiling of kernels has shown that any problems that remain
with actually building kernels are not related to this.
 1.2 22-Jan-2001  wdk branches: 1.2.4; 1.2.8;
Use custom linker script for building ECOFF kernel images. The PROM loader
is fussy about the order of sections and location of memory gaps so we
must produce a firmware friendly version of the kernel as netbsd.ecoff for
network booting

The ELF version uses the standard mips linker script which can be loaded
by the new bootstrap routines
 1.1 03-Dec-2000  matt branches: 1.1.2;
Use shared Makefile.mips
 1.1.2.3 11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.2 08-Dec-2000  bouyer Sync with HEAD.
 1.1.2.1 03-Dec-2000  bouyer file Makefile.mipsco.inc was added on branch thorpej_scsipi on 2000-12-08 09:28:23 +0000
 1.2.8.5 11-Dec-2002  thorpej Sync with HEAD.
 1.2.8.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.8.3 28-Feb-2002  nathanw Catch up to -current.
 1.2.8.2 11-Jan-2002  nathanw More catchup.
 1.2.8.1 08-Jan-2002  nathanw Catch up to -current.
 1.2.4.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.6.196.1 10-Jun-2019  christos Sync with HEAD
 1.6.194.1 18-Jan-2019  pgoyette Synch with HEAD
 1.6.12.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.7 17-Apr-2025  christos bump
 1.6 16-Apr-2025  christos bump
 1.5 23-Nov-2010  hannken branches: 1.5.96;
Remove unused count from pseudo-device md.
 1.4 06-Feb-2009  jym branches: 1.4.6;
Changes to MEMORY_RBFLAGS option:
- renamed to MEMORY_DISK_RBFLAGS to better fit the rest of the
MEMORY_DISK options(4)
- change default value to RB_AUTOBOOT instead of RB_SINGLE, and adapt
the config(5) files accordingly
- document this option inside options(4)

See also http://mail-index.netbsd.org/tech-kern/2008/12/25/msg003924.html

Reviewed by abs@ in private mail.
 1.3 02-Apr-2002  lukem branches: 1.3.116; 1.3.124;
Rename MEMORY_DISK_SIZE (formerly MINIROOTSIZE) to MEMORY_DISK_ROOT_SIZE,
which was suggested by Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> as
being more consistent with what it's controlling...
 1.2 10-Mar-2002  lukem * rename MINIROOTSIZE to MEMORY_DISK_SIZE, so that all md(4) options
are now consistently named
* fold opt_mdsize.h into opt_md.h
 1.1 02-Oct-2000  wdk branches: 1.1.2; 1.1.6; 1.1.10;
downsized kernels for installation & recovery
 1.1.10.2 17-Apr-2002  nathanw Catch up to -current.
 1.1.10.1 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.6.1 16-Mar-2002  jdolecek Catch up with -current.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 02-Oct-2000  bouyer file RAMDISK was added on branch thorpej_scsipi on 2000-11-20 20:14:00 +0000
 1.3.124.1 03-Mar-2009  skrll Sync with HEAD.
 1.3.116.1 04-May-2009  yamt sync with head.
 1.4.6.1 05-Mar-2011  rmind sync with head
 1.5.96.1 02-Aug-2025  perseant Sync with HEAD
 1.51 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.50 01-Aug-2018  maxv branches: 1.50.6;
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.49 14-Sep-2017  mrg branches: 1.49.2; 1.49.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.48 28-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 1.
 1.47 23-Aug-2014  dholland branches: 1.47.2;
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.46 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.45 05-Jun-2013  christos branches: 1.45.2;
remove obsolete networking options
 1.44 27-Apr-2013  christos the bogus number police
 1.43 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.42 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.41 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.40 30-Jun-2011  wiz branches: 1.40.2; 1.40.12;
dependant -> dependent
 1.39 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.38 16-Apr-2010  pooka branches: 1.38.2; 1.38.4;
Remove unused count (invariably "4") from pseudo-device fss.
 1.37 05-Dec-2009  pooka branches: 1.37.2; 1.37.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.36 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.35 12-Nov-2008  ad branches: 1.35.4;
Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.34 30-May-2008  tsutsui branches: 1.34.4; 1.34.6;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.33 27-Sep-2006  manu branches: 1.33.52; 1.33.54; 1.33.56; 1.33.58;
- 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.32 26-Aug-2006  christos branches: 1.32.2; 1.32.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.31 28-Mar-2006  pavel Add stf to all kernel configs which have INET6 and gif, except the INSTALL
ones and those for specific machines of developers. PR 32304.

OK'ed by rpaulo.

N.B. stf is a cloning device, so it still must be enabled by
"ifconfig stf0 create".
 1.30 05-Feb-2006  cube branches: 1.30.2; 1.30.4; 1.30.6;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.29 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.28 07-Dec-2005  tsutsui branches: 1.28.2; 1.28.4; 1.28.6;
Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.27 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.26 19-Aug-2005  christos 64 bit inode changes.
 1.25 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.24 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.23 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.22 25-Feb-2005  simonb branches: 1.22.2; 1.22.4;
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.21 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.20 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.19 31-Jan-2005  hannken Add file system snapshots to kernel configs.

- Ffs internal snapshots get compiled in unconditionally.

- File system snapshot device fss(4) added to all kernel configs that
have a disk. Device is commented out on all non-GENERIC kernels.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
 1.18 10-Nov-2004  christos branches: 1.18.4; 1.18.6;
Add COMPAT_BSDPTY to the rest of the config files.
 1.17 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.16 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.15 25-Oct-2003  simonb branches: 1.15.2;
Add COMPAT_16 where missing.
Remove the unused COMPAT_15.
Comment out/remove COMPAT_* from INSTALL kernels.
 1.14 03-May-2003  wiz branches: 1.14.2;
DMA, not dma nor Dma.
 1.13 10-Apr-2003  christos Bye Bye UCONSOLE
 1.12 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.11 17-Jun-2002  lukem 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.10 25-Apr-2002  atatat branches: 1.10.2; 1.10.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.9 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.8 27-Jan-2002  jdolecek add options PIPE_SOCKETPAIR to individual kernel configs
the option is commented out on everything but kernels I was able
to recognize as INSTALL-like or ones for small memory machines
 1.7 20-Nov-2001  lukem cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""
 1.6 20-Nov-2001  lukem - pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for options KGDB_DEVNAME="\"com\""
- use correct quotes for options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
 1.5 08-Jul-2001  abs branches: 1.5.2; 1.5.8;
Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
 1.4 30-Mar-2001  wdk Add some ISA bus cards
 1.3 24-Sep-2000  jdolecek branches: 1.3.2; 1.3.4;
don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
 1.2 16-Sep-2000  wdk * Add INET6 and IPSEC support.
* Enable vnd driver for creating a working miniroot.
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.3.4.1 09-Apr-2001  nathanw Catch up with -current.
 1.3.2.3 21-Apr-2001  bouyer Sync with HEAD
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 24-Sep-2000  bouyer file RC3230 was added on branch thorpej_scsipi on 2000-11-20 20:14:00 +0000
 1.5.8.6 18-Oct-2002  nathanw Catch up to -current.
 1.5.8.5 20-Jun-2002  nathanw Catch up to -current.
 1.5.8.4 17-Apr-2002  nathanw Catch up to -current.
 1.5.8.3 28-Feb-2002  nathanw Catch up to -current.
 1.5.8.2 08-Jan-2002  nathanw Catch up to -current.
 1.5.8.1 08-Jul-2001  nathanw file RC3230 was added on branch nathanw_sa on 2002-01-08 00:26:28 +0000
 1.5.2.5 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.5.2.4 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.5.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.5.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.5.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.10.4.1 01-Aug-2002  lukem Pull up revision 1.11 (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.10.2.1 14-Jul-2002  gehenna catch up with -current.
 1.14.2.9 11-Dec-2005  christos Sync with head.
 1.14.2.8 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.14.2.7 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.14.2.6 15-Feb-2005  skrll Sync with HEAD.
 1.14.2.5 04-Feb-2005  skrll Sync with HEAD.
 1.14.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.14.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.14.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.14.2.1 03-Aug-2004  skrll Sync with HEAD
 1.15.2.1 15-Jul-2004  he Pull up revision 1.16 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.18.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.18.6.1 12-Feb-2005  yamt sync with head.
 1.18.4.1 29-Apr-2005  kent sync with -current
 1.22.4.2 30-Dec-2006  yamt sync with head.
 1.22.4.1 21-Jun-2006  yamt sync with head.
 1.22.2.1 18-Jul-2005  riz Pull up revision 1.23 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.28.6.1 22-Apr-2006  simonb Sync with head.
 1.28.4.1 09-Sep-2006  rpaulo sync with head
 1.28.2.1 18-Feb-2006  yamt sync with head.
 1.30.6.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.30.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.30.2.2 03-Sep-2006  yamt sync with head.
 1.30.2.1 01-Apr-2006  yamt sync with head.
 1.32.4.1 22-Oct-2006  yamt sync with head
 1.32.2.1 18-Nov-2006  ad Sync with head.
 1.33.58.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.33.56.3 11-Aug-2010  yamt sync with head.
 1.33.56.2 11-Mar-2010  yamt sync with head
 1.33.56.1 04-May-2009  yamt sync with head.
 1.33.54.1 04-Jun-2008  yamt sync with head
 1.33.52.2 17-Jan-2009  mjf Sync with HEAD.
 1.33.52.1 02-Jun-2008  mjf Sync with HEAD.
 1.34.6.2 28-Apr-2009  skrll Sync with HEAD.
 1.34.6.1 19-Jan-2009  skrll Sync with HEAD.
 1.34.4.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.35.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.37.4.2 21-Apr-2011  rmind sync with head
 1.37.4.1 30-May-2010  rmind sync with head
 1.37.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.38.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.38.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.40.12.3 03-Dec-2017  jdolecek update from HEAD
 1.40.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.40.12.1 23-Jun-2013  tls resync from head
 1.40.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.45.2.1 28-Aug-2013  rmind sync with head
 1.47.2.1 28-Aug-2017  skrll Sync with HEAD
 1.49.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.49.4.1 10-Jun-2019  christos Sync with HEAD
 1.49.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.50.6.1 25-Jan-2020  ad Sync with head.
 1.15 02-Oct-2012  christos move common/bus_dma/ -> dev/bus_dma/
 1.14 21-Aug-2009  thorpej branches: 1.14.12; 1.14.22;
Use bus_dmamem_common.
 1.13 01-Sep-2006  cube branches: 1.13.60;
Device isabus has to expose an interface attribute otherwise it can't have
children attaching and config(1) detects isa0 as orphaned in RC3230.

While turning isabus into an interface attribute doesn't work (because the
attribute 'isabus' already exists), depending on that very same attribute
works.

XXX I wonder what to allow, what to disallow. I'll think about it.
 1.12 11-Dec-2005  christos branches: 1.12.4; 1.12.8;
merge ktrace-lwp.
 1.11 27-Jul-2003  thorpej branches: 1.11.16;
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.10 26-Oct-2002  jdolecek branches: 1.10.6;
now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies
 1.9 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.8 13-Mar-2002  simonb branches: 1.8.4;
All the mips ports had an identical procfs_machdep.c, so use a common
file under arch/mips/mips.
 1.7 30-Mar-2001  wdk branches: 1.7.2; 1.7.8;
Add files for ISA bus and softintr support
 1.6 21-Feb-2001  wdk branches: 1.6.2;
Add zs_kgdb.c driver
 1.5 17-Jan-2001  fvdl Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.
 1.4 03-Oct-2000  wdk branches: 1.4.2;
Switch to MI md_root.c
 1.3 29-Sep-2000  wdk Add kernel support for memory disks
 1.2 19-Aug-2000  wdk - Add support for calling most prom firmware functions

- Using the prom getenv function determine the correct console port

- Remove old prom function hooks

- Tidy up bootflags (remove upper case names, fixup RB_ASKNAME) as
recommended by Jarom�r Dole�ek
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.4.2.5 21-Apr-2001  bouyer Sync with HEAD
 1.4.2.4 12-Mar-2001  bouyer Sync with HEAD.
 1.4.2.3 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.4.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.2.1 03-Oct-2000  bouyer file files.mipsco was added on branch thorpej_scsipi on 2000-11-20 20:14:01 +0000
 1.6.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.7.8.4 11-Nov-2002  nathanw Catch up to -current
 1.7.8.3 17-Sep-2002  nathanw Catch up to -current.
 1.7.8.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.7.8.1 30-Mar-2001  nathanw file files.mipsco was added on branch nathanw_sa on 2002-04-01 07:41:16 +0000
 1.7.2.2 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.7.2.1 16-Mar-2002  jdolecek Catch up with -current.
 1.8.4.2 17-May-2002  gehenna Remove old block majors list.
 1.8.4.1 16-May-2002  gehenna Include the list of block/character major numbers.
 1.10.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.10.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.10.6.1 03-Aug-2004  skrll Sync with HEAD
 1.11.16.1 30-Dec-2006  yamt sync with head.
 1.12.8.1 03-Sep-2006  yamt sync with head.
 1.12.4.1 09-Sep-2006  rpaulo sync with head
 1.13.60.1 16-Sep-2009  yamt sync with head
 1.14.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.14.12.1 30-Oct-2012  yamt sync with head
 1.2 15-Nov-2002  wdk No longer required - now using standard kern.ldscript from sys/arch/mips
 1.1 12-Aug-2000  wdk branches: 1.1.2; 1.1.10;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.10.1 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file kern.ldscript was added on branch thorpej_scsipi on 2000-11-20 20:14:01 +0000
 1.22 04-Apr-2020  jdolecek mark nsmb major obsolete
 1.21 28-Jan-2019  dholland Systematize handling of removed drivers.

- Every driver that was removed and whose number hasn't already been
reused is now listed with a commented-out "obsolete" line.
- The format of these has been systematized. Future format changes can
probably be safely done with a script.
- This does not include a few cases of assignments that only lasted a
couple days, or stuff from before major reorgs. Some of these may
be included nonetheless, because there was a lot of ground to cover
and therefore not a lot of time to dig into history in detail.

Note that the obsolete listings do not mean the major numbers can
never be reused; that's up to portmasters and/or core. It does mean
that they won't be reused by accident, however, which in some cases
(depending on the driver, how widely used it was, its family of device
nodes, their default permissions, etc.) can be quite dangerous.

Note that some of the things now explicitly listed as obsolete are
really ancient history. My scan went back as far as when the majors
files were added. (But not before that.)
 1.20 30-Jun-2011  wiz branches: 1.20.54;
dependant -> dependent
 1.19 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.18 31-Dec-2007  ad branches: 1.18.6; 1.18.10; 1.18.16; 1.18.18;
Remove systrace. Ok core@.
 1.17 24-Nov-2006  wiz branches: 1.17.28; 1.17.34; 1.17.42;
s/independant/independent/, from Zafer.
 1.16 11-Dec-2005  christos branches: 1.16.20; 1.16.22;
merge ktrace-lwp.
 1.15 17-Sep-2005  yamt make VMSWAP optional again.
 1.14 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.13 30-Jul-2005  yamt defflag VMSWAP.
 1.12 10-May-2005  jdolecek branches: 1.12.2;
assign major for nsmb(4)
 1.11 10-Dec-2003  jmc Change reference at bottom from sys/dev/majors to sys/conf/majors to match
reality
 1.10 25-Oct-2003  jdolecek add majors for ses
 1.9 10-Oct-2003  jdolecek reassing majors for crypto and pf to use the newly defined MI major
range
 1.8 10-Oct-2003  jdolecek update the comment - the space for machine-dependant majors
is reduced to 0-143
follows discussion on tech-kern
 1.7 05-Oct-2003  jdolecek Add some framework for MI assignment of device majors - add sys/dev/majors
which is automatically included during kernel config, and add comments
to individual machine-dependant majors.* files to assign new MI majors
in MI file.

Range 0-191 is reserved for machine-specific assignments, range
192+ are MI assignments.

Follows recent discussion on tech-kern@
 1.6 22-Aug-2003  itojun create /dev/crypto
 1.5 27-Jul-2003  itojun reserve cdev major # for PF. ok'ed by technical-exec
 1.4 25-Apr-2003  ragge branches: 1.4.2;
Add ksyms device major.
 1.3 04-Oct-2002  elric branches: 1.3.2;
assign majors for raw and cooked cgd's.
 1.2 06-Sep-2002  gehenna branches: 1.2.2;
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 16-May-2002  gehenna branches: 1.1.2;
file majors.mipsco was initially added on branch gehenna-devsw.
 1.1.2.3 14-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.2.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.2.2.2 17-Sep-2002  nathanw Catch up to -current.
 1.2.2.1 06-Sep-2002  nathanw file majors.mipsco was added on branch nathanw_sa on 2002-09-17 21:15:54 +0000
 1.3.2.2 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.3.2.1 04-Oct-2002  jdolecek file majors.mipsco was added on branch kqueue on 2002-10-10 18:34:10 +0000
 1.4.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.2.1 03-Aug-2004  skrll Sync with HEAD
 1.12.2.3 21-Jan-2008  yamt sync with head
 1.12.2.2 30-Dec-2006  yamt sync with head.
 1.12.2.1 21-Jun-2006  yamt sync with head.
 1.16.22.1 10-Dec-2006  yamt sync with head.
 1.16.20.1 12-Jan-2007  ad Sync with head.
 1.17.42.1 02-Jan-2008  bouyer Sync with HEAD
 1.17.34.1 18-Feb-2008  mjf Sync with HEAD.
 1.17.28.1 09-Jan-2008  matt sync with HEAD
 1.18.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.18.16.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.18.10.1 04-May-2009  yamt sync with head.
 1.18.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.20.54.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.20.54.1 10-Jun-2019  christos Sync with HEAD
 1.6 23-Apr-2021  simonb Merge the .text.* sections into the .text section on MIPS, SPARC and
SPARC64 as is done on all other ports. Mostly costmetic, but does mean
that main() now appears before the _etext symbol instead of after it.
 1.5 20-Aug-2015  uebayasi Indent with 2 spaces.
 1.4 11-Dec-2005  christos branches: 1.4.122; 1.4.142;
merge ktrace-lwp.
 1.3 20-Jan-2005  he Convert to using elf32-tradbigmips and elf32-tradlittlemips as output
formats, now that the toolchain has been converted to using those.
 1.2 04-Dec-2001  wiz branches: 1.2.16; 1.2.24;
Replace some misuses of "then" with "than".
 1.1 18-Sep-2000  wdk branches: 1.1.2; 1.1.6; 1.1.10;
Linker script for building first stage bootstrap. Due to bugs/limitations
in the MIPS prom loader we have to be very careful how the sections are
ordered and the number of sections defined. For this reason the standard
linker scripts cannot be used.

The exact rules don't appear to be documented and a little experimentation
is required.
 1.1.10.1 08-Jan-2002  nathanw Catch up to -current.
 1.1.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 18-Sep-2000  bouyer file stand.ldscript was added on branch thorpej_scsipi on 2000-11-20 20:14:01 +0000
 1.2.24.1 29-Apr-2005  kent sync with -current
 1.2.16.1 24-Jan-2005  skrll Sync with HEAD.
 1.4.142.1 22-Sep-2015  skrll Sync with HEAD
 1.4.122.1 03-Dec-2017  jdolecek update from HEAD
 1.11 11-Dec-2005  christos merge ktrace-lwp.
 1.10 17-Sep-2005  yamt include "conf/std".
 1.9 30-Aug-2003  chs branches: 1.9.16;
add "makeoptions MACHINE_ARCH=..." in std.* for mips ports
where it is constant (to ease cross-building).
 1.8 09-Dec-2002  simonb branches: 1.8.6;
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.7 09-Dec-2001  atatat Roll the rest of the ports over to the new MI kernel build machinery.
Any problems reported by testers have been fixed, and massive
cross-compiling of kernels has shown that any problems that remain
with actually building kernels are not related to this.
 1.6 20-Nov-2001  lukem cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""
 1.5 23-Oct-2001  thorpej branches: 1.5.4;
For MIPS kernel Makefiles, don't set ENDIAN in std.${MACHINE}. Instead,
explicitly set MACHINE_ARCH to the appropriate thing. Makefile.mips will
then set all of the internal variables it needs to accordingly.
 1.4 03-Dec-2000  matt branches: 1.4.4;
Revert back to a machinearch (really cputype) of mips. Put ENDIAN back.
 1.3 03-Dec-2000  matt Change arch from mips to mipsel/mipseb as appropriate. Nuke the ENDIAN
makeoption. Key off MACHINE_ARCH for adding -EB/-EL to CFLAGS/AFLAGS/LD/
LINKFLAGS.
 1.2 03-Dec-2000  matt Use shared Makefile.mips
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file std.mipsco was added on branch thorpej_scsipi on 2000-11-20 20:14:01 +0000
 1.4.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.5.4.3 11-Dec-2002  thorpej Sync with HEAD.
 1.5.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.5.4.1 23-Oct-2001  nathanw file std.mipsco was added on branch nathanw_sa on 2002-01-08 00:26:29 +0000
 1.8.6.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.8.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.8.6.1 03-Aug-2004  skrll Sync with HEAD
 1.9.16.1 21-Jun-2006  yamt sync with head.
 1.25 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.24 12-Jul-2018  maxv branches: 1.24.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.23 21-Dec-2015  christos branches: 1.23.16; 1.23.18;
Add mips fenv.h (From FreeBSD)
 1.22 19-Jul-2014  alnsn branches: 1.22.4;
Sljit doesn't support MIPS I. Make sljitarch.h obsolete.
 1.21 25-Nov-2012  alnsn branches: 1.21.10;
Add sljitarch.h to all mips machines.
 1.20 17-Jul-2011  joerg branches: 1.20.2; 1.20.12;
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.19 12-Aug-2009  matt Nuke a.out support for MIPS.
 1.18 09-Feb-2007  ad branches: 1.18.48;
Merge newlock2 to head.
 1.17 26-Jul-2006  drochner branches: 1.17.4;
don't install <machine/db_machdep.h>, this is kernel only
 1.16 11-Dec-2005  christos branches: 1.16.4; 1.16.8;
merge ktrace-lwp.
 1.15 08-May-2004  kleink branches: 1.15.12;
Factor out W{CHAR,INT}_{MAX,MIN} into their own header file.
 1.14 17-Jan-2003  thorpej branches: 1.14.2;
Merge the nathanw_sa branch.
 1.13 26-Nov-2002  lukem Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more.
 1.12 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.11 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.10 15-Apr-2001  kleink branches: 1.10.2; 1.10.8; 1.10.16;
Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.9 15-Apr-2001  kleink Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.8 14-Apr-2001  kleink Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
 1.7 14-Apr-2001  kleink Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.6 31-Mar-2001  wdk Reverse previous commit - isa headers don't belong in /usr/include
 1.5 30-Mar-2001  wdk Add isa_machdep.h and isapnp_machdep.h
 1.4 27-Sep-2000  wdk branches: 1.4.2; 1.4.4;
Backout previous commit.
loadfile_machdep.h doesn't belong in /usr/include/machine

Pointed out by Simon Burge
 1.3 26-Sep-2000  wdk Add stand directory to build process
 1.2 11-Sep-2000  nisimura Needs to have machine/asm.h for userland applications.
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.4.4.2 21-Jun-2001  nathanw Catch up to -current.
 1.4.4.1 09-Apr-2001  nathanw Catch up with -current.
 1.4.2.3 21-Apr-2001  bouyer Sync with HEAD
 1.4.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.2.1 27-Sep-2000  bouyer file Makefile was added on branch thorpej_scsipi on 2000-11-20 20:14:01 +0000
 1.10.16.2 31-Aug-2002  gehenna catch up with -current.
 1.10.16.1 19-May-2002  gehenna Remove port-dependent conf.h.
 1.10.8.5 11-Dec-2002  thorpej Sync with HEAD.
 1.10.8.4 17-Sep-2002  nathanw Catch up to -current.
 1.10.8.3 13-Aug-2002  nathanw Catch up to -current.
 1.10.8.2 17-Nov-2001  wdk mcontext support for MIPS based ports.
 1.10.8.1 15-Apr-2001  wdk file Makefile was added on branch nathanw_sa on 2001-11-17 23:12:09 +0000
 1.10.2.2 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.10.2.1 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.14.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.14.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.14.2.1 03-Aug-2004  skrll Sync with HEAD
 1.15.12.2 26-Feb-2007  yamt sync with head.
 1.15.12.1 30-Dec-2006  yamt sync with head.
 1.16.8.1 11-Aug-2006  yamt sync with head
 1.16.4.1 09-Sep-2006  rpaulo sync with head
 1.17.4.1 01-Feb-2007  ad Header file cleanup.
 1.18.48.1 19-Aug-2009  yamt sync with head.
 1.20.12.3 03-Dec-2017  jdolecek update from HEAD
 1.20.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.20.12.1 25-Feb-2013  tls resync with head
 1.20.2.1 16-Jan-2013  yamt sync with (a bit old) head
 1.21.10.1 10-Aug-2014  tls Rebase.
 1.22.4.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.23.18.1 10-Jun-2019  christos Sync with HEAD
 1.23.16.1 28-Jul-2018  pgoyette Sync with HEAD
 1.24.36.1 02-Aug-2025  perseant Sync with HEAD
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file ansi.h was added on branch thorpej_scsipi on 2000-11-20 20:14:01 +0000
 1.2 12-Aug-2009  matt Nuke a.out support for MIPS.
 1.1 12-Aug-2000  wdk branches: 1.1.2; 1.1.132; 1.1.146;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.146.1 24-Oct-2010  jym Sync with HEAD
 1.1.132.1 19-Aug-2009  yamt sync with head.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file aout_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:14:02 +0000
 1.1 11-Sep-2000  nisimura branches: 1.1.2;
Needs to have machine/asm.h for userland applications.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 11-Sep-2000  bouyer file asm.h was added on branch thorpej_scsipi on 2000-11-20 20:14:02 +0000
 1.7 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.6 11-Dec-2005  christos branches: 1.6.78; 1.6.86; 1.6.92;
merge ktrace-lwp.
 1.5 14-Dec-2004  chs use the generated macros in locators.h rather than hard-coded numbers
to index the cf_loc[] array. reviewed by allen briggs.
 1.4 22-Mar-2003  simonb branches: 1.4.2;
Fix a grammatical nit.
 1.3 16-Aug-2000  wdk branches: 1.3.2;
Parse bootflags and attempt to find the root device from the boot command line
 1.2 15-Aug-2000  wdk * Tidy up interrupt handlers by implementing an intr_establish()
handler to hook up device interrupts and softc callbacks.

Suggested by: Jason Thorpe and Toru Nishimura

* Fixup the indenting in a few places to conform to NetBSD style
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 16-Aug-2000  bouyer file autoconf.h was added on branch thorpej_scsipi on 2000-11-20 20:14:02 +0000
 1.4.2.1 18-Dec-2004  skrll Sync with HEAD.
 1.6.92.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.6.86.1 28-Apr-2009  skrll Sync with HEAD.
 1.6.78.1 04-May-2009  yamt sync with head.
 1.4 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.3 11-Dec-2005  christos branches: 1.3.78; 1.3.86; 1.3.92;
merge ktrace-lwp.
 1.2 24-Mar-2004  drochner remove license clauses 3 and 4 from my cpoyright notices
 1.1 16-Sep-2000  wdk branches: 1.1.2; 1.1.26;
Add support for bootinfo structure to be passed from 2nd stage bootstrap.
Pass symbol table information to DDB if available.
 1.1.26.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.26.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.26.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 16-Sep-2000  bouyer file bootinfo.h was added on branch thorpej_scsipi on 2000-11-20 20:14:02 +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.3 12-Aug-2009  matt Nuke a.out support for MIPS.
 1.2 04-Sep-2001  simonb branches: 1.2.6; 1.2.128; 1.2.142;
Remove comment duplicated in <mips/bsd-aout.h>.
 1.1 12-Aug-2000  wdk branches: 1.1.2; 1.1.6;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.6.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file bsd-aout.h was added on branch thorpej_scsipi on 2000-11-20 20:14:02 +0000
 1.2.142.1 24-Oct-2010  jym Sync with HEAD
 1.2.128.1 19-Aug-2009  yamt sync with head.
 1.2.6.2 04-Sep-2001  simonb Remove comment duplicated in <mips/bsd-aout.h>.
 1.2.6.1 04-Sep-2001  simonb file bsd-aout.h was added on branch nathanw_sa on 2001-09-04 07:36:12 +0000
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file bswap.h was added on branch thorpej_scsipi on 2000-11-20 20:14:02 +0000
 1.28 27-Apr-2025  tsutsui Use proper uintNN_t integer types.
 1.27 26-Apr-2025  tsutsui Unbreak bus_dmamem_map for mipsco.

Patch is sent from Miod Vallat:
> The switch to common code in 2009 did not account for private fields in
> bus_dma_segment_t, which are now left uninitialized but were relied upon
> by bus_dmamem_map().
>
> Remove these fields as their values were trivial to compute from the MI
> fields.
>
> This gives Ethernet and SCSI a chance to work again on this platform.

"switch to common code in 2009" was the following commit:
https://mail-index.netbsd.org/source-changes/2009/08/21/msg224405.html

We should eventually switch to the common mips bus_dma and it still
requires private _ds_vaddr for VIPT cache in MIPS3 case, but for now
his priority is to unbreak the code before attempting to improve it.

Note it looks the private _ds_paddr for mipsco was also pulled from
NetBSD/arc, where DMA address != physical address on jazzio devices.
 1.26 20-Jul-2024  andvar fix typos in comments, mainly s/harware/hardware/.
 1.25 08-Dec-2023  thorpej branches: 1.25.2;
Excise extent(9) from the mipsco bus_space -- it was completely unused,
so let's make the code smaller.
 1.24 08-Oct-2023  andvar Update __BS_TYPENAME(BITS) macro to combine uint type instead of u_int.
Constify bus_space_write_multi one of params.
Remove unused ic_intr property from mipsco_isa_chipset struct.
Add __INTR_PRIVATE definition to mipsco isa_machdep.c.

Fixes RC3230 mipsco kernel config (w/o KGDB option, will be addressed later).
 1.23 23-Apr-2021  skrll branches: 1.23.16;
Use sys/cdefs.h __CONCAT3
 1.22 23-Sep-2019  skrll Provide PRIxBUSADDR, PRIxBUSSIZE, PRIuBUSSIZE, and PRIxBSH for all arches
to follow arm and (generic) mips.

Reviewed by christos.
 1.21 12-Feb-2012  matt branches: 1.21.48;
Change old-style function defintions to C89 prototypes.

Approved by releng.
 1.20 14-Mar-2009  dsl branches: 1.20.12; 1.20.16;
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.19 28-Apr-2008  martin branches: 1.19.8; 1.19.14;
Remove clause 3 and 4 from TNF licenses
 1.18 04-Mar-2007  christos branches: 1.18.40; 1.18.42; 1.18.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.17 21-Feb-2007  mrg add a pair of new bus_dma(9) functions:
int _bus_dmatag_subregion(bus_dma_tag_t tag,
bus_addr_t min_addr,
bus_addr_t max_addr,
bus_dma_tag_t *newtag,
int flags)
void _bus_dmatag_destroy(bus_dma_tag_t tag)

that allow a (normally broken/limited) device to restrict the bus address
range it can talk to. this is used by bce(4) to limit DMA addresses to
1GB range, the maximum the chip can address.

all this is from Yorick Hardy <yhardy@uj.ac.za> with input from several
people on tech-kern.

XXX: bus_dma(9) needs an update still.
 1.16 26-May-2006  tsutsui branches: 1.16.12;
Tweak bus_space_barrier(9) macro to appease
"left-hand operand of comma expression has no effect"
warnings by gcc4.
 1.15 16-Feb-2006  perry branches: 1.15.2; 1.15.8;
Change "inline" back to "__inline" in .h files -- C99 is still too
new, and some apps compile things in C89 mode. C89 keywords stay.

As per core@.
 1.14 24-Dec-2005  perry branches: 1.14.2; 1.14.4; 1.14.6;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.13 11-Dec-2005  christos merge ktrace-lwp.
 1.12 09-Mar-2005  matt branches: 1.12.4;
Add a dm_maxsegsz public member to bus_dmamap_t. This allows a user of the API
to select the maximum segment size for each bus_dmamap_load (up to the maxsegsz
supplied to bus_dmamap_create). dm_maxsegsz is reset to the value supplied to
bus_dmamap_create when the dmamap is unloaded.
 1.11 15-Jun-2003  fvdl branches: 1.11.2; 1.11.10; 1.11.12;
Handle 64bit DMA addresses on PCI for platforms that can (currently only
enabled on amd64). Add a dmat64 field to various PCI attach structures,
and pass it down where needed. Implement a simple new function called
pci_dma64_available(pa) to test if 64bit DMA addresses may be used.
This returns 1 iff _PCI_HAVE_DMA64 is defined in <machine/pci_machdep.h>,
and there is more than 4G of memory.
 1.10 28-Jan-2003  kent Introduce BUS_DMA_NOCACHE, and bus_dmamem_map() of i386 supports it.
 1.9 17-Mar-2002  simonb Make sure that private DMA flags don't overlap with standard DMA flags;
start these at 0x10000 to leave room for an increase in the latter.
 1.8 14-Nov-2001  thorpej branches: 1.8.2;
Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
 1.7 15-Sep-2001  wdk branches: 1.7.2;
bus_space_mmap support based on -arc implementation
 1.6 19-Jul-2001  thorpej branches: 1.6.2;
Add BUS_DMA_READ and BUS_DMA_WRITE flags, that hint the back-end
at dmamap load time that the mapping will be used for a unidirectional
transfer of the specified direction.
 1.5 30-Mar-2001  wdk branches: 1.5.2;
Re-implement bus_space(9) functions:
- Correctly handle striding of data
- Better support for endian neutral access
- Correctly implement _stream variants of bus_space functions that can
byte swap. This reverses the automatic byte swapping done in hardware
for 16 bit ISA bus cards
 1.4 07-Mar-2001  thorpej Add the BUS_DMA_STREAMING flag.
 1.3 04-Sep-2000  wdk branches: 1.3.2; 1.3.4;
Add wbflush() to bus_space_{write_multi,write_region,set_region,copy_region}
functions
 1.2 15-Aug-2000  wdk * Tidy up interrupt handlers by implementing an intr_establish()
handler to hook up device interrupts and softc callbacks.

Suggested by: Jason Thorpe and Toru Nishimura

* Fixup the indenting in a few places to conform to NetBSD style
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.3.4.1 09-Apr-2001  nathanw Catch up with -current.
 1.3.2.4 21-Apr-2001  bouyer Sync with HEAD
 1.3.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 04-Sep-2000  bouyer file bus.h was added on branch thorpej_scsipi on 2000-11-20 20:14:02 +0000
 1.5.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.5.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.5.2.1 03-Aug-2001  lukem update to -current
 1.6.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.7.2.1 13-Nov-2001  thorpej Make the mipsco port compile with the thorpej-mips-cache branch.
 1.8.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.8.2.1 14-Nov-2001  nathanw file bus.h was added on branch nathanw_sa on 2002-04-01 07:41:16 +0000
 1.11.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.11.10.1 29-Apr-2005  kent sync with -current
 1.11.2.1 01-Apr-2005  skrll Sync with HEAD.
 1.12.4.3 03-Sep-2007  yamt sync with head.
 1.12.4.2 26-Feb-2007  yamt sync with head.
 1.12.4.1 21-Jun-2006  yamt sync with head.
 1.14.6.2 01-Jun-2006  kardel Sync with head.
 1.14.6.1 22-Apr-2006  simonb Sync with head.
 1.14.4.1 09-Sep-2006  rpaulo sync with head
 1.14.2.1 18-Feb-2006  yamt sync with head.
 1.15.8.1 19-Jun-2006  chap Sync with head.
 1.15.2.1 26-Jun-2006  yamt sync with head.
 1.16.12.2 12-Mar-2007  rmind Sync with HEAD.
 1.16.12.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.18.44.2 04-May-2009  yamt sync with head.
 1.18.44.1 16-May-2008  yamt sync with head.
 1.18.42.1 18-May-2008  yamt sync with head.
 1.18.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.19.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.19.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.20.16.1 18-Feb-2012  mrg merge to -current.
 1.20.12.1 17-Apr-2012  yamt sync with head
 1.21.48.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.23.16.1 09-May-2025  martin Pull up following revision(s) (requested by tsutsui in ticket #1107):

sys/arch/mipsco/mipsco/bus_dma.c: revision 1.32
sys/arch/mipsco/include/bus.h: revision 1.27

Unbreak bus_dmamem_map for mipsco.

Patch is sent from Miod Vallat:
The switch to common code in 2009 did not account for private fields in
bus_dma_segment_t, which are now left uninitialized but were relied upon
by bus_dmamem_map().
Remove these fields as their values were trivial to compute from the MI
fields.

This gives Ethernet and SCSI a chance to work again on this platform.
"switch to common code in 2009" was the following commit:

https://mail-index.netbsd.org/source-changes/2009/08/21/msg224405.html

We should eventually switch to the common mips bus_dma and it still
requires private _ds_vaddr for VIPT cache in MIPS3 case, but for now
his priority is to unbreak the code before attempting to improve it.

Note it looks the private _ds_paddr for mipsco was also pulled from
NetBSD/arc, where DMA address != physical address on jazzio devices.
 1.25.2.1 02-Aug-2025  perseant Sync with HEAD
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file cdefs.h was added on branch thorpej_scsipi on 2000-11-20 20:14:03 +0000
 1.3 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.2 27-Feb-2002  christos branches: 1.2.8;
- define other DEV_ constants that the local port uses.
- delete cdev_decl(mm) since <sys/conf.h> does it.
 1.1 12-Aug-2000  wdk branches: 1.1.2; 1.1.6; 1.1.10;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.10.2 17-Sep-2002  nathanw Catch up to -current.
 1.1.10.1 28-Feb-2002  nathanw Catch up to -current.
 1.1.6.2 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.6.1 16-Mar-2002  jdolecek Catch up with -current.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file conf.h was added on branch thorpej_scsipi on 2000-11-20 20:14:03 +0000
 1.2.8.1 19-May-2002  gehenna Remove port-dependent conf.h.
 1.7 04-Sep-2001  simonb branches: 1.7.6;
May as well include <mips/cpuregs.h> in <mips/cpu.h> once rather than
in every MIPS port's <machine/cpu.h>.
 1.6 04-Sep-2001  simonb Centralise struct cpu_info declaration and related info to <mips/cpu.h>.
 1.5 30-May-2001  mrg branches: 1.5.2;
use _KERNEL_OPT
 1.4 11-Mar-2001  wdk Remove function decl that doesn't belong in cpu.h
 1.3 21-Feb-2001  wdk branches: 1.3.2;
Call KGDB hook function
 1.2 17-Aug-2000  wdk branches: 1.2.2;
#include <mips/locore.h> no longer required since implementing bus_space(9)

remove unused extern variable that is never used in mipsco port
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.2.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 17-Aug-2000  bouyer file cpu.h was added on branch thorpej_scsipi on 2000-11-20 20:14:03 +0000
 1.3.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.3.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.5.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.7.6.2 04-Sep-2001  simonb May as well include <mips/cpuregs.h> in <mips/cpu.h> once rather than
in every MIPS port's <machine/cpu.h>.
 1.7.6.1 04-Sep-2001  simonb file cpu.h was added on branch nathanw_sa on 2001-09-04 06:23:17 +0000
 1.1 24-Jun-2015  matt branches: 1.1.2; 1.1.18;
All mips ports will need it.
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 24-Jun-2015  jdolecek file cpu_counter.h was added on branch tls-maxphys on 2017-12-03 11:36:29 +0000
 1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.2.1 24-Jun-2015  skrll file cpu_counter.h was added on branch nick-nhusb on 2015-09-22 12:05:48 +0000
 1.3 09-Jul-2011  matt Default to DB_ELF_SYMBOLS and DB_ELFSIZE 32
 1.2 04-Sep-2001  simonb branches: 1.2.6;
Standardise the format of MIPS' <machine/db_machdep.h>.
 1.1 12-Aug-2000  wdk branches: 1.1.2; 1.1.6;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.6.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file db_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:14:03 +0000
 1.2.6.2 04-Sep-2001  simonb Standardise the format of MIPS' <machine/db_machdep.h>.
 1.2.6.1 04-Sep-2001  simonb file db_machdep.h was added on branch nathanw_sa on 2001-09-04 07:43:31 +0000
 1.9 27-Apr-2025  tsutsui Use proper uintNN_t integer types.
 1.8 30-Aug-2011  bouyer branches: 1.8.90;
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 28-Jan-2002  lukem cosmetic reorder of #defines to match other ports
 1.6 26-Jul-2001  wiz branches: 1.6.6;
partiton -> partition
 1.5 11-Jun-2001  wiz branches: 1.5.2;
Fix various misspellings of compatible/compatibility.
 1.4 05-Mar-2001  wdk branches: 1.4.2;
no longer keep a copy of the volume header in cpu_disklabel
 1.3 16-Sep-2000  wdk branches: 1.3.2;
Write a NetBSD disklabel to 2nd sector while retaining the Mips volume
header in the ist sector. We now use the NetBSD label in preference
to the Mips Volume header.
 1.2 22-Aug-2000  wdk * Tidy up reading of Mips volume header information
All compatable values are copied from the MIPS volume header to the
BSD disklabel structures.

* Add support for writing Mips volume header.

* Remove support for writing NetBSD label directly (this was broken)

These changes allow the kernel to read either a BSD disklabel created under
NetBSD/sparc or a MIPS volume header created under RISC/os.

There is a small amount of losage with the conversion between the 2
types of disk labels (mainly to do with file system types).
A table is used to map partition numbers and types between the two
types, and unless someone does something real fancy (or crazy) it should
work in both senario's

This change will allow the stand alone shell to directly load a NetBSD
kernel and mount a file system, avoiding the need for a seperate disk or
bootp server to bootstrapping NetBSD.

NetBSD/mipsco is now self sufficiant. We are not far from having a
miniroot filesystem and removing the need to have another NetBSD
machine to create the base filesystems.

Minor Trap for young players:
The root partition must be created with 'newfs -O' in order for the
stand alone shell to boot the kernel

TODO:
Add support for writing NetBSD disk labels back in - it will be useful
for non boot disks. I'm just not sure how to control the 2 behavours
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.3.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 16-Sep-2000  bouyer file disklabel.h was added on branch thorpej_scsipi on 2000-11-20 20:14:03 +0000
 1.4.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.5.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.5.2.1 03-Aug-2001  lukem update to -current
 1.6.6.2 28-Feb-2002  nathanw Catch up to -current.
 1.6.6.1 26-Jul-2001  nathanw file disklabel.h was added on branch nathanw_sa on 2002-02-28 04:10:47 +0000
 1.8.90.1 02-Aug-2025  perseant Sync with HEAD
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file ecoff_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:14:03 +0000
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file elf.h was added on branch thorpej_scsipi on 2000-11-20 20:14:04 +0000
 1.2 14-Dec-2009  matt Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.1 12-Aug-2000  wdk branches: 1.1.2; 1.1.132; 1.1.150;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.150.1 22-Aug-2009  matt Move ELF{32,64}_MACHDEP_ENDIANNESS to <mips/elf_machdep.h>
 1.1.132.1 11-Mar-2010  yamt sync with head
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file elf_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:14:04 +0000
 1.2 04-Sep-2001  simonb branches: 1.2.6;
Make this the same as the other MIPS ports; ok'd by Wayne Knowles.
 1.1 12-Aug-2000  wdk branches: 1.1.2; 1.1.6;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.6.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file endian.h was added on branch thorpej_scsipi on 2000-11-20 20:14:04 +0000
 1.2.6.2 04-Sep-2001  simonb Make this the same as the other MIPS ports; ok'd by Wayne Knowles.
 1.2.6.1 04-Sep-2001  simonb file endian.h was added on branch nathanw_sa on 2001-09-04 07:24:24 +0000
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file endian_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:14:04 +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:29 +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:39 +0000
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file float.h was added on branch thorpej_scsipi on 2000-11-20 20:14:04 +0000
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file ieee.h was added on branch thorpej_scsipi on 2000-11-20 20:14:04 +0000
 1.2 04-Sep-2001  simonb branches: 1.2.6;
Clean up.
 1.1 12-Aug-2000  wdk branches: 1.1.2; 1.1.6;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.6.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file ieeefp.h was added on branch thorpej_scsipi on 2000-11-20 20:14:04 +0000
 1.2.6.2 04-Sep-2001  simonb Clean up.
 1.2.6.1 04-Sep-2001  simonb file ieeefp.h was added on branch nathanw_sa on 2001-09-04 06:26:19 +0000
 1.1 14-Apr-2001  kleink branches: 1.1.2; 1.1.4; 1.1.12;
Add definitions of C99 integer constant macros.
 1.1.12.2 14-Apr-2001  kleink Add definitions of C99 integer constant macros.
 1.1.12.1 14-Apr-2001  kleink file int_const.h was added on branch nathanw_sa on 2001-04-14 22:38:40 +0000
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.1 14-Apr-2001  bouyer file int_const.h was added on branch thorpej_scsipi on 2001-04-21 17:54:03 +0000
 1.1 15-Apr-2001  kleink branches: 1.1.2; 1.1.4; 1.1.12;
Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.1.12.2 15-Apr-2001  kleink Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.1.12.1 15-Apr-2001  kleink file int_fmtio.h was added on branch nathanw_sa on 2001-04-15 17:13:13 +0000
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.1 15-Apr-2001  bouyer file int_fmtio.h was added on branch thorpej_scsipi on 2001-04-21 17:54:04 +0000
 1.1 15-Apr-2001  kleink branches: 1.1.2; 1.1.4; 1.1.12;
Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.1.12.2 15-Apr-2001  kleink Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.1.12.1 15-Apr-2001  kleink file int_limits.h was added on branch nathanw_sa on 2001-04-15 15:29:09 +0000
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.1 15-Apr-2001  bouyer file int_limits.h was added on branch thorpej_scsipi on 2001-04-21 17:54:04 +0000
 1.1 14-Apr-2001  kleink branches: 1.1.2; 1.1.4; 1.1.12;
Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.1.12.2 14-Apr-2001  kleink Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.1.12.1 14-Apr-2001  kleink file int_mwgwtypes.h was added on branch nathanw_sa on 2001-04-14 12:19:58 +0000
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.1 14-Apr-2001  bouyer file int_mwgwtypes.h was added on branch thorpej_scsipi on 2001-04-21 17:54:04 +0000
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file int_types.h was added on branch thorpej_scsipi on 2000-11-20 20:14:05 +0000
 1.20 26-Apr-2025  tsutsui Move ipl_sr_map to model-specific file and add IPL_DDB entry.

This will help adding support for other mipsco systems such as
the RC3240 eventually.

Patch from Miod Vallat.
 1.19 20-Feb-2011  matt branches: 1.19.92;
Merge forward matt-nb5-mips64
Adapt to new interrupt/spl framework
 1.18 13-Apr-2009  he branches: 1.18.4; 1.18.6; 1.18.8;
Include <sys/evcnt.h> instead of <sys/device.h> to break circular
dependency graph.
 1.17 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.16 03-Dec-2007  ad branches: 1.16.18; 1.16.26; 1.16.32; 1.16.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.15 17-Oct-2007  garbled branches: 1.15.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.14 17-Jun-2007  tsutsui branches: 1.14.8; 1.14.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.13 16-Feb-2007  ad branches: 1.13.6; 1.13.8; 1.13.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.12 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.11 11-Dec-2005  christos branches: 1.11.20; 1.11.22;
merge ktrace-lwp.
 1.10 09-Jun-2005  he branches: 1.10.2;
Prefix variables in a macro with an underscore to avoid shadowing problems.
 1.9 14-Jan-2002  soren branches: 1.9.16;
Remove __HAVE_GENERIC_SOFT_INTERRUPTS #ifdef.
 1.8 15-Sep-2001  wdk branches: 1.8.4;
spllpt() for ISA Bus printer support
 1.7 13-Apr-2001  thorpej branches: 1.7.2; 1.7.4;
Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
 1.6 30-Mar-2001  wdk New data structures and prototypes for MI softintr support
 1.5 14-Jan-2001  thorpej branches: 1.5.2;
Make sure everybody has an splvm() and equate it with splimp() (splimp()
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
 1.4 22-Aug-2000  thorpej branches: 1.4.2;
Add spllock(). See spl(9) for details.
 1.3 21-Aug-2000  thorpej Make sure we provide splsched() as described in spl(9).
 1.2 15-Aug-2000  wdk * Tidy up interrupt handlers by implementing an intr_establish()
handler to hook up device interrupts and softc callbacks.

Suggested by: Jason Thorpe and Toru Nishimura

* Fixup the indenting in a few places to conform to NetBSD style
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.4.2.4 21-Apr-2001  bouyer Sync with HEAD
 1.4.2.3 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.4.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.2.1 22-Aug-2000  bouyer file intr.h was added on branch thorpej_scsipi on 2000-11-20 20:14:05 +0000
 1.5.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.5.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.7.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.7.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.7.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.8.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.8.4.1 15-Sep-2001  nathanw file intr.h was added on branch nathanw_sa on 2002-02-28 04:10:47 +0000
 1.9.16.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.10.2.4 07-Dec-2007  yamt sync with head
 1.10.2.3 03-Sep-2007  yamt sync with head.
 1.10.2.2 26-Feb-2007  yamt sync with head.
 1.10.2.1 30-Dec-2006  yamt sync with head.
 1.11.22.2 02-Dec-2006  yamt - add splsoftserial.
- fix some comments.
 1.11.22.1 02-Dec-2006  yamt implement splraiseipl/makeiplcookie for mipsco.
 1.11.20.1 12-Jan-2007  ad Sync with head.
 1.13.14.1 26-Jun-2007  garbled Sync with HEAD.
 1.13.8.1 11-Jul-2007  mjf Sync with head.
 1.13.6.2 03-Dec-2007  ad Sync with HEAD.
 1.13.6.1 15-Jul-2007  ad Sync with head.
 1.14.10.2 09-Jan-2008  matt sync with HEAD
 1.14.10.1 06-Nov-2007  matt sync with HEAD
 1.14.8.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.15.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.16.36.2 29-Dec-2010  matt Adapt to the new interrupt framework.
(XXX hpcmips still has calls to _spllower which are not supported.)
 1.16.36.1 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.16.32.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.16.26.1 28-Apr-2009  skrll Sync with HEAD.
 1.16.18.1 04-May-2009  yamt sync with head.
 1.18.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.18.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.18.4.1 05-Mar-2011  rmind sync with head
 1.19.92.1 02-Aug-2025  perseant Sync with HEAD
 1.12 09-Oct-2023  andvar replace trailing whitespace with tab before struct evcnt for consistency.
 1.11 08-Oct-2023  andvar Update __BS_TYPENAME(BITS) macro to combine uint type instead of u_int.
Constify bus_space_write_multi one of params.
Remove unused ic_intr property from mipsco_isa_chipset struct.
Add __INTR_PRIVATE definition to mipsco isa_machdep.c.

Fixes RC3230 mipsco kernel config (w/o KGDB option, will be addressed later).
 1.10 18-Oct-2016  jdolecek add isa_intr_establish_xname() to MD isa headers so that it can be used
by MI drivers
 1.9 27-Oct-2012  chs branches: 1.9.14; 1.9.18;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.8 19-Aug-2009  dyoung branches: 1.8.12; 1.8.22;
(Re-)define isa_detach_hook(), and define isa_dmadestroy(). Update
some isa_chipset_tag_t->ic_detach_hook() definitions.
 1.7 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.6 11-Dec-2005  christos branches: 1.6.74; 1.6.76; 1.6.78;
merge ktrace-lwp.
 1.5 25-Oct-2003  chs make this compile again.
 1.4 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.3 09-May-2003  fvdl branches: 1.3.2;
A few ISA sound drivers like to share dma channels, and hence deferred
isa_dmamap_create() calls to their open/close entrypoints. This worked
with some luck, but broke on i386 when _bus_dmamap_create started
to allocate bounce buffers upfront, since memory below 16M may well
not be available when the sound devices is opened for the Nth time.

To fix this, create a new simple interface, isa_drq_alloc/isa_drq_free,
wrappers around already existing bitmask macros. These are expected
to be used before an isa_dmamap_create call, and after an
isa_dmamap_destroy call, respectively. For the sb and ad1848 drivers,
they're deferred until open/close.

All isa_dmamap_create calls can now use BUS_DMA_ALLOCNOW and be done
at attach time.
 1.2 15-Sep-2001  wdk branches: 1.2.4;
Add bus_dma hooks for ISA Bus.

ISA bus option doesn't support DMA on the Magnum 3000 series, but other
models such as the M/120 do support it.
 1.1 30-Mar-2001  wdk branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Support for ISA expansion slot in Mips 3230

The ISA Bus on this machine doesn't support DMA, and all interrupt lines
are wire-OR'ed together. Mileage may vary if sharing interrupts.

Tested cards:
com: 8250 and 16550 UART's (8 bit)
ec: 3com Etherlink II (8 bit)
we: SMC 8013 Ethernet (16 bit) [work in progress]
Probes, ARP in both directions works, sends clean packets,
tcpdump show correct packets on receive, NDP for IPv6 works,
netstat -s shows nothing strange.. but doesn't talk TCP/IP!
 1.1.8.1 01-Oct-2001  fvdl Catch up with -current.
 1.1.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.2 21-Apr-2001  bouyer Sync with HEAD
 1.1.4.1 30-Mar-2001  bouyer file isa_machdep.h was added on branch thorpej_scsipi on 2001-04-21 17:54:04 +0000
 1.1.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.2.4.2 15-Sep-2001  wdk Add bus_dma hooks for ISA Bus.

ISA bus option doesn't support DMA on the Magnum 3000 series, but other
models such as the M/120 do support it.
 1.2.4.1 15-Sep-2001  wdk file isa_machdep.h was added on branch nathanw_sa on 2001-09-15 01:17:48 +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.6.78.2 19-Aug-2009  yamt sync with head.
 1.6.78.1 16-May-2008  yamt sync with head.
 1.6.76.1 18-May-2008  yamt sync with head.
 1.6.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.22.2 03-Dec-2017  jdolecek update from HEAD
 1.8.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.8.12.1 30-Oct-2012  yamt sync with head
 1.9.18.1 04-Nov-2016  pgoyette Sync with HEAD
 1.9.14.1 05-Dec-2016  skrll Sync with HEAD
 1.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.1 30-Mar-2001  wdk branches: 1.1.2; 1.1.4; 1.1.12; 1.1.130; 1.1.132; 1.1.134;
Support for ISA expansion slot in Mips 3230

The ISA Bus on this machine doesn't support DMA, and all interrupt lines
are wire-OR'ed together. Mileage may vary if sharing interrupts.

Tested cards:
com: 8250 and 16550 UART's (8 bit)
ec: 3com Etherlink II (8 bit)
we: SMC 8013 Ethernet (16 bit) [work in progress]
Probes, ARP in both directions works, sends clean packets,
tcpdump show correct packets on receive, NDP for IPv6 works,
netstat -s shows nothing strange.. but doesn't talk TCP/IP!
 1.1.134.1 16-May-2008  yamt sync with head.
 1.1.132.1 18-May-2008  yamt sync with head.
 1.1.130.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.12.2 30-Mar-2001  wdk Support for ISA expansion slot in Mips 3230

The ISA Bus on this machine doesn't support DMA, and all interrupt lines
are wire-OR'ed together. Mileage may vary if sharing interrupts.

Tested cards:
com: 8250 and 16550 UART's (8 bit)
ec: 3com Etherlink II (8 bit)
we: SMC 8013 Ethernet (16 bit) [work in progress]
Probes, ARP in both directions works, sends clean packets,
tcpdump show correct packets on receive, NDP for IPv6 works,
netstat -s shows nothing strange.. but doesn't talk TCP/IP!
 1.1.12.1 30-Mar-2001  wdk file isapnp_machdep.h was added on branch nathanw_sa on 2001-03-30 23:45:20 +0000
 1.1.4.2 21-Apr-2001  bouyer Sync with HEAD
 1.1.4.1 30-Mar-2001  bouyer file isapnp_machdep.h was added on branch thorpej_scsipi on 2001-04-21 17:54:04 +0000
 1.1.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file kcore.h was added on branch thorpej_scsipi on 2000-11-20 20:14:05 +0000
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file kdbparam.h was added on branch thorpej_scsipi on 2000-11-20 20:14:05 +0000
 1.2 31-Aug-2001  simonb branches: 1.2.6;
G/C the unused kernel-only CLK_TCK #define.

XXX: does include/time.h still need <machine/limits.h>?
 1.1 12-Aug-2000  wdk branches: 1.1.2; 1.1.6;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.6.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file limits.h was added on branch thorpej_scsipi on 2000-11-20 20:14:05 +0000
 1.2.6.2 31-Aug-2001  simonb G/C the unused kernel-only CLK_TCK #define.

XXX: does include/time.h still need <machine/limits.h>?
 1.2.6.1 31-Aug-2001  simonb file limits.h was added on branch nathanw_sa on 2001-08-31 03:46:04 +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 28-Apr-2008  martin branches: 1.4.44; 1.4.60;
Remove clause 3 and 4 from TNF licenses
 1.3 25-Jan-2006  christos branches: 1.3.72; 1.3.74; 1.3.76;
free -> dealloc
unsigned -> size_t for alloc/dealloc
 1.2 31-Oct-2001  thorpej branches: 1.2.2; 1.2.34; 1.2.46;
Split elf32 vs. elf64 handling in loadfile(), including support for
each separately and explicitly. BOOT_ELF is now BOOT_ELF32 and
BOOT_ELF64, and ELFSIZE should no longer be defined in loadfile_machdep.h.
 1.1 19-Sep-2000  wdk branches: 1.1.2; 1.1.6; 1.1.8;
Forgot to commit this file with the 2 stage bootstrap
 1.1.8.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.1.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 19-Sep-2000  bouyer file loadfile_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:14:05 +0000
 1.2.46.1 01-Feb-2006  yamt sync with head.
 1.2.34.1 21-Jun-2006  yamt sync with head.
 1.2.2.2 31-Oct-2001  thorpej Split elf32 vs. elf64 handling in loadfile(), including support for
each separately and explicitly. BOOT_ELF is now BOOT_ELF32 and
BOOT_ELF64, and ELFSIZE should no longer be defined in loadfile_machdep.h.
 1.2.2.1 31-Oct-2001  thorpej file loadfile_machdep.h was added on branch nathanw_sa on 2001-10-31 17:20:47 +0000
 1.3.76.1 16-May-2008  yamt sync with head.
 1.3.74.1 18-May-2008  yamt sync with head.
 1.3.72.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.60.1 10-Aug-2014  tls Rebase.
 1.4.44.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2 31-Aug-2001  simonb branches: 1.2.6;
Remove an unneeded comment; ``sync'' with other "just include <mips/foo.h>"
files.
 1.1 12-Aug-2000  wdk branches: 1.1.2; 1.1.6;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.6.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file lock.h was added on branch thorpej_scsipi on 2000-11-20 20:14:05 +0000
 1.2.6.2 31-Aug-2001  simonb Remove an unneeded comment; ``sync'' with other "just include <mips/foo.h>"
files.
 1.2.6.1 31-Aug-2001  simonb file lock.h was added on branch nathanw_sa on 2001-08-31 03:53:24 +0000
 1.2 05-Jun-2002  simonb Simplify include files that just include <mips/locore.h>.
 1.1 12-Aug-2000  wdk branches: 1.1.2; 1.1.6; 1.1.10; 1.1.18;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.18.1 14-Jul-2002  gehenna catch up with -current.
 1.1.10.1 20-Jun-2002  nathanw Catch up to -current.
 1.1.6.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file locore.h was added on branch thorpej_scsipi on 2000-11-20 20:14:06 +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:55:55 +0000
 1.5 05-Jul-2024  andvar s/Timner/Timer/ in comment.
 1.4 28-Apr-2008  martin branches: 1.4.124;
Remove clause 3 and 4 from TNF licenses
 1.3 31-Mar-2001  wdk branches: 1.3.8; 1.3.126; 1.3.128; 1.3.130;
Add softintr and ISA bus support
 1.2 16-Aug-2000  wdk branches: 1.2.2; 1.2.4;
Trap and report memory parity errors
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.2.4.1 09-Apr-2001  nathanw Catch up with -current.
 1.2.2.3 21-Apr-2001  bouyer Sync with HEAD
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 16-Aug-2000  bouyer file mainboard.h was added on branch thorpej_scsipi on 2000-11-20 20:14:06 +0000
 1.3.130.1 16-May-2008  yamt sync with head.
 1.3.128.1 18-May-2008  yamt sync with head.
 1.3.126.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.8.2 31-Mar-2001  wdk Add softintr and ISA bus support
 1.3.8.1 31-Mar-2001  wdk file mainboard.h was added on branch nathanw_sa on 2001-03-31 00:08:35 +0000
 1.4.124.1 02-Aug-2025  perseant Sync with HEAD
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file math.h was added on branch thorpej_scsipi on 2000-11-20 20:14:06 +0000
 1.2 17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.1 17-Nov-2001  wdk branches: 1.1.2;
file mcontext.h was initially added on branch nathanw_sa.
 1.1.2.1 17-Nov-2001  wdk mcontext support for MIPS based ports.
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file mips_opcode.h was added on branch thorpej_scsipi on 2000-11-20 20:14:06 +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:07:32 +0000
 1.15 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.14 18-Mar-2011  tsutsui branches: 1.14.54; 1.14.56;
- include <mips/mips_param.h> after MACHINE is defined
- remove redundant comment
 1.13 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.12 14-Dec-2009  matt branches: 1.12.4; 1.12.6; 1.12.8;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.11 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.10 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.9 17-Oct-2007  garbled branches: 1.9.20; 1.9.28; 1.9.34; 1.9.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.8 26-Jul-2007  he branches: 1.8.6;
Move the include of <machine/intr.h> into the _KERNEL / _LOCORE #ifdefs.
Fixes build problem with the extent regression test.
 1.7 26-Sep-2006  tsutsui branches: 1.7.8; 1.7.16; 1.7.20; 1.7.22;
Protect from multiple inclusion.
 1.6 10-Sep-2006  tsutsui branches: 1.6.2;
Change dumb DELAY(9) macro into inline version with asm like
other mips ports for gcc4's aggressive optimization.
 1.5 11-Dec-2005  christos branches: 1.5.8; 1.5.20;
merge ktrace-lwp.
 1.4 07-Aug-2003  agc branches: 1.4.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.3 26-Feb-2002  simonb branches: 1.3.16;
Purge CLSIZE, CLSIZELOG2 and MCLOFSET.
Be consistant in the way that MSIZE, MCLSHIFT, MCLBYTES and NMBCLUSTERS
are defined.
Remove old VM constants from cesfic port.
Bump MSIZE to 256 on mipsco (the only one that wasn't already 256).
 1.2 30-May-2001  mrg branches: 1.2.2; 1.2.8;
use _KERNEL_OPT
 1.1 12-Aug-2000  wdk branches: 1.1.2; 1.1.4;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file param.h was added on branch thorpej_scsipi on 2000-11-20 20:14:06 +0000
 1.2.8.2 28-Feb-2002  nathanw Catch up to -current.
 1.2.8.1 30-May-2001  nathanw file param.h was added on branch nathanw_sa on 2002-02-28 04:10:47 +0000
 1.2.2.1 16-Mar-2002  jdolecek Catch up with -current.
 1.3.16.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.16.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.16.1 03-Aug-2004  skrll Sync with HEAD
 1.4.16.2 03-Sep-2007  yamt sync with head.
 1.4.16.1 30-Dec-2006  yamt sync with head.
 1.5.20.1 18-Nov-2006  ad Sync with head.
 1.5.8.1 14-Sep-2006  yamt sync with head.
 1.6.2.1 22-Oct-2006  yamt sync with head
 1.7.22.1 15-Aug-2007  skrll Sync with HEAD.
 1.7.20.1 07-Aug-2007  matt Sync with HEAD.
 1.7.16.1 03-Oct-2007  garbled Sync with HEAD
 1.7.8.1 20-Aug-2007  ad Sync with HEAD.
 1.8.6.1 06-Nov-2007  matt sync with HEAD
 1.9.38.1 22-Aug-2009  matt Move MACHINE_ARCH definition to <mips/mips_param.h>
Move mbuf related defines to <mips/mips_param.h>
 1.9.34.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.9.28.1 28-Apr-2009  skrll Sync with HEAD.
 1.9.20.3 11-Mar-2010  yamt sync with head
 1.9.20.2 19-Aug-2009  yamt sync with head.
 1.9.20.1 04-May-2009  yamt sync with head.
 1.12.8.1 17-Feb-2011  bouyer Sync with HEAD
 1.12.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.12.4.2 21-Apr-2011  rmind sync with head
 1.12.4.1 05-Mar-2011  rmind sync with head
 1.14.56.1 10-Jun-2019  christos Sync with HEAD
 1.14.54.1 18-Jan-2019  pgoyette Synch with HEAD
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file pcb.h was added on branch thorpej_scsipi on 2000-11-20 20:14:06 +0000
 1.2 13-Sep-2000  nisimura branches: 1.2.2;
Nuke unused obscure #define's.
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 13-Sep-2000  bouyer file pmap.h was added on branch thorpej_scsipi on 2000-11-20 20:14:07 +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:37:50 +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:24 +0000
 1.1.2.2 13-Aug-2002  nathanw Catch up to -current.
 1.1.2.1 07-Aug-2002  nathanw file pmc.h was added on branch nathanw_sa on 2002-08-13 02:18:31 +0000
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file proc.h was added on branch thorpej_scsipi on 2000-11-20 20:14:07 +0000
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file profile.h was added on branch thorpej_scsipi on 2000-11-20 20:14:07 +0000
 1.12 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.11 28-Apr-2008  martin branches: 1.11.8; 1.11.14;
Remove clause 3 and 4 from TNF licenses
 1.10 11-Dec-2005  christos branches: 1.10.74; 1.10.76; 1.10.78;
merge ktrace-lwp.
 1.9 09-Jun-2005  he Add const to the prom_getenv() vector argument.
More function pointer prototypes can probably have const added, but
this gets us building for now.
 1.8 13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.7 05-Feb-2003  perry branches: 1.7.2;
"Utilize" has exactly the same meaning as "use," but it is more
difficult to read and understand. Most manuals of English style
therefore say that you should use "use".
 1.6 06-Feb-2001  wdk Allow file to be included in assembler source (bootstrap code etc.)
 1.5 03-Dec-2000  matt Deal with -Wstrict-prototypes -Wmissing-prototypes
 1.4 19-Sep-2000  wdk branches: 1.4.2;
Forgot to commit this file with the 2 stage bootstrap
 1.3 16-Sep-2000  wdk Prototype prom_ioctl
 1.2 04-Sep-2000  wdk Add #define's for PROM entry point addresses which will be needed by any
replacement bootstrap routines
 1.1 19-Aug-2000  wdk - Add support for calling most prom firmware functions

- Using the prom getenv function determine the correct console port

- Remove old prom function hooks

- Tidy up bootflags (remove upper case names, fixup RB_ASKNAME) as
recommended by Jarom�r Dole�ek
 1.4.2.4 11-Feb-2001  bouyer Sync with HEAD.
 1.4.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.4.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.2.1 19-Sep-2000  bouyer file prom.h was added on branch thorpej_scsipi on 2000-11-20 20:14:07 +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.10.78.2 04-May-2009  yamt sync with head.
 1.10.78.1 16-May-2008  yamt sync with head.
 1.10.76.1 18-May-2008  yamt sync with head.
 1.10.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.11.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.11.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file psl.h was added on branch thorpej_scsipi on 2000-11-20 20:14:07 +0000
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file pte.h was added on branch thorpej_scsipi on 2000-11-20 20:14:07 +0000
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file ptrace.h was added on branch thorpej_scsipi on 2000-11-20 20:14:07 +0000
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file reg.h was added on branch thorpej_scsipi on 2000-11-20 20:14:08 +0000
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file regdef.h was added on branch thorpej_scsipi on 2000-11-20 20:14:08 +0000
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file regnum.h was added on branch thorpej_scsipi on 2000-11-20 20:14:08 +0000
 1.2 09-Sep-2001  simonb branches: 1.2.4;
Clean up and standardise across MIPS ports.
 1.1 12-Aug-2000  wdk branches: 1.1.2; 1.1.4; 1.1.6;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.6.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.1.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file reloc.h was added on branch thorpej_scsipi on 2000-11-20 20:14:08 +0000
 1.2.4.2 09-Sep-2001  simonb Clean up and standardise across MIPS ports.
 1.2.4.1 09-Sep-2001  simonb file reloc.h was added on branch nathanw_sa on 2001-09-09 04:20:28 +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:07:32 +0000
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file setjmp.h was added on branch thorpej_scsipi on 2000-11-20 20:14:08 +0000
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file signal.h was added on branch thorpej_scsipi on 2000-11-20 20:14:08 +0000
 1.2 19-Jul-2014  alnsn Sljit doesn't support MIPS I. Make sljitarch.h obsolete.
 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:51 +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:01 +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 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file stdarg.h was added on branch thorpej_scsipi on 2000-11-20 20:14:08 +0000
 1.6 20-Feb-2011  matt Merge forward matt-nb5-mips64
Adapt to new interrupt/spl framework
 1.5 14-Mar-2009  dsl branches: 1.5.4; 1.5.6; 1.5.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.4 04-Mar-2007  christos branches: 1.4.44; 1.4.52; 1.4.58; 1.4.62;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.3 15-Sep-2006  gdamore branches: 1.3.6;
Convert mipsco to generic TODR and TC. Compile tested only. If the
port-mipsco mailing list is any indication, nobody has actually run netbsd
on this port for several years.
 1.2 15-Aug-2000  wdk branches: 1.2.2; 1.2.42; 1.2.72;
* Tidy up interrupt handlers by implementing an intr_establish()
handler to hook up device interrupts and softc callbacks.

Suggested by: Jason Thorpe and Toru Nishimura

* Fixup the indenting in a few places to conform to NetBSD style
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.2.72.1 18-Nov-2006  ad Sync with head.
 1.2.42.2 03-Sep-2007  yamt sync with head.
 1.2.42.1 30-Dec-2006  yamt sync with head.
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 15-Aug-2000  bouyer file sysconf.h was added on branch thorpej_scsipi on 2000-11-20 20:14:09 +0000
 1.3.6.1 12-Mar-2007  rmind Sync with HEAD.
 1.4.62.1 29-Dec-2010  matt Adapt to the new interrupt framework.
(XXX hpcmips still has calls to _spllower which are not supported.)
 1.4.58.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.4.52.1 28-Apr-2009  skrll Sync with HEAD.
 1.4.44.1 04-May-2009  yamt sync with head.
 1.5.8.1 05-Mar-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.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file trap.h was added on branch thorpej_scsipi on 2000-11-20 20:14:09 +0000
 1.7 20-Jan-2008  joerg Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants,
remove the conditionals and the code associated with the undef case.
 1.6 17-Oct-2007  garbled branches: 1.6.2; 1.6.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.5 14-Jul-2007  ad branches: 1.5.10;
Generic soft interrupts are mandatory.
 1.4 15-Sep-2006  gdamore branches: 1.4.10; 1.4.18;
Convert mipsco to generic TODR and TC. Compile tested only. If the
port-mipsco mailing list is any indication, nobody has actually run netbsd
on this port for several years.
 1.3 05-Aug-2002  simonb branches: 1.3.22; 1.3.52;
Use a __HAVE_BOOTINFO_H define to check for bootinfo support instead of
speading port names in arch-dependant code.
 1.2 31-Mar-2001  wdk branches: 1.2.2; 1.2.8; 1.2.16;
Add softintr and ISA bus support
 1.1 12-Aug-2000  wdk branches: 1.1.2; 1.1.4;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.4.1 09-Apr-2001  nathanw Catch up with -current.
 1.1.2.3 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file types.h was added on branch thorpej_scsipi on 2000-11-20 20:14:09 +0000
 1.2.16.1 31-Aug-2002  gehenna catch up with -current.
 1.2.8.2 13-Aug-2002  nathanw Catch up to -current.
 1.2.8.1 31-Mar-2001  nathanw file types.h was added on branch nathanw_sa on 2002-08-13 02:18:31 +0000
 1.2.2.1 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.3.52.1 18-Nov-2006  ad Sync with head.
 1.3.22.3 21-Jan-2008  yamt sync with head
 1.3.22.2 03-Sep-2007  yamt sync with head.
 1.3.22.1 30-Dec-2006  yamt sync with head.
 1.4.18.1 03-Oct-2007  garbled Sync with HEAD
 1.4.10.1 15-Jul-2007  ad Sync with head.
 1.5.10.2 23-Mar-2008  matt sync with HEAD
 1.5.10.1 06-Nov-2007  matt sync with HEAD
 1.6.8.1 23-Jan-2008  bouyer Sync with HEAD.
 1.6.2.1 18-Feb-2008  mjf Sync with 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 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file varargs.h was added on branch thorpej_scsipi on 2000-11-20 20:14:09 +0000
 1.2 14-Dec-2009  matt Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.1 12-Aug-2000  wdk branches: 1.1.2; 1.1.132; 1.1.150;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.150.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.132.1 11-Mar-2010  yamt sync with head
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file vmparam.h was added on branch thorpej_scsipi on 2000-11-20 20:14:09 +0000
 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:37:53 +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:57:47 +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:53:48 +0000
 1.8 29-Mar-2008  tsutsui Split softc and device_t for zsc(4) and its children.

XXX we should restructure MI APIs and make it really machine independent.
 1.7 07-Nov-2007  ad branches: 1.7.14;
Merge tty changes from the vmlocking branch.
 1.6 11-Dec-2005  christos branches: 1.6.30; 1.6.48; 1.6.50; 1.6.54; 1.6.56;
merge ktrace-lwp.
 1.5 07-Aug-2003  agc branches: 1.5.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.4 15-Dec-2001  wdk branches: 1.4.16;
Declare KGDB hook functions.
 1.3 31-Mar-2001  wdk branches: 1.3.2; 1.3.8;
Add softintr and ISA bus support
 1.2 07-Feb-2001  wdk branches: 1.2.2;
Add a MD zs_chanstate layer that carries bus_space information

Tidy up several comments at same time.
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.4 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.3 11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file z8530var.h was added on branch thorpej_scsipi on 2000-11-20 20:14:09 +0000
 1.2.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.3.8.2 08-Jan-2002  nathanw Catch up to -current.
 1.3.8.1 31-Mar-2001  nathanw file z8530var.h was added on branch nathanw_sa on 2002-01-08 00:26:29 +0000
 1.3.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.16.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.16.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.16.1 03-Aug-2004  skrll Sync with HEAD
 1.5.16.1 15-Nov-2007  yamt sync with head.
 1.6.56.1 19-Nov-2007  mjf Sync with HEAD.
 1.6.54.1 13-Nov-2007  bouyer Sync with HEAD
 1.6.50.1 08-Nov-2007  matt sync with -HEAD
 1.6.48.1 11-Nov-2007  joerg Sync with HEAD.
 1.6.30.1 03-Dec-2007  ad Sync with HEAD.
 1.7.14.1 03-Apr-2008  mjf Sync with HEAD.
 1.21 01-May-2025  tsutsui Use uint32_t instead of u_int32_t.
 1.20 08-Oct-2023  andvar branches: 1.20.6;
Update __BS_TYPENAME(BITS) macro to combine uint type instead of u_int.
Constify bus_space_write_multi one of params.
Remove unused ic_intr property from mipsco_isa_chipset struct.
Add __INTR_PRIVATE definition to mipsco isa_machdep.c.

Fixes RC3230 mipsco kernel config (w/o KGDB option, will be addressed later).
 1.19 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.18 24-Apr-2021  thorpej branches: 1.18.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.17 21-Nov-2020  thorpej branches: 1.17.2;
malloc(9) -> kmem(9)
 1.16 10-Nov-2019  chs branches: 1.16.8;
in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.15 27-Oct-2012  chs branches: 1.15.38;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.14 19-Aug-2009  dyoung branches: 1.14.12; 1.14.22;
isa_detach_hook() needs two arguments, the first an isa_chipset_tag_t.
 1.13 18-Aug-2009  dyoung These are stragglers from my last commit ("Let us safely detach
the ISA bus and devices attaching to the ISA bus"). Define
isa_detach_hook() in MD ISA implementations. Define isa_dmadestroy().
 1.12 16-Mar-2009  dsl ANSIfy functions with function-pointer arguments
 1.11 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.10 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.9 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.8 28-Apr-2008  martin branches: 1.8.8; 1.8.14;
Remove clause 3 and 4 from TNF licenses
 1.7 11-Dec-2005  christos branches: 1.7.74; 1.7.76; 1.7.78;
merge ktrace-lwp.
 1.6 30-Aug-2004  drochner Phase out the use of a string as first "attach args" member to control
which bustype should be attached with a specific call to config_found()
(from a "mainbus" or a bus bridge).
Do it for isa/eisa/mca and pci/agp for now. These buses all attach to
an mi interface attribute "isabus", "eisabus" etc., and the autoconf
framework now allows to specify an interface attribute on config_found()
and config_search(), which limits the search of matching config data
to these which attach to that specific attribute.
So we basically have to call config_found_ia(..., "foobus", ...) where
such a bus is attached.
As a consequence, where a "mainbus" or alike also attaches other
devices (eg CPUs) which do not attach to a specific attribute yet,
we need at least pass an attribute name (different from "foobus") so
that the foo bus is not found at these places. This made some minor
changes necessary which are not obviously related to the mentioned buses.
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 02-Oct-2002  thorpej branches: 1.4.6;
Use CFATTACH_DECL().
 1.3 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.2 02-Apr-2001  wdk branches: 1.2.2; 1.2.4; 1.2.10;
Clear interrupt latch after interrupts are processed, not before.
 1.1 30-Mar-2001  wdk Support for ISA expansion slot in Mips 3230

The ISA Bus on this machine doesn't support DMA, and all interrupt lines
are wire-OR'ed together. Mileage may vary if sharing interrupts.

Tested cards:
com: 8250 and 16550 UART's (8 bit)
ec: 3com Etherlink II (8 bit)
we: SMC 8013 Ethernet (16 bit) [work in progress]
Probes, ARP in both directions works, sends clean packets,
tcpdump show correct packets on receive, NDP for IPv6 works,
netstat -s shows nothing strange.. but doesn't talk TCP/IP!
 1.2.10.2 18-Oct-2002  nathanw Catch up to -current.
 1.2.10.1 02-Apr-2001  nathanw file isa_machdep.c was added on branch nathanw_sa on 2002-10-18 02:38:52 +0000
 1.2.4.1 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.2.2.2 21-Apr-2001  bouyer Sync with HEAD
 1.2.2.1 02-Apr-2001  bouyer file isa_machdep.c was added on branch thorpej_scsipi on 2001-04-21 17:54:05 +0000
 1.4.6.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.6.3 18-Sep-2004  skrll Sync with HEAD.
 1.4.6.2 03-Sep-2004  skrll Sync with HEAD
 1.4.6.1 03-Aug-2004  skrll Sync with HEAD
 1.7.78.3 19-Aug-2009  yamt sync with head.
 1.7.78.2 04-May-2009  yamt sync with head.
 1.7.78.1 16-May-2008  yamt sync with head.
 1.7.76.1 18-May-2008  yamt sync with head.
 1.7.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.14.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.14.12.1 30-Oct-2012  yamt sync with head
 1.15.38.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.16.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.17.2.1 23-Mar-2021  thorpej Convert config_found_ia() call sites where the device only carries
a single interface attribute to bare config_found() calls.
 1.18.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.20.6.1 02-Aug-2025  perseant Sync with HEAD
 1.28 22-Jun-2017  flxd spelling (DEC called it "TURBOchannel")
 1.27 29-May-2014  skrll branches: 1.27.4;
Remove unused variable.
 1.26 27-Oct-2012  chs branches: 1.26.10;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.25 29-Jul-2012  mlelstv branches: 1.25.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.24 20-Feb-2011  matt branches: 1.24.4; 1.24.10;
Merge forward matt-nb5-mips64
Adapt to new interrupt/spl framework
 1.23 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.22 05-Nov-2009  dyoung branches: 1.22.4; 1.22.6; 1.22.8;
Use deviter(9) instead of accessing alldevs directly. Untested.
 1.21 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.20 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.19 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.18 03-Dec-2007  ad branches: 1.18.18; 1.18.26; 1.18.32; 1.18.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.17 28-Mar-2006  thorpej branches: 1.17.18; 1.17.36; 1.17.38; 1.17.44;
Use device_unit().
 1.16 21-Feb-2006  thorpej branches: 1.16.2; 1.16.4; 1.16.6;
Use device_class() instead of accessing dv_class directly.
 1.15 11-Dec-2005  christos branches: 1.15.2; 1.15.4; 1.15.6;
merge ktrace-lwp.
 1.14 09-Jun-2005  he branches: 1.14.2;
Use NULL and not a string constant as the second argument to
config_rootfound().
 1.13 23-Oct-2004  thorpej Centralize the declaration of booted_device and booted_partition.
 1.12 13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.11 25-Oct-2003  chs NULL -> 0
 1.10 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.9 15-Jul-2003  lukem __KERNEL_RCSID()
 1.8 18-Jun-2003  drochner branches: 1.8.2;
don't #include <sys/dkstat.h> where it is (appearently) unused
 1.7 25-Sep-2002  thorpej Don't include <sys/map.h>.
 1.6 31-Mar-2001  wdk branches: 1.6.2; 1.6.8;
Call softintr_init()
 1.5 06-Feb-2001  wdk branches: 1.5.2;
Make booted_device struct visible to RAIDframe driver
 1.4 26-Sep-2000  wdk branches: 1.4.2;
Add stand directory to build process
 1.3 16-Aug-2000  wdk Parse bootflags and attempt to find the root device from the boot command line
 1.2 15-Aug-2000  wdk * Tidy up interrupt handlers by implementing an intr_establish()
handler to hook up device interrupts and softc callbacks.

Suggested by: Jason Thorpe and Toru Nishimura

* Fixup the indenting in a few places to conform to NetBSD style
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.4.2.4 21-Apr-2001  bouyer Sync with HEAD
 1.4.2.3 11-Feb-2001  bouyer Sync with HEAD.
 1.4.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.2.1 26-Sep-2000  bouyer file autoconf.c was added on branch thorpej_scsipi on 2000-11-20 20:14:10 +0000
 1.5.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.6.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.6.8.1 31-Mar-2001  nathanw file autoconf.c was added on branch nathanw_sa on 2002-10-18 02:38:53 +0000
 1.6.2.1 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.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.8.2.4 02-Nov-2004  skrll 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.14.2.2 07-Dec-2007  yamt sync with head
 1.14.2.1 21-Jun-2006  yamt sync with head.
 1.15.6.1 22-Apr-2006  simonb Sync with head.
 1.15.4.1 09-Sep-2006  rpaulo sync with head
 1.15.2.1 01-Mar-2006  yamt sync with head.
 1.16.6.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.16.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.16.2.1 01-Apr-2006  yamt sync with head.
 1.17.44.1 08-Dec-2007  mjf Sync with HEAD.
 1.17.38.1 09-Jan-2008  matt sync with HEAD
 1.17.36.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.17.18.1 03-Dec-2007  ad Sync with HEAD.
 1.18.36.1 29-Dec-2010  matt Adapt to the new interrupt framework.
(XXX hpcmips still has calls to _spllower which are not supported.)
 1.18.32.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.18.26.1 28-Apr-2009  skrll Sync with HEAD.
 1.18.18.2 11-Mar-2010  yamt sync with head
 1.18.18.1 04-May-2009  yamt sync with head.
 1.22.8.2 05-Mar-2011  bouyer Sync with HEAD
 1.22.8.1 17-Feb-2011  bouyer Sync with HEAD
 1.22.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.22.4.1 05-Mar-2011  rmind sync with head
 1.24.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.24.4.1 30-Oct-2012  yamt sync with head
 1.25.2.3 03-Dec-2017  jdolecek update from HEAD
 1.25.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.25.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.26.10.1 10-Aug-2014  tls Rebase.
 1.27.4.1 28-Aug-2017  skrll Sync with HEAD
 1.32 26-Apr-2025  tsutsui Unbreak bus_dmamem_map for mipsco.

Patch is sent from Miod Vallat:
> The switch to common code in 2009 did not account for private fields in
> bus_dma_segment_t, which are now left uninitialized but were relied upon
> by bus_dmamem_map().
>
> Remove these fields as their values were trivial to compute from the MI
> fields.
>
> This gives Ethernet and SCSI a chance to work again on this platform.

"switch to common code in 2009" was the following commit:
https://mail-index.netbsd.org/source-changes/2009/08/21/msg224405.html

We should eventually switch to the common mips bus_dma and it still
requires private _ds_vaddr for VIPT cache in MIPS3 case, but for now
his priority is to unbreak the code before attempting to improve it.

Note it looks the private _ds_paddr for mipsco was also pulled from
NetBSD/arc, where DMA address != physical address on jazzio devices.
 1.31 26-Jul-2022  andvar branches: 1.31.4; 1.31.10;
s/functin/function/ in copy pasted comment.
 1.30 21-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.29 11-Jun-2015  matt branches: 1.29.30;
Add struct pmap_limits and pm_{min,max}addr from uvm/pmap/map.h and use it to
store avail_start, avail_end, virtual_start, and virtual_end.
Remove iospace and let emips just bump pmap_limits.virtual_start to get the
VA space it needs.
pmap_segtab.c is almost identical to uvm/pmap/pmap_segtab.c now. It won't
be long until we switch to the uvm/pmap one.
 1.28 02-Oct-2012  christos branches: 1.28.14;
move common/bus_dma/ -> dev/bus_dma/
 1.27 12-Feb-2012  matt branches: 1.27.6;
Change old-style function defintions to C89 prototypes.

Approved by releng.
 1.26 20-Feb-2011  matt branches: 1.26.4; 1.26.8;
Merge forward matt-nb5-mips64
Adapt to new interrupt/spl framework
 1.25 21-Aug-2009  thorpej branches: 1.25.4; 1.25.6; 1.25.8;
Use bus_dmamem_common.
 1.24 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.23 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.22 04-Jun-2008  ad branches: 1.22.6; 1.22.12; 1.22.16;
vm_page: put TAILQ_ENTRY into a union with LIST_ENTRY, so we can use both.
 1.21 28-Apr-2008  martin branches: 1.21.2;
Remove clause 3 and 4 from TNF licenses
 1.20 04-Mar-2007  christos branches: 1.20.40; 1.20.42; 1.20.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.19 01-Mar-2006  yamt branches: 1.19.20;
merge yamt-uio_vmspace branch.

- use vmspace rather than proc or lwp where appropriate.
the latter is more natural to specify an address space.
(and less likely to be abused for random purposes.)
- fix a swdmover race.
 1.18 11-Dec-2005  christos branches: 1.18.2; 1.18.4; 1.18.6;
merge ktrace-lwp.
 1.17 24-Nov-2005  yamt bus_dmamem_map: honour BUS_DMA_NOWAIT. noted by Manuel Bouyer.
bus_space_map: always do NOWAIT allocation as it used to be before yamt-km.

we have too many copies!
 1.16 01-Apr-2005  yamt branches: 1.16.2; 1.16.8;
merge yamt-km branch.
- don't use managed mappings/backing objects for wired memory allocations.
save some resources like pv_entry. also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.
 1.15 09-Mar-2005  matt Add a dm_maxsegsz public member to bus_dmamap_t. This allows a user of the API
to select the maximum segment size for each bus_dmamap_load (up to the maxsegsz
supplied to bus_dmamap_create). dm_maxsegsz is reset to the value supplied to
bus_dmamap_create when the dmamap is unloaded.
 1.14 28-Nov-2004  thorpej branches: 1.14.4; 1.14.6;
bus_dmamap_load_mbuf(): Skip zero-length mbufs.
kern/24811
 1.13 15-Jul-2003  lukem __KERNEL_RCSID()
 1.12 29-Jun-2003  fvdl branches: 1.12.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.11 28-Jun-2003  darrenr Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records. The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
 1.10 02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.9 02-Jun-2002  drochner move initialization of the "struct pglist" returned by uvm_pglistalloc()
from the calling code into uvm_pglistalloc() itself for consistency
and easier error handling
 1.8 15-Dec-2001  wdk branches: 1.8.8;
Revert back to invalidating cache during BUS_DMASYNC_POSTREAD instead of
during BUS_DMASYNC_PREREAD.

Fixes problem where SCSI bus probe didn't read meaningful identity data.

Technically there should be no difference between invalidating before or
after the DMA, but for reasons known only to the R3000 this fixes the
problem. Some thought needs to be given to whether there is a performace
difference between these two cases.
 1.7 14-Nov-2001  thorpej branches: 1.7.2;
Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
 1.6 28-Sep-2001  chs branches: 1.6.2;
don't depend on other headers to include sys/proc.h for us.
 1.5 10-Sep-2001  chris Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
 1.4 08-Jul-2001  wdk branches: 1.4.2; 1.4.4;
change b*() -> mem*()
 1.3 26-May-2001  chs replace vm_page_t with struct vm_page *.
 1.2 24-Apr-2001  thorpej Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative. It may be possible to
optimize these a little more.
 1.1 12-Aug-2000  wdk branches: 1.1.2; 1.1.4;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file bus_dma.c was added on branch thorpej_scsipi on 2000-11-20 20:14:10 +0000
 1.4.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.4.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.6.2.1 13-Nov-2001  thorpej Make the mipsco port compile with the thorpej-mips-cache branch.
 1.7.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.7.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.7.2.1 14-Nov-2001  nathanw file bus_dma.c was added on branch nathanw_sa on 2002-01-08 00:26:29 +0000
 1.8.8.1 14-Jul-2002  gehenna catch up with -current.
 1.12.2.8 11-Dec-2005  christos Sync with head.
 1.12.2.7 01-Apr-2005  skrll Sync with HEAD.
 1.12.2.6 19-Feb-2005  skrll Don't deref a NULL struct lwp *. This shouldn't happen, but...
 1.12.2.5 18-Dec-2004  skrll Sync with HEAD.
 1.12.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.12.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.12.2.2 03-Aug-2004  skrll Sync with HEAD
 1.12.2.1 02-Jul-2003  darrenr Apply the aborted ktrace-lwp changes to a specific branch. This is just for
others to review, I'm concerned that patch fuziness may have resulted in some
errant code being generated but I'll look at that later by comparing the diff
from the base to the branch with the file I attempt to apply to it. This will,
at the very least, put the changes in a better context for others to review
them and attempt to tinker with removing passing of 'struct lwp' through
the kernel.
 1.14.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.14.6.1 11-Feb-2005  yamt use new apis.
 1.14.4.1 29-Apr-2005  kent sync with -current
 1.16.8.1 29-Nov-2005  yamt sync with head.
 1.16.2.2 03-Sep-2007  yamt sync with head.
 1.16.2.1 21-Jun-2006  yamt sync with head.
 1.18.6.1 22-Apr-2006  simonb Sync with head.
 1.18.4.1 09-Sep-2006  rpaulo sync with head
 1.18.2.3 19-Feb-2006  yamt fix a compilation problem in the previous.
 1.18.2.2 19-Feb-2006  yamt adapt _bus_dmamap_load_buffer.
 1.18.2.1 18-Feb-2006  yamt adapt the rest of MD code.
 1.19.20.1 12-Mar-2007  rmind Sync with HEAD.
 1.20.44.3 16-Sep-2009  yamt sync with head
 1.20.44.2 04-May-2009  yamt sync with head.
 1.20.44.1 16-May-2008  yamt sync with head.
 1.20.42.2 17-Jun-2008  yamt sync with head.
 1.20.42.1 18-May-2008  yamt sync with head.
 1.20.40.2 05-Jun-2008  mjf Sync with HEAD.

Also fix build.
 1.20.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.21.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.22.16.2 20-Jan-2010  matt Adjust things to the new world order.
 1.22.16.1 14-Jan-2010  matt Deal with various changes with avail_end and avail_start, etc.
 1.22.12.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.22.6.1 28-Apr-2009  skrll Sync with HEAD.
 1.25.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.25.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.25.4.1 05-Mar-2011  rmind sync with head
 1.26.8.1 18-Feb-2012  mrg merge to -current.
 1.26.4.2 30-Oct-2012  yamt sync with head
 1.26.4.1 17-Apr-2012  yamt sync with head
 1.27.6.2 03-Dec-2017  jdolecek update from HEAD
 1.27.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.28.14.1 22-Sep-2015  skrll Sync with HEAD
 1.29.30.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.31.10.1 02-Aug-2025  perseant Sync with HEAD
 1.31.4.1 09-May-2025  martin Pull up following revision(s) (requested by tsutsui in ticket #1107):

sys/arch/mipsco/mipsco/bus_dma.c: revision 1.32
sys/arch/mipsco/include/bus.h: revision 1.27

Unbreak bus_dmamem_map for mipsco.

Patch is sent from Miod Vallat:
The switch to common code in 2009 did not account for private fields in
bus_dma_segment_t, which are now left uninitialized but were relied upon
by bus_dmamem_map().
Remove these fields as their values were trivial to compute from the MI
fields.

This gives Ethernet and SCSI a chance to work again on this platform.
"switch to common code in 2009" was the following commit:

https://mail-index.netbsd.org/source-changes/2009/08/21/msg224405.html

We should eventually switch to the common mips bus_dma and it still
requires private _ds_vaddr for VIPT cache in MIPS3 case, but for now
his priority is to unbreak the code before attempting to improve it.

Note it looks the private _ds_paddr for mipsco was also pulled from
NetBSD/arc, where DMA address != physical address on jazzio devices.
 1.14 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.13 08-Dec-2023  thorpej Excise extent(9) from the mipsco bus_space -- it was completely unused,
so let's make the code smaller.
 1.12 27-Jan-2012  para converting extent(9) from malloc(9) to kmem(9)
preceding kmem-vmem-pool-uvm patch

releng@ acknowledged
 1.11 18-Mar-2009  cegger branches: 1.11.12; 1.11.16;
Ansify function definitions w/o arguments. Generated with sed.
 1.10 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.9 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.8 28-Apr-2008  martin branches: 1.8.8; 1.8.14;
Remove clause 3 and 4 from TNF licenses
 1.7 04-Mar-2007  christos branches: 1.7.40; 1.7.42; 1.7.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.6 11-Dec-2005  christos branches: 1.6.26;
merge ktrace-lwp.
 1.5 15-Jul-2003  lukem branches: 1.5.16;
__KERNEL_RCSID()
 1.4 27-Sep-2002  provos branches: 1.4.6;
remove trailing \n in panic(). approved perry.
 1.3 15-Sep-2001  wdk branches: 1.3.4;
bus_space_mmap support based on -arc implementation
 1.2 30-Mar-2001  wdk branches: 1.2.2; 1.2.4;
Re-implement bus_space(9) functions:
- Correctly handle striding of data
- Better support for endian neutral access
- Correctly implement _stream variants of bus_space functions that can
byte swap. This reverses the automatic byte swapping done in hardware
for 16 bit ISA bus cards
 1.1 12-Aug-2000  wdk branches: 1.1.2; 1.1.4;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.4.1 09-Apr-2001  nathanw Catch up with -current.
 1.1.2.3 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file bus_space.c was added on branch thorpej_scsipi on 2000-11-20 20:14:10 +0000
 1.2.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.2.2.2 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.2.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.4.2 18-Oct-2002  nathanw Catch up to -current.
 1.3.4.1 15-Sep-2001  nathanw file bus_space.c was added on branch nathanw_sa on 2002-10-18 02:38:53 +0000
 1.4.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.6.1 03-Aug-2004  skrll Sync with HEAD
 1.5.16.1 03-Sep-2007  yamt sync with head.
 1.6.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.7.44.2 04-May-2009  yamt sync with head.
 1.7.44.1 16-May-2008  yamt sync with head.
 1.7.42.1 18-May-2008  yamt sync with head.
 1.7.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.11.16.1 18-Feb-2012  mrg merge to -current.
 1.11.12.1 17-Apr-2012  yamt sync with head
 1.11 20-Jul-2024  andvar fix typos in comments, mainly s/harware/hardware/.
 1.10 08-Feb-2011  rmind branches: 1.10.92;
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.9 18-Mar-2009  cegger branches: 1.9.4; 1.9.6; 1.9.8;
Ansify function definitions w/o arguments. Generated with sed.
 1.8 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.7 15-Sep-2006  gdamore branches: 1.7.58; 1.7.66; 1.7.72;
Convert mipsco to generic TODR and TC. Compile tested only. If the
port-mipsco mailing list is any indication, nobody has actually run netbsd
on this port for several years.
 1.6 11-Dec-2005  christos branches: 1.6.20;
merge ktrace-lwp.
 1.5 05-Jul-2004  pk branches: 1.5.12;
Call inittodr() from main(). Let file system code set the recorded `last
update' time (if any) through the new function setrootfstime().
 1.4 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.3 15-Jul-2003  lukem __KERNEL_RCSID()
 1.2 29-Aug-2000  wdk branches: 1.2.2; 1.2.26;
Don't trust the realtime clock if the data is before 1988. This is
consistant with other ports.

Prevent uninitialized time from being written back to the RTC (1-Jan-1970)
if the machine is halted from the root device name prompt
(bootflags & RB_ASKNAME)
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.2.26.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.26.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.26.1 03-Aug-2004  skrll Sync with HEAD
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 29-Aug-2000  bouyer file clock.c was added on branch thorpej_scsipi on 2000-11-20 20:14:10 +0000
 1.5.12.1 30-Dec-2006  yamt sync with head.
 1.6.20.1 18-Nov-2006  ad Sync with head.
 1.7.72.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.7.66.1 28-Apr-2009  skrll Sync with HEAD.
 1.7.58.1 04-May-2009  yamt sync with head.
 1.9.8.1 17-Feb-2011  bouyer Sync with HEAD
 1.9.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.9.4.1 05-Mar-2011  rmind sync with head
 1.10.92.1 02-Aug-2025  perseant Sync with HEAD
 1.9 26-Oct-2002  jdolecek now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies
 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 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.6 17-Jun-2002  christos MD systrace gluons.
 1.5 12-Jan-2002  manu branches: 1.5.8;
Added clockctl
 1.4 15-Sep-2001  wdk branches: 1.4.4;
Add lpt device
 1.3 30-Mar-2001  wdk branches: 1.3.2; 1.3.4;
Add ISA serial port device
 1.2 02-Oct-2000  wdk branches: 1.2.2; 1.2.4;
Fixup missing entries in chrtoblktbl
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.2.4.1 09-Apr-2001  nathanw Catch up with -current.
 1.2.2.3 21-Apr-2001  bouyer Sync with HEAD
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 02-Oct-2000  bouyer file conf.c was added on branch thorpej_scsipi on 2000-11-20 20:14:10 +0000
 1.3.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.3.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.3.2.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.3.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.3.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.4.6 11-Nov-2002  nathanw Catch up to -current
 1.4.4.5 17-Sep-2002  nathanw Catch up to -current.
 1.4.4.4 01-Aug-2002  nathanw Catch up to -current.
 1.4.4.3 20-Jun-2002  nathanw Catch up to -current.
 1.4.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.4.4.1 15-Sep-2001  nathanw file conf.c was added on branch nathanw_sa on 2002-02-28 04:10:47 +0000
 1.5.8.3 21-Jul-2002  gehenna catch up with -current.
 1.5.8.2 14-Jul-2002  gehenna catch up with -current.
 1.5.8.1 16-May-2002  gehenna Bye block/character device swicth tables.
 1.12 03-Mar-2022  riastradh mips: Use device_set_private for cpuN on older ports.

Specifically, for those that don't use cpu_attach_common of
mips_subr.c.
 1.11 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.10 20-Feb-2011  matt branches: 1.10.4; 1.10.14;
Merge forward matt-nb5-mips64
Adapt to new interrupt/spl framework
 1.9 14-Mar-2009  dsl branches: 1.9.4; 1.9.6; 1.9.8;
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.8 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.7 11-Dec-2005  christos branches: 1.7.78; 1.7.86; 1.7.92; 1.7.96;
merge ktrace-lwp.
 1.6 15-Jul-2003  lukem __KERNEL_RCSID()
 1.5 02-Oct-2002  thorpej branches: 1.5.6;
Use CFATTACH_DECL().
 1.4 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.3 14-Nov-2001  thorpej branches: 1.3.2;
Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
 1.2 27-Jun-2001  nisimura branches: 1.2.2; 1.2.6;
Do a straight and simple cpu identification in cpu_attach().
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file cpu.c was added on branch thorpej_scsipi on 2000-11-20 20:14:10 +0000
 1.2.6.1 13-Nov-2001  thorpej Make the mipsco port compile with the thorpej-mips-cache branch.
 1.2.2.2 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.2.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.2.2 18-Oct-2002  nathanw Catch up to -current.
 1.3.2.1 14-Nov-2001  nathanw file cpu.c was added on branch nathanw_sa on 2002-10-18 02:38:53 +0000
 1.5.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.6.1 03-Aug-2004  skrll Sync with HEAD
 1.7.96.2 23-Dec-2011  matt Change usage to cpu_identify(self, NULL);
 1.7.96.1 13-Jan-2010  matt Deal with new cpu_identity()
 1.7.92.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.7.86.1 28-Apr-2009  skrll Sync with HEAD.
 1.7.78.1 04-May-2009  yamt sync with head.
 1.9.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.9.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.9.4.1 05-Mar-2011  rmind sync with head
 1.10.14.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.10.4.1 30-Oct-2012  yamt sync with head
 1.29 24-May-2022  andvar fix various typos in comments, docs and log messages.
 1.28 03-Apr-2019  christos centralize setdisklabel(9)
 1.27 16-Mar-2009  dsl branches: 1.27.64;
ANSIfy functions with function-pointer arguments
 1.26 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.25 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.24 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.23 02-Jan-2008  ad branches: 1.23.10; 1.23.18; 1.23.24;
Merge vmlocking2 to head.
 1.22 24-Dec-2007  ad b_un.b_addr -> b_data
 1.21 17-Oct-2007  garbled branches: 1.21.2; 1.21.4; 1.21.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.20 08-Oct-2007  ad Merge brelse() changes from the vmlocking branch.
 1.19 07-Mar-2007  he branches: 1.19.2; 1.19.6; 1.19.10; 1.19.18; 1.19.20; 1.19.22;
Cast to char* before doint pointer arithmetic.
 1.18 25-Nov-2006  scw branches: 1.18.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.17 11-Dec-2005  christos branches: 1.17.20; 1.17.22;
merge ktrace-lwp.
 1.16 09-Jun-2005  he branches: 1.16.2;
Add consts to make this build with -Wcast-qual.
 1.15 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.14 15-Jul-2003  lukem __KERNEL_RCSID()
 1.13 24-May-2003  tsutsui branches: 1.13.2;
SBSIZE -> SBLOCKSIZE
 1.12 10-May-2003  thorpej 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.11 02-May-2003  dsl Change return type of readdisklabel() to const char *
I hope I've found all the correct places!
 1.10 05-Mar-2002  simonb Don't cast argument to ffs() to long.
Per discussion on port-alpha, noticed by Robert Elz.
 1.9 19-Feb-2002  wiz strategy should have an 'r'. Inspired by similar change in OpenBSD.
 1.8 08-Jul-2001  wdk branches: 1.8.2; 1.8.4; 1.8.8;
change b*() -> mem*()
 1.7 11-Jun-2001  wiz Fix various misspellings of compatible/compatibility.
 1.6 05-Mar-2001  wdk branches: 1.6.2;
- brelse() was called twice after reading disk label
- re-read RISC/os volume header off disk before writing new label
in case it was updated by installboot utility
- no longer keep a copy of the volume header in cpu_disklabel
 1.5 20-Nov-2000  chs branches: 1.5.2;
rationalize the use of b_flags for geteblk() buffers.
rather than assigning to the whole field, set or clear individual flags,
which implies that the B_BUSY and B_INVAL flags will remain set.
this allows us to make the assertion in brelse() that B_BUSY is set,
which is the purpose of all this.
 1.4 16-Sep-2000  wdk Write a NetBSD disklabel to 2nd sector while retaining the Mips volume
header in the ist sector. We now use the NetBSD label in preference
to the Mips Volume header.
 1.3 04-Sep-2000  wdk * Add extra tests to ensure NetBSD disklabel is not corrupted

* For MIPS RISC/os based diskl labels create partition 8 which is used
by sash (and where bootstrap code hides).

* If existing MIPS RISC/os label is present update disk parameter information
 1.2 22-Aug-2000  wdk * Tidy up reading of Mips volume header information
All compatable values are copied from the MIPS volume header to the
BSD disklabel structures.

* Add support for writing Mips volume header.

* Remove support for writing NetBSD label directly (this was broken)

These changes allow the kernel to read either a BSD disklabel created under
NetBSD/sparc or a MIPS volume header created under RISC/os.

There is a small amount of losage with the conversion between the 2
types of disk labels (mainly to do with file system types).
A table is used to map partition numbers and types between the two
types, and unless someone does something real fancy (or crazy) it should
work in both senario's

This change will allow the stand alone shell to directly load a NetBSD
kernel and mount a file system, avoiding the need for a seperate disk or
bootp server to bootstrapping NetBSD.

NetBSD/mipsco is now self sufficiant. We are not far from having a
miniroot filesystem and removing the need to have another NetBSD
machine to create the base filesystems.

Minor Trap for young players:
The root partition must be created with 'newfs -O' in order for the
stand alone shell to boot the kernel

TODO:
Add support for writing NetBSD disk labels back in - it will be useful
for non boot disks. I'm just not sure how to control the 2 behavours
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.5.2.4 12-Mar-2001  bouyer Sync with HEAD.
 1.5.2.3 22-Nov-2000  bouyer Sync with HEAD.
 1.5.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.2.1 20-Nov-2000  bouyer file disksubr.c was added on branch thorpej_scsipi on 2000-11-20 20:14:10 +0000
 1.6.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.8.8.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.8.8.2 28-Feb-2002  nathanw Catch up to -current.
 1.8.8.1 08-Jul-2001  nathanw file disksubr.c was added on branch nathanw_sa on 2002-02-28 04:10:47 +0000
 1.8.4.1 10-Oct-2001  fvdl Convert all remaining devices.
 1.8.2.1 16-Mar-2002  jdolecek Catch up with -current.
 1.13.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.13.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.13.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.13.2.1 03-Aug-2004  skrll Sync with HEAD
 1.16.2.4 21-Jan-2008  yamt sync with head
 1.16.2.3 27-Oct-2007  yamt sync with head.
 1.16.2.2 03-Sep-2007  yamt sync with head.
 1.16.2.1 30-Dec-2006  yamt sync with head.
 1.17.22.1 10-Dec-2006  yamt sync with head.
 1.17.20.1 12-Jan-2007  ad Sync with head.
 1.18.4.1 12-Mar-2007  rmind Sync with HEAD.
 1.19.22.1 14-Oct-2007  yamt sync with head.
 1.19.20.2 09-Jan-2008  matt sync with HEAD
 1.19.20.1 06-Nov-2007  matt sync with HEAD
 1.19.18.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.19.10.1 16-Oct-2007  garbled Sync with HEAD
 1.19.6.1 19-Mar-2007  reinoud Remove direct references to buf->b_un.b_addr instead of using buf->b_data.
This allows UVM- or other structures to be used eventually.
 1.19.2.1 09-Oct-2007  ad Sync with head.
 1.21.8.1 02-Jan-2008  bouyer Sync with HEAD
 1.21.4.2 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.21.4.1 26-Dec-2007  ad Sync with head.
 1.21.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.23.24.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.23.18.1 28-Apr-2009  skrll Sync with HEAD.
 1.23.10.1 04-May-2009  yamt sync with head.
 1.27.64.1 10-Jun-2019  christos Sync with HEAD
 1.13 26-Apr-2025  tsutsui Move ipl_sr_map to model-specific file and add IPL_DDB entry.

This will help adding support for other mipsco systems such as
the RC3240 eventually.

Patch from Miod Vallat.
 1.12 20-Dec-2023  thorpej branches: 1.12.2;
Remove unnecessary <sys/malloc.h>.
 1.11 20-Feb-2011  matt Merge forward matt-nb5-mips64
Adapt to new interrupt/spl framework
 1.10 20-Dec-2010  matt branches: 1.10.2; 1.10.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.9 15-Dec-2009  mrg branches: 1.9.4;
convert all mips cpu_intr() to have the standard
(uint32_t, uint32_t, vaddr_t, uint32_t) signature.
 1.8 14-Dec-2009  matt Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.7 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.6 28-Apr-2008  martin branches: 1.6.8; 1.6.14; 1.6.18;
Remove clause 3 and 4 from TNF licenses
 1.5 03-Dec-2007  ad branches: 1.5.14; 1.5.16; 1.5.18;
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.4 21-Dec-2006  yamt branches: 1.4.6; 1.4.22; 1.4.24; 1.4.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.3 11-Dec-2005  christos branches: 1.3.20; 1.3.22;
merge ktrace-lwp.
 1.2 15-Jul-2003  lukem branches: 1.2.16;
__KERNEL_RCSID()
 1.1 30-Mar-2001  wdk branches: 1.1.2; 1.1.4; 1.1.12; 1.1.28;
Implement MI softintr functions (softintr_establish, softintr_schedule etc)
 1.1.28.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.28.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.28.1 03-Aug-2004  skrll Sync with HEAD
 1.1.12.2 30-Mar-2001  wdk Implement MI softintr functions (softintr_establish, softintr_schedule etc)
 1.1.12.1 30-Mar-2001  wdk file interrupt.c was added on branch nathanw_sa on 2001-03-30 23:21:31 +0000
 1.1.4.2 21-Apr-2001  bouyer Sync with HEAD
 1.1.4.1 30-Mar-2001  bouyer file interrupt.c was added on branch thorpej_scsipi on 2001-04-21 17:54:05 +0000
 1.1.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.2.16.2 07-Dec-2007  yamt sync with head
 1.2.16.1 30-Dec-2006  yamt sync with head.
 1.3.22.3 02-Dec-2006  yamt fix a typo.
 1.3.22.2 02-Dec-2006  yamt fix some mistakes in the previous.
 1.3.22.1 02-Dec-2006  yamt implement splraiseipl/makeiplcookie for mipsco.
 1.3.20.1 12-Jan-2007  ad Sync with head.
 1.4.30.1 08-Dec-2007  mjf Sync with HEAD.
 1.4.24.1 09-Jan-2008  matt sync with HEAD
 1.4.22.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.4.6.1 03-Dec-2007  ad Sync with HEAD.
 1.5.18.3 11-Mar-2010  yamt sync with head
 1.5.18.2 04-May-2009  yamt sync with head.
 1.5.18.1 16-May-2008  yamt sync with head.
 1.5.16.1 18-May-2008  yamt sync with head.
 1.5.14.1 02-Jun-2008  mjf Sync with HEAD.
 1.6.18.2 29-Dec-2010  matt Adapt to the new interrupt framework.
(XXX hpcmips still has calls to _spllower which are not supported.)
 1.6.18.1 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.6.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.6.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.9.4.1 05-Mar-2011  rmind sync with head
 1.10.4.1 05-Mar-2011  bouyer Sync with HEAD
 1.10.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.12.2.1 02-Aug-2025  perseant Sync with HEAD
 1.7 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.6 11-Dec-2005  christos branches: 1.6.74; 1.6.76; 1.6.78;
merge ktrace-lwp.
 1.5 31-May-2005  chs remove vestigal {,e}intr{names,cnt} symbols now that vmstat doesn't need them.
 1.4 09-Jun-2003  simonb branches: 1.4.2;
Remove definitions and usage of MIPS_COP_0_STATUS_REG and
MIPS_COP_0_CAUSE_REG - use MIPS_COP_0_STATUS and MIPS_COP_0_CAUSE
instead.
 1.3 01-Jun-2002  simonb Standardise on the name "MIPS_SR_BEV" instead of a couple of different
#defines for the same status bit.
 1.2 19-Aug-2000  wdk branches: 1.2.2; 1.2.6; 1.2.10; 1.2.18;
- Add support for calling most prom firmware functions

- Using the prom getenv function determine the correct console port

- Remove old prom function hooks

- Tidy up bootflags (remove upper case names, fixup RB_ASKNAME) as
recommended by Jarom�r Dole�ek
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.2.18.1 14-Jul-2002  gehenna catch up with -current.
 1.2.10.1 20-Jun-2002  nathanw Catch up to -current.
 1.2.6.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 19-Aug-2000  bouyer file locore_machdep.S was added on branch thorpej_scsipi on 2000-11-20 20:14:10 +0000
 1.4.2.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.6.78.1 16-May-2008  yamt sync with head.
 1.6.76.1 18-May-2008  yamt sync with head.
 1.6.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.82 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.81 06-Mar-2023  andvar fix few typos in comments and log messages.
 1.80 22-Dec-2016  cherry switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.79 26-Jun-2015  matt branches: 1.79.2;
Cleanup includes
Use cpu_startup_common()
 1.78 08-Jun-2014  he branches: 1.78.4;
Kill a pair of set-but-not-used local variables.
 1.77 24-Mar-2014  christos branches: 1.77.2;
use cpu_{g,s}etmodel
 1.76 28-Jul-2012  matt branches: 1.76.2; 1.76.4;
Fix -fno-common fallout.
 1.75 28-Jul-2012  matt Remove declartions of physmem
 1.74 20-Feb-2011  matt branches: 1.74.4;
Merge forward matt-nb5-mips64
Adapt to new interrupt/spl framework
 1.73 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.72 02-Mar-2010  pooka branches: 1.72.2; 1.72.4; 1.72.6;
Remove fs_mfs.h from users because it is now unnecessary and don't
generate fs_mfs.h anymore.
 1.71 08-Feb-2010  joerg 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.70 16-Dec-2009  matt branches: 1.70.2;
Fix various build with the 32bit mips ports after the mips64 merge.
 1.69 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.68 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.67 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.66 16-Mar-2009  dsl ANSIfy functions with function-pointer arguments
 1.65 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.64 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.63 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.62 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.61 30-Nov-2008  martin branches: 1.61.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.60 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.59 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.58 02-Jul-2008  ad branches: 1.58.2; 1.58.4; 1.58.10;
Replce exec_map with a pool. Proposed on tech-kern@, reviewed by chs@.
 1.57 17-Oct-2007  garbled branches: 1.57.16; 1.57.20; 1.57.22; 1.57.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.56 17-May-2007  yamt branches: 1.56.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.55 21-Mar-2007  tsutsui branches: 1.55.4;
Use make some void * variables char * instead of sprinkling casts
for pointer arithmetics.
 1.54 07-Mar-2007  he branches: 1.54.2; 1.54.4; 1.54.6;
Cast to char* before doing pointer arithmetic.
 1.53 05-Mar-2007  dogcow semimechanically convert 'void foo' -> 'void *foo', as part of the continuing
caddr_t fallout.
 1.52 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.51 28-Feb-2007  thorpej TRUE -> true, FALSE -> false
 1.50 09-Feb-2007  ad branches: 1.50.2;
Merge newlock2 to head.
 1.49 24-Jan-2007  hubertf Remove duplicate #includes, patch contributed in private mail
by Slava Semushin <slava.semushin@gmail.com>.

To verify that no nasty side effects of duplicate includes (or their
removal) have an effect here, I've compiled an i386/ALL kernel with
and without the patch, and the only difference in the resulting .o
files was in shifted line numbers in some assert() calls.
The comparison of the .o files was based on the output of "objdump -D".

Thanks to martin@ for the input on testing.
 1.48 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.47 15-Sep-2006  gdamore branches: 1.47.2;
Convert mipsco to generic TODR and TC. Compile tested only. If the
port-mipsco mailing list is any indication, nobody has actually run netbsd
on this port for several years.
 1.46 09-Apr-2006  tsutsui branches: 1.46.8;
Remove declarations for cpu_model[] since it's in <sys/systm.h>.
 1.45 11-Dec-2005  christos branches: 1.45.4; 1.45.6; 1.45.8; 1.45.10; 1.45.12;
merge ktrace-lwp.
 1.44 09-Jun-2005  he branches: 1.44.2;
Add consts to make this build with -Wcast-qual.
 1.43 25-Apr-2005  lukem 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.42 08-Mar-2004  jmc branches: 1.42.8;
Nuke unused var
 1.41 13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.40 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.39 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.38 26-Apr-2003  ragge branches: 1.38.2;
Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
 1.37 02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.36 17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.35 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.34 25-Sep-2002  thorpej Don't include <sys/map.h>.
 1.33 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.32 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.31 04-Aug-2002  gmcgarry 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.30 15-Sep-2001  wdk branches: 1.30.4; 1.30.12;
Remove unused extern
 1.29 10-Sep-2001  chris Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
 1.28 08-Jul-2001  wdk branches: 1.28.2; 1.28.4;
change b*() -> mem*()
 1.27 02-Jun-2001  chs replace vm_map{,_entry}_t with struct vm_map{,_entry} *.
 1.26 30-May-2001  lukem add missing #include "opt_kgdb.h"
 1.25 28-Apr-2001  wdk Move previous patch which performs allocsys() before pmap_bootstrap()
to the correct location.
 1.24 24-Apr-2001  thorpej Do the first allocsys() pass (the pass that computes sizes) before
calling pmap_bootstrap(); pmap_bootstrap() needs some of the size
information computed by allocsys().
 1.23 24-Apr-2001  thorpej Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative. It may be possible to
optimize these a little more.
 1.22 23-Apr-2001  thorpej Call pmap_bootstrap() before calling uvm_pageboot_alloc(), so that
the kernel virtual address space bounds will be set up.
 1.21 22-Apr-2001  thorpej Use uvm_pageboot_alloc() for early memory allocation, rather than
calling pmap_steal_memory() directly. On these platforms, since
uvm_pageboot_alloc() is a wrapper around pmap_steal_memory(), there
is no functional change. This is merely for API consistency.
 1.20 30-Mar-2001  wdk Move most interrupt functionality to arch/mipsco/mipsco/interrupt.c

Remove old style soft interrupts to favor MI softintr support
 1.19 15-Mar-2001  chs eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS 0
KERN_INVALID_ADDRESS EFAULT
KERN_PROTECTION_FAILURE EACCES
KERN_NO_SPACE ENOMEM
KERN_INVALID_ARGUMENT EINVAL
KERN_FAILURE various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE ENOMEM
KERN_NOT_RECEIVER <unused>
KERN_NO_ACCESS <unused>
KERN_PAGES_LOCKED <unused>
 1.18 11-Mar-2001  wdk 1. Remove cpu_exec_ecoff_hook
2. Invoke KGDB if booted with RB_KDB flag
3. Don't round up page address when zeroing BSS - this can overwrite debug
symbols
 1.17 21-Feb-2001  wdk branches: 1.17.2;
Return microtime of zero if not available at early stages of device
autoconfiguration.
 1.16 21-Feb-2001  wdk Call KGDB hook function
 1.15 22-Jan-2001  jdolecek Require the machine-dependant DDB commands to be in db_machine_command_table[]
and link it directly to db_command_table[] so that it's not necessary
to do this at runtime. Make db_machine_command_table[] const on all ports.
g/c now unneded stuff, like db_machine_commands_install(), db_machine_init()

Patch written by enami.
 1.14 15-Jan-2001  thorpej Make softclock a generic soft interrupt of the API is available,
adding the requisite void * argument to softclock().
 1.13 27-Nov-2000  soren Consistently use pmap_steal_memory() to allocate USPACE.
 1.12 02-Oct-2000  wdk branches: 1.12.2;
Boot to multiuser by default.
 1.11 24-Sep-2000  jdolecek add new macro BOOT_FLAG() (defined in <sys/boot_flag.h>) - this
maps standard boot flags to corresponding RB_* values
use BOOT_FLAG() in port's MD code as appropriate

as discussed on tech-kern, add new boot flags -v, -q for booting
verbosely or quietly, and corresponding AB_VERBOSE/AB_QUIET
boot flags; also add FreeBSD-compatible bootverbose macro and
NetBSD-specific bootquiet macro

for hpcmips, use new bootverbose instead of it's own hpcmips_verbose

Tested on i386, and to limited extend (compile of affected files) also for
mvme68k, hp300, luna68k, sun3.
 1.10 16-Sep-2000  wdk Add missing align argument to uvm_map() which was missed by thorpej during
original commit.
 1.9 16-Sep-2000  wdk Add support for bootinfo structure to be passed from 2nd stage bootstrap.
Pass symbol table information to DDB if available.
 1.8 10-Sep-2000  nisimura RB_DFLTROOT is obsolute and G/C'ed from main trunk at late Jul of 2000.
 1.7 06-Sep-2000  wdk Microtime calculation was seriously incorrect when HZ != 100

Give rest of clock interrupt code a revamp. Because we are using an external
cycle counter we can now handle loosing several hundred interrupts without
the time slipping.
 1.6 29-Aug-2000  wdk Report memory sizes using format_bytes(9) kernel function
 1.5 19-Aug-2000  wdk - Add support for calling most prom firmware functions

- Using the prom getenv function determine the correct console port

- Remove old prom function hooks

- Tidy up bootflags (remove upper case names, fixup RB_ASKNAME) as
recommended by Jarom�r Dole�ek
 1.4 17-Aug-2000  wdk Check for memory aliases when sizing physical memory. Remove 32MB memory
restriction.

Tested with 32 x 1MB SIMM's plus mix of 4MB and 1MB SIMM's to ensure the
aliases is detected in all memory configuratiions.
 1.3 16-Aug-2000  wdk Parse bootflags and attempt to find the root device from the boot command line
 1.2 15-Aug-2000  wdk * Tidy up interrupt handlers by implementing an intr_establish()
handler to hook up device interrupts and softc callbacks.

Suggested by: Jason Thorpe and Toru Nishimura

* Fixup the indenting in a few places to conform to NetBSD style
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.12.2.9 23-Apr-2001  bouyer Sync with HEAD.
 1.12.2.8 21-Apr-2001  bouyer Sync with HEAD
 1.12.2.7 27-Mar-2001  bouyer Sync with HEAD.
 1.12.2.6 12-Mar-2001  bouyer Sync with HEAD.
 1.12.2.5 11-Feb-2001  bouyer Sync with HEAD.
 1.12.2.4 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.12.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.12.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.12.2.1 02-Oct-2000  bouyer file machdep.c was added on branch thorpej_scsipi on 2000-11-20 20:14:10 +0000
 1.17.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.17.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.28.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.28.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.28.2.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.28.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.28.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.30.12.3 31-Aug-2002  gehenna catch up with -current.
 1.30.12.2 06-Jun-2002  gehenna fix typo
 1.30.12.1 17-May-2002  gehenna Replace the access to devsw table and the hard-coded major with devsw API.
 1.30.4.7 18-Oct-2002  nathanw Catch up to -current.
 1.30.4.6 17-Sep-2002  nathanw Catch up to -current.
 1.30.4.5 27-Aug-2002  nathanw Catch up to -current.
 1.30.4.4 13-Aug-2002  nathanw Catch up to -current.
 1.30.4.3 24-Jun-2002  nathanw Curproc->curlwp renaming.

Change uses of "curproc->l_proc" back to "curproc", which is more like the
original use. Bare uses of "curproc" are now "curlwp".

"curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL)
so that it is always safe to reference curproc (*de*referencing curproc
is another story, but that's always been true).
 1.30.4.2 29-May-2002  nathanw #include <sys/sa.h> before <sys/syscallargs.h>, to provide sa_upcall_t
now that <sys/param.h> doesn't include <sys/sa.h>.

(Behold the Power of Ed)
 1.30.4.1 15-Sep-2001  nathanw file machdep.c was added on branch nathanw_sa on 2002-05-29 21:31:50 +0000
 1.38.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.38.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.38.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.38.2.1 03-Aug-2004  skrll Sync with HEAD
 1.42.8.1 29-Apr-2005  kent sync with -current
 1.44.2.4 03-Sep-2007  yamt sync with head.
 1.44.2.3 26-Feb-2007  yamt sync with head.
 1.44.2.2 30-Dec-2006  yamt sync with head.
 1.44.2.1 21-Jun-2006  yamt sync with head.
 1.45.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.45.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.45.8.1 11-Apr-2006  yamt sync with head
 1.45.6.1 22-Apr-2006  simonb Sync with head.
 1.45.4.1 09-Sep-2006  rpaulo sync with head
 1.46.8.4 01-Feb-2007  ad Sync with head.
 1.46.8.3 30-Jan-2007  ad Remove support for SA. Ok core@.
 1.46.8.2 12-Jan-2007  ad Sync with head.
 1.46.8.1 18-Nov-2006  ad Sync with head.
 1.47.2.1 02-Dec-2006  yamt remove soft_evcnt.
 1.50.2.3 18-Apr-2007  ad - Further adaptations to MIPS for the yamt-idlelwp branch.
- Make curlwp a register variable on MIPS.
 1.50.2.2 24-Mar-2007  yamt sync with head.
 1.50.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.54.6.1 29-Mar-2007  reinoud Pullup to -current
 1.54.4.1 11-Jul-2007  mjf Sync with head.
 1.54.2.2 27-May-2007  ad Sync with head.
 1.54.2.1 10-Apr-2007  ad Sync with head.
 1.55.4.1 22-May-2007  matt Update to HEAD.
 1.56.10.1 06-Nov-2007  matt sync with HEAD
 1.57.24.1 03-Jul-2008  simonb Sync with head.
 1.57.22.3 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.57.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.57.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.57.20.2 11-Mar-2010  yamt sync with head
 1.57.20.1 04-May-2009  yamt sync with head.
 1.57.16.2 17-Jan-2009  mjf Sync with HEAD.
 1.57.16.1 02-Jul-2008  mjf Sync with HEAD.
 1.58.10.5 14-Feb-2012  matt mem_cluster_cnt on mips is now a u_int.
 1.58.10.4 29-Dec-2010  matt Adapt to the new interrupt framework.
(XXX hpcmips still has calls to _spllower which are not supported.)
 1.58.10.3 21-Mar-2010  cliff mips_vector_init now takes an argument to specify splsw.
NULL specifies use the default 'std_splsw'
 1.58.10.2 01-Feb-2010  matt fix fallout from frame/trapframe merger.
 1.58.10.1 07-Sep-2009  matt Deal with pcb_context being a label_t
 1.58.4.3 28-Apr-2009  skrll Sync with HEAD.
 1.58.4.2 03-Mar-2009  skrll Sync with HEAD.
 1.58.4.1 19-Jan-2009  skrll Sync with HEAD.
 1.58.2.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.61.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.70.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.72.6.2 05-Mar-2011  bouyer Sync with HEAD
 1.72.6.1 17-Feb-2011  bouyer Sync with HEAD
 1.72.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.72.2.1 05-Mar-2011  rmind sync with head
 1.74.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.74.4.1 30-Oct-2012  yamt sync with head
 1.76.4.1 18-May-2014  rmind sync with head
 1.76.2.2 03-Dec-2017  jdolecek update from HEAD
 1.76.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.77.2.1 10-Aug-2014  tls Rebase.
 1.78.4.2 05-Feb-2017  skrll Sync with HEAD
 1.78.4.1 22-Sep-2015  skrll Sync with HEAD
 1.79.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.12 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.11 24-Apr-2021  thorpej branches: 1.11.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.10 20-Feb-2011  matt branches: 1.10.70;
Merge forward matt-nb5-mips64
Adapt to new interrupt/spl framework
 1.9 14-Mar-2009  dsl branches: 1.9.4; 1.9.6; 1.9.8;
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.8 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.7 11-Dec-2005  christos branches: 1.7.78; 1.7.86; 1.7.92; 1.7.96;
merge ktrace-lwp.
 1.6 13-Dec-2004  chs for drivers that support only one instance, use a global variable to ensure
that only one instance is configured rather than requiring that its
unit number be zero.
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 02-Oct-2002  thorpej branches: 1.4.6;
Use CFATTACH_DECL().
 1.3 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.2 30-Mar-2001  wdk branches: 1.2.2; 1.2.8;
Probe ISA bus devices
 1.1 12-Aug-2000  wdk branches: 1.1.2; 1.1.4;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.4.1 09-Apr-2001  nathanw Catch up with -current.
 1.1.2.3 21-Apr-2001  bouyer Sync with HEAD
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file mainbus.c was added on branch thorpej_scsipi on 2000-11-20 20:14:10 +0000
 1.2.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.2.8.1 30-Mar-2001  nathanw file mainbus.c was added on branch nathanw_sa on 2002-10-18 02:38:53 +0000
 1.2.2.1 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.6.4 18-Dec-2004  skrll Sync with HEAD.
 1.4.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.6.1 03-Aug-2004  skrll Sync with HEAD
 1.7.96.1 14-Jan-2010  matt device_t, CFATTACH_DECL_NEW, ansify, ...
 1.7.92.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.7.86.1 28-Apr-2009  skrll Sync with HEAD.
 1.7.78.1 04-May-2009  yamt sync with head.
 1.9.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.9.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.9.4.1 05-Mar-2011  rmind sync with head
 1.10.70.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.11.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.2 03-Oct-2000  wdk Switch to MI md_root.c
 1.1 29-Sep-2000  wdk Add kernel support for memory disks
 1.20 01-May-2025  tsutsui Use uint32_t instead of u_int32_t.
 1.19 26-Apr-2025  tsutsui Move ipl_sr_map to model-specific file and add IPL_DDB entry.

This will help adding support for other mipsco systems such as
the RC3240 eventually.

Patch from Miod Vallat.
 1.18 14-Nov-2016  maya branches: 1.18.52;
actually correct tyop now...
 1.17 14-Nov-2016  maya correct nofitication tpyo in comments.

from miod
 1.16 24-Mar-2014  christos branches: 1.16.6; 1.16.10;
use cpu_{g,s}etmodel
 1.15 12-Feb-2012  matt branches: 1.15.6; 1.15.10;
Change old-style function defintions to C89 prototypes.

Approved by releng.
 1.14 10-Mar-2011  tsutsui branches: 1.14.4; 1.14.8;
Set correct struct clockframe .intr value for hardclock(9).
 1.13 20-Feb-2011  matt Merge forward matt-nb5-mips64
Adapt to new interrupt/spl framework
 1.12 14-Mar-2009  dsl branches: 1.12.4; 1.12.6; 1.12.8;
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.11 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.10 28-Apr-2008  martin branches: 1.10.8; 1.10.14; 1.10.18;
Remove clause 3 and 4 from TNF licenses
 1.9 11-Dec-2005  christos branches: 1.9.74; 1.9.76; 1.9.78;
merge ktrace-lwp.
 1.8 15-Jul-2003  lukem __KERNEL_RCSID()
 1.7 19-Jan-2003  thorpej branches: 1.7.2;
Merge the nathanw_sa branch.
 1.6 07-Jul-2002  gmcgarry Don't invoke MachFPInterrupt() if we're using SOFTFLOAT.
 1.5 30-Mar-2001  wdk branches: 1.5.2; 1.5.8; 1.5.16;
Changes to interrupt architecture for softintr support
 1.4 03-Dec-2000  matt branches: 1.4.2;
Deal with -Wstrict-prototypes -Wmissing-prototypes
 1.3 16-Aug-2000  wdk branches: 1.3.2;
Trap and report memory parity errors
 1.2 15-Aug-2000  wdk * Tidy up interrupt handlers by implementing an intr_establish()
handler to hook up device interrupts and softc callbacks.

Suggested by: Jason Thorpe and Toru Nishimura

* Fixup the indenting in a few places to conform to NetBSD style
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.3.2.4 21-Apr-2001  bouyer Sync with HEAD
 1.3.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 16-Aug-2000  bouyer file mips_3x30.c was added on branch thorpej_scsipi on 2000-11-20 20:14:11 +0000
 1.4.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.5.16.1 16-Jul-2002  gehenna catch up with -current.
 1.5.8.4 01-Aug-2002  nathanw Catch up to -current.
 1.5.8.3 12-Jul-2002  nathanw No longer need to pull in lwp.h; proc.h pulls it in for us.
 1.5.8.2 24-Jun-2002  nathanw Curproc->curlwp renaming.

Change uses of "curproc->l_proc" back to "curproc", which is more like the
original use. Bare uses of "curproc" are now "curlwp".

"curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL)
so that it is always safe to reference curproc (*de*referencing curproc
is another story, but that's always been true).
 1.5.8.1 30-Mar-2001  nathanw file mips_3x30.c was added on branch nathanw_sa on 2002-06-24 22:06:10 +0000
 1.5.2.1 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 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.78.2 04-May-2009  yamt sync with head.
 1.9.78.1 16-May-2008  yamt sync with head.
 1.9.76.1 18-May-2008  yamt sync with head.
 1.9.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.10.18.2 29-Dec-2010  matt Adapt to the new interrupt framework.
(XXX hpcmips still has calls to _spllower which are not supported.)
 1.10.18.1 01-Feb-2010  matt fix fallout from frame/trapframe merger.
 1.10.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.10.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.12.8.1 05-Mar-2011  bouyer Sync with HEAD
 1.12.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.12.4.2 21-Apr-2011  rmind sync with head
 1.12.4.1 05-Mar-2011  rmind sync with head
 1.14.8.1 18-Feb-2012  mrg merge to -current.
 1.14.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.14.4.1 17-Apr-2012  yamt sync with head
 1.15.10.1 18-May-2014  rmind sync with head
 1.15.6.2 03-Dec-2017  jdolecek update from HEAD
 1.15.6.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.16.10.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.16.6.1 05-Dec-2016  skrll Sync with HEAD
 1.18.52.1 02-Aug-2025  perseant Sync with HEAD
 1.3 13-Mar-2002  simonb All the mips ports had an identical procfs_machdep.c, so use a common
file under arch/mips/mips.
 1.2 18-Jan-2001  tv branches: 1.2.4; 1.2.8;
No-op commit to force update to a non-"-kk" revision.
 1.1 17-Jan-2001  fvdl branches: 1.1.2;
Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.
 1.1.2.2 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.1.2.1 17-Jan-2001  bouyer file procfs_machdep.c was added on branch thorpej_scsipi on 2001-01-18 09:22:46 +0000
 1.2.8.1 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.4.1 16-Mar-2002  jdolecek Catch up with -current.
 1.6 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.5 11-Dec-2005  christos branches: 1.5.74; 1.5.76; 1.5.78;
merge ktrace-lwp.
 1.4 15-Jul-2003  lukem __KERNEL_RCSID()
 1.3 03-Dec-2000  matt branches: 1.3.24;
Deal with -Wstrict-prototypes -Wmissing-prototypes
 1.2 04-Sep-2000  wdk branches: 1.2.2;
Add #define's for PROM entry point addresses which will be needed by any
replacement bootstrap routines
 1.1 19-Aug-2000  wdk - Add support for calling most prom firmware functions

- Using the prom getenv function determine the correct console port

- Remove old prom function hooks

- Tidy up bootflags (remove upper case names, fixup RB_ASKNAME) as
recommended by Jarom�r Dole�ek
 1.2.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 04-Sep-2000  bouyer file prom.c was added on branch thorpej_scsipi on 2000-11-20 20:14:11 +0000
 1.3.24.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.24.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.24.1 03-Aug-2004  skrll Sync with HEAD
 1.5.78.1 16-May-2008  yamt sync with head.
 1.5.76.1 18-May-2008  yamt sync with head.
 1.5.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.24 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.23 03-May-2022  andvar fix various typos, mainly s/trasfering/transferring/ and s/theese/these/.
 1.22 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.21 13-Apr-2008  tsutsui branches: 1.21.2; 1.21.4;
Split device_t/softc for MI ncr53c9x and some related devices,
with various cleanup.
 1.20 07-Mar-2007  he branches: 1.20.40;
Fix typo on previous.
 1.19 07-Mar-2007  he Cast to char* before doing pointer arithmetic.
 1.18 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.17 24-Dec-2005  perry branches: 1.17.26;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.16 11-Dec-2005  christos merge ktrace-lwp.
 1.15 15-Jul-2003  lukem branches: 1.15.16;
__KERNEL_RCSID()
 1.14 03-May-2003  wiz branches: 1.14.2;
DMA, not dma nor Dma.
 1.13 02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.12 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.11 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.10 15-Dec-2001  wdk Add bus_dmamap_sync for pre-read and pre-write case. This was previously
left out as it was a no-op on the R3000 processor. However, recent changes
to the Mips cache ops highlighted we should DTRT in case the MI/MD layer
choses to invalidate the cache ahead of the DMA instead of after it.
 1.9 25-Apr-2001  bouyer branches: 1.9.2; 1.9.8;
Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
(no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
 1.8 30-Mar-2001  wdk Remove ncr53c9x_dmaselect
 1.7 05-Mar-2001  wdk branches: 1.7.2;
- Add "Features Enable" and CDB bits to SCSI controller config

- During un-aligned writes: Don't accidently leave the DMA engine active
after priming the FIFO between calls to asc_dma_setup and asc_dma_go
 1.6 03-Dec-2000  matt Deal with -Wstrict-prototypes -Wmissing-prototypes
 1.5 04-Sep-2000  wdk branches: 1.5.2;
* Use bus_space_write_multi_2 for priming the DMA FIFO as suggested by cgd

* Correctly handle transfer pad operation

* Remove check for DMA fifo flush during DMA chaining - after considerable
thought this is not required
 1.4 29-Aug-2000  wdk Fix an obscure bug with dump corrupting files during raw reads.

If the DMA chaning interrupt couldn't be serviced immediately (higher spl
level when kernel doing something else) a few microseconds later the NCR
controller will fill its FIFO and also interrupt the CPU.

The SCSI interrupt sees the terminal count has been reached, calls
asc_dma_intr to finish the job off. The FIFO cannot be flushed because
the block count hasn't been setup for the last dma segment (DMA chaining
still wasn't serviced).

Since the NCR 53c94 FIFO is only 16 bytes in size, any short DMA in this
size combined with the machine 'doing something else' causes the problem
to occur.

Servicing the DMA chaining interrupt before the NCR SCSI interrupt solves
this problem.

Add tests to ensure the DMA FIFO has been flushed correctly at the end of
each DMA operation just to be on the safe side.
 1.3 15-Aug-2000  wdk * Tidy up interrupt handlers by implementing an intr_establish()
handler to hook up device interrupts and softc callbacks.

Suggested by: Jason Thorpe and Toru Nishimura

* Fixup the indenting in a few places to conform to NetBSD style
 1.2 14-Aug-2000  wdk Decrement the block count to compensate for 64 bytes prefetched to fill
the DMA FIFO on non block aligned writes. Not doing this causes large
writes (>4k) that are not aligned to incorrectly write 64bytes
of data every 4k interval. This only occurs on raw devices - typically
newfs fails to create a clean filesystem.
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.5.2.6 21-Apr-2001  bouyer Sync with HEAD
 1.5.2.5 29-Mar-2001  bouyer Pass compile-test on i386
 1.5.2.4 12-Mar-2001  bouyer Sync with HEAD.
 1.5.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.5.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.2.1 04-Sep-2000  bouyer file asc.c was added on branch thorpej_scsipi on 2000-11-20 20:14:11 +0000
 1.7.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.7.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.9.8.3 18-Oct-2002  nathanw Catch up to -current.
 1.9.8.2 08-Jan-2002  nathanw Catch up to -current.
 1.9.8.1 25-Apr-2001  nathanw file asc.c was added on branch nathanw_sa on 2002-01-08 00:26:30 +0000
 1.9.2.2 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.9.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.14.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.14.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.14.2.1 03-Aug-2004  skrll Sync with HEAD
 1.15.16.2 03-Sep-2007  yamt sync with head.
 1.15.16.1 21-Jun-2006  yamt sync with head.
 1.17.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.20.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.21.4.1 16-May-2008  yamt sync with head.
 1.21.2.1 18-May-2008  yamt sync with head.
 1.4 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.3 11-Dec-2005  christos branches: 1.3.100; 1.3.106; 1.3.108;
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 12-Aug-2000  wdk branches: 1.1.2; 1.1.26;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.26.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.26.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.26.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file clockreg.h was added on branch thorpej_scsipi on 2000-11-20 20:14:11 +0000
 1.3.108.1 17-Feb-2011  bouyer Sync with HEAD
 1.3.106.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.100.1 05-Mar-2011  rmind sync with head
 1.15 25-Jul-2014  dholland Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.
 1.14 25-Jul-2014  dholland Add d_discard to all struct bdevsw instances I could find.

I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.
 1.13 16-Mar-2014  dholland branches: 1.13.2;
Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
 1.12 27-Oct-2012  chs branches: 1.12.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.11 14-Mar-2009  dsl branches: 1.11.12; 1.11.22;
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.10 28-Apr-2008  martin branches: 1.10.8; 1.10.14;
Remove clause 3 and 4 from TNF licenses
 1.9 11-Dec-2005  christos branches: 1.9.74; 1.9.76; 1.9.78;
merge ktrace-lwp.
 1.8 15-Jul-2003  lukem branches: 1.8.16;
__KERNEL_RCSID()
 1.7 23-Oct-2002  jdolecek branches: 1.7.6;
merge kqueue branch into -current

kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
 1.6 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.5 27-Sep-2002  thorpej Declare all cfattach structures const.
 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 03-Dec-2000  matt branches: 1.3.2; 1.3.4; 1.3.8; 1.3.16;
Deal with -Wstrict-prototypes -Wmissing-prototypes
 1.2 15-Aug-2000  wdk branches: 1.2.2;
* Tidy up interrupt handlers by implementing an intr_establish()
handler to hook up device interrupts and softc callbacks.

Suggested by: Jason Thorpe and Toru Nishimura

* Fixup the indenting in a few places to conform to NetBSD style
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.2.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 15-Aug-2000  bouyer file i82072.c was added on branch thorpej_scsipi on 2000-11-20 20:14:11 +0000
 1.3.16.1 17-May-2002  gehenna Add device switch.
 1.3.8.3 11-Nov-2002  nathanw Catch up to -current
 1.3.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.3.8.1 17-Sep-2002  nathanw Catch up to -current.
 1.3.4.1 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.2.1 10-Oct-2001  fvdl Convert all remaining devices.
 1.7.6.4 31-Jan-2005  skrll Adapt to branch
 1.7.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.6.1 03-Aug-2004  skrll Sync with HEAD
 1.8.16.1 21-Jun-2006  yamt sync with head.
 1.9.78.2 04-May-2009  yamt sync with head.
 1.9.78.1 16-May-2008  yamt sync with head.
 1.9.76.1 18-May-2008  yamt sync with head.
 1.9.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.10.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.10.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.11.22.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.11.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.11.12.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.11.12.1 30-Oct-2012  yamt sync with head
 1.12.2.1 18-May-2014  rmind sync with head
 1.13.2.1 10-Aug-2014  tls Rebase.
 1.15 26-Apr-2025  tsutsui Fix le(4) match routine to probe the address specified in config(5).

No functional changes with current kernel config files.

Also apply cosmetic changes:
- use proper variable name per examples in the bus_dma(9) man page
- fix an incorrect comment

Patch from Miod Vallat.
 1.14 29-May-2022  rin branches: 1.14.10;
le(4): Fix resource leaks for error paths.

XXX
Compile test only (at least one arch per driver).
 1.13 19-Jan-2010  pooka Redefine bpf linkage through an always present op vector, i.e.
#if NBPFILTER is no longer required in the client. This change
doesn't yet add support for loading bpf as a module, since drivers
can register before bpf is attached. However, callers of bpf can
now be modularized.

Dynamically loadable bpf could probably be done fairly easily with
coordination from the stub driver and the real driver by registering
attachments in the stub before the real driver is loaded and doing
a handoff. ... and I'm not going to ponder the depths of unload
here.

Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
 1.12 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.11 04-Apr-2008  tsutsui branches: 1.11.2; 1.11.4;
Split device_t/softc for le(4) and variants and misc cosmetic changes.
 1.10 04-Mar-2007  christos branches: 1.10.40;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.9 24-Dec-2005  perry branches: 1.9.26;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.8 11-Dec-2005  christos merge ktrace-lwp.
 1.7 13-Dec-2004  chs branches: 1.7.10;
for drivers that support only one instance, use a global variable to ensure
that only one instance is configured rather than requiring that its
unit number be zero.
 1.6 15-Jul-2003  lukem __KERNEL_RCSID()
 1.5 02-Oct-2002  thorpej branches: 1.5.6;
Use CFATTACH_DECL().
 1.4 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.3 30-May-2001  mrg branches: 1.3.2; 1.3.8;
use _KERNEL_OPT
 1.2 15-Aug-2000  wdk branches: 1.2.2; 1.2.4;
* Tidy up interrupt handlers by implementing an intr_establish()
handler to hook up device interrupts and softc callbacks.

Suggested by: Jason Thorpe and Toru Nishimura

* Fixup the indenting in a few places to conform to NetBSD style
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.2.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 15-Aug-2000  bouyer file if_le.c was added on branch thorpej_scsipi on 2000-11-20 20:14:11 +0000
 1.3.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.3.8.1 30-May-2001  nathanw file if_le.c was added on branch nathanw_sa on 2002-10-18 02:38:54 +0000
 1.3.2.1 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.5.6.4 18-Dec-2004  skrll Sync with HEAD.
 1.5.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.6.1 03-Aug-2004  skrll Sync with HEAD
 1.7.10.2 03-Sep-2007  yamt sync with head.
 1.7.10.1 21-Jun-2006  yamt sync with head.
 1.9.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.10.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.11.4.2 11-Mar-2010  yamt sync with head
 1.11.4.1 16-May-2008  yamt sync with head.
 1.11.2.1 18-May-2008  yamt sync with head.
 1.14.10.1 02-Aug-2025  perseant Sync with HEAD
 1.13 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.12 20-Nov-2014  christos use the inline bcdtobin and bintobcd directly instead through a macro.
 1.11 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.10 14-Mar-2009  dsl branches: 1.10.12; 1.10.22;
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.9 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.8 28-Apr-2008  martin branches: 1.8.8; 1.8.14;
Remove clause 3 and 4 from TNF licenses
 1.7 15-Sep-2006  gdamore branches: 1.7.54; 1.7.56; 1.7.58;
Convert mipsco to generic TODR and TC. Compile tested only. If the
port-mipsco mailing list is any indication, nobody has actually run netbsd
on this port for several years.
 1.6 11-Dec-2005  christos branches: 1.6.20;
merge ktrace-lwp.
 1.5 15-Jul-2003  lukem branches: 1.5.16;
__KERNEL_RCSID()
 1.4 02-Oct-2002  thorpej branches: 1.4.6;
Use CFATTACH_DECL().
 1.3 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.2 03-Dec-2000  matt branches: 1.2.4; 1.2.8;
Deal with -Wstrict-prototypes -Wmissing-prototypes
 1.1 12-Aug-2000  wdk branches: 1.1.2;
Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.1.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 12-Aug-2000  bouyer file mkclock.c was added on branch thorpej_scsipi on 2000-11-20 20:14:11 +0000
 1.2.8.1 18-Oct-2002  nathanw Catch up to -current.
 1.2.4.1 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.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.6.1 03-Aug-2004  skrll Sync with HEAD
 1.5.16.1 30-Dec-2006  yamt sync with head.
 1.6.20.1 18-Nov-2006  ad Sync with head.
 1.7.58.2 04-May-2009  yamt sync with head.
 1.7.58.1 16-May-2008  yamt sync with head.
 1.7.56.1 18-May-2008  yamt sync with head.
 1.7.54.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.10.22.2 03-Dec-2017  jdolecek update from HEAD
 1.10.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.10.12.1 30-Oct-2012  yamt sync with head
 1.19 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.18 24-Apr-2021  thorpej branches: 1.18.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.17 06-Jun-2011  matt branches: 1.17.68;
CFATTACH_DECL(..., sizeof(struct device), -> CFATTACH_DECL_NEW(..., 0
struct device * -> device_t
struct cfdata * -> cfdata_t
use bool when appropriate
some constification
 1.16 16-Mar-2009  dsl branches: 1.16.4; 1.16.10;
ANSIfy functions with function-pointer arguments
 1.15 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.14 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.13 28-Apr-2008  martin branches: 1.13.8; 1.13.14;
Remove clause 3 and 4 from TNF licenses
 1.12 11-Dec-2005  christos branches: 1.12.74; 1.12.76; 1.12.78;
merge ktrace-lwp.
 1.11 26-Aug-2005  drochner s/locdesc_t/int/g
 1.10 30-Jun-2005  drochner branches: 1.10.2;
adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes
 1.9 14-Dec-2004  chs use the generated macros in locators.h rather than hard-coded numbers
to index the cf_loc[] array. reviewed by allen briggs.
 1.8 15-Jul-2003  lukem __KERNEL_RCSID()
 1.7 01-Jan-2003  thorpej branches: 1.7.2;
Use aprint_normal() for cfprint routines.
 1.6 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.5 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.4 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.3 27-Sep-2002  thorpej Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver. The cfdriver is then looked
up in a list which is built at run-time.
 1.2 15-Aug-2000  wdk branches: 1.2.2; 1.2.6; 1.2.10;
* Tidy up interrupt handlers by implementing an intr_establish()
handler to hook up device interrupts and softc callbacks.

Suggested by: Jason Thorpe and Toru Nishimura

* Fixup the indenting in a few places to conform to NetBSD style
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.2.10.2 03-Jan-2003  thorpej Sync with HEAD.
 1.2.10.1 18-Oct-2002  nathanw Catch up to -current.
 1.2.6.1 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.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 15-Aug-2000  bouyer file obio.c was added on branch thorpej_scsipi on 2000-11-20 20:14:11 +0000
 1.7.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.7.2.4 18-Dec-2004  skrll Sync with HEAD.
 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.10.2.1 21-Jun-2006  yamt sync with head.
 1.12.78.2 04-May-2009  yamt sync with head.
 1.12.78.1 16-May-2008  yamt sync with head.
 1.12.76.1 18-May-2008  yamt sync with head.
 1.12.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.13.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.13.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.16.10.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.16.4.1 12-Jun-2011  rmind sync with head
 1.17.68.6 05-Apr-2021  thorpej Treat config_probe() as if it were a boolean function; don't compare
return value > 0... except for the odd balls, which are now really easy
to spot.
 1.17.68.5 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.17.68.4 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.17.68.3 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.17.68.2 21-Mar-2021  thorpej CFARG_IATTR usage audit:

If a device carries only one interface attribute, there is no need
to specify it when calling config_search(); that specification is
meant only to disambiguate which interface attribute (which is a
proxy for "what kind of attach args are being used") is having
children attached. cfparent_match() will take care of ensuring that
any potential children can attach to one of the parent's iterface
attributes, and if the parent only carries one, no disambiguation is
necessary.
 1.17.68.1 20-Mar-2021  thorpej The proliferation if config_search_*() and config_found_*() combinations
is a little absurd, so begin to tidy this up:

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.18.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.15 01-May-2025  tsutsui Use uint32_t instead of u_int32_t.
 1.14 26-Apr-2025  tsutsui Remove dead code and variables from clock interrupt code.

These should have been removed on switching to using MI timecounter(9)
from MD microtime(9) impementation back in 2006:
https://mail-index.netbsd.org/source-changes/2006/09/15/0042.html
https://github.com/NetBSD/src/commit/12fed6d0

Patch from Miod Vallat.
 1.13 27-Oct-2012  chs branches: 1.13.74;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.12 14-Mar-2009  dsl branches: 1.12.12; 1.12.22;
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.11 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.10 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.9 28-Apr-2008  martin branches: 1.9.8; 1.9.14;
Remove clause 3 and 4 from TNF licenses
 1.8 15-Sep-2006  gdamore branches: 1.8.54; 1.8.56; 1.8.58;
Convert mipsco to generic TODR and TC. Compile tested only. If the
port-mipsco mailing list is any indication, nobody has actually run netbsd
on this port for several years.
 1.7 11-Dec-2005  christos branches: 1.7.20;
merge ktrace-lwp.
 1.6 15-Jul-2003  lukem branches: 1.6.16;
__KERNEL_RCSID()
 1.5 02-Oct-2002  thorpej branches: 1.5.6;
Use CFATTACH_DECL().
 1.4 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.3 06-Sep-2000  wdk branches: 1.3.2; 1.3.6; 1.3.10;
Microtime calculation was seriously incorrect when HZ != 100

Give rest of clock interrupt code a revamp. Because we are using an external
cycle counter we can now handle loosing several hundred interrupts without
the time slipping.
 1.2 15-Aug-2000  wdk * Tidy up interrupt handlers by implementing an intr_establish()
handler to hook up device interrupts and softc callbacks.

Suggested by: Jason Thorpe and Toru Nishimura

* Fixup the indenting in a few places to conform to NetBSD style
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.3.10.1 18-Oct-2002  nathanw Catch up to -current.
 1.3.6.1 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.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 06-Sep-2000  bouyer file rambo.c was added on branch thorpej_scsipi on 2000-11-20 20:14:11 +0000
 1.5.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.6.1 03-Aug-2004  skrll Sync with HEAD
 1.6.16.1 30-Dec-2006  yamt sync with head.
 1.7.20.1 18-Nov-2006  ad Sync with head.
 1.8.58.2 04-May-2009  yamt sync with head.
 1.8.58.1 16-May-2008  yamt sync with head.
 1.8.56.1 18-May-2008  yamt sync with head.
 1.8.54.1 02-Jun-2008  mjf Sync with HEAD.
 1.9.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.9.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.12.22.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.12.12.1 30-Oct-2012  yamt sync with head
 1.13.74.1 02-Aug-2025  perseant Sync with HEAD
 1.9 26-Apr-2025  tsutsui Remove dead code and variables from clock interrupt code.

These should have been removed on switching to using MI timecounter(9)
from MD microtime(9) impementation back in 2006:
https://mail-index.netbsd.org/source-changes/2006/09/15/0042.html
https://github.com/NetBSD/src/commit/12fed6d0

Patch from Miod Vallat.
 1.8 17-Aug-2021  andvar branches: 1.8.10;
fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.7 29-Jun-2009  mbalmer Fix integer constant RB_FREQUENC, 25MHz/4 is 6250000L, not 625000L

This fixes PR 39931

PR and fix from Miod Vallat <miod@online.fr>, many thanks!
 1.6 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.5 15-Sep-2006  gdamore branches: 1.5.54; 1.5.56; 1.5.58;
Convert mipsco to generic TODR and TC. Compile tested only. If the
port-mipsco mailing list is any indication, nobody has actually run netbsd
on this port for several years.
 1.4 16-Sep-2001  wiz branches: 1.4.4; 1.4.36; 1.4.66;
Spell 'occurred' with two 'r's.
 1.3 02-Oct-2000  wdk branches: 1.3.2; 1.3.4; 1.3.6;
Add parenthesis to TICKS_TO_USECS macro avoiding side-effects.
Fixes glitch where microtime goes backward. KNF rules!
 1.2 06-Sep-2000  wdk Microtime calculation was seriously incorrect when HZ != 100

Give rest of clock interrupt code a revamp. Because we are using an external
cycle counter we can now handle loosing several hundred interrupts without
the time slipping.
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.3.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.3.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.2.1 02-Oct-2000  bouyer file rambo.h was added on branch thorpej_scsipi on 2000-11-20 20:14:11 +0000
 1.4.66.1 18-Nov-2006  ad Sync with head.
 1.4.36.1 30-Dec-2006  yamt sync with head.
 1.4.4.2 16-Sep-2001  wiz Spell 'occurred' with two 'r's.
 1.4.4.1 16-Sep-2001  wiz file rambo.h was added on branch nathanw_sa on 2001-09-16 16:34:34 +0000
 1.5.58.2 18-Jul-2009  yamt sync with head.
 1.5.58.1 16-May-2008  yamt sync with head.
 1.5.56.1 18-May-2008  yamt sync with head.
 1.5.54.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.10.1 02-Aug-2025  perseant Sync with HEAD
 1.28 11-Sep-2021  andvar Add missing double p and d for stopped and overriden accordingly.
Fix few more typos along the way, mainly in copy-pasted comments.
 1.27 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.26 24-Apr-2021  thorpej branches: 1.26.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.25 08-Jun-2014  he branches: 1.25.42;
Move the rest of real_bps handling in under #if 0, so
that we don't get set-but-not-used warnings from the compiler.
 1.24 13-Jun-2008  cegger branches: 1.24.40; 1.24.56;
use device_lookup_private to get softc
 1.23 28-Apr-2008  martin branches: 1.23.2; 1.23.4;
Remove clause 3 and 4 from TNF licenses
 1.22 29-Mar-2008  tsutsui branches: 1.22.2; 1.22.4;
Split softc and device_t for zsc(4) and its children.

XXX we should restructure MI APIs and make it really machine independent.
 1.21 26-Nov-2007  ad branches: 1.21.14;
Use the softint API.
 1.20 09-Nov-2007  ad Call zs_lock_init() to set up the chanstate's lock.
 1.19 28-Mar-2006  thorpej branches: 1.19.18; 1.19.36; 1.19.38; 1.19.42; 1.19.44;
Use device_unit().
 1.18 11-Dec-2005  christos branches: 1.18.4; 1.18.6; 1.18.8; 1.18.10; 1.18.12;
merge ktrace-lwp.
 1.17 15-Jul-2003  lukem branches: 1.17.16;
__KERNEL_RCSID()
 1.16 28-Jan-2003  pk branches: 1.16.2;
Provide locking required by the interrupt handlers running at IPL_SERIAL.
 1.15 01-Jan-2003  thorpej Use aprint_normal() for cfprint routines.
 1.14 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.13 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.12 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.11 20-Nov-2001  lukem branches: 1.11.8;
- pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for options KGDB_DEVNAME="\"com\""
- use correct quotes for options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
 1.10 08-Jul-2001  wdk branches: 1.10.2; 1.10.8;
change b*() -> mem*()
 1.9 30-Mar-2001  wdk use MI softintr
 1.8 21-Feb-2001  wdk branches: 1.8.2;
Remove superfluous #include added in previous commit
 1.7 21-Feb-2001  wdk Changes for KGDB
 1.6 07-Feb-2001  wdk Fully implement bus_space(9) access to the z8530 SCC registers.
This adds the missing wbflush() calls after writing register data.

At same time tidy up several comments and make several KNF changes.

XXX: The z8530 MI driver doesn't support bus_space access to the registers
(lacks a hook for storing a bus space tag, and stores register
addresses directly)
Until other ports catch up (this is the first) we have overlayed
the missing data in the MD structures
 1.5 03-Dec-2000  matt Deal with -Wstrict-prototypes -Wmissing-prototypes
 1.4 29-Aug-2000  wdk branches: 1.4.2;
Engage the clutch before changing gears.

If the machine uses a Z85230 ESCC device with deep buffers, we observe
output glitches when printing the zstty{0,1} probe lines when the device
is reset & reprogrammed during startup.

There is no easy 'hook' in the MI Z8530 driver, so we wait for output
buffer to drain before changing the baud rate generator prescaler value.
 1.3 19-Aug-2000  wdk - Add support for calling most prom firmware functions

- Using the prom getenv function determine the correct console port

- Remove old prom function hooks

- Tidy up bootflags (remove upper case names, fixup RB_ASKNAME) as
recommended by Jarom�r Dole�ek
 1.2 15-Aug-2000  wdk * Tidy up interrupt handlers by implementing an intr_establish()
handler to hook up device interrupts and softc callbacks.

Suggested by: Jason Thorpe and Toru Nishimura

* Fixup the indenting in a few places to conform to NetBSD style
 1.1 12-Aug-2000  wdk Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
 1.4.2.6 21-Apr-2001  bouyer Sync with HEAD
 1.4.2.5 12-Mar-2001  bouyer Sync with HEAD.
 1.4.2.4 11-Feb-2001  bouyer Sync with HEAD.
 1.4.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.4.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.2.1 29-Aug-2000  bouyer file zs.c was added on branch thorpej_scsipi on 2000-11-20 20:14:11 +0000
 1.8.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.10.8.5 03-Jan-2003  thorpej Sync with HEAD.
 1.10.8.4 18-Oct-2002  nathanw Catch up to -current.
 1.10.8.3 17-Sep-2002  nathanw Catch up to -current.
 1.10.8.2 08-Jan-2002  nathanw Catch up to -current.
 1.10.8.1 08-Jul-2001  nathanw file zs.c was added on branch nathanw_sa on 2002-01-08 00:26:30 +0000
 1.10.2.2 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.10.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.11.8.1 19-May-2002  gehenna Replace the access to devsw table and the hard-coded majors with devsw API.
 1.16.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.16.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.16.2.1 03-Aug-2004  skrll Sync with HEAD
 1.17.16.3 07-Dec-2007  yamt sync with head
 1.17.16.2 15-Nov-2007  yamt sync with head.
 1.17.16.1 21-Jun-2006  yamt sync with head.
 1.18.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.18.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.18.8.1 01-Apr-2006  yamt sync with head.
 1.18.6.1 22-Apr-2006  simonb Sync with head.
 1.18.4.1 09-Sep-2006  rpaulo sync with head
 1.19.44.2 08-Dec-2007  mjf Sync with HEAD.
 1.19.44.1 19-Nov-2007  mjf Sync with HEAD.
 1.19.42.1 13-Nov-2007  bouyer Sync with HEAD
 1.19.38.1 09-Jan-2008  matt sync with HEAD
 1.19.36.2 27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.19.36.1 11-Nov-2007  joerg Sync with HEAD.
 1.19.18.1 03-Dec-2007  ad Sync with HEAD.
 1.21.14.3 29-Jun-2008  mjf Sync with HEAD.
 1.21.14.2 02-Jun-2008  mjf Sync with HEAD.
 1.21.14.1 03-Apr-2008  mjf Sync with HEAD.
 1.22.4.2 04-May-2009  yamt sync with head.
 1.22.4.1 16-May-2008  yamt sync with head.
 1.22.2.2 17-Jun-2008  yamt sync with head.
 1.22.2.1 18-May-2008  yamt sync with head.
 1.23.4.1 18-Jun-2008  simonb Sync with head.
 1.23.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.24.56.1 10-Aug-2014  tls Rebase.
 1.24.40.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.25.42.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.26.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.11 24-Oct-2023  andvar apply similar changes between different archs/machines for zs_kgdb.c:
1) adjust zs_kgdb_init tty attachment message for kgdb_dev type change.
(one arch uses cast to int instead, but kept one approach for consistency)
2) remove unused rr0 declaration and assignment in zs_kgdb_txint()
3) adjust kgdb_dev format specifier to %llx/d if needed.
4) add const for zs_kgdb_devname declaration (macppc only).
should fix zs_kgdb.c build for all these ports.
 1.10 18-Mar-2009  cegger branches: 1.10.44; 1.10.54;
Ansify function definitions w/o arguments. Generated with sed.
 1.9 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.8 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.7 28-Apr-2008  martin branches: 1.7.8; 1.7.14;
Remove clause 3 and 4 from TNF licenses
 1.6 01-Sep-2006  matt branches: 1.6.56; 1.6.58; 1.6.60;
Remove unneeded volatile.
 1.5 11-Dec-2005  christos branches: 1.5.4; 1.5.8;
merge ktrace-lwp.
 1.4 15-Jul-2003  lukem branches: 1.4.16;
__KERNEL_RCSID()
 1.3 06-Sep-2002  gehenna branches: 1.3.6;
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.2 08-Jul-2001  wdk branches: 1.2.2; 1.2.8; 1.2.16;
change b*() -> mem*()
 1.1 21-Feb-2001  wdk branches: 1.1.4;
Glue functions for KGDB support
 1.1.4.2 12-Mar-2001  bouyer Sync with HEAD.
 1.1.4.1 21-Feb-2001  bouyer file zs_kgdb.c was added on branch thorpej_scsipi on 2001-03-12 13:29:05 +0000
 1.2.16.1 19-May-2002  gehenna Replace the access to devsw table and the hard-coded majors with devsw API.
 1.2.8.2 17-Sep-2002  nathanw Catch up to -current.
 1.2.8.1 08-Jul-2001  nathanw file zs_kgdb.c was added on branch nathanw_sa on 2002-09-17 21:15:58 +0000
 1.2.2.1 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.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.6.1 03-Aug-2004  skrll Sync with HEAD
 1.4.16.1 30-Dec-2006  yamt sync with head.
 1.5.8.1 03-Sep-2006  yamt sync with head.
 1.5.4.1 09-Sep-2006  rpaulo sync with head
 1.6.60.2 04-May-2009  yamt sync with head.
 1.6.60.1 16-May-2008  yamt sync with head.
 1.6.58.1 18-May-2008  yamt sync with head.
 1.6.56.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.7.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.10.54.1 17-May-2017  pgoyette Convert to cdevsw_lookup_acquire()
 1.10.44.1 20-Jul-2016  pgoyette Adapt the machine/arch dependent code to the new {b,c}devsw reference
counting.

XXX Most of these will require testing by someone other than myself, as
I have a limited selection of hardware!
 1.2 26-Sep-2000  wdk branches: 1.2.2;
Much needed installboot utility. Manual page to follow.

Builds and installs from stand directories, but untested from higher
level makefiles.
 1.1 18-Sep-2000  wdk Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware. A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length. We need to add a "boot" entry of
the correct length starting at block 2. The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 26-Sep-2000  bouyer file Makefile was added on branch thorpej_scsipi on 2000-11-20 20:14:12 +0000
 1.25 17-May-2021  mrg also strip .eh_frame. libkern dkcksum pushed bootxx_ffs 7 bytes over a limit.

remove an old comment.
 1.24 08-Apr-2017  christos branches: 1.24.30; 1.24.32;
centralize vers.c building for standalone programs.
 1.23 18-Sep-2016  christos branches: 1.23.2;
Strip more useless for booters sections so that we fit.
 1.22 08-Sep-2016  christos Avoid the PIE
 1.21 31-Jan-2014  tsutsui branches: 1.21.6; 1.21.10;
Make sure to define NOMAN before including <bsd.own.mk>.
 1.20 16-Jan-2014  christos eliminate use of bsd.sys.mk from Makefiles
 1.19 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.18 21-Aug-2013  matt Use <bsd.klinks.mk>
Add missing ${_MKTARGET_LINK}
 1.17 22-Jan-2011  joerg branches: 1.17.4; 1.17.14; 1.17.18;
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.16 27-May-2010  dholland branches: 1.16.2; 1.16.4;
Introduce .WAIT into the cleandir rule for blasting the libsa/libkern/etc.
trees, because it can race with the libsa/libkern/etc. makefiles' own
cleandir rules. I think I've found all of the uses of the offending idiom...
Closes PR 43360.
 1.15 03-Apr-2009  tsutsui branches: 1.15.2; 1.15.4;
Remove obsolete LIBSA_USE_MEMCPY and LIBSA_USE_MEMSET.
They were removed from <lib/libsa/stand.h> on December 2007.
 1.14 17-Mar-2009  he Introduce LIBSA_NO_DEV_IOCTL. Don't declare the ioctl routine
if it is defined, and don't declare the close routine if
LIBSA_NO_DEV_CLOSE is defined.
 1.13 12-Jan-2009  tsutsui branches: 1.13.2;
- add prototype warning options
- add some make variables to suppress errors on build without DESTDIR
 1.12 11-Dec-2005  christos branches: 1.12.74; 1.12.78; 1.12.86;
merge ktrace-lwp.
 1.11 01-Jan-2005  simonb Don't specify the object format to pick the right endianness - the
linker already knows if it is big- or little-endian.
 1.10 19-Jul-2004  chs include bsd.own.mk so this builds again.
 1.9 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.8 08-Mar-2004  simonb branches: 1.8.2;
Strip out a few more sections when making the ecoff file to reduce the
ECOFF file size. Problems noticed by James Chacon.
 1.7 26-Oct-2003  lukem 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.6 08-Oct-2003  simonb Define LIB{CRT0,C,CRTBEGIN,CRTEND} as nothing, we don't need to link
against them.
 1.5 16-Nov-2002  wdk branches: 1.5.6;
Catch up with the recent toolchain changes:
add -mno-abicalls to AFLAGS
add -msoft-float to CFLAGS
 1.4 05-Oct-2001  simonb branches: 1.4.4;
Use a single ldscript instead of separate scripts for either endianness;
use command line parameters to ld(1) instead to set the endian format.
Clean up some endian decisions in mips/conf/Makefile.mips.
Wrap some long lines.
 1.3 22-Sep-2001  tv objcopy -> ${OBJCOPY}; remove redundant definitions of OBJCOPY?= (it is
now in bsd.own.mk).
 1.2 26-Sep-2000  wdk branches: 1.2.2; 1.2.4; 1.2.6;
Second stage bootstrap:
- Rename from boot.mipsco -> boot to be consistant with other ports
- use ELF format
 1.1 18-Sep-2000  wdk Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware. A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length. We need to add a "boot" entry of
the correct length starting at block 2. The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
 1.2.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.4.2 11-Oct-2001  fvdl Catch up with -current. Fix some bogons in the sparc64 kbd/ms
attach code. cd18xx conversion provided by mrg.
 1.2.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 26-Sep-2000  bouyer file Makefile.booters was added on branch thorpej_scsipi on 2000-11-20 20:14:12 +0000
 1.4.4.2 11-Dec-2002  thorpej Sync with HEAD.
 1.4.4.1 05-Oct-2001  thorpej file Makefile.booters was added on branch nathanw_sa on 2002-12-11 06:11:19 +0000
 1.5.6.3 17-Jan-2005  skrll Sync with HEAD.
 1.5.6.2 05-Aug-2004  skrll Fix some merge mistakes.
 1.5.6.1 03-Aug-2004  skrll Sync with HEAD
 1.8.2.2 19-Jul-2004  tron Pull up revision 1.10 (requested by chs in ticket #677):
include bsd.own.mk so this builds again.
 1.8.2.1 22-Jun-2004  tron Pull up revision 1.9 (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.12.86.2 28-Apr-2009  skrll Sync with HEAD.
 1.12.86.1 19-Jan-2009  skrll Sync with HEAD.
 1.12.78.2 11-Aug-2010  yamt sync with head.
 1.12.78.1 04-May-2009  yamt sync with head.
 1.12.74.1 17-Jan-2009  mjf Sync with HEAD.
 1.13.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.15.4.2 05-Mar-2011  rmind sync with head
 1.15.4.1 30-May-2010  rmind sync with head
 1.15.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.16.4.1 08-Feb-2011  bouyer Sync with HEAD
 1.16.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.17.18.2 18-May-2014  rmind sync with head
 1.17.18.1 28-Aug-2013  rmind sync with head
 1.17.14.2 03-Dec-2017  jdolecek update from HEAD
 1.17.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.17.4.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.21.10.2 26-Apr-2017  pgoyette Sync with HEAD
 1.21.10.1 04-Nov-2016  pgoyette Sync with HEAD
 1.21.6.2 28-Aug-2017  skrll Sync with HEAD
 1.21.6.1 05-Oct-2016  skrll Sync with HEAD
 1.23.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.24.32.1 31-May-2021  cjep sync with head
 1.24.30.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.5 08-Sep-2016  christos Avoid the PIE
 1.4 27-Aug-2002  lukem branches: 1.4.156; 1.4.176;
arch/*/stand stuff should be LDSTATIC=-static and not LDSTATIC?=-static.
It doesn't make sense to have standalone stuff dynamically linked just
because an end-user uses LDSTATIC="".
 1.3 12-Dec-2001  lukem branches: 1.3.8;
Set NOxxx= before <bsd.own.mk> is pulled in (even indirectly).
Otherwise the appropriate MKxxx=no won't be defined .
 1.2 12-Dec-2001  tv MKfoo=no -> NOfoo
 1.1 18-Sep-2000  wdk branches: 1.1.2; 1.1.6; 1.1.10;
Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware. A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length. We need to add a "boot" entry of
the correct length starting at block 2. The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
 1.1.10.2 27-Aug-2002  nathanw Catch up to -current.
 1.1.10.1 08-Jan-2002  nathanw Catch up to -current.
 1.1.6.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 18-Sep-2000  bouyer file Makefile.inc was added on branch thorpej_scsipi on 2000-11-20 20:14:12 +0000
 1.3.8.1 31-Aug-2002  gehenna catch up with -current.
 1.4.176.1 05-Oct-2016  skrll Sync with HEAD
 1.4.156.1 03-Dec-2017  jdolecek update from HEAD
 1.3 07-May-2002  jdolecek track rev. 1.7 of pmax/stand/boot/Makefile:
use ${INSTALL_FILE} instead of "cp -p"
 1.2 26-Sep-2000  wdk branches: 1.2.2; 1.2.6; 1.2.10;
Second stage bootstrap:
- Rename from boot.mipsco -> boot to be consistant with other ports
- use ELF format
 1.1 18-Sep-2000  wdk Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware. A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length. We need to add a "boot" entry of
the correct length starting at block 2. The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
 1.2.10.1 20-Jun-2002  nathanw Catch up to -current.
 1.2.6.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 26-Sep-2000  bouyer file Makefile was added on branch thorpej_scsipi on 2000-11-20 20:14:12 +0000
 1.3 09-Nov-2001  scw branches: 1.3.2;
Bump the version numbers of all bootloaders which use loadfile_elfXX() now
that it tries hard to avoid backwards seeks.
 1.2 02-Aug-2001  bjh21 branches: 1.2.4;
Bump version numbers of all bootloaders that use loadfile/ELF, to account for
my changes to symbol loading. I should probably have done this at the time,
but it's better late than never.
 1.1 18-Sep-2000  wdk branches: 1.1.2; 1.1.6;
Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware. A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length. We need to add a "boot" entry of
the correct length starting at block 2. The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 03-Aug-2001  lukem update to -current
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 18-Sep-2000  bouyer file version was added on branch thorpej_scsipi on 2000-11-20 20:14:12 +0000
 1.2.4.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.3.2.2 09-Nov-2001  scw Bump the version numbers of all bootloaders which use loadfile_elfXX() now
that it tries hard to avoid backwards seeks.
 1.3.2.1 09-Nov-2001  scw file version was added on branch nathanw_sa on 2001-11-09 19:53:19 +0000
 1.1 18-Sep-2000  wdk branches: 1.1.2;
Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware. A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length. We need to add a "boot" entry of
the correct length starting at block 2. The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 18-Sep-2000  bouyer file Makefile was added on branch thorpej_scsipi on 2000-11-20 20:14:12 +0000
 1.2 02-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 this platform.
 1.1 18-Sep-2000  wdk branches: 1.1.2;
Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware. A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length. We need to add a "boot" entry of
the correct length starting at block 2. The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 18-Sep-2000  bouyer file Makefile was added on branch thorpej_scsipi on 2000-11-20 20:14:13 +0000
 1.11 06-Mar-2024  andvar s/lader/loader/ in comments.
 1.10 14-Feb-2014  christos make sure kernel is initialized properly.
 1.9 22-Jan-2011  joerg branches: 1.9.4; 1.9.14; 1.9.18;
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.8 14-Mar-2009  dsl branches: 1.8.4; 1.8.6; 1.8.8;
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.7 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.6 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.5 28-Apr-2008  martin branches: 1.5.8; 1.5.14;
Remove clause 3 and 4 from TNF licenses
 1.4 11-Dec-2005  christos branches: 1.4.74; 1.4.76; 1.4.78;
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 26-Sep-2000  wdk branches: 1.2.2; 1.2.26;
Parse boot string intelligently to extract the boot device options.

This permits boot from any SCSI ID
 1.1 18-Sep-2000  wdk Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware. A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length. We need to add a "boot" entry of
the correct length starting at block 2. The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
 1.2.26.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.26.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.26.1 03-Aug-2004  skrll Sync with HEAD
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 26-Sep-2000  bouyer file boot.c was added on branch thorpej_scsipi on 2000-11-20 20:14:13 +0000
 1.4.78.2 04-May-2009  yamt sync with head.
 1.4.78.1 16-May-2008  yamt sync with head.
 1.4.76.1 18-May-2008  yamt sync with head.
 1.4.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.5.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.5.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.8.8.1 08-Feb-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.9.18.1 18-May-2014  rmind sync with head
 1.9.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.4.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.4 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3 31-Jan-2008  tsutsui branches: 1.3.6; 1.3.8; 1.3.10;
Account bi_size properly.
 1.2 22-Jul-2001  wiz branches: 1.2.6; 1.2.38; 1.2.100; 1.2.106;
bcopy -> memcpy
 1.1 18-Sep-2000  wdk branches: 1.1.2; 1.1.6;
Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware. A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length. We need to add a "boot" entry of
the correct length starting at block 2. The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
 1.1.6.1 03-Aug-2001  lukem update to -current
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 18-Sep-2000  bouyer file bootinfo.c was added on branch thorpej_scsipi on 2000-11-20 20:14:13 +0000
 1.2.106.1 18-Feb-2008  mjf Sync with HEAD.
 1.2.100.1 23-Mar-2008  matt sync with HEAD
 1.2.38.1 04-Feb-2008  yamt sync with head.
 1.2.6.2 22-Jul-2001  wiz bcopy -> memcpy
 1.2.6.1 22-Jul-2001  wiz file bootinfo.c was added on branch nathanw_sa on 2001-07-22 15:48:12 +0000
 1.3.10.1 16-May-2008  yamt sync with head.
 1.3.8.1 18-May-2008  yamt sync with head.
 1.3.6.1 02-Jun-2008  mjf Sync with HEAD.
 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 28-Apr-2008  martin branches: 1.2.8; 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 18-Sep-2000  wdk branches: 1.1.2; 1.1.128; 1.1.130; 1.1.132;
Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware. A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length. We need to add a "boot" entry of
the correct length starting at block 2. The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
 1.1.132.2 04-May-2009  yamt sync with head.
 1.1.132.1 16-May-2008  yamt sync with head.
 1.1.130.1 18-May-2008  yamt sync with head.
 1.1.128.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 18-Sep-2000  bouyer file bootinfo.h was added on branch thorpej_scsipi on 2000-11-20 20:14:13 +0000
 1.2.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.2.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.9 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.8 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.7 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.6 28-Apr-2008  martin branches: 1.6.8; 1.6.14;
Remove clause 3 and 4 from TNF licenses
 1.5 11-Dec-2005  christos branches: 1.5.74; 1.5.76; 1.5.78;
merge ktrace-lwp.
 1.4 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.3 08-Jul-2001  wdk branches: 1.3.8; 1.3.24;
change b*() -> mem*()
 1.2 26-Sep-2000  wdk branches: 1.2.2;
Parse boot string intelligently to extract the boot device options.

This permits boot from any SCSI ID
 1.1 18-Sep-2000  wdk Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware. A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length. We need to add a "boot" entry of
the correct length starting at block 2. The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 26-Sep-2000  bouyer file bootxx.c was added on branch thorpej_scsipi on 2000-11-20 20:14:13 +0000
 1.3.24.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.24.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.24.1 03-Aug-2004  skrll Sync with HEAD
 1.3.8.2 08-Jul-2001  wdk change b*() -> mem*()
 1.3.8.1 08-Jul-2001  wdk file bootxx.c was added on branch nathanw_sa on 2001-07-08 04:25:38 +0000
 1.5.78.2 04-May-2009  yamt sync with head.
 1.5.78.1 16-May-2008  yamt sync with head.
 1.5.76.1 18-May-2008  yamt sync with head.
 1.5.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.6.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.6.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.6 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.5 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.4 28-Apr-2008  martin branches: 1.4.8; 1.4.14;
Remove clause 3 and 4 from TNF licenses
 1.3 11-Dec-2005  christos branches: 1.3.74; 1.3.76; 1.3.78;
merge ktrace-lwp.
 1.2 08-Oct-2003  simonb Remove some unneeded include files.
 1.1 18-Sep-2000  wdk branches: 1.1.2; 1.1.26;
Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware. A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length. We need to add a "boot" entry of
the correct length starting at block 2. The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
 1.1.26.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.26.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.26.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 18-Sep-2000  bouyer file callvec.c was added on branch thorpej_scsipi on 2000-11-20 20:14:13 +0000
 1.3.78.2 04-May-2009  yamt sync with head.
 1.3.78.1 16-May-2008  yamt sync with head.
 1.3.76.1 18-May-2008  yamt sync with head.
 1.3.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.4.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.2 26-Sep-2000  wdk branches: 1.2.2;
First stage bootstrap is stored on boot sectors in ECOFF format. Ensure
entire file fits within the imposed limit.
 1.1 18-Sep-2000  wdk Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware. A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length. We need to add a "boot" entry of
the correct length starting at block 2. The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 26-Sep-2000  bouyer file checksize.sh was added on branch thorpej_scsipi on 2000-11-20 20:14:13 +0000
 1.4 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.3 14-Mar-2009  dsl branches: 1.3.4; 1.3.6; 1.3.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.2 28-Apr-2008  martin branches: 1.2.8; 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 18-Sep-2000  wdk branches: 1.1.2; 1.1.128; 1.1.130; 1.1.132;
Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware. A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length. We need to add a "boot" entry of
the correct length starting at block 2. The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
 1.1.132.2 04-May-2009  yamt sync with head.
 1.1.132.1 16-May-2008  yamt sync with head.
 1.1.130.1 18-May-2008  yamt sync with head.
 1.1.128.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 18-Sep-2000  bouyer file common.h was added on branch thorpej_scsipi on 2000-11-20 20:14:13 +0000
 1.2.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.2.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.3.8.1 08-Feb-2011  bouyer Sync with HEAD
 1.3.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.4.1 05-Mar-2011  rmind sync with head
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 23-Jun-2005  junyoung Use FS_OPS() macro.
 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 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 18-Sep-2000  wdk branches: 1.1.2;
Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware. A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length. We need to add a "boot" entry of
the correct length starting at block 2. The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 18-Sep-2000  bouyer file conf.c was added on branch thorpej_scsipi on 2000-11-20 20:14:14 +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 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.5 11-Dec-2005  christos branches: 1.5.78; 1.5.86; 1.5.92;
merge ktrace-lwp.
 1.4 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.3 16-Nov-2002  wdk branches: 1.3.6;
#include <lib/libkern/libkern.h>
 1.2 26-Sep-2000  wdk branches: 1.2.2; 1.2.10;
Parse boot string intelligently to extract the boot device options.

This permits boot from any SCSI ID
 1.1 18-Sep-2000  wdk Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware. A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length. We need to add a "boot" entry of
the correct length starting at block 2. The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
 1.2.10.1 11-Dec-2002  thorpej Sync with HEAD.
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 26-Sep-2000  bouyer file devopen.c was added on branch thorpej_scsipi on 2000-11-20 20:14:14 +0000
 1.3.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.6.1 03-Aug-2004  skrll Sync with HEAD
 1.5.92.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.5.86.1 28-Apr-2009  skrll Sync with HEAD.
 1.5.78.1 04-May-2009  yamt sync with head.
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 26-Sep-2000  wdk branches: 1.2.2; 1.2.128; 1.2.130; 1.2.132;
Since we don't have a lseek function in the PROM firmware standalone libs
we have to poke the data structures directly to force the offset we need.

The open() function returns with the address of the IO control block in
register t0 so we take a copy of it for our brute-force lseek function.

This should be reasonably portable since the firmware writers closely
follow UNIX semantics and the open stubs should recompile and use the
same registers. May break on the rebadged clones -- buyer beware.

The alternative is to use dummy reads to go forwards and reopen followed
by dummy reads to go backwards. It takes around 60 seconds to boot
using this method if we use a clean filesystem.

Tested with firmware versions 5.40 and 5.43
 1.1 18-Sep-2000  wdk Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware. A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length. We need to add a "boot" entry of
the correct length starting at block 2. The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
 1.2.132.1 16-May-2008  yamt sync with head.
 1.2.130.1 18-May-2008  yamt sync with head.
 1.2.128.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 26-Sep-2000  bouyer file prom.S was added on branch thorpej_scsipi on 2000-11-20 20:14:14 +0000
 1.15 24-Jul-2021  andvar Fix all remaining typos, mainly in comments but also in few definitions and log messages, reported by me in PR kern/54889.
Also fixed some additional typos in comments, found on review of same files or typos.
 1.14 06-Feb-2014  christos branches: 1.14.46;
fix the second copy of this file. XXX: merge them.
 1.13 17-Jul-2011  joerg branches: 1.13.2; 1.13.12; 1.13.16;
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.12 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.11 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.10 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.9 20-Sep-2006  he branches: 1.9.56; 1.9.64; 1.9.70;
Get rid of lvalue cast by using a temporary variable of the right type.
 1.8 25-Jan-2006  christos branches: 1.8.18; 1.8.20;
free -> dealloc
unsigned -> size_t for alloc/dealloc
 1.7 11-Dec-2005  christos branches: 1.7.2;
merge ktrace-lwp.
 1.6 07-Aug-2003  agc branches: 1.6.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.5 24-Jan-2003  fvdl branches: 1.5.2;
Bump daddr_t to 64 bits. Replace it with int32_t in all places where
it was used on-disk, so that on-disk formats remain the same.
Remove ufs_daddr_t and ufs_lbn_t for the time being.
 1.4 16-Nov-2002  wdk #include <lib/libkern/libkern.h>
 1.3 24-Sep-2001  wiz branches: 1.3.4;
va_{start,end} audit:
Make sure that each va_start has one and only one matching va_end,
especially in error cases.
If the va_list is used multiple times, do multiple va_starts/va_ends.
If a function gets va_list as argument, don't let it use va_end (since
it's the callers responsibility).

Improved by comments from enami and christos -- thanks!

Heimdal/krb4/KAME changes already fed back, rest to follow.

Inspired by, but not not based on, OpenBSD.
 1.2 26-Sep-2000  wdk branches: 1.2.2; 1.2.4; 1.2.6;
Parse boot string intelligently to extract the boot device options.

This permits boot from any SCSI ID
 1.1 18-Sep-2000  wdk Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware. A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length. We need to add a "boot" entry of
the correct length starting at block 2. The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
 1.2.6.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.2.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.2.1 26-Sep-2000  bouyer file saio.c was added on branch thorpej_scsipi on 2000-11-20 20:14:14 +0000
 1.3.4.2 11-Dec-2002  thorpej Sync with HEAD.
 1.3.4.1 24-Sep-2001  thorpej file saio.c was added on branch nathanw_sa on 2002-12-11 06:11:20 +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.16.2 30-Dec-2006  yamt sync with head.
 1.6.16.1 21-Jun-2006  yamt sync with head.
 1.7.2.1 01-Feb-2006  yamt sync with head.
 1.8.20.1 22-Oct-2006  yamt sync with head
 1.8.18.1 18-Nov-2006  ad Sync with head.
 1.9.70.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.9.64.1 28-Apr-2009  skrll Sync with HEAD.
 1.9.56.1 04-May-2009  yamt sync with head.
 1.13.16.1 18-May-2014  rmind sync with head
 1.13.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.13.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.14.46.1 01-Aug-2021  thorpej Sync with HEAD.
 1.4 17-Mar-2009  he Introduce LIBSA_NO_DEV_IOCTL. Don't declare the ioctl routine
if it is defined, and don't declare the close routine if
LIBSA_NO_DEV_CLOSE is defined.
 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 28-Apr-2008  martin branches: 1.2.8; 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 18-Sep-2000  wdk branches: 1.1.2; 1.1.128; 1.1.130; 1.1.132;
Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware. A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length. We need to add a "boot" entry of
the correct length starting at block 2. The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
 1.1.132.2 04-May-2009  yamt sync with head.
 1.1.132.1 16-May-2008  yamt sync with head.
 1.1.130.1 18-May-2008  yamt sync with head.
 1.1.128.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 18-Sep-2000  bouyer file saio.h was added on branch thorpej_scsipi on 2000-11-20 20:14:14 +0000
 1.2.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.2.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 16-Nov-2002  wdk branches: 1.2.108; 1.2.110; 1.2.112;
Target address for jump was out of range for the assembler instruction.
 1.1 18-Sep-2000  wdk branches: 1.1.2; 1.1.10;
Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware. A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length. We need to add a "boot" entry of
the correct length starting at block 2. The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
 1.1.10.1 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 18-Sep-2000  bouyer file start.S was added on branch thorpej_scsipi on 2000-11-20 20:14:14 +0000
 1.2.112.1 16-May-2008  yamt sync with head.
 1.2.110.1 18-May-2008  yamt sync with head.
 1.2.108.1 02-Jun-2008  mjf Sync with HEAD.
 1.3 03-Jun-2023  lukem bsd.own.mk: rename to CC_WNO_ADDRESS_OF_PACKED_MEMBER

Provide a single variable
CC_WNO_ADDRESS_OF_PACKED_MEMBER
with options for both clang and gcc, to replace
CLANG_NO_ADDR_OF_PACKED_MEMBER
CC_NO_ADDR_OF_PACKED_MEMBER
GCC_NO_ADDR_OF_PACKED_MEMBER

Using the convention CC_compilerflag, where compilerflag
is based on the full compiler flag name.
 1.2 07-Sep-2020  mrg apply some GCC_NO_ADDR_OF_PACKED_MEMBER.
 1.1 26-Sep-2000  wdk branches: 1.1.2;
Much needed installboot utility. Manual page to follow.

Builds and installs from stand directories, but untested from higher
level makefiles.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 26-Sep-2000  bouyer file Makefile was added on branch thorpej_scsipi on 2000-11-20 20:14:14 +0000
 1.10 21-Jan-2016  christos PR/50683: David Binderman: Fix memory leak.
 1.9 27-Jun-2013  christos branches: 1.9.10;
free boot_code
http://M00nBSD.net/ae123a9bae03f7dde5c6d654412daf5a.html
 1.8 18-Mar-2009  cegger branches: 1.8.12; 1.8.22;
Ansify function definitions w/o arguments. Generated with sed.
 1.7 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.6 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.5 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.4 28-Apr-2008  martin branches: 1.4.8; 1.4.14;
Remove clause 3 and 4 from TNF licenses
 1.3 08-Jul-2001  wdk branches: 1.3.8; 1.3.126; 1.3.128; 1.3.130;
change b*() -> mem*()
 1.2 20-Feb-2001  cgd use getprogname()
 1.1 26-Sep-2000  wdk branches: 1.1.2;
Much needed installboot utility. Manual page to follow.

Builds and installs from stand directories, but untested from higher
level makefiles.
 1.1.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.1.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.2.1 26-Sep-2000  bouyer file installboot.c was added on branch thorpej_scsipi on 2000-11-20 20:14:14 +0000
 1.3.130.2 04-May-2009  yamt sync with head.
 1.3.130.1 16-May-2008  yamt sync with head.
 1.3.128.1 18-May-2008  yamt sync with head.
 1.3.126.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.8.2 08-Jul-2001  wdk change b*() -> mem*()
 1.3.8.1 08-Jul-2001  wdk file installboot.c was added on branch nathanw_sa on 2001-07-08 04:25:38 +0000
 1.4.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.4.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.8.22.2 03-Dec-2017  jdolecek update from HEAD
 1.8.22.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.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.9.10.1 19-Mar-2016  skrll Sync with HEAD

RSS XML Feed