Home | History | Annotate | only in /src/sys/arch/news68k
History log of /src/sys/arch/news68k
RevisionDateAuthorComments
 1.4 25-Oct-2008  apb Use ${TOOL_SED} instead if plain sed in Makefiles.
 1.3 06-Jan-2003  lukem branches: 1.3.104; 1.3.108; 1.3.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.2 05-Oct-2000  tsutsui branches: 1.2.2; 1.2.10;
pasto (s/mips/m68k/)
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.10.1 07-Jan-2003  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 05-Oct-2000  bouyer file Makefile was added on branch thorpej_scsipi on 2000-11-20 20:16:07 +0000
 1.3.114.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.3.108.1 04-May-2009  yamt sync with head.
 1.3.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 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8; 1.1.16;
Initial import of news68k port.
 1.1.16.1 07-Jan-2003  thorpej Sync with HEAD.
 1.1.8.2 09-Dec-1999  tsutsui Initial import of news68k port.
 1.1.8.1 09-Dec-1999  tsutsui file .keep_me was added on branch thorpej_scsipi on 1999-12-09 14:53:03 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 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:20 +0000
 1.141 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.140 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.139 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.138 21-Jan-2021  nia add a commented out compat_ossaudio wherever there's compat_linux

requested by mrg
 1.137 27-Sep-2020  roy branches: 1.137.2;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.136 10-Aug-2020  rin Add -fno-omit-frame-pointer to m68k kernels with DDB for backtraces.
-omit-frame-pointer is enabled for -O1 and higher for GCC8 by default.
 1.135 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.134 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.133 26-Apr-2019  sevan branches: 1.133.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.132 19-Dec-2018  maxv Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.
 1.131 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.130 23-Jan-2018  sevan branches: 1.130.2; 1.130.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.129 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.128 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.127 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.126 08-Aug-2015  maxv branches: 1.126.10;
Remove KMEMSTATS.
 1.125 16-Nov-2014  manu branches: 1.125.2;
Remove unused extended attributes kernel options

As Masao Uebayashi pointed to me, UFS_EXTATTR_AUTOSTART, LFS_EXTATTR_AUTOSTART
and UFS_EXTATTR_AUTOCREATE are not used anywhere in the code. Remove them
as they have been obsolete for a long time:
UFS_EXTATTR_AUTOSTART was replaced by mount -o extattr
LFS_EXTATTR_AUTOSTART was created to match obsolete UFS_EXTATTR_AUTOSTART
UFS_EXTATTR_AUTOCREATE was replaced by sysctl vfs.ffs.extattr_autocreate
 1.124 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.123 24-Aug-2014  jnemeth Create an "options MODULAR_DEFAULT_AUTOLOAD" config option and add
it to all kernel configs that contain "options MODULAR". This
option turns on module autoloading by default (which is the current
default). This allows people who don't want module autoloading on
by default to disable it by simply removing/commentting this line.
 1.122 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.121 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.120 18-Jul-2014  tsutsui branches: 1.120.2;
Shrink GENERIC and enable MODULAR instead.
 1.119 05-Jul-2014  tsutsui Use COPTS="-O2 -fno-reorder-blocks" as defined in sys.mk for userland.

with "-O2":
text data bss dec hex filename
3297898 65044 122584 3485526 352f56 netbsd

with "-O2 -fno-reorder-blocks":
text data bss dec hex filename
2930782 65044 122584 3118410 2f954a netbsd
 1.118 24-Mar-2014  szptvlfn branches: 1.118.2;
fix manual section numbering of sysctl.
thanks wiz@
 1.117 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.116 05-Jun-2013  christos branches: 1.116.2;
remove obsolete networking options
 1.115 27-Apr-2013  christos the bogus number police
 1.114 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.113 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.112 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.111 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.110 10-Mar-2012  joerg branches: 1.110.2;
P1003_1B_SEMAPHORE is no longer optional.
 1.109 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.108 22-Nov-2011  tls branches: 1.108.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.107 20-Nov-2011  tsutsui Add preliminary PROM internal function based framebuffer console support,
which was demonstrated at Open Source Conference 2011 Kansai @ Kyoto
back in July:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-Kansai

- map 0xc0000000-0xffffffff PA region (which is mirror of PA 0x0-0x3fffffff)
to the same VA via %tt0 and %tt1 registers and move KVA space accordingly
(like luna68k does for its devices)
- save trap #0 vector for PROM function calls in early bootstrap
and register it to trap #14 to call it from kernel for console output
- add dumb romcall based tty attachment taken from src/sys/dev/ofw/ofcons.c
- add rom function call stubs from news68k/stand/common/romcalls.S
- remove IIOV() macro for device registers where now mapped PA==VA via %tt1

XXX: romcons is not enabled yet because there is no generic interface
XXX: to attach wskbd(4) to non wsdisplay(4) devices like this romcons.
 1.106 06-Mar-2011  bouyer branches: 1.106.4;
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.105 06-Mar-2011  tsutsui Remove trailing spaces and TABs.
 1.104 03-Jan-2011  tsutsui branches: 1.104.2; 1.104.4;
Xref module(7) in comments.
 1.103 23-Nov-2010  hannken Remove unused count from pseudo-device md.
 1.102 16-Oct-2010  tsutsui Add commented out options MODULAR.
 1.101 08-May-2010  mrg enable IPFILTER_COMPAT in all kernels that have ipfilter already.
canonicalise several of the ipf option segments in various files
(this mostly means adding commented out IPFILTER_DEFAULT_BLOCK,
or adding commented or uncommented IPFILTER_LOG or IPFILTER_LOOKUP
option statements.)

i built about 20 of these kernels to check, but not all of them.
 1.100 29-Apr-2010  chs enable TMPFS in all GENERICs that have MFS enabled.
 1.99 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.98 05-Dec-2009  pooka branches: 1.98.2; 1.98.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.97 17-Jan-2009  tsutsui Add options COMPAT_50.
 1.96 24-Nov-2008  ad Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.94 10-Aug-2008  tls branches: 1.94.2;
Add accept filters to GENERIC kernels where they exist.
 1.93 31-Jul-2008  simonb Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.92 31-Dec-2007  ad branches: 1.92.6; 1.92.10; 1.92.12; 1.92.16;
Remove systrace. Ok core@.
 1.91 04-Nov-2007  xtraeme branches: 1.91.2; 1.91.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.90 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.89 25-Jun-2007  tsutsui branches: 1.89.8; 1.89.10; 1.89.14;
Add options COMPAT_40.
 1.88 04-Jun-2007  martin Add pseudo-device agr to all GENERIC kernels where it might make sense
(commented out in some).
 1.87 17-Feb-2007  tsutsui branches: 1.87.2; 1.87.6; 1.87.8; 1.87.14;
Make disconnect/reselect work on news68k si(4) with DMA and
enable it by default.
 1.86 24-Nov-2006  wiz branches: 1.86.2;
s/independant/independent/, from Zafer.
 1.85 11-Nov-2006  jmmv Remove tmpfs's experimental status. OK'ed by core@.
 1.84 26-Aug-2006  christos branches: 1.84.2; 1.84.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.83 26-Aug-2006  tsutsui options<space><tab>
 1.82 26-Aug-2006  tsutsui Remove netns and netccitt options.
 1.81 26-Aug-2006  tsutsui Remove obsolete #options VERIFIED_EXEC, found by grep(1).
 1.80 12-Aug-2006  christos Disable SYSTRACE by default on all kernels (discussed with core)
 1.79 28-Jun-2006  liamjfoy branches: 1.79.2;
Add CARP to GENERIC kernel configs. CARP is not enabled by default.

ok: christos
 1.78 28-Mar-2006  pavel branches: 1.78.4;
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.77 05-Feb-2006  cube branches: 1.77.2; 1.77.4; 1.77.6;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.76 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.75 02-Feb-2006  reinoud branches: 1.75.2;
Add commented out UDF file-system entry in all GENERIC configurations.
 1.74 09-Dec-2005  elad branches: 1.74.2; 1.74.4;
Add (commented out) Veriexec options and pseudo-device to GENERIC kernels,
and remove the i386 GENERIC_VERIEXEC config.
 1.73 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.72 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.71 20-Aug-2005  tsutsui options<space><tab>
 1.70 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.69 19-Aug-2005  christos 64 bit inode changes.
 1.68 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.67 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.66 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.65 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.64 25-Jun-2005  rpaulo branches: 1.64.2;
Add file-system PTYFS (commented out) so that people know its existence.

Ok'ed by Christos Zoulas and Hubert Feyrer.
 1.63 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.62 18-Feb-2005  dsl branches: 1.62.4;
Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.61 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.60 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.59 28-Jan-2005  rumble Sprinkle options UFS_DIRHASH on GENERIC kernels. It's presently
commented out and labeled experimental pending further review and
testing.
 1.58 17-Jan-2005  cube branches: 1.58.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.57 05-Jan-2005  tsutsui branches: 1.57.2;
options<space><tab>
 1.56 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.55 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.54 18-Jul-2004  tsutsui Add options COMPAT_20.
 1.53 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.52 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.51 26-Jun-2004  abs Add (commented out) ALTQ options to all GENERIC-like files
 1.50 22-Jun-2004  itojun have pf and pflog pseudo-device (commented out).
reviewed by matt, perry, christos
 1.49 18-Jun-2004  christos ptm is now mandatory, depends on pty, and can be disabled with -DNO_DEV_PTM
 1.48 16-Jun-2004  christos Add pseudo-device ptm on all the generic flavored kernels.
 1.47 22-Sep-2003  cl branches: 1.47.2;
add COMPAT_15/COMPAT_16
 1.46 26-Apr-2003  ragge branches: 1.46.2;
Add pseudo-device ksyms.
 1.45 19-Apr-2003  tsutsui Disable options DIAGNOSTIC.
 1.44 10-Apr-2003  christos Bye Bye UCONSOLE
 1.43 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.42 18-Jan-2003  tsutsui TAB/space cleanup.
 1.41 22-Nov-2002  wiz Fix typo (responsiness -> responsiveness).
 1.40 18-Oct-2002  junyoung Add NEW_BUFQ_STRATEGY (disabled by default).
 1.39 14-Oct-2002  elric Added commented out cgd(4)s to GENERIC configs.
 1.38 06-Oct-2002  provos add SYSTRACE; approved perry.
 1.37 25-Sep-2002  martti Add one space between "#option" and "<tab>IPFILTER_DEFAULT_BLOCK"
 1.36 20-Sep-2002  martti Added (commented out) IPFILTER_DEFAULT_BLOCK.
 1.35 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.34 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.33 25-Apr-2002  atatat branches: 1.33.2; 1.33.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.32 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.31 05-Mar-2002  wiz 'securyty' looks nice. Sadly, it's wrong.
 1.30 04-Mar-2002  sommerfeld The "gif*" tunnelling interface does everything ipip does.
Move usage example from ipip.4 to gif.4
Excise ipip and stitch up the scars.
 1.29 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.28 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.27 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.26 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.25 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.24 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.23 01-Sep-2001  atatat branches: 1.23.6;
Comment out bridge pseudo devices from ports that don't
__HAVE_GENERIC_SOFT_INTERRUPTS. bridge(4) doesn't compile there.
 1.22 01-Sep-2001  atatat Add bridge pseudo devices to GENERIC configs
 1.21 08-Jul-2001  abs branches: 1.21.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.20 07-Jul-2001  tsutsui Split clock device attachment into interval timer and todclock
since they are actually independent devices.
 1.19 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.18 19-Mar-2001  tsutsui Switch news68k to ELF:
- Move options EXEC_ELF32 to std.news68k
- Add options COMPAT_AOUT_M68K to each config file
 1.17 25-Jan-2001  tsutsui branches: 1.17.2;
Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 1.16 19-Dec-2000  bouyer Add pseudo-device vlan
 1.15 24-Nov-2000  tsutsui Add/enable COMPAT_SUNOS. It actually works on news68k.
 1.14 04-Oct-2000  tsutsui branches: 1.14.2;
Switch to MI mk48txx driver.

XXX All config files should be updated since now clock address does not
XXX contain clock register offset in NVRAM.
 1.13 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.12 13-Aug-2000  itojun move "options PULLDOWN_TEST" into sys/sys/mbuf.h (in #ifdef _KERNEL),
as it is no wthe default setting for everyone.

the reason we still use the name "PULLDOWN_TEST" while it is now default:
kame code sharing.
 1.11 27-Jul-2000  mason Moving to a default of 64 PTYs.
 1.10 30-Jun-2000  itojun add PULLDOWN_TEST for all the platforms.
XXX should be moved to somewhere else when stabilized
 1.9 22-Jun-2000  fvdl Remove prefix construction for softdeps. Add SOFTDEP option to GENERIC.
 1.8 14-Jun-2000  veego branches: 1.8.2;
Remove the obsolete config fragments for kernel crypto, because the IPsec
crypto code is now in the kernel source tree.
 1.7 19-Apr-2000  itojun branches: 1.7.2;
add stf pseudo interface (commented out due to possible security risks)
 1.6 12-Feb-2000  tsutsui Fix typo.
 1.5 12-Feb-2000  thorpej Nuke NKMEMCLUSTERS.
 1.4 08-Feb-2000  tsutsui Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.3 23-Jan-2000  hubertf Add commented out "ident"-command
 1.2 20-Jan-2000  wrstuden Add overlay to kernel configs.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.7.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.8.2.3 01-May-2001  he Pull up revisions 1.16 (requested by he):
Add pseudo-device vlan.
Make sure "rnd is EXPERIMENTAL" comment is removed.
 1.8.2.2 11-Aug-2000  mason Move to default of 64 PTYs in GENERIC kernel config.
Requested by mason, approved by jhawk.
 1.8.2.1 23-Jun-2000  fvdl As on the trunk, update these for the move of ffs_softdep.c into the
kernel source itself. Remove prefix construction, and add the SOFTDEP
option to GENERIC kernels.
 1.14.2.6 27-Mar-2001  bouyer Sync with HEAD.
 1.14.2.5 11-Feb-2001  bouyer Sync with HEAD.
 1.14.2.4 05-Jan-2001  bouyer Sync with HEAD
 1.14.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.14.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.14.2.1 04-Oct-2000  bouyer file GENERIC was added on branch thorpej_scsipi on 2000-11-20 20:16:08 +0000
 1.17.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.21.2.7 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.21.2.6 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.21.2.5 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.21.2.4 16-Mar-2002  jdolecek Catch up with -current.
 1.21.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.21.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.21.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.23.6.9 11-Dec-2002  thorpej Sync with HEAD.
 1.23.6.8 11-Nov-2002  nathanw Catch up to -current
 1.23.6.7 18-Oct-2002  nathanw Catch up to -current.
 1.23.6.6 20-Jun-2002  nathanw Catch up to -current.
 1.23.6.5 17-Apr-2002  nathanw Catch up to -current.
 1.23.6.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.23.6.3 28-Feb-2002  nathanw Catch up to -current.
 1.23.6.2 08-Jan-2002  nathanw Catch up to -current.
 1.23.6.1 01-Sep-2001  nathanw file GENERIC was added on branch nathanw_sa on 2002-01-08 00:26:50 +0000
 1.33.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.33.4.1 01-Aug-2002  lukem Pull up revision 1.34 (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.33.2.1 15-Jul-2002  gehenna catch up with -current.
 1.46.2.11 11-Dec-2005  christos Sync with head.
 1.46.2.10 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.46.2.9 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.46.2.8 15-Feb-2005  skrll Sync with HEAD.
 1.46.2.7 04-Feb-2005  skrll Sync with HEAD.
 1.46.2.6 24-Jan-2005  skrll Sync with HEAD.
 1.46.2.5 17-Jan-2005  skrll Sync with HEAD.
 1.46.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.46.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.46.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.46.2.1 03-Aug-2004  skrll Sync with HEAD
 1.47.2.3 15-Jul-2004  he Pull up revision 1.53 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.47.2.2 02-Jul-2004  he Pull up revision 1.52 (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.47.2.1 30-Jun-2004  jdc Pull up revision 1.51 (requested by abs in ticket #567).

Add (commented out) ALTQ options to all GENERIC-like files
 1.57.2.1 29-Apr-2005  kent sync with -current
 1.58.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.58.2.1 12-Feb-2005  yamt sync with head.
 1.62.4.2 14-Aug-2005  riz Pull up revision 1.66 (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.62.4.1 18-Jul-2005  riz Pull up revision 1.65 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.64.2.6 21-Jan-2008  yamt sync with head
 1.64.2.5 15-Nov-2007  yamt sync with head.
 1.64.2.4 03-Sep-2007  yamt sync with head.
 1.64.2.3 26-Feb-2007  yamt sync with head.
 1.64.2.2 30-Dec-2006  yamt sync with head.
 1.64.2.1 21-Jun-2006  yamt sync with head.
 1.74.4.1 09-Sep-2006  rpaulo sync with head
 1.74.2.1 18-Feb-2006  yamt sync with head.
 1.75.2.1 22-Apr-2006  simonb Sync with head.
 1.77.6.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.77.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.77.2.3 03-Sep-2006  yamt sync with head.
 1.77.2.2 11-Aug-2006  yamt sync with head
 1.77.2.1 01-Apr-2006  yamt sync with head.
 1.78.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.79.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.79.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.84.4.1 10-Dec-2006  yamt sync with head.
 1.84.2.2 12-Jan-2007  ad Sync with head.
 1.84.2.1 18-Nov-2006  ad Sync with head.
 1.86.2.2 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.86.2.1 24-Feb-2007  bouyer branches: 1.86.2.1.2;
Pull up following revision(s) (requested by tsutsui in ticket #464):
sys/arch/news68k/conf/INSTALL: revision 1.41
sys/arch/news68k/conf/GENERIC_TINY: revision 1.56
sys/arch/news68k/conf/GENERIC: revision 1.87
sys/arch/news68k/conf/LIBERO: revision 1.44
sys/arch/news68k/dev/si.c: revision 1.19
Make disconnect/reselect work on news68k si(4) with DMA and
enable it by default.
 1.86.2.1.2.1 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.87.14.1 26-Jun-2007  garbled Sync with HEAD.
 1.87.8.1 11-Jul-2007  mjf Sync with head.
 1.87.6.3 03-Dec-2007  ad Sync with HEAD.
 1.87.6.2 15-Jul-2007  ad Sync with head.
 1.87.6.1 09-Jun-2007  ad Sync with head.
 1.87.2.2 17-Feb-2007  tsutsui Make disconnect/reselect work on news68k si(4) with DMA and
enable it by default.
 1.87.2.1 17-Feb-2007  tsutsui file GENERIC was added on branch yamt-idlelwp on 2007-02-17 01:27:08 +0000
 1.89.14.1 13-Nov-2007  bouyer Sync with HEAD
 1.89.10.2 09-Jan-2008  matt sync with HEAD
 1.89.10.1 06-Nov-2007  matt sync with HEAD
 1.89.8.1 04-Nov-2007  jmcneill Sync with HEAD.
 1.91.8.1 02-Jan-2008  bouyer Sync with HEAD
 1.91.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.92.16.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.92.16.1 19-Oct-2008  haad Sync with HEAD.
 1.92.12.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.92.10.3 11-Aug-2010  yamt sync with head.
 1.92.10.2 11-Mar-2010  yamt sync with head
 1.92.10.1 04-May-2009  yamt sync with head.
 1.92.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.92.6.1 28-Sep-2008  mjf Sync with HEAD.
 1.94.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.98.4.3 21-Apr-2011  rmind sync with head
 1.98.4.2 05-Mar-2011  rmind sync with head
 1.98.4.1 30-May-2010  rmind sync with head
 1.98.2.3 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.98.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.98.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.104.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.104.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.106.4.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.106.4.2 30-Oct-2012  yamt sync with head
 1.106.4.1 17-Apr-2012  yamt sync with head
 1.108.2.2 11-Mar-2012  mrg sync to latest -current
 1.108.2.1 18-Feb-2012  mrg merge to -current.
 1.110.2.4 03-Dec-2017  jdolecek update from HEAD
 1.110.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.110.2.2 23-Jun-2013  tls resync from head
 1.110.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.116.2.2 18-May-2014  rmind sync with head
 1.116.2.1 28-Aug-2013  rmind sync with head
 1.118.2.1 10-Aug-2014  tls Rebase.
 1.120.2.3 15-May-2015  snj Pull up following revision(s) (requested by jnemeth in ticket #762):
share/man/man4/options.4: revision 1.442
sys/arch/amd64/conf/ALL: revision 1.18
sys/arch/amd64/conf/GENERIC: revision 1.396
sys/arch/dreamcast/conf/GENERIC: revision 1.119
sys/arch/epoc32/conf/GENERIC: revision 1.6
sys/arch/evbarm/conf/BCM5301X: revision 1.24
sys/arch/evbarm/conf/BCM56340: revision 1.9
sys/arch/evbarm/conf/IMX23_OLINUXINO: revision 1.9
sys/arch/evbarm/conf/std.beagle: revision 1.13
sys/arch/evbarm/conf/std.kobo: revision 1.2
sys/arch/evbarm/conf/std.netwalker: revision 1.10
sys/arch/evbppc/conf/P2020DS: revision 1.25
sys/arch/evbppc/conf/RB800: revision 1.30
sys/arch/evbppc/conf/TWRP1025: revision 1.18
sys/arch/hp300/conf/GENERIC: revision 1.187
sys/arch/hpcsh/conf/GENERIC: revision 1.104
sys/arch/i386/conf/GENERIC: revision 1.1111
sys/arch/i386/conf/MONOLITHIC: revision 1.17
sys/arch/landisk/conf/GENERIC: revision 1.43
sys/arch/luna68k/conf/GENERIC: revision 1.117
sys/arch/macppc/conf/GENERIC: revision 1.316
sys/arch/macppc/conf/GENERIC_601: revision 1.5
sys/arch/mmeye/conf/MMEYE_WLF: revision 1.16
sys/arch/news68k/conf/GENERIC: revision 1.123
sys/arch/sandpoint/conf/GENERIC: revision 1.85
sys/arch/shark/conf/GENERIC: revision 1.119
sys/arch/sparc/conf/GENERIC: revision 1.246
sys/arch/sparc64/conf/GENERIC: revision 1.174
sys/arch/sun3/conf/GENERIC3X: revision 1.125
sys/arch/sun3/conf/GENERIC: revision 1.169
sys/arch/x68k/conf/GENERIC: revision 1.177
sys/arch/zaurus/conf/GENERIC: revision 1.62
sys/conf/files: revision 1.1099
sys/kern/kern_module.c: revisions 1.98, 1.99
Create an "options MODULAR_DEFAULT_AUTOLOAD" config option and add
it to all kernel configs that contain "options MODULAR". This
option turns on module autoloading by default (which is the current
default). This allows people who don't want module autoloading on
by default to disable it by simply removing/commentting this line.
--
fix typo. (s/MODULE_DEFAULT_AUTOLOAD/MODULAR_DEFAULT_AUTOLOAD/)
 1.120.2.2 18-Nov-2014  snj Pull up following revision(s) (requested by manu in ticket #251):
sys/arch/acorn26/conf/GENERIC: revision 1.81
sys/arch/acorn32/conf/GENERIC: revision 1.116
sys/arch/alpha/conf/GENERIC: revision 1.362
sys/arch/amd64/conf/ALL: revision 1.23
sys/arch/amd64/conf/GENERIC: revision 1.404
sys/arch/amd64/conf/XEN3_DOM0: revision 1.112
sys/arch/amd64/conf/XEN3_DOMU: revision 1.60
sys/arch/amiga/conf/GENERIC.in: revision 1.129
sys/arch/amiga/conf/GENERIC: revision 1.311
sys/arch/amigappc/conf/GENERIC: revision 1.24
sys/arch/arc/conf/GENERIC: revision 1.184
sys/arch/bebox/conf/GENERIC: revision 1.145
sys/arch/cats/conf/GENERIC: revision 1.155
sys/arch/cesfic/conf/GENERIC: revision 1.65
sys/arch/cobalt/conf/GENERIC: revision 1.147
sys/arch/dreamcast/conf/GENERIC: revision 1.121
sys/arch/emips/conf/GENERIC: revision 1.15
sys/arch/epoc32/conf/GENERIC: revision 1.8
sys/arch/ews4800mips/conf/GENERIC: revision 1.51
sys/arch/hp300/conf/GENERIC: revision 1.190
sys/arch/hpcmips/conf/GENERIC: revision 1.229
sys/arch/hpcsh/conf/GENERIC: revision 1.106
sys/arch/hppa/conf/GENERIC: revision 1.6
sys/arch/i386/conf/ALL: revision 1.389
sys/arch/i386/conf/GENERIC: revision 1.1118
sys/arch/i386/conf/XEN3_DOM0: revision 1.93
sys/arch/i386/conf/XEN3_DOMU: revision 1.65
sys/arch/ibmnws/conf/GENERIC: revision 1.46
sys/arch/iyonix/conf/GENERIC: revision 1.88
sys/arch/landisk/conf/GENERIC: revision 1.45
sys/arch/luna68k/conf/GENERIC: revision 1.119
sys/arch/mac68k/conf/GENERIC: revision 1.220
sys/arch/macppc/conf/GENERIC: revision 1.320
sys/arch/macppc/conf/MAMBO: revision 1.24
sys/arch/macppc/conf/POWERMAC_G5: revision 1.25
sys/arch/mipsco/conf/GENERIC: revision 1.88
sys/arch/mmeye/conf/GENERIC: revision 1.120
sys/arch/mvme68k/conf/GENERIC: revision 1.94
sys/arch/mvmeppc/conf/GENERIC: revision 1.24
sys/arch/netwinder/conf/GENERIC: revision 1.126
sys/arch/news68k/conf/GENERIC: revision 1.125
sys/arch/newsmips/conf/GENERIC: revision 1.129
sys/arch/next68k/conf/GENERIC: revision 1.139
sys/arch/ofppc/conf/GENERIC: revision 1.157
sys/arch/pmax/conf/GENERIC64: revision 1.21
sys/arch/pmax/conf/GENERIC: revision 1.185
sys/arch/prep/conf/GENERIC: revision 1.174
sys/arch/rs6000/conf/GENERIC: revision 1.33
sys/arch/sandpoint/conf/GENERIC: revision 1.88
sys/arch/sbmips/conf/GENERIC: revision 1.101
sys/arch/sgimips/conf/GENERIC32_IP12: revision 1.28
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.104
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.106
sys/arch/shark/conf/GENERIC: revision 1.121
sys/arch/sparc/conf/GENERIC: revision 1.248
sys/arch/sparc/conf/TADPOLE3GX: revision 1.65
sys/arch/sparc64/conf/GENERIC: revision 1.177
sys/arch/sparc64/conf/NONPLUS64: revision 1.44
sys/arch/sun2/conf/GENERIC: revision 1.94
sys/arch/sun3/conf/GENERIC: revision 1.171
sys/arch/vax/conf/GENERIC: revision 1.193
sys/arch/vax/conf/VAX780: revision 1.19
sys/arch/x68k/conf/GENERIC: revision 1.179
sys/arch/zaurus/conf/GENERIC: revision 1.65
sys/ufs/files.ufs: revision 1.38
Remove unused extended attributes kernel options

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

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.133.4.1 25-Jan-2020  ad Sync with head.
 1.137.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.93 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.92 21-Jan-2021  nia add a commented out compat_ossaudio wherever there's compat_linux

requested by mrg
 1.91 27-Sep-2020  roy branches: 1.91.2;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.90 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.89 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.88 19-Dec-2018  maxv branches: 1.88.6;
Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.
 1.87 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.86 23-Jan-2018  sevan branches: 1.86.2; 1.86.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.85 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.84 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.83 07-Aug-2015  maxv branches: 1.83.10;
Remove KMEMSTATS.
 1.82 23-Aug-2014  dholland branches: 1.82.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.81 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.80 05-Jul-2014  tsutsui Use COPTS="-O2 -fno-reorder-blocks" as defined in sys.mk for userland.

with "-O2":
text data bss dec hex filename
3297898 65044 122584 3485526 352f56 netbsd

with "-O2 -fno-reorder-blocks":
text data bss dec hex filename
2930782 65044 122584 3118410 2f954a netbsd
 1.79 24-Mar-2014  szptvlfn branches: 1.79.2;
fix manual section numbering of sysctl.
thanks wiz@
 1.78 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.77 05-Jun-2013  christos branches: 1.77.2;
remove obsolete networking options
 1.76 27-Apr-2013  christos the bogus number police
 1.75 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.74 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.73 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.72 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.71 10-Mar-2012  joerg branches: 1.71.2;
P1003_1B_SEMAPHORE is no longer optional.
 1.70 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.69 22-Nov-2011  tls branches: 1.69.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.68 06-Mar-2011  bouyer branches: 1.68.4;
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.67 23-Nov-2010  hannken branches: 1.67.2; 1.67.4;
Remove unused count from pseudo-device md.
 1.66 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.65 05-Dec-2009  pooka branches: 1.65.2; 1.65.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.64 17-Jan-2009  tsutsui Add options COMPAT_50.
 1.63 24-Nov-2008  ad Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.61 31-Jul-2008  simonb branches: 1.61.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.60 31-Dec-2007  ad branches: 1.60.6; 1.60.10; 1.60.12; 1.60.16;
Remove systrace. Ok core@.
 1.59 04-Nov-2007  xtraeme branches: 1.59.2; 1.59.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.58 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.57 25-Jun-2007  tsutsui branches: 1.57.8; 1.57.10; 1.57.14;
Add options COMPAT_40.
 1.56 17-Feb-2007  tsutsui branches: 1.56.2; 1.56.6; 1.56.8; 1.56.14;
Make disconnect/reselect work on news68k si(4) with DMA and
enable it by default.
 1.55 24-Nov-2006  wiz branches: 1.55.2;
s/independant/independent/, from Zafer.
 1.54 02-Oct-2006  chs remove MALLOC_NOINLINE, it doesn't do anything anymore.
 1.53 26-Aug-2006  christos branches: 1.53.2; 1.53.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.52 26-Aug-2006  tsutsui Remove netns and netccitt options.
 1.51 12-Aug-2006  christos Disable SYSTRACE by default on all kernels (discussed with core)
 1.50 28-Mar-2006  pavel branches: 1.50.6;
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.49 05-Feb-2006  cube branches: 1.49.2; 1.49.4; 1.49.6;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.48 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.47 07-Dec-2005  tsutsui branches: 1.47.2; 1.47.4; 1.47.6;
Remove obsolete options VNODE_OP_NOINLINE.
 1.46 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.45 20-Aug-2005  tsutsui options<space><tab>
 1.44 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.43 19-Aug-2005  christos 64 bit inode changes.
 1.42 31-Jul-2005  yamt revert "defflag VMSWAP" changes for now.
there seems to be far more people who don't want to edit
their kernel config files than i thought.
 1.41 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.40 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.39 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.38 25-Jun-2005  rpaulo branches: 1.38.2;
Add file-system PTYFS (commented out) so that people know its existence.

Ok'ed by Christos Zoulas and Hubert Feyrer.
 1.37 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.36 18-Feb-2005  dsl branches: 1.36.4;
Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.35 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.34 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.33 28-Jan-2005  rumble Sprinkle options UFS_DIRHASH on GENERIC kernels. It's presently
commented out and labeled experimental pending further review and
testing.
 1.32 17-Jan-2005  cube branches: 1.32.2;
Add tap(4) support to a random^Wcarefully chosen set of kernel configs.
All those kernels have a line for both tun and bridge, and if either is
commented out, tap is commented out also. With the exception of i386's
GENERIC_TINY.

XXX: we _need_ some way of making this more simple.
 1.31 05-Jan-2005  tsutsui branches: 1.31.2;
options<space><tab>
 1.30 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.29 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.28 18-Jul-2004  tsutsui Sync some entries with GENERIC.
 1.27 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.26 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.25 26-Jun-2004  abs Add (commented out) ALTQ options to all GENERIC-like files
 1.24 18-Jun-2004  christos ptm is now mandatory, depends on pty, and can be disabled with -DNO_DEV_PTM
 1.23 16-Jun-2004  christos Add pseudo-device ptm on all the generic flavored kernels.
 1.22 22-Sep-2003  cl branches: 1.22.2;
add COMPAT_15/COMPAT_16
 1.21 10-Apr-2003  christos branches: 1.21.2;
Bye Bye UCONSOLE
 1.20 14-Oct-2002  elric Added commented out cgd(4)s to GENERIC configs.
 1.19 25-Sep-2002  martti Add one space between "#option" and "<tab>IPFILTER_DEFAULT_BLOCK"
 1.18 20-Sep-2002  martti Added (commented out) IPFILTER_DEFAULT_BLOCK.
 1.17 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.16 22-Aug-2002  abs PIPE_SOCKETPAIR, MALLOC_NOINLINE and VNODE_OP_NOINLINE are all appropriate for
the 'minimal memory' configurations.
 1.15 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.14 25-Apr-2002  atatat branches: 1.14.2; 1.14.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.13 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.12 05-Mar-2002  wiz 'securyty' looks nice. Sadly, it's wrong.
 1.11 04-Mar-2002  sommerfeld The "gif*" tunnelling interface does everything ipip does.
Move usage example from ipip.4 to gif.4
Excise ipip and stitch up the scars.
 1.10 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.9 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.8 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.7 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.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 01-Sep-2001  atatat branches: 1.5.6;
Comment out bridge pseudo devices from ports that don't
__HAVE_GENERIC_SOFT_INTERRUPTS. bridge(4) doesn't compile there.
 1.4 01-Sep-2001  atatat Add bridge pseudo devices to GENERIC configs
 1.3 08-Jul-2001  abs branches: 1.3.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.2 07-Jul-2001  tsutsui Split clock device attachment into interval timer and todclock
since they are actually independent devices.
 1.1 26-Mar-2001  tsutsui branches: 1.1.2; 1.1.4;
Add GENERIC_TINY config for low memory (and slow) machines.
 1.1.4.1 09-Apr-2001  nathanw Catch up with -current.
 1.1.2.2 27-Mar-2001  bouyer Sync with HEAD.
 1.1.2.1 26-Mar-2001  bouyer file GENERIC_TINY was added on branch thorpej_scsipi on 2001-03-27 15:31:15 +0000
 1.3.2.7 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.6 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.3.2.5 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.2.4 16-Mar-2002  jdolecek Catch up with -current.
 1.3.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.3.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.5.6.8 18-Oct-2002  nathanw Catch up to -current.
 1.5.6.7 27-Aug-2002  nathanw Catch up to -current.
 1.5.6.6 20-Jun-2002  nathanw Catch up to -current.
 1.5.6.5 17-Apr-2002  nathanw Catch up to -current.
 1.5.6.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.5.6.3 28-Feb-2002  nathanw Catch up to -current.
 1.5.6.2 08-Jan-2002  nathanw Catch up to -current.
 1.5.6.1 01-Sep-2001  nathanw file GENERIC_TINY was added on branch nathanw_sa on 2002-01-08 00:26:50 +0000
 1.14.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.14.4.1 01-Aug-2002  lukem Pull up revision 1.15 (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.14.2.2 31-Aug-2002  gehenna catch up with -current.
 1.14.2.1 15-Jul-2002  gehenna catch up with -current.
 1.21.2.11 11-Dec-2005  christos Sync with head.
 1.21.2.10 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.21.2.9 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.21.2.8 15-Feb-2005  skrll Sync with HEAD.
 1.21.2.7 04-Feb-2005  skrll Sync with HEAD.
 1.21.2.6 24-Jan-2005  skrll Sync with HEAD.
 1.21.2.5 17-Jan-2005  skrll Sync with HEAD.
 1.21.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.21.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.21.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.21.2.1 03-Aug-2004  skrll Sync with HEAD
 1.22.2.3 15-Jul-2004  he Pull up revision 1.27 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.22.2.2 02-Jul-2004  he Pull up revision 1.26 (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.22.2.1 30-Jun-2004  jdc Pull up revision 1.25 (requested by abs in ticket #567).

Add (commented out) ALTQ options to all GENERIC-like files
 1.31.2.1 29-Apr-2005  kent sync with -current
 1.32.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.32.2.1 12-Feb-2005  yamt sync with head.
 1.36.4.2 14-Aug-2005  riz Pull up revision 1.40 (requested by hubertf in ticket #625):
Add support for reading cloop2 compressed filesystem images,
enable by putting VND_COMPRESSION into kernel config file.
Written by Cliff Wright, polished up slightly by me.
 1.36.4.1 18-Jul-2005  riz Pull up revision 1.39 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.38.2.6 21-Jan-2008  yamt sync with head
 1.38.2.5 15-Nov-2007  yamt sync with head.
 1.38.2.4 03-Sep-2007  yamt sync with head.
 1.38.2.3 26-Feb-2007  yamt sync with head.
 1.38.2.2 30-Dec-2006  yamt sync with head.
 1.38.2.1 21-Jun-2006  yamt sync with head.
 1.47.6.1 22-Apr-2006  simonb Sync with head.
 1.47.4.1 09-Sep-2006  rpaulo sync with head
 1.47.2.1 18-Feb-2006  yamt sync with head.
 1.49.6.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.49.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.49.2.2 03-Sep-2006  yamt sync with head.
 1.49.2.1 01-Apr-2006  yamt sync with head.
 1.50.6.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.53.4.2 10-Dec-2006  yamt sync with head.
 1.53.4.1 22-Oct-2006  yamt sync with head
 1.53.2.2 12-Jan-2007  ad Sync with head.
 1.53.2.1 18-Nov-2006  ad Sync with head.
 1.55.2.1 24-Feb-2007  bouyer Pull up following revision(s) (requested by tsutsui in ticket #464):
sys/arch/news68k/conf/INSTALL: revision 1.41
sys/arch/news68k/conf/GENERIC_TINY: revision 1.56
sys/arch/news68k/conf/GENERIC: revision 1.87
sys/arch/news68k/conf/LIBERO: revision 1.44
sys/arch/news68k/dev/si.c: revision 1.19
Make disconnect/reselect work on news68k si(4) with DMA and
enable it by default.
 1.56.14.1 26-Jun-2007  garbled Sync with HEAD.
 1.56.8.1 11-Jul-2007  mjf Sync with head.
 1.56.6.2 03-Dec-2007  ad Sync with HEAD.
 1.56.6.1 15-Jul-2007  ad Sync with head.
 1.56.2.2 17-Feb-2007  tsutsui Make disconnect/reselect work on news68k si(4) with DMA and
enable it by default.
 1.56.2.1 17-Feb-2007  tsutsui file GENERIC_TINY was added on branch yamt-idlelwp on 2007-02-17 01:27:08 +0000
 1.57.14.1 13-Nov-2007  bouyer Sync with HEAD
 1.57.10.2 09-Jan-2008  matt sync with HEAD
 1.57.10.1 06-Nov-2007  matt sync with HEAD
 1.57.8.1 04-Nov-2007  jmcneill Sync with HEAD.
 1.59.8.1 02-Jan-2008  bouyer Sync with HEAD
 1.59.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.60.16.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.60.16.1 19-Oct-2008  haad Sync with HEAD.
 1.60.12.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.60.10.3 11-Aug-2010  yamt sync with head.
 1.60.10.2 11-Mar-2010  yamt sync with head
 1.60.10.1 04-May-2009  yamt sync with head.
 1.60.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.60.6.1 28-Sep-2008  mjf Sync with HEAD.
 1.61.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.65.4.3 21-Apr-2011  rmind sync with head
 1.65.4.2 05-Mar-2011  rmind sync with head
 1.65.4.1 30-May-2010  rmind sync with head
 1.65.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.67.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.67.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.68.4.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.68.4.2 30-Oct-2012  yamt sync with head
 1.68.4.1 17-Apr-2012  yamt sync with head
 1.69.2.2 11-Mar-2012  mrg sync to latest -current
 1.69.2.1 18-Feb-2012  mrg merge to -current.
 1.71.2.4 03-Dec-2017  jdolecek update from HEAD
 1.71.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.71.2.2 23-Jun-2013  tls resync from head
 1.71.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.77.2.2 18-May-2014  rmind sync with head
 1.77.2.1 28-Aug-2013  rmind sync with head
 1.79.2.1 10-Aug-2014  tls Rebase.
 1.82.2.2 28-Aug-2017  skrll Sync with HEAD
 1.82.2.1 22-Sep-2015  skrll Sync with HEAD
 1.83.10.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.86.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.86.4.1 10-Jun-2019  christos Sync with HEAD
 1.86.2.2 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.86.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.88.6.1 25-Jan-2020  ad Sync with head.
 1.91.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.66 01-Feb-2020  tsutsui Add and enable dhcpcd for news68k installation.

news68k has already required two floppies since 9.0
so there is no popular demand to shrink ramdisk.
 1.65 16-Nov-2018  martin branches: 1.65.4; 1.65.6;
Bump space for ramdisk image
 1.64 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.63 14-Sep-2017  mrg branches: 1.63.2; 1.63.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.62 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 2.
 1.61 23-Aug-2014  dholland branches: 1.61.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.60 16-Aug-2014  apb Add commented out "#options COMPAT_70" to all kernel configuration
files that already had commented out "#options COMPAT_60".
 1.59 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.58 27-Apr-2013  christos branches: 1.58.4;
remove confusing numeric locators where they are unused.
 1.57 17-Oct-2012  apb Add commented out "#options COMPAT_60" to all kernel configuration files
that already had commented out "#options COMPAT_50".
 1.56 18-Dec-2011  dholland branches: 1.56.6;
WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.55 22-Nov-2011  tls branches: 1.55.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.54 20-Nov-2011  tsutsui Add preliminary PROM internal function based framebuffer console support,
which was demonstrated at Open Source Conference 2011 Kansai @ Kyoto
back in July:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-Kansai

- map 0xc0000000-0xffffffff PA region (which is mirror of PA 0x0-0x3fffffff)
to the same VA via %tt0 and %tt1 registers and move KVA space accordingly
(like luna68k does for its devices)
- save trap #0 vector for PROM function calls in early bootstrap
and register it to trap #14 to call it from kernel for console output
- add dumb romcall based tty attachment taken from src/sys/dev/ofw/ofcons.c
- add rom function call stubs from news68k/stand/common/romcalls.S
- remove IIOV() macro for device registers where now mapped PA==VA via %tt1

XXX: romcons is not enabled yet because there is no generic interface
XXX: to attach wskbd(4) to non wsdisplay(4) devices like this romcons.
 1.53 13-Mar-2011  he branches: 1.53.4;
Bump the install image size from 1.5 to 1.6M so that it fits again.
 1.52 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.51 23-Nov-2010  hannken branches: 1.51.2; 1.51.4;
Remove unused count from pseudo-device md.
 1.50 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.49 06-Feb-2009  jym branches: 1.49.4; 1.49.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.48 17-Jan-2009  tsutsui Add options COMPAT_50.
 1.47 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.46 08-Nov-2008  he Bump install ramdisk image size from 1440k to 1500k, so that it fits again.
The install kernel is subsequently compressed, so there should be nothing
magic about the 1440k constant.
 1.45 31-Jul-2008  simonb branches: 1.45.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.44 27-Apr-2008  tsutsui branches: 1.44.2; 1.44.4; 1.44.8;
Remove obsolete (commented out) options SHMMAXPGS.
 1.43 17-Oct-2007  garbled branches: 1.43.16; 1.43.18;
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.42 25-Jun-2007  tsutsui branches: 1.42.10;
Add options COMPAT_40.
 1.41 17-Feb-2007  tsutsui branches: 1.41.2; 1.41.6; 1.41.8; 1.41.14;
Make disconnect/reselect work on news68k si(4) with DMA and
enable it by default.
 1.40 29-Dec-2006  yamt update comments on NFS_V2_ONLY after nqnfs removal. no functional changes.
from Arnaud Lacombe.
 1.39 24-Nov-2006  wiz branches: 1.39.2;
s/independant/independent/, from Zafer.
 1.38 02-Oct-2006  chs remove MALLOC_NOINLINE, it doesn't do anything anymore.
 1.37 26-Aug-2006  christos branches: 1.37.2; 1.37.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.36 05-Feb-2006  cube branches: 1.36.2;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.35 07-Dec-2005  tsutsui branches: 1.35.2; 1.35.4; 1.35.6;
Remove obsolete options VNODE_OP_NOINLINE.
 1.34 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.33 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.32 19-Aug-2005  christos 64 bit inode changes.
 1.31 18-Feb-2005  dsl branches: 1.31.6;
Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.30 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.29 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.28 05-Jan-2005  tsutsui branches: 1.28.2; 1.28.4;
options<space><tab>
 1.27 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.26 18-Jul-2004  tsutsui Add options COMPAT_20.
 1.25 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.24 22-Sep-2003  cl branches: 1.24.2;
add COMPAT_15/COMPAT_16
 1.23 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.22 10-Apr-2003  christos branches: 1.22.2;
Bye Bye UCONSOLE
 1.21 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.20 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.19 25-Apr-2002  atatat branches: 1.19.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.18 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.17 02-Apr-2002  lukem 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.16 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.15 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.14 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.13 08-Jul-2001  abs branches: 1.13.2; 1.13.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.12 07-Jul-2001  tsutsui Split clock device attachment into interval timer and todclock
since they are actually independent devices.
 1.11 18-Feb-2001  tsutsui Enable options NFS_V2_ONLY and VNODE_OP_NOINLINE.
 1.10 04-Oct-2000  tsutsui branches: 1.10.2;
Switch to MI mk48txx driver.

XXX All config files should be updated since now clock address does not
XXX contain clock register offset in NVRAM.
 1.9 02-Oct-2000  abs 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.8 25-Sep-2000  abs Use "options<SPACE><TAB>" not "options<TAB>" - noted by simonb.
Move VNODE_OP_NOINLINE and NFS_V2_ONLY into '# Filesystem options' section.
Consistently label '# Filesystem options' and '#File systems' sections.
 1.7 25-Sep-2000  abs Ensure all INSTALL config files have (at least) COPTS="-Os", cincluding bebox
based on it working already for macppc.
Also add commented out:
#options VNODE_OP_NOINLINE # Don't inline vnode op calls
#options NFS_V2_ONLY # Exclude NFS3 and NQNFS code
as suggestions for additional savings
 1.6 13-Sep-2000  tsutsui Disable KERNFS.
 1.5 13-Mar-2000  tsutsui branches: 1.5.4;
Reduce memory disk size and remove some options.
 1.4 12-Feb-2000  thorpej Nuke NKMEMCLUSTERS.
 1.3 08-Feb-2000  tsutsui Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.2 21-Jan-2000  tsutsui Add "dumps on none" to config.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.5.4.1 13-Sep-2000  tsutsui pullup rev. 1.6 (approved by thorpej)

Disable KERNFS.
 1.10.2.3 12-Mar-2001  bouyer Sync with HEAD.
 1.10.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.10.2.1 04-Oct-2000  bouyer file INSTALL was added on branch thorpej_scsipi on 2000-11-20 20:16:08 +0000
 1.13.8.8 18-Oct-2002  nathanw Catch up to -current.
 1.13.8.7 01-Aug-2002  nathanw Catch up to -current.
 1.13.8.6 20-Jun-2002  nathanw Catch up to -current.
 1.13.8.5 17-Apr-2002  nathanw Catch up to -current.
 1.13.8.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.13.8.3 28-Feb-2002  nathanw Catch up to -current.
 1.13.8.2 08-Jan-2002  nathanw Catch up to -current.
 1.13.8.1 08-Jul-2001  nathanw file INSTALL was added on branch nathanw_sa on 2002-01-08 00:26:51 +0000
 1.13.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.13.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.13.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.13.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.13.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.13.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.19.2.1 16-Jul-2002  gehenna catch up with -current.
 1.22.2.10 11-Dec-2005  christos Sync with head.
 1.22.2.9 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.22.2.8 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.22.2.7 15-Feb-2005  skrll Sync with HEAD.
 1.22.2.6 04-Feb-2005  skrll Sync with HEAD.
 1.22.2.5 17-Jan-2005  skrll Sync with HEAD.
 1.22.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.22.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.22.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.22.2.1 03-Aug-2004  skrll Sync with HEAD
 1.24.2.1 15-Jul-2004  he Pull up revision 1.25 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.28.4.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.28.4.1 12-Feb-2005  yamt sync with head.
 1.28.2.1 29-Apr-2005  kent sync with -current
 1.31.6.4 03-Sep-2007  yamt sync with head.
 1.31.6.3 26-Feb-2007  yamt sync with head.
 1.31.6.2 30-Dec-2006  yamt sync with head.
 1.31.6.1 21-Jun-2006  yamt sync with head.
 1.35.6.1 22-Apr-2006  simonb Sync with head.
 1.35.4.1 09-Sep-2006  rpaulo sync with head
 1.35.2.1 18-Feb-2006  yamt sync with head.
 1.36.2.1 03-Sep-2006  yamt sync with head.
 1.37.4.2 10-Dec-2006  yamt sync with head.
 1.37.4.1 22-Oct-2006  yamt sync with head
 1.37.2.2 12-Jan-2007  ad Sync with head.
 1.37.2.1 18-Nov-2006  ad Sync with head.
 1.39.2.1 24-Feb-2007  bouyer Pull up following revision(s) (requested by tsutsui in ticket #464):
sys/arch/news68k/conf/INSTALL: revision 1.41
sys/arch/news68k/conf/GENERIC_TINY: revision 1.56
sys/arch/news68k/conf/GENERIC: revision 1.87
sys/arch/news68k/conf/LIBERO: revision 1.44
sys/arch/news68k/dev/si.c: revision 1.19
Make disconnect/reselect work on news68k si(4) with DMA and
enable it by default.
 1.41.14.1 26-Jun-2007  garbled Sync with HEAD.
 1.41.8.1 11-Jul-2007  mjf Sync with head.
 1.41.6.1 15-Jul-2007  ad Sync with head.
 1.41.2.2 17-Feb-2007  tsutsui Make disconnect/reselect work on news68k si(4) with DMA and
enable it by default.
 1.41.2.1 17-Feb-2007  tsutsui file INSTALL was added on branch yamt-idlelwp on 2007-02-17 01:27:08 +0000
 1.42.10.1 06-Nov-2007  matt sync with HEAD
 1.43.18.1 18-May-2008  yamt sync with head.
 1.43.16.3 17-Jan-2009  mjf Sync with HEAD.
 1.43.16.2 28-Sep-2008  mjf Sync with HEAD.
 1.43.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.44.8.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.44.8.1 19-Oct-2008  haad Sync with HEAD.
 1.44.4.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.44.2.2 11-Aug-2010  yamt sync with head.
 1.44.2.1 04-May-2009  yamt sync with head.
 1.45.2.2 03-Mar-2009  skrll Sync with HEAD.
 1.45.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.49.6.3 21-Apr-2011  rmind sync with head
 1.49.6.2 05-Mar-2011  rmind sync with head
 1.49.6.1 30-May-2010  rmind sync with head
 1.49.4.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.51.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.51.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.53.4.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.53.4.2 30-Oct-2012  yamt sync with head
 1.53.4.1 17-Apr-2012  yamt sync with head
 1.55.2.1 18-Feb-2012  mrg merge to -current.
 1.56.6.4 03-Dec-2017  jdolecek update from HEAD
 1.56.6.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.56.6.2 23-Jun-2013  tls resync from head
 1.56.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.58.4.1 28-Aug-2013  rmind sync with head
 1.61.2.1 28-Aug-2017  skrll Sync with HEAD
 1.63.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.63.4.1 10-Jun-2019  christos Sync with HEAD
 1.63.2.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.63.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.65.6.1 29-Feb-2020  ad Sync with head.
 1.65.4.1 10-Feb-2020  martin Pull up following revision(s) (requested by tsutsui in ticket #681):

distrib/news68k/floppies/ramdisk/Makefile: revision 1.38
sys/arch/news68k/conf/INSTALL: revision 1.66

Add and enable dhcpcd for news68k installation.
news68k has already required two floppies since 9.0
so there is no popular demand to shrink ramdisk.
 1.70 21-Jan-2021  nia add a commented out compat_ossaudio wherever there's compat_linux

requested by mrg
 1.69 19-Jan-2020  thorpej branches: 1.69.6;
Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.68 19-Dec-2018  maxv branches: 1.68.6;
Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.
 1.67 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.66 23-Jan-2018  sevan branches: 1.66.2; 1.66.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.65 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.64 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 2.
 1.63 23-Aug-2014  dholland branches: 1.63.2; 1.63.12;
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.62 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.61 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.60 05-Jun-2013  christos branches: 1.60.2;
remove obsolete networking options
 1.59 27-Apr-2013  christos the bogus number police
 1.58 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.57 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.56 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.55 22-Nov-2011  tls branches: 1.55.8;

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.54 06-Mar-2011  bouyer branches: 1.54.4;
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.53 23-Nov-2010  hannken branches: 1.53.2; 1.53.4;
Remove unused count from pseudo-device md.
 1.52 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.51 17-Jan-2009  tsutsui branches: 1.51.4; 1.51.6;
Add options COMPAT_50.
 1.50 24-Nov-2008  ad Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.48 27-Apr-2008  tsutsui branches: 1.48.2; 1.48.8; 1.48.10;
Remove obsolete (commented out) options SHMMAXPGS.
 1.47 31-Dec-2007  ad branches: 1.47.6; 1.47.8;
Remove systrace. Ok core@.
 1.46 17-Oct-2007  garbled branches: 1.46.2; 1.46.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.45 25-Jun-2007  tsutsui branches: 1.45.10;
Add options COMPAT_40.
 1.44 17-Feb-2007  tsutsui branches: 1.44.2; 1.44.6; 1.44.8; 1.44.14;
Make disconnect/reselect work on news68k si(4) with DMA and
enable it by default.
 1.43 24-Nov-2006  wiz branches: 1.43.2;
s/independant/independent/, from Zafer.
 1.42 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.41 26-Aug-2006  christos branches: 1.41.2; 1.41.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.40 12-Aug-2006  christos Disable SYSTRACE by default on all kernels (discussed with core)
 1.39 28-Mar-2006  pavel branches: 1.39.6;
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.38 05-Feb-2006  cube branches: 1.38.2; 1.38.4; 1.38.6;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.37 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.36 07-Dec-2005  tsutsui branches: 1.36.2; 1.36.4; 1.36.6;
Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.35 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.34 19-Aug-2005  christos 64 bit inode changes.
 1.33 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.32 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.31 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.30 09-Jun-2005  tsutsui branches: 1.30.2;
- 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.29 18-Feb-2005  dsl branches: 1.29.4;
Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.28 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.27 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.26 05-Jan-2005  tsutsui branches: 1.26.2; 1.26.4;
options<space><tab>
 1.25 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.24 18-Jul-2004  tsutsui Add options COMPAT_20.
 1.23 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.22 08-Nov-2003  tsutsui branches: 1.22.2;
Add pseudo-device ksyms
 1.21 19-Apr-2003  tsutsui branches: 1.21.2;
Sync with reality. (it's my development machine)
 1.20 10-Apr-2003  christos Bye Bye UCONSOLE
 1.19 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.18 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.17 25-Apr-2002  atatat branches: 1.17.2; 1.17.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.16 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.15 04-Mar-2002  sommerfeld The "gif*" tunnelling interface does everything ipip does.
Move usage example from ipip.4 to gif.4
Excise ipip and stitch up the scars.
 1.14 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.13 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.12 08-Jul-2001  abs branches: 1.12.2; 1.12.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.11 07-Jul-2001  tsutsui Split clock device attachment into interval timer and todclock
since they are actually independent devices.
 1.10 19-Mar-2001  tsutsui Switch news68k to ELF:
- Move options EXEC_ELF32 to std.news68k
- Add options COMPAT_AOUT_M68K to each config file
 1.9 25-Jan-2001  tsutsui branches: 1.9.2;
Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 1.8 24-Nov-2000  tsutsui Add/enable COMPAT_SUNOS. It actually works on news68k.
 1.7 04-Oct-2000  tsutsui branches: 1.7.2;
Switch to MI mk48txx driver.

XXX All config files should be updated since now clock address does not
XXX contain clock register offset in NVRAM.
 1.6 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.5 14-Jun-2000  veego Remove the obsolete config fragments for kernel crypto, because the IPsec
crypto code is now in the kernel source tree.
 1.4 12-Feb-2000  tsutsui branches: 1.4.2;
Fix typo.
 1.3 12-Feb-2000  thorpej Nuke NKMEMCLUSTERS.
 1.2 08-Feb-2000  tsutsui Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.4.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.7.2.5 27-Mar-2001  bouyer Sync with HEAD.
 1.7.2.4 11-Feb-2001  bouyer Sync with HEAD.
 1.7.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.7.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.7.2.1 04-Oct-2000  bouyer file LIBERO was added on branch thorpej_scsipi on 2000-11-20 20:16:08 +0000
 1.9.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.12.8.7 18-Oct-2002  nathanw Catch up to -current.
 1.12.8.6 20-Jun-2002  nathanw Catch up to -current.
 1.12.8.5 17-Apr-2002  nathanw Catch up to -current.
 1.12.8.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.12.8.3 28-Feb-2002  nathanw Catch up to -current.
 1.12.8.2 08-Jan-2002  nathanw Catch up to -current.
 1.12.8.1 08-Jul-2001  nathanw file LIBERO was added on branch nathanw_sa on 2002-01-08 00:26:51 +0000
 1.12.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.12.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.12.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.12.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.12.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.12.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.17.4.1 01-Aug-2002  lukem Pull up revision 1.18 (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.17.2.1 15-Jul-2002  gehenna catch up with -current.
 1.21.2.10 11-Dec-2005  christos Sync with head.
 1.21.2.9 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.21.2.8 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.21.2.7 15-Feb-2005  skrll Sync with HEAD.
 1.21.2.6 04-Feb-2005  skrll Sync with HEAD.
 1.21.2.5 17-Jan-2005  skrll Sync with HEAD.
 1.21.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.21.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.21.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.21.2.1 03-Aug-2004  skrll Sync with HEAD
 1.22.2.1 15-Jul-2004  he Pull up revision 1.23 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.26.4.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.26.4.1 12-Feb-2005  yamt sync with head.
 1.26.2.1 29-Apr-2005  kent sync with -current
 1.29.4.1 18-Jul-2005  riz Pull up revision 1.31 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.30.2.5 21-Jan-2008  yamt sync with head
 1.30.2.4 03-Sep-2007  yamt sync with head.
 1.30.2.3 26-Feb-2007  yamt sync with head.
 1.30.2.2 30-Dec-2006  yamt sync with head.
 1.30.2.1 21-Jun-2006  yamt sync with head.
 1.36.6.1 22-Apr-2006  simonb Sync with head.
 1.36.4.1 09-Sep-2006  rpaulo sync with head
 1.36.2.1 18-Feb-2006  yamt sync with head.
 1.38.6.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.38.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.38.2.2 03-Sep-2006  yamt sync with head.
 1.38.2.1 01-Apr-2006  yamt sync with head.
 1.39.6.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.41.4.2 10-Dec-2006  yamt sync with head.
 1.41.4.1 22-Oct-2006  yamt sync with head
 1.41.2.2 12-Jan-2007  ad Sync with head.
 1.41.2.1 18-Nov-2006  ad Sync with head.
 1.43.2.1 24-Feb-2007  bouyer Pull up following revision(s) (requested by tsutsui in ticket #464):
sys/arch/news68k/conf/INSTALL: revision 1.41
sys/arch/news68k/conf/GENERIC_TINY: revision 1.56
sys/arch/news68k/conf/GENERIC: revision 1.87
sys/arch/news68k/conf/LIBERO: revision 1.44
sys/arch/news68k/dev/si.c: revision 1.19
Make disconnect/reselect work on news68k si(4) with DMA and
enable it by default.
 1.44.14.1 26-Jun-2007  garbled Sync with HEAD.
 1.44.8.1 11-Jul-2007  mjf Sync with head.
 1.44.6.1 15-Jul-2007  ad Sync with head.
 1.44.2.2 17-Feb-2007  tsutsui Make disconnect/reselect work on news68k si(4) with DMA and
enable it by default.
 1.44.2.1 17-Feb-2007  tsutsui file LIBERO was added on branch yamt-idlelwp on 2007-02-17 01:27:08 +0000
 1.45.10.2 09-Jan-2008  matt sync with HEAD
 1.45.10.1 06-Nov-2007  matt sync with HEAD
 1.46.8.1 02-Jan-2008  bouyer Sync with HEAD
 1.46.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.47.8.1 18-May-2008  yamt sync with head.
 1.47.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.47.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.48.10.1 19-Jan-2009  skrll Sync with HEAD.
 1.48.8.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.48.2.2 11-Aug-2010  yamt sync with head.
 1.48.2.1 04-May-2009  yamt sync with head.
 1.51.6.3 21-Apr-2011  rmind sync with head
 1.51.6.2 05-Mar-2011  rmind sync with head
 1.51.6.1 30-May-2010  rmind sync with head
 1.51.4.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.53.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.53.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.54.4.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.54.4.2 30-Oct-2012  yamt sync with head
 1.54.4.1 17-Apr-2012  yamt sync with head
 1.55.8.4 03-Dec-2017  jdolecek update from HEAD
 1.55.8.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.55.8.2 23-Jun-2013  tls resync from head
 1.55.8.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.60.2.1 28-Aug-2013  rmind sync with head
 1.63.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.63.2.1 28-Aug-2017  skrll Sync with HEAD
 1.66.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.66.4.1 10-Jun-2019  christos Sync with HEAD
 1.66.2.2 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.66.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.68.6.1 25-Jan-2020  ad Sync with head.
 1.69.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.24 06-Oct-2023  andvar Remove fpsp include and #ifdef FPSP blocks for news68k.
FPSP is necessary for 040/060 only, and news68k doesn't have such hardware.

Noted by Izumi Tsutsui.
 1.23 01-Oct-2023  andvar include fpsp Makefile.inc in Makefile.news68k, same as other m68k ports.

needed for FPSP option to build, otherwise FPSP specific vectors are undefined.
 1.22 22-Sep-2018  rin - Determine KERN_AS automatically depending on whether OPT_MODULAR is
set or not, in the same way as libcompat.

- Specify OPT_MODULAR in the port Makefile instead of KERN_AS.

Now, KERN_AS=library is used for kernels without module(7) for all ports.

OK christos
 1.21 06-Sep-2015  uebayasi branches: 1.21.16; 1.21.18;
Declare dependency on fpsp.o via newly introduced ${MD_LIBS} instead of
${MD_OBJS}.

${MD_OBJS} should be used only for objects that must be linked first (i.e.,
start code). Objects have to be compiled following common compile rules,
and have to be generated into common places (i.e., top of kernel build
directory).

${MD_LIBS} defines libraries that are built by separate makefiles, under
separate directories. `Makefile.kern.inc' doesn't know intermediate library
objects.
 1.20 21-Jan-2011  joerg branches: 1.20.14; 1.20.32;
Switch remaining platforms to modern CPP for assembler.
 1.19 01-Mar-2008  joerg branches: 1.19.26; 1.19.32; 1.19.34;
Missing assym.h dependencies.
 1.18 11-Dec-2005  christos branches: 1.18.50; 1.18.70; 1.18.74;
merge ktrace-lwp.
 1.17 31-May-2005  christos branches: 1.17.2;
s/GENASSYM/GENASSYM_CONF/ so we can use "GENASSYM" as the program name.
 1.16 04-Jun-2004  thorpej Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.
 1.15 26-Nov-2002  thorpej branches: 1.15.6; 1.15.10;
The traditional C preprocessor is fixed in GCC 3.3 now, so no need
to skip -traditional-cpp for HAVE_GCC3.
 1.14 04-Jun-2002  thorpej Don't use -traditional-cpp if HAVE_GCC3.
 1.13 09-Dec-2001  atatat branches: 1.13.8;
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.12 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.11 26-Oct-2001  jmc branches: 1.11.2;
Change defaults for kernel compiles. Default all to USETOOLS?=no and have
the etc Makefile override that by putting USETOOLS into $.MAKEOVERRIDES
This way the default for kernel compiles is still to use the installed
toolchain instead of depending on $TOOLDIR. $TOOLDIR can be used by
simply adding USETOOLS=yes to the command line as usual.

Adjust each ports template to set the default no setting and also pull in
bsd.own.mk if they weren't already to ensure they'll build correctly
with the new toolchain setup.
 1.10 23-Oct-2001  thorpej branches: 1.10.2;
Set MACHINE_ARCH explicitly in Makefiles for which it is constant.
Also, since config(8) now explcitly sets MACHINE, there is no need
to do it here in the Makefile.
 1.9 29-May-2001  mrg branches: 1.9.2;
define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.
 1.8 17-Dec-2000  jdolecek branches: 1.8.2;
delete obsolete comment
 1.7 09-May-2000  hubertf branches: 1.7.6;
Add "install" target, so "make install" after building the kernel
does something useful. The target can be redefined by putting a
install-kernel-${MACHINE_NAME} target that fits your needs into
/etc/mk.conf.
 1.6 09-May-2000  thorpej HAVE_GCC28 -> HAVE_EGCS, and make it match gcc 2.9 as well. Also,
make the use of -Wno-uninitialized explicit, don't rely on a compiler
hack to do it for us.
 1.5 01-Feb-2000  tsutsui Revert STRIPPROG -> STRIP
 1.4 24-Jan-2000  tron Add "dependall" target for comfort.
 1.3 19-Jan-2000  tsutsui STRIP -> STRIPPROG
 1.2 19-Jan-2000  tsutsui Change STRIPFLAGS=-g for cross-toolchains.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.7.6.3 05-Jan-2001  bouyer Sync with HEAD
 1.7.6.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.7.6.1 09-May-2000  bouyer file Makefile.news68k was added on branch thorpej_scsipi on 2000-11-20 20:16:08 +0000
 1.8.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.9.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.9.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.10.2.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.11.2.4 11-Dec-2002  thorpej Sync with HEAD.
 1.11.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.11.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.11.2.1 26-Oct-2001  nathanw file Makefile.news68k was added on branch nathanw_sa on 2002-01-08 00:26:51 +0000
 1.13.8.1 15-Jul-2002  gehenna catch up with -current.
 1.15.10.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.15.6.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.15.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.15.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.15.6.1 03-Aug-2004  skrll Sync with HEAD
 1.17.2.1 17-Mar-2008  yamt sync with head.
 1.18.74.1 03-Apr-2008  mjf Sync with HEAD.
 1.18.70.1 24-Mar-2008  keiichi sync with head.
 1.18.50.1 23-Mar-2008  matt sync with HEAD
 1.19.34.1 08-Feb-2011  bouyer Sync with HEAD
 1.19.32.1 06-Jun-2011  jruoho Sync with HEAD.
 1.19.26.1 05-Mar-2011  rmind sync with head
 1.20.32.1 22-Sep-2015  skrll Sync with HEAD
 1.20.14.1 03-Dec-2017  jdolecek update from HEAD
 1.21.18.1 10-Jun-2019  christos Sync with HEAD
 1.21.16.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.70 21-Jan-2021  nia add a commented out compat_ossaudio wherever there's compat_linux

requested by mrg
 1.69 19-Jan-2020  thorpej branches: 1.69.6;
Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.68 19-Dec-2018  maxv branches: 1.68.6;
Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.
 1.67 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.66 14-Sep-2017  mrg branches: 1.66.2; 1.66.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.65 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 2.
 1.64 21-Aug-2015  uebayasi Add `pseudo-device ksyms' where `options DDB' is used, because
config(1)/config(5) can't handle module dependency correctly at this
moment.

(This is another proof that shared file definition (`file xxx.c a|b')
is a bad idea.)
 1.63 07-Aug-2015  maxv Remove the KMEMSTATS option. It no longer exists.
 1.62 23-Aug-2014  dholland branches: 1.62.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.61 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.60 24-Mar-2014  szptvlfn fix manual section numbering of sysctl.
thanks wiz@
 1.59 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.58 05-Jun-2013  christos branches: 1.58.2;
remove obsolete networking options
 1.57 27-Apr-2013  christos the bogus number police
 1.56 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.55 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.54 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.53 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.52 18-Dec-2011  dholland branches: 1.52.6;
WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.51 22-Nov-2011  tls branches: 1.51.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.50 06-Mar-2011  bouyer branches: 1.50.4;
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.49 23-Nov-2010  hannken branches: 1.49.2; 1.49.4;
Remove unused count from pseudo-device md.
 1.48 05-Dec-2009  pooka branches: 1.48.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.47 17-Jan-2009  tsutsui Add options COMPAT_50.
 1.46 24-Nov-2008  ad Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.44 31-Jul-2008  simonb branches: 1.44.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.43 27-Apr-2008  tsutsui branches: 1.43.2; 1.43.4; 1.43.8;
Remove obsolete (commented out) options SHMMAXPGS.
 1.42 17-Oct-2007  garbled branches: 1.42.16; 1.42.18;
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.41 25-Jun-2007  tsutsui branches: 1.41.10;
Add options COMPAT_40.
 1.40 24-Nov-2006  wiz branches: 1.40.8; 1.40.10; 1.40.16;
s/independant/independent/, from Zafer.
 1.39 26-Aug-2006  christos branches: 1.39.2; 1.39.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.38 26-Aug-2006  tsutsui Remove netns and netccitt options.
 1.37 05-Feb-2006  cube branches: 1.37.2;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.36 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.35 07-Dec-2005  tsutsui branches: 1.35.2; 1.35.4; 1.35.6;
Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.34 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.33 19-Aug-2005  christos 64 bit inode changes.
 1.32 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.31 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.30 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.29 18-Feb-2005  dsl branches: 1.29.4; 1.29.6;
Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.28 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.27 05-Jan-2005  tsutsui branches: 1.27.2; 1.27.4;
options<space><tab>
 1.26 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.25 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.24 18-Jul-2004  tsutsui Add options COMPAT_20.
 1.23 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.22 22-Sep-2003  cl branches: 1.22.2;
add COMPAT_15/COMPAT_16
 1.21 10-Apr-2003  christos branches: 1.21.2;
Bye Bye UCONSOLE
 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 05-Mar-2002  wiz 'securyty' looks nice. Sadly, it's wrong.
 1.15 04-Mar-2002  sommerfeld The "gif*" tunnelling interface does everything ipip does.
Move usage example from ipip.4 to gif.4
Excise ipip and stitch up the scars.
 1.14 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.13 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.12 08-Jul-2001  abs branches: 1.12.2; 1.12.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.11 07-Jul-2001  tsutsui Split clock device attachment into interval timer and todclock
since they are actually independent devices.
 1.10 19-Mar-2001  tsutsui Switch news68k to ELF:
- Move options EXEC_ELF32 to std.news68k
- Add options COMPAT_AOUT_M68K to each config file
 1.9 25-Jan-2001  tsutsui branches: 1.9.2;
Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 1.8 24-Nov-2000  tsutsui Enable rnd and comment out CD9660. (no SCSI support on news1200 yet)
 1.7 24-Nov-2000  tsutsui Add/enable COMPAT_SUNOS. It actually works on news68k.
 1.6 04-Oct-2000  tsutsui branches: 1.6.2;
Switch to MI mk48txx driver.

XXX All config files should be updated since now clock address does not
XXX contain clock register offset in NVRAM.
 1.5 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.4 14-Jun-2000  veego Remove the obsolete config fragments for kernel crypto, because the IPsec
crypto code is now in the kernel source tree.
 1.3 12-Feb-2000  tsutsui branches: 1.3.2;
Fix typo.
 1.2 12-Feb-2000  thorpej Nuke NKMEMCLUSTERS.
 1.1 08-Feb-2000  tsutsui Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.3.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.6.2.5 27-Mar-2001  bouyer Sync with HEAD.
 1.6.2.4 11-Feb-2001  bouyer Sync with HEAD.
 1.6.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.6.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.6.2.1 04-Oct-2000  bouyer file NEWS1200 was added on branch thorpej_scsipi on 2000-11-20 20:16:08 +0000
 1.9.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.12.8.7 18-Oct-2002  nathanw Catch up to -current.
 1.12.8.6 20-Jun-2002  nathanw Catch up to -current.
 1.12.8.5 17-Apr-2002  nathanw Catch up to -current.
 1.12.8.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.12.8.3 28-Feb-2002  nathanw Catch up to -current.
 1.12.8.2 08-Jan-2002  nathanw Catch up to -current.
 1.12.8.1 08-Jul-2001  nathanw file NEWS1200 was added on branch nathanw_sa on 2002-01-08 00:26:51 +0000
 1.12.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.12.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.12.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.12.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.12.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.12.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 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 15-Jul-2002  gehenna catch up with -current.
 1.21.2.9 11-Dec-2005  christos Sync with head.
 1.21.2.8 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.21.2.7 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.21.2.6 15-Feb-2005  skrll Sync with HEAD.
 1.21.2.5 17-Jan-2005  skrll Sync with HEAD.
 1.21.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.21.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.21.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.21.2.1 03-Aug-2004  skrll Sync with HEAD
 1.22.2.1 15-Jul-2004  he Pull up revision 1.23 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.27.4.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.27.4.1 12-Feb-2005  yamt sync with head.
 1.27.2.1 29-Apr-2005  kent sync with -current
 1.29.6.3 03-Sep-2007  yamt sync with head.
 1.29.6.2 30-Dec-2006  yamt sync with head.
 1.29.6.1 21-Jun-2006  yamt sync with head.
 1.29.4.1 18-Jul-2005  riz Pull up revision 1.30 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.35.6.1 22-Apr-2006  simonb Sync with head.
 1.35.4.1 09-Sep-2006  rpaulo sync with head
 1.35.2.1 18-Feb-2006  yamt sync with head.
 1.37.2.1 03-Sep-2006  yamt sync with head.
 1.39.4.1 10-Dec-2006  yamt sync with head.
 1.39.2.1 12-Jan-2007  ad Sync with head.
 1.40.16.1 26-Jun-2007  garbled Sync with HEAD.
 1.40.10.1 11-Jul-2007  mjf Sync with head.
 1.40.8.1 15-Jul-2007  ad Sync with head.
 1.41.10.1 06-Nov-2007  matt sync with HEAD
 1.42.18.1 18-May-2008  yamt sync with head.
 1.42.16.3 17-Jan-2009  mjf Sync with HEAD.
 1.42.16.2 28-Sep-2008  mjf Sync with HEAD.
 1.42.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.43.8.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.43.8.1 19-Oct-2008  haad Sync with HEAD.
 1.43.4.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.43.2.2 11-Mar-2010  yamt sync with head
 1.43.2.1 04-May-2009  yamt sync with head.
 1.44.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.48.4.2 21-Apr-2011  rmind sync with head
 1.48.4.1 05-Mar-2011  rmind sync with head
 1.49.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.49.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.50.4.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.50.4.2 30-Oct-2012  yamt sync with head
 1.50.4.1 17-Apr-2012  yamt sync with head
 1.51.2.1 18-Feb-2012  mrg merge to -current.
 1.52.6.4 03-Dec-2017  jdolecek update from HEAD
 1.52.6.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.52.6.2 23-Jun-2013  tls resync from head
 1.52.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.58.2.2 18-May-2014  rmind sync with head
 1.58.2.1 28-Aug-2013  rmind sync with head
 1.62.2.2 28-Aug-2017  skrll Sync with HEAD
 1.62.2.1 22-Sep-2015  skrll Sync with HEAD
 1.66.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.66.4.1 10-Jun-2019  christos Sync with HEAD
 1.66.2.2 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.66.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.68.6.1 25-Jan-2020  ad Sync with head.
 1.69.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.40 18-Jan-2024  thorpej Don't put the news1[27]00 model defines into INDENT, make them
defflag options and put them in opt_newsconf.h. Make these
options depend on the appropriate M680x0 option (M68030 for each)
so that the CPU option appears correctly in opt_m68k_arch.h.
 1.39 15-Jan-2024  thorpej Switch news68k over to the common interrupt dispatch code.
 1.38 13-Jan-2024  thorpej Switch news68k over to the common m68k vector table.
 1.37 09-Jan-2024  thorpej Remove duplicated / slightly-tweaked loadustp() (load user segment table)
routines from all of the m68k ports using the shared pmap. Instead, in
pmap_init(), set up a function pointer to the appropriate mmu_load_urp*()
function in mmu_subr.s.
 1.36 01-Oct-2023  andvar Improve KGDB enabled build for news68k:
* include sys/kgdb.h in news68k/trap.c for missing definitions.
* cast second kgdb_trap argument to (db_regs_t *).
* build m68k/kgdb_machdep.c for kgdb_trap() implementation.

Same as for mvme68k, build complains about undefined reference to zs_check_kgdb
due to missing port specific zs kgdb implementation for MI zs(4) driver though.
 1.35 18-Feb-2019  thorpej Refactor the 68040 writeback() from each m68k port's trap handler into a
shared copy: m68040_writeback(). It is essentially a copy of the Atari
version, with some minor cosmetic tweaks and one small performance optimization
from the mvme68k port.

Tested by rjs@ on a Quadra 950. (Thanks!)
 1.34 19-Dec-2018  maxv Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.
 1.33 20-Nov-2011  tsutsui branches: 1.33.48; 1.33.50;
Add preliminary PROM internal function based framebuffer console support,
which was demonstrated at Open Source Conference 2011 Kansai @ Kyoto
back in July:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-Kansai

- map 0xc0000000-0xffffffff PA region (which is mirror of PA 0x0-0x3fffffff)
to the same VA via %tt0 and %tt1 registers and move KVA space accordingly
(like luna68k does for its devices)
- save trap #0 vector for PROM function calls in early bootstrap
and register it to trap #14 to call it from kernel for console output
- add dumb romcall based tty attachment taken from src/sys/dev/ofw/ofcons.c
- add rom function call stubs from news68k/stand/common/romcalls.S
- remove IIOV() macro for device registers where now mapped PA==VA via %tt1

XXX: romcons is not enabled yet because there is no generic interface
XXX: to attach wskbd(4) to non wsdisplay(4) devices like this romcons.
 1.32 12-Jun-2011  rmind branches: 1.32.2;
Welcome to 5.99.53! Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
kernel-lock on some ports). Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.
 1.31 20-Feb-2008  drochner branches: 1.31.32; 1.31.42;
Since files.wscons et al. are included by ~all ports anyway, include
them in the mi "files" file, and remove include statements from md files.
These shouldn't pull in additional kernel code when not in use, so it
shouldn't do any harm except a risk of namespace collisions which
should be easy to fix.
 1.30 03-Dec-2007  ad 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.29 10-Feb-2007  tsutsui branches: 1.29.6; 1.29.22; 1.29.24; 1.29.30;
Implement generic softintr(9) support for news68k.
Mostly taken from mvme68k.
 1.28 11-Dec-2005  christos merge ktrace-lwp.
 1.27 14-Nov-2004  christos branches: 1.27.12;
Use shared file.
 1.26 14-Sep-2004  jdolecek do not include "compat/aout/files.aout", COMPAT_AOUT is soon to be removed
 1.25 26-Sep-2003  wiz Process has only one c. From miod@openbsd.
 1.24 27-Jul-2003  thorpej Since everyone uses clock_subr.c (or should, if they don't currently),
list it in conf/files instead of in every port's files.*.
 1.23 24-Jun-2003  martin branches: 1.23.2;
FPU_EMULATE moved to arch/m68k/conf/files.m68k
 1.22 05-Nov-2002  chs merge pmap.c for all 4k-page motorola-MMU (or compatible) m68k platforms.
 1.21 03-Nov-2002  chs use a merged sys_machdep.c for all the motorola-MMU m68k platforms.
 1.20 02-Nov-2002  chs enhance the common m68k db_memrw.c to handle read-only kernel text
and switch all the motorola-MMU m68k platforms to use it.
 1.19 02-Nov-2002  chs finish conversion to the common m68k cacheops:
add support for machine-specific flavors of the ops for off-chip caches.
many thanks to Izumi Tsutsui for his help with this.
 1.18 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.17 20-Oct-2002  chs merge the 12 copies of vm_machdep.c on the m68k platforms.
clean up some other stuff along the way, including:
- use m68k/cacheops.*, remove duplicates from cpu.h.
- centralize a few declarations in (all the copies of) cpu.h.
- define M68K_VAC on platforms which have a VAC.
- switch the sun platforms to the (now common) proc_trampoline().
- do the phys_map thang on the sun platforms too, no reason not to.
 1.16 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.15 28-Nov-2001  lukem branches: 1.15.8;
- convert usage of "defopt" to "defflag" where the relevant option does
not support a value (e.g., it's to be used as "options FOO" instead of
"options FOO=xxx"). options that take a value were converted to
defparam recently.
- minor whitespace & formatting cleanups
 1.14 07-Jul-2001  tsutsui branches: 1.14.2; 1.14.8;
Split clock device attachment into interval timer and todclock
since they are actually independent devices.
 1.13 18-Jun-2001  christos Add an e_trapsignal member to struct emul, so that emulated processes can
send the appropriate signal depending on the trap type.
 1.12 04-Mar-2001  tsutsui branches: 1.12.2;
Include files.aoutm68k for COMPAT_AOUT_M68K.
 1.11 25-Jan-2001  tsutsui Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 1.10 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.9 04-Oct-2000  tsutsui branches: 1.9.2;
Switch to MI mk48txx driver.

XXX All config files should be updated since now clock address does not
XXX contain clock register offset in NVRAM.
 1.8 04-Oct-2000  tsutsui Initial bus_space(9) support for news68k. From hp300.
 1.7 03-Oct-2000  tsutsui Reorganize news68k clock device configuration and
prepare to switch to MI mk48txx driver.

XXX news68k does not have bus_space(9) support yet.
 1.6 02-Oct-2000  tsutsui Switch to MI md_root.c.
 1.5 25-Mar-2000  tsutsui Add a "sc_rev" member to ncr5380_softc and handle CXD1180 quirk
in MI ncr5380sbc.
 1.4 15-Mar-2000  soren s/md/raid/ for RAIDframe major name.
 1.3 15-Mar-2000  oster Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[]. Needed for / on RAID.
(Missed these yesterday.. Thanks to Izumi Tsutsui for noticing, and for
letting me know :) )
 1.2 08-Feb-2000  tsutsui Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.9.2.5 12-Mar-2001  bouyer Sync with HEAD.
 1.9.2.4 11-Feb-2001  bouyer Sync with HEAD.
 1.9.2.3 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.9.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.9.2.1 04-Oct-2000  bouyer file files.news68k was added on branch thorpej_scsipi on 2000-11-20 20:16:09 +0000
 1.12.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.14.8.4 11-Nov-2002  nathanw Catch up to -current
 1.14.8.3 17-Sep-2002  nathanw Catch up to -current.
 1.14.8.2 08-Jan-2002  nathanw Catch up to -current.
 1.14.8.1 07-Jul-2001  nathanw file files.news68k was added on branch nathanw_sa on 2002-01-08 00:26:52 +0000
 1.14.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.14.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.15.8.2 17-May-2002  gehenna Remove old block majors list.
 1.15.8.1 16-May-2002  gehenna Include the list of block/character major numbers.
 1.23.2.4 29-Nov-2004  skrll Sync with HEAD.
 1.23.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.23.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.23.2.1 03-Aug-2004  skrll Sync with HEAD
 1.27.12.3 27-Feb-2008  yamt sync with head.
 1.27.12.2 07-Dec-2007  yamt sync with head
 1.27.12.1 26-Feb-2007  yamt sync with head.
 1.29.30.1 08-Dec-2007  mjf Sync with HEAD.
 1.29.24.2 23-Mar-2008  matt sync with HEAD
 1.29.24.1 09-Jan-2008  matt sync with HEAD
 1.29.22.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.29.6.1 03-Dec-2007  ad Sync with HEAD.
 1.31.42.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.31.32.1 18-Mar-2010  rmind Unify /dev/{mem,kmem,zero,null} implementations in MI code. Based on patch
from Joerg Sonnenberger, proposed on tech-kern@, in February 2008.

Work and depression still in progress.
 1.32.2.1 17-Apr-2012  yamt sync with head
 1.33.50.1 10-Jun-2019  christos Sync with HEAD
 1.33.48.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.1 08-Feb-2000  tsutsui branches: 1.1.6;
Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.1.6.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.6.1 08-Feb-2000  bouyer file ioconf.incl.news68k was added on branch thorpej_scsipi on 2000-11-20 20:16:09 +0000
 1.26 04-Apr-2020  jdolecek mark nsmb major obsolete
 1.25 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.24 19-Dec-2018  maxv Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.
 1.23 20-Nov-2011  tsutsui branches: 1.23.48; 1.23.50;
Add preliminary PROM internal function based framebuffer console support,
which was demonstrated at Open Source Conference 2011 Kansai @ Kyoto
back in July:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-Kansai

- map 0xc0000000-0xffffffff PA region (which is mirror of PA 0x0-0x3fffffff)
to the same VA via %tt0 and %tt1 registers and move KVA space accordingly
(like luna68k does for its devices)
- save trap #0 vector for PROM function calls in early bootstrap
and register it to trap #14 to call it from kernel for console output
- add dumb romcall based tty attachment taken from src/sys/dev/ofw/ofcons.c
- add rom function call stubs from news68k/stand/common/romcalls.S
- remove IIOV() macro for device registers where now mapped PA==VA via %tt1

XXX: romcons is not enabled yet because there is no generic interface
XXX: to attach wskbd(4) to non wsdisplay(4) devices like this romcons.
 1.22 30-Jun-2011  wiz branches: 1.22.2;
dependant -> dependent
 1.21 06-Mar-2011  tsutsui Remove trailing spaces and TABs.
 1.20 12-Nov-2008  ad branches: 1.20.8; 1.20.10;
Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.19 31-Dec-2007  ad branches: 1.19.6; 1.19.10; 1.19.16; 1.19.18;
Remove systrace. Ok core@.
 1.18 24-Nov-2006  wiz branches: 1.18.28; 1.18.34; 1.18.42;
s/independant/independent/, from Zafer.
 1.17 11-Dec-2005  christos branches: 1.17.20; 1.17.22;
merge ktrace-lwp.
 1.16 17-Sep-2005  yamt make VMSWAP optional again.
 1.15 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.14 30-Jul-2005  yamt defflag VMSWAP.
 1.13 10-May-2005  jdolecek branches: 1.13.2;
assign major for nsmb(4)
 1.12 10-Dec-2003  jmc Change reference at bottom from sys/dev/majors to sys/conf/majors to match
reality
 1.11 22-Oct-2003  jdolecek add wsfont major to archs which have the other wscons devices
 1.10 10-Oct-2003  jdolecek reassing majors for crypto and pf to use the newly defined MI major
range
 1.9 10-Oct-2003  jdolecek update the comment - the space for machine-dependant majors
is reduced to 0-143
follows discussion on tech-kern
 1.8 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.7 22-Aug-2003  itojun create /dev/crypto
 1.6 27-Jul-2003  itojun reserve cdev major # for PF. ok'ed by technical-exec
 1.5 25-Apr-2003  ragge branches: 1.5.2;
Add ksyms device major.
 1.4 04-Oct-2002  elric branches: 1.4.2;
assign majors for raw and cooked cgd's.
 1.3 14-Sep-2002  tsutsui branches: 1.3.2;
Add (missed) entries for md(4).
 1.2 06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

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

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

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

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

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

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

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

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

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.1 16-May-2002  gehenna branches: 1.1.2;
file majors.news68k was initially added on branch gehenna-devsw.
 1.1.2.3 15-Jul-2002  gehenna catch up with -current.
 1.1.2.2 30-May-2002  gehenna Add $NetBSD$
 1.1.2.1 16-May-2002  gehenna Add the list of block/character majors.
 1.3.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.3.2.2 17-Sep-2002  nathanw Catch up to -current.
 1.3.2.1 14-Sep-2002  nathanw file majors.news68k was added on branch nathanw_sa on 2002-09-17 21:16:11 +0000
 1.4.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.4.2.1 04-Oct-2002  jdolecek file majors.news68k was added on branch kqueue on 2002-10-10 18:34:28 +0000
 1.5.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 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.13.2.3 21-Jan-2008  yamt sync with head
 1.13.2.2 30-Dec-2006  yamt sync with head.
 1.13.2.1 21-Jun-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.42.1 02-Jan-2008  bouyer Sync with HEAD
 1.18.34.1 18-Feb-2008  mjf Sync with HEAD.
 1.18.28.1 09-Jan-2008  matt sync with HEAD
 1.19.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.19.16.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.19.10.1 04-May-2009  yamt sync with head.
 1.19.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.20.10.1 06-Jun-2011  jruoho Sync with HEAD.
 1.20.8.1 21-Apr-2011  rmind sync with head
 1.22.2.1 17-Apr-2012  yamt sync with head
 1.23.50.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.23.50.1 10-Jun-2019  christos Sync with HEAD
 1.23.48.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.7 19-Sep-2010  tsutsui - add m68k/conf/std.m68k, which includes common standard options for m68k,
options EXEC_ELF32, EXEC_SCRIPTS, and CPU_IN_CKSUM for md cpu_in_cksum.c
- make all m68k ports include common arch/m68k/conf/std.m68k
from MD std.${MACHINE}
 1.6 11-Dec-2005  christos branches: 1.6.78; 1.6.98; 1.6.100;
merge ktrace-lwp.
 1.5 17-Sep-2005  yamt include "conf/std".
 1.4 20-Nov-2001  lukem branches: 1.4.16; 1.4.32;
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 19-Mar-2001  tsutsui branches: 1.3.2; 1.3.8;
Switch news68k to ELF:
- Move options EXEC_ELF32 to std.news68k
 1.2 22-Jun-2000  fvdl branches: 1.2.2; 1.2.4;
Remove prefix construction for softdeps. Add SOFTDEP option to GENERIC.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.6;
Initial import of news68k port.
 1.1.6.1 23-Jun-2000  fvdl As on the trunk, update these for the move of ffs_softdep.c into the
kernel source itself. Remove prefix construction, and add the SOFTDEP
option to GENERIC kernels.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.4.1 09-Apr-2001  nathanw Catch up with -current.
 1.2.2.3 27-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 22-Jun-2000  bouyer file std.news68k was added on branch thorpej_scsipi on 2000-11-20 20:16:09 +0000
 1.3.8.2 08-Jan-2002  nathanw Catch up to -current.
 1.3.8.1 19-Mar-2001  nathanw file std.news68k was added on branch nathanw_sa on 2002-01-08 00:26:52 +0000
 1.3.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.32.1 21-Jun-2006  yamt sync with head.
 1.4.16.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.6.100.1 05-Mar-2011  rmind sync with head
 1.6.98.1 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.6.78.1 09-Oct-2010  yamt sync with head
 1.8 07-Jul-2001  tsutsui Split clock device attachment into interval timer and todclock
since they are actually independent devices.
 1.7 05-Oct-2000  tsutsui branches: 1.7.2;
Make leds_intr() __inline.
 1.6 04-Oct-2000  tsutsui Switch to MI mk48txx driver.

XXX All config files should be updated since now clock address does not
XXX contain clock register offset in NVRAM.
 1.5 03-Oct-2000  tsutsui Reorganize news68k clock device configuration and
prepare to switch to MI mk48txx driver.

XXX news68k does not have bus_space(9) support yet.
 1.4 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.3 07-Apr-2000  tsutsui Use proper virtual address for some devices.
The transparent translation register is no longer required.
 1.2 08-Feb-2000  tsutsui Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.7.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.7.2.1 05-Oct-2000  bouyer file clock_hb.c was added on branch thorpej_scsipi on 2000-11-20 20:16:09 +0000
 1.6 14-May-2008  tsutsui Normalize my licenses.
 1.5 07-May-2008  tsutsui branches: 1.5.2;
Tweak a structure definition for DMA registers.
 1.4 24-Dec-2005  perry branches: 1.4.74; 1.4.76; 1.4.78;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 11-Dec-2004  tsutsui branches: 1.2.10;
u_intXX_t -> uintXX_t
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8; 1.1.32;
Initial import of news68k port.
 1.1.32.1 18-Dec-2004  skrll Sync with HEAD.
 1.1.8.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.8.1 09-Dec-1999  bouyer file dmac_0266.h was added on branch thorpej_scsipi on 2000-11-20 20:16:09 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.10.1 21-Jun-2006  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.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.21 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.20 24-Apr-2021  thorpej branches: 1.20.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.19 14-May-2008  tsutsui branches: 1.19.100;
Normalize my licenses.
 1.18 28-Mar-2008  tsutsui branches: 1.18.2; 1.18.4; 1.18.6;
Use CFATTACH_DECL_NEW(), device_t, cfdata_t, and aprint_*().
 1.17 11-Dec-2005  christos branches: 1.17.74;
merge ktrace-lwp.
 1.16 26-Aug-2005  drochner s/locdesc_t/int/g
 1.15 30-Jun-2005  drochner branches: 1.15.2;
adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes
 1.14 04-Sep-2004  tsutsui - Use ANSI function declarations and make some functions static.
- Some KNF
 1.13 04-Sep-2004  tsutsui Include ioconf.h to declare struct cfdriver.
 1.12 15-Jul-2003  lukem __KERNEL_RCSID()
 1.11 01-Jan-2003  thorpej branches: 1.11.2;
Use aprint_normal() for cfprint routines.
 1.10 20-Dec-2002  tsutsui Remove __P().
 1.9 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.8 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.7 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.6 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.5 07-Jul-2001  tsutsui branches: 1.5.2; 1.5.8;
bzero() -> memset()
 1.4 04-Oct-2000  tsutsui branches: 1.4.2;
Initial bus_space(9) support for news68k. From hp300.
 1.3 08-Feb-2000  tsutsui Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.2 21-Dec-1999  tsutsui branches: 1.2.2;
Typo.
 1.1 09-Dec-1999  tsutsui Initial import of news68k port.
 1.2.2.2 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.2.1 21-Dec-1999  wrstuden file hb.c was added on branch wrstuden-devbsize on 1999-12-27 18:32:56 +0000
 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 04-Oct-2000  bouyer file hb.c was added on branch thorpej_scsipi on 2000-11-20 20:16:09 +0000
 1.5.8.4 03-Jan-2003  thorpej Sync with HEAD.
 1.5.8.3 29-Dec-2002  thorpej Sync with HEAD.
 1.5.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.5.8.1 07-Jul-2001  nathanw file hb.c was added on branch nathanw_sa on 2002-10-18 02:39:06 +0000
 1.5.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.11.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.11.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.11.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.11.2.1 03-Aug-2004  skrll Sync with HEAD
 1.15.2.1 21-Jun-2006  yamt sync with head.
 1.17.74.2 02-Jun-2008  mjf Sync with HEAD.
 1.17.74.1 03-Apr-2008  mjf Sync with HEAD.
 1.18.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.18.4.1 16-May-2008  yamt sync with head.
 1.18.2.1 18-May-2008  yamt sync with head.
 1.19.100.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.19.100.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.19.100.4 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.19.100.3 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.19.100.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.19.100.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.20.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.6 14-May-2008  tsutsui Normalize my licenses.
 1.5 20-Dec-2002  tsutsui branches: 1.5.104; 1.5.106; 1.5.108; 1.5.110;
Remove __P().
 1.4 02-Oct-2002  jdolecek make ha_name const
 1.3 04-Oct-2000  tsutsui branches: 1.3.2; 1.3.6; 1.3.10;
Initial bus_space(9) support for news68k. From hp300.
 1.2 08-Feb-2000  tsutsui Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.10.2 29-Dec-2002  thorpej Sync with HEAD.
 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 04-Oct-2000  bouyer file hbvar.h was added on branch thorpej_scsipi on 2000-11-20 20:16:10 +0000
 1.5.110.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.5.108.1 16-May-2008  yamt sync with head.
 1.5.106.1 18-May-2008  yamt sync with head.
 1.5.104.1 02-Jun-2008  mjf Sync with HEAD.
 1.19 20-Nov-2011  tsutsui Add preliminary PROM internal function based framebuffer console support,
which was demonstrated at Open Source Conference 2011 Kansai @ Kyoto
back in July:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-Kansai

- map 0xc0000000-0xffffffff PA region (which is mirror of PA 0x0-0x3fffffff)
to the same VA via %tt0 and %tt1 registers and move KVA space accordingly
(like luna68k does for its devices)
- save trap #0 vector for PROM function calls in early bootstrap
and register it to trap #14 to call it from kernel for console output
- add dumb romcall based tty attachment taken from src/sys/dev/ofw/ofcons.c
- add rom function call stubs from news68k/stand/common/romcalls.S
- remove IIOV() macro for device registers where now mapped PA==VA via %tt1

XXX: romcons is not enabled yet because there is no generic interface
XXX: to attach wskbd(4) to non wsdisplay(4) devices like this romcons.
 1.18 19-Jan-2010  pooka branches: 1.18.12;
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.17 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.16 04-Apr-2008  tsutsui branches: 1.16.2; 1.16.4;
Split device_t/softc for le(4) and variants and misc cosmetic changes.
 1.15 24-Dec-2005  perry branches: 1.15.74;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.14 11-Dec-2005  christos merge ktrace-lwp.
 1.13 02-Jun-2005  tsutsui branches: 1.13.2;
- add const
- u_char -> uint8_t
- sccport0a is not used as pointer, so make it uint32_t address
- idrom is stored in ROM, so make it const rather than volatile
 1.12 27-Feb-2005  tsutsui LANCE chip actually requires PA of shared mem rather than VA.

Fortunately, lower bytes of PA and VA for intio devices were identical
on -current pmap, but the problem appears on new yamt-km which has differnt
address layout. Ummmmm.
 1.11 11-Dec-2004  tsutsui branches: 1.11.2; 1.11.4;
u_intXX_t -> uintXX_t
 1.10 04-Sep-2004  tsutsui - Use ANSI function declarations and make some functions static.
- Some KNF
 1.9 04-Sep-2004  tsutsui Include ioconf.h to declare struct cfdriver.
 1.8 15-Jul-2003  lukem __KERNEL_RCSID()
 1.7 18-Jan-2003  tsutsui branches: 1.7.2;
TAB/space cleanup.
 1.6 20-Dec-2002  tsutsui Remove __P().
 1.5 02-Oct-2002  thorpej 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 08-Feb-2000  tsutsui branches: 1.2.6; 1.2.8;
Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.8.1 21-Jun-2001  nathanw Catch up to -current.
 1.2.6.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.6.1 08-Feb-2000  bouyer file if_le.c was added on branch thorpej_scsipi on 2000-11-20 20:16:10 +0000
 1.3.8.3 29-Dec-2002  thorpej Sync with HEAD.
 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:39:06 +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.7.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.7.2.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 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.11.4.1 27-Feb-2005  tsutsui Sync with HEAD:
> LANCE chip actually requires PA of shared mem rather than VA.
>
> Fortunately, lower bytes of PA and VA for intio devices were identical
> on -current pmap, but the problem appears on new yamt-km which has differnt
> address layout. Ummmmm.

Now a yamt-km kernel for news68k goes to multi user.
(sorry for ugly MD sources)
 1.11.2.1 29-Apr-2005  kent sync with -current
 1.13.2.1 21-Jun-2006  yamt sync with head.
 1.15.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.16.4.2 11-Mar-2010  yamt sync with head
 1.16.4.1 16-May-2008  yamt sync with head.
 1.16.2.1 18-May-2008  yamt sync with head.
 1.18.12.1 17-Apr-2012  yamt sync with head
 1.9 14-May-2008  tsutsui Normalize my licenses.
 1.8 04-Mar-2007  christos branches: 1.8.40; 1.8.42; 1.8.44; 1.8.46;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.7 11-Dec-2005  christos branches: 1.7.26;
merge ktrace-lwp.
 1.6 04-Sep-2004  tsutsui branches: 1.6.12;
- Use ANSI function declarations and make some functions static.
- Some KNF
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 18-Jan-2003  tsutsui branches: 1.4.2;
TAB/space cleanup.
 1.3 11-Jan-2003  tsutsui Fix -Wsign-compare warnings.
 1.2 17-Mar-2002  atatat Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command". ERESTART is -1, which can lead to
confusion. ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4. No ioctl code should now return -1 anywhere. The
ioctl() system call is now properly restartable.
 1.1 25-Jan-2001  tsutsui branches: 1.1.2; 1.1.6; 1.1.10;
Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 1.1.10.2 15-Jan-2003  thorpej Sync with HEAD.
 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.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.2.2 11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.1 25-Jan-2001  bouyer file kb.c was added on branch thorpej_scsipi on 2001-02-11 19:11:14 +0000
 1.4.2.4 27-Jan-2005  skrll Adapt to branch.
 1.4.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6.12.2 03-Sep-2007  yamt sync with head.
 1.6.12.1 21-Jun-2006  yamt sync with head.
 1.7.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.8.46.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.8.44.1 16-May-2008  yamt sync with head.
 1.8.42.1 18-May-2008  yamt sync with head.
 1.8.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.15 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.14 24-Apr-2021  thorpej branches: 1.14.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.13 20-Nov-2011  tsutsui branches: 1.13.64;
Add preliminary PROM internal function based framebuffer console support,
which was demonstrated at Open Source Conference 2011 Kansai @ Kyoto
back in July:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-Kansai

- map 0xc0000000-0xffffffff PA region (which is mirror of PA 0x0-0x3fffffff)
to the same VA via %tt0 and %tt1 registers and move KVA space accordingly
(like luna68k does for its devices)
- save trap #0 vector for PROM function calls in early bootstrap
and register it to trap #14 to call it from kernel for console output
- add dumb romcall based tty attachment taken from src/sys/dev/ofw/ofcons.c
- add rom function call stubs from news68k/stand/common/romcalls.S
- remove IIOV() macro for device registers where now mapped PA==VA via %tt1

XXX: romcons is not enabled yet because there is no generic interface
XXX: to attach wskbd(4) to non wsdisplay(4) devices like this romcons.
 1.12 14-May-2008  tsutsui branches: 1.12.32;
Normalize my licenses.
 1.11 29-Mar-2008  tsutsui branches: 1.11.2; 1.11.4; 1.11.6;
Don't forget to set sc_dev.
 1.10 28-Mar-2008  tsutsui Use CFATTACH_DECL_NEW(), device_t, cfdata_t, and aprint_*().
 1.9 16-Feb-2007  tsutsui branches: 1.9.44;
Remove autovectored ISR priorities and use now properly defined
IPL_* values for isrlink_autovec().
 1.8 11-Dec-2005  christos merge ktrace-lwp.
 1.7 04-Sep-2004  tsutsui branches: 1.7.12;
- Use ANSI function declarations and make some functions static.
- Some KNF
 1.6 04-Sep-2004  tsutsui Include ioconf.h to declare struct cfdriver.
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 11-Jan-2003  tsutsui branches: 1.4.2;
Fix -Wsign-compare warnings.
 1.3 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 25-Jan-2001  tsutsui branches: 1.1.2; 1.1.6; 1.1.10;
Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 1.1.10.2 15-Jan-2003  thorpej Sync with HEAD.
 1.1.10.1 18-Oct-2002  nathanw Catch up to -current.
 1.1.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.1.2.2 11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.1 25-Jan-2001  bouyer file kb_hb.c was added on branch thorpej_scsipi on 2001-02-11 19:11:15 +0000
 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.7.12.1 26-Feb-2007  yamt sync with head.
 1.9.44.2 02-Jun-2008  mjf Sync with HEAD.
 1.9.44.1 03-Apr-2008  mjf Sync with HEAD.
 1.11.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.11.4.1 16-May-2008  yamt sync with head.
 1.11.2.1 18-May-2008  yamt sync with head.
 1.12.32.1 17-Apr-2012  yamt sync with head
 1.13.64.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.14.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.3 31-Oct-2022  andvar s/interrut/interrupt/ and s/accelelerator/accelerator/ in comments.
 1.2 14-May-2008  tsutsui Normalize my licenses.
 1.1 25-Jan-2001  tsutsui branches: 1.1.2; 1.1.128; 1.1.130; 1.1.132; 1.1.134;
Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 1.1.134.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 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 11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.1 25-Jan-2001  bouyer file kb_hbreg.h was added on branch thorpej_scsipi on 2001-02-11 19:11:15 +0000
 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 14-May-2008  tsutsui branches: 1.10.100;
Normalize my licenses.
 1.9 29-Mar-2008  tsutsui branches: 1.9.2; 1.9.4; 1.9.6;
Don't forget to set sc_dev.
 1.8 28-Mar-2008  tsutsui Use CFATTACH_DECL_NEW(), device_t, cfdata_t, and aprint_*().
 1.7 16-Feb-2007  tsutsui branches: 1.7.44;
Remove autovectored ISR priorities and use now properly defined
IPL_* values for isrlink_autovec().
 1.6 11-Dec-2005  christos merge ktrace-lwp.
 1.5 04-Sep-2004  tsutsui branches: 1.5.12;
- Use ANSI function declarations and make some functions static.
- Some KNF
 1.4 15-Jul-2003  lukem __KERNEL_RCSID()
 1.3 02-Oct-2002  thorpej branches: 1.3.6;
Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 25-Jan-2001  tsutsui branches: 1.1.2; 1.1.6; 1.1.10;
Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 1.1.10.1 18-Oct-2002  nathanw Catch up to -current.
 1.1.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.1.2.2 11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.1 25-Jan-2001  bouyer file kb_kbc.c was added on branch thorpej_scsipi on 2001-02-11 19:11:16 +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.12.1 26-Feb-2007  yamt sync with head.
 1.7.44.2 02-Jun-2008  mjf Sync with HEAD.
 1.7.44.1 03-Apr-2008  mjf Sync with HEAD.
 1.9.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.9.4.1 16-May-2008  yamt sync with head.
 1.9.2.1 18-May-2008  yamt sync with head.
 1.10.100.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.15 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.14 24-Apr-2021  thorpej branches: 1.14.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.13 22-Nov-2011  tsutsui branches: 1.13.64;
Remove more now unnecessary IIOV() conversion.
XXX: we should have proper PA to VA macro for TT mappings for readability
 1.12 14-May-2008  tsutsui branches: 1.12.32;
Normalize my licenses.
 1.11 28-Mar-2008  tsutsui branches: 1.11.2; 1.11.4; 1.11.6;
Use CFATTACH_DECL_NEW(), device_t, cfdata_t, and aprint_*().
 1.10 11-Dec-2005  christos branches: 1.10.74;
merge ktrace-lwp.
 1.9 04-Sep-2004  tsutsui - Use ANSI function declarations and make some functions static.
- Some KNF
 1.8 04-Sep-2004  tsutsui Include ioconf.h to declare struct cfdriver.
 1.7 15-Jul-2003  lukem __KERNEL_RCSID()
 1.6 11-Jan-2003  tsutsui branches: 1.6.2;
Fix -Wsign-compare warnings.
 1.5 01-Jan-2003  thorpej Use aprint_normal() for cfprint routines.
 1.4 20-Dec-2002  tsutsui Remove __P().
 1.3 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 25-Jan-2001  tsutsui branches: 1.1.2; 1.1.6; 1.1.10;
Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 1.1.10.4 15-Jan-2003  thorpej Sync with HEAD.
 1.1.10.3 03-Jan-2003  thorpej Sync with HEAD.
 1.1.10.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.10.1 18-Oct-2002  nathanw Catch up to -current.
 1.1.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.1.2.2 11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.1 25-Jan-2001  bouyer file kbc.c was added on branch thorpej_scsipi on 2001-02-11 19:11:16 +0000
 1.6.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.2.1 03-Aug-2004  skrll Sync with HEAD
 1.10.74.2 02-Jun-2008  mjf Sync with HEAD.
 1.10.74.1 03-Apr-2008  mjf Sync with HEAD.
 1.11.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.11.4.1 16-May-2008  yamt sync with head.
 1.11.2.1 18-May-2008  yamt sync with head.
 1.12.32.1 17-Apr-2012  yamt sync with head
 1.13.64.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.14.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.3 31-Oct-2022  andvar s/interrut/interrupt/ and s/accelelerator/accelerator/ in comments.
 1.2 14-May-2008  tsutsui Normalize my licenses.
 1.1 25-Jan-2001  tsutsui branches: 1.1.2; 1.1.128; 1.1.130; 1.1.132; 1.1.134;
Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 1.1.134.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 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 11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.1 25-Jan-2001  bouyer file kbcreg.h was added on branch thorpej_scsipi on 2001-02-11 19:11:16 +0000
 1.3 14-May-2008  tsutsui Normalize my licenses.
 1.2 02-Oct-2002  jdolecek branches: 1.2.108; 1.2.110; 1.2.112; 1.2.114;
make ka_name const
 1.1 25-Jan-2001  tsutsui branches: 1.1.2; 1.1.6; 1.1.10;
Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 1.1.10.1 18-Oct-2002  nathanw Catch up to -current.
 1.1.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.1.2.2 11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.1 25-Jan-2001  bouyer file kbcvar.h was added on branch thorpej_scsipi on 2001-02-11 19:11:16 +0000
 1.2.114.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 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 14-May-2008  tsutsui Normalize my licenses.
 1.2 28-Mar-2008  tsutsui branches: 1.2.2; 1.2.4; 1.2.6;
Use CFATTACH_DECL_NEW(), device_t, cfdata_t, and aprint_*().
 1.1 25-Jan-2001  tsutsui branches: 1.1.2; 1.1.128;
Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 1.1.128.2 02-Jun-2008  mjf Sync with HEAD.
 1.1.128.1 03-Apr-2008  mjf Sync with HEAD.
 1.1.2.2 11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.1 25-Jan-2001  bouyer file kbvar.h was added on branch thorpej_scsipi on 2001-02-11 19:11:17 +0000
 1.2.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.2.4.1 16-May-2008  yamt sync with head.
 1.2.2.1 18-May-2008  yamt sync with head.
 1.2 02-Oct-2000  tsutsui Switch to MI md_root.c.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.15 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.14 29-Mar-2008  tsutsui branches: 1.14.2; 1.14.4;
Don't forget to initialize sc_dev.
 1.13 28-Mar-2008  tsutsui Split device_t and softc for MI mk48txx(4) and intersil7170(4) clocks,
and other related misc cosmetics.
 1.12 10-Jan-2008  tsutsui branches: 1.12.6;
- move todr_attach(9) calls from each MD attachment to MI mk48txx_attach()
- don't clear todr_setwen in mk48txx_attach() since it might be set by
MD attachments
 1.11 11-Dec-2005  christos branches: 1.11.50; 1.11.56; 1.11.64;
merge ktrace-lwp.
 1.10 04-Sep-2004  tsutsui branches: 1.10.12;
- Use ANSI function declarations and make some functions static.
- Some KNF
 1.9 04-Sep-2004  tsutsui Include ioconf.h to declare struct cfdriver.
 1.8 01-Nov-2003  tsutsui Adapt MI mk48txx(4) changes. Tested on NWS-1750.
 1.7 19-Jul-2003  tsutsui Rename todclock_config() to todr_attach().
 1.6 15-Jul-2003  lukem __KERNEL_RCSID()
 1.5 20-Dec-2002  tsutsui branches: 1.5.2;
Remove __P().
 1.4 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.3 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.2 23-Feb-2002  scw Allow MD code to provide functions for reading/writing NVRAM/RTC
locations. If passed NULL, the old behaviour using bus_space_{read,write}_1()
is used. Otherwise, all access to the chip goes via the MD functions.

This is necessary for mvmeppc boards where the mk48txx NVRAM/RTC is not
directly addressable.
 1.1 07-Jul-2001  tsutsui branches: 1.1.2; 1.1.8;
Split clock device attachment into interval timer and todclock
since they are actually independent devices.
 1.1.8.4 29-Dec-2002  thorpej Sync with HEAD.
 1.1.8.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.8.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.8.1 07-Jul-2001  nathanw file mkclock_hb.c was added on branch nathanw_sa on 2002-02-28 04:11:14 +0000
 1.1.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.1.2.1 16-Mar-2002  jdolecek Catch up with -current.
 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.10.12.1 21-Jan-2008  yamt sync with head
 1.11.64.1 10-Jan-2008  bouyer Sync with HEAD
 1.11.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.11.50.1 23-Mar-2008  matt sync with HEAD
 1.12.6.2 02-Jun-2008  mjf Sync with HEAD.
 1.12.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.14.4.1 16-May-2008  yamt sync with head.
 1.14.2.1 18-May-2008  yamt sync with head.
 1.6 14-May-2008  tsutsui Normalize my licenses.
 1.5 12-Nov-2006  plunky branches: 1.5.52; 1.5.54; 1.5.56; 1.5.58;
Tidy away wsmouse_input() abstractions and update
documentation to include the W direction.
 1.4 11-Dec-2005  christos branches: 1.4.20; 1.4.22;
merge ktrace-lwp.
 1.3 04-Sep-2004  tsutsui branches: 1.3.12;
- Use ANSI function declarations and make some functions static.
- Some KNF
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 25-Jan-2001  tsutsui branches: 1.1.2; 1.1.26;
Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 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 11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.1 25-Jan-2001  bouyer file ms.c was added on branch thorpej_scsipi on 2001-02-11 19:11:17 +0000
 1.3.12.1 30-Dec-2006  yamt sync with head.
 1.4.22.1 10-Dec-2006  yamt sync with head.
 1.4.20.1 18-Nov-2006  ad Sync with head.
 1.5.58.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.5.56.1 16-May-2008  yamt sync with head.
 1.5.54.1 18-May-2008  yamt sync with head.
 1.5.52.1 02-Jun-2008  mjf Sync with HEAD.
 1.16 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.15 24-Apr-2021  thorpej branches: 1.15.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.14 22-Nov-2011  tsutsui branches: 1.14.64;
Remove more now unnecessary IIOV() conversion.
XXX: we should have proper PA to VA macro for TT mappings for readability
 1.13 14-May-2008  tsutsui branches: 1.13.32;
Normalize my licenses.
 1.12 29-Mar-2008  tsutsui branches: 1.12.2; 1.12.4; 1.12.6;
Don't forget to set sc_dev.
 1.11 28-Mar-2008  tsutsui Use CFATTACH_DECL_NEW(), device_t, cfdata_t, and aprint_*().
 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 16-Feb-2007  tsutsui branches: 1.9.2;
Remove autovectored ISR priorities and use now properly defined
IPL_* values for isrlink_autovec().
 1.8 11-Dec-2005  christos merge ktrace-lwp.
 1.7 04-Sep-2004  tsutsui branches: 1.7.12;
- Use ANSI function declarations and make some functions static.
- Some KNF
 1.6 15-Jul-2003  lukem __KERNEL_RCSID()
 1.5 11-Jan-2003  tsutsui branches: 1.5.2;
Fix -Wsign-compare warnings.
 1.4 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.3 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.2 17-Mar-2002  atatat Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command". ERESTART is -1, which can lead to
confusion. ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4. No ioctl code should now return -1 anywhere. The
ioctl() system call is now properly restartable.
 1.1 25-Jan-2001  tsutsui branches: 1.1.2; 1.1.6; 1.1.10;
Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 1.1.10.3 15-Jan-2003  thorpej Sync with HEAD.
 1.1.10.2 18-Oct-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 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 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.2.2 11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.1 25-Jan-2001  bouyer file ms_hb.c was added on branch thorpej_scsipi on 2001-02-11 19:11:17 +0000
 1.5.2.4 27-Jan-2005  skrll Adapt to branch.
 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.7.12.3 03-Sep-2007  yamt sync with head.
 1.7.12.2 26-Feb-2007  yamt sync with head.
 1.7.12.1 21-Jun-2006  yamt sync with head.
 1.9.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.10.40.2 02-Jun-2008  mjf Sync with HEAD.
 1.10.40.1 03-Apr-2008  mjf Sync with HEAD.
 1.12.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.12.4.1 16-May-2008  yamt sync with head.
 1.12.2.1 18-May-2008  yamt sync with head.
 1.13.32.1 17-Apr-2012  yamt sync with head
 1.14.64.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.15.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.3 31-Oct-2022  andvar s/interrut/interrupt/ and s/accelelerator/accelerator/ in comments.
 1.2 14-May-2008  tsutsui Normalize my licenses.
 1.1 25-Jan-2001  tsutsui branches: 1.1.2; 1.1.128; 1.1.130; 1.1.132; 1.1.134;
Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 1.1.134.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 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 11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.1 25-Jan-2001  bouyer file ms_hbreg.h was added on branch thorpej_scsipi on 2001-02-11 19:11:17 +0000
 1.14 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.13 24-Apr-2021  thorpej branches: 1.13.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.12 14-May-2008  tsutsui branches: 1.12.100;
Normalize my licenses.
 1.11 29-Mar-2008  tsutsui branches: 1.11.2; 1.11.4; 1.11.6;
Don't forget to set sc_dev.
 1.10 28-Mar-2008  tsutsui Use CFATTACH_DECL_NEW(), device_t, cfdata_t, and aprint_*().
 1.9 04-Mar-2007  christos branches: 1.9.40;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.8 16-Feb-2007  tsutsui branches: 1.8.2;
Remove autovectored ISR priorities and use now properly defined
IPL_* values for isrlink_autovec().
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 04-Sep-2004  tsutsui branches: 1.6.12;
- Use ANSI function declarations and make some functions static.
- Some KNF
 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 17-Mar-2002  atatat Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command". ERESTART is -1, which can lead to
confusion. ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4. No ioctl code should now return -1 anywhere. The
ioctl() system call is now properly restartable.
 1.1 25-Jan-2001  tsutsui branches: 1.1.2; 1.1.6; 1.1.10;
Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 1.1.10.2 18-Oct-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 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 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.2.2 11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.1 25-Jan-2001  bouyer file ms_kbc.c was added on branch thorpej_scsipi on 2001-02-11 19:11:17 +0000
 1.4.6.4 27-Jan-2005  skrll Adapt to branch.
 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.6.12.3 03-Sep-2007  yamt sync with head.
 1.6.12.2 26-Feb-2007  yamt sync with head.
 1.6.12.1 21-Jun-2006  yamt sync with head.
 1.8.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.9.40.2 02-Jun-2008  mjf Sync with HEAD.
 1.9.40.1 03-Apr-2008  mjf Sync with HEAD.
 1.11.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.11.4.1 16-May-2008  yamt sync with head.
 1.11.2.1 18-May-2008  yamt sync with head.
 1.12.100.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.13.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.2 28-Mar-2008  tsutsui Use CFATTACH_DECL_NEW(), device_t, cfdata_t, and aprint_*().
 1.1 25-Jan-2001  tsutsui branches: 1.1.2; 1.1.128;
Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 1.1.128.1 03-Apr-2008  mjf Sync with HEAD.
 1.1.2.2 11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.1 25-Jan-2001  bouyer file msvar.h was added on branch thorpej_scsipi on 2001-02-11 19:11:18 +0000
 1.4 25-Mar-2000  tsutsui Add a "sc_rev" member to ncr5380_softc and handle CXD1180 quirk
in MI ncr5380sbc.
 1.3 23-Mar-2000  thorpej New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
 1.2 19-Mar-2000  tsutsui Sync with MI ncr5380sbc changes.

XXX CXD1180 quirk code should be merged into the MI ncr5380sbc driver...
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.26 20-Nov-2011  tsutsui Add preliminary PROM internal function based framebuffer console support,
which was demonstrated at Open Source Conference 2011 Kansai @ Kyoto
back in July:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-Kansai

- map 0xc0000000-0xffffffff PA region (which is mirror of PA 0x0-0x3fffffff)
to the same VA via %tt0 and %tt1 registers and move KVA space accordingly
(like luna68k does for its devices)
- save trap #0 vector for PROM function calls in early bootstrap
and register it to trap #14 to call it from kernel for console output
- add dumb romcall based tty attachment taken from src/sys/dev/ofw/ofcons.c
- add rom function call stubs from news68k/stand/common/romcalls.S
- remove IIOV() macro for device registers where now mapped PA==VA via %tt1

XXX: romcons is not enabled yet because there is no generic interface
XXX: to attach wskbd(4) to non wsdisplay(4) devices like this romcons.
 1.25 17-Jun-2008  tsutsui branches: 1.25.30;
No need to terminate DMA in si_dma_poll().
 1.24 17-Jun-2008  tsutsui Implement si_dma_poll() properly so that crashdump works with DMA xfer.
 1.23 07-May-2008  tsutsui branches: 1.23.2; 1.23.4;
Tweak a structure definition for DMA registers.
 1.22 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.21 04-Apr-2008  tsutsui branches: 1.21.2; 1.21.4;
Split devict_t/softc for ncr5380sbc SCSI, and misc cosmetic changes.
 1.20 04-Mar-2007  christos branches: 1.20.40;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.19 17-Feb-2007  tsutsui branches: 1.19.2;
Make disconnect/reselect work on news68k si(4) with DMA and
enable it by default.
 1.18 29-Mar-2006  thorpej branches: 1.18.12;
Use device_cfdata().
 1.17 11-Dec-2005  christos branches: 1.17.4; 1.17.6; 1.17.8; 1.17.10; 1.17.12;
merge ktrace-lwp.
 1.16 04-Sep-2004  tsutsui branches: 1.16.12;
- Use ANSI function declarations and make some functions static.
- Some KNF
 1.15 04-Sep-2004  tsutsui Include ioconf.h to declare struct cfdriver.
 1.14 13-Aug-2004  tsutsui Adapt to NCR5380_USE_BUS_SPACE.
 1.13 15-Jul-2003  lukem __KERNEL_RCSID()
 1.12 19-Apr-2003  tsutsui branches: 1.12.2;
Fix typo, and TAB/space cosmetics.
 1.11 20-Dec-2002  tsutsui Remove __P().
 1.10 20-Oct-2002  chs merge the 12 copies of vm_machdep.c on the m68k platforms.
clean up some other stuff along the way, including:
- use m68k/cacheops.*, remove duplicates from cpu.h.
- centralize a few declarations in (all the copies of) cpu.h.
- define M68K_VAC on platforms which have a VAC.
- switch the sun platforms to the (now common) proc_trampoline().
- do the phys_map thang on the sun platforms too, no reason not to.
 1.9 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.8 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.7 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.6 25-Apr-2001  bouyer branches: 1.6.2; 1.6.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.5 25-Mar-2000  tsutsui branches: 1.5.6; 1.5.8;
Add a "sc_rev" member to ncr5380_softc and handle CXD1180 quirk
in MI ncr5380sbc.
 1.4 19-Mar-2000  tsutsui Sync with MI ncr5380sbc changes.

XXX CXD1180 quirk code should be merged into the MI ncr5380sbc driver...
 1.3 08-Feb-2000  tsutsui Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.2 19-Jan-2000  tsutsui Add #include <machine/cpu.h>
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.5.8.1 21-Jun-2001  nathanw Catch up to -current.
 1.5.6.4 29-Mar-2001  bouyer Pass compile-test on i386.
 1.5.6.3 22-Jan-2001  bouyer first cut at converting to thorpej_scsipi
 1.5.6.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.6.1 25-Mar-2000  bouyer file si.c was added on branch thorpej_scsipi on 2000-11-20 20:16:10 +0000
 1.6.8.4 29-Dec-2002  thorpej Sync with HEAD.
 1.6.8.3 11-Nov-2002  nathanw Catch up to -current
 1.6.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.6.8.1 25-Apr-2001  nathanw file si.c was added on branch nathanw_sa on 2002-10-18 02:39:07 +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.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 25-Aug-2004  skrll Sync with HEAD.
 1.12.2.1 03-Aug-2004  skrll Sync with HEAD
 1.16.12.3 03-Sep-2007  yamt sync with head.
 1.16.12.2 26-Feb-2007  yamt sync with head.
 1.16.12.1 21-Jun-2006  yamt sync with head.
 1.17.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.17.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.17.8.1 01-Apr-2006  yamt sync with head.
 1.17.6.1 22-Apr-2006  simonb Sync with head.
 1.17.4.1 09-Sep-2006  rpaulo sync with head
 1.18.12.1 24-Feb-2007  bouyer Pull up following revision(s) (requested by tsutsui in ticket #464):
sys/arch/news68k/conf/INSTALL: revision 1.41
sys/arch/news68k/conf/GENERIC_TINY: revision 1.56
sys/arch/news68k/conf/GENERIC: revision 1.87
sys/arch/news68k/conf/LIBERO: revision 1.44
sys/arch/news68k/dev/si.c: revision 1.19
Make disconnect/reselect work on news68k si(4) with DMA and
enable it by default.
 1.19.2.2 12-Mar-2007  rmind Sync with HEAD.
 1.19.2.1 17-Feb-2007  rmind file si.c was added on branch yamt-idlelwp on 2007-03-12 05:49:38 +0000
 1.20.40.2 29-Jun-2008  mjf Sync with HEAD.
 1.20.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.21.4.2 04-May-2009  yamt 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.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.25.30.1 17-Apr-2012  yamt sync with head
 1.21 15-Jan-2024  thorpej G/C __HAVE_LEGACY_INTRCNT from news68k.
 1.20 15-Jan-2024  thorpej Switch news68k over to the common interrupt dispatch code.
 1.19 22-Nov-2011  tsutsui Remove more now unnecessary IIOV() conversion.
XXX: we should have proper PA to VA macro for TT mappings for readability
 1.18 20-Dec-2010  matt branches: 1.18.8;
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.17 28-Jan-2010  mbalmer branches: 1.17.4;
Fix language.
 1.16 10-Dec-2008  tsutsui Account idepth in functions in locore.s that are registered in the
interrupt vector table so that we don't have to track all interrupt paths.
 1.15 28-Apr-2008  martin branches: 1.15.6; 1.15.8;
Remove clause 3 and 4 from TNF licenses
 1.14 28-Mar-2008  tsutsui branches: 1.14.2; 1.14.4;
Use CFATTACH_DECL_NEW(), device_t, cfdata_t, and aprint_*().
 1.13 28-Jan-2008  tsutsui branches: 1.13.6;
- account idepth in all interrupt handlers
- use idepth for CLKF_INTR()
 1.12 24-Dec-2005  perry branches: 1.12.50; 1.12.56;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.11 11-Dec-2005  christos merge ktrace-lwp.
 1.10 02-Jun-2005  tsutsui branches: 1.10.2;
Fix a shasow warning.
 1.9 11-Dec-2004  tsutsui u_intXX_t -> uintXX_t
 1.8 04-Sep-2004  tsutsui - Use ANSI function declarations and make some functions static.
- Some KNF
 1.7 04-Sep-2004  tsutsui Include ioconf.h to declare struct cfdriver.
 1.6 15-Jul-2003  lukem __KERNEL_RCSID()
 1.5 18-Jan-2003  tsutsui branches: 1.5.2;
TAB/space cleanup.
 1.4 20-Dec-2002  tsutsui Remove __P().
 1.3 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 07-Jul-2001  tsutsui branches: 1.1.2; 1.1.8;
Split clock device attachment into interval timer and todclock
since they are actually independent devices.
 1.1.8.3 29-Dec-2002  thorpej Sync with HEAD.
 1.1.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.8.1 07-Jul-2001  nathanw file timer_hb.c was added on branch nathanw_sa on 2002-10-18 02:39:07 +0000
 1.1.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.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.2.4 18-Dec-2004  skrll Sync with HEAD.
 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.10.2.2 04-Feb-2008  yamt sync with head.
 1.10.2.1 21-Jun-2006  yamt sync with head.
 1.12.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.12.50.1 23-Mar-2008  matt sync with HEAD
 1.13.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.13.6.2 02-Jun-2008  mjf Sync with HEAD.
 1.13.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.14.4.3 11-Mar-2010  yamt sync with head
 1.14.4.2 04-May-2009  yamt sync with head.
 1.14.4.1 16-May-2008  yamt sync with head.
 1.14.2.1 18-May-2008  yamt sync with head.
 1.15.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.15.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.17.4.1 05-Mar-2011  rmind sync with head
 1.18.8.1 17-Apr-2012  yamt sync with head
 1.34 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.33 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.32 24-Apr-2021  thorpej branches: 1.32.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.31 20-Nov-2011  tsutsui branches: 1.31.64;
Add preliminary PROM internal function based framebuffer console support,
which was demonstrated at Open Source Conference 2011 Kansai @ Kyoto
back in July:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-Kansai

- map 0xc0000000-0xffffffff PA region (which is mirror of PA 0x0-0x3fffffff)
to the same VA via %tt0 and %tt1 registers and move KVA space accordingly
(like luna68k does for its devices)
- save trap #0 vector for PROM function calls in early bootstrap
and register it to trap #14 to call it from kernel for console output
- add dumb romcall based tty attachment taken from src/sys/dev/ofw/ofcons.c
- add rom function call stubs from news68k/stand/common/romcalls.S
- remove IIOV() macro for device registers where now mapped PA==VA via %tt1

XXX: romcons is not enabled yet because there is no generic interface
XXX: to attach wskbd(4) to non wsdisplay(4) devices like this romcons.
 1.30 28-Apr-2008  martin branches: 1.30.34;
Remove clause 3 and 4 from TNF licenses
 1.29 29-Mar-2008  tsutsui branches: 1.29.2; 1.29.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.28 03-Dec-2007  ad branches: 1.28.14;
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.27 09-Nov-2007  ad Call zs_lock_init() to set up the chanstate's lock.
 1.26 17-Oct-2007  garbled branches: 1.26.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.25 20-May-2007  tsutsui branches: 1.25.8; 1.25.10; 1.25.14;
Call simple_lock_init(9) with proper zs_chanstate otherwise
LOCKDEBUG kernel fails during console zstty attachment.
 1.24 10-Feb-2007  tsutsui branches: 1.24.6; 1.24.8; 1.24.14;
Implement generic softintr(9) support for news68k.
Mostly taken from mvme68k.
 1.23 29-Mar-2006  thorpej Use device_cfdata().
 1.22 11-Dec-2005  christos branches: 1.22.4; 1.22.6; 1.22.8; 1.22.10; 1.22.12;
merge ktrace-lwp.
 1.21 02-Jun-2005  tsutsui branches: 1.21.2;
- add const
- u_char -> uint8_t
- sccport0a is not used as pointer, so make it uint32_t address
- idrom is stored in ROM, so make it const rather than volatile
 1.20 04-Sep-2004  tsutsui - Use ANSI function declarations and make some functions static.
- Some KNF
 1.19 04-Sep-2004  tsutsui Include ioconf.h to declare struct cfdriver.
 1.18 15-Jul-2003  lukem __KERNEL_RCSID()
 1.17 01-May-2003  tsutsui branches: 1.17.2;
Initialize struct consdev more properly.
 1.16 01-May-2003  tsutsui KNF
 1.15 11-Feb-2003  tsutsui Backout previous. <sys/lock.h> is pulled from <sys/tty.h>.
 1.14 10-Feb-2003  tsutsui MI z8530sc driver now requires <sys/lock.h>.
 1.13 28-Jan-2003  pk Provide locking required by the interrupt handlers running at IPL_SERIAL.
 1.12 11-Jan-2003  tsutsui Fix -Wsign-compare warnings.
 1.11 01-Jan-2003  thorpej Use aprint_normal() for cfprint routines.
 1.10 20-Dec-2002  tsutsui Remove __P().
 1.9 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.8 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.7 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.6 07-Jul-2001  tsutsui branches: 1.6.2; 1.6.8; 1.6.16;
bcopy() -> memcpy() (I guess there is no overlap here)
 1.5 14-Oct-2000  tsutsui branches: 1.5.2;
- Initialize zs chip in zscninit() so that kernel can use
serial console even if the PROM uses bitmap console.
- Remove zs_hwflags since news68k does not have keyboard nor mouse at zs;
check zschan address set in zscninit() to detect console device.
- Use BPS_TO_TCONST() to set baudrate in zs_init_reg[].
- Remove zs_get_chan_addr(), which is not needed anymore.
 1.4 06-Mar-2000  thorpej branches: 1.4.4;
- Implement cnbell() -- ring the console bell. The cn_bell entrypoint
is optional.
- Add cn_bell to statically allocated consdevs as appropriate.
 1.3 08-Feb-2000  tsutsui Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.2 29-Dec-1999  tsutsui Modify software interrupt handling a bit.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.4.4.1 15-Dec-2000  he Pull up revision 1.5 (requested by tsutsui):
Initialize zs chip in zscninit() so that the kernel can use serial
console even if the PROM uses bitmap console. Remove some dead
code. Use BPS_TO_TCONST() to initialize baudrate.
 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 14-Oct-2000  bouyer file zs.c was added on branch thorpej_scsipi on 2000-11-20 20:16:10 +0000
 1.6.16.1 19-May-2002  gehenna Replace the access to devsw table and the hard-coded majors with devsw API.
 1.6.8.6 15-Jan-2003  thorpej Sync with HEAD.
 1.6.8.5 03-Jan-2003  thorpej Sync with HEAD.
 1.6.8.4 29-Dec-2002  thorpej Sync with HEAD.
 1.6.8.3 18-Oct-2002  nathanw Catch up to -current.
 1.6.8.2 17-Sep-2002  nathanw Catch up to -current.
 1.6.8.1 07-Jul-2001  nathanw file zs.c was added on branch nathanw_sa on 2002-09-17 21:16:12 +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.17.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.17.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.17.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.17.2.1 03-Aug-2004  skrll Sync with HEAD
 1.21.2.5 07-Dec-2007  yamt sync with head
 1.21.2.4 15-Nov-2007  yamt sync with head.
 1.21.2.3 03-Sep-2007  yamt sync with head.
 1.21.2.2 26-Feb-2007  yamt sync with head.
 1.21.2.1 21-Jun-2006  yamt sync with head.
 1.22.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.22.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.22.8.1 01-Apr-2006  yamt sync with head.
 1.22.6.1 22-Apr-2006  simonb Sync with head.
 1.22.4.1 09-Sep-2006  rpaulo sync with head
 1.24.14.1 22-May-2007  matt Update to HEAD.
 1.24.8.1 11-Jul-2007  mjf Sync with head.
 1.24.6.2 03-Dec-2007  ad Sync with HEAD.
 1.24.6.1 27-May-2007  ad Sync with head.
 1.25.14.1 13-Nov-2007  bouyer Sync with HEAD
 1.25.10.2 09-Jan-2008  matt sync with HEAD
 1.25.10.1 06-Nov-2007  matt sync with HEAD
 1.25.8.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.25.8.1 11-Nov-2007  joerg Sync with HEAD.
 1.26.2.2 08-Dec-2007  mjf Sync with HEAD.
 1.26.2.1 19-Nov-2007  mjf Sync with HEAD.
 1.28.14.2 02-Jun-2008  mjf Sync with HEAD.
 1.28.14.1 03-Apr-2008  mjf Sync with HEAD.
 1.29.4.1 16-May-2008  yamt sync with head.
 1.29.2.1 18-May-2008  yamt sync with head.
 1.30.34.1 17-Apr-2012  yamt sync with head
 1.31.64.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.32.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.26 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.25 12-Jul-2018  maxv branches: 1.25.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.24 24-Dec-2015  christos branches: 1.24.16; 1.24.18;
fenv for m68k
 1.23 17-Jul-2011  joerg branches: 1.23.12; 1.23.30;
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.22 04-Mar-2007  tsutsui Stop installing <machine/intr.h> on news68k. Suggested by simonb.
 1.21 10-Feb-2007  tsutsui branches: 1.21.2;
Apply some changes for newlock2, taken from other m68k ports.
 1.20 26-Jul-2006  drochner don't install <machine/db_machdep.h>, this is kernel only
 1.19 01-Jul-2006  tsutsui No need to install autoconf.h.
 1.18 11-Dec-2005  christos branches: 1.18.4; 1.18.8; 1.18.16;
merge ktrace-lwp.
 1.17 08-May-2004  kleink branches: 1.17.12;
Factor out W{CHAR,INT}_{MAX,MIN} into their own header file.
 1.16 18-Jan-2003  thorpej branches: 1.16.2;
Merge the nathanw_sa branch.
 1.15 26-Nov-2002  lukem Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more.
 1.14 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.13 21-May-2002  tsutsui boot block info stuff is now in MI <sys/bootblock.h>.
 1.12 27-Apr-2002  tsutsui branches: 1.12.2;
Install bbinfo.h.
 1.11 28-Nov-2001  kleink No point in installing svr4_machdep.h.
 1.10 15-Apr-2001  kleink branches: 1.10.2; 1.10.8;
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 04-Oct-2000  tsutsui branches: 1.6.2; 1.6.4;
Initial bus_space(9) support for news68k. From hp300.
 1.5 26-Jun-2000  kleink Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
 1.4 29-Apr-2000  thorpej Require that each each MACHINE/MACHINE_ARCH supply a lock.h. This file
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED. These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case). Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.

These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
 1.3 17-Mar-2000  tron Install "machineendian_machdep.h".
 1.2 23-Dec-1999  kleink branches: 1.2.2;
C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
 1.1 09-Dec-1999  tsutsui Initial import of news68k port.
 1.2.2.2 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.2.1 23-Dec-1999  wrstuden file Makefile was added on branch wrstuden-devbsize on 1999-12-27 18:32:57 +0000
 1.6.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.6.2.3 21-Apr-2001  bouyer Sync with HEAD
 1.6.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.6.2.1 04-Oct-2000  bouyer file Makefile was added on branch thorpej_scsipi on 2000-11-20 20:16:10 +0000
 1.10.8.6 11-Dec-2002  thorpej Sync with HEAD.
 1.10.8.5 13-Aug-2002  nathanw Catch up to -current.
 1.10.8.4 20-Jun-2002  nathanw Catch up to -current.
 1.10.8.3 08-Jan-2002  nathanw Catch up to -current.
 1.10.8.2 10-Nov-2001  scw Kernel mcontext glue for Scheduler Activations on m68k from
Klaus Klein <kleink@netbsd.org>.
 1.10.8.1 15-Apr-2001  scw file Makefile was added on branch nathanw_sa on 2001-11-10 21:22:52 +0000
 1.10.2.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.10.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.10.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.12.2.2 31-Aug-2002  gehenna catch up with -current.
 1.12.2.1 30-May-2002  gehenna Catch up with -current.
 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.12.3 03-Sep-2007  yamt sync with head.
 1.17.12.2 26-Feb-2007  yamt sync with head.
 1.17.12.1 30-Dec-2006  yamt sync with head.
 1.18.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.18.8.1 11-Aug-2006  yamt sync with head
 1.18.4.1 09-Sep-2006  rpaulo sync with head
 1.21.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.23.30.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.23.12.1 03-Dec-2017  jdolecek update from HEAD
 1.24.18.1 10-Jun-2019  christos Sync with HEAD
 1.24.16.1 28-Jul-2018  pgoyette Sync with HEAD
 1.25.36.1 02-Aug-2025  perseant Sync with HEAD
 1.2 07-May-2019  kamil Switch all users (except ia64) of custom machine/ansi.h to common_ansi.h

Deduplicate the code among ports and poll definitions of types
directly from a compiler.

This fixes miscompilation of certain programs that instruct compilers
to generate code for different types. This bug has been detected with
-fshort-wchar in EFI firmware.

Proposed and discussed on a mailing list (twice).

Itanium uses custom !ELF fallback switch, temporarily leave it as it is.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8; 1.1.222;
Initial import of news68k port.
 1.1.222.1 10-Jun-2019  christos Sync with HEAD
 1.1.8.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.8.1 09-Dec-1999  bouyer file ansi.h was added on branch thorpej_scsipi on 2000-11-20 20:16:10 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2 06-Dec-2005  tsutsui Remove multiple inclusion protection from files which just include
MI m68k headers and don't have any own declarations.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8; 1.1.32; 1.1.48;
Initial import of news68k port.
 1.1.48.1 21-Jun-2006  yamt sync with head.
 1.1.32.1 11-Dec-2005  christos Sync with head.
 1.1.8.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.8.1 09-Dec-1999  bouyer file aout_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:16:10 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8;
Initial import of news68k port.
 1.1.8.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.8.1 09-Dec-1999  bouyer file asm.h was added on branch thorpej_scsipi on 2000-11-20 20:16:11 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.5 14-May-2008  tsutsui Normalize my licenses.
 1.4 06-Dec-2005  tsutsui branches: 1.4.74; 1.4.76; 1.4.78; 1.4.80;
Protect against multiple inclusion.
 1.3 27-Sep-2002  jdolecek branches: 1.3.6; 1.3.22;
constify, should fix warning for mainbus.c
 1.2 08-Feb-2000  tsutsui branches: 1.2.6; 1.2.10; 1.2.14;
Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.14.1 18-Oct-2002  nathanw Catch up to -current.
 1.2.10.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.6.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.6.1 08-Feb-2000  bouyer file autoconf.h was added on branch thorpej_scsipi on 2000-11-20 20:16:11 +0000
 1.3.22.1 21-Jun-2006  yamt sync with head.
 1.3.6.1 11-Dec-2005  christos Sync with head.
 1.4.80.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 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.2 21-May-2002  tsutsui boot block info stuff is now in MI <sys/bootblock.h>.
 1.1 27-Apr-2002  tsutsui branches: 1.1.2;
Use a magic structure with a magic number instead of using nlist(3)
for installboot(8) to patch proto bootblocks.
(This is a preparation to migrate MI installboot.)
 1.1.2.1 30-May-2002  gehenna Catch up with -current.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8;
Initial import of news68k port.
 1.1.8.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.8.1 09-Dec-1999  bouyer file bswap.h was added on branch thorpej_scsipi on 2000-11-20 20:16:11 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.13 27-Jan-2023  tsutsui news68k: Specify proper constraints for bus_space_read region and multi ops.

Synk with next68k.
Also use consistent register name constrains, i.e. no '%' prefix.
 1.12 23-Jan-2021  christos Remove cargo-culted '#if 0' code that was designed to produce a
compile-time error if any of the bus_space_*_8 functions was used,
but was documented that it produces a link-time error.
 1.11 02-Apr-2020  msaitoh branches: 1.11.4;
s/impliment/implement/ in comment.
 1.10 23-Sep-2019  skrll Provide PRIxBUSADDR, PRIxBUSSIZE, PRIuBUSSIZE, and PRIxBSH for all arches
to follow arm and (generic) mips.

Reviewed by christos.
 1.9 07-May-2012  tsutsui branches: 1.9.40;
Add dummy bus_dma(9) typedefs (enabled by __HAVE_NO_BUS_DMA) in <sys/bus.h>
for ports which don't bother to have unnecessary bus_dma(9) implementation
to appease MI driver modules that require bus_dma_tag_t.

For amiga, move <m68k/bus_dma.h> inclusion from <machine/pci_machdep.h>
to <machine/bus.h> since amiga will want actual bus_dma(9) in future
for PCI devices.

Fixes builds on sys/modules/if_axe etc on ancient ports.

"Sounds good" from martin@ on port-m68k@.
 1.8 28-Apr-2008  martin branches: 1.8.34; 1.8.38;
Remove clause 3 and 4 from TNF licenses
 1.7 16-Feb-2006  perry branches: 1.7.68; 1.7.70; 1.7.72;
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.6 24-Dec-2005  perry branches: 1.6.2; 1.6.4; 1.6.6;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 11-Dec-2004  tsutsui branches: 1.4.10;
u_intXX_t -> uintXX_t
 1.3 04-Sep-2004  tsutsui - Use ANSI function declarations and make some functions static.
- Some KNF
 1.2 20-Dec-2002  tsutsui branches: 1.2.2;
Remove __P().
 1.1 04-Oct-2000  tsutsui branches: 1.1.2; 1.1.10;
Initial bus_space(9) support for news68k. From hp300.
 1.1.10.1 29-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 04-Oct-2000  bouyer file bus.h was added on branch thorpej_scsipi on 2000-11-20 20:16:11 +0000
 1.2.2.3 18-Dec-2004  skrll Sync with HEAD.
 1.2.2.2 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.1 18-Sep-2004  skrll Sync with HEAD.
 1.4.10.1 21-Jun-2006  yamt sync with head.
 1.6.6.1 22-Apr-2006  simonb Sync with head.
 1.6.4.1 09-Sep-2006  rpaulo sync with head
 1.6.2.1 18-Feb-2006  yamt sync with head.
 1.7.72.1 16-May-2008  yamt sync with head.
 1.7.70.1 18-May-2008  yamt sync with head.
 1.7.68.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.38.1 02-Jun-2012  mrg sync to latest -current.
 1.8.34.1 23-May-2012  yamt sync with head.
 1.9.40.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.9.40.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.7 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.6 16-Feb-2006  perry branches: 1.6.94; 1.6.100; 1.6.102;
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.5 24-Dec-2005  perry branches: 1.5.2; 1.5.4; 1.5.6;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.4 11-Dec-2005  christos 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 03-Nov-2002  chs branches: 1.2.2; 1.2.8;
use "static __inline" instead of "extern __inline" so that we can
build without optimization.
 1.1 02-Nov-2002  chs finish conversion to the common m68k cacheops:
add support for machine-specific flavors of the ops for off-chip caches.
many thanks to Izumi Tsutsui for his help with this.
 1.2.8.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.8.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.8.1 03-Aug-2004  skrll Sync with HEAD
 1.2.2.2 11-Nov-2002  nathanw Catch up to -current
 1.2.2.1 03-Nov-2002  nathanw file cacheops_machdep.h was added on branch nathanw_sa on 2002-11-11 22:01:52 +0000
 1.5.6.1 22-Apr-2006  simonb Sync with head.
 1.5.4.1 09-Sep-2006  rpaulo sync with head
 1.5.2.1 18-Feb-2006  yamt sync with head.
 1.6.102.1 17-Feb-2011  bouyer Sync with HEAD
 1.6.100.1 06-Jun-2011  jruoho Sync with HEAD.
 1.6.94.1 05-Mar-2011  rmind sync with head
 1.2 06-Dec-2005  tsutsui Remove multiple inclusion protection from files which just include
MI m68k headers and don't have any own declarations.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8; 1.1.32; 1.1.48;
Initial import of news68k port.
 1.1.48.1 21-Jun-2006  yamt sync with head.
 1.1.32.1 11-Dec-2005  christos Sync with head.
 1.1.8.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.8.1 09-Dec-1999  bouyer file cdefs.h was added on branch thorpej_scsipi on 2000-11-20 20:16:11 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.55 20-Jan-2024  thorpej Largely unify the <machine/cpu.h> headers on the m68k platforms.
 1.54 19-Jan-2024  thorpej Consistently use "intr_depth" as the name of the interrupt depth counter
on m68k platforms.
 1.53 18-Jan-2024  thorpej Make the M68K_MMU_* defines real kernel options, available in opt_m68k_arch.h.
For 68030, 68040, and 68060, infer M68K_MMU_MOTOROLA. For 68010 and 68020, it
must be an explicit option (set in std.${MACHINE} or, in the case of hp300,
inferred from the specific model option).
 1.52 18-Jan-2024  thorpej Don't put the news1[27]00 model defines into INDENT, make them
defflag options and put them in opt_newsconf.h. Make these
options depend on the appropriate M680x0 option (M68030 for each)
so that the CPU option appears correctly in opt_m68k_arch.h.
 1.51 15-Jan-2024  thorpej G/C __HAVE_LEGACY_INTRCNT from news68k.
 1.50 15-Jan-2024  thorpej Switch news68k over to the common interrupt dispatch code.
 1.49 13-Jan-2024  thorpej Switch news68k over to the common m68k vector table.
 1.48 12-Jan-2024  thorpej Make getsr() an inline in <m68k/psl.h> and G/C all of the now-redudant
copies.
 1.47 09-Jan-2024  thorpej Remove duplicated / slightly-tweaked loadustp() (load user segment table)
routines from all of the m68k ports using the shared pmap. Instead, in
pmap_init(), set up a function pointer to the appropriate mmu_load_urp*()
function in mmu_subr.s.
 1.46 23-Nov-2019  ad cpu_need_resched():

- Remove all code that should be MI, leaving the bare minimum under arch/.
- Make the required actions very explicit.
- Pass in LWP pointer for convenience.
- When a trap is required on another CPU, have the IPI set it locally.
- Expunge cpu_did_resched().
 1.45 18-Feb-2019  thorpej Refactor the 68040 writeback() from each m68k port's trap handler into a
shared copy: m68040_writeback(). It is essentially a copy of the Atari
version, with some minor cosmetic tweaks and one small performance optimization
from the mvme68k port.

Tested by rjs@ on a Quadra 950. (Thanks!)
 1.44 22-Aug-2018  msaitoh - Cleanup for dynamic sysctl:
- Remove unused *_NAMES macros for sysctl.
- Remove unused *_MAXID for sysctls.
- Move CTL_MACHDEP sysctl definitions for m68k into m68k/include/cpu.h and
use them on all m68k machines.
 1.43 17-Dec-2016  flxd branches: 1.43.14; 1.43.16;
Fix typo "one the" and architecture where appropriate.
 1.42 19-Oct-2013  christos branches: 1.42.6; 1.42.10;
make cpu_need_resched() macros consistent; __USE flags
 1.41 02-Feb-2012  tsutsui branches: 1.41.6; 1.41.10;
Always include <m68k/cpu.h> (i.e. outside #if defined(_KERNEL))
for crash(8) as amiga and sun3. There are _KERNEL protections in it.

Briefly tested by "build.sh -m news68k -U build".
Further possible botch will be fixed later.
 1.40 20-Nov-2011  tsutsui branches: 1.40.2;
Add preliminary PROM internal function based framebuffer console support,
which was demonstrated at Open Source Conference 2011 Kansai @ Kyoto
back in July:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-Kansai

- map 0xc0000000-0xffffffff PA region (which is mirror of PA 0x0-0x3fffffff)
to the same VA via %tt0 and %tt1 registers and move KVA space accordingly
(like luna68k does for its devices)
- save trap #0 vector for PROM function calls in early bootstrap
and register it to trap #14 to call it from kernel for console output
- add dumb romcall based tty attachment taken from src/sys/dev/ofw/ofcons.c
- add rom function call stubs from news68k/stand/common/romcalls.S
- remove IIOV() macro for device registers where now mapped PA==VA via %tt1

XXX: romcons is not enabled yet because there is no generic interface
XXX: to attach wskbd(4) to non wsdisplay(4) devices like this romcons.
 1.39 16-May-2011  tsutsui branches: 1.39.4;
- merge and move pasted m68k MD setreg() functions into m68k/m68k_machdep.c
- move m68881_save() and m68881_restore() declarations into <m68k/m68k.h>

Briefly tested and no obvious breakage on atari, sun3, and x68k.
 1.38 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.37 22-Dec-2010  matt branches: 1.37.2; 1.37.4;
Collect cpu_info and friends and move to m68k/include/cpu.h
Add a define __HAVE_CPU_DATA_FIRST which means that cpu_data is the first
member in struct cpu_info.
 1.36 06-Jun-2010  mrg fix PR 6724 - convert m68k options to defflag's. this means that
M680[12346] are now available from opt_m68k_arch.h. FPSP meantioned
in the PR has already been fixed, and i could not find any more.

i built these kernels to ensure i did not break their builds:

amiga: GENERIC DRACO
atari: HADES FALCON MILAN-PCIIDE
mac68k: GENERIC
sun2: GENERIC
sun3: GENERIC GENERIC3X
cesfic: attempted GENERIC, does not build due to lack of machine/bus.h
hp300: GENERIC
luna68k: GENERIC
mvme68k: GENERIC
news68k: GENERIC
next68k: GENERIC
x68k: GENERIC
 1.35 21-Oct-2009  rmind branches: 1.35.2; 1.35.4;
Remove uarea swap-out functionality:

- Addresses the issue described in PR/38828.
- Some simplification in threading and sleepq subsystems.
- Eliminates pmap_collect() and, as a side note, allows pmap optimisations.
- Eliminates XS_CTL_DATA_ONSTACK in scsipi code.
- Avoids few scans on LWP list and thus potentially long holds of proc_lock.
- Cuts ~1.5k lines of code. Reduces amd64 kernel size by ~4k.
- Removes __SWAP_BROKEN cases.

Tested on x86, mips, acorn32 (thanks <mpumford>) and partly tested on
acorn26 (thanks to <bjh21>).

Discussed on <tech-kern>, reviewed by <ad>.
 1.34 29-Jul-2009  rmind Fix few more l_pflag and LP_OWEUPC confusions.
 1.33 27-Feb-2008  xtraeme branches: 1.33.4; 1.33.14; 1.33.20; 1.33.22;
Remove CTL_MACHDEP_NAMES, it's not used anywhere.

Ok by martin@.
 1.32 28-Jan-2008  tsutsui branches: 1.32.2; 1.32.6;
- account idepth in all interrupt handlers
- use idepth for CLKF_INTR()
 1.31 17-Oct-2007  garbled branches: 1.31.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.30 04-Aug-2007  ad branches: 1.30.2;
Add ci_cpuid where it's missing.
 1.29 21-May-2007  tsutsui branches: 1.29.2; 1.29.4; 1.29.8;
Move declarations of m68k common functions
from <machine/cpu.h> to <m68k/m68k.h>.
While here, remove some obsolete function decls.
 1.28 20-May-2007  mhitch Add missing call to lwp_startup() in lwp_trampoline() (which was renamed
from proc_trampoline to match the other ports).

A DIAGNOSTIC kernel will now boot and run. LOCKDEBUG still doesn't work yet.
Also, my amiga no longer loses time.
 1.27 18-May-2007  tsutsui Adapt news68k to yamt-idlelwp. Tested on NWS-1750.
 1.26 04-Mar-2007  christos branches: 1.26.2; 1.26.4; 1.26.10;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.25 16-Feb-2007  ad branches: 1.25.2;
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.24 10-Feb-2007  tsutsui Apply some changes for newlock2, taken from other m68k ports.
 1.23 11-Dec-2005  christos merge ktrace-lwp.
 1.22 15-Dec-2004  tsutsui branches: 1.22.10;
Add definitions for ports CTRL_POWER and CTRL_LED.
 1.21 15-Dec-2004  tsutsui Backout previous because:
- we should fix genassym.sh to generate proper unsigned values rather than
remove use of such values in each source
- 0xe0dc0000 is port to control LED so INTIOBASE1700_OFF is not proper name
- these LED debug code didn't work on news1200 and it should be fixed anyway
 1.20 15-Dec-2004  jmc Convert expression for (0xe0dc0000-INTIOBASE1700) directly within a cpp
macro as otherwise gas gets handed an X - -Y expression and w 2.15 it won't
treat that as a valid expression
 1.19 26-Sep-2004  yamt don't expose cpu_info to userland.
 1.18 22-Sep-2004  yamt move some per-cpu data definitions to MI place so that they can be modified
without touching all ports. discussed on tech-kern@.
 1.17 04-Jan-2004  jdolecek Rearrange process exit path to avoid need to free resources from different
process context ('reaper').

From within the exiting process context:
* deactivate pmap and free vmspace while we can still block
* introduce MD cpu_lwp_free() - this cleans all MD-specific context (such
as FPU state), and is the last potentially blocking operation;
all of cpu_wait(), and most of cpu_exit(), is now folded into cpu_lwp_free()
* process is now immediatelly marked as zombie and made available for pickup
by parent; the remaining last lwp continues the exit as fully detached
* MI (rather than MD) code bumps uvmexp.swtch, cpu_exit() is now same
for both 'process' and 'lwp' exit

uvm_lwp_exit() is modified to never block; the u-area memory is now
always just linked to the list of available u-areas. Introduce (blocking)
uvm_uarea_drain(), which is called to release the excessive u-area memory;
this is called by parent within wait4(), or by pagedaemon on memory shortage.
uvm_uarea_free() is now private function within uvm_glue.c.

MD process/lwp exit code now always calls lwp_exit2() immediatelly after
switching away from the exiting lwp.

g/c now unneeded routines and variables, including the reaper kernel thread
 1.16 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.15 21-Jan-2003  jdolecek branches: 1.15.2;
add prototype for switch_lwp_exit()
 1.14 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.13 20-Dec-2002  tsutsui Remove __P().
 1.12 02-Nov-2002  chs finish conversion to the common m68k cacheops:
add support for machine-specific flavors of the ops for off-chip caches.
many thanks to Izumi Tsutsui for his help with this.
 1.11 20-Oct-2002  chs merge the 12 copies of vm_machdep.c on the m68k platforms.
clean up some other stuff along the way, including:
- use m68k/cacheops.*, remove duplicates from cpu.h.
- centralize a few declarations in (all the copies of) cpu.h.
- define M68K_VAC on platforms which have a VAC.
- switch the sun platforms to the (now common) proc_trampoline().
- do the phys_map thang on the sun platforms too, no reason not to.
 1.10 30-May-2001  mrg branches: 1.10.8;
use _KERNEL_OPT
 1.9 10-Mar-2001  tsutsui Fix error on config without options news1700.
DC_BE and IC_BE bits are enabled at runtime since rev 1.7.
 1.8 19-Dec-2000  scw branches: 1.8.2;
Unification of the m68k syscall() function.
 1.7 09-Nov-2000  tsutsui branches: 1.7.2;
Make it possible to enable/disable DC_BE and IC_BE bits in %cacr at runtime
and enable them on news1200/1400/1500 (which have no L2cache).
 1.6 04-Oct-2000  tsutsui Initial bus_space(9) support for news68k. From hp300.
 1.5 25-Aug-2000  thorpej Make need_resched() take a "struct cpu_info *" argument. This
causes gives a primitive form of processor affinity. Its use in
roundrobin() still needs some work.
 1.4 26-May-2000  thorpej branches: 1.4.4;
First sweep at scheduler state cleanup. Collect MI scheduler
state into global and per-CPU scheduler state:

- Global state: sched_qs (run queues), sched_whichqs (bitmap
of non-empty run queues), sched_slpque (sleep queues).
NOTE: These may collectively move into a struct schedstate
at some point in the future.

- Per-CPU state, struct schedstate_percpu: spc_runtime
(time process on this CPU started running), spc_flags
(replaces struct proc's p_schedflags), and
spc_curpriority (usrpri of processes on this CPU).

- Every platform must now supply a struct cpu_info and
a curcpu() macro. Simplify existing cpu_info declarations
where appropriate.

- All references to per-CPU scheduler state now made through
curcpu(). NOTE: this will likely be adjusted in the future
after further changes to struct proc are made.

Tested on i386 and Alpha. Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
 1.3 10-Mar-2000  tsutsui Use CTRL_AST interrupt to handle asynchronous trap.
 1.2 08-Feb-2000  tsutsui Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.4.4.2 13-Mar-2001  he Pull up revision 1.9 (requested by tsutsui):
Fix error on config without options news1700.
 1.4.4.1 24-Dec-2000  jhawk Pull up revision 1.7 (requested by tsutsui):
Allow runtime enabling/disabling of DC_BE and IC_BE bits in %cacr
and enable them on news1200/1400/1500 (Which have no L2 cache); yields
a performance improvement. Also correct a typo in a comment.
 1.7.2.5 12-Mar-2001  bouyer Sync with HEAD.
 1.7.2.4 05-Jan-2001  bouyer Sync with HEAD
 1.7.2.3 22-Nov-2000  bouyer Sync with HEAD.
 1.7.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.7.2.1 09-Nov-2000  bouyer file cpu.h was added on branch thorpej_scsipi on 2000-11-20 20:16:11 +0000
 1.8.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.8.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.10.8.5 29-Dec-2002  thorpej Sync with HEAD.
 1.10.8.4 11-Nov-2002  nathanw Catch up to -current
 1.10.8.3 08-Dec-2001  thorpej Add a cpu_proc_fork(), called from uvm_proc_fork(), which takes care
of machine-dependent handling a fork() time (this is different from
forking the actual context in an LWP world). #define it away on
platforms which do not need it.

Problem noted by Gregory McGarry.
 1.10.8.2 18-Nov-2001  scw MD Scheduler Activation bits for News68k.
Compile-tested only.
 1.10.8.1 30-May-2001  scw file cpu.h was added on branch nathanw_sa on 2001-11-18 18:42:19 +0000
 1.15.2.6 18-Dec-2004  skrll Sync with HEAD.
 1.15.2.5 19-Oct-2004  skrll Sync with HEAD
 1.15.2.4 24-Sep-2004  skrll Sync with HEAD.
 1.15.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.15.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.15.2.1 03-Aug-2004  skrll Sync with HEAD
 1.22.10.4 17-Mar-2008  yamt sync with head.
 1.22.10.3 04-Feb-2008  yamt sync with head.
 1.22.10.2 03-Sep-2007  yamt sync with head.
 1.22.10.1 26-Feb-2007  yamt sync with head.
 1.25.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.26.10.2 03-Oct-2007  garbled Sync with HEAD
 1.26.10.1 22-May-2007  matt Update to HEAD.
 1.26.4.1 11-Jul-2007  mjf Sync with head.
 1.26.2.2 20-Aug-2007  ad Sync with HEAD.
 1.26.2.1 27-May-2007  ad Sync with head.
 1.29.8.1 04-Aug-2007  jmcneill Sync with HEAD.
 1.29.4.1 15-Aug-2007  skrll Sync with HEAD.
 1.29.2.1 07-Aug-2007  matt Sync with HEAD.
 1.30.2.2 23-Mar-2008  matt sync with HEAD
 1.30.2.1 06-Nov-2007  matt sync with HEAD
 1.31.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.32.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.32.2.1 24-Mar-2008  keiichi sync with head.
 1.33.22.1 21-Apr-2010  matt sync to netbsd-5
 1.33.20.1 14-Aug-2009  snj Pull up following revision(s) (requested by rmind in ticket #897):
sys/arch/hp300/include/cpu.h: revision 1.60
sys/arch/news68k/include/cpu.h: revision 1.34
sys/arch/powerpc/powerpc/trap.c: revision 1.130 via patch
Fix few more l_pflag and LP_OWEUPC confusions.
 1.33.14.1 14-Aug-2009  snj Pull up following revision(s) (requested by rmind in ticket #897):
sys/arch/hp300/include/cpu.h: revision 1.60
sys/arch/news68k/include/cpu.h: revision 1.34
sys/arch/powerpc/powerpc/trap.c: revision 1.130 via patch
Fix few more l_pflag and LP_OWEUPC confusions.
 1.33.4.3 11-Aug-2010  yamt sync with head.
 1.33.4.2 11-Mar-2010  yamt sync with head
 1.33.4.1 19-Aug-2009  yamt sync with head.
 1.35.4.3 31-May-2011  rmind sync with head
 1.35.4.2 05-Mar-2011  rmind sync with head
 1.35.4.1 03-Jul-2010  rmind sync with head
 1.35.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.37.4.1 17-Feb-2011  bouyer Sync with HEAD
 1.37.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.39.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.39.4.1 17-Apr-2012  yamt sync with head
 1.40.2.1 18-Feb-2012  mrg merge to -current.
 1.41.10.1 18-May-2014  rmind sync with head
 1.41.6.2 03-Dec-2017  jdolecek update from HEAD
 1.41.6.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.42.10.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.42.6.1 05-Feb-2017  skrll Sync with HEAD
 1.43.16.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.43.16.1 10-Jun-2019  christos Sync with HEAD
 1.43.14.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.3 06-Dec-2005  tsutsui Remove defines DB_ELF_SYMBOLS and DB_ELFSIZE, which are defined
in <m68k/db_machdep.h>.
 1.2 12-Jan-2001  tsutsui branches: 1.2.24; 1.2.40;
Enable ELF symbol support to migrate. DB_AOUT_SYMBOLS is still defined.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8;
Initial import of news68k port.
 1.1.8.3 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.1.8.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.8.1 09-Dec-1999  bouyer file db_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:16:11 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.40.1 21-Jun-2006  yamt sync with head.
 1.2.24.1 11-Dec-2005  christos Sync with head.
 1.3 30-Aug-2011  bouyer 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.2 06-Dec-2005  tsutsui Use _NEWS68K_FOO_H_ rather than _MACHNE_FOO_H_.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8; 1.1.32; 1.1.48;
Initial import of news68k port.
 1.1.48.1 21-Jun-2006  yamt sync with head.
 1.1.32.1 11-Dec-2005  christos Sync with head.
 1.1.8.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.8.1 09-Dec-1999  bouyer file disklabel.h was added on branch thorpej_scsipi on 2000-11-20 20:16:11 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2 06-Dec-2005  tsutsui Remove multiple inclusion protection from files which just include
MI m68k headers and don't have any own declarations.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8; 1.1.32; 1.1.48;
Initial import of news68k port.
 1.1.48.1 21-Jun-2006  yamt sync with head.
 1.1.32.1 11-Dec-2005  christos Sync with head.
 1.1.8.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.8.1 09-Dec-1999  bouyer file elf_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:16:11 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2 17-Mar-2000  mycroft branches: 1.2.6;
In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.6.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.6.1 17-Mar-2000  bouyer file endian.h was added on branch thorpej_scsipi on 2000-11-20 20:16:11 +0000
 1.1 17-Mar-2000  mycroft branches: 1.1.6;
In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
 1.1.6.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.6.1 17-Mar-2000  bouyer file endian_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:16:11 +0000
 1.1 27-Dec-2023  thorpej Re-factor the 680x0 Function Code definitions into their own
separate file (as was done on the sun2/sun3 ports ages ago)
and switch everyone to the common header.
 1.1 24-Dec-2015  christos branches: 1.1.2; 1.1.18;
fenv for m68k
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 24-Dec-2015  jdolecek file fenv.h was added on branch tls-maxphys on 2017-12-03 11:36:32 +0000
 1.1.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.2.1 24-Dec-2015  skrll file fenv.h was added on branch nick-nhusb on 2015-12-27 12:09:39 +0000
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8;
Initial import of news68k port.
 1.1.8.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.8.1 09-Dec-1999  bouyer file float.h was added on branch thorpej_scsipi on 2000-11-20 20:16:12 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8;
Initial import of news68k port.
 1.1.8.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.8.1 09-Dec-1999  bouyer file frame.h was added on branch thorpej_scsipi on 2000-11-20 20:16:12 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8;
Initial import of news68k port.
 1.1.8.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.8.1 09-Dec-1999  bouyer file ieee.h was added on branch thorpej_scsipi on 2000-11-20 20:16:12 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8;
Initial import of news68k port.
 1.1.8.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.8.1 09-Dec-1999  bouyer file ieeefp.h was added on branch thorpej_scsipi on 2000-11-20 20:16:12 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 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:41 +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:21 +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:15 +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:21 +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:10 +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:21 +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:59 +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:21 +0000
 1.1 26-Jun-2000  kleink branches: 1.1.2;
Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
 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-Jun-2000  bouyer file int_types.h was added on branch thorpej_scsipi on 2000-11-20 20:16:12 +0000
 1.31 19-Jan-2024  thorpej Add _KERNEL guards around most of the definitions in these files.
 1.30 15-Jan-2024  thorpej G/C __HAVE_LEGACY_INTRCNT from news68k.
 1.29 15-Jan-2024  thorpej Switch news68k over to the common interrupt dispatch code.
 1.28 11-Jul-2023  riastradh news68k/intr.h: Fix includes. Put some definitions under _KERNEL.
 1.27 19-Apr-2018  christos branches: 1.27.32;
s/static inline/static __inline/g for consistency.
 1.26 06-Mar-2011  tsutsui branches: 1.26.54;
Remove trailing spaces and TABs.
 1.25 09-Apr-2009  tsutsui branches: 1.25.4; 1.25.6;
Include <sys/evcnt.h> instead of <sys/device.h> for struct evcnt
to avoid recursive dependency (though news68k has not been switched
to using intr evcnt yet).
 1.24 21-Dec-2008  tsutsui branches: 1.24.2;
__inline -> inline
 1.23 22-Jun-2008  tsutsui branches: 1.23.4;
Make cpu_intr_p() inline.
 1.22 15-Jun-2008  tsutsui Unify splraiseipl(9) implementation among m68k ports as per
suggestion from isaki@ on port-m68k.

For news68k:
- export ipl2psl_table[] and make it uint16_t
- make makeiplcookie(9) inline
- put PSL_S bit into ipl2psl_table[] rather than adding it in makeiplcookie(9)
- define both IPL_SCHED and IPL_HIGH independently to avoid confusion
 1.21 30-Apr-2008  tsutsui branches: 1.21.2; 1.21.4;
Certainly this file is derived from src/sys/arch/x68k/include/intr.h,
so sync copyright notice with it. Approved by martin@.
 1.20 28-Jan-2008  tsutsui branches: 1.20.6; 1.20.8; 1.20.10;
- account idepth in all interrupt handlers
- use idepth for CLKF_INTR()
 1.19 03-Dec-2007  ad 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.18 11-Mar-2007  thorpej branches: 1.18.16; 1.18.18; 1.18.24;
- Shrink ipl_cookie_t from 32-bits to 16-bits (large enough to hold
an SR value or an IPL_* constant).
- Take advange of the smaller ipl_cookie_t to shrink kmutex_t from
16 bytes to 8 bytes by overlapping storage where possible.
- Implement a RAS-based _lock_cas() for mc68010 systems (Sun2). See
sun68k/sun68k/isr.c.

Tested on various m68k platforms, but NOT Sun2. In any case, at least
Sun2 compiles now.
 1.17 04-Mar-2007  tsutsui branches: 1.17.2;
Remove #ifdef _KERNEL since this file is no longer exported.
 1.16 16-Feb-2007  ad branches: 1.16.2;
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.15 10-Feb-2007  tsutsui - fix prototype for ctrl_int2 port (u_char -> uint8_t) in intr.h
- use proper macro to assert/clear ctrl_int2 port for softintr
- use KDASSERT() rather than #ifdef DEBUG + assert()
- don't count uvmexp.softs twice in softintr_dispatch()

XXX: Maybe we should have common m68k/softintr.c like mips ports.
 1.14 10-Feb-2007  tsutsui Implement generic softintr(9) support for news68k.
Mostly taken from mvme68k.
 1.13 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.12 16-Feb-2006  perry branches: 1.12.14; 1.12.16;
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.11 24-Dec-2005  perry branches: 1.11.2; 1.11.4; 1.11.6;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.10 11-Dec-2005  christos merge ktrace-lwp.
 1.9 02-Aug-2003  tsutsui branches: 1.9.16;
splx() doesn't require a return value. (from mvme68k)
 1.8 20-Dec-2002  tsutsui branches: 1.8.2;
Remove __P().
 1.7 13-Apr-2001  thorpej branches: 1.7.8;
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 14-Jan-2001  thorpej branches: 1.6.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.5 24-Nov-2000  tsutsui Use single_inst_b{set,clr}_b() macro defined in m68k/asm_single.h.
 1.4 22-Aug-2000  thorpej branches: 1.4.2;
Add spllock(). See spl(9) for details.
 1.3 16-Feb-2000  tsutsui Make sure access of ssir atomic. (from luna68k)
 1.2 29-Dec-1999  tsutsui Modify software interrupt handling a bit.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.4.2.5 21-Apr-2001  bouyer Sync with HEAD
 1.4.2.4 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 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 22-Aug-2000  bouyer file intr.h was added on branch thorpej_scsipi on 2000-11-20 20:16:12 +0000
 1.6.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.7.8.2 29-Dec-2002  thorpej Sync with HEAD.
 1.7.8.1 13-Apr-2001  thorpej file intr.h was added on branch nathanw_sa on 2002-12-29 19:33:40 +0000
 1.8.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.8.2.1 03-Aug-2004  skrll Sync with HEAD
 1.9.16.6 04-Feb-2008  yamt sync with head.
 1.9.16.5 07-Dec-2007  yamt sync with head
 1.9.16.4 03-Sep-2007  yamt sync with head.
 1.9.16.3 26-Feb-2007  yamt sync with head.
 1.9.16.2 30-Dec-2006  yamt sync with head.
 1.9.16.1 21-Jun-2006  yamt sync with head.
 1.11.6.1 22-Apr-2006  simonb Sync with head.
 1.11.4.1 09-Sep-2006  rpaulo sync with head
 1.11.2.1 18-Feb-2006  yamt sync with head.
 1.12.16.1 06-Oct-2006  tsutsui Add splraiseipl() and makeiplcookie() for news68k (taken from x68k).
 1.12.14.1 12-Jan-2007  ad Sync with head.
 1.16.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.17.2.2 03-Dec-2007  ad Sync with HEAD.
 1.17.2.1 13-Mar-2007  ad Sync with head.
 1.18.24.2 18-Feb-2008  mjf Sync with HEAD.
 1.18.24.1 08-Dec-2007  mjf Sync with HEAD.
 1.18.18.2 23-Mar-2008  matt sync with HEAD
 1.18.18.1 09-Jan-2008  matt sync with HEAD
 1.18.16.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.20.10.2 04-May-2009  yamt sync with head.
 1.20.10.1 16-May-2008  yamt sync with head.
 1.20.8.2 17-Jun-2008  yamt sync with head.
 1.20.8.1 18-May-2008  yamt sync with head.
 1.20.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.20.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.20.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.21.4.2 27-Jun-2008  simonb Sync with head.
 1.21.4.1 18-Jun-2008  simonb Sync with head.
 1.21.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.23.4.2 28-Apr-2009  skrll Sync with HEAD.
 1.23.4.1 19-Jan-2009  skrll Sync with HEAD.
 1.24.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.25.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.25.4.1 21-Apr-2011  rmind sync with head
 1.26.54.1 22-Apr-2018  pgoyette Sync with HEAD
 1.27.32.1 09-Aug-2023  martin Pull up following revision(s) (requested by maya in ticket #316):

sys/arch/m68k/include/mutex.h: revision 1.13
sys/arch/arm/include/cpu.h: revision 1.125
sys/arch/sun68k/include/intr.h: revision 1.21
sys/arch/arm/include/mutex.h: revision 1.28
sys/sys/rwlock.h: revision 1.18
sys/arch/powerpc/include/mutex.h: revision 1.7
sys/arch/arm/include/mutex.h: revision 1.29
sys/arch/powerpc/include/mutex.h: revision 1.8
sys/uvm/uvm_param.h: revision 1.42
sys/sys/ksem.h: revision 1.16
sys/arch/x86/include/mutex.h: revision 1.10
sys/sys/proc.h: revision 1.372
sys/sys/ksem.h: revision 1.17
sys/arch/ia64/include/mutex.h: revision 1.8
sys/arch/evbarm/include/intr.h: revision 1.29
sys/sys/lua.h: revision 1.9
sys/arch/next68k/include/intr.h: revision 1.23
sys/arch/ia64/include/mutex.h: revision 1.9
sys/arch/hp300/include/intr.h: revision 1.35
sys/arch/hp300/include/intr.h: revision 1.36
sys/arch/sparc/include/cpu.h: revision 1.111
sys/arch/hppa/include/mutex.h: revision 1.16
sys/arch/vax/include/intr.h: revision 1.31
sys/arch/hppa/include/mutex.h: revision 1.17
sys/arch/news68k/include/intr.h: revision 1.28
sys/arch/hppa/include/mutex.h: revision 1.18
sys/arch/hppa/include/intr.h: revision 1.3
sys/arch/hppa/include/mutex.h: revision 1.19
sys/arch/hppa/include/intr.h: revision 1.4
sys/sys/sched.h: revision 1.92
sys/opencrypto/cryptodev.h: revision 1.51
sys/arch/vax/include/mutex.h: revision 1.20
sys/arch/sparc64/include/mutex.h: revision 1.10
sys/arch/ia64/include/sapicvar.h: revision 1.2
sys/arch/riscv/include/mutex.h: revision 1.5
sys/arch/amiga/dev/grfabs_cc.c: revision 1.39
sys/external/bsd/drm2/include/linux/idr.h: revision 1.11
sys/arch/riscv/include/mutex.h: revision 1.6
sys/ddb/files.ddb: revision 1.16
sys/arch/mac68k/include/intr.h: revision 1.32
share/man/man4/ddb.4: revision 1.203
sys/ddb/db_command.c: revision 1.183
sys/arch/mips/include/mutex.h: revision 1.10
sys/ddb/db_command.c: revision 1.184
sys/arch/x68k/include/intr.h: revision 1.22
sys/arch/sparc/include/psl.h: revision 1.51
sys/arch/or1k/include/mutex.h: revision 1.4
sys/arch/mips/include/mutex.h: revision 1.11
sys/arch/arm/xscale/pxa2x0_intr.h: revision 1.16
sys/arch/sparc64/include/cpu.h: revision 1.134
sys/arch/sparc/include/psl.h: revision 1.52
sys/arch/or1k/include/mutex.h: revision 1.5
sys/arch/mvme68k/include/intr.h: revision 1.22
sys/arch/luna68k/include/intr.h: revision 1.16
external/cddl/osnet/sys/sys/kcondvar.h: revision 1.6
sys/arch/sparc/include/mutex.h: revision 1.12
sys/arch/sparc/include/mutex.h: revision 1.13
sys/arch/usermode/include/mutex.h: revision 1.5
sys/arch/usermode/include/mutex.h: revision 1.6
sys/kern/kern_core.c: revision 1.38
usr.sbin/crash/Makefile: revision 1.49
sys/arch/amiga/include/intr.h: revision 1.23
sys/arch/alpha/include/mutex.h: revision 1.12
sys/arch/alpha/include/mutex.h: revision 1.13
sys/arch/evbarm/lubbock/sacc_obio.c: revision 1.16
sys/ddb/ddb.h: revision 1.6
sys/arch/sparc64/include/mutex.h: revision 1.8
sys/arch/sh3/include/mutex.h: revision 1.12
sys/arch/evbarm/lubbock/sacc_obio.c: revision 1.17
sys/ddb/db_syncobj.c: revision 1.1
sys/arch/vax/include/mutex.h: revision 1.18
sys/arch/sparc64/include/psl.h: revision 1.63
sys/arch/sparc64/include/mutex.h: revision 1.9
sys/arch/sh3/include/mutex.h: revision 1.13
sys/arch/evbarm/lubbock/obio.c: revision 1.13
sys/arch/atari/include/intr.h: revision 1.23
sys/ddb/db_syncobj.c: revision 1.2
sys/arch/vax/include/mutex.h: revision 1.19
sys/arch/evbarm/g42xxeb/obio.c: revision 1.14
sys/arch/evbarm/g42xxeb/obio.c: revision 1.15
sys/arch/cesfic/include/intr.h: revision 1.14
sys/ddb/db_syncobj.h: revision 1.1
sys/arch/x86/include/cpu.h: revision 1.134
sys/arch/evbarm/g42xxeb/obio.c: revision 1.16
sys/arch/cesfic/include/intr.h: revision 1.15
sys/arch/arm/xscale/pxa2x0_intr.c: revision 1.26
sys/sys/cpu_data.h: revision 1.54
sys/arch/m68k/include/mutex.h: revision 1.12
sys/arch/ia64/acpi/madt.c: revision 1.6

sys/rwlock.h: Make this more self-contained for bool.

machine/mutex.h: Sprinkle includes so this can be used by crash(8).

ddb: New `show all tstiles' command.
Shows who's waiting for which locks and what the owner is up to.

Include psl.h for ipl_cookie_t if __MUTEX_PRIVATE

sys: Rip <sys/resourcevar.h> out of <uvm/uvm_param.h>.

And thus out of <sys/param.h>, which is exceedingly overused and
fragile and delenda est.

Should fix (some) issues with the recent inclusion of machine/lock.h
in various machine/mutex.h files.

arm/mutex.h: Need machine/intr.h, machine/lock.h.

For ipl_cookie_t and __cpu_simple_lock_t.
evbarm/intr.h: Define ipl_cookie_t before including ARM_INTR_IMPL.

Otherwise arm/mutex.h doesn't work, due to a cyclic dependency which
should really be fixed.
opencrypto/cryptodev.h: Fix includes.
- Move sys/condvar.h under #ifdef _KERNEL.
- Add some other necessary includes and forward declarations.
- Sort.

hp300/intr.h: Fix missing includes.
linux/idr.h: Need <sys/mutex.h> for kmutex_t.
amiga/intr.h: Don't define spl*() functions if !_KERNEL.

This is used by crash(8) now, and what's important is ipl_cookie_t.
cesfic/intr.h: Expose ipl_cookie_t to userland for crash(8).
cesfic/intr.h: Expose ipl_cookie_t to userland only with _KMEMUSER.

Probably not necessary but let's be a little more cautious about
this.

atari/intr.h: Expose ipl_cookie_t with _KMEMUSER for crash(8).

arm/cpu.h: Need sys/param.h for COHERENCY_UNIT.

Nix machine/param.h -- not meant to be used directly, pulled in by
sys/param.h.

Move the definition of ipl_cookie_t out of the kernel-only sections,
some _KMEMUSER applications need it.

ddb: Cast pointer to uintptr_t first before db_expr_t.

hppa/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).

luna68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).

mvme68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).

news68k/intr.h: Fix includes. Put some definitions under _KERNEL.

next68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).

sys/ksem.h: Hack around fstat(8) abuse of _KERNEL.

sun68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).

vax/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).

x68k/intr.h: Put functions under _KERNEL so crash(8) can use this.

Make ipl_cookie_t visible for _KMEMUSER userland applications.

fix editor mishap in previous

Explicitly include <sys/mutex.h> for kmutex_t.

Replace kmutex_t * (which may be undefined here) with struct kmutex *,
suggested by Taylor.

hp300/intr.h: Put most of this under #ifdef _KERNEL.
Only ipl_cookie_t really needs to be exposed now, for crash(8).

mac68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).
Make inclusion of sys/intr.h explicit for spl*.

fix hppa and vax builds.

machine/lock.h isn't necessary for __cpu_simple_lock_t, it's in
sys/types.h. avoids cpu_data.h vs sched.h include order issues.

move the hppa ipl_t typedef with the moved usage of it.
machine/mutex.h: Sprinkle sys/types.h, omit machine/lock.h.

Turns out machine/lock.h is not needed for __cpu_simple_lock_t, which
always comes from sys/types.h. And, really, sys/types.h (or at least
sys/stdint.h) is needed for uintN_t and uintptr_t.

ddb: Cast pointer to uintptr_t, then to db_expr_t.
Avoids warnings about conversion between pointer and integer of
different size on some architectures.

re-fix hppa builds.

this file uses __cpu_simple_lock(), not just the underlying type,
so it does need machine/lock.h.

Break cycle by using `struct kmutex *' instead of `kmutex_t *'.
sys/sched.h included sys/mutex.h
which includes sys/intr.h
which includes machine/intr.h
which on cats includes arm/footbridge/footbridge_intr.h
which includes arm/cpu.h
which includes sys/cpu_data.h
which includes sys/sched.h

But there was never any real need for sys/mutex.h in sys/sched.h,
because it only uses pointers to the opaque struct kmutex. Cycle
broken by using `struct kmutex *' instead of pulling in sys/mutex.h
for the definition of kmutex_t.

Side effect: This revealed that sys/cpu_data.h needed sys/intr.h
(which was pulled in accidentally by sys/mutex.h via sys/sched.h) for
SOFTINT_COUNT. Also revealed some other machine/cpu.h header files
were missing includes of sys/mutex.h for kmutex_t.

ia64: Need sys/types.h for u_int, vaddr_t; sys/mutex.h for kmutex_t.

explicitly include no longer implicitly included sys/mutex.h.

arm/xscale: Use sys/bitops.h fls32 - 1 instead of 31 - __builtin_clz.
Sidesteps namespace collision with `#define bits ...' in net/zlib.c.

complete the previous - there were two calls to find_first_bit() to fix.

arm/xscale: Missed a spot with previous find_first_bit commit.

evbarm/g42xxeb: Fix off-by-one in previous.

The original find_first_bit(x) was 31 - __builtin_clz((uint32_t)x),
which is equivalent to fls32(x) - 1, not to fls32(x).

Note that fls32 is 1-based and returns 0 for x=0.
 1.2 06-Dec-2005  tsutsui Remove multiple inclusion protection from files which just include
MI m68k headers and don't have any own declarations.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8; 1.1.32; 1.1.48;
Initial import of news68k port.
 1.1.48.1 21-Jun-2006  yamt sync with head.
 1.1.32.1 11-Dec-2005  christos Sync with head.
 1.1.8.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.8.1 09-Dec-1999  bouyer file kcore.h was added on branch thorpej_scsipi on 2000-11-20 20:16:12 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3 28-Mar-2012  christos - Normalize inclusion protection (remove)
- Move CHAR_{MIN,MAX} to a common file.
- Fix broken comments
 1.2 06-Dec-2005  tsutsui branches: 1.2.112; 1.2.116;
Remove multiple inclusion protection from files which just include
MI m68k headers and don't have any own declarations.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8; 1.1.32; 1.1.48;
Initial import of news68k port.
 1.1.48.1 21-Jun-2006  yamt sync with head.
 1.1.32.1 11-Dec-2005  christos Sync with head.
 1.1.8.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.8.1 09-Dec-1999  bouyer file limits.h was added on branch thorpej_scsipi on 2000-11-20 20:16:12 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.116.1 05-Apr-2012  mrg sync to latest -current.
 1.2.112.1 17-Apr-2012  yamt sync with head
 1.8 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.7 28-Apr-2008  martin branches: 1.7.44; 1.7.60;
Remove clause 3 and 4 from TNF licenses
 1.6 25-Jan-2006  christos branches: 1.6.72; 1.6.74; 1.6.76;
free -> dealloc
unsigned -> size_t for alloc/dealloc
 1.5 06-Dec-2005  tsutsui branches: 1.5.2;
Protect against multiple inclusion.
 1.4 31-Oct-2001  thorpej branches: 1.4.2; 1.4.18; 1.4.34;
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.3 23-Jan-2001  tsutsui branches: 1.3.4; 1.3.6;
Use MI loadfile() in loadprotoblocks().
 1.2 03-Dec-2000  tsutsui Enable LOAD_HDR and COUNT_HDR. (would be required on ELF)
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8;
Initial import of news68k port.
 1.1.8.4 11-Feb-2001  bouyer Sync with HEAD.
 1.1.8.3 08-Dec-2000  bouyer Sync with HEAD.
 1.1.8.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.8.1 09-Dec-1999  bouyer file loadfile_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:16:12 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.6.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.3.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.34.1 21-Jun-2006  yamt sync with head.
 1.4.18.1 11-Dec-2005  christos Sync with head.
 1.4.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.4.2.1 31-Oct-2001  thorpej file loadfile_machdep.h was added on branch nathanw_sa on 2001-10-31 17:20:48 +0000
 1.5.2.1 01-Feb-2006  yamt sync with head.
 1.6.76.1 16-May-2008  yamt sync with head.
 1.6.74.1 18-May-2008  yamt sync with head.
 1.6.72.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.60.1 10-Aug-2014  tls Rebase.
 1.7.44.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1 29-Apr-2000  thorpej branches: 1.1.6;
Require that each each MACHINE/MACHINE_ARCH supply a lock.h. This file
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED. These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case). Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.

These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
 1.1.6.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.6.1 29-Apr-2000  bouyer file lock.h was added on branch thorpej_scsipi on 2000-11-20 20:16:12 +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:57 +0000
 1.1 23-Dec-1999  kleink branches: 1.1.6;
C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
 1.1.6.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.6.1 23-Dec-1999  bouyer file math.h was added on branch thorpej_scsipi on 2000-11-20 20:16:12 +0000
 1.2 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.1 10-Nov-2001  scw branches: 1.1.2;
file mcontext.h was initially added on branch nathanw_sa.
 1.1.2.1 10-Nov-2001  scw Kernel mcontext glue for Scheduler Activations on m68k from
Klaus Klein <kleink@netbsd.org>.
 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:37 +0000
 1.17 10-Feb-2012  para proper sizing of kmem_arena on different ports

PR port-i386/45946: Kernel locks up in VMEM system
 1.16 08-Feb-2011  rmind branches: 1.16.4; 1.16.8;
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.15 04-May-2010  tsutsui branches: 1.15.2; 1.15.4;
Switch NetBSD/news68k to using 8KB/page in kernel.
It slightly improves performance on NWS-1750D (MC68030 25MHz):
http://mail-index.NetBSD.org/port-m68k/2009/12/08/msg000204.html

MI m68k/pmap_motorola.c and other sources can handle both 4KB/8KB pages
(amiga and atari have used 8KB pages for many years) and there is
no binary compatibility issue on it.
(kernel modules might be affected but 5.99.29 was just two days ago)
 1.14 11-Dec-2009  tsutsui branches: 1.14.2; 1.14.4;
Refactoring MD segment related definitions on m68k ports:
- move macro SEGSHIFT, NBSEG, and SEGOFSET from <machine/param.h>
to <m68k/pmap_motorola.h> where they should belong
- also simplify NBSEG macro for both 020/030 and 040/060 cases
- also move m68k_trunc_seg(), m68k_round_seg(), and m68k_seg_offset()
(that use SEGOFSET) from <m68k/param.h> to <m68k/pmap_motorola.h>
- add comments about each segment size value used on pmap_motorola
implementation
- add TIA_SIZE, TIA_SHIFT, TIB_SIZE, and TIB_SHIFT macro which can be
used for ste/pte index sizes
- use proper vaddr_t cast instead of unsigned for SEGOFSET/PGOFSET macro

Tested on atari, hp300, and news68k.
 1.13 09-Dec-2009  tsutsui Fix wrong NBSEG values for all hp300 pmap derived m68k ports.
They were incorrect since 1997 on amiga and atari, and since 2002
on other ports, but fortunately they don't look so fatal.

Anyway, these values will be moved into <m68k/pmap_motorola.h> soon
since they are quite pmap implementation dependent.
 1.12 31-Dec-2007  ad branches: 1.12.10;
Remove COMPAT_HPUX.
 1.11 04-Mar-2007  tsutsui branches: 1.11.20; 1.11.26; 1.11.32;
Merge #ifdef _KERNEL stuff into one place.
 1.10 10-Feb-2007  tsutsui branches: 1.10.2;
Implement generic softintr(9) support for news68k.
Mostly taken from mvme68k.
 1.9 06-Dec-2005  tsutsui Use _NEWS68K_FOO_H_ rather than _MACHNE_FOO_H_.
 1.8 07-Aug-2003  agc branches: 1.8.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.7 20-Dec-2002  tsutsui branches: 1.7.2;
Remove __P().
 1.6 03-Nov-2002  chs merge pmap.h for all 4k-page motorola-MMU (or compatible) m68k platforms.
 1.5 30-May-2001  mrg branches: 1.5.8;
use _KERNEL_OPT
 1.4 29-Nov-2000  tsutsui branches: 1.4.2;
Change UPAGES from 3 to 2. (sync with hp300)
 1.3 11-Nov-2000  tsutsui branches: 1.3.2;
Reduce NKMEMPAGES_MIN_DEFAULT.
 1.2 11-Feb-2000  thorpej Update for the NKMEMPAGES changes.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.2.4 08-Dec-2000  bouyer Sync with HEAD.
 1.3.2.3 22-Nov-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 11-Nov-2000  bouyer file param.h was added on branch thorpej_scsipi on 2000-11-20 20:16:12 +0000
 1.4.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.5.8.5 29-Dec-2002  thorpej Sync with HEAD.
 1.5.8.4 11-Nov-2002  nathanw Catch up to -current
 1.5.8.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.5.8.2 18-Nov-2001  scw MD Scheduler Activation bits for News68k.
Compile-tested only.
 1.5.8.1 30-May-2001  scw file param.h was added on branch nathanw_sa on 2001-11-18 18:42:19 +0000
 1.7.2.4 11-Dec-2005  christos 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.8.16.4 21-Jan-2008  yamt sync with head
 1.8.16.3 03-Sep-2007  yamt sync with head.
 1.8.16.2 26-Feb-2007  yamt sync with head.
 1.8.16.1 21-Jun-2006  yamt sync with head.
 1.10.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.11.32.1 02-Jan-2008  bouyer Sync with HEAD
 1.11.26.1 18-Feb-2008  mjf Sync with HEAD.
 1.11.20.1 09-Jan-2008  matt sync with HEAD
 1.12.10.2 11-Aug-2010  yamt sync with head.
 1.12.10.1 11-Mar-2010  yamt sync with head
 1.14.4.2 05-Mar-2011  rmind sync with head
 1.14.4.1 30-May-2010  rmind sync with head
 1.14.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.15.4.1 17-Feb-2011  bouyer Sync with HEAD
 1.15.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.16.8.1 18-Feb-2012  mrg merge to -current.
 1.16.4.1 17-Apr-2012  yamt sync with head
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8;
Initial import of news68k port.
 1.1.8.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.8.1 09-Dec-1999  bouyer file pcb.h was added on branch thorpej_scsipi on 2000-11-20 20:16:13 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.15 27-Dec-2023  thorpej Define values for the 68030 TT registers in terms of the definitions
in <m68k/mmu_30.h> rather than using magic numbers.
 1.14 03-Nov-2002  chs merge pmap.h for all 4k-page motorola-MMU (or compatible) m68k platforms.
 1.13 28-Oct-2002  chs untangle includes a bit:
don't include cpu.h in pmap.h, nor cacheops.h in cpu.h. instead,
include cpu.h and cacheops.h in just those .c files that need them.
 1.12 22-Sep-2002  chs it really helps to get the stub right before cutting + pasting it 27 times.
alas, I did not. doh.
 1.11 22-Sep-2002  chs add pmap_remove_all() hook (empty on most platforms so far).
 1.10 10-Sep-2001  chris branches: 1.10.4;
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.9 26-May-2001  chs branches: 1.9.2; 1.9.4;
replace vm_page_t with struct vm_page *.
 1.8 26-May-2001  chs replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}.
 1.7 25-Apr-2001  thorpej Garbage-collect pmap_page_index().
 1.6 22-Apr-2001  thorpej Undo a misguided previous change to the pmap_update() API.
 1.5 22-Apr-2001  thorpej Give pmap_update() an argument (a pmap_t) so that it knows which
pmap it should be updating.
 1.4 21-Apr-2001  thorpej #define away pmap_update() in <machine/pmap.h> so that no function
call overhead is incurred as we start sprinkling pmap_update() calls
throughout the source tree (no pmaps currently defer operations, but
we are adding the infrastructure to allow them to do so).
 1.3 21-Sep-2000  thorpej branches: 1.3.2; 1.3.4;
Make PMAP_PAGEIDLEZERO() return a boolean value. FALSE indidcates
that the page being zero'd was not completed and that page zeroing
should be aborted. This may be used by machine-dependent code doing
slow page access to reduce the latency of running a process that has
become runnable while in the middle of doing a slow page zero.
 1.2 15-Sep-2000  tsutsui Add uvm_pageidlezero support. From x68k.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.4.1 21-Jun-2001  nathanw Catch up to -current.
 1.3.2.3 23-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 21-Sep-2000  bouyer file pmap.h was added on branch thorpej_scsipi on 2000-11-20 20:16:13 +0000
 1.9.4.1 01-Oct-2001  fvdl Catch up with -current.
 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 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.10.4.6 11-Nov-2002  nathanw Catch up to -current
 1.10.4.5 18-Oct-2002  nathanw Catch up to -current.
 1.10.4.4 02-Jul-2002  nathanw Adjust whitespace so that this matches the trunk.
 1.10.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.10.4.2 18-Nov-2001  scw MD Scheduler Activation bits for News68k.
Compile-tested only.
 1.10.4.1 10-Sep-2001  scw file pmap.h was added on branch nathanw_sa on 2001-11-18 18:42:19 +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:38:12 +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:31 +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:35 +0000
 1.2 13-Jul-2002  scw m68k syscall rototill:

- Switch all m68k-based ports over to __HAVE_SYSCALL_INTERN.
- Add systrace glue.
- Define struct mdproc in <m68k/proc.h> instead of <machine/proc.h>.
(They were all defined exactly the same anyway, other than a couple
of the MDP_* flags.)
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8; 1.1.12; 1.1.16; 1.1.24;
Initial import of news68k port.
 1.1.24.1 16-Jul-2002  gehenna catch up with -current.
 1.1.16.2 01-Aug-2002  nathanw Catch up to -current.
 1.1.16.1 18-Nov-2001  scw MD Scheduler Activation bits for News68k.
Compile-tested only.
 1.1.12.1 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.8.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.8.1 09-Dec-1999  bouyer file proc.h was added on branch thorpej_scsipi on 2000-11-20 20:16:13 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8;
Initial import of news68k port.
 1.1.8.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.8.1 09-Dec-1999  bouyer file profile.h was added on branch thorpej_scsipi on 2000-11-20 20:16:13 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8;
Initial import of news68k port.
 1.1.8.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.8.1 09-Dec-1999  bouyer file psl.h was added on branch thorpej_scsipi on 2000-11-20 20:16:13 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2 14-Oct-2002  chs merge pte.h for m68k w/ motorola or compatible MMU
(only 4k-page platforms so far).
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8; 1.1.16;
Initial import of news68k port.
 1.1.16.1 18-Oct-2002  nathanw Catch up to -current.
 1.1.8.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.8.1 09-Dec-1999  bouyer file pte.h was added on branch thorpej_scsipi on 2000-11-20 20:16:13 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8;
Initial import of news68k port.
 1.1.8.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.8.1 09-Dec-1999  bouyer file ptrace.h was added on branch thorpej_scsipi on 2000-11-20 20:16:13 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2 06-Dec-2005  tsutsui Remove multiple inclusion protection from files which just include
MI m68k headers and don't have any own declarations.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8; 1.1.32; 1.1.48;
Initial import of news68k port.
 1.1.48.1 21-Jun-2006  yamt sync with head.
 1.1.32.1 11-Dec-2005  christos Sync with head.
 1.1.8.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.8.1 09-Dec-1999  bouyer file reg.h was added on branch thorpej_scsipi on 2000-11-20 20:16:13 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2 25-Nov-2000  tsutsui Make sure to return PROM prompt even if loading kernel fails halfway.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.6; 1.1.8;
Initial import of news68k port.
 1.1.8.3 08-Dec-2000  bouyer Sync with HEAD.
 1.1.8.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.8.1 09-Dec-1999  bouyer file romcall.h was added on branch thorpej_scsipi on 2000-11-20 20:16:13 +0000
 1.1.6.1 24-Dec-2000  jhawk Pull up revision 1.2 (requested by tsutsui):
Make sure to return PROM prompt even if loading kernel fails halfway,
by calling the PROM halt routine upon failure of loadfile().
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 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:38 +0000
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8;
Initial import of news68k port.
 1.1.8.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.8.1 09-Dec-1999  bouyer file setjmp.h was added on branch thorpej_scsipi on 2000-11-20 20:16:13 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8;
Initial import of news68k port.
 1.1.8.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.8.1 09-Dec-1999  bouyer file signal.h was added on branch thorpej_scsipi on 2000-11-20 20:16:13 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 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 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8;
Initial import of news68k port.
 1.1.8.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.8.1 09-Dec-1999  bouyer file stdarg.h was added on branch thorpej_scsipi on 2000-11-20 20:16:13 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2 11-Dec-2005  christos branches: 1.2.18;
merge ktrace-lwp.
 1.1 11-Jul-2005  christos branches: 1.1.6;
Add m68k sunos_machdep.h
 1.1.6.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.6.1 11-Jul-2005  skrll file sunos_machdep.h was added on branch ktrace-lwp on 2005-11-10 13:57:54 +0000
 1.2.18.2 21-Jun-2006  yamt sync with head.
 1.2.18.1 11-Dec-2005  yamt file sunos_machdep.h was added on branch yamt-lazymbuf on 2006-06-21 14:54:10 +0000
 1.2 19-Dec-2018  maxv Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8; 1.1.44; 1.1.222;
Initial import of news68k port.
 1.1.222.1 10-Jun-2019  christos Sync with HEAD
 1.1.44.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.1.8.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.8.1 09-Dec-1999  bouyer file svr4_machdep.h was added on branch thorpej_scsipi on 2000-11-20 20:16:14 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8;
Initial import of news68k port.
 1.1.8.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.8.1 09-Dec-1999  bouyer file trap.h was added on branch thorpej_scsipi on 2000-11-20 20:16:14 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.16 20-Jan-2024  thorpej Largely unify the <machine/cpu.h> headers on the m68k platforms.
 1.15 15-Jan-2024  thorpej G/C __HAVE_LEGACY_INTRCNT from news68k.
 1.14 15-Jan-2024  thorpej Switch news68k over to the common interrupt dispatch code.
 1.13 01-Apr-2021  simonb Define __HAVE_LEGACY_INTRCNT to indicate this port uses legacy intrcnt
interrupt accounting.
 1.12 12-Jun-2011  rmind branches: 1.12.66; 1.12.68;
Welcome to 5.99.53! Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
kernel-lock on some ports). Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.
 1.11 20-Jan-2008  joerg branches: 1.11.32; 1.11.42;
Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants,
remove the conditionals and the code associated with the undef case.
 1.10 17-Oct-2007  garbled branches: 1.10.2; 1.10.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.9 14-Jul-2007  ad branches: 1.9.10;
Generic soft interrupts are mandatory.
 1.8 10-Feb-2007  tsutsui branches: 1.8.6; 1.8.14;
Implement generic softintr(9) support for news68k.
Mostly taken from mvme68k.
 1.7 09-Sep-2006  tsutsui Switch news68k to timecounters. From gdamore on port-news68k.
 1.6 04-Sep-2006  tsutsui branches: 1.6.2;
Switch news68k to MI todr.
 1.5 06-Dec-2005  tsutsui branches: 1.5.4; 1.5.8;
Remove multiple inclusion protection from files which just include
MI m68k headers and don't have any own declarations.
 1.4 28-Feb-2002  simonb branches: 1.4.16; 1.4.32;
Use "#define<tab>".
 1.3 13-Feb-2000  tsutsui branches: 1.3.6; 1.3.10; 1.3.14;
Remove __BROKEN_CONFIG_UNIT_USAGE.
This has been fixed on news1200 merge.
 1.2 05-Feb-2000  cgd add __BROKEN_CONFIG_UNIT_USAGE #define, becuase these ports do very
wrong things with device configuration data "cf_unit" information.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.14.1 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.3.10.1 16-Mar-2002  jdolecek Catch up with -current.
 1.3.6.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.6.1 13-Feb-2000  bouyer file types.h was added on branch thorpej_scsipi on 2000-11-20 20:16:14 +0000
 1.4.32.5 21-Jan-2008  yamt sync with head
 1.4.32.4 03-Sep-2007  yamt sync with head.
 1.4.32.3 26-Feb-2007  yamt sync with head.
 1.4.32.2 30-Dec-2006  yamt sync with head.
 1.4.32.1 21-Jun-2006  yamt sync with head.
 1.4.16.1 11-Dec-2005  christos Sync with head.
 1.5.8.1 14-Sep-2006  yamt sync with head.
 1.5.4.1 09-Sep-2006  rpaulo sync with head
 1.6.2.1 18-Nov-2006  ad Sync with head.
 1.8.14.1 03-Oct-2007  garbled Sync with HEAD
 1.8.6.1 15-Jul-2007  ad Sync with head.
 1.9.10.2 23-Mar-2008  matt sync with HEAD
 1.9.10.1 06-Nov-2007  matt sync with HEAD
 1.10.8.1 23-Jan-2008  bouyer Sync with HEAD.
 1.10.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.11.42.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.11.32.1 18-Mar-2010  rmind Unify /dev/{mem,kmem,zero,null} implementations in MI code. Based on patch
from Joerg Sonnenberger, proposed on tech-kern@, in February 2008.

Work and depression still in progress.
 1.12.68.1 03-Apr-2021  thorpej Sync with HEAD.
 1.12.66.1 03-Apr-2021  thorpej 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 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8;
Initial import of news68k port.
 1.1.8.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.8.1 09-Dec-1999  bouyer file varargs.h was added on branch thorpej_scsipi on 2000-11-20 20:16:14 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3 15-Jan-2024  thorpej No need for our own spurious interrupt handler now that m68k_intr.c
handles them for us.
 1.2 15-Jan-2024  thorpej Switch news68k over to the common interrupt dispatch code.
 1.1 13-Jan-2024  thorpej Switch news68k over to the common m68k vector table.
 1.24 08-Feb-2025  tsutsui Bump DFLSSIZ from 512KB to 2MB on all hp300 pmap m68k ports.

Some modern applications could require 512KB buffer on stack and
no particular comment on port-m68k@:
https://mail-index.netbsd.org/port-m68k/2025/02/02/msg000893.html
 1.23 01-Feb-2020  tsutsui branches: 1.23.30;
Add MAX/MIN PAGE_SIZE and PAGE_SHIFT definitions of m68k for jemalloc(3).

Background:
- All m68k ports have fixed PAGE_SIZE value in their kernels,
but each port uses different PAGE_SIZE value (4096 or 8192)
due to historical reasons.
- Currently module(7) binaries are built per each port so
all m68k kernel sources don't support run-time variable PAGE_SIZE.
- MI <uvm/uvm_param.h> assumes that the port supports a variable
PAGE_SIZE on module(7) builds if both MAX_PAGE_SIZE and MIN_PAGE_SIZE
are defined and they have different values.
- On the other hand, jemalloc(3) checks MAX_PAGE_SHIFT in
src/external/bsd/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h
for internal optimization.
- m68k ports share userland binaries (especially pkgsrc binaries)
among all ports, so we need to define MAX_PAGE_SHIFT as 13 to
support m68k ports where PAGE_SIZE==8192.
(though this would affect only if static binaries built on
4k page hosts are executed on 8k page hosts)

To solve these inconsistency on PAGE_SIZE definitions,
we should have an independent PAGE_SIZE related definitions
for userland, but it requires major reorganization.
For now (especially for netbsd-9) we define MAX/MIN PAGE_SIZE and
PAGE_SHIFT values in <m68k/vmparam.h> only in !defined(_KERNEL) case.

Discussed on source-changes-d@ and tech-kern@ with christos@ and thorpej@:
https://mail-index.netbsd.org/source-changes-d/2020/01/thread1.html#012035
https://mail-index.netbsd.org/tech-kern/2020/01/thread1.html#025954

Should be pulled up to netbsd-9.
 1.22 28-Jun-2019  tsutsui branches: 1.22.2; 1.22.4;
Fix lingering page size comments.

Pointed out by christos@ on port-m68k@:
http://mail-index.netbsd.org/port-m68k/2019/06/06/msg000726.html

XXX: we also need MAX_PAGE_SIZE in somewhere for newer jemalloc?
 1.21 02-Feb-2017  rin branches: 1.21.14;
PR port-mac68k/51923
Bump default MAXTSIZ to 32MB for m68k ports, which allos us to use GCC 5.4 on
GENERIC kernels.
Ok jklos
 1.20 02-Feb-2017  rin PR port-mac68k/51923
Remove unused SYSPTSIZE and USRPTSIZE from m68k ports.
Ok jklos
 1.19 20-Nov-2011  tsutsui branches: 1.19.8; 1.19.26; 1.19.30; 1.19.34;
Add preliminary PROM internal function based framebuffer console support,
which was demonstrated at Open Source Conference 2011 Kansai @ Kyoto
back in July:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-Kansai

- map 0xc0000000-0xffffffff PA region (which is mirror of PA 0x0-0x3fffffff)
to the same VA via %tt0 and %tt1 registers and move KVA space accordingly
(like luna68k does for its devices)
- save trap #0 vector for PROM function calls in early bootstrap
and register it to trap #14 to call it from kernel for console output
- add dumb romcall based tty attachment taken from src/sys/dev/ofw/ofcons.c
- add rom function call stubs from news68k/stand/common/romcalls.S
- remove IIOV() macro for device registers where now mapped PA==VA via %tt1

XXX: romcons is not enabled yet because there is no generic interface
XXX: to attach wskbd(4) to non wsdisplay(4) devices like this romcons.
 1.18 08-Feb-2011  rmind branches: 1.18.4;
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.17 06-Nov-2010  uebayasi branches: 1.17.2; 1.17.4;
Remove incomplete, never worked dynamic run-time memory registration
(uvm_page_physload(9)). This functionality will be re-added later.
 1.16 08-Dec-2009  tsutsui branches: 1.16.2; 1.16.4;
Use PGSHIFT from <machine/param.h> for PAGE_SHIFT.
We can assume PGSHIFT is always constant on current
m68k pmap_motorola implementation.
Also fix some leftover HP300 comments on some ports.
 1.15 26-Aug-2009  thorpej Minor tweak to the pv_table management in the Hibler-derived m68k pmaps:
The head of the list is now a pv_header, which contains the first pv_entry
as well as a 16-bit attributes field (replaces the pmap_attributes array
plus the pv_entry::pv_flags field) as a 16-bit count of caller-specified
cache-inhibited mappings.

Tested on hp300 (shared pmap_motorola.c), changes to atari and amiga copies
are purely mechanical.
 1.14 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.13 11-Dec-2005  christos branches: 1.13.78; 1.13.86; 1.13.92;
merge ktrace-lwp.
 1.12 01-Apr-2005  yamt 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.11 07-Aug-2003  agc branches: 1.11.8; 1.11.10;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.10 02-Apr-2003  thorpej branches: 1.10.2;
Use PAGE_SIZE rather than NBPG.
 1.9 10-Dec-2002  thorpej Use __LDPGSZ (which must be == USRTEXT) as the text address for a.out
executables, and eliminate the USRTEXT constant, which was only used
by the a.out exec code.
 1.8 15-Nov-2001  soren MAXSLP is defined to be a machine-independent scheduling parameter,
so move it into sys/param.h.
 1.7 01-May-2001  thorpej branches: 1.7.2; 1.7.8;
Per discussion w/ chuck and chuck, restructure the md page stuff
to use a structure called "vm_page_md", and use __HAVE_VM_PAGE_MD
and __HAVE_PMAP_PHYSSEG.
 1.6 29-Apr-2001  thorpej Add a VM_MDPAGE_MEMBERS macro that defines pmap-specific data for
each vm_page structure. Add a VM_MDPAGE_INIT() macro to init this
data when pages are initialized by UVM. These macros are mandatory,
but ports may #define them to nothing if they are not needed/used.

This deprecates struct pmap_physseg. As a transitional measure,
allow a port to #define PMAP_PHYSSEG so that it can continue to
use it until its pmap is converted to use VM_MDPAGE_MEMBERS.

Use all this stuff to eliminate a lot of extra work in the Alpha
pmap module (it's smaller and faster now). Changes to other pmap
modules will follow.
 1.5 01-Dec-2000  tsutsui branches: 1.5.2;
Remove unused pcbb() macro.
 1.4 14-Nov-2000  thorpej branches: 1.4.2;
We use 4K pages on the news68k. Make PAGE_SIZE and friends into
compile-time constants.
 1.3 11-Feb-2000  thorpej Update for the NKMEMPAGES changes.
 1.2 26-Jan-2000  tsutsui Remove obsoleted macros.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.4.2.4 08-Dec-2000  bouyer Sync with HEAD.
 1.4.2.3 22-Nov-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 14-Nov-2000  bouyer file vmparam.h was added on branch thorpej_scsipi on 2000-11-20 20:16:14 +0000
 1.5.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.7.8.3 11-Dec-2002  thorpej Sync with HEAD.
 1.7.8.2 08-Jan-2002  nathanw Catch up to -current.
 1.7.8.1 01-May-2001  nathanw file vmparam.h was added on branch nathanw_sa on 2002-01-08 00:26:52 +0000
 1.7.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.10.2.4 01-Apr-2005  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.11.10.1 23-Feb-2005  yamt change kernel va layout, following mac68k.
 1.11.8.1 29-Apr-2005  kent sync with -current
 1.13.92.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.13.86.1 28-Apr-2009  skrll Sync with HEAD.
 1.13.78.3 11-Mar-2010  yamt sync with head
 1.13.78.2 16-Sep-2009  yamt sync with head
 1.13.78.1 04-May-2009  yamt sync with head.
 1.16.4.1 05-Mar-2011  rmind sync with head
 1.16.2.1 26-Apr-2010  uebayasi Remove the unfinished code to add a memory segment after uvm_page_init().
It doesn't even compile.

(In the future, we should allocate struct vm_page [] on the added memory
segment for NUMA's sake.)
 1.17.4.1 17-Feb-2011  bouyer Sync with HEAD
 1.17.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.18.4.1 17-Apr-2012  yamt sync with head
 1.19.34.1 21-Apr-2017  bouyer Sync with HEAD
 1.19.30.1 20-Mar-2017  pgoyette Sync with HEAD
 1.19.26.1 05-Feb-2017  skrll Sync with HEAD
 1.19.8.1 03-Dec-2017  jdolecek update from HEAD
 1.21.14.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.22.4.1 29-Feb-2020  ad Sync with head.
 1.22.2.1 10-Feb-2020  martin Pull up following revision(s) (requested by tsutsui in ticket #682):

sys/arch/next68k/include/vmparam.h: revision 1.27
sys/arch/mac68k/include/vmparam.h: revision 1.46
sys/arch/sun3/include/vmparam.h: revision 1.38
sys/arch/m68k/include/vmparam.h: revision 1.1
sys/arch/hp300/include/vmparam.h: revision 1.41
sys/arch/m68k/include/Makefile: revision 1.32
sys/arch/amiga/include/vmparam.h: revision 1.48
distrib/sets/lists/comp/ad.m68k: revision 1.63
sys/arch/x68k/include/vmparam.h: revision 1.40
sys/arch/mvme68k/include/vmparam.h: revision 1.38
sys/arch/luna68k/include/vmparam.h: revision 1.23
sys/arch/news68k/include/vmparam.h: revision 1.23
sys/arch/atari/include/vmparam.h: revision 1.34
sys/arch/cesfic/include/vmparam.h: revision 1.19

Add MAX/MIN PAGE_SIZE and PAGE_SHIFT definitions of m68k for jemalloc(3).

Background:
- All m68k ports have fixed PAGE_SIZE value in their kernels,
but each port uses different PAGE_SIZE value (4096 or 8192)
due to historical reasons.
- Currently module(7) binaries are built per each port so
all m68k kernel sources don't support run-time variable PAGE_SIZE.
- MI <uvm/uvm_param.h> assumes that the port supports a variable
PAGE_SIZE on module(7) builds if both MAX_PAGE_SIZE and MIN_PAGE_SIZE
are defined and they have different values.
- On the other hand, jemalloc(3) checks MAX_PAGE_SHIFT in
src/external/bsd/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h
for internal optimization.
- m68k ports share userland binaries (especially pkgsrc binaries)
among all ports, so we need to define MAX_PAGE_SHIFT as 13 to
support m68k ports where PAGE_SIZE==8192.
(though this would affect only if static binaries built on
4k page hosts are executed on 8k page hosts)

To solve these inconsistency on PAGE_SIZE definitions,
we should have an independent PAGE_SIZE related definitions
for userland, but it requires major reorganization.

For now (especially for netbsd-9) we define MAX/MIN PAGE_SIZE and
PAGE_SHIFT values in <m68k/vmparam.h> only in !defined(_KERNEL) case.

Discussed on source-changes-d@ and tech-kern@ with christos@ and thorpej@:
https://mail-index.netbsd.org/source-changes-d/2020/01/thread1.html#012035
https://mail-index.netbsd.org/tech-kern/2020/01/thread1.html#025954

Should be pulled up to netbsd-9.
 1.23.30.1 02-Aug-2025  perseant Sync with HEAD
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 08-May-2004  kleink branches: 1.1.2;
Factor out W{CHAR,INT}_{MAX,MIN} into their own header file.
 1.1.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.2 03-Aug-2004  skrll Sync with HEAD
 1.1.2.1 08-May-2004  skrll file wchar_limits.h was added on branch ktrace-lwp on 2004-08-03 10:38:22 +0000
 1.7 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.6 18-Nov-2007  he branches: 1.6.14;
Add an overlooked define of IPL_ZS, matching with splzs().
 1.5 10-Feb-2007  tsutsui branches: 1.5.6; 1.5.22; 1.5.24; 1.5.28; 1.5.30;
Implement generic softintr(9) support for news68k.
Mostly taken from mvme68k.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 07-Aug-2003  agc branches: 1.3.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.2 20-Dec-2002  tsutsui branches: 1.2.2;
Remove __P().
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8; 1.1.16;
Initial import of news68k port.
 1.1.16.1 29-Dec-2002  thorpej Sync with HEAD.
 1.1.8.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.8.1 09-Dec-1999  bouyer file z8530var.h was added on branch thorpej_scsipi on 2000-11-20 20:16:14 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.3.16.2 07-Dec-2007  yamt sync with head
 1.3.16.1 26-Feb-2007  yamt sync with head.
 1.5.30.1 19-Nov-2007  mjf Sync with HEAD.
 1.5.28.1 18-Nov-2007  bouyer Sync with HEAD
 1.5.24.1 09-Jan-2008  matt sync with HEAD
 1.5.22.1 21-Nov-2007  joerg Sync with HEAD.
 1.5.6.2 03-Dec-2007  ad Sync with HEAD.
 1.5.6.1 03-Dec-2007  ad Sync with HEAD.
 1.6.14.1 03-Apr-2008  mjf Sync with HEAD.
 1.24 22-Jun-2017  flxd spelling (DEC called it "TURBOchannel")
 1.23 24-Mar-2014  christos branches: 1.23.6;
- use cpu_{g,s}etmodel
- fix unused
 1.22 13-Oct-2012  tsutsui branches: 1.22.2;
use device_xname() (from chs@)
 1.21 29-Jul-2012  mlelstv branches: 1.21.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.20 10-May-2011  tsutsui branches: 1.20.4; 1.20.10;
Move isrinit() call from early news68k_init() to cpu_configure(9)
since interrupt service routines would want evcnt(9).
 1.19 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.18 12-Feb-2008  joerg branches: 1.18.32; 1.18.38; 1.18.40;
Introduce device_find_by_xname and device_find_by_driver_unit to replace
alldevs iterations all over src.

Patch discussed with and improved on suggestioned from cube@.
 1.17 05-Dec-2007  tsutsui Use TAILQ_FIRST(3) and TAILQ_NEXT(3) macro.
 1.16 03-Dec-2007  ad branches: 1.16.2;
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 10-Feb-2007  tsutsui branches: 1.15.6; 1.15.22; 1.15.24; 1.15.30;
Implement generic softintr(9) support for news68k.
Mostly taken from mvme68k.
 1.14 11-Dec-2005  christos merge ktrace-lwp.
 1.13 11-Mar-2005  matt branches: 1.13.4;
Make this compile in the absence of any scsibuses.
 1.12 23-Oct-2004  thorpej branches: 1.12.4; 1.12.6;
Centralize the declaration of booted_device and booted_partition.
 1.11 04-Sep-2004  tsutsui - Use ANSI function declarations and make some functions static.
- Some KNF
 1.10 13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.9 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.8 15-Jul-2003  lukem __KERNEL_RCSID()
 1.7 20-Dec-2002  tsutsui branches: 1.7.2;
Remove __P().
 1.6 16-May-2002  thorpej Don't access a scsipi channel's periph table directly; use
scsipi_lookup_periph().
 1.5 25-Apr-2001  bouyer branches: 1.5.2; 1.5.8; 1.5.16;
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.4 02-Jun-2000  cgd branches: 1.4.4; 1.4.6;
booted_partition, not booted_parition...
 1.3 01-Jun-2000  matt Don't pass booted_* to findroot/getdevice, access them via the globals.
Also, make findroot static. This eliminates unneeded clearing of them
and make their use consistent among the ports.
 1.2 19-Mar-2000  tsutsui branches: 1.2.2;
Make booted_device variable global for raidframe.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.4.6.1 21-Jun-2001  nathanw Catch up to -current.
 1.4.4.3 22-Jan-2001  bouyer first cut at converting to thorpej_scsipi
 1.4.4.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.4.1 02-Jun-2000  bouyer file autoconf.c was added on branch thorpej_scsipi on 2000-11-20 20:16:14 +0000
 1.5.16.1 30-May-2002  gehenna Catch up with -current.
 1.5.8.3 29-Dec-2002  thorpej Sync with HEAD.
 1.5.8.2 20-Jun-2002  nathanw Catch up to -current.
 1.5.8.1 25-Apr-2001  nathanw file autoconf.c was added on branch nathanw_sa on 2002-06-20 03:40:08 +0000
 1.5.2.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.7.2.5 01-Apr-2005  skrll Sync with HEAD.
 1.7.2.4 02-Nov-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.12.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.12.4.1 29-Apr-2005  kent sync with -current
 1.13.4.3 27-Feb-2008  yamt sync with head.
 1.13.4.2 07-Dec-2007  yamt sync with head
 1.13.4.1 26-Feb-2007  yamt sync with head.
 1.15.30.2 18-Feb-2008  mjf Sync with HEAD.
 1.15.30.1 08-Dec-2007  mjf Sync with HEAD.
 1.15.24.2 23-Mar-2008  matt sync with HEAD
 1.15.24.1 09-Jan-2008  matt sync with HEAD
 1.15.22.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.15.6.1 03-Dec-2007  ad Sync with HEAD.
 1.16.2.1 08-Dec-2007  ad Sync with head.
 1.18.40.1 17-Feb-2011  bouyer Sync with HEAD
 1.18.38.1 06-Jun-2011  jruoho Sync with HEAD.
 1.18.32.2 31-May-2011  rmind sync with head
 1.18.32.1 05-Mar-2011  rmind sync with head
 1.20.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.20.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.20.4.1 30-Oct-2012  yamt sync with head
 1.21.2.3 03-Dec-2017  jdolecek update from HEAD
 1.21.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.21.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.22.2.1 18-May-2014  rmind sync with head
 1.23.6.1 28-Aug-2017  skrll Sync with HEAD
 1.14 22-Apr-2023  tsutsui Remove ancient /*ARGSUSED*/ comments.
 1.13 21-Sep-2014  christos this is not python (add missing braces)
 1.12 24-Mar-2014  christos branches: 1.12.4;
- use cpu_{g,s}etmodel
- fix unused
 1.11 22-Nov-2011  tsutsui branches: 1.11.8; 1.11.12;
Remove more now unnecessary IIOV() conversion.
XXX: we should have proper PA to VA macro for TT mappings for readability
 1.10 28-Apr-2008  martin branches: 1.10.34;
Remove clause 3 and 4 from TNF licenses
 1.9 04-Mar-2007  tsutsui branches: 1.9.40; 1.9.42; 1.9.44;
Remove a declaration for extiobase, which is in <machine/cpu.h>.
 1.8 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.7 11-Dec-2005  christos branches: 1.7.26;
merge ktrace-lwp.
 1.6 04-Sep-2004  tsutsui branches: 1.6.12;
- Use ANSI function declarations and make some functions static.
- Some KNF
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 27-Sep-2002  provos branches: 1.4.6;
remove trailing \n in panic(). approved perry.
 1.3 25-Sep-2002  thorpej Don't include <sys/map.h>.
 1.2 14-Oct-2000  tsutsui branches: 1.2.2; 1.2.6; 1.2.10;
Re-enable tt0 register temporary to map I/O space.
(for framebuffer support)
 1.1 04-Oct-2000  tsutsui Initial bus_space(9) support for news68k. From hp300.
 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 14-Oct-2000  bouyer file bus_space.c was added on branch thorpej_scsipi on 2000-11-20 20:16:14 +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.6.12.1 03-Sep-2007  yamt sync with head.
 1.7.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.9.44.1 16-May-2008  yamt sync with head.
 1.9.42.1 18-May-2008  yamt sync with head.
 1.9.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.10.34.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.10.34.1 17-Apr-2012  yamt sync with head
 1.11.12.1 18-May-2014  rmind sync with head
 1.11.8.2 03-Dec-2017  jdolecek update from HEAD
 1.11.8.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.12.4.1 30-Oct-2014  martin Pull up following revision(s) (requested by maxv in ticket #165):
sys/arch/newsmips/stand/boot/netif_news.c: revision 1.9
sys/arch/mvme68k/stand/installboot/installboot.c: revision 1.19
sys/arch/arm/arm32/pmap.c: revision 1.300
sys/arch/amiga/dev/siop2.c: revision 1.43
sys/arch/amiga/amiga/disksubr.c: revision 1.62
sys/arch/news68k/news68k/bus_space.c: revision 1.13
sys/arch/amiga/dev/siop.c: revision 1.69
sys/arch/x86/x86/x86_autoconf.c: revision 1.72
Remove dead code in various places under arch/.
 1.17 09-Sep-2006  tsutsui Switch news68k to timecounters. From gdamore on port-news68k.
 1.16 04-Sep-2006  tsutsui branches: 1.16.2;
Switch news68k to MI todr.
 1.15 11-Dec-2005  christos branches: 1.15.4; 1.15.8;
merge ktrace-lwp.
 1.14 02-Jun-2005  tsutsui branches: 1.14.2;
Add workaround for volatile struct timeval time vs. todr_*() function
prototype mismatch. Based on sparc64 fixes.
 1.13 04-Sep-2004  tsutsui - Use ANSI function declarations and make some functions static.
- Some KNF
 1.12 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.11 19-Jul-2003  tsutsui Rename todclock_config() to todr_attach().
 1.10 15-Jul-2003  lukem __KERNEL_RCSID()
 1.9 18-Jan-2003  tsutsui branches: 1.9.2;
TAB/space cleanup.
 1.8 20-Dec-2002  tsutsui Remove __P().
 1.7 11-Oct-2001  tsutsui branches: 1.7.4;
space -> TAB
 1.6 07-Jul-2001  tsutsui branches: 1.6.2;
Split clock device attachment into interval timer and todclock
since they are actually independent devices.
 1.5 05-Oct-2000  tsutsui branches: 1.5.2;
variable clock_attached is not needed.
 1.4 03-Oct-2000  tsutsui Reorganize news68k clock device configuration and
prepare to switch to MI mk48txx driver.

XXX news68k does not have bus_space(9) support yet.
 1.3 19-Jan-2000  msaitoh check whether tv_usec >= 1000000
 1.2 09-Jan-2000  tsutsui Fix y2k bug in inittod().

I misunderstood that "bad date in battery clock" message was
caused by dead-battery NVRAM. *sigh*
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 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 05-Oct-2000  bouyer file clock.c was added on branch thorpej_scsipi on 2000-11-20 20:16:14 +0000
 1.6.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.7.4.2 29-Dec-2002  thorpej Sync with HEAD.
 1.7.4.1 11-Oct-2001  thorpej file clock.c was added on branch nathanw_sa on 2002-12-29 19:33:43 +0000
 1.9.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.9.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.9.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.9.2.1 03-Aug-2004  skrll Sync with HEAD
 1.14.2.1 30-Dec-2006  yamt sync with head.
 1.15.8.1 14-Sep-2006  yamt sync with head.
 1.15.4.1 09-Sep-2006  rpaulo sync with head
 1.16.2.1 18-Nov-2006  ad Sync with head.
 1.2 03-Oct-2000  tsutsui Reorganize news68k clock device configuration and
prepare to switch to MI mk48txx driver.

XXX news68k does not have bus_space(9) support yet.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -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 19-Jul-2003  tsutsui Rename todclock_config() to todr_attach().
 1.3 07-Jul-2001  tsutsui branches: 1.3.8; 1.3.24;
Split clock device attachment into interval timer and todclock
since they are actually independent devices.
 1.2 03-Oct-2000  tsutsui branches: 1.2.2;
Reorganize news68k clock device configuration and
prepare to switch to MI mk48txx driver.

XXX news68k does not have bus_space(9) support yet.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -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 03-Oct-2000  bouyer file clockvar.h was added on branch thorpej_scsipi on 2000-11-20 20:16:14 +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 07-Jul-2001  tsutsui Split clock device attachment into interval timer and todclock
since they are actually independent devices.
 1.3.8.1 07-Jul-2001  tsutsui file clockvar.h was added on branch nathanw_sa on 2001-07-07 15:27:22 +0000
 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.10 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.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 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.7 17-Jun-2002  christos MD systrace gluons.
 1.6 12-Jan-2002  manu branches: 1.6.8;
Added clockctl
 1.5 03-Apr-2001  tsutsui branches: 1.5.2; 1.5.8;
Restore #endif which was mistakenly removed in previous.
 1.4 21-Mar-2001  lukem move duplicate definitions for:
pc, lpt, joy, ocis, apm, satlink, i4bctl, i4brbch, i4btel, i4btrc, i4b
from the port-specific arch/*/*/conf.c files into sys/conf.h
 1.3 25-Jan-2001  tsutsui branches: 1.3.2;
Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 1.2 14-Apr-2000  tsutsui branches: 1.2.6;
- Fix comments. (NEWS have Zilog 8530, not Intel 82530)
- Fix cdev_tty_init() arg on newsmips (NZSC -> NZSTTY)
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.6.5 06-Apr-2001  bouyer Sync with trunk (add missing #endif)
 1.2.6.4 27-Mar-2001  bouyer Sync with HEAD.
 1.2.6.3 11-Feb-2001  bouyer Sync with HEAD.
 1.2.6.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.6.1 14-Apr-2000  bouyer file conf.c was added on branch thorpej_scsipi on 2000-11-20 20:16:15 +0000
 1.3.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.5.8.6 11-Nov-2002  nathanw Catch up to -current
 1.5.8.5 17-Sep-2002  nathanw Catch up to -current.
 1.5.8.4 01-Aug-2002  nathanw Catch up to -current.
 1.5.8.3 20-Jun-2002  nathanw Catch up to -current.
 1.5.8.2 28-Feb-2002  nathanw Catch up to -current.
 1.5.8.1 03-Apr-2001  nathanw file conf.c was added on branch nathanw_sa on 2002-02-28 04:11:15 +0000
 1.5.2.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.5.2.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.5.2.1 11-Feb-2002  jdolecek Sync w/ -current.
 1.6.8.3 21-Jul-2002  gehenna catch up with -current.
 1.6.8.2 15-Jul-2002  gehenna catch up with -current.
 1.6.8.1 16-May-2002  gehenna Bye block/character device swicth tables.
 1.6 02-Nov-2002  chs enhance the common m68k db_memrw.c to handle read-only kernel text
and switch all the motorola-MMU m68k platforms to use it.
 1.5 20-Oct-2002  chs merge the 12 copies of vm_machdep.c on the m68k platforms.
clean up some other stuff along the way, including:
- use m68k/cacheops.*, remove duplicates from cpu.h.
- centralize a few declarations in (all the copies of) cpu.h.
- define M68K_VAC on platforms which have a VAC.
- switch the sun platforms to the (now common) proc_trampoline().
- do the phys_map thang on the sun platforms too, no reason not to.
 1.4 25-Feb-2001  tsutsui branches: 1.4.8;
Sync with x68k:
Use m68k_page_offset and m68k_trunc_page macros,
instead of using PGOFSET directly.
 1.3 08-Nov-2000  tsutsui branches: 1.3.2;
Remove an unneeded include.
 1.2 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.2.4 12-Mar-2001  bouyer Sync with HEAD.
 1.3.2.3 22-Nov-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 08-Nov-2000  bouyer file db_memrw.c was added on branch thorpej_scsipi on 2000-11-20 20:16:15 +0000
 1.4.8.1 11-Nov-2002  nathanw Catch up to -current
 1.32 03-Apr-2019  christos centralize setdisklabel(9)
 1.31 02-Jan-2008  ad branches: 1.31.98;
Merge vmlocking2 to head.
 1.30 17-Oct-2007  garbled branches: 1.30.2; 1.30.4; 1.30.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.29 08-Oct-2007  ad Merge brelse() changes from the vmlocking branch.
 1.28 04-Mar-2007  tsutsui branches: 1.28.2; 1.28.10; 1.28.18; 1.28.20; 1.28.22;
Add (char *) casts on pointer arithmetic.
 1.27 25-Nov-2006  scw branches: 1.27.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.26 05-Nov-2006  elad XXX: use KAUTH_DEVICE_RAWIO_PASSTHRU for direct disk access here.
 1.25 11-Sep-2006  he branches: 1.25.2;
Add now-required includes, and correct newly added kauth call so
that it builds.
 1.24 08-Sep-2006  elad First take at security model abstraction.

- Add a few scopes to the kernel: system, network, and machdep.

- Add a few more actions/sub-actions (requests), and start using them as
opposed to the KAUTH_GENERIC_ISSUSER place-holders.

- Introduce a basic set of listeners that implement our "traditional"
security model, called "bsd44". This is the default (and only) model we
have at the moment.

- Update all relevant documentation.

- Add some code and docs to help folks who want to actually use this stuff:

* There's a sample overlay model, sitting on-top of "bsd44", for
fast experimenting with tweaking just a subset of an existing model.

This is pretty cool because it's *really* straightforward to do stuff
you had to use ugly hacks for until now...

* And of course, documentation describing how to do the above for quick
reference, including code samples.

All of these changes were tested for regressions using a Python-based
testsuite that will be (I hope) available soon via pkgsrc. Information
about the tests, and how to write new ones, can be found on:

http://kauth.linbsd.org/kauthwiki

NOTE FOR DEVELOPERS: *PLEASE* don't add any code that does any of the
following:

- Uses a KAUTH_GENERIC_ISSUSER kauth(9) request,
- Checks 'securelevel' directly,
- Checks a uid/gid directly.

(or if you feel you have to, contact me first)

This is still work in progress; It's far from being done, but now it'll
be a lot easier.

Relevant mailing list threads:

http://mail-index.netbsd.org/tech-security/2006/01/25/0011.html
http://mail-index.netbsd.org/tech-security/2006/03/24/0001.html
http://mail-index.netbsd.org/tech-security/2006/04/18/0000.html
http://mail-index.netbsd.org/tech-security/2006/05/15/0000.html
http://mail-index.netbsd.org/tech-security/2006/08/01/0000.html
http://mail-index.netbsd.org/tech-security/2006/08/25/0000.html

Many thanks to YAMAMOTO Takashi, Matt Thomas, and Christos Zoulas for help
stablizing kauth(9).

Full credit for the regression tests, making sure these changes didn't break
anything, goes to Matt Fleming and Jaime Fournier.

Happy birthday Randi! :)
 1.23 11-Dec-2005  christos branches: 1.23.8; 1.23.20;
merge ktrace-lwp.
 1.22 02-Jun-2005  tsutsui branches: 1.22.2;
Add a const.
 1.21 24-May-2005  tsutsui Make readdisklabel(9) return more usable default label
if disk doesn't have disklabel.
 1.20 24-May-2005  tsutsui - use MAKEDISKDEV() macro
- some cosmetics
 1.19 04-Sep-2004  tsutsui - Use ANSI function declarations and make some functions static.
- Some KNF
 1.18 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.17 15-Jul-2003  lukem __KERNEL_RCSID()
 1.16 10-May-2003  thorpej branches: 1.16.2;
Change bounds_check_with_label() to take a pointer to the disk structure,
rather than the label itself. This paves the way for some future changes.
 1.15 02-May-2003  dsl Change return type of readdisklabel() to const char *
I hope I've found all the correct places!
 1.14 18-Apr-2003  tsutsui Revert part of previous. sdstrategy() no longer calls
bounds_check_with_label() for RAW_PART.
 1.13 30-Mar-2003  tsutsui - Since current sdstrategy() calls bounds_check_with_label() implicitly,
allow overwriting disklabel for RAW_PART in bounds_check_with_label().
- Also allow overwriting disklabel even for !RAW_PART if securelevel == 0
so that installboot(8) can write bootblock against 'a' partition.
- labelsector is at top of RAW_PART, not 'a' partition.
 1.12 18-Jan-2003  tsutsui TAB/space cleanup.
 1.11 11-Jan-2003  tsutsui Fix -Wsign-compare warnings.
 1.10 20-Dec-2002  tsutsui Remove __P().
 1.9 05-Mar-2002  simonb Don't cast argument to ffs() to long.
Per discussion on port-alpha, noticed by Robert Elz.
 1.8 19-Feb-2002  wiz strategy should have an 'r'. Inspired by similar change in OpenBSD.
 1.7 20-Nov-2000  chs branches: 1.7.2; 1.7.4; 1.7.6; 1.7.10;
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.6 19-May-2000  thorpej A foolish consistency; most parts of the kernel use bp->b_data, so
change these from bp->b_un.b_addr to bp->b_data, as well. This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.
 1.5 16-May-2000  thorpej Nuke dk_establish() from orbit except from those ports which still use
it to determine the boot device: mvme68k, pc532, macppc, ofppc. Those
platforms should be changed to use device_register(). In the mean time,
those ports defined __BROKEN_DK_ESTABLISH.
 1.4 30-Mar-2000  tsutsui Remove register declarations.
 1.3 04-Mar-2000  nisimura Nuke unnecessary prototype declaration of readdisklabel().
 1.2 18-Jan-2000  thorpej Use b_cylinder as defined in sys/buf.h
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.7.10.4 15-Jan-2003  thorpej Sync with HEAD.
 1.7.10.3 29-Dec-2002  thorpej Sync with HEAD.
 1.7.10.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.7.10.1 28-Feb-2002  nathanw Catch up to -current.
 1.7.6.1 16-Mar-2002  jdolecek Catch up with -current.
 1.7.4.1 10-Oct-2001  fvdl Convert all remaining devices.
 1.7.2.3 22-Nov-2000  bouyer Sync with HEAD.
 1.7.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.7.2.1 20-Nov-2000  bouyer file disksubr.c was added on branch thorpej_scsipi on 2000-11-20 20:16:15 +0000
 1.16.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 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.22.2.4 21-Jan-2008  yamt sync with head
 1.22.2.3 27-Oct-2007  yamt sync with head.
 1.22.2.2 03-Sep-2007  yamt sync with head.
 1.22.2.1 30-Dec-2006  yamt sync with head.
 1.23.20.2 12-Jan-2007  ad Sync with head.
 1.23.20.1 18-Nov-2006  ad Sync with head.
 1.23.8.1 14-Sep-2006  yamt sync with head.
 1.25.2.1 10-Dec-2006  yamt sync with head.
 1.27.4.1 12-Mar-2007  rmind Sync with HEAD.
 1.28.22.1 14-Oct-2007  yamt sync with head.
 1.28.20.2 09-Jan-2008  matt sync with HEAD
 1.28.20.1 06-Nov-2007  matt sync with HEAD
 1.28.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.28.10.1 16-Oct-2007  garbled Sync with HEAD
 1.28.2.1 09-Oct-2007  ad Sync with head.
 1.30.8.1 02-Jan-2008  bouyer Sync with HEAD
 1.30.4.1 31-Dec-2007  ad Make compile with new buffer cache locking scheme.

XXX This should be largely MI, please do not make another clone of disksubr.c.
 1.30.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.31.98.1 10-Jun-2019  christos Sync with HEAD
 1.38 08-Jul-2025  thorpej Add common '030 and '040/'060 routines for configuring the transparent
translation registers. Adjust luna68k and news68k to use them.
 1.37 20-Jan-2024  thorpej branches: 1.37.2;
Support the hardware-assisted AST on news68k in the common interrupt
stubs.
 1.36 15-Jan-2024  thorpej G/C __HAVE_LEGACY_INTRCNT from news68k.
 1.35 15-Jan-2024  thorpej Switch news68k over to the common interrupt dispatch code.
 1.34 09-Jan-2024  thorpej Remove duplicated / slightly-tweaked loadustp() (load user segment table)
routines from all of the m68k ports using the shared pmap. Instead, in
pmap_init(), set up a function pointer to the appropriate mmu_load_urp*()
function in mmu_subr.s.
 1.33 27-Dec-2023  thorpej Define values for the 68030 TT registers in terms of the definitions
in <m68k/mmu_30.h> rather than using magic numbers.
 1.32 27-Dec-2023  thorpej Re-factor the 680x0 Function Code definitions into their own
separate file (as was done on the sun2/sun3 ports ages ago)
and switch everyone to the common header.
 1.31 27-Dec-2023  thorpej Stop using magic numbers for the MMU root pointer attributes and the
Translation Control register, and also get rid of "#if PGSHIFT == ..."
where those magic numbers are used.

Instead, define new macros: MMU51_SRP_BITS, MMU51_CRP_BITS, MMU51_TCR_BITS,
and MMU40_TCR_BITS, in terms of the definitions in mmu_{40,51}.h. These
automagically adapt to 8K and 4K pages based on the machine-specific value
of PGSHIFT.
 1.30 20-Feb-2020  skrll G/C
 1.29 17-Feb-2020  skrll G/C LS{SLEEP,RUN,ONPROC}

LWP status manipulation was moved out of assembly long ago.
 1.28 19-Dec-2018  maxv branches: 1.28.6;
Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.
 1.27 14-Jan-2011  rmind branches: 1.27.58; 1.27.60;
Retire struct user, remove sys/user.h inclusions. Note sys/user.h header
as obsolete. Remove USER_TO_UAREA/UAREA_TO_USER macros.

Various #include fixes and review by matt@.
 1.26 20-Dec-2010  matt 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.25 10-Dec-2009  rmind branches: 1.25.4;
Rename L_ADDR to L_PCB and amend some comments accordingly.
 1.24 23-Nov-2009  rmind Use lwp_getpcb() on m68k ports, clean from struct user usage.
 1.23 20-Sep-2008  tsutsui Remove advertising clause for UCB in various genassym.cf files,
which were derived from genassym.c in 4.4BSD-Lite2 (or 386BSD).
Closes PR misc/39573. Approved by martin@.
 1.22 04-Jun-2008  ad branches: 1.22.4;
Remove ref to uvm.page_idle_zero
 1.21 17-Oct-2007  garbled branches: 1.21.16; 1.21.18; 1.21.20; 1.21.22;
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 18-May-2007  tsutsui branches: 1.20.10;
Adapt news68k to yamt-idlelwp. Tested on NWS-1750.
 1.19 11-Dec-2005  christos branches: 1.19.30; 1.19.32; 1.19.38;
merge ktrace-lwp.
 1.18 15-Dec-2004  tsutsui branches: 1.18.10;
Add definitions for ports CTRL_POWER and CTRL_LED.
 1.17 15-Dec-2004  tsutsui Backout previous because:
- we should fix genassym.sh to generate proper unsigned values rather than
remove use of such values in each source
- 0xe0dc0000 is port to control LED so INTIOBASE1700_OFF is not proper name
- these LED debug code didn't work on news1200 and it should be fixed anyway
 1.16 15-Dec-2004  jmc Convert expression for (0xe0dc0000-INTIOBASE1700) directly within a cpp
macro as otherwise gas gets handed an X - -Y expression and w 2.15 it won't
treat that as a valid expression
 1.15 12-Dec-2004  tsutsui news68k/locore.s directly includes <machine/trap.h> and
m68k/copy.s directly includes <sys/errno.h>,
so remove definitions for them from assym.h.
 1.14 04-Nov-2003  dsl Remove p_nras from struct proc - use LIST_EMPTY(&p->p_raslist) instead.
Remove p_raslock and rename p_lwplock p_lock (one lock is enough).
Simplify window test when adding a ras and correct test on VM_MAXUSER_ADDRESS.
Avoid unpredictable branch in i386 locore.S
(pad fields left in struct proc to avoid kernel bump)
 1.13 22-Sep-2003  cl SA_SIGINFO support for m68k (port specific changes)
 1.12 08-Apr-2003  thorpej branches: 1.12.2;
Use PAGE_SIZE rather than NBPG.
 1.11 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.10 26-Sep-2002  thorpej Remove <sys/map.h>
 1.9 11-May-2002  jdolecek use _KERNEL_OPT rather than _KERNEL && !_LKM
 1.8 10-Mar-2001  tsutsui branches: 1.8.2; 1.8.8;
Don't include opt_compat_svr4.h on building LKM.
 1.7 21-Nov-2000  tsutsui branches: 1.7.2;
Define proper macros for FP frame offsets rather than magic numbers.
 1.6 09-Nov-2000  tsutsui branches: 1.6.2;
Make it possible to enable/disable DC_BE and IC_BE bits in %cacr at runtime
and enable them on news1200/1400/1500 (which have no L2cache).
 1.5 15-Sep-2000  tsutsui Add uvm_pageidlezero support. From x68k.
 1.4 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.3 26-May-2000  thorpej branches: 1.3.4;
Introduce a new process state distinct from SRUN called SONPROC
which indicates that the process is actually running on a
processor. Test against SONPROC as appropriate rather than
combinations of SRUN and curproc. Update all context switch code
to properly set SONPROC when the process becomes the current
process on the CPU.
 1.2 08-Feb-2000  tsutsui Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.4.1 24-Dec-2000  jhawk Pull up revision 1.6 (requested by tsutsui):
Allow runtime enabling/disabling of DC_BE and IC_BE bits in %cacr
and enable them on news1200/1400/1500 (Which have no L2 cache); yields
a performance improvement. Also correct a typo in a comment.
 1.6.2.5 12-Mar-2001  bouyer Sync with HEAD.
 1.6.2.4 08-Dec-2000  bouyer Sync with HEAD.
 1.6.2.3 22-Nov-2000  bouyer Sync with HEAD.
 1.6.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.6.2.1 09-Nov-2000  bouyer file genassym.cf was added on branch thorpej_scsipi on 2000-11-20 20:16:15 +0000
 1.7.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.8.8.7 18-Oct-2002  nathanw Catch up to -current.
 1.8.8.6 05-Oct-2002  gmcgarry Add RAS offsets.
 1.8.8.5 02-Aug-2002  nathanw Don't need SAF_UPCALL anymore.
 1.8.8.4 12-Jul-2002  nathanw No longer need to pull in lwp.h; proc.h pulls it in for us.
 1.8.8.3 20-Jun-2002  nathanw Catch up to -current.
 1.8.8.2 18-Nov-2001  scw MD Scheduler Activation bits for News68k.
Compile-tested only.
 1.8.8.1 10-Mar-2001  scw file genassym.cf was added on branch nathanw_sa on 2001-11-18 18:42:19 +0000
 1.8.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.8.2.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.12.2.4 18-Dec-2004  skrll Sync with HEAD.
 1.12.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.12.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.12.2.1 03-Aug-2004  skrll Sync with HEAD
 1.18.10.1 03-Sep-2007  yamt sync with head.
 1.19.38.1 22-May-2007  matt Update to HEAD.
 1.19.32.1 11-Jul-2007  mjf Sync with head.
 1.19.30.1 27-May-2007  ad Sync with head.
 1.20.10.1 06-Nov-2007  matt sync with HEAD
 1.21.22.2 10-Oct-2008  skrll Sync with HEAD.
 1.21.22.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.21.20.2 11-Mar-2010  yamt sync with head
 1.21.20.1 04-May-2009  yamt sync with head.
 1.21.18.1 17-Jun-2008  yamt sync with head.
 1.21.16.2 28-Sep-2008  mjf Sync with HEAD.
 1.21.16.1 05-Jun-2008  mjf Sync with HEAD.

Also fix build.
 1.22.4.1 19-Oct-2008  haad Sync with HEAD.
 1.25.4.1 05-Mar-2011  rmind sync with head
 1.27.60.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.27.60.1 10-Jun-2019  christos Sync with HEAD
 1.27.58.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.28.6.1 29-Feb-2020  ad Sync with head.
 1.37.2.1 02-Aug-2025  perseant Sync with HEAD
 1.26 15-Jan-2024  thorpej Switch news68k over to the common interrupt dispatch code.
 1.25 14-Jan-2024  thorpej G/C isrlink_custom(); just use vec_set_entry() directly.
 1.24 13-Jan-2024  thorpej Switch news68k over to the common m68k vector table.
 1.23 21-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.22 10-Nov-2019  chs branches: 1.22.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.21 20-Dec-2010  matt branches: 1.21.60;
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.20 10-Dec-2008  tsutsui branches: 1.20.6;
Account idepth in functions in locore.s that are registered in the
interrupt vector table so that we don't have to track all interrupt paths.
 1.19 22-Jun-2008  tsutsui branches: 1.19.2; 1.19.4;
Make cpu_intr_p() inline.
 1.18 15-Jun-2008  tsutsui Unify splraiseipl(9) implementation among m68k ports as per
suggestion from isaki@ on port-m68k.

For news68k:
- export ipl2psl_table[] and make it uint16_t
- make makeiplcookie(9) inline
- put PSL_S bit into ipl2psl_table[] rather than adding it in makeiplcookie(9)
- define both IPL_SCHED and IPL_HIGH independently to avoid confusion
 1.17 28-Apr-2008  martin branches: 1.17.2; 1.17.4;
Remove clause 3 and 4 from TNF licenses
 1.16 03-Dec-2007  ad branches: 1.16.14; 1.16.16; 1.16.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.15 03-Mar-2007  tsutsui branches: 1.15.2; 1.15.18; 1.15.20; 1.15.26;
- move netintr() from isr.c to softintr.c and make it static
- remove redundant initialization in ipl2psl_table.
 1.14 16-Feb-2007  tsutsui branches: 1.14.2;
Use LIST_*() macro.
 1.13 10-Feb-2007  tsutsui Implement generic softintr(9) support for news68k.
Mostly taken from mvme68k.
 1.12 11-Dec-2005  christos merge ktrace-lwp.
 1.11 04-Sep-2004  tsutsui branches: 1.11.12;
- Use ANSI function declarations and make some functions static.
- Some KNF
 1.10 15-Jul-2003  lukem __KERNEL_RCSID()
 1.9 20-Dec-2002  tsutsui branches: 1.9.2;
Remove __P().
 1.8 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.7 07-Jul-2001  tsutsui branches: 1.7.2; 1.7.8;
bzero() -> memset()
 1.6 09-Nov-2000  tsutsui branches: 1.6.2;
Oops, fix botch in previous.
 1.5 06-Nov-2000  tsutsui Protect netisr by splnet().
 1.4 02-Jul-2000  cgd Kwality control:
* put #includes of opt headers and headers to get protos used by
net/netisr_dispatch.h in net/netisr.h (if !defined(_LOCORE)) (rather than
in netisr_dispatch.h itself, and potentially nowhere, respectively).
* require netisr.h to be included before netisr_dispatch.h.
* minor additional cleanup of both netisr.h and netisr_dispatch.h.
* clean up uses to remove now-unnecessary header file inclusions, and
local prototypes of the fns.
* convert netisr dispatch implementations which didn't use
netisr_dispatch.h (pc532) to use it.
 1.3 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.2 21-Feb-2000  erh Define the DONETISR macro and use netisr_dispatch.h. This is to cut down on code duplication and to standardize the available NETISRs across all ports.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.6.2.3 22-Nov-2000  bouyer Sync with HEAD.
 1.6.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.6.2.1 09-Nov-2000  bouyer file isr.c was added on branch thorpej_scsipi on 2000-11-20 20:16:15 +0000
 1.7.8.3 29-Dec-2002  thorpej Sync with HEAD.
 1.7.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.7.8.1 07-Jul-2001  nathanw file isr.c was added on branch nathanw_sa on 2002-10-18 02:39:08 +0000
 1.7.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.9.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.9.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.9.2.1 03-Aug-2004  skrll Sync with HEAD
 1.11.12.3 07-Dec-2007  yamt sync with head
 1.11.12.2 03-Sep-2007  yamt sync with head.
 1.11.12.1 26-Feb-2007  yamt sync with head.
 1.14.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.15.26.1 08-Dec-2007  mjf Sync with HEAD.
 1.15.20.1 09-Jan-2008  matt sync with HEAD
 1.15.18.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.15.2.2 03-Dec-2007  ad Sync with HEAD.
 1.15.2.1 03-Dec-2007  ad Sync with HEAD.
 1.16.18.2 04-May-2009  yamt sync with head.
 1.16.18.1 16-May-2008  yamt sync with head.
 1.16.16.2 17-Jun-2008  yamt sync with head.
 1.16.16.1 18-May-2008  yamt sync with head.
 1.16.14.3 17-Jan-2009  mjf Sync with HEAD.
 1.16.14.2 29-Jun-2008  mjf Sync with HEAD.
 1.16.14.1 02-Jun-2008  mjf Sync with HEAD.
 1.17.4.2 27-Jun-2008  simonb Sync with head.
 1.17.4.1 18-Jun-2008  simonb Sync with head.
 1.17.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.19.4.1 19-Jan-2009  skrll Sync with HEAD.
 1.19.2.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.20.6.1 05-Mar-2011  rmind sync with head
 1.21.60.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.22.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.11 16-Jan-2024  thorpej Use m68k_intrvec_intrhand() to implement isrunlink_vectored().
 1.10 15-Jan-2024  thorpej Switch news68k over to the common interrupt dispatch code.
 1.9 14-Jan-2024  thorpej G/C isrlink_custom(); just use vec_set_entry() directly.
 1.8 13-Jan-2024  thorpej Switch news68k over to the common m68k vector table.
 1.7 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.6 03-Mar-2007  tsutsui branches: 1.6.40; 1.6.42; 1.6.44;
- move netintr() from isr.c to softintr.c and make it static
- remove redundant initialization in ipl2psl_table.
 1.5 16-Feb-2007  tsutsui branches: 1.5.2;
Remove autovectored ISR priorities and use now properly defined
IPL_* values for isrlink_autovec().
 1.4 06-Jan-2003  wiz branches: 1.4.18;
interrupt with two rs.
 1.3 20-Dec-2002  tsutsui Remove __P().
 1.2 15-Sep-2000  tsutsui branches: 1.2.2; 1.2.10;
Add prototype declaration of netintr().
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.10.2 07-Jan-2003  thorpej Sync with HEAD.
 1.2.10.1 29-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 15-Sep-2000  bouyer file isr.h was added on branch thorpej_scsipi on 2000-11-20 20:16:15 +0000
 1.4.18.2 03-Sep-2007  yamt sync with head.
 1.4.18.1 26-Feb-2007  yamt sync with head.
 1.5.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.6.44.1 16-May-2008  yamt sync with head.
 1.6.42.1 18-May-2008  yamt sync with head.
 1.6.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.87 08-Jul-2025  thorpej Add common '030 and '040/'060 routines for configuring the transparent
translation registers. Adjust luna68k and news68k to use them.
 1.86 19-Jan-2024  thorpej branches: 1.86.2;
Consistently use "intr_depth" as the name of the interrupt depth counter
on m68k platforms.
 1.85 17-Jan-2024  thorpej Make sigcode.s and sunos_sigcode.s build as their own stand-alone files.
 1.84 17-Jan-2024  thorpej Make compat_13_sigreturn13.s and compat_16_sigreturn14.s build as their
own stand-alone files and G/C the now-empty sigreturn.s.
 1.83 16-Jan-2024  thorpej Build m68k/support.s on its own; don't include it from locore.s
 1.82 15-Jan-2024  thorpej G/C __HAVE_LEGACY_INTRCNT from news68k.
 1.81 15-Jan-2024  thorpej No need for our own spurious interrupt handler now that m68k_intr.c
handles them for us.
 1.80 15-Jan-2024  thorpej Switch news68k over to the common interrupt dispatch code.
 1.79 13-Jan-2024  thorpej Switch news68k over to the common m68k vector table.
 1.78 12-Jan-2024  thorpej Make getsr() an inline in <m68k/psl.h> and G/C all of the now-redudant
copies.
 1.77 09-Jan-2024  thorpej Statically-initialize the '851 / '030 protorp with MMU51_SRP_BITS. In
pmap_init(), re-initialize protorp with MMU51_CRP_BITS. Remove the now-
redundant code that does this in each of the m68k platforms.
 1.76 09-Jan-2024  thorpej Remove duplicated / slightly-tweaked loadustp() (load user segment table)
routines from all of the m68k ports using the shared pmap. Instead, in
pmap_init(), set up a function pointer to the appropriate mmu_load_urp*()
function in mmu_subr.s.
 1.75 27-Dec-2023  thorpej Define values for the 68030 TT registers in terms of the definitions
in <m68k/mmu_30.h> rather than using magic numbers.
 1.74 27-Dec-2023  thorpej Stop using magic numbers for the MMU root pointer attributes and the
Translation Control register, and also get rid of "#if PGSHIFT == ..."
where those magic numbers are used.

Instead, define new macros: MMU51_SRP_BITS, MMU51_CRP_BITS, MMU51_TCR_BITS,
and MMU40_TCR_BITS, in terms of the definitions in mmu_{40,51}.h. These
automagically adapt to 8K and 4K pages based on the machine-specific value
of PGSHIFT.
 1.73 26-Dec-2023  thorpej G/C unused ploadw().
 1.72 25-Dec-2023  thorpej loadustp(): Optimize for the overwhelmingly common case of "not the HP MMU".
Rather than converting the level 1 table address to a page number before
calling loadustp() only to have loadustp() convert it back to an address
for the '851, '030, '040, and '060, instead pass the address and convert
to a page number only in the case of the HP MMU.

This is a wash on HP MMU machines (9000/320 and 9000/350), and saves at
least 4 instructions (2x moveq + 2x lsXl) on every context switch on
everything else.
 1.71 15-Oct-2023  tsutsui Remove obsolete #if blocks.
 1.70 08-Oct-2023  andvar Revert my changes regarding removal of FPSP related blocks.

After additional discussion it is preferred to keep code consistency,
to make it easier refactor common code between m68k ports.
 1.69 06-Oct-2023  andvar Remove fpsp include and #ifdef FPSP blocks for news68k.
FPSP is necessary for 040/060 only, and news68k doesn't have such hardware.

Noted by Izumi Tsutsui.
 1.68 30-May-2022  andvar branches: 1.68.4;
s/identifing/identifying/ and s/multipler/multiplier/ in comments.
 1.67 23-Jan-2021  tsutsui Remove leftover of #undef statements.

These should have been removed in rev 1.55 back in 2010:
https://mail-index.netbsd.org/source-changes/2010/12/20/msg016105.html
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/news68k/news68k/locore.s.diff?r1=1.54&r2=1.55
 1.66 19-Dec-2018  maxv branches: 1.66.12;
Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.
 1.65 15-Mar-2014  tsutsui branches: 1.65.28; 1.65.30;
Use common m68k/busaddrerr.s for bus error and address error handlers.

No binary changes on GENERIC, and also tested on NWS-1750.
 1.64 09-Mar-2014  tsutsui Remove unused m68k_fault_addr, which is required only on mac68k for SBC.

It looks hp300 one was copied from mac68k in rev 1.75
and then it was pasted to other ports again and again.
 1.63 31-Jan-2014  tsutsui defined(LKM) -> defined(MODULAR)
 1.62 22-Dec-2011  tsutsui branches: 1.62.6; 1.62.10;
Merge m68881_save() and m68881_restore() (using most common mvme68k ones).
All functions are checked by my eyes, and all GENERIC kernels compile.
 1.61 26-Nov-2011  tsutsui branches: 1.61.2;
Make sure to call pflusha before (not after) enabling MMU on
68030/68851 initialization paths.

Pointed out by isaki@ per observation of ATC status on XM6i emulator.
Tested on TT030, HP362, NWS-1750, and X68030 by me.

XXX: probably we can remove existing pflusha or TBIA calls after MMU turned
XXX: on (and before enabling cache) but I leave them as is for now to avoid
XXX: unexcpected side effects.
 1.60 20-Nov-2011  tsutsui Add preliminary PROM internal function based framebuffer console support,
which was demonstrated at Open Source Conference 2011 Kansai @ Kyoto
back in July:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-Kansai

- map 0xc0000000-0xffffffff PA region (which is mirror of PA 0x0-0x3fffffff)
to the same VA via %tt0 and %tt1 registers and move KVA space accordingly
(like luna68k does for its devices)
- save trap #0 vector for PROM function calls in early bootstrap
and register it to trap #14 to call it from kernel for console output
- add dumb romcall based tty attachment taken from src/sys/dev/ofw/ofcons.c
- add rom function call stubs from news68k/stand/common/romcalls.S
- remove IIOV() macro for device registers where now mapped PA==VA via %tt1

XXX: romcons is not enabled yet because there is no generic interface
XXX: to attach wskbd(4) to non wsdisplay(4) devices like this romcons.
 1.59 15-Nov-2011  tsutsui Move spread getsfc() and getdfc() functions into common m68k/support.s.

Note:
- ENTRY_NOPROFILE() is okay since they are used only for debug printf
- they are declared to return int so no need to put a return value into %a0
 1.58 03-Nov-2011  tsutsui Replace (???) comments to avoid false trigraph warnings by new as(1).
 1.57 03-Nov-2011  tsutsui unifdef __ELF__
 1.56 08-Feb-2011  rmind branches: 1.56.4;
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.55 20-Dec-2010  matt branches: 1.55.2; 1.55.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.54 06-Jun-2010  mrg fix PR 6724 - convert m68k options to defflag's. this means that
M680[12346] are now available from opt_m68k_arch.h. FPSP meantioned
in the PR has already been fixed, and i could not find any more.

i built these kernels to ensure i did not break their builds:

amiga: GENERIC DRACO
atari: HADES FALCON MILAN-PCIIDE
mac68k: GENERIC
sun2: GENERIC
sun3: GENERIC GENERIC3X
cesfic: attempted GENERIC, does not build due to lack of machine/bus.h
hp300: GENERIC
luna68k: GENERIC
mvme68k: GENERIC
news68k: GENERIC
next68k: GENERIC
x68k: GENERIC
 1.53 25-Feb-2010  skrll branches: 1.53.2;
s/cpu_fork/cpu_lwp_fork/ in comment.
 1.52 13-Dec-2009  tsutsui branches: 1.52.2;
Now we have Sysseg_pa value so no need to calculate it from KVA Sysseg.
Tested on hp300.

XXX: mac68k seems to have a different VA vs PA mechanism so I leave it for now.
 1.51 12-Dec-2009  tsutsui Allow NetBSD/news68k kernel work with PGSHIFT==13, i.e. 8KB/page.
Tested on NWS-1750 with 68030.
 1.50 11-Dec-2009  tsutsui Move uvm_setpagesize() calls from locore.s to pmap_bootstrap_finalize().
Also explicitly set uvmexp.pagesize to prepare 8KB/page settings.

XXX: There is #ifdef !defined(amiga) && !defined(atari) workaround
XXX: because they have different pmap initialization functions.
 1.49 02-Dec-2009  tsutsui Use common pmap_bootstrap_finalize() to initialize lwp0 uarea etc.
Tested on NWS-1750.
 1.48 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.47 21-Dec-2008  tsutsui Tweak some comments and labels to sync with hp300.
 1.46 10-Dec-2008  tsutsui Account idepth in functions in locore.s that are registered in the
interrupt vector table so that we don't have to track all interrupt paths.
 1.45 03-Dec-2007  ad branches: 1.45.14; 1.45.18; 1.45.24; 1.45.26;
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.44 17-Oct-2007  garbled branches: 1.44.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.43 12-Jun-2007  mhitch branches: 1.43.8; 1.43.10;
Pass a frame pointer to trap() rather than the 'entire frame' trick. Gcc4
was optimizing away modifications to the frame contents (it's not nice to
trick gcc). Pass the pointer as the first argument to reduce the number
of places that would be changed otherwise. Fixes the getcwd regression
test on most m68k ports.
 1.42 18-May-2007  tsutsui Adapt news68k to yamt-idlelwp. Tested on NWS-1750.
 1.41 10-Feb-2007  tsutsui branches: 1.41.6; 1.41.8; 1.41.14;
Implement generic softintr(9) support for news68k.
Mostly taken from mvme68k.
 1.40 11-Dec-2005  christos branches: 1.40.24; 1.40.26;
merge ktrace-lwp.
 1.39 27-Feb-2005  tsutsui branches: 1.39.4;
Disable temporary %tt0 register mapping (for yamt-km branch).
 1.38 27-Feb-2005  tsutsui - Rename ctrl_led in locore.s to ctrl_led_phys since it has
PA of CTRL_LED port.
- Restore ctrl_led in machdep.c and store VA of CTRL_LED port to it.
 1.37 15-Dec-2004  tsutsui branches: 1.37.2; 1.37.4;
- Use macro for CTRL_POWER port
- Store machine dependent CTRL_LED address in ctrl_led
- Fix LED debug functions to use stored MD values

Actually I only used these debug routines at the very early porting stage
before I got working kernel printf. Heh.

XXX: news1200 has not been tested for many years.
 1.36 15-Dec-2004  tsutsui Backout previous because:
- we should fix genassym.sh to generate proper unsigned values rather than
remove use of such values in each source
- 0xe0dc0000 is port to control LED so INTIOBASE1700_OFF is not proper name
- these LED debug code didn't work on news1200 and it should be fixed anyway
 1.35 15-Dec-2004  jmc Convert expression for (0xe0dc0000-INTIOBASE1700) directly within a cpp
macro as otherwise gas gets handed an X - -Y expression and w 2.15 it won't
treat that as a valid expression
 1.34 04-Mar-2004  nathanw Centralize identical copies of proc_trampoline code.

(lots more opportunites here for the bored hacker, such as rei and trap0...)
 1.33 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.32 23-Jun-2003  martin branches: 1.32.2;
Make sure to include opt_foo.h if a defflag option FOO is used.
 1.31 27-Apr-2003  ragge Preserve the symbol table in the LKM || KSYMS cases also.
 1.30 08-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.29 18-Jan-2003  tsutsui TAB/space cleanup.
 1.28 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.27 02-Nov-2002  chs finish conversion to the common m68k cacheops:
add support for machine-specific flavors of the ops for off-chip caches.
many thanks to Izumi Tsutsui for his help with this.
 1.26 30-May-2002  thorpej Make this work with an ISO C preprocessor.
 1.25 14-May-2002  matt branches: 1.25.2;
Eliminate commons (including many used ones). Clean up variable references.
 1.24 22-Jul-2001  wiz branches: 1.24.6;
seperate -> separate
 1.23 30-May-2001  lukem branches: 1.23.2;
add missing #include "opt_kgdb.h"
 1.22 12-May-2001  kleink Update to reflect that unlike in m68k a.out environments, where the .align
directive is given a log2 argument, .align is given a linear argument in
m68k ELF environments.
 1.21 21-Apr-2001  tsutsui Fix a leftover comment.
 1.20 04-Mar-2001  tsutsui branches: 1.20.2;
Fix intrnames and intrcnt since there is no statclock on news68k.
 1.19 04-Mar-2001  tsutsui Remove unused getsp().
 1.18 25-Jan-2001  tsutsui Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 1.17 24-Dec-2000  jhawk Spell "physical" correctly in comment.
 1.16 26-Nov-2000  jdolecek split m68k SunOS and SVR4-specific sigcode.s code to sunos_sigcode.s
and svr4_sigcode.s respectively
adjust individual m68k port's locore.s to include new sigcode files if
appropriate
 1.15 21-Nov-2000  tsutsui Define proper macros for FP frame offsets rather than magic numbers.
 1.14 18-Nov-2000  tsutsui branches: 1.14.2;
Clear %fp to terminate backtrace on gdb.
 1.13 09-Nov-2000  tsutsui Make it possible to enable/disable DC_BE and IC_BE bits in %cacr at runtime
and enable them on news1200/1400/1500 (which have no L2cache).
 1.12 14-Oct-2000  tsutsui Clarify some intrnames.
 1.11 14-Oct-2000  tsutsui Re-enable tt0 register temporary to map I/O space.
(for framebuffer support)
 1.10 15-Sep-2000  tsutsui Add uvm_pageidlezero support. From x68k.
 1.9 20-Aug-2000  thorpej Add a lock around the scheduler, and use it as necessary, including
in the non-MULTIPROCESSOR case (LOCKDEBUG requires it). Scheduler
lock is held upon entry to mi_switch() and cpu_switch(), and
cpu_switch() releases the lock before returning.

Largely from Bill Sommerfeld, with some minor bug fixes and
machine-dependent code hacking from me.
 1.8 31-May-2000  thorpej branches: 1.8.2;
Add a comment on single-processor systems about p_cpu being initialized
by fork1().
 1.7 26-May-2000  thorpej branches: 1.7.2;
First sweep at scheduler state cleanup. Collect MI scheduler
state into global and per-CPU scheduler state:

- Global state: sched_qs (run queues), sched_whichqs (bitmap
of non-empty run queues), sched_slpque (sleep queues).
NOTE: These may collectively move into a struct schedstate
at some point in the future.

- Per-CPU state, struct schedstate_percpu: spc_runtime
(time process on this CPU started running), spc_flags
(replaces struct proc's p_schedflags), and
spc_curpriority (usrpri of processes on this CPU).

- Every platform must now supply a struct cpu_info and
a curcpu() macro. Simplify existing cpu_info declarations
where appropriate.

- All references to per-CPU scheduler state now made through
curcpu(). NOTE: this will likely be adjusted in the future
after further changes to struct proc are made.

Tested on i386 and Alpha. Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
 1.6 26-May-2000  thorpej Introduce a new process state distinct from SRUN called SONPROC
which indicates that the process is actually running on a
processor. Test against SONPROC as appropriate rather than
combinations of SRUN and curproc. Update all context switch code
to properly set SONPROC when the process becomes the current
process on the CPU.
 1.5 14-May-2000  minoura defopt FPSP.
 1.4 07-Apr-2000  tsutsui Use proper virtual address for some devices.
The transparent translation register is no longer required.
 1.3 10-Mar-2000  tsutsui Use CTRL_AST interrupt to handle asynchronous trap.
 1.2 08-Feb-2000  tsutsui Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.7.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.8.2.2 24-Dec-2000  jhawk Correct error in previous -- not rev 1.16, but rev 1.17:
Pull up revision 1.13, 1.17 (requested by tsutsui, jhawk):
Allow runtime enabling/disabling of DC_BE and IC_BE bits in %cacr
and enable them on news1200/1400/1500 (Which have no L2 cache); yields
a performance improvement. Also correct a typo in a comment.
 1.8.2.1 24-Dec-2000  jhawk Pull up revision 1.13, 1.16 (requested by tsutsui):
Allow runtime enabling/disabling of DC_BE and IC_BE bits in %cacr
and enable them on news1200/1400/1500 (Which have no L2 cache); yields
a performance improvement. Also correct a typo in a comment.
 1.14.2.8 23-Apr-2001  bouyer Sync with HEAD.
 1.14.2.7 12-Mar-2001  bouyer Sync with HEAD.
 1.14.2.6 11-Feb-2001  bouyer Sync with HEAD.
 1.14.2.5 05-Jan-2001  bouyer Sync with HEAD
 1.14.2.4 08-Dec-2000  bouyer Sync with HEAD.
 1.14.2.3 22-Nov-2000  bouyer Sync with HEAD.
 1.14.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.14.2.1 18-Nov-2000  bouyer file locore.s was added on branch thorpej_scsipi on 2000-11-20 20:16:15 +0000
 1.20.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.23.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.23.2.1 03-Aug-2001  lukem update to -current
 1.24.6.5 11-Nov-2002  nathanw Catch up to -current
 1.24.6.4 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.24.6.3 20-Jun-2002  nathanw Catch up to -current.
 1.24.6.2 18-Nov-2001  scw MD Scheduler Activation bits for News68k.
Compile-tested only.
 1.24.6.1 22-Jul-2001  scw file locore.s was added on branch nathanw_sa on 2001-11-18 18:42:20 +0000
 1.25.2.1 15-Jul-2002  gehenna catch up with -current.
 1.32.2.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.32.2.4 18-Dec-2004  skrll Sync with HEAD.
 1.32.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.32.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.32.2.1 03-Aug-2004  skrll Sync with HEAD
 1.37.4.1 27-Feb-2005  tsutsui Sync with HEAD:
> - Rename ctrl_led in locore.s to ctrl_led_phys since it has
> PA of CTRL_LED port.
> - Restore ctrl_led in machdep.c and store VA of CTRL_LED port to it.

> Disable temporary %tt0 register mapping (for yamt-km branch).
 1.37.2.1 29-Apr-2005  kent sync with -current
 1.39.4.3 07-Dec-2007  yamt sync with head
 1.39.4.2 03-Sep-2007  yamt sync with head.
 1.39.4.1 26-Feb-2007  yamt sync with head.
 1.40.26.1 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.40.24.1 18-Jun-2007  liamjfoy Pull up following revision(s) (requested by mhitch in ticket #728):
sys/arch/mvme68k/mvme68k/locore.s: revision 1.98
sys/arch/mac68k/mac68k/trap.c: revision 1.128
sys/arch/next68k/next68k/locore.s: revision 1.48
sys/arch/mac68k/mac68k/locore.s: revision 1.152
sys/arch/sun3/sun3/locore.s: revision 1.88
sys/arch/sun2/sun2/locore.s: revision 1.19
sys/arch/sun2/sun2/trap.c: revision 1.32
sys/arch/m68k/m68k/db_trace.c: revision 1.51
sys/arch/mvme68k/mvme68k/trap.c: revision 1.90
sys/arch/news68k/news68k/trap.c: revision 1.53
sys/arch/luna68k/luna68k/locore.s: revision 1.27
sys/arch/atari/atari/locore.s: revision 1.99
sys/arch/sun3/sun3/trap.c: revision 1.130
sys/arch/x68k/x68k/trap.c: revision 1.89
sys/arch/next68k/next68k/trap.c: revision 1.67
sys/arch/x68k/x68k/locore.s: revision 1.79
sys/arch/news68k/news68k/locore.s: revision 1.43
sys/arch/luna68k/luna68k/trap.c: revision 1.46
sys/arch/hp300/hp300/locore.s: revision 1.140
sys/arch/cesfic/cesfic/locore.s: revision 1.15
sys/arch/cesfic/cesfic/trap.c: revision 1.35
sys/arch/m68k/m68k/trap_subr.s: revision 1.12
sys/arch/amiga/amiga/locore.s: revision 1.143
Pass a frame pointer to trap() rather than the 'entire frame' trick. Gcc4
was optimizing away modifications to the frame contents (it's not nice to
trick gcc). Pass the pointer as the first argument to reduce the number
of places that would be changed otherwise. Fixes the getcwd regression
test on most m68k ports.
 1.41.14.2 26-Jun-2007  garbled Sync with HEAD.
 1.41.14.1 22-May-2007  matt Update to HEAD.
 1.41.8.1 11-Jul-2007  mjf Sync with head.
 1.41.6.3 03-Dec-2007  ad Sync with HEAD.
 1.41.6.2 15-Jul-2007  ad Sync with head.
 1.41.6.1 27-May-2007  ad Sync with head.
 1.43.10.2 09-Jan-2008  matt sync with HEAD
 1.43.10.1 06-Nov-2007  matt sync with HEAD
 1.43.8.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.44.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.45.26.1 19-Jan-2009  skrll Sync with HEAD.
 1.45.24.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.45.18.3 11-Aug-2010  yamt sync with head.
 1.45.18.2 11-Mar-2010  yamt sync with head
 1.45.18.1 04-May-2009  yamt sync with head.
 1.45.14.1 17-Jan-2009  mjf Sync with HEAD.
 1.52.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.52.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.53.2.2 05-Mar-2011  rmind sync with head
 1.53.2.1 03-Jul-2010  rmind sync with head
 1.55.4.1 17-Feb-2011  bouyer Sync with HEAD
 1.55.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.56.4.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.56.4.2 17-Apr-2012  yamt sync with head
 1.56.4.1 10-Nov-2011  yamt sync with head
 1.61.2.1 18-Feb-2012  mrg merge to -current.
 1.62.10.1 18-May-2014  rmind sync with head
 1.62.6.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.65.30.1 10-Jun-2019  christos Sync with HEAD
 1.65.28.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.66.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.68.4.1 27-Jun-2024  martin Pull up following revision(s) (requested by rin in ticket #724
to fix build fallout on the branch):

sys/arch/m68k/m68k/compat_16_sigreturn14.s: revision 1.6
sys/arch/mvme68k/mvme68k/locore.s: revision 1.129
sys/arch/news68k/news68k/locore.s: revision 1.84
sys/arch/hp300/hp300/locore.s: revision 1.183
sys/arch/m68k/m68k/compat_13_sigreturn13.s: revision 1.8
sys/arch/m68k/m68k/sigreturn.s: file removal
sys/arch/m68k/include/pte_motorola.h: revision 1.10
sys/arch/atari/atari/locore.s: revision 1.125
sys/arch/amiga/amiga/locore.s: revision 1.169
sys/arch/sun2/sun2/locore.s: revision 1.37
sys/arch/next68k/next68k/locore.s: revision 1.84
sys/arch/x68k/x68k/locore.s: revision 1.130
sys/arch/sun3/sun3x/locore.s: revision 1.77
sys/arch/cesfic/cesfic/locore.s: revision 1.45
sys/arch/m68k/conf/files.m68k: revision 1.53
sys/arch/sun3/sun3/locore.s: revision 1.109
sys/arch/luna68k/luna68k/locore.s: revision 1.81
sys/arch/mac68k/mac68k/locore.s: revision 1.182

Define PTE used in the pmap module int terms of the bit definitions
in mmu_{51,40}.h.

Make compat_13_sigreturn13.s and compat_16_sigreturn14.s build as their
own stand-alone files and G/C the now-empty sigreturn.s.
 1.86.2.1 02-Aug-2025  perseant Sync with HEAD
 1.116 27-Jun-2025  andvar Grammar and spelling fixes, mainly in comments. A few in documentation,
logging, test description, and SCSI ASC/ASCQ assignment descriptions.
 1.115 05-Mar-2024  thorpej branches: 1.115.2;
Move the at-shutdown call to resettodr() from cpu_reboot() to kern_reboot().

It's a small step, but it's a step.
 1.114 18-Jan-2024  thorpej Don't put the news1[27]00 model defines into INDENT, make them
defflag options and put them in opt_newsconf.h. Make these
options depend on the appropriate M680x0 option (M68030 for each)
so that the CPU option appears correctly in opt_m68k_arch.h.
 1.113 15-Jan-2024  thorpej G/C __HAVE_LEGACY_INTRCNT from news68k.
 1.112 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h> include.
 1.111 08-Oct-2023  tsutsui Remove trailing spaces and tab.
 1.110 09-Oct-2021  tsutsui Call cnpollc(9) before cngetc(9) as the cons(9) man page says.

Currently most ports do nothing in cnpollc(9), but this is required to
handle wskbd(9) .set_leds op in cngetc(9) properly, at least on luna68k.
 1.109 06-Aug-2021  tsutsui Fix mm_md_physacc() to allow only accesses to a region of RAMs.

Note on NetBSD/news68k RAMs reserved by the PROM (at the end of the RAM)
are not managed.
 1.108 11-Jun-2020  ad uvm_availmem(): give it a boolean argument to specify whether a recent
cached value will do, or if the very latest total must be fetched. It can
be called thousands of times a second and fetching the totals impacts not
only the calling LWP but other CPUs doing unrelated activity in the VM
system.
 1.107 03-Feb-2020  tsutsui Add a missing semicolon missed in rev 1.27.

Noticed by recent pmap_update() macro change.
I wonder how I've missed this for 18 years..
 1.106 31-Dec-2019  ad branches: 1.106.2;
Rename uvm_free() -> uvm_availmem().
 1.105 21-Dec-2019  ad uvmexp.free -> uvm_free()
 1.104 14-Mar-2019  thorpej G/C "MAPPECOPY". It is the deadest of wood, and never actually worked in
NetBSD.
 1.103 15-Sep-2017  christos branches: 1.103.4;
pass the right argument
 1.102 15-Sep-2017  christos make this compile
 1.101 24-Mar-2014  christos branches: 1.101.10; 1.101.20;
- use cpu_{g,s}etmodel
- fix unused
 1.100 10-Aug-2012  tsutsui branches: 1.100.2; 1.100.4;
Appease gcc -fno-common:
- remove initialzation of physmem since it's properly initialized
before pmap_bootstrap() using a value passed from bootloader and
sanity possible maximum value is not necessary
- remove cn_tab = NULL initialization because no worth to patch it
Tested on NWS-1750.
 1.99 27-Jul-2012  matt Remove safepri and use IPL_SAFEPRI instead. This may be defined in a MD
header file (if not, a value of 0 is assmued).
 1.98 12-Dec-2011  mrg implement bdev_size(9) wrapper around d_psize() routine, so we can take
the device lock in relevant places. avoid doing so while actually dumping.

tested i386 crash dumps still work, and that all touched files compile.

fixes PR#45705.
 1.97 22-Nov-2011  tsutsui branches: 1.97.2;
Remove more now unnecessary IIOV() conversion.
XXX: we should have proper PA to VA macro for TT mappings for readability
 1.96 20-Nov-2011  tsutsui Add preliminary PROM internal function based framebuffer console support,
which was demonstrated at Open Source Conference 2011 Kansai @ Kyoto
back in July:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-Kansai

- map 0xc0000000-0xffffffff PA region (which is mirror of PA 0x0-0x3fffffff)
to the same VA via %tt0 and %tt1 registers and move KVA space accordingly
(like luna68k does for its devices)
- save trap #0 vector for PROM function calls in early bootstrap
and register it to trap #14 to call it from kernel for console output
- add dumb romcall based tty attachment taken from src/sys/dev/ofw/ofcons.c
- add rom function call stubs from news68k/stand/common/romcalls.S
- remove IIOV() macro for device registers where now mapped PA==VA via %tt1

XXX: romcons is not enabled yet because there is no generic interface
XXX: to attach wskbd(4) to non wsdisplay(4) devices like this romcons.
 1.95 12-Jun-2011  rmind branches: 1.95.2;
Welcome to 5.99.53! Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
kernel-lock on some ports). Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.
 1.94 16-May-2011  tsutsui branches: 1.94.2;
- merge and move pasted m68k MD setreg() functions into m68k/m68k_machdep.c
- move m68881_save() and m68881_restore() declarations into <m68k/m68k.h>

Briefly tested and no obvious breakage on atari, sun3, and x68k.
 1.93 15-May-2011  tsutsui Some KNF.
 1.92 10-May-2011  tsutsui Move isrinit() call from early news68k_init() to cpu_configure(9)
since interrupt service routines would want evcnt(9).
 1.91 06-Mar-2011  tsutsui Remove trailing spaces and TABs.
 1.90 04-Mar-2011  joerg Refactor ps_strings access. Based on PK_32, write either the normal
version or the 32bit compat layout in execve1. Introduce a new function
copyin_psstrings for reading it back from userland and converting it to
the native layout. Refactor procfs to share most of the code with the
kern.proc_args sysctl handler.

This material is based upon work partially supported by
The NetBSD Foundation under a contract with Joerg Sonnenberger.
 1.89 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.88 17-Jan-2011  tsutsui branches: 1.88.2;
Explicitly include <machine/pcb.h> for struct pcb.
 1.87 20-Dec-2010  matt branches: 1.87.2;
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.86 14-Oct-2010  tsutsui Prepare empty module_init_md() for options MODULAR.
 1.85 08-Feb-2010  joerg branches: 1.85.2;
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.84 10-Dec-2009  matt branches: 1.84.2;
Change u_long to vaddr_t/vsize_t in exec code where appropriate (mostly
involves setregs and vmcmds). Should result in no code differences.
 1.83 23-Nov-2009  rmind Use lwp_getpcb() on m68k ports, clean from struct user usage.
 1.82 07-Nov-2009  cegger Add a flags argument to pmap_kenter_pa(9).
Patch showed on tech-kern@ http://mail-index.netbsd.org/tech-kern/2009/11/04/msg006434.html
No objections.
 1.81 15-Aug-2009  matt Include <sys/exec_aout.h> explicitly instead of relying on <sys/exec.h> to
do it for us.
 1.80 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.79 21-Jan-2009  he branches: 1.79.2;
Re-adapt to the changed return types for major() and minor().
 1.78 11-Jan-2009  tsutsui Use PRIu64 to print 64 bit dev_t.
 1.77 10-Dec-2008  tsutsui Account idepth in functions in locore.s that are registered in the
interrupt vector table so that we don't have to track all interrupt paths.
 1.76 30-Nov-2008  martin 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.75 25-Nov-2008  ad dumpsys: don't spew numbers into the log.
 1.74 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.73 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.72 14-Sep-2008  tsutsui branches: 1.72.2; 1.72.4;
Remove ancient workaround hacks for gcc 2.7.2.
 1.71 02-Jul-2008  ad branches: 1.71.2;
Replce exec_map with a pool. Proposed on tech-kern@, reviewed by chs@.
 1.70 28-Jan-2008  tsutsui branches: 1.70.6; 1.70.10; 1.70.12; 1.70.14;
- account idepth in all interrupt handlers
- use idepth for CLKF_INTR()
 1.69 17-Oct-2007  garbled branches: 1.69.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.68 18-May-2007  tsutsui branches: 1.68.10;
Adapt news68k to yamt-idlelwp. Tested on NWS-1750.
 1.67 05-Mar-2007  tsutsui branches: 1.67.2; 1.67.4; 1.67.10;
Allocate msgbufaddr in pmap_bootstrap.c where it's initilized,
and move its declaration into <m68k/pmap_motorola.h>.
 1.66 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.65 28-Feb-2007  thorpej TRUE -> true, FALSE -> false
 1.64 10-Feb-2007  tsutsui branches: 1.64.2;
Implement generic softintr(9) support for news68k.
Mostly taken from mvme68k.
 1.63 21-Oct-2006  mrg in cpu_dumpconf(), don't panic() if we can't bdevsw_lookup() the
dumpdev. this occurs when we try to set the dumpdev to a device
with no driver loaded. this fixes PR#34872.

in sys_swapctl, if bdevsw_lookup() fails, set dumpdev = NODEV
before calling cpu_dumpconf(). (this also fixes PR#34872.)

XXX: cpu_dumpconf() should probably be changed to take a dumpdev
XXX: and return an error in such cases, but that is a much more
XXX: intrusive change.

XXX2: this is only run-tested on sparc64 and compile tested on a
XXX2: couple of platforms.
 1.62 11-Dec-2005  christos branches: 1.62.20; 1.62.22;
merge ktrace-lwp.
 1.61 30-Oct-2005  chs fix crash dumps on m68k platforms, cpu_kcore_hdr_t is larger than
512 bytes now so we need a bigger buffer. PR 26958.
 1.60 02-Jun-2005  tsutsui branches: 1.60.2; 1.60.4;
- add const
- u_char -> uint8_t
- sccport0a is not used as pointer, so make it uint32_t address
- idrom is stored in ROM, so make it const rather than volatile
 1.59 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.58 27-Feb-2005  tsutsui branches: 1.58.2;
LANCE chip actually requires PA of shared mem rather than VA.

Fortunately, lower bytes of PA and VA for intio devices were identical
on -current pmap, but the problem appears on new yamt-km which has differnt
address layout. Ummmmm.
 1.57 27-Feb-2005  tsutsui TAB/space cosmetics in the previous.
 1.56 27-Feb-2005  tsutsui - Rename ctrl_led in locore.s to ctrl_led_phys since it has
PA of CTRL_LED port.
- Restore ctrl_led in machdep.c and store VA of CTRL_LED port to it.
 1.55 11-Feb-2005  yamt remove uvm_map_protect from cpu_startup of several ports.
- they shouldn't be needed with the current fault handler.
- they causes assertion failure with the recent vm_map implementation.

discussed on tech-kern@. reviewed by Chuck Silvers.
PR/29179 from Julio M. Merino Vidal.
 1.54 01-Jan-2005  tsutsui branches: 1.54.2; 1.54.4;
- Make some local functions static.
- Remove unused prototype declarations.
 1.53 16-Dec-2004  tsutsui Now ctrl_led is set in locore.s so remove it from machdep.c.
 1.52 11-Dec-2004  tsutsui u_intXX_t -> uintXX_t
 1.51 04-Sep-2004  tsutsui - Use ANSI function declarations and make some functions static.
- Some KNF
 1.50 24-Mar-2004  atatat Tango on sysctl_createv() and flags. The flags have all been renamed,
and sysctl_createv() now uses more arguments.
 1.49 13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.48 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.47 04-Dec-2003  atatat Dynamic sysctl.

Gone are the old kern_sysctl(), cpu_sysctl(), hw_sysctl(),
vfs_sysctl(), etc, routines, along with sysctl_int() et al. Now all
nodes are registered with the tree, and nodes can be added (or
removed) easily, and I/O to and from the tree is handled generically.

Since the nodes are registered with the tree, the mapping from name to
number (and back again) can now be discovered, instead of having to be
hard coded. Adding new nodes to the tree is likewise much simpler --
the new infrastructure handles almost all the work for simple types,
and just about anything else can be done with a small helper function.

All existing nodes are where they were before (numerically speaking),
so all existing consumers of sysctl information should notice no
difference.

PS - I'm sorry, but there's a distinct lack of documentation at the
moment. I'm working on sysctl(3/8/9) right now, and I promise to
watch out for buses.
 1.46 21-Oct-2003  tsutsui Use proper macro instead of NULL.
 1.45 27-Sep-2003  cl Cast through (void *) to appease gcc3.
 1.44 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.43 15-Jul-2003  lukem __KERNEL_RCSID()
 1.42 29-Jun-2003  fvdl branches: 1.42.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.41 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.40 10-May-2003  thorpej Back out the following chagne:
http://mail-index.netbsd.org/source-changes/2003/05/08/0068.html

There were some side-effects that I didn't anticipate, and fixing them
is proving to be more difficult than I thought, do just eject for now.
Maybe one day we can look at this again.

Fixes PR kern/21517.
 1.39 08-May-2003  thorpej Simplify the way the bounds of the managed kernel virtual address
space is advertised to UVM by making virtual_avail and virtual_end
first-class exported variables by UVM. Machine-dependent code is
responsible for initializing them before main() is called. Anything
that steals KVA must adjust these variables accordingly.

This reduces the number of instances of this info from 3 to 1, and
simplifies the pmap(9) interface by removing the pmap_virtual_space()
function call, and removing two arguments from pmap_steal_memory().

This also eliminates some kludges such as having to burn kernel_map
entries on space used by the kernel and stolen KVA.

This also eliminates use of VM_{MIN,MAX}_KERNEL_ADDRESS from MI code,
this giving MD code greater flexibility over the bounds of the managed
kernel virtual address space if a given port's specific platforms can
vary in this regard (this is especially true of the evb* ports).
 1.38 26-Apr-2003  ragge 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 18-Jan-2003  tsutsui TAB/space cleanup.
 1.35 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.34 11-Jan-2003  tsutsui Fix -Wsign-compare and -Wuninitialized warnings.
 1.33 20-Dec-2002  tsutsui Remove __P().
 1.32 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.31 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.30 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.29 20-Mar-2002  christos branches: 1.29.4;
kill remaining PS_STRINGS instances.
 1.28 06-Mar-2002  tsutsui Change type of dumpmag to u_int32_t since it is actually
a 32bit unsigned magic number.
As per discussion on tech-kern, and fixes port-sparc64/11949.
 1.27 02-Dec-2001  tsutsui Use pmap_kenter_pa() rather than pmap_enter() for msgbufaddr.
 1.26 10-Sep-2001  chris branches: 1.26.4;
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.25 25-Jul-2001  tsutsui branches: 1.25.2;
Cosmetics. (some KNF, typo etc.)
 1.24 07-Jul-2001  tsutsui branches: 1.24.2;
Split clock device attachment into interval timer and todclock
since they are actually independent devices.
 1.23 07-Jul-2001  tsutsui bzero() -> memset()
 1.22 07-Jul-2001  tsutsui bcopy() -> memcpy() (I guess there is no overlap here)
 1.21 02-Jun-2001  chs replace vm_map{,_entry}_t with struct vm_map{,_entry} *.
 1.20 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.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 25-Feb-2001  tsutsui branches: 1.18.2;
Remove unneeded COMPAT_HPUX stuff.
 1.17 17-Feb-2001  tsutsui Remove unused fb stuff.
 1.16 17-Feb-2001  tsutsui Fix some nested extern declarations.
 1.15 25-Jan-2001  tsutsui Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 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 12-Jan-2001  tsutsui Handle ELF case on calling ddb_init().

XXX should use bootinfo to pass symbol addresses.
 1.12 15-Sep-2000  tsutsui branches: 1.12.2;
netintr() is now declared in isr.h.
 1.11 13-Sep-2000  thorpej Add an align argument to uvm_map() and some callers of that
routine. Works similarly fto pmap_prefer(), but allows callers
to specify a minimum power-of-two alignment of the region.
How we ever got along without this for so long is beyond me.
 1.10 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.9 26-Jun-2000  mrg remove/move more mach vm header files:

<vm/pglist.h> -> <uvm/uvm_pglist.h>
<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
<vm/vm_object.h> -> nothing
<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
 1.8 05-Jun-2000  jhawk Do not clear msgbufenabled in dumpsys(). Dump messages will now go to
the message buffer. This can be invaluable in debugging if the dump
fails (assuming a persistant message buffer)
 1.7 26-May-2000  thorpej branches: 1.7.2;
First sweep at scheduler state cleanup. Collect MI scheduler
state into global and per-CPU scheduler state:

- Global state: sched_qs (run queues), sched_whichqs (bitmap
of non-empty run queues), sched_slpque (sleep queues).
NOTE: These may collectively move into a struct schedstate
at some point in the future.

- Per-CPU state, struct schedstate_percpu: spc_runtime
(time process on this CPU started running), spc_flags
(replaces struct proc's p_schedflags), and
spc_curpriority (usrpri of processes on this CPU).

- Every platform must now supply a struct cpu_info and
a curcpu() macro. Simplify existing cpu_info declarations
where appropriate.

- All references to per-CPU scheduler state now made through
curcpu(). NOTE: this will likely be adjusted in the future
after further changes to struct proc are made.

Tested on i386 and Alpha. Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
 1.6 28-Mar-2000  simonb Centralise the declarations of cpu_model, machine, machine_arch,
osrelease, and ostype and remove "extern char foo[];" (for hostname
and domainname too).

Also delete redunctant decl of boottime in kern_info_43.c.
 1.5 10-Mar-2000  tsutsui Use CTRL_AST interrupt to handle asynchronous trap.
 1.4 08-Feb-2000  tsutsui Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.3 19-Jan-2000  thorpej Move callout initialization to a single location; no need to duplicate
that code all over the place.
 1.2 29-Dec-1999  tsutsui Modify software interrupt handling a bit.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.7.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.12.2.6 27-Mar-2001  bouyer Sync with HEAD.
 1.12.2.5 12-Mar-2001  bouyer Sync with HEAD.
 1.12.2.4 11-Feb-2001  bouyer Sync with HEAD.
 1.12.2.3 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 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 15-Sep-2000  bouyer file machdep.c was added on branch thorpej_scsipi on 2000-11-20 20:16:16 +0000
 1.18.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.18.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.24.2.7 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.24.2.6 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.24.2.5 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.24.2.4 16-Mar-2002  jdolecek Catch up with -current.
 1.24.2.3 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.24.2.2 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.24.2.1 03-Aug-2001  lukem update to -current
 1.25.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.26.4.12 15-Jan-2003  thorpej Sync with HEAD.
 1.26.4.11 29-Dec-2002  thorpej Sync with HEAD.
 1.26.4.10 18-Oct-2002  nathanw Catch up to -current.
 1.26.4.9 17-Sep-2002  nathanw Catch up to -current.
 1.26.4.8 27-Aug-2002  nathanw Catch up to -current.
 1.26.4.7 12-Jul-2002  nathanw No longer need to pull in lwp.h; proc.h pulls it in for us.
 1.26.4.6 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.26.4.5 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.26.4.4 08-Jan-2002  nathanw Catch up to -current.
 1.26.4.3 02-Dec-2001  scw If an FPU is available, call m68k_make_fpu_idle_frame() to generate
a reference FPU idle frame.
 1.26.4.2 18-Nov-2001  scw MD Scheduler Activation bits for News68k.
Compile-tested only.
 1.26.4.1 10-Sep-2001  scw file machdep.c was added on branch nathanw_sa on 2001-11-18 18:42:20 +0000
 1.29.4.2 31-Aug-2002  gehenna catch up with -current.
 1.29.4.1 17-May-2002  gehenna Replace the access to devsw table and the hard-coded major with devsw API.
 1.42.2.9 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.42.2.8 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.42.2.7 15-Feb-2005  skrll Sync with HEAD.
 1.42.2.6 17-Jan-2005  skrll Sync with HEAD.
 1.42.2.5 18-Dec-2004  skrll Sync with HEAD.
 1.42.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.42.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.42.2.2 03-Aug-2004  skrll Sync with HEAD
 1.42.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.54.4.3 27-Feb-2005  tsutsui Sync with HEAD:
> LANCE chip actually requires PA of shared mem rather than VA.
>
> Fortunately, lower bytes of PA and VA for intio devices were identical
> on -current pmap, but the problem appears on new yamt-km which has differnt
> address layout. Ummmmm.

Now a yamt-km kernel for news68k goes to multi user.
(sorry for ugly MD sources)
 1.54.4.2 27-Feb-2005  tsutsui Sync with HEAD:
> - Rename ctrl_led in locore.s to ctrl_led_phys since it has
> PA of CTRL_LED port.
> - Restore ctrl_led in machdep.c and store VA of CTRL_LED port to it.

> Disable temporary %tt0 register mapping (for yamt-km branch).
 1.54.4.1 12-Feb-2005  yamt sync with head.
 1.54.2.1 29-Apr-2005  kent sync with -current
 1.58.2.1 01-Nov-2005  tron Pull up following revision(s) (requested by chs in ticket #923):
sys/arch/next68k/next68k/machdep.c: revision 1.73
sys/arch/luna68k/luna68k/machdep.c: revision 1.42
sys/arch/hp300/hp300/machdep.c: revision 1.184
sys/arch/amiga/amiga/machdep.c: revision 1.193
sys/arch/x68k/x68k/machdep.c: revision 1.129
sys/arch/mac68k/mac68k/machdep.c: revision 1.306
sys/arch/news68k/news68k/machdep.c: revision 1.61
sys/arch/mvme68k/mvme68k/machdep.c: revision 1.113
sys/arch/atari/atari/atari_init.c: revision 1.63
fix crash dumps on m68k platforms, cpu_kcore_hdr_t is larger than
512 bytes now so we need a bigger buffer. PR 26958.
 1.60.4.1 02-Nov-2005  yamt sync with head.
 1.60.2.5 04-Feb-2008  yamt sync with head.
 1.60.2.4 03-Sep-2007  yamt sync with head.
 1.60.2.3 26-Feb-2007  yamt sync with head.
 1.60.2.2 30-Dec-2006  yamt sync with head.
 1.60.2.1 21-Jun-2006  yamt sync with head.
 1.62.22.1 22-Oct-2006  yamt sync with head
 1.62.20.1 18-Nov-2006  ad Sync with head.
 1.64.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.67.10.1 22-May-2007  matt Update to HEAD.
 1.67.4.1 11-Jul-2007  mjf Sync with head.
 1.67.2.1 27-May-2007  ad Sync with head.
 1.68.10.2 23-Mar-2008  matt sync with HEAD
 1.68.10.1 06-Nov-2007  matt sync with HEAD
 1.69.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.70.14.1 03-Jul-2008  simonb Sync with head.
 1.70.12.2 24-Sep-2008  wrstuden Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
 1.70.12.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.70.10.3 11-Mar-2010  yamt sync with head
 1.70.10.2 19-Aug-2009  yamt sync with head.
 1.70.10.1 04-May-2009  yamt sync with head.
 1.70.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.70.6.2 28-Sep-2008  mjf Sync with HEAD.
 1.70.6.1 02-Jul-2008  mjf Sync with HEAD.
 1.71.2.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.71.2.1 19-Oct-2008  haad Sync with HEAD.
 1.72.4.1 02-Feb-2009  snj Pull up following revision(s) (requested by ad in ticket #346):
sys/arch/alpha/alpha/machdep.c: revision 1.311
sys/arch/amiga/amiga/machdep.c: revision 1.211
sys/arch/atari/atari/machdep.c: revision 1.153
sys/arch/hp700/hp700/machdep.c: revision 1.53
sys/arch/i386/i386/dumpsys.c: revision 1.5
sys/arch/mips/mips/mips_machdep.c: revision 1.206
sys/arch/mvme68k/mvme68k/machdep.c: revision 1.132
sys/arch/news68k/news68k/machdep.c: revision 1.75
sys/arch/next68k/next68k/machdep.c: revision 1.88
sys/arch/sparc/sparc/machdep.c: revision 1.285
sys/arch/sparc64/sparc64/machdep.c: revision 1.230
sys/arch/sun2/sun2/machdep.c: revision 1.56
sys/arch/sun3/sun3/machdep.c: revision 1.188
sys/arch/sun3/sun3x/machdep.c: revision 1.114
sys/arch/x68k/x68k/machdep.c: revision 1.153
dumpsys: don't spew numbers into the log.
 1.72.2.2 03-Mar-2009  skrll Sync with HEAD.
 1.72.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.79.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.84.2.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.84.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.85.2.5 31-May-2011  rmind sync with head
 1.85.2.4 21-Apr-2011  rmind sync with head
 1.85.2.3 05-Mar-2011  rmind sync with head
 1.85.2.2 25-Apr-2010  rmind - Invent mm_md_getva() and mm_md_relva() routines, provided by MD and
indicated with __HAVE_MM_MD_PREFER_VA. It will be used to deal with
cache aliasing issues and thus fix little MIPS, ARM and friends.

- Convert dev_mem_readwrite() to use unmanaged mappings. Fix a missed
offset addition in a case of direct map. Sprinkle various comments in
the memory device driver.

- Add missing direct map handling on hp700 and vax. Make checks across
m68k ports more consistent, reduce the diffs. Fix kernacc check miss
on news68k. Minor off-by-one fix for alpha. Add MEMC_PHYS_BASE for
mmap() case check on acorn26. Misc clean-up.
 1.85.2.1 18-Mar-2010  rmind Unify /dev/{mem,kmem,zero,null} implementations in MI code. Based on patch
from Joerg Sonnenberger, proposed on tech-kern@, in February 2008.

Work and depression still in progress.
 1.87.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.88.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.88.2.1 17-Feb-2011  bouyer Sync with HEAD
 1.94.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.95.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.95.2.2 30-Oct-2012  yamt sync with head
 1.95.2.1 17-Apr-2012  yamt sync with head
 1.97.2.1 18-Feb-2012  mrg merge to -current.
 1.100.4.1 18-May-2014  rmind sync with head
 1.100.2.2 03-Dec-2017  jdolecek update from HEAD
 1.100.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.101.20.1 27-Apr-2017  pgoyette Restore all work from the former pgoyette-localcount branch (which is
now abandoned doe to cvs merge botch).

The branch now builds, and installs via anita. There are still some
problems (cgd is non-functional and all atf tests time-out) but they
will get resolved soon.
 1.101.10.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.103.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.103.4.1 10-Jun-2019  christos Sync with HEAD
 1.106.2.1 29-Feb-2020  ad Sync with head.
 1.115.2.1 02-Aug-2025  perseant Sync with HEAD
 1.5 18-Jan-2024  thorpej Don't put the news1[27]00 model defines into INDENT, make them
defflag options and put them in opt_newsconf.h. Make these
options depend on the appropriate M680x0 option (M68030 for each)
so that the CPU option appears correctly in opt_m68k_arch.h.
 1.4 11-Dec-2005  christos 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 08-Feb-2000  tsutsui branches: 1.2.6; 1.2.30;
Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.30.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.30.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.30.1 03-Aug-2004  skrll Sync with HEAD
 1.2.6.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.6.1 08-Feb-2000  bouyer file machid.h was added on branch thorpej_scsipi on 2000-11-20 20:16:16 +0000
 1.18 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.17 24-Apr-2021  thorpej branches: 1.17.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.16 06-Mar-2011  tsutsui branches: 1.16.70;
Remove trailing spaces and TABs.
 1.15 28-Mar-2008  tsutsui branches: 1.15.26; 1.15.32;
Use CFATTACH_DECL_NEW(), device_t, cfdata_t, and aprint_normal(9).
 1.14 11-Dec-2005  christos branches: 1.14.74;
merge ktrace-lwp.
 1.13 26-Aug-2005  drochner s/locdesc_t/int/g
 1.12 03-Jul-2005  he branches: 1.12.2;
We need to name parameters in function declaration...
 1.11 30-Jun-2005  drochner adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes
 1.10 04-Sep-2004  tsutsui - Use ANSI function declarations and make some functions static.
- Some KNF
 1.9 15-Jul-2003  lukem __KERNEL_RCSID()
 1.8 01-Jan-2003  thorpej branches: 1.8.2;
Use aprint_normal() for cfprint routines.
 1.7 20-Dec-2002  tsutsui Remove __P().
 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 08-Feb-2000  tsutsui branches: 1.2.6; 1.2.10; 1.2.14;
Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.14.3 03-Jan-2003  thorpej Sync with HEAD.
 1.2.14.2 29-Dec-2002  thorpej Sync with HEAD.
 1.2.14.1 18-Oct-2002  nathanw Catch up to -current.
 1.2.10.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.6.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.6.1 08-Feb-2000  bouyer file mainbus.c was added on branch thorpej_scsipi on 2000-11-20 20:16:16 +0000
 1.8.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 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.12.2.1 21-Jun-2006  yamt sync with head.
 1.14.74.1 03-Apr-2008  mjf Sync with HEAD.
 1.15.32.1 06-Jun-2011  jruoho Sync with HEAD.
 1.15.26.1 21-Apr-2011  rmind sync with head
 1.16.70.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.16.70.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.16.70.4 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.16.70.3 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.16.70.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.16.70.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.17.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.21 12-Jun-2011  rmind Welcome to 5.99.53! Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
kernel-lock on some ports). Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.
 1.20 08-Feb-2011  rmind branches: 1.20.2;
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.19 04-Mar-2007  tsutsui branches: 1.19.40; 1.19.64; 1.19.66; 1.19.72; 1.19.74;
- remove unnecessary cast
- use (char *) on pointer arith
 1.18 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.17 11-Dec-2005  christos branches: 1.17.26;
merge ktrace-lwp.
 1.16 04-Sep-2004  tsutsui branches: 1.16.12;
- Use ANSI function declarations and make some functions static.
- Some KNF
 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 02-Apr-2003  thorpej branches: 1.13.2;
Use PAGE_SIZE rather than NBPG.
 1.12 23-Oct-2002  jdolecek 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.11 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.10 27-Feb-2002  christos branches: 1.10.8;
- Use DEV_ constants, instead of documenting the numbers!
- Delete cdev_decl(mm); where appropriate, and other hand-crufting [hi powerpc!]
 1.9 16-Dec-2001  tsutsui malloc() + memset() -> malloc() with M_ZERO flag
 1.8 10-Sep-2001  chris branches: 1.8.4;
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.7 07-Jul-2001  tsutsui branches: 1.7.2; 1.7.4;
bzero() -> memset()
 1.6 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.5 25-Feb-2001  tsutsui branches: 1.5.2;
Sync with x68k:
Use m68k_page_offset and m68k_trunc_page macros,
instead of using PGOFSET directly.
 1.4 29-Jun-2000  mrg branches: 1.4.2;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.3 26-Jun-2000  simonb Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes. Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
 1.2 04-Mar-2000  nisimura branches: 1.2.4;
Use cdev_decl() for cdev prototype declaration, fixing errors in the 4th
argument of mmopen() and mmclose().
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.4.1 30-Jun-2000  simonb Pull up mmap paddr_t/off_t changes from trunk.
 1.4.2.3 12-Mar-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 29-Jun-2000  bouyer file mem.c was added on branch thorpej_scsipi on 2000-11-20 20:16:16 +0000
 1.5.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.7.4.2 10-Oct-2001  fvdl Convert all remaining devices.
 1.7.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.7.2.4 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.7.2.3 16-Mar-2002  jdolecek Catch up with -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.8.4.5 11-Nov-2002  nathanw Catch up to -current
 1.8.4.4 17-Sep-2002  nathanw Catch up to -current.
 1.8.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.8.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.8.4.1 10-Sep-2001  nathanw file mem.c was added on branch nathanw_sa on 2002-01-08 00:26:53 +0000
 1.10.8.1 17-May-2002  gehenna Add the character device switch.
 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.12.1 03-Sep-2007  yamt sync with head.
 1.17.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.19.74.1 17-Feb-2011  bouyer Sync with HEAD
 1.19.72.1 06-Jun-2011  jruoho Sync with HEAD.
 1.19.66.1 18-Mar-2010  rmind Unify /dev/{mem,kmem,zero,null} implementations in MI code. Based on patch
from Joerg Sonnenberger, proposed on tech-kern@, in February 2008.

Work and depression still in progress.
 1.19.64.1 30-Oct-2010  uebayasi Implement pmap_physload_device(9) to replace xmd(4) MD backend.
Implement pmap_mmap(9) and use it from mem(4) and xmd(4).
 1.19.40.1 29-Mar-2008  mjf Add a mem_init() function for each architecture that requests a device
node for /dev/mem, /dev/null, /dev/zero, etc.

This will disappear when I move this code (and others) to be a
pseudo-device. When we have machine-independent mem code this will all be
unnecessary anyway.
 1.20.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.35 05-Nov-2002  chs merge pmap.c for all 4k-page motorola-MMU (or compatible) m68k platforms.
 1.34 03-Nov-2002  chs merge pmap.h for all 4k-page motorola-MMU (or compatible) m68k platforms.
 1.33 20-Oct-2002  chs merge the 12 copies of vm_machdep.c on the m68k platforms.
clean up some other stuff along the way, including:
- use m68k/cacheops.*, remove duplicates from cpu.h.
- centralize a few declarations in (all the copies of) cpu.h.
- define M68K_VAC on platforms which have a VAC.
- switch the sun platforms to the (now common) proc_trampoline().
- do the phys_map thang on the sun platforms too, no reason not to.
 1.32 14-Oct-2002  chs merge pte.h for m68k w/ motorola or compatible MMU
(only 4k-page platforms so far).
 1.31 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.30 22-May-2002  drochner Subtract vm_map_min(kernel_map) from kernel virtual addresses to get offsets
into kernel_object where this was missing.
This is a no-op on ports where VM_MIN_KERNEL_ADDRESS==0, ie all but
cesfic.
Confirmed and corrected by Chuck Silvers.
 1.29 08-Mar-2002  thorpej branches: 1.29.6;
Pool deals fairly well with physical memory shortage, but it doesn't
deal with shortages of the VM maps where the backing pages are mapped
(usually kmem_map). Try to deal with this:

* Group all information about the backend allocator for a pool in a
separate structure. The pool references this structure, rather than
the individual fields.
* Change the pool_init() API accordingly, and adjust all callers.
* Link all pools using the same backend allocator on a list.
* The backend allocator is responsible for waiting for physical memory
to become available, but will still fail if it cannot callocate KVA
space for the pages. If this happens, carefully drain all pools using
the same backend allocator, so that some KVA space can be freed.
* Change pool_reclaim() to indicate if it actually succeeded in freeing
some pages, and use that information to make draining easier and more
efficient.
* Get rid of PR_URGENT. There was only one use of it, and it could be
dealt with by the caller.

From art@openbsd.org.
 1.28 02-Jan-2002  chs pmap_page_protect(VM_PROT_NONE) must remove all mappings in the PV list,
even if they are wired. we need to be able to remove all mappings to
pages that are being freed due to (eg.) file truncation.
 1.27 16-Dec-2001  tsutsui Fix comments for ref-count of PT pages.
 1.26 16-Dec-2001  tsutsui cosmetics (typo, KNF etc.)
 1.25 13-Dec-2001  chs change the reference-counting of PT pages to start from zero instead of
one, so that we don't mess up the global count of wired pages by having
the page's wire_count be non-zero when we free the page.
pointed out by Michael Hitch.
 1.24 24-Nov-2001  isaki fix typo s/68551/68851/ in a comment.
 1.23 19-Nov-2001  chs allocate and free page table pages explicitly instead of abusing
uvm_fault_wire(). this allows us to make pt_map non-pageable,
but we need to be careful in pmap_remove() not to attempt to
reference PTEs after the PTP has been freed.
 1.22 29-Sep-2001  chs branches: 1.22.4;
fix typo in pmap_kremove() which was invalidating the wrong TLB entry.
from Hiroki Tanikawa in PR 14099.
 1.21 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.20 26-Aug-2001  tsutsui branches: 1.20.2;
sysctl(2) -> sysctl(3) (in comments)
 1.19 26-Aug-2001  tsutsui Add one more pmap_update() missed in rev 1.14.
 1.18 25-Jul-2001  tsutsui Apply pmap_k{enter_pa,remove} patches provided by Chuck Silvers.
 1.17 07-Jul-2001  tsutsui branches: 1.17.2;
bzero() -> memset()
 1.16 02-Jun-2001  chs replace vm_map{,_entry}_t with struct vm_map{,_entry} *.
 1.15 26-May-2001  chs replace vm_page_t with struct vm_page *.
 1.14 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.13 22-Apr-2001  thorpej Remove pmap_kenter_pgs(). It was never really adopted by
anything, and the interface itself wasn't as flexible as
callers would have probably liked.
 1.12 21-Apr-2001  thorpej #define away pmap_update() in <machine/pmap.h> so that no function
call overhead is incurred as we start sprinkling pmap_update() calls
throughout the source tree (no pmaps currently defer operations, but
we are adding the infrastructure to allow them to do so).
 1.11 21-Apr-2001  thorpej pmap_update() should not be equated with "flush entire TLB", it is
used to process deferred pmap operations. Since these pmaps don't
defer anything, pmap_update() is a noop.
 1.10 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.9 14-Jan-2001  thorpej branches: 1.9.2;
splimp() -> splvm()
 1.8 28-Sep-2000  itohy branches: 1.8.2;
Fix the type of pmap_zero_page_uncached from void (paddr_t) to
boolean_t (paddr_t) to make it compile again.
 1.7 21-Sep-2000  thorpej Make PMAP_PAGEIDLEZERO() return a boolean value. FALSE indidcates
that the page being zero'd was not completed and that page zeroing
should be aborted. This may be used by machine-dependent code doing
slow page access to reduce the latency of running a process that has
become runnable while in the middle of doing a slow page zero.
 1.6 15-Sep-2000  tsutsui Add uvm_pageidlezero support. From x68k.
 1.5 13-Sep-2000  thorpej Add an align argument to uvm_map() and some callers of that
routine. Works similarly fto pmap_prefer(), but allows callers
to specify a minimum power-of-two alignment of the region.
How we ever got along without this for so long is beyond me.
 1.4 29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.3 26-Jun-2000  mrg remove/move more mach vm header files:

<vm/pglist.h> -> <uvm/uvm_pglist.h>
<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
<vm/vm_object.h> -> nothing
<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
 1.2 26-Mar-2000  kleink Merge parts of chs-ubc2 into the trunk:
* Remove the casts to vaddr_t from the round_page() and trunc_page() macros to
make them type-generic, which is necessary i.e. to operate on file offsets
without truncating them.
* In due course, cast pointer arguments to these macros to an appropriate
integral type (paddr_t, vaddr_t).

Originally done by Chuck Silvers, updated by myself.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.8.2.5 23-Apr-2001  bouyer Sync with HEAD.
 1.8.2.4 27-Mar-2001  bouyer Sync with HEAD.
 1.8.2.3 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.8.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.8.2.1 28-Sep-2000  bouyer file pmap.c was added on branch thorpej_scsipi on 2000-11-20 20:16:16 +0000
 1.9.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.9.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.17.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.17.2.5 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.17.2.4 16-Mar-2002  jdolecek Catch up with -current.
 1.17.2.3 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.17.2.2 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.17.2.1 03-Aug-2001  lukem update to -current
 1.20.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.22.4.11 11-Nov-2002  nathanw Catch up to -current
 1.22.4.10 18-Oct-2002  nathanw Catch up to -current.
 1.22.4.9 12-Jul-2002  nathanw No longer need to pull in lwp.h; proc.h pulls it in for us.
 1.22.4.8 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.22.4.7 20-Jun-2002  nathanw Catch up to -current.
 1.22.4.6 17-Apr-2002  nathanw Catch up to -current.
 1.22.4.5 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.22.4.4 08-Jan-2002  nathanw Catch up to -current.
 1.22.4.3 04-Dec-2001  scw Missed a s/proc/lwp/ with DEBUG defined.
Noted by Gregory McGarry in a commit messsage for hp300.
 1.22.4.2 18-Nov-2001  scw MD Scheduler Activation bits for News68k.
Compile-tested only.
 1.22.4.1 29-Sep-2001  scw file pmap.c was added on branch nathanw_sa on 2001-11-18 18:42:20 +0000
 1.29.6.1 30-May-2002  gehenna Catch up with -current.
 1.43 18-Jan-2024  thorpej Don't put the news1[27]00 model defines into INDENT, make them
defflag options and put them in opt_newsconf.h. Make these
options depend on the appropriate M680x0 option (M68030 for each)
so that the CPU option appears correctly in opt_m68k_arch.h.
 1.42 08-Oct-2023  tsutsui Remove trailing spaces and tab.
 1.41 23-Dec-2016  maya more psize_t physmem fallout. remove conflicting types.
 1.40 10-Feb-2012  mhitch branches: 1.40.6; 1.40.24; 1.40.28;
Sigh, it's been too long since I've done some of this. Fix the RELOC().
 1.39 10-Feb-2012  mhitch Oops - have to RELOC(physmem) here.
 1.38 10-Feb-2012  mhitch The recent kmem changes allocate a large kernel address space before
pmap_init() is called, and the initial kernel PT pages aren't enough
for the allocations pmap_init(). This fails because pmap_kenter_pa()
tries to allocate a new kernel PT page and traps because the pmap has
not been initialized. When computing the number if initial kernel PT
pages, include enough to allow kmem to map the physical memory. This
should fix PR/45915. OK by releng@. One mac68k system has been verified
to boot. Volunteers to test the others welcome. Amigas with at least
up to 128MB of memory were OK, but larger memory will need some adjusting.
 1.37 20-Nov-2011  tsutsui branches: 1.37.2;
Add preliminary PROM internal function based framebuffer console support,
which was demonstrated at Open Source Conference 2011 Kansai @ Kyoto
back in July:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-Kansai

- map 0xc0000000-0xffffffff PA region (which is mirror of PA 0x0-0x3fffffff)
to the same VA via %tt0 and %tt1 registers and move KVA space accordingly
(like luna68k does for its devices)
- save trap #0 vector for PROM function calls in early bootstrap
and register it to trap #14 to call it from kernel for console output
- add dumb romcall based tty attachment taken from src/sys/dev/ofw/ofcons.c
- add rom function call stubs from news68k/stand/common/romcalls.S
- remove IIOV() macro for device registers where now mapped PA==VA via %tt1

XXX: romcons is not enabled yet because there is no generic interface
XXX: to attach wskbd(4) to non wsdisplay(4) devices like this romcons.
 1.36 02-Jan-2011  tsutsui branches: 1.36.8;
Tidy up common comments. (Yes, too many dup code...)
 1.35 02-Jan-2011  tsutsui Misc cosmetics to reduce diffs among these ports.
 1.34 02-Jan-2011  tsutsui Remove disabled code for VAC. No such news68k models.
 1.33 02-Jan-2011  tsutsui Pull code that maps the kernel segment table cache invalidated for 040/060,
to reduce diffs from other m68k ports.
(though news68k doesn't have 040/060 models)
 1.32 06-Jun-2010  mrg fix PR 6724 - convert m68k options to defflag's. this means that
M680[12346] are now available from opt_m68k_arch.h. FPSP meantioned
in the PR has already been fixed, and i could not find any more.

i built these kernels to ensure i did not break their builds:

amiga: GENERIC DRACO
atari: HADES FALCON MILAN-PCIIDE
mac68k: GENERIC
sun2: GENERIC
sun3: GENERIC GENERIC3X
cesfic: attempted GENERIC, does not build due to lack of machine/bus.h
hp300: GENERIC
luna68k: GENERIC
mvme68k: GENERIC
news68k: GENERIC
next68k: GENERIC
x68k: GENERIC
 1.31 27-Dec-2009  tsutsui branches: 1.31.2; 1.31.4;
Fix a typo in comment.
 1.30 11-Dec-2009  tsutsui Use appropriate macro during pmap initialization:
- use SYSMAP_VA, SEGSHIFT for Sysmap address and table entries
- use TIA_SIZE, TIB_SIZE for sizes of table entries

Now page size dependent numbers are almost replaced with proper macro.

Tested on atari, hp300, and news68k.
 1.29 06-Dec-2009  tsutsui Move initialization of protection_codes[] and kernel_pmap()
from MD pmap bootstrap sources to common pmap_bootstrap_finalize().

Tested on atari, hp300, mac68k, and news68k.

XXX: Why is protection_codes[] array initialized at run time?
 1.28 06-Dec-2009  tsutsui Sync MMU table initialization with amiga and atari a bit:

- for 040/060, move L2 descs for Sysptmap from the last L2 block in segment
table pages to the contiguous block with ones for segment table mappings

- for 020/030, invalidate ste and pte entries separately since
ste size (TIA_SIZE) and pte size (TIB_SIZE) could be different
on 8KB/page systems

Tested on hp300 (040), mac68k (LC040), and news68k (030)
(and untested on others).

XXX: some more stuff in pmap_bootstrap.c could be moved into
XXX: common pmap_bootstrap_finalize()?
 1.27 05-Dec-2009  tsutsui Use proper macro, variable names, types, and assignments for readability.
 1.26 04-Dec-2009  tsutsui Allocate lwp0upa (PA of lwp0 uarea) right after kernel rather than
between other page tables to use different mappings for ste/pte pages
as well as amiga and atari. Should resolve XXX comments in next68k and x68k.

Tested on hp300 and mac68k.
 1.25 04-Dec-2009  tsutsui No need to initialize lwp0 u-area in pmap_bootstrap()
since it will be done in pmap_bootstrap_finalize().
 1.24 02-Dec-2009  tsutsui Use common pmap_bootstrap_finalize() to initialize lwp0 uarea etc.
Tested on NWS-1750.
 1.23 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.22 17-Jan-2009  tsutsui Move extern decls for Sysseg, Sysptmap, Sysptsize, mem_size, virtual_avail,
virtual_end, and protection_codes[] to common <m68k/pmap_motorola.h>,
and also make protection_codes[] unsigned.

XXX: avail_start and avail_end should also be moved, but it causes
XXX: -Wshadow warnings in uvm/uvm_page.c:uvm_page_physload() and
XXX: I don't have a good idea of alternative names for now.
 1.21 28-Dec-2008  tsutsui Use the global kernel_pmap_ptr pointer in each MD pmap_bootstrap.c
(where MMU is not enabled yet) and make kernel_pmap_store static again.
Also consistently use uintptr_t on address conversion in RELOC() macro.

Tested on hp300 (PA != VA) and news68k (PA == VA).
 1.20 20-Dec-2008  tsutsui Sync comments about the last segment of KVA space with current implementation.
XXX other m68k ports should be updated as well.
 1.19 17-Oct-2007  garbled branches: 1.19.16; 1.19.20; 1.19.28;
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.18 18-May-2007  tsutsui branches: 1.18.10;
Update comments to sync yamt-km merge (Sysmap has been moved).

See also:
http://mail-index.netbsd.org/source-changes/2005/02/23/0004.html
 1.17 05-Mar-2007  tsutsui branches: 1.17.2; 1.17.4; 1.17.10;
Allocate msgbufaddr in pmap_bootstrap.c where it's initilized,
and move its declaration into <m68k/pmap_motorola.h>.
 1.16 04-Mar-2007  tsutsui - void *CADDR1, CADDR2; -> void *CADDR1, *CADDR2;
- vmmap is declared as (char *) in <m68k/pmap_motorola.h>
 1.15 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.14 10-Jun-2006  tsutsui branches: 1.14.12;
space nits.
 1.13 11-Dec-2005  christos branches: 1.13.4; 1.13.8; 1.13.14;
merge ktrace-lwp.
 1.12 01-Apr-2005  yamt branches: 1.12.2;
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.11 04-Sep-2004  tsutsui branches: 1.11.4; 1.11.6;
- Use ANSI function declarations and make some functions static.
- Some KNF
 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 02-Apr-2003  thorpej branches: 1.8.2;
Use PAGE_SIZE rather than NBPG.
 1.7 18-Jan-2003  tsutsui TAB/space cleanup.
 1.6 20-Dec-2002  tsutsui Remove __P().
 1.5 05-Nov-2002  chs merge pmap.c for all 4k-page motorola-MMU (or compatible) m68k platforms.
 1.4 12-Jan-2001  tsutsui branches: 1.4.8;
Remove hp300 derived "last kernel PT page" stuff. (sync with luna68k/x68k)
 1.3 29-Jun-2000  mrg branches: 1.3.2;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.2 07-Apr-2000  tsutsui Use proper virtual address for some devices.
The transparent translation register is no longer required.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.2.3 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 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 29-Jun-2000  bouyer file pmap_bootstrap.c was added on branch thorpej_scsipi on 2000-11-20 20:16:17 +0000
 1.4.8.2 29-Dec-2002  thorpej Sync with HEAD.
 1.4.8.1 11-Nov-2002  nathanw Catch up to -current
 1.8.2.4 01-Apr-2005  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.11.6.6 28-Feb-2005  yamt sync some whitespace and comments among m68k pmap_bootstrap variants.
no functional changes.
 1.11.6.5 28-Feb-2005  yamt fix typo in rev.1.11.6.1. (missing &)
XXX why not warned by compiler?
 1.11.6.4 27-Feb-2005  tsutsui Fix typo. (s/PG_/SG_/ fot Sysptmap ste)

Now yamt-km kernel for news68k goes to single user,
but lance Ethernet doesn't work with "le0: receiver disabled" messages.
 1.11.6.3 26-Feb-2005  yamt don't forget to initialize ste for Sysmap in the case of !68040.
 1.11.6.2 23-Feb-2005  yamt - remove redundant initializations of l2 descriptors.
- fix typos.
 1.11.6.1 23-Feb-2005  yamt change kernel va layout, following mac68k.
 1.11.4.1 29-Apr-2005  kent sync with -current
 1.12.2.2 03-Sep-2007  yamt sync with head.
 1.12.2.1 21-Jun-2006  yamt sync with head.
 1.13.14.1 19-Jun-2006  chap Sync with head.
 1.13.8.1 26-Jun-2006  yamt sync with head.
 1.13.4.1 09-Sep-2006  rpaulo sync with head
 1.14.12.1 12-Mar-2007  rmind Sync with HEAD.
 1.17.10.1 22-May-2007  matt Update to HEAD.
 1.17.4.1 11-Jul-2007  mjf Sync with head.
 1.17.2.1 27-May-2007  ad Sync with head.
 1.18.10.1 06-Nov-2007  matt sync with HEAD
 1.19.28.1 19-Jan-2009  skrll Sync with HEAD.
 1.19.20.3 11-Aug-2010  yamt sync with head.
 1.19.20.2 11-Mar-2010  yamt sync with head
 1.19.20.1 04-May-2009  yamt sync with head.
 1.19.16.1 17-Jan-2009  mjf Sync with HEAD.
 1.31.4.2 05-Mar-2011  rmind sync with head
 1.31.4.1 03-Jul-2010  rmind sync with head
 1.31.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.36.8.1 17-Apr-2012  yamt sync with head
 1.37.2.1 18-Feb-2012  mrg merge to -current.
 1.40.28.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.40.24.1 05-Feb-2017  skrll Sync with HEAD
 1.40.6.1 03-Dec-2017  jdolecek update from HEAD
 1.4 14-Nov-2004  christos Remove copy of empty function.
 1.3 15-Jul-2003  lukem __KERNEL_RCSID()
 1.2 18-Jan-2001  tv branches: 1.2.24;
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:49 +0000
 1.2.24.4 29-Nov-2004  skrll Sync with HEAD.
 1.2.24.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.24.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.24.1 03-Aug-2004  skrll Sync with HEAD
 1.1 20-Nov-2011  tsutsui branches: 1.1.6;
Add preliminary PROM internal function based framebuffer console support,
which was demonstrated at Open Source Conference 2011 Kansai @ Kyoto
back in July:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-Kansai

- map 0xc0000000-0xffffffff PA region (which is mirror of PA 0x0-0x3fffffff)
to the same VA via %tt0 and %tt1 registers and move KVA space accordingly
(like luna68k does for its devices)
- save trap #0 vector for PROM function calls in early bootstrap
and register it to trap #14 to call it from kernel for console output
- add dumb romcall based tty attachment taken from src/sys/dev/ofw/ofcons.c
- add rom function call stubs from news68k/stand/common/romcalls.S
- remove IIOV() macro for device registers where now mapped PA==VA via %tt1

XXX: romcons is not enabled yet because there is no generic interface
XXX: to attach wskbd(4) to non wsdisplay(4) devices like this romcons.
 1.1.6.2 17-Apr-2012  yamt sync with head
 1.1.6.1 20-Nov-2011  yamt file romcalls.S was added on branch yamt-pagecache on 2012-04-17 00:06:43 +0000
 1.3 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.2 16-Mar-2014  dholland branches: 1.2.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.1 20-Nov-2011  tsutsui branches: 1.1.6; 1.1.10; 1.1.14;
Add preliminary PROM internal function based framebuffer console support,
which was demonstrated at Open Source Conference 2011 Kansai @ Kyoto
back in July:
http://www.NetBSD.org/gallery/events.html#opensourceconf2011-Kansai

- map 0xc0000000-0xffffffff PA region (which is mirror of PA 0x0-0x3fffffff)
to the same VA via %tt0 and %tt1 registers and move KVA space accordingly
(like luna68k does for its devices)
- save trap #0 vector for PROM function calls in early bootstrap
and register it to trap #14 to call it from kernel for console output
- add dumb romcall based tty attachment taken from src/sys/dev/ofw/ofcons.c
- add rom function call stubs from news68k/stand/common/romcalls.S
- remove IIOV() macro for device registers where now mapped PA==VA via %tt1

XXX: romcons is not enabled yet because there is no generic interface
XXX: to attach wskbd(4) to non wsdisplay(4) devices like this romcons.
 1.1.14.1 18-May-2014  rmind sync with head
 1.1.10.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.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.1.6.2 17-Apr-2012  yamt sync with head
 1.1.6.1 20-Nov-2011  yamt file romcons.c was added on branch yamt-pagecache on 2012-04-17 00:06:43 +0000
 1.2.2.1 10-Aug-2014  tls Rebase.
 1.4 03-Dec-2007  ad 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.3 03-Mar-2007  tsutsui branches: 1.3.2; 1.3.18; 1.3.20; 1.3.26;
- move netintr() from isr.c to softintr.c and make it static
- remove redundant initialization in ipl2psl_table.
 1.2 10-Feb-2007  tsutsui branches: 1.2.2; 1.2.4;
- fix prototype for ctrl_int2 port (u_char -> uint8_t) in intr.h
- use proper macro to assert/clear ctrl_int2 port for softintr
- use KDASSERT() rather than #ifdef DEBUG + assert()
- don't count uvmexp.softs twice in softintr_dispatch()

XXX: Maybe we should have common m68k/softintr.c like mips ports.
 1.1 10-Feb-2007  tsutsui Implement generic softintr(9) support for news68k.
Mostly taken from mvme68k.
 1.2.4.4 07-Dec-2007  yamt sync with head
 1.2.4.3 03-Sep-2007  yamt sync with head.
 1.2.4.2 26-Feb-2007  yamt sync with head.
 1.2.4.1 10-Feb-2007  yamt file softintr.c was added on branch yamt-lazymbuf on 2007-02-26 09:07:39 +0000
 1.2.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.3.26.1 08-Dec-2007  mjf Sync with HEAD.
 1.3.20.1 23-Mar-2008  matt sync with HEAD
 1.3.18.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.3.2.1 03-Dec-2007  ad Sync with HEAD.
 1.6 03-Nov-2002  chs use a merged sys_machdep.c for all the motorola-MMU m68k platforms.
 1.5 20-Oct-2002  chs merge the 12 copies of vm_machdep.c on the m68k platforms.
clean up some other stuff along the way, including:
- use m68k/cacheops.*, remove duplicates from cpu.h.
- centralize a few declarations in (all the copies of) cpu.h.
- define M68K_VAC on platforms which have a VAC.
- switch the sun platforms to the (now common) proc_trampoline().
- do the phys_map thang on the sun platforms too, no reason not to.
 1.4 25-Feb-2001  tsutsui branches: 1.4.8;
Sync with x68k:
Use m68k_page_offset and m68k_trunc_page macros,
instead of using PGOFSET directly.
 1.3 13-Dec-2000  jdolecek g/c obsolete vtrace(2) stuff
 1.2 29-Jun-2000  mrg branches: 1.2.2;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.2.4 12-Mar-2001  bouyer Sync with HEAD.
 1.2.2.3 05-Jan-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 29-Jun-2000  bouyer file sys_machdep.c was added on branch thorpej_scsipi on 2000-11-20 20:16:17 +0000
 1.4.8.4 11-Nov-2002  nathanw Catch up to -current
 1.4.8.3 12-Jul-2002  nathanw No longer need to pull in lwp.h; proc.h pulls it in for us.
 1.4.8.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.4.8.1 18-Nov-2001  scw MD Scheduler Activation bits for News68k.
Compile-tested only.
 1.77 20-Jan-2024  thorpej Largely unify the <machine/cpu.h> headers on the m68k platforms.
 1.76 05-Oct-2023  ad Arrange to update cached LWP credentials in userret() rather than during
syscall/trap entry, eliminating a test+branch on every syscall/trap.

This wasn't possible in the 3.99.x timeframe when l->l_cred came about
because there wasn't a reliable/timely way to force an ONPROC LWP running on
a remote CPU into the kernel (which is just about the only new thing in
this scheme).
 1.75 01-Oct-2023  andvar Improve KGDB enabled build for news68k:
* include sys/kgdb.h in news68k/trap.c for missing definitions.
* cast second kgdb_trap argument to (db_regs_t *).
* build m68k/kgdb_machdep.c for kgdb_trap() implementation.

Same as for mvme68k, build complains about undefined reference to zs_check_kgdb
due to missing port specific zs kgdb implementation for MI zs(4) driver though.
 1.74 22-Apr-2023  tsutsui Remove ancient /*ARGSUSED*/ comments.
 1.73 25-Sep-2021  tsutsui Call cnpollc(9) before cngetc(9) as the cons(9) man page says.

Affects only inside #ifdef DEBUG part on "trap during panic" in trap.c
derived from hp300.
 1.72 21-Nov-2019  ad mi_userret(): take care of calling preempt(), set spc_curpriority directly,
and remove MD code that does the same.
 1.71 06-Apr-2019  thorpej Overhaul the API used to fetch and store individual memory cells in
userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(),
subyte(), suword(), etc.) are retired and replaced with new ufetch(9)
and ustore(9) APIs that can return proper error codes, etc. and are
implemented consistently across all platforms. The interrupt-safe
variants are no longer supported (and several of the existing attempts
at fuswintr(), etc. were buggy and not actually interrupt-safe).

Also augmement the ucas(9) API, making it consistently available on
all plaforms, supporting uniprocessor and multiprocessor systems, even
those that do not have CAS or LL/SC primitives.

Welcome to NetBSD 8.99.37.
 1.70 18-Feb-2019  thorpej Refactor the 68040 writeback() from each m68k port's trap handler into a
shared copy: m68040_writeback(). It is essentially a copy of the Atari
version, with some minor cosmetic tweaks and one small performance optimization
from the mvme68k port.

Tested by rjs@ on a Quadra 950. (Thanks!)
 1.69 04-Mar-2015  martin branches: 1.69.18;
Handle EINVAL in the fault path and send SIGBUS on mmap'd access past EOF
 1.68 19-Feb-2012  rmind branches: 1.68.2; 1.68.16;
Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3!
Approved by core@.
 1.67 08-Feb-2011  rmind branches: 1.67.4; 1.67.8;
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.66 17-Jan-2011  tsutsui branches: 1.66.2;
Explicitly include <machine/pcb.h> for struct pcb.
 1.65 20-Dec-2010  matt branches: 1.65.2;
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.64 07-Jul-2010  chs implement ucas_* for m68k.
 1.63 06-Jun-2010  mrg fix PR 6724 - convert m68k options to defflag's. this means that
M680[12346] are now available from opt_m68k_arch.h. FPSP meantioned
in the PR has already been fixed, and i could not find any more.

i built these kernels to ensure i did not break their builds:

amiga: GENERIC DRACO
atari: HADES FALCON MILAN-PCIIDE
mac68k: GENERIC
sun2: GENERIC
sun3: GENERIC GENERIC3X
cesfic: attempted GENERIC, does not build due to lack of machine/bus.h
hp300: GENERIC
luna68k: GENERIC
mvme68k: GENERIC
news68k: GENERIC
next68k: GENERIC
x68k: GENERIC
 1.62 20-Mar-2010  chs fix copy{in,out}{,str}() to return the error returned by uvm_fault().
fixes PR 41813.
 1.61 23-Nov-2009  rmind branches: 1.61.2; 1.61.4;
Use lwp_getpcb() on m68k ports, clean from struct user usage.
 1.60 27-Jan-2009  martin Centralize fpu exception to siginfo code encoding for all m68k archs,
fixes a failure in the lib/libc/ieeefp/except regression test.
 1.59 15-Oct-2008  wrstuden branches: 1.59.2; 1.59.4;
Merge wrstuden-revivesa into HEAD.
 1.58 24-Apr-2008  ad branches: 1.58.2; 1.58.4; 1.58.8;
Merge proc::p_mutex and proc::p_smutex into a single adaptive mutex, since
we no longer need to guard against access from hardware interrupt handlers.

Additionally, if cloning a process with CLONE_SIGHAND, arrange to have the
child process share the parent's lock so that signal state may be kept in
sync. Partially addresses PR kern/37437.
 1.57 31-Dec-2007  ad branches: 1.57.6; 1.57.8;
Remove COMPAT_HPUX.
 1.56 05-Nov-2007  ad branches: 1.56.2; 1.56.8;
Don't set l_usrpri / spc_curpriority here. mi_userret() does it.
 1.55 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.54 01-Sep-2007  mhitch branches: 1.54.4;
68030 and 68040 processors consider the read portion of a read-modify-write
transfer as a write to ensure the memory is writable before starting any
transfer. The fault status information does not reflect this in the 'read'
status bit (i.e. it shows up as a read access), so faults with a RMW access
to non-writable memory was not getting the correct protection. The page would
be read-only and the instruction would fault over and over.

A specific example is when a process forks, and the child process attempts
to execute a RMW access to a data page, which is read-only because it's CoP
Copy-On-Write.

When checking if the page needs to be writablek, also check the locked transfer
and treat any locked transfer as a write.

68060 already handled this correctly, since it has separate read and write
fault bits, and both are set on a RMW access and the trap code was checking
the write status bit.

Fixes PR#36848.
 1.53 12-Jun-2007  mhitch branches: 1.53.4; 1.53.8; 1.53.10;
Pass a frame pointer to trap() rather than the 'entire frame' trick. Gcc4
was optimizing away modifications to the frame contents (it's not nice to
trick gcc). Pass the pointer as the first argument to reduce the number
of places that would be changed otherwise. Fixes the getcwd regression
test on most m68k ports.
 1.52 18-May-2007  tsutsui Adapt news68k to yamt-idlelwp. Tested on NWS-1750.
 1.51 04-Mar-2007  christos branches: 1.51.2; 1.51.4; 1.51.10;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.50 28-Feb-2007  thorpej TRUE -> true, FALSE -> false
 1.49 10-Feb-2007  tsutsui branches: 1.49.2;
Apply some changes for newlock2, taken from other m68k ports.
 1.48 09-Feb-2007  ad Merge newlock2 to head.
 1.47 23-Jul-2006  ad branches: 1.47.4; 1.47.8; 1.47.10;
Use the LWP cached credentials where sane.
 1.46 19-Jul-2006  ad - Hold a reference to the process credentials in each struct lwp.
- Update the reference on syscall and user trap if p_cred has changed.
- Collect accounting flags in the LWP, and collate on LWP exit.
 1.45 15-May-2006  yamt include kauth.h for kauth_cred_geteuid.
 1.44 14-May-2006  elad integrate kauth.
 1.43 26-Mar-2006  tsutsui Reduce diff against hp300/trap.c.
 1.42 15-Mar-2006  drochner branches: 1.42.2;
adapt to uvm_fault() interface cleanup: kill the useless 3rd argument
 1.41 25-Feb-2006  wiz branches: 1.41.2; 1.41.4;
Fix some typos.
 1.40 11-Dec-2005  christos branches: 1.40.2; 1.40.4; 1.40.6;
merge ktrace-lwp.
 1.39 02-Jun-2005  tsutsui branches: 1.39.2;
Add a const.
 1.38 04-Sep-2004  tsutsui - Use ANSI function declarations and make some functions static.
- Some KNF
 1.37 28-Aug-2004  jdolecek use uvm_grow() to update stack segment size on stack page fault instead
of MD code
 1.36 14-Mar-2004  cl add kernel part of concurrency support for SA on MP systems
- move per VP data into struct sadata_vp referenced from l->l_savp
* VP id
* lock on VP data
* LWP on VP
* recently blocked LWP on VP
* queue of LWPs woken which ran on this VP before sleep
* faultaddr
* LWP cache for upcalls
* upcall queue
- add current concurrency and requested concurrency variables
- make process exit run LWP on all VPs
- make signal delivery consider all VPs
- make timer events consider all VPs
- add sa_newsavp to allocate new sadata_vp structure
- add sa_increaseconcurrency to prepare new VP
- make sys_sa_setconcurrency request new VP or wakeup idle VP
- make sa_yield lower current concurrency
- set sa_cpu = VP id in upcalls
- maintain cached LWPs per VP
 1.35 08-Nov-2003  tsutsui Remove obsolete comments about curproc.
 1.34 02-Nov-2003  cl Extend the #ifdef M68040 so that the `sig' variable declaration is moved
in as well, as it's otherwise not used. (from atari/atari/trap.c and
x68k/x68k/trap.c)
 1.33 31-Oct-2003  cl Reduce code duplication by adding mi_userret() in sys/userret.h
containing signal posting, kernel-exit handling and sa_upcall processing.

XXX the pc532, sparc, sparc64 and vax ports should have their
XXX userret() code rearranged to use this.
 1.32 08-Oct-2003  thorpej * Shuffle some data structures so, and add a flags word to ksiginfo_t.
Right now the only flag is used to indicate if a ksiginfo_t is a
result of a trap. Add a predicate macro to test for this flag.
* Add initialization macros for ksiginfo_t's.
* Add accssor macro for ksi_trap. Expands to 0 if the ksiginfo_t was
not the result of a trap. This matches the sigcontext trapcode semantics.
* In kpsendsig(), use KSI_TRAP_P() to select the lwp that gets the signal.
Inspired by Matthias Drochner's fix to kpsendsig(), but correctly handles
the case of non-trap-generated signals that have a > 0 si_code.

This patch fixes a signal delivery problem with threaded programs noted by
Matthias Drochner on tech-kern.

As discussed on tech-kern. Reviewed and OK's by Christos.
 1.31 22-Sep-2003  cl SA_SIGINFO support for m68k (port specific changes)
 1.30 17-Sep-2003  cl add MD part of SA/pthread pagefault handling on all m68k ports
 1.29 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.28 15-Jul-2003  lukem __KERNEL_RCSID()
 1.27 02-Apr-2003  thorpej branches: 1.27.2;
Use PAGE_SIZE rather than NBPG.
 1.26 28-Jan-2003  wiz success, not sucess. Noted by mjl.
 1.25 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.24 11-Jan-2003  tsutsui Fix -Wsign-compare warnings.
 1.23 20-Dec-2002  tsutsui Remove __P().
 1.22 02-Nov-2002  chs branches: 1.22.2;
finish conversion to the common m68k cacheops:
add support for machine-specific flavors of the ops for off-chip caches.
many thanks to Izumi Tsutsui for his help with this.
 1.21 20-Oct-2002  chs merge the 12 copies of vm_machdep.c on the m68k platforms.
clean up some other stuff along the way, including:
- use m68k/cacheops.*, remove duplicates from cpu.h.
- centralize a few declarations in (all the copies of) cpu.h.
- define M68K_VAC on platforms which have a VAC.
- switch the sun platforms to the (now common) proc_trampoline().
- do the phys_map thang on the sun platforms too, no reason not to.
 1.20 14-Feb-2002  chs allow writing to write-only mappings. fixes PR 3493.
 1.19 10-Sep-2001  chris branches: 1.19.4;
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.18 07-Jul-2001  tsutsui branches: 1.18.2; 1.18.4;
bcopy() -> memcpy() (I guess there is no overlap here)
 1.17 02-Jun-2001  chs replace vm_map{,_entry}_t with struct vm_map{,_entry} *.
 1.16 30-May-2001  lukem add missing #include "opt_kgdb.h"
 1.15 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.14 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.13 25-Feb-2001  tsutsui branches: 1.13.2;
Sync with x68k:
Use m68k_page_offset and m68k_trunc_page macros,
instead of using PGOFSET directly.
 1.12 17-Feb-2001  tsutsui include sunos_exec.h to declare emul_sunos.
 1.11 23-Dec-2000  jdolecek split off thread specific stuff from struct sigacts to struct sigctx, leaving
only signal handler array sharable between threads
move other random signal stuff from struct proc to struct sigctx

This addresses kern/10981 by Matthew Orgass.

XXX I wish m68k ports would share trap.c
 1.10 19-Dec-2000  scw Unification of the m68k syscall() function.
 1.9 21-Nov-2000  tsutsui s/struct const sysent/const struct sysent/

(BTW, luna68k was missed in emul/execsw changes?)
 1.8 21-Nov-2000  jdolecek restructure struct emul and execsw, in preparation to make emulations LKMable:
* move all exec-type specific information from struct emul to execsw[] and
provide single struct emul per emulation
* elf:
- kern/exec_elf32.c:probe_funcs[] is gone, execsw[] how has one entry
per emulation and contains pointer to respective probe function
- interp is allocated via MALLOC() rather than on stack
- elf_args structure is allocated via MALLOC() rather than malloc()
* ecoff: the per-emulation hooks moved from alpha and mips specific code
to OSF1 and Ultrix compat code as appropriate, execsw[] has one entry per
emulation supporting ecoff with appropriate probe function
* the makecmds/probe functions don't set emulation, pointer to emulation is
part of appropriate execsw[] entry
* constify couple of structures
 1.7 29-Jun-2000  mrg branches: 1.7.2;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.6 27-Jun-2000  mrg remove redudant <vm/pmap.h> includes. <vm/pmap.h> -> <uvm/uvm_pmap.h>
 1.5 06-Jun-2000  soren defopt SYSCALL_DEBUG.
 1.4 27-May-2000  sommerfeld branches: 1.4.2;
Reduce use of curproc in several places:

- Change ktrace interface to pass in the current process, rather than
p->p_tracep, since the various ktr* function need curproc anyway.

- Add curproc as a parameter to mi_switch() since all callers had it
handy anyway.

- Add a second proc argument for inferior() since callers all had
curproc handy.

Also, miscellaneous cleanups in ktrace:

- ktrace now always uses file-based, rather than vnode-based I/O
(simplifies, increases type safety); eliminate KTRFLAG_FD & KTRFAC_FD.
Do non-blocking I/O, and yield a finite number of times when receiving
EWOULDBLOCK before giving up.

- move code duplicated between sys_fktrace and sys_ktrace into ktrace_common.

- simplify interface to ktrwrite()
 1.3 26-May-2000  thorpej First sweep at scheduler state cleanup. Collect MI scheduler
state into global and per-CPU scheduler state:

- Global state: sched_qs (run queues), sched_whichqs (bitmap
of non-empty run queues), sched_slpque (sleep queues).
NOTE: These may collectively move into a struct schedstate
at some point in the future.

- Per-CPU state, struct schedstate_percpu: spc_runtime
(time process on this CPU started running), spc_flags
(replaces struct proc's p_schedflags), and
spc_curpriority (usrpri of processes on this CPU).

- Every platform must now supply a struct cpu_info and
a curcpu() macro. Simplify existing cpu_info declarations
where appropriate.

- All references to per-CPU scheduler state now made through
curcpu(). NOTE: this will likely be adjusted in the future
after further changes to struct proc are made.

Tested on i386 and Alpha. Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
 1.2 24-May-2000  thorpej Use preempt(), not an open-coded equivalent (which won't be
equivalent for long).
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.4.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.7.2.7 27-Mar-2001  bouyer Sync with HEAD.
 1.7.2.6 12-Mar-2001  bouyer Sync with HEAD.
 1.7.2.5 05-Jan-2001  bouyer Sync with HEAD
 1.7.2.4 08-Dec-2000  bouyer Sync with HEAD.
 1.7.2.3 22-Nov-2000  bouyer Sync with HEAD.
 1.7.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.7.2.1 29-Jun-2000  bouyer file trap.c was added on branch thorpej_scsipi on 2000-11-20 20:16:17 +0000
 1.13.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.13.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.18.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.18.2.2 16-Mar-2002  jdolecek Catch up with -current.
 1.18.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.19.4.12 15-Jan-2003  thorpej Sync with HEAD.
 1.19.4.11 07-Jan-2003  thorpej In the SA universe, the switch-to-this-LWP decision is made at a
different level than where preempt() calls are made, which renders
the "newlwp" argument useless. Replace it with a "more work to do"
boolean argument. Returning to userspace preempt() calls pass 0.
"Voluntary" preemptions in e.g. uiomove() pass 1. This will be used
to indicate to the SA subsystem that the LWP is not yet finished in
the kernel.

Collapse the SA vs. non-SA cases of preempt() together, making the
conditional code block much smaller, and don't call sa_preempt() if
more work is to come.

NOTE: THIS IS NOT A COMPLETE FIX TO THE preempt()-in-uiomove() PROBLEM
THAT CURRENTLY EXISTS FOR SA PROCESSES.
 1.19.4.10 29-Dec-2002  thorpej Sync with HEAD.
 1.19.4.9 11-Nov-2002  nathanw Catch up to -current
 1.19.4.8 26-Sep-2002  nathanw Change "if (l->l_flag & L_SA_UPCALL)" to "while (l->l_flag & L_SA_UPCALL)"
in userret() functions or equivalent, to permit delivery of multiple upcalls
in a single kernel entry.

XXX It's getting crowded in here. Collapsing posting signals, upcalls, and
XXX kernel-exit handling into one mechanism would be nice.
 1.19.4.7 12-Jul-2002  nathanw No longer need to pull in lwp.h; proc.h pulls it in for us.
 1.19.4.6 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.19.4.5 28-Feb-2002  nathanw Catch up to -current.
 1.19.4.4 17-Dec-2001  nathanw cpu_upcall() -> sa_upcall_userret().
 1.19.4.3 25-Nov-2001  scw Deal with `want_resched' with trap()'s T_ASTFLT case where it belongs
instead of in userret().
 1.19.4.2 18-Nov-2001  scw MD Scheduler Activation bits for News68k.
Compile-tested only.
 1.19.4.1 10-Sep-2001  scw file trap.c was added on branch nathanw_sa on 2001-11-18 18:42:20 +0000
 1.22.2.1 18-Dec-2002  gmcgarry Merge pcred and ucred, and poolify. TBD: check backward compatibility
and factor-out some higher-level functionality.
 1.27.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.27.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.27.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.27.2.2 03-Sep-2004  skrll Sync with HEAD
 1.27.2.1 03-Aug-2004  skrll Sync with HEAD
 1.39.2.6 21-Jan-2008  yamt sync with head
 1.39.2.5 15-Nov-2007  yamt sync with head.
 1.39.2.4 03-Sep-2007  yamt sync with head.
 1.39.2.3 26-Feb-2007  yamt sync with head.
 1.39.2.2 30-Dec-2006  yamt sync with head.
 1.39.2.1 21-Jun-2006  yamt sync with head.
 1.40.6.2 01-Jun-2006  kardel Sync with head.
 1.40.6.1 22-Apr-2006  simonb Sync with head.
 1.40.4.1 09-Sep-2006  rpaulo sync with head
 1.40.2.1 01-Mar-2006  yamt sync with head.
 1.41.4.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.41.4.1 08-Mar-2006  elad Adapt to kernel authorization KPI.

I expect *some* lossage here...
 1.41.2.3 11-Aug-2006  yamt sync with head
 1.41.2.2 24-May-2006  yamt sync with head.
 1.41.2.1 01-Apr-2006  yamt sync with head.
 1.42.2.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.42.2.1 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.47.10.2 23-Sep-2007  wrstuden Sync with somewhat-recent netbsd-4.
 1.47.10.1 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.47.8.2 11-Sep-2007  msaitoh Pull up following revision(s) (requested by mhitch in ticket #866):
sys/arch/atari/atari/trap.c: 1.92
sys/arch/mac68k/mac68k/trap.c: 1.129
sys/arch/amiga/amiga/trap.c: 1.116
sys/arch/mvme68k/mvme68k/trap.c: 1.91
sys/arch/news68k/news68k/trap.c: 1.54
sys/arch/sun3/sun3/trap.c: 1.131
sys/arch/next68k/next68k/trap.c: 1.68
sys/arch/luna68k/luna68k/trap.c: 1.47
sys/arch/cesfic/cesfic/trap.c: 1.36
sys/arch/x68k/x68k/trap.c: 1.90
sys/arch/hp300/hp300/trap.c: 1.132
68030 and 68040 processors consider the read portion of a read-modify-write
transfer as a write to ensure the memory is writable before starting any
transfer. The fault status information does not reflect this in the 'read'
status bit (i.e. it shows up as a read access), so faults with a RMW access
to non-writable memory was not getting the correct protection. The page would
be read-only and the instruction would fault over and over.
A specific example is when a process forks, and the child process attempts
to execute a RMW access to a data page, which is read-only because it's CoP
Copy-On-Write.
When checking if the page needs to be writablek, also check the locked transfer
and treat any locked transfer as a write.
68060 already handled this correctly, since it has separate read and write
fault bits, and both are set on a RMW access and the trap code was checking
the write status bit.
Fixes PR#36848.
 1.47.8.1 18-Jun-2007  liamjfoy Pull up following revision(s) (requested by mhitch in ticket #728):
sys/arch/mvme68k/mvme68k/locore.s: revision 1.98
sys/arch/mac68k/mac68k/trap.c: revision 1.128
sys/arch/next68k/next68k/locore.s: revision 1.48
sys/arch/mac68k/mac68k/locore.s: revision 1.152
sys/arch/sun3/sun3/locore.s: revision 1.88
sys/arch/sun2/sun2/locore.s: revision 1.19
sys/arch/sun2/sun2/trap.c: revision 1.32
sys/arch/m68k/m68k/db_trace.c: revision 1.51
sys/arch/mvme68k/mvme68k/trap.c: revision 1.90
sys/arch/news68k/news68k/trap.c: revision 1.53
sys/arch/luna68k/luna68k/locore.s: revision 1.27
sys/arch/atari/atari/locore.s: revision 1.99
sys/arch/sun3/sun3/trap.c: revision 1.130
sys/arch/x68k/x68k/trap.c: revision 1.89
sys/arch/next68k/next68k/trap.c: revision 1.67
sys/arch/x68k/x68k/locore.s: revision 1.79
sys/arch/news68k/news68k/locore.s: revision 1.43
sys/arch/luna68k/luna68k/trap.c: revision 1.46
sys/arch/hp300/hp300/locore.s: revision 1.140
sys/arch/cesfic/cesfic/locore.s: revision 1.15
sys/arch/cesfic/cesfic/trap.c: revision 1.35
sys/arch/m68k/m68k/trap_subr.s: revision 1.12
sys/arch/amiga/amiga/locore.s: revision 1.143
Pass a frame pointer to trap() rather than the 'entire frame' trick. Gcc4
was optimizing away modifications to the frame contents (it's not nice to
trick gcc). Pass the pointer as the first argument to reduce the number
of places that would be changed otherwise. Fixes the getcwd regression
test on most m68k ports.
 1.47.4.1 30-Jan-2007  ad Remove support for SA. Ok core@.
 1.49.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.51.10.3 03-Oct-2007  garbled Sync with HEAD
 1.51.10.2 26-Jun-2007  garbled Sync with HEAD.
 1.51.10.1 22-May-2007  matt Update to HEAD.
 1.51.4.1 11-Jul-2007  mjf Sync with head.
 1.51.2.4 03-Dec-2007  ad Sync with HEAD.
 1.51.2.3 09-Oct-2007  ad Sync with head.
 1.51.2.2 15-Jul-2007  ad Sync with head.
 1.51.2.1 27-May-2007  ad Sync with head.
 1.53.10.2 09-Jan-2008  matt sync with HEAD
 1.53.10.1 06-Nov-2007  matt sync with HEAD
 1.53.8.2 06-Nov-2007  joerg Sync with HEAD.
 1.53.8.1 03-Sep-2007  jmcneill Sync with HEAD.
 1.53.4.1 03-Sep-2007  skrll Sync with HEAD.
 1.54.4.1 13-Nov-2007  bouyer Sync with HEAD
 1.56.8.1 02-Jan-2008  bouyer Sync with HEAD
 1.56.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.57.8.1 18-May-2008  yamt sync with head.
 1.57.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.57.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.58.8.1 19-Oct-2008  haad Sync with HEAD.
 1.58.4.4 30-Jun-2008  wrstuden Change how we make SA threads not generate upcalls. Instead of clearing
LW_SA, use a private flag, LP_SA_NOBLOCK, that we set when we want
to not generate upcalls. This means we do NOT need to lock (l)
(ourselves) to set it.

Adjust tests that look at LW_SA. Now, we are an upcall-generating
lwp if ((l->l_flag & LW_SA) && (~l->l_pflag & LP_SA_NOBLOCK)).

Introduce code pattern to set & remember this:

f = ~l->l_pflag & LP_SA_NOBLOCK;
l->l_pflag |= LP_SA_NOBLOCK;

...

/* f is now LP_SA_NOBLOCK if it wasn't set in l_pflag before */

l->l_pflag ^= f;

I updated a lot of the trap handlers to do trap handling iff LP_SA_NOBLOCK
is not set. I tried to figure out if the trap handler could be triggered
for user-based faults as opposed to kernel faults to user addresses, and
only look at LP_SA_NOBLOCK for the latter.

Above is a result of discussions with rmind at to reduce lock twiddling.

Also, per same discussions, add locking to sys_sa_preempt(). p_lock is
the lock we want.

Also, per same discussions, remove use of LSSUSPENDED as a thread state.
We needed to use it when we were emulating the 4.X and previous behavior
of hiding cached threads. For the moment, we now have them instead
remain visible to all and have them sleeping on the "lwpcache" wait
channel.

sa_newcachelwp(): sa_putcachelwp() wants savp_mutex held, not p_lock.

Tweak some comments.
 1.58.4.3 22-Jun-2008  wrstuden Re-add cpu_upcall() and page fault code. i386 kernels now compile.
They don't boot, but that seems to be a consequence of current from the
day this branch was started.
 1.58.4.2 14-May-2008  wrstuden Per discussion with ad at n dot o, revert signal mask handling
changes.

The l_sigstk changes are most likely totally un-needed as SA will
never use a signal stack - we send an upcall (or will as other
diffs are brought in).

The l_sigmask changes were too controvertial. In all honesty, I
think it's probably best to revert them. The main reason they were
there is the fact that in an SA process, we don't mask signals per
kernel thread, we mask them per user thread. In the kernel, we want
them all to get turned into upcalls. Thus the normal state of
l_sigmask in an SA process is for it to always be empty.

While we are in the process of delivering a signal, we want to
temporarily mask a signal (so we don't recursively exhaust our
upcall stacks). However signal delivery is rare (important, but
rare), and delivering back-to-back signals is even rarer. So rather
than cause every user of a signal mask to be prepared for this very
rare case, we will just add a second check later in the signal
delivery code. Said change is not in this diff.

This also un-compensates all of our compatability code for dealing
with SA. SA is a NetBSD-specific thing, so there's no need for
Irix, Linux, Solaris, SVR4 and so on to cope with it.

As previously, everything other than kern_sa.c compiles in i386
GENERIC as of this checkin. I will switch to ALL soon for compile
testing.
 1.58.4.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.58.2.3 11-Aug-2010  yamt sync with head.
 1.58.2.2 11-Mar-2010  yamt sync with head
 1.58.2.1 04-May-2009  yamt sync with head.
 1.59.4.1 02-Feb-2009  snj Pull up following revision(s) (requested by martin in ticket #332):
sys/arch/amiga/amiga/trap.c: revision 1.122
sys/arch/atari/atari/trap.c: revision 1.99
sys/arch/cesfic/cesfic/trap.c: revision 1.43
sys/arch/hp300/hp300/trap.c: revision 1.140
sys/arch/luna68k/luna68k/trap.c: revision 1.55
sys/arch/m68k/include/signal.h: revision 1.25
sys/arch/m68k/m68k/sig_machdep.c: revision 1.41
sys/arch/mac68k/mac68k/trap.c: revision 1.136 via patch
sys/arch/mvme68k/mvme68k/trap.c: revision 1.98
sys/arch/news68k/news68k/trap.c: revision 1.60
sys/arch/next68k/next68k/trap.c: revision 1.75
sys/arch/sun2/sun2/trap.c: revision 1.37
sys/arch/sun3/sun3/trap.c: revision 1.136
sys/arch/x68k/x68k/trap.c: revision 1.97
Centralize fpu exception to siginfo code encoding for all m68k archs,
fixes a failure in the lib/libc/ieeefp/except regression test.
 1.59.2.1 03-Mar-2009  skrll Sync with HEAD.
 1.61.4.3 05-Mar-2011  rmind sync with head
 1.61.4.2 03-Jul-2010  rmind sync with head
 1.61.4.1 30-May-2010  rmind sync with head
 1.61.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.61.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.65.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.66.2.1 17-Feb-2011  bouyer Sync with HEAD
 1.67.8.1 24-Feb-2012  mrg sync to -current.
 1.67.4.1 17-Apr-2012  yamt sync with head
 1.68.16.1 06-Apr-2015  skrll Sync with HEAD
 1.68.2.1 03-Dec-2017  jdolecek update from HEAD
 1.69.18.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.69.18.1 10-Jun-2019  christos Sync with HEAD
 1.10 13-Jan-2024  thorpej Switch news68k over to the common m68k vector table.
 1.9 08-Oct-2023  andvar Revert my changes regarding removal of FPSP related blocks.

After additional discussion it is preferred to keep code consistency,
to make it easier refactor common code between m68k ports.
 1.8 06-Oct-2023  andvar Remove fpsp include and #ifdef FPSP blocks for news68k.
FPSP is necessary for 040/060 only, and news68k doesn't have such hardware.

Noted by Izumi Tsutsui.
 1.7 06-Mar-2011  tsutsui Remove trailing spaces and TABs.
 1.6 10-Feb-2007  tsutsui branches: 1.6.70; 1.6.76;
Implement generic softintr(9) support for news68k.
Mostly taken from mvme68k.
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 22-Sep-2003  cl branches: 1.4.16;
SA_SIGINFO support for m68k (port specific changes)
 1.3 25-Jan-2001  tsutsui branches: 1.3.24;
Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
 1.2 10-Mar-2000  tsutsui branches: 1.2.6;
Use CTRL_AST interrupt to handle asynchronous trap.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.6.3 11-Feb-2001  bouyer Sync with HEAD.
 1.2.6.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.6.1 10-Mar-2000  bouyer file vectors.s was added on branch thorpej_scsipi on 2000-11-20 20:16:17 +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.4.16.1 26-Feb-2007  yamt sync with head.
 1.6.76.1 06-Jun-2011  jruoho Sync with HEAD.
 1.6.70.1 21-Apr-2011  rmind sync with head
 1.12 20-Oct-2002  chs merge the 12 copies of vm_machdep.c on the m68k platforms.
clean up some other stuff along the way, including:
- use m68k/cacheops.*, remove duplicates from cpu.h.
- centralize a few declarations in (all the copies of) cpu.h.
- define M68K_VAC on platforms which have a VAC.
- switch the sun platforms to the (now common) proc_trampoline().
- do the phys_map thang on the sun platforms too, no reason not to.
 1.11 10-Sep-2001  chris branches: 1.11.4;
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.10 25-Jul-2001  tsutsui branches: 1.10.2;
Sync with hp300/vm_machdep.c rev 1.60:
> use pmap_k* for pagemove().
> call pmap_remove() explicitly in vunmapbuf() in preparation for
> upcoming UVM changes.
 1.9 07-Jul-2001  tsutsui branches: 1.9.2;
bzero() -> memset()
 1.8 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.7 25-Feb-2001  tsutsui branches: 1.7.2;
Sync with x68k:
Use m68k_page_offset and m68k_trunc_page macros,
instead of using PGOFSET directly.
 1.6 17-Feb-2001  tsutsui Remove phys_map declaration, which is in <uvm/uvm_extern.h>
 1.5 29-Jun-2000  mrg branches: 1.5.2;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.4 26-Jun-2000  mrg remove/move more mach vm header files:

<vm/pglist.h> -> <uvm/uvm_pglist.h>
<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
<vm/vm_object.h> -> nothing
<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
 1.3 28-May-2000  thorpej Rather than starting init and creating kthreads by forking and then
doing a cpu_set_kpc(), just pass the entry point and argument all
the way down the fork path starting with fork1(). In order to
avoid special-casing the normal fork in every cpu_fork(), MI code
passes down child_return() and the child process pointer explicitly.

This fixes a race condition on multiprocessor systems; a CPU could
grab the newly created processes (which has been placed on a run queue)
before cpu_set_kpc() would be performed.
 1.2 20-Jan-2000  sommerfeld branches: 1.2.2;
Fix PR9240: comment above cpu_fork() out of synch with reality on most ports.
(comment change only, but was wrong for more than just i386).
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.5.2.3 12-Mar-2001  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 29-Jun-2000  bouyer file vm_machdep.c was added on branch thorpej_scsipi on 2000-11-20 20:16:17 +0000
 1.7.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.9.2.2 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.9.2.1 03-Aug-2001  lukem update to -current
 1.10.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.11.4.8 11-Nov-2002  nathanw Catch up to -current
 1.11.4.7 05-Oct-2002  gmcgarry md_flags -> mdp_flags
 1.11.4.6 12-Jul-2002  nathanw No longer need to pull in lwp.h; proc.h pulls it in for us.
 1.11.4.5 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.11.4.4 08-Dec-2001  thorpej Add a cpu_proc_fork(), called from uvm_proc_fork(), which takes care
of machine-dependent handling a fork() time (this is different from
forking the actual context in an LWP world). #define it away on
platforms which do not need it.

Problem noted by Gregory McGarry.
 1.11.4.3 08-Dec-2001  thorpej cpu_fork() -> cpu_lwp_fork(). This logically forks an LWP, not a
complete process. As noted by Gregory McGarry on tech-kern.
 1.11.4.2 18-Nov-2001  scw MD Scheduler Activation bits for News68k.
Compile-tested only.
 1.11.4.1 10-Sep-2001  scw file vm_machdep.c was added on branch nathanw_sa on 2001-11-18 18:42:21 +0000
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 12-Dec-2003  jmc Needs a .WAIT before doing boot/bootxx
 1.2 20-May-2002  lukem branches: 1.2.8;
Update to <sys/bootblock.h>'s shared_bbinfo.
From Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8; 1.1.12; 1.1.16; 1.1.24;
Initial import of news68k port.
 1.1.24.1 30-May-2002  gehenna Catch up with -current.
 1.1.16.1 20-Jun-2002  nathanw Catch up to -current.
 1.1.12.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.8.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.8.1 09-Dec-1999  bouyer file Makefile was added on branch thorpej_scsipi on 2000-11-20 20:16:18 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.8.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.8.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.8.1 03-Aug-2004  skrll Sync with HEAD
 1.11 08-Apr-2017  christos centralize vers.c building for standalone programs.
 1.10 12-Jan-2014  tsutsui branches: 1.10.6; 1.10.10; 1.10.14;
Add empty LIBCRTI= as LIBCRT0 to build sa programs without installed DESTDIR.

XXX: probabry we should have bsd.saprog.mk or something.
 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 16-Jul-2008  tsutsui branches: 1.8.16; 1.8.22; 1.8.24;
Change boot messages to replace build date and maker with kernrev.
 1.7 29-Jun-2006  lukem branches: 1.7.58; 1.7.62; 1.7.64; 1.7.66; 1.7.68;
support MAKEVERBOSE
 1.6 11-Dec-2005  christos branches: 1.6.4; 1.6.8; 1.6.16;
merge ktrace-lwp.
 1.5 30-Oct-2003  he branches: 1.5.16;
Add -ffreestanding to CFLAGS, to avoid type conflicts with built-in
functions in gcc.
 1.4 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.3 08-Oct-2003  simonb Define LIB{CRT0,C,CRTBEGIN,CRTEND} as nothing, we don't need to link
against them.
 1.2 30-Jan-2001  tsutsui branches: 1.2.24;
Add a version file and print version strings generated by newvers_stand.sh.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8;
Initial import of news68k port.
 1.1.8.3 11-Feb-2001  bouyer Sync with HEAD.
 1.1.8.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.8.1 09-Dec-1999  bouyer file Makefile.inc was added on branch thorpej_scsipi on 2000-11-20 20:16:18 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.24.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.24.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.24.1 03-Aug-2004  skrll Sync with HEAD
 1.5.16.1 30-Dec-2006  yamt sync with head.
 1.6.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.6.8.1 11-Aug-2006  yamt sync with head
 1.6.4.1 09-Sep-2006  rpaulo sync with head
 1.7.68.1 19-Oct-2008  haad Sync with HEAD.
 1.7.66.1 18-Jul-2008  simonb Sync with head.
 1.7.64.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.7.62.1 04-May-2009  yamt sync with head.
 1.7.58.1 28-Sep-2008  mjf Sync with HEAD.
 1.8.24.1 08-Feb-2011  bouyer Sync with HEAD
 1.8.22.1 06-Jun-2011  jruoho Sync with HEAD.
 1.8.16.1 05-Mar-2011  rmind sync with head
 1.9.18.1 18-May-2014  rmind sync with head
 1.9.14.2 03-Dec-2017  jdolecek update from 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.10.14.1 21-Apr-2017  bouyer Sync with HEAD
 1.10.10.1 26-Apr-2017  pgoyette Sync with HEAD
 1.10.6.1 28-Aug-2017  skrll Sync with HEAD
 1.27 20-Mar-2009  tsutsui Build common standalone MD sources in libsa.
 1.26 15-Mar-2009  tsutsui Use <bsd.klinks.mk> to create symlinks to MD system header directories.
 1.25 11-Jan-2008  tsutsui branches: 1.25.10; 1.25.18; 1.25.24;
WARNSfy
 1.24 29-Jun-2006  lukem branches: 1.24.34; 1.24.40; 1.24.48;
support MAKEVERBOSE
 1.23 29-Jun-2006  lukem Rename LDFLAGS to LINKFLAGS, as the former is for CC not LD.
 1.22 29-Dec-2005  skrll branches: 1.22.4; 1.22.8; 1.22.16;
Fix for ro src.
 1.21 11-Dec-2005  christos merge ktrace-lwp.
 1.20 11-May-2005  jmc branches: 1.20.2;
Rework dependencies for PROG. Needs LIBS, not machine/m68k for -j to work
 1.19 11-May-2005  jmc Convert to .BEGIN for machine/sys
 1.18 01-May-2005  christos PR/9567: Arne H. Juul: .BEGIN targets should not use dependencies.
 1.17 19-Apr-2003  tsutsui branches: 1.17.2;
Remove definitions of SIZE and STRIP which should be defined elsewhere.
 1.16 30-Mar-2003  tsutsui Use 32bit daddr_t.
 1.15 18-May-2002  tsutsui Use ${.TARGET} where appropriate.
 1.14 30-Apr-2002  tsutsui branches: 1.14.2;
Add getchar().
 1.13 12-Dec-2001  lukem Set NOxxx= before <bsd.own.mk> is pulled in (even indirectly).
Otherwise the appropriate MKxxx=no won't be defined .
 1.12 12-Dec-2001  tv MKfoo=no -> NOfoo
 1.11 22-Sep-2001  tv branches: 1.11.4;
objcopy -> ${OBJCOPY}; remove redundant definitions of OBJCOPY?= (it is
now in bsd.own.mk).
 1.10 04-Mar-2001  tsutsui branches: 1.10.2; 1.10.4;
Add "-e start" to LDFLAGS for ELF toolchain.
 1.9 30-Jan-2001  tsutsui Umm, fix botch in the previous;
include bsd.own.mk at the top, and include bsd.prog.mk at the bottom.
 1.8 30-Jan-2001  tsutsui Include bsd.prog.mk at the top to pull in ${PRINTOBJDIR}.
 1.7 07-Jan-2001  tsutsui Use ${PRINTOBJDIR}.
 1.6 13-Apr-2000  tsutsui branches: 1.6.6;
Use "${OBJCOPY} -O binary" to strip a.out header.
 1.5 13-Apr-2000  tsutsui Disable DPRINTF().
 1.4 01-Feb-2000  tsutsui Revert STRIPPROG -> STRIP
 1.3 23-Jan-2000  mycroft Clean up the machine symlink stuff ever so slightly. Needs to be
standardized between files.
 1.2 19-Jan-2000  tsutsui STRIP -> STRIPPROG
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.6.6.5 12-Mar-2001  bouyer Sync with HEAD.
 1.6.6.4 11-Feb-2001  bouyer Sync with HEAD.
 1.6.6.3 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.6.6.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.6.6.1 13-Apr-2000  bouyer file Makefile was added on branch thorpej_scsipi on 2000-11-20 20:16:18 +0000
 1.10.4.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.10.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.10.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.11.4.3 20-Jun-2002  nathanw Catch up to -current.
 1.11.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.11.4.1 22-Sep-2001  nathanw file Makefile was added on branch nathanw_sa on 2002-01-08 00:26:54 +0000
 1.14.2.1 30-May-2002  gehenna Catch up with -current.
 1.17.2.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.20.2.3 21-Jan-2008  yamt sync with head
 1.20.2.2 30-Dec-2006  yamt sync with head.
 1.20.2.1 21-Jun-2006  yamt sync with head.
 1.22.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.22.8.1 11-Aug-2006  yamt sync with head
 1.22.4.1 09-Sep-2006  rpaulo sync with head
 1.24.48.1 11-Jan-2008  bouyer Sync with HEAD
 1.24.40.1 18-Feb-2008  mjf Sync with HEAD.
 1.24.34.1 23-Mar-2008  matt sync with HEAD
 1.25.24.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.25.18.1 28-Apr-2009  skrll Sync with HEAD.
 1.25.10.1 04-May-2009  yamt sync with head.
 1.20 28-Mar-2014  christos fold line
 1.19 28-Mar-2014  ozaki-r Use snprintf instead of sprintf
 1.18 25-Aug-2010  christos branches: 1.18.8; 1.18.18; 1.18.22;
s/LOAD_NOTE/LOAD_BACKWARDS
 1.17 20-Jan-2009  tsutsui branches: 1.17.4; 1.17.6;
Disable LOAD_NOTE on floppy boot. Fixes PR install/38943 on news68k.
news68k uses single boot floppy, but this still prevents extra seek
across a whole kernel in ustarfs.
 1.16 16-Jul-2008  tsutsui branches: 1.16.2; 1.16.4;
Change boot messages to replace build date and maker with kernrev.
 1.15 14-May-2008  tsutsui branches: 1.15.2; 1.15.4;
Normalize my licenses.
 1.14 11-Jan-2008  tsutsui branches: 1.14.6; 1.14.8; 1.14.10; 1.14.12;
WARNSfy
 1.13 24-Dec-2005  perry branches: 1.13.50; 1.13.56; 1.13.64;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.12 11-Dec-2005  christos merge ktrace-lwp.
 1.11 11-Dec-2004  tsutsui branches: 1.11.10;
u_intXX_t -> uintXX_t
 1.10 04-Sep-2004  tsutsui - Use ANSI function declarations and make some functions static.
- Some KNF
 1.9 21-Nov-2003  tsutsui Revert previous DPRINTF changes since gcc3 properly removes text strings
in while(0) statements during optimization.
 1.8 19-Apr-2003  tsutsui branches: 1.8.2;
Remove extra \n's in boot message.
 1.7 30-Apr-2002  tsutsui Add _rtt(), which is called by panic() in libsa/panic.c,
which is useed from ustarfs.c.
 1.6 30-Apr-2002  tsutsui Make sure whole DPRINTF()s are actually disabled on normal build.
It seems compiler does not remove text strings in while(0) statement
on its optimization.
 1.5 04-Jan-2002  tsutsui Fix an uninitialized variable found by new toolchain.
 1.4 30-Jan-2001  tsutsui branches: 1.4.4; 1.4.8;
Add a version file and print version strings generated by newvers_stand.sh.
 1.3 25-Nov-2000  tsutsui Make sure to return PROM prompt even if loading kernel fails halfway.
 1.2 08-Feb-2000  tsutsui branches: 1.2.4; 1.2.6;
Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.6.4 11-Feb-2001  bouyer Sync with HEAD.
 1.2.6.3 08-Dec-2000  bouyer Sync with HEAD.
 1.2.6.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.6.1 08-Feb-2000  bouyer file boot.c was added on branch thorpej_scsipi on 2000-11-20 20:16:18 +0000
 1.2.4.1 24-Dec-2000  jhawk Pull up revision 1.3 (requested by tsutsui):
Make sure to return PROM prompt even if loading kernel fails halfway,
by calling the PROM halt routine upon failure of loadfile().
 1.4.8.3 20-Jun-2002  nathanw Catch up to -current.
 1.4.8.2 28-Feb-2002  nathanw Catch up to -current.
 1.4.8.1 11-Jan-2002  nathanw More catchup.
 1.4.4.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.8.2.4 18-Dec-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.11.10.2 21-Jan-2008  yamt sync with head
 1.11.10.1 21-Jun-2006  yamt sync with head.
 1.13.64.1 11-Jan-2008  bouyer Sync with HEAD
 1.13.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.13.50.1 23-Mar-2008  matt sync with HEAD
 1.14.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.14.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.14.10.3 09-Oct-2010  yamt sync with head
 1.14.10.2 04-May-2009  yamt sync with head.
 1.14.10.1 16-May-2008  yamt sync with head.
 1.14.8.1 18-May-2008  yamt sync with head.
 1.14.6.2 28-Sep-2008  mjf Sync with HEAD.
 1.14.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.15.4.1 19-Oct-2008  haad Sync with HEAD.
 1.15.2.1 18-Jul-2008  simonb Sync with head.
 1.16.4.1 25-Jan-2009  snj Pull up following revision(s) (requested by tsutsui in ticket #307):
sys/arch/news68k/stand/boot/boot.c: revision 1.17
Disable LOAD_NOTE on floppy boot. Fixes PR install/38943 on news68k.
news68k uses single boot floppy, but this still prevents extra seek
across a whole kernel in ustarfs.
 1.16.2.1 03-Mar-2009  skrll Sync with HEAD.
 1.17.6.1 05-Mar-2011  rmind sync with head
 1.17.4.1 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.18.22.1 18-May-2014  rmind sync with head
 1.18.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.18.8.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 23-Dec-2007  tsutsui Use __arraycount().
 1.8 11-Dec-2005  christos branches: 1.8.50; 1.8.60; 1.8.64;
merge ktrace-lwp.
 1.7 23-Jun-2005  junyoung branches: 1.7.2;
Use FS_OPS() macro.
 1.6 04-Sep-2004  tsutsui - Use ANSI function declarations and make some functions static.
- Some KNF
 1.5 21-Nov-2003  tsutsui Revert previous DPRINTF changes since gcc3 properly removes text strings
in while(0) statements during optimization.
 1.4 20-Dec-2002  tsutsui branches: 1.4.2;
Remove __P().
 1.3 30-Apr-2002  tsutsui Add ustarfs ops.
 1.2 30-Apr-2002  tsutsui Make sure whole DPRINTF()s are actually disabled on normal build.
It seems compiler does not remove text strings in while(0) statement
on its optimization.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8; 1.1.12; 1.1.16;
Initial import of news68k port.
 1.1.16.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.16.1 20-Jun-2002  nathanw Catch up to -current.
 1.1.12.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.8.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.8.1 09-Dec-1999  bouyer file devopen.c was added on branch thorpej_scsipi on 2000-11-20 20:16:18 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 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.7.2.1 21-Jan-2008  yamt sync with head
 1.8.64.1 02-Jan-2008  bouyer Sync with HEAD
 1.8.60.1 26-Dec-2007  ad Sync with head.
 1.8.50.1 09-Jan-2008  matt sync with HEAD
 1.4 14-May-2008  tsutsui Normalize my licenses.
 1.3 25-Nov-2000  tsutsui branches: 1.3.126; 1.3.128; 1.3.130; 1.3.132;
Make sure to return PROM prompt even if loading kernel fails halfway.
 1.2 08-Feb-2000  tsutsui branches: 1.2.4; 1.2.6;
Add news1200 support.
Based on a patch from Koichi NISHIWAKI <k-nis@ba2.so-net.ne.jp>
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.6.3 08-Dec-2000  bouyer Sync with HEAD.
 1.2.6.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.6.1 08-Feb-2000  bouyer file locore.S was added on branch thorpej_scsipi on 2000-11-20 20:16:18 +0000
 1.2.4.1 24-Dec-2000  jhawk Pull up revision 1.3 (requested by tsutsui):
Make sure to return PROM prompt even if loading kernel fails halfway,
by calling the PROM halt routine upon failure of loadfile().
 1.3.132.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 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.5 17-Jan-2016  tsutsui Enable LIBSA_CREAD_NOCRC. PR/50638

Bump version to denote user visible change.
Tested on NWS-1750.
 1.4 16-Jul-2008  tsutsui branches: 1.4.38; 1.4.58;
Change boot messages to replace build date and maker with kernrev.
 1.3 09-Nov-2001  scw branches: 1.3.2; 1.3.120; 1.3.124; 1.3.126; 1.3.128; 1.3.130;
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 30-Jan-2001  tsutsui branches: 1.1.2; 1.1.6;
Add a version file and print version strings generated by newvers_stand.sh.
 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 11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.1 30-Jan-2001  bouyer file version was added on branch thorpej_scsipi on 2001-02-11 19:11:21 +0000
 1.2.4.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.3.130.1 19-Oct-2008  haad Sync with HEAD.
 1.3.128.1 18-Jul-2008  simonb Sync with head.
 1.3.126.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.3.124.1 04-May-2009  yamt sync with head.
 1.3.120.1 28-Sep-2008  mjf Sync with HEAD.
 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:18 +0000
 1.4.58.1 19-Mar-2016  skrll Sync with HEAD
 1.4.38.1 03-Dec-2017  jdolecek update from HEAD
 1.20 20-Mar-2009  tsutsui Build common standalone MD sources in libsa.
 1.19 15-Mar-2009  tsutsui Use <bsd.klinks.mk> to create symlinks to MD system header directories.
 1.18 11-Jan-2008  tsutsui branches: 1.18.10; 1.18.18; 1.18.24;
WARNSfy
 1.17 29-Jun-2006  lukem branches: 1.17.34; 1.17.40; 1.17.48;
support MAKEVERBOSE
 1.16 29-Jun-2006  lukem Rename LDFLAGS to LINKFLAGS, as the former is for CC not LD.
 1.15 29-Dec-2005  skrll branches: 1.15.4; 1.15.8; 1.15.16;
Fix for ro src.
 1.14 11-Dec-2005  christos merge ktrace-lwp.
 1.13 11-May-2005  jmc branches: 1.13.2;
Rework dependencies for PROG. Needs LIBS, not machine/m68k for -j to work
 1.12 11-May-2005  jmc Convert to .BEGIN for machine/sys
 1.11 01-May-2005  christos PR/9567: Arne H. Juul: .BEGIN targets should not use dependencies.
 1.10 20-May-2002  lukem branches: 1.10.8;
Update to <sys/bootblock.h>'s shared_bbinfo.
From Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>.
 1.9 12-Dec-2001  lukem branches: 1.9.8;
Set NOxxx= before <bsd.own.mk> is pulled in (even indirectly).
Otherwise the appropriate MKxxx=no won't be defined .
 1.8 12-Dec-2001  tv MKfoo=no -> NOfoo
 1.7 04-Mar-2001  tsutsui branches: 1.7.4; 1.7.8;
Add "-e start" to LDFLAGS for ELF toolchain.
 1.6 30-Jan-2001  tsutsui Umm, fix botch in the previous;
include bsd.own.mk at the top, and include bsd.prog.mk at the bottom.
 1.5 30-Jan-2001  tsutsui Include bsd.prog.mk at the top to pull in ${PRINTOBJDIR}.
 1.4 07-Jan-2001  tsutsui Use ${PRINTOBJDIR}.
 1.3 13-Apr-2000  tsutsui branches: 1.3.6;
Disable DPRINTF().
 1.2 23-Jan-2000  mycroft Clean up the machine symlink stuff ever so slightly. Needs to be
standardized between files.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.6.5 12-Mar-2001  bouyer Sync with HEAD.
 1.3.6.4 11-Feb-2001  bouyer Sync with HEAD.
 1.3.6.3 18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.3.6.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.6.1 13-Apr-2000  bouyer file Makefile was added on branch thorpej_scsipi on 2000-11-20 20:16:18 +0000
 1.7.8.2 20-Jun-2002  nathanw Catch up to -current.
 1.7.8.1 08-Jan-2002  nathanw Catch up to -current.
 1.7.4.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.7.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.9.8.1 30-May-2002  gehenna Catch up with -current.
 1.10.8.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.13.2.3 21-Jan-2008  yamt sync with head
 1.13.2.2 30-Dec-2006  yamt sync with head.
 1.13.2.1 21-Jun-2006  yamt sync with head.
 1.15.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.15.8.1 11-Aug-2006  yamt sync with head
 1.15.4.1 09-Sep-2006  rpaulo sync with head
 1.17.48.1 11-Jan-2008  bouyer Sync with HEAD
 1.17.40.1 18-Feb-2008  mjf Sync with HEAD.
 1.17.34.1 23-Mar-2008  matt sync with HEAD
 1.18.24.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.18.18.1 28-Apr-2009  skrll Sync with HEAD.
 1.18.10.1 04-May-2009  yamt sync with head.
 1.11 29-Mar-2014  ozaki-r Replace sprintf with snprintf
 1.10 14-May-2008  tsutsui branches: 1.10.32; 1.10.42; 1.10.48;
Normalize my licenses.
 1.9 11-Jan-2008  tsutsui branches: 1.9.6; 1.9.8; 1.9.10; 1.9.12;
WARNSfy
 1.8 11-Dec-2005  christos branches: 1.8.50; 1.8.56; 1.8.64;
merge ktrace-lwp.
 1.7 11-Dec-2004  tsutsui branches: 1.7.10;
u_intXX_t -> uintXX_t
 1.6 04-Sep-2004  tsutsui - Use ANSI function declarations and make some functions static.
- Some KNF
 1.5 21-Nov-2003  tsutsui Revert previous DPRINTF changes since gcc3 properly removes text strings
in while(0) statements during optimization.
 1.4 20-May-2002  lukem branches: 1.4.8;
Update to <sys/bootblock.h>'s shared_bbinfo.
From Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>.
 1.3 30-Apr-2002  tsutsui branches: 1.3.2;
Make sure whole DPRINTF()s are actually disabled on normal build.
It seems compiler does not remove text strings in while(0) statement
on its optimization.
 1.2 27-Apr-2002  tsutsui Use a magic structure with a magic number instead of using nlist(3)
for installboot(8) to patch proto bootblocks.
(This is a preparation to migrate MI installboot.)
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8; 1.1.12; 1.1.16;
Initial import of news68k port.
 1.1.16.1 20-Jun-2002  nathanw Catch up to -current.
 1.1.12.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.8.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.8.1 09-Dec-1999  bouyer file bootxx.c was added on branch thorpej_scsipi on 2000-11-20 20:16:18 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.2.1 30-May-2002  gehenna Catch up with -current.
 1.4.8.4 18-Dec-2004  skrll Sync with HEAD.
 1.4.8.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.8.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.8.1 03-Aug-2004  skrll Sync with HEAD
 1.7.10.1 21-Jan-2008  yamt sync with head
 1.8.64.1 11-Jan-2008  bouyer Sync with HEAD
 1.8.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.8.50.1 23-Mar-2008  matt sync with HEAD
 1.9.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.9.10.1 16-May-2008  yamt sync with head.
 1.9.8.1 18-May-2008  yamt sync with head.
 1.9.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.10.48.1 18-May-2014  rmind sync with head
 1.10.42.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.10.32.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 08-Oct-2023  tsutsui Remove trailing spaces and tab.
 1.3 14-May-2008  tsutsui Normalize my licenses.
 1.2 25-Nov-2000  tsutsui branches: 1.2.126; 1.2.128; 1.2.130; 1.2.132;
Make sure to return PROM prompt even if loading kernel fails halfway.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.6; 1.1.8;
Initial import of news68k port.
 1.1.8.3 08-Dec-2000  bouyer Sync with HEAD.
 1.1.8.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.8.1 09-Dec-1999  bouyer file start.S was added on branch thorpej_scsipi on 2000-11-20 20:16:19 +0000
 1.1.6.1 24-Dec-2000  jhawk Pull up revision 1.2 (requested by tsutsui):
Make sure to return PROM prompt even if loading kernel fails halfway,
by calling the PROM halt routine upon failure of loadfile().
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.132.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.2.130.1 16-May-2008  yamt sync with head.
 1.2.128.1 18-May-2008  yamt sync with head.
 1.2.126.1 02-Jun-2008  mjf Sync with HEAD.
 1.15 17-Jan-2016  tsutsui Enable LIBSA_CREAD_NOCRC. PR/50638

Bump version to denote user visible change.
Tested on NWS-1750.
 1.14 27-May-2010  dholland branches: 1.14.18; 1.14.36;
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.13 03-Apr-2009  tsutsui branches: 1.13.2; 1.13.4;
Remove obsolete LIBSA_USE_MEMCPY and LIBSA_USE_MEMSET.
They were removed from <lib/libsa/stand.h> on December 2007.
 1.12 20-Mar-2009  tsutsui Build common standalone MD sources in libsa.
 1.11 15-Mar-2009  tsutsui Use <bsd.klinks.mk> to create symlinks to MD system header directories.
 1.10 12-Jan-2009  tsutsui branches: 1.10.2;
Enable prototype warning options.
 1.9 28-Dec-2005  skrll branches: 1.9.74; 1.9.78; 1.9.86;
Don't try and create/cleanup symlinks before objdirs are created.

Doesn't everyone use ro src?
 1.8 11-Dec-2005  christos merge ktrace-lwp.
 1.7 21-Nov-2003  tsutsui branches: 1.7.16;
Make sure machine and ${MACHINE_ARCH} symlinks created before make depend.
 1.6 30-Mar-2003  tsutsui branches: 1.6.2;
Use 32bit daddr_t.
 1.5 13-Apr-2002  tsutsui Add -DLIBSA_USE_MEMCPY and -DLIBSA_USE_MEMSET to CPPFLAGS.
 1.4 12-Dec-2001  tv MKfoo=no -> NOfoo
 1.3 30-Jan-2001  tsutsui branches: 1.3.4; 1.3.8;
Remove (unused) -DBOOT_DEBUG.
 1.2 23-Jan-2000  mycroft branches: 1.2.6;
Clean up the machine symlink stuff ever so slightly. Needs to be
standardized between files.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2;
Initial import of news68k port.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.6.3 11-Feb-2001  bouyer Sync with HEAD.
 1.2.6.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.6.1 23-Jan-2000  bouyer file Makefile was added on branch thorpej_scsipi on 2000-11-20 20:16:19 +0000
 1.3.8.2 17-Apr-2002  nathanw Catch up to -current.
 1.3.8.1 08-Jan-2002  nathanw Catch up to -current.
 1.3.4.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.6.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.2.1 03-Aug-2004  skrll Sync with HEAD
 1.7.16.1 21-Jun-2006  yamt sync with head.
 1.9.86.2 28-Apr-2009  skrll Sync with HEAD.
 1.9.86.1 19-Jan-2009  skrll Sync with HEAD.
 1.9.78.2 11-Aug-2010  yamt sync with head.
 1.9.78.1 04-May-2009  yamt sync with head.
 1.9.74.1 17-Jan-2009  mjf Sync with HEAD.
 1.10.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.13.4.1 30-May-2010  rmind sync with head
 1.13.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.14.36.1 19-Mar-2016  skrll Sync with HEAD
 1.14.18.1 03-Dec-2017  jdolecek update from HEAD
 1.1 20-Mar-2009  tsutsui branches: 1.1.2; 1.1.4; 1.1.6;
Build common standalone MD sources in libsa.
 1.1.6.2 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.1.6.1 20-Mar-2009  jym file Makefile.inc was added on branch jym-xensuspend on 2009-05-13 17:18:10 +0000
 1.1.4.2 04-May-2009  yamt sync with head.
 1.1.4.1 20-Mar-2009  yamt file Makefile.inc was added on branch yamt-nfs-mp on 2009-05-04 08:11:37 +0000
 1.1.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.1.2.1 20-Mar-2009  skrll file Makefile.inc was added on branch nick-hppapmap on 2009-04-28 07:34:30 +0000
 1.4 14-May-2008  tsutsui Normalize my licenses.
 1.3 11-Dec-2005  christos branches: 1.3.74; 1.3.76; 1.3.78; 1.3.80;
merge ktrace-lwp.
 1.2 04-Sep-2004  tsutsui - Use ANSI function declarations and make some functions static.
- Some KNF
 1.1 30-Apr-2002  tsutsui branches: 1.1.6; 1.1.8; 1.1.14;
Add getchar().
 1.1.14.2 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.14.1 18-Sep-2004  skrll Sync with HEAD.
 1.1.8.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.8.1 30-Apr-2002  jdolecek file getchar.c was added on branch kqueue on 2002-06-23 17:38:47 +0000
 1.1.6.2 20-Jun-2002  nathanw Catch up to -current.
 1.1.6.1 30-Apr-2002  nathanw file getchar.c was added on branch nathanw_sa on 2002-06-20 03:40:11 +0000
 1.3.80.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 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-May-2008  tsutsui Normalize my licenses.
 1.3 11-Dec-2005  christos branches: 1.3.74; 1.3.76; 1.3.78; 1.3.80;
merge ktrace-lwp.
 1.2 04-Sep-2004  tsutsui - Use ANSI function declarations and make some functions static.
- Some KNF
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.8; 1.1.32;
Initial import of news68k port.
 1.1.32.2 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.32.1 18-Sep-2004  skrll Sync with HEAD.
 1.1.8.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.8.1 09-Dec-1999  bouyer file putchar.c was added on branch thorpej_scsipi on 2000-11-20 20:16:19 +0000
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.80.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 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-May-2008  tsutsui Normalize my licenses.
 1.3 03-Mar-2001  tsutsui branches: 1.3.126; 1.3.128; 1.3.130; 1.3.132;
Add one missed register prefix.
 1.2 25-Nov-2000  tsutsui Make sure to return PROM prompt even if loading kernel fails halfway.
 1.1 09-Dec-1999  tsutsui branches: 1.1.2; 1.1.6; 1.1.8;
Initial import of news68k port.
 1.1.8.4 12-Mar-2001  bouyer Sync with HEAD.
 1.1.8.3 08-Dec-2000  bouyer Sync with HEAD.
 1.1.8.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.8.1 09-Dec-1999  bouyer file romcalls.S was added on branch thorpej_scsipi on 2000-11-20 20:16:19 +0000
 1.1.6.1 24-Dec-2000  jhawk Pull up revision 1.2 (requested by tsutsui):
Make sure to return PROM prompt even if loading kernel fails halfway,
by calling the PROM halt routine upon failure of loadfile().
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.132.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 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.

RSS XML Feed