Home | History | Annotate | only in /src/sys/arch/mvmeppc
History log of /src/sys/arch/mvmeppc
RevisionDateAuthorComments
 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 28-Feb-2002  scw branches: 1.1.8; 1.1.14;
Missed this file when adding mvmeppc port.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 28-Feb-2002  jdolecek file Makefile was added on branch kqueue on 2002-06-23 17:38:25 +0000
 1.1.8.3 07-Jan-2003  thorpej Sync with HEAD.
 1.1.8.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.8.1 28-Feb-2002  nathanw file Makefile was added on branch nathanw_sa on 2002-04-01 07:41:26 +0000
 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 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file .keep_me was added on branch kqueue on 2002-06-23 17:38:25 +0000
 1.1.2.3 07-Jan-2003  thorpej Sync with HEAD.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file .keep_me was added on branch nathanw_sa on 2002-02-28 04:10:55 +0000
 1.1 06-Jan-2003  lukem branches: 1.1.2;
Rework how KERNOBJDIR functions; now it's always determined with
cd ${KERNSRCDIR}/${KERNARCHDIR}/compile && ${PRINTOBJDIR}
This is far simpler than the previous system, and more robust with
objdirs built via BSDOBJDIR.

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

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

Per lengthy discussion with Andrew Brown.
 1.1.2.2 07-Jan-2003  thorpej Sync with HEAD.
 1.1.2.1 06-Jan-2003  thorpej file Makefile was added on branch nathanw_sa on 2003-01-07 21:12:16 +0000
 1.34 29-Jan-2024  christos PR/57889: Ricardo Branco: ext2fs does not have user immutable and append
file flags, only system ones. Restrict those to the superuser. Before
the behavior was controlled by EXT2FS_SYSTEM_FLAGS. Make that behavior the
default.
 1.33 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.32 29-Sep-2022  riastradh branches: 1.32.4;
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.31 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.30 27-Sep-2020  roy vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.29 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.28 01-Aug-2018  maxv branches: 1.28.4; 1.28.6;
Unreference IPF/PF from all the config files, and enable NPF instead when
wanted. This also fixes some inconsistencies I saw in several files (eg
IPF options while IPF was not compiled, IPF+PF enabled by default, etc).
 1.27 19-Feb-2017  rin branches: 1.27.6; 1.27.10; 1.27.12;
PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.26 21-Aug-2015  uebayasi branches: 1.26.2; 1.26.4;
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.25 07-Aug-2015  maxv Remove KMEMSTATS.
 1.24 16-Nov-2014  manu branches: 1.24.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.23 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.22 30-Jun-2013  rmind branches: 1.22.6;
G/C PFIL_HOOKS from the kernel configs.
 1.21 05-Jun-2013  christos branches: 1.21.2;
remove obsolete networking options
 1.20 27-Apr-2013  christos more bogus number removal
 1.19 27-Apr-2013  christos the bogus number police
 1.18 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.17 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.16 17-Aug-2012  abs branches: 1.16.2;
Update all kernel configs mentioning WSEMUL_* but not already including
WSDISPLAY_COMPAT_USL using the following rules:
- If WSEMUL_ is commented out, add commented out out WSDISPLAY_COMPAT_USL
- If INSTALL or obviously memory constrained, add WSDISPLAY_DEFAULTSCREENS=1
and commented out WSDISPLAY_COMPAT_USL
- Otherwise add WSDISPLAY_COMPAT_USL

Some of the INSTALL configs for larger memory machines are probably suitable
for adding WSDISPLAY_COMPAT_USL.

Now wsconscfg(8) should be able to switch VTs when expected.

Implemented after no objection from tech-kern to the following:

On 5 June 2012 09:47, David Brownlee <abs@absd.org> wrote:
> wsconscfg(8) requires WSDISPLAY_COMPAT_USL in order to switch virtual
> terminals.
>
> Except when in an exceptionally memory or space constrained
> environment (INSTALL being the obvious case), is there any reason why
> all GENERIC and GENERIC-like kernels which have wscons enabled
> shouldn't also have WSDISPLAY_COMPAT_USL?
 1.15 18-Dec-2011  dholland branches: 1.15.2;
WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.14 22-Nov-2011  tls branches: 1.14.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.13 30-Jun-2011  wiz branches: 1.13.2;
dependant -> dependent
 1.12 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.11 31-Jan-2011  matt Fix ident.
 1.10 23-Nov-2010  hannken branches: 1.10.2; 1.10.4;
Remove unused count from pseudo-device md.
 1.9 29-Apr-2010  chs enable TMPFS in all GENERICs that have MFS enabled.
 1.8 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.7 05-Dec-2009  pooka branches: 1.7.2; 1.7.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.6 24-Nov-2008  ad Remove softdep, pass 1. We are focused on improving journalling.

Proposed on tech-kern@.
 1.5 10-Aug-2008  tls branches: 1.5.2;
Add accept filters to GENERIC kernels where they exist.
 1.4 31-Jul-2008  simonb Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.3 04-Nov-2007  xtraeme branches: 1.3.4; 1.3.18; 1.3.22; 1.3.24; 1.3.28;
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.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.6; 1.2.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.1 16-Oct-2007  garbled branches: 1.1.2; 1.1.4;
file GENERIC was initially added on branch ppcoea-renovation.
 1.1.4.2 13-Nov-2007  bouyer Sync with HEAD
 1.1.4.1 25-Oct-2007  bouyer Sync with HEAD.
 1.1.2.1 16-Oct-2007  garbled Given that mvmeppc only supports one machine right now, just call the
kernel GENERIC like everyone else.
 1.2.8.3 15-Nov-2007  yamt sync with head.
 1.2.8.2 27-Oct-2007  yamt sync with head.
 1.2.8.1 17-Oct-2007  yamt file GENERIC was added on branch yamt-lazymbuf on 2007-10-27 11:27:17 +0000
 1.2.6.3 04-Nov-2007  jmcneill Sync with HEAD.
 1.2.6.2 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.2.6.1 17-Oct-2007  joerg file GENERIC was added on branch jmcneill-pm on 2007-10-26 15:42:56 +0000
 1.2.4.3 03-Dec-2007  ad Sync with HEAD.
 1.2.4.2 23-Oct-2007  ad Sync with head.
 1.2.4.1 17-Oct-2007  ad file GENERIC was added on branch vmlocking on 2007-10-23 20:35:57 +0000
 1.2.2.2 18-Oct-2007  yamt sync with head.
 1.2.2.1 17-Oct-2007  yamt file GENERIC was added on branch yamt-x86pmap on 2007-10-18 08:32:16 +0000
 1.3.28.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.3.28.1 19-Oct-2008  haad Sync with HEAD.
 1.3.24.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.3.22.3 11-Aug-2010  yamt sync with head.
 1.3.22.2 11-Mar-2010  yamt sync with head
 1.3.22.1 04-May-2009  yamt sync with head.
 1.3.18.2 17-Jan-2009  mjf Sync with HEAD.
 1.3.18.1 28-Sep-2008  mjf Sync with HEAD.
 1.3.4.2 06-Nov-2007  matt sync with HEAD
 1.3.4.1 04-Nov-2007  matt file GENERIC was added on branch matt-armv6 on 2007-11-06 23:19:29 +0000
 1.5.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.7.4.3 21-Apr-2011  rmind sync with head
 1.7.4.2 05-Mar-2011  rmind sync with head
 1.7.4.1 30-May-2010  rmind sync with head
 1.7.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.7.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.10.4.2 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.10.4.1 08-Feb-2011  bouyer Sync with HEAD
 1.10.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.13.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.13.2.2 30-Oct-2012  yamt sync with head
 1.13.2.1 17-Apr-2012  yamt sync with head
 1.14.2.1 18-Feb-2012  mrg merge to -current.
 1.15.2.1 15-Aug-2012  sborrill Pull up the following revisions(s) (requested by martin in ticket #502):
sys/arch/cobalt/conf/GENERIC: patch
sys/arch/i386/conf/GENERIC: patch
sys/arch/i386/conf/XEN3_DOM0: patch
sys/arch/i386/conf/XEN3_DOMU: patch
sys/arch/mvmeppc/conf/GENERIC: patch
sys/arch/shark/conf/GENERIC: patch
sys/arch/sparc64/conf/GENERIC: patch
sys/arch/sparc64/conf/GENERIC.DEBUG: patch
sys/arch/zaurus/conf/GENERIC: patch

Switch off DIAGNOSTIC and/or DEBUG on release kernels.
Enable DIAGNOSTIC in DEBUG kernels to allow for option
being switched off in GENERIC.
 1.16.2.3 03-Dec-2017  jdolecek update from HEAD
 1.16.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.16.2.1 23-Jun-2013  tls resync from head
 1.21.2.1 28-Aug-2013  rmind sync with head
 1.22.6.3 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.22.6.2 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.22.6.1 10-Oct-2014  snj Apply patch (requested by bouyer/martin in ticket #116):
Disable DIAGNOSTIC and/or DEBUG.
 1.24.2.2 28-Aug-2017  skrll Sync with HEAD
 1.24.2.1 22-Sep-2015  skrll Sync with HEAD
 1.26.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.26.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.27.12.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.27.12.1 10-Jun-2019  christos Sync with HEAD
 1.27.10.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.27.6.3 18-Apr-2018  martin Requested by skrll in ticket #60:
sys/arch/amd64/conf/GENERIC
sys/arch/amd64/conf/XEN3_DOM0
sys/arch/amd64/conf/XEN3_DOMU
sys/arch/cobalt/conf/GENERIC
sys/arch/evbarm/conf/BEAGLEBONE
sys/arch/evbarm/conf/BEAGLEBOARD
sys/arch/evbarm/conf/BEAGLEBOARDXM
sys/arch/evbarm/conf/GENERIC.common
sys/arch/i386/conf/GENERIC
sys/arch/i386/conf/XEN3_DOM0
sys/arch/i386/conf/XEN3_DOMU
sys/arch/mvmeppc/conf/GENERIC
sys/arch/shark/conf/GENERIC
sys/arch/sparc64/conf/GENERIC
sys/arch/zaurus/conf/GENERIC

Remove option DIAGNOSTIC.
 1.27.6.2 29-Aug-2017  martin Requested by skrll in ticket #60:
sys/arch/amd64/conf/GENERIC
sys/arch/amd64/conf/XEN3_DOM0
sys/arch/amd64/conf/XEN3_DOMU
sys/arch/cobalt/conf/GENERIC
sys/arch/evbarm/conf/BEAGLEBONE
sys/arch/evbarm/conf/BEAGLEBOARD
sys/arch/evbarm/conf/BEAGLEBOARDXM
sys/arch/evbarm/conf/GENERIC.common
sys/arch/i386/conf/GENERIC
sys/arch/i386/conf/XEN3_DOM0
sys/arch/i386/conf/XEN3_DOMU
sys/arch/mvmeppc/conf/GENERIC
sys/arch/shark/conf/GENERIC
sys/arch/sparc64/conf/GENERIC
sys/arch/zaurus/conf/GENERIC


Re-enable option DIAGNOSTIC for now, will remove it again later.
 1.27.6.1 05-Jul-2017  martin Remove options DIAGNOSTIC/DEBUG and PAX debug options.
Requested by snj in #60.
 1.28.6.1 25-Jan-2020  ad Sync with head.
 1.28.4.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.32.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.27 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.26 26-Aug-2006  christos branches: 1.26.12; 1.26.20; 1.26.30; 1.26.32; 1.26.34; 1.26.36;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.25 19-Apr-2006  drochner adjust comments for the new location of wskbdmap_mfii.c,
addresses PR kern/33290 by henry nelson
 1.24 05-Feb-2006  cube branches: 1.24.2; 1.24.4; 1.24.6;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.23 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.22 20-Dec-2005  thorpej branches: 1.22.2; 1.22.4; 1.22.6;
Remove the tablet line discipline.
 1.21 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.20 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.19 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.18 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.17 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.16 18-Feb-2005  dsl branches: 1.16.4; 1.16.6;
Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.15 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.14 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.13 17-Jan-2005  cube branches: 1.13.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.12 04-Sep-2004  manu branches: 1.12.4;
IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.11 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.10 14-Oct-2002  elric branches: 1.10.6; 1.10.8;
Added commented out cgd(4)s to GENERIC configs.
 1.9 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.8 17-Jun-2002  lukem branches: 1.8.2;
Enable "pseudo-device clockctl" in all kernels, except
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
 1.7 25-Apr-2002  atatat branches: 1.7.2; 1.7.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.6 17-Apr-2002  mycroft Switch from de to tlp by default.
 1.5 16-Apr-2002  wiz Remove last(?) traces of pmsi.
 1.4 12-Apr-2002  gmcgarry Add commented-out USERCONF option. Mainly useful for install media
and can be optionally enabled based on miniroot and ramdisk size
requirements.
 1.3 04-Mar-2002  wiz Remove ipip reference.
 1.2 03-Mar-2002  scw No longer need to define CACHELINESIZE here, and move NEWPMAP option
to std.mvmeppc since the old pmap module is not supported on mvmeppc.
 1.1 27-Feb-2002  scw branches: 1.1.2;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.2.6 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.5 20-Jun-2002  nathanw Catch up to -current.
 1.1.2.4 17-Apr-2002  nathanw Catch up to -current.
 1.1.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file MVME1600 was added on branch nathanw_sa on 2002-02-28 04:10:55 +0000
 1.7.4.1 01-Aug-2002  lukem Pull up revision 1.8 (requested by lukem in ticket #312):
Enable "pseudo-device clockctl" in all kernels, except
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
 1.7.2.1 14-Jul-2002  gehenna catch up with -current.
 1.8.2.4 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.8.2.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.8.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.8.2.1 17-Jun-2002  jdolecek file MVME1600 was added on branch kqueue on 2002-06-23 17:38:25 +0000
 1.10.8.1 15-Jul-2004  he Pull up revision 1.11 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.10.6.9 11-Dec-2005  christos Sync with head.
 1.10.6.8 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.10.6.7 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.10.6.6 15-Feb-2005  skrll Sync with HEAD.
 1.10.6.5 04-Feb-2005  skrll Sync with HEAD.
 1.10.6.4 24-Jan-2005  skrll Sync with HEAD.
 1.10.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.10.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.10.6.1 03-Aug-2004  skrll Sync with HEAD
 1.12.4.1 29-Apr-2005  kent sync with -current
 1.13.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.13.2.1 12-Feb-2005  yamt sync with head.
 1.16.6.3 27-Oct-2007  yamt sync with head.
 1.16.6.2 30-Dec-2006  yamt sync with head.
 1.16.6.1 21-Jun-2006  yamt sync with head.
 1.16.4.1 18-Jul-2005  riz Pull up revision 1.17 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.22.6.1 22-Apr-2006  simonb Sync with head.
 1.22.4.1 09-Sep-2006  rpaulo sync with head
 1.22.2.1 18-Feb-2006  yamt sync with head.
 1.24.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.24.4.1 11-May-2006  elad sync with head
 1.24.2.2 03-Sep-2006  yamt sync with head.
 1.24.2.1 24-May-2006  yamt sync with head.
 1.26.36.1 25-Oct-2007  bouyer Sync with HEAD.
 1.26.34.1 18-Oct-2007  yamt sync with head.
 1.26.32.1 06-Nov-2007  matt sync with HEAD
 1.26.30.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.26.20.2 16-Oct-2007  garbled Given that mvmeppc only supports one machine right now, just call the
kernel GENERIC like everyone else.
 1.26.20.1 09-May-2007  garbled Apply the complete renovation package to mvmeppc.
1) Convert to shared PIC code. For now, using i8259, however, I suspect
this machine really needs prepivr.
2) Convert to shared PCI
3) Convert to shared ISA
4) Clean up a few __P's and K&R declarations. Still a few to go probably.
 1.26.12.1 23-Oct-2007  ad Sync with head.
 1.16 19-Jan-2024  thorpej opt_mvmetype.h -> opt_mvmeconf.h to match mvme68k (which wins out because
it supports more boards).
 1.15 22-Jun-2011  matt Add support pci_intr_setattr.
Export non-inline version of pci api for modules (_MODULE is defined).
Fix definition of pc_conf_hook and pc_conf_interrupt.
Switch to using inlines instead of macros.
Switch ibm4xx to use <powerpc/pci_machdep.h>
 1.14 20-Feb-2008  drochner Since files.wscons et al. are included by ~all ports anyway, include
them in the mi "files" file, and remove include statements from md files.
These shouldn't pull in additional kernel code when not in use, so it
shouldn't do any harm except a risk of namespace collisions which
should be easy to fix.
 1.13 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.12 17-Oct-2007  garbled branches: 1.12.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.11 10-Apr-2007  macallan branches: 1.11.4; 1.11.12; 1.11.14; 1.11.16; 1.11.18;
include files.wsfb
 1.10 11-Dec-2005  christos branches: 1.10.26; 1.10.30; 1.10.32;
merge ktrace-lwp.
 1.9 25-Mar-2004  wiz branches: 1.9.16;
Define maxpartitions to the same value as MAXPARTITIONS in disklabel.h.
[Down from 16 to 8, since disklabel.h still says 8.]
Addresses PR 24905 by Simon Burge.
 1.8 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.7 18-Mar-2003  matt branches: 1.7.2;
Switch/adapt to new bus space infrastructure.
 1.6 05-Mar-2003  matt Remove port-specific procfs_machdep.c (since they are all identical and
a better one resides in powerpc/powerpc/).
 1.5 30-Oct-2002  manu Moved binary compatibility options from arch directory to cpu directory
 1.4 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.3 06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

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

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

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

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

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

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

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

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

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.2 16-Apr-2002  thorpej branches: 1.2.2; 1.2.6;
* Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
the magic "files include order" dance in N machine-dependent
configuration definitions.
 1.1 27-Feb-2002  scw branches: 1.1.2;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.2.5 11-Nov-2002  nathanw Catch up to -current
 1.1.2.4 17-Sep-2002  nathanw Catch up to -current.
 1.1.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file files.mvmeppc was added on branch nathanw_sa on 2002-02-28 04:10:56 +0000
 1.2.6.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 16-Apr-2002  jdolecek file files.mvmeppc was added on branch kqueue on 2002-06-23 17:38:26 +0000
 1.2.2.2 17-May-2002  gehenna Remove old block majors list.
 1.2.2.1 16-May-2002  gehenna Include the list of block/character major numbers.
 1.7.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.2.1 03-Aug-2004  skrll Sync with HEAD
 1.9.16.4 27-Feb-2008  yamt sync with head.
 1.9.16.3 07-Dec-2007  yamt sync with head
 1.9.16.2 27-Oct-2007  yamt sync with head.
 1.9.16.1 03-Sep-2007  yamt sync with head.
 1.10.32.1 11-Jul-2007  mjf Sync with head.
 1.10.30.3 03-Dec-2007  ad Sync with HEAD.
 1.10.30.2 23-Oct-2007  ad Sync with head.
 1.10.30.1 10-Apr-2007  ad Sync with head.
 1.10.26.1 15-Apr-2007  yamt sync with head.
 1.11.18.1 25-Oct-2007  bouyer Sync with HEAD.
 1.11.16.1 18-Oct-2007  yamt sync with head.
 1.11.14.3 23-Mar-2008  matt sync with HEAD
 1.11.14.2 09-Jan-2008  matt sync with HEAD
 1.11.14.1 06-Nov-2007  matt sync with HEAD
 1.11.12.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.11.12.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.11.4.2 10-May-2007  garbled More cleanup. mvmeppc and ibmnws are machines that have a PReP memory
map. Rather than have each port roll it's own code, use
oea/prep_machdep.c instead.
 1.11.4.1 09-May-2007  garbled Apply the complete renovation package to mvmeppc.
1) Convert to shared PIC code. For now, using i8259, however, I suspect
this machine really needs prepivr.
2) Convert to shared PCI
3) Convert to shared ISA
4) Clean up a few __P's and K&R declarations. Still a few to go probably.
 1.12.2.1 08-Dec-2007  mjf Sync with HEAD.
 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 27-Jan-2019  dholland Restore satlink's majors entries commented out and marked obsolete.
Otherwise they might accidentally get reused later and cause a
security problem.
 1.23 27-Jan-2019  maxv Remove the satlink driver. It was disabled everywhere, had no man page and
no use either. Spotted by thorpej in PR/21345, ok christos.
 1.22 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.21 23-Sep-2018  maxv Remove ISDN from the kernel. It has remained unmaintained for a long time,
is of poor quality, and is now an obstacle to MP-ification. It was removed
ten years ago from FreeBSD for the same reason.

This retires a big user of the mbuf API, and will ease maintenance of the
kernel.
 1.20 30-Jun-2011  wiz branches: 1.20.52; 1.20.54;
dependant -> dependent
 1.19 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.18 31-Dec-2007  ad branches: 1.18.6; 1.18.10; 1.18.16; 1.18.18;
Remove systrace. Ok core@.
 1.17 24-Nov-2006  wiz branches: 1.17.28; 1.17.34; 1.17.42;
s/independant/independent/, from Zafer.
 1.16 11-Dec-2005  christos branches: 1.16.20; 1.16.22;
merge ktrace-lwp.
 1.15 17-Sep-2005  yamt make VMSWAP optional again.
 1.14 31-Jul-2005  yamt revert "defflag VMSWAP" changes for now.
there seems to be far more people who don't want to edit
their kernel config files than i thought.
 1.13 30-Jul-2005  yamt defflag VMSWAP.
 1.12 10-May-2005  jdolecek branches: 1.12.2;
assign major for nsmb(4)
 1.11 10-Dec-2003  jmc Change reference at bottom from sys/dev/majors to sys/conf/majors to match
reality
 1.10 24-Oct-2003  jdolecek add major for 'ses' for archs which have the other scsi devices
 1.9 10-Oct-2003  jdolecek reassing majors for crypto and pf to use the newly defined MI major
range
 1.8 10-Oct-2003  jdolecek update the comment - the space for machine-dependant majors
is reduced to 0-143
follows discussion on tech-kern
 1.7 05-Oct-2003  jdolecek Add some framework for MI assignment of device majors - add sys/dev/majors
which is automatically included during kernel config, and add comments
to individual machine-dependant majors.* files to assign new MI majors
in MI file.

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

Follows recent discussion on tech-kern@
 1.6 22-Aug-2003  itojun create /dev/crypto
 1.5 27-Jul-2003  itojun reserve cdev major # for PF. ok'ed by technical-exec
 1.4 25-Apr-2003  ragge branches: 1.4.2;
Add ksyms device major.
 1.3 04-Oct-2002  elric branches: 1.3.2;
assign majors for raw and cooked cgd's.
 1.2 06-Sep-2002  gehenna branches: 1.2.2;
Merge the gehenna-devsw branch into the trunk.

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

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

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

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

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

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

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

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

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.1 16-May-2002  gehenna branches: 1.1.2;
file majors.mvmeppc was initially added on branch gehenna-devsw.
 1.1.2.3 14-Jul-2002  gehenna catch up with -current.
 1.1.2.2 30-May-2002  gehenna Add $NetBSD$
 1.1.2.1 16-May-2002  gehenna Add the list of block/character majors.
 1.2.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.2.2.2 17-Sep-2002  nathanw Catch up to -current.
 1.2.2.1 06-Sep-2002  nathanw file majors.mvmeppc was added on branch nathanw_sa on 2002-09-17 21:16:08 +0000
 1.3.2.2 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.3.2.1 04-Oct-2002  jdolecek file majors.mvmeppc was added on branch kqueue on 2002-10-10 18:34:21 +0000
 1.4.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.2.1 03-Aug-2004  skrll Sync with HEAD
 1.12.2.3 21-Jan-2008  yamt sync with head
 1.12.2.2 30-Dec-2006  yamt sync with head.
 1.12.2.1 21-Jun-2006  yamt sync with head.
 1.16.22.1 10-Dec-2006  yamt sync with head.
 1.16.20.1 12-Jan-2007  ad Sync with head.
 1.17.42.1 02-Jan-2008  bouyer Sync with HEAD
 1.17.34.1 18-Feb-2008  mjf Sync with HEAD.
 1.17.28.1 09-Jan-2008  matt sync with HEAD
 1.18.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.18.16.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.18.10.1 04-May-2009  yamt sync with head.
 1.18.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.20.54.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.20.54.1 10-Jun-2019  christos Sync with HEAD
 1.20.52.2 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.20.52.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.9 11-Dec-2005  christos merge ktrace-lwp.
 1.8 17-Sep-2005  yamt include "conf/std".
 1.7 12-Aug-2003  matt branches: 1.7.16;
Remove SPILLSTK leftovers.
 1.6 03-Feb-2003  matt branches: 1.6.2;
Rename PPC_MPC6XX to PPC_OEA (and any mpc6xx reference to oea).
 1.5 02-Feb-2003  matt Perform a rototill of the powerpc code. Mandate use of SPRG0 to store
a pointer to current cpu's cpu_info structure. Use cpu_info for
intstk,intr_depth,still_stk,idle_pcb,curpcb,curlwp,etal even on
non-MULTIPROCESSOR machines. Add common macros GET_CPUINFO and
INIT_CPUINFO to get and initialize the cpu_info struct on startup. Make
ibm4xx use the standard <powerpc/frame.h>. Use IFRAME_xx in ibm4xx
trap_subr.S instead of explicit magic offsets. Move INTSTK and SPILLSTK
to std.<platform>. Change faultbuf to a struct instead of an array.

On MPC6XX cpus, stop using the vector page for temporary space and use
reserved space in cpu_info.
 1.4 18-Apr-2002  matt branches: 1.4.6;
Use a common genassym.cf for all the PPC_MPC6XX ports. Add a makeoptions to
std.foo to indicate the directory to get genassym.cf from. Add an intrframe
to <powerpc/frame.h> and make trap_subr.S use symbolic offsets into it.
 1.3 09-Mar-2002  chs switch all mpc6xx powerpc ports to NEWPMAP by default.
the old pmap is still available with the OLDPMAP option.
 1.2 03-Mar-2002  scw No longer need to define CACHELINESIZE here, and move NEWPMAP option
to std.mvmeppc since the old pmap module is not supported on mvmeppc.
 1.1 27-Feb-2002  scw branches: 1.1.2;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file std.mvmeppc was added on branch nathanw_sa on 2002-02-28 04:10:56 +0000
 1.4.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.6.1 18-Apr-2002  jdolecek file std.mvmeppc was added on branch kqueue on 2002-06-23 17:38:26 +0000
 1.6.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.6.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.2.1 03-Aug-2004  skrll Sync with HEAD
 1.7.16.1 21-Jun-2006  yamt sync with head.
 1.10 21-Dec-2015  christos Add mips fenv.h (From FreeBSD)
 1.9 23-Jul-2014  alnsn branches: 1.9.4;
Rename sljitarch.h to sljit_machdep.h.
 1.8 17-Nov-2013  alnsn branches: 1.8.2;
Enable sljit and bpfjit on powerpc.
 1.7 11-Dec-2005  christos branches: 1.7.112; 1.7.122; 1.7.128;
merge ktrace-lwp.
 1.6 20-Oct-2003  matt Reorganize the way powerpc port install machine specific headers.
Use <powerpc/oea/bat.h> exclusively and remove <machine/bat.h> and
<powerpc/bat.h>. Remove unneeded <machine/cpufunc.h>. To insure
1:1 correspondence of <powerpc/FOO.h> to <machine/FOO.h> include
"../../powerpc/include/Makefile" in "arch/FOO/include/Makefile".
Incororpate <byte_swap.h> into <bswap.h> and then byte_swap.h
 1.5 17-Jan-2003  thorpej branches: 1.5.2;
Merge the nathanw_sa branch.
 1.4 26-Nov-2002  lukem Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more.
 1.3 07-Aug-2002  briggs Implement pmc(9) -- An interface to hardware performance monitoring
counters. These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface. Initially, the Intel XScale
counters are the only ones supported.
 1.2 27-Feb-2002  scw branches: 1.2.2; 1.2.10; 1.2.14;
Get in sync with include files.
 1.1 27-Feb-2002  scw New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.2.14.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.14.1 27-Feb-2002  jdolecek file Makefile was added on branch kqueue on 2002-06-23 17:38:26 +0000
 1.2.10.1 31-Aug-2002  gehenna catch up with -current.
 1.2.2.4 11-Dec-2002  thorpej Sync with HEAD.
 1.2.2.3 13-Aug-2002  nathanw Catch up to -current.
 1.2.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.2.2.1 27-Feb-2002  nathanw file Makefile was added on branch nathanw_sa on 2002-02-28 04:10:56 +0000
 1.5.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.2.1 03-Aug-2004  skrll Sync with HEAD
 1.7.128.1 18-May-2014  rmind sync with head
 1.7.122.2 03-Dec-2017  jdolecek update from HEAD
 1.7.122.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7.112.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.8.2.1 10-Aug-2014  tls Rebase.
 1.9.4.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file ansi.h was added on branch kqueue on 2002-06-23 17:38:26 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file ansi.h was added on branch nathanw_sa on 2002-02-28 04:10:56 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file aout_machdep.h was added on branch kqueue on 2002-06-23 17:38:26 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file aout_machdep.h was added on branch nathanw_sa on 2002-02-28 04:10:56 +0000
 1.2 25-Feb-2006  wiz Fix some typos.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.36; 1.1.48; 1.1.50; 1.1.52;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.52.1 22-Apr-2006  simonb Sync with head.
 1.1.50.1 09-Sep-2006  rpaulo sync with head
 1.1.48.1 01-Mar-2006  yamt sync with head.
 1.1.36.1 21-Jun-2006  yamt sync with head.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file asm.h was added on branch kqueue on 2002-06-23 17:38:27 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file asm.h was added on branch nathanw_sa on 2002-02-28 04:10:56 +0000
 1.3 05-Jun-2011  matt Remove <machine/atomic.h>; use <sys/atomic.h> instead.
Add <powerpc/cpuset.h> (for mpc85xx pmap).
Add some initial MP code for mpc85xx
Rework ipi code to be common across all ppcs
Change PPC to keep curlwp in %r13 while in the kernel.
Move astpending from cpu_info to mdlwp
Improve cpu_need_resched to be more MP friendly.
 1.2 11-Dec-2005  christos branches: 1.2.100; 1.2.106; 1.2.110;
merge ktrace-lwp.
 1.1 20-Oct-2003  matt branches: 1.1.4;
Reorganize the way powerpc port install machine specific headers.
Use <powerpc/oea/bat.h> exclusively and remove <machine/bat.h> and
<powerpc/bat.h>. Remove unneeded <machine/cpufunc.h>. To insure
1:1 correspondence of <powerpc/FOO.h> to <machine/FOO.h> include
"../../powerpc/include/Makefile" in "arch/FOO/include/Makefile".
Incororpate <byte_swap.h> into <bswap.h> and then byte_swap.h
 1.1.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.1.4.2 03-Aug-2004  skrll Sync with HEAD
 1.1.4.1 20-Oct-2003  skrll file atomic.h was added on branch ktrace-lwp on 2004-08-03 10:38:16 +0000
 1.2.110.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.2.106.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.100.1 12-Jun-2011  rmind sync with head
 1.5 30-Jun-2011  matt Modify mapiodev to take a third argument indicating whether the space
should be prefetchable (true) or not (false).
 1.4 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.3 04-Mar-2007  christos branches: 1.3.44; 1.3.52; 1.3.58;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.2 05-Jul-2002  matt branches: 1.2.22; 1.2.60;
Peform a rototill over the powerpc-based ports.

Move the trap/vector initialization for MPC6xx ports to mpc6xx_machdep.c
Also move softnet, install_extintr, mapiodev, kvtop. Add common BAT
initialization code.

Add user Altivec support.

Fix calls to OF_call_method in macppc/macppc/machdep.c.

Use ci_fpuproc in cpu_info instead of separate fpuproc.

Add separate syscall.c and defined __HAVE_SYSCALL_INTERN.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.10; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file autoconf.h was added on branch kqueue on 2002-06-23 17:38:27 +0000
 1.1.10.1 16-Jul-2002  gehenna catch up with -current.
 1.1.2.3 01-Aug-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file autoconf.h was added on branch nathanw_sa on 2002-02-28 04:10:57 +0000
 1.2.60.1 12-Mar-2007  rmind Sync with HEAD.
 1.2.22.1 03-Sep-2007  yamt sync with head.
 1.3.58.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.3.52.1 28-Apr-2009  skrll Sync with HEAD.
 1.3.44.1 04-May-2009  yamt sync with head.
 1.2 20-Oct-2003  matt Reorganize the way powerpc port install machine specific headers.
Use <powerpc/oea/bat.h> exclusively and remove <machine/bat.h> and
<powerpc/bat.h>. Remove unneeded <machine/cpufunc.h>. To insure
1:1 correspondence of <powerpc/FOO.h> to <machine/FOO.h> include
"../../powerpc/include/Makefile" in "arch/FOO/include/Makefile".
Incororpate <byte_swap.h> into <bswap.h> and then byte_swap.h
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.20;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.20.1 03-Aug-2004  skrll Sync with HEAD
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file bat.h was added on branch kqueue on 2002-06-23 17:38:27 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file bat.h was added on branch nathanw_sa on 2002-02-28 04:10:57 +0000
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 28-Jul-2003  scw Add a 'packed' attribute to the bootinfo structure.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.20;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.20.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.20.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.20.1 03-Aug-2004  skrll Sync with HEAD
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file bootinfo.h was added on branch kqueue on 2002-06-23 17:38:27 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file bootinfo.h was added on branch nathanw_sa on 2002-02-28 04:10:57 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file bswap.h was added on branch kqueue on 2002-06-23 17:38:27 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file bswap.h was added on branch nathanw_sa on 2002-02-28 04:10:57 +0000
 1.7 17-Jul-2011  dyoung Enable new-style <sys/bus.h> on several PowerPC ports supporting PCI
buses. Make non-inline implementations of bus_space(9) and bus_dma(9)
routines and move them to appropriate .c files.

This may leave amigappc in a bad state, sorry. Fortunately, it will be
easy to repair by imitating the bus.h -> bus_{defs,funcs}.h split in
some other PowerPC port.
 1.6 03-May-2008  martin Move to 2 clause TNF license
 1.5 17-Oct-2007  garbled branches: 1.5.16; 1.5.18; 1.5.20;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.4 11-Dec-2005  christos branches: 1.4.30; 1.4.38; 1.4.48; 1.4.50; 1.4.52; 1.4.54;
merge ktrace-lwp.
 1.3 28-Jul-2003  scw branches: 1.3.16;
Make these build with recent tweaks to powerpc's bus_space(9) by moving
the inclusion of <powerpc/bus.h> to *after* the definitions of
PHYS_TO_BUS_MEM() and BUS_MEM_TO_PHYS().
 1.2 18-Mar-2003  matt branches: 1.2.2;
Switch/adapt to new bus space infrastructure.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file bus.h was added on branch kqueue on 2002-06-23 17:38:27 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file bus.h was added on branch nathanw_sa on 2002-02-28 04:10:57 +0000
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.3.16.1 27-Oct-2007  yamt sync with head.
 1.4.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.4.52.1 18-Oct-2007  yamt sync with head.
 1.4.50.1 06-Nov-2007  matt sync with HEAD
 1.4.48.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.4.38.2 10-May-2007  garbled More cleanup. mvmeppc and ibmnws are machines that have a PReP memory
map. Rather than have each port roll it's own code, use
oea/prep_machdep.c instead.
 1.4.38.1 09-May-2007  garbled Apply the complete renovation package to mvmeppc.
1) Convert to shared PIC code. For now, using i8259, however, I suspect
this machine really needs prepivr.
2) Convert to shared PCI
3) Convert to shared ISA
4) Clean up a few __P's and K&R declarations. Still a few to go probably.
 1.4.30.1 23-Oct-2007  ad Sync with head.
 1.5.20.1 16-May-2008  yamt sync with head.
 1.5.18.1 18-May-2008  yamt sync with head.
 1.5.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.1 01-Jul-2011  dyoung Per discussion at
<http://mail-index.netbsd.org/tech-kern/2010/04/02/msg007941.html>,
divide each machine's bus.h into bus_defs.h (constants & data types)
and bus_funcs.h (macro implementations of bus_space(9) routines and MD
prototypes).

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

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

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

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

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

These #include files are not referenced by any (committed) Makefiles or
header files, yet. Changes to Makefiles, to <sys/bus.h>, and to some
more machine-dependent files will dribble in before I throw the switch.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file cdefs.h was added on branch kqueue on 2002-06-23 17:38:27 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file cdefs.h was added on branch nathanw_sa on 2002-02-28 04:10:57 +0000
 1.2 20-Jun-2011  matt Don't expose port-specific if _MODULE is defined.
Don't _MACHINE_CPU_H_, _<PORT>_CPU_H_
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.158;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.158.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file cpu.h was added on branch kqueue on 2002-06-23 17:38:27 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file cpu.h was added on branch nathanw_sa on 2002-02-28 04:10:58 +0000
 1.1 05-Feb-2003  nakayama Replace machine/rnd.h with more appropriate name to share it
with cycle counter based microtime in kern/kern_microtime.c.
 1.2 26-Apr-2011  joerg Remove Darwin, MACH and Mach-O support.
 1.1 08-Dec-2002  manu branches: 1.1.2; 1.1.136; 1.1.142;
A working fork/vfork implementation. Darwin fork differs from our fork by
two ways:
- the child gets its pid as retval[0] (userland stub will turn it into a 0),
retval[1] is 1 and it is 0 in the parent.
- in the child, the fork syscall is successful, hence we must skip the next
instruction.
 1.1.142.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.136.1 31-May-2011  rmind sync with head
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 08-Dec-2002  thorpej file darwin_machdep.h was added on branch nathanw_sa on 2002-12-11 06:11:24 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

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

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

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

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

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

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

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

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

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

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

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

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

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


Test built "make release" for i386, and new bootblocks verified to work
(even off FAT!).
 1.3 10-May-2003  thorpej branches: 1.3.2;
Remove redundant bounds_check_with_label() prototype.
 1.2 07-Mar-2002  matt branches: 1.2.10;
Change LABELOFFSET to 0 to be compatible most other MBR using ports.
 1.1 27-Feb-2002  scw branches: 1.1.2;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file disklabel.h was added on branch nathanw_sa on 2002-02-28 04:10:58 +0000
 1.2.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.10.1 07-Mar-2002  jdolecek file disklabel.h was added on branch kqueue on 2002-06-23 17:38:28 +0000
 1.3.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6.78.1 11-Mar-2010  yamt sync with head
 1.8.12.1 23-Jun-2013  tls resync from head
 1.8.2.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file elf_machdep.h was added on branch kqueue on 2002-06-23 17:38:28 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file elf_machdep.h was added on branch nathanw_sa on 2002-02-28 04:10:58 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file endian.h was added on branch kqueue on 2002-06-23 17:38:28 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file endian.h was added on branch nathanw_sa on 2002-02-28 04:10:58 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file endian_machdep.h was added on branch kqueue on 2002-06-23 17:38:28 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file endian_machdep.h was added on branch nathanw_sa on 2002-02-28 04:10:58 +0000
 1.1 20-Dec-2015  christos branches: 1.1.2; 1.1.18;
new powerpc fenv.h
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 20-Dec-2015  jdolecek file fenv.h was added on branch tls-maxphys on 2017-12-03 11:36:31 +0000
 1.1.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.2.1 20-Dec-2015  skrll file fenv.h was added on branch nick-nhusb on 2015-12-27 12:09:39 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file float.h was added on branch kqueue on 2002-06-23 17:38:28 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file float.h was added on branch nathanw_sa on 2002-02-28 04:10:58 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file fpu.h was added on branch kqueue on 2002-06-23 17:38:28 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file fpu.h was added on branch nathanw_sa on 2002-02-28 04:10:59 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file frame.h was added on branch kqueue on 2002-06-23 17:38:28 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file frame.h was added on branch nathanw_sa on 2002-02-28 04:10:59 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file ieee.h was added on branch kqueue on 2002-06-23 17:38:28 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file ieee.h was added on branch nathanw_sa on 2002-02-28 04:10:59 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file ieeefp.h was added on branch kqueue on 2002-06-23 17:38:28 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file ieeefp.h was added on branch nathanw_sa on 2002-02-28 04:10:59 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file int_const.h was added on branch kqueue on 2002-06-23 17:38:28 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file int_const.h was added on branch nathanw_sa on 2002-02-28 04:10:59 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file int_fmtio.h was added on branch kqueue on 2002-06-23 17:38:29 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file int_fmtio.h was added on branch nathanw_sa on 2002-02-28 04:10:59 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file int_limits.h was added on branch kqueue on 2002-06-23 17:38:29 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file int_limits.h was added on branch nathanw_sa on 2002-02-28 04:10:59 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file int_mwgwtypes.h was added on branch kqueue on 2002-06-23 17:38:29 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file int_mwgwtypes.h was added on branch nathanw_sa on 2002-02-28 04:11:00 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file int_types.h was added on branch kqueue on 2002-06-23 17:38:29 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file int_types.h was added on branch nathanw_sa on 2002-02-28 04:11:00 +0000
 1.15 17-Jun-2011  matt intr.h must not include cpu due to deadly embrace with SOFTINT_COUNT.
Cleanup intr.h so MD definitions can overload common definitions.
Rototill pic/intr.c. Virtual IRQs can now be reclaimed. separate virq
from hwirq from picirq. Redo intr mask calculations.
tested on pmppc and macppc (MP).
 1.14 24-Apr-2010  kiyohara branches: 1.14.6;
Support 64-bit imask for powerpc/pic.
 1.13 28-Apr-2008  martin branches: 1.13.20; 1.13.22;
Remove clause 3 and 4 from TNF licenses
 1.12 17-Oct-2007  garbled branches: 1.12.16; 1.12.18; 1.12.20;
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.11 16-Feb-2007  ad branches: 1.11.6; 1.11.14; 1.11.22; 1.11.24; 1.11.26; 1.11.28;
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.10 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.9 16-Feb-2006  perry branches: 1.9.14; 1.9.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.8 24-Dec-2005  perry branches: 1.8.2; 1.8.4; 1.8.6;
__asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
 1.7 24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.6 11-Dec-2005  christos merge ktrace-lwp.
 1.5 03-Sep-2003  matt branches: 1.5.16;
Move CLKF_BASEPRI to machine specific <intr.h> file since it depends on
the encoding of the spl for the port.
 1.4 16-Jun-2003  thorpej branches: 1.4.2;
Rename IPL_IMP -> IPL_VM.
 1.3 05-Jul-2002  matt Peform a rototill over the powerpc-based ports.

Move the trap/vector initialization for MPC6xx ports to mpc6xx_machdep.c
Also move softnet, install_extintr, mapiodev, kvtop. Add common BAT
initialization code.

Add user Altivec support.

Fix calls to OF_call_method in macppc/macppc/machdep.c.

Use ci_fpuproc in cpu_info instead of separate fpuproc.

Add separate syscall.c and defined __HAVE_SYSCALL_INTERN.
 1.2 28-Feb-2002  scw branches: 1.2.2; 1.2.6; 1.2.10; 1.2.14;
Oops, replace this with a (very) slightly modified version of prep's
intr.h instead of a remnant of my original hacking where it was based
on sandpoint's.
 1.1 27-Feb-2002  scw New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.2.14.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.14.1 28-Feb-2002  jdolecek file intr.h was added on branch kqueue on 2002-06-23 17:38:29 +0000
 1.2.10.1 16-Jul-2002  gehenna catch up with -current.
 1.2.6.1 17-Mar-2002  thorpej IPL_IMP -> IPL_VM
 1.2.2.4 01-Aug-2002  nathanw Catch up to -current.
 1.2.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.2.2.1 28-Feb-2002  nathanw file intr.h was added on branch nathanw_sa on 2002-02-28 04:11:00 +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.5.16.4 27-Oct-2007  yamt sync with head.
 1.5.16.3 26-Feb-2007  yamt sync with head.
 1.5.16.2 30-Dec-2006  yamt sync with head.
 1.5.16.1 21-Jun-2006  yamt sync with head.
 1.8.6.1 22-Apr-2006  simonb Sync with head.
 1.8.4.1 09-Sep-2006  rpaulo sync with head
 1.8.2.1 18-Feb-2006  yamt sync with head.
 1.9.16.1 02-Dec-2006  yamt implement splraiseipl/makeiplcookie for mvmeppc.
 1.9.14.1 12-Jan-2007  ad Sync with head.
 1.11.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.11.26.1 18-Oct-2007  yamt sync with head.
 1.11.24.1 06-Nov-2007  matt sync with HEAD
 1.11.22.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.11.14.1 09-May-2007  garbled Apply the complete renovation package to mvmeppc.
1) Convert to shared PIC code. For now, using i8259, however, I suspect
this machine really needs prepivr.
2) Convert to shared PCI
3) Convert to shared ISA
4) Clean up a few __P's and K&R declarations. Still a few to go probably.
 1.11.6.1 23-Oct-2007  ad Sync with head.
 1.12.20.2 11-Aug-2010  yamt sync with head.
 1.12.20.1 16-May-2008  yamt sync with head.
 1.12.18.1 18-May-2008  yamt sync with head.
 1.12.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.13.22.1 30-May-2010  rmind sync with head
 1.13.20.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.14.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.2 15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.32; 1.1.210;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.210.1 10-Jun-2019  christos Sync with HEAD
 1.1.32.1 28-Jul-2018  pgoyette Sync with HEAD
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file ipkdb.h was added on branch kqueue on 2002-06-23 17:38:29 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file ipkdb.h was added on branch nathanw_sa on 2002-02-28 04:11:00 +0000
 1.9 12-Dec-2021  andvar s/Miscellanous/Miscellaneous/ in copypasta comments.
 1.8 18-Oct-2016  jdolecek add isa_intr_establish_xname() to MD isa headers so that it can be used
by MI drivers
 1.7 19-Aug-2009  dyoung branches: 1.7.22; 1.7.40; 1.7.44;
(Re-)define isa_detach_hook(), and define isa_dmadestroy(). Update
some isa_chipset_tag_t->ic_detach_hook() definitions.
 1.6 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.5 17-Oct-2007  garbled branches: 1.5.16; 1.5.18; 1.5.20;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.4 11-Dec-2005  christos branches: 1.4.30; 1.4.38; 1.4.48; 1.4.50; 1.4.52; 1.4.54;
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 09-May-2003  fvdl branches: 1.2.2;
A few ISA sound drivers like to share dma channels, and hence deferred
isa_dmamap_create() calls to their open/close entrypoints. This worked
with some luck, but broke on i386 when _bus_dmamap_create started
to allocate bounce buffers upfront, since memory below 16M may well
not be available when the sound devices is opened for the Nth time.

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

All isa_dmamap_create calls can now use BUS_DMA_ALLOCNOW and be done
at attach time.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file isa_machdep.h was added on branch kqueue on 2002-06-23 17:38:29 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file isa_machdep.h was added on branch nathanw_sa on 2002-02-28 04:11:00 +0000
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.3.16.1 27-Oct-2007  yamt sync with head.
 1.4.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.4.52.1 18-Oct-2007  yamt sync with head.
 1.4.50.1 06-Nov-2007  matt sync with HEAD
 1.4.48.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.4.38.2 10-May-2007  garbled More cleanup. mvmeppc and ibmnws are machines that have a PReP memory
map. Rather than have each port roll it's own code, use
oea/prep_machdep.c instead.
 1.4.38.1 09-May-2007  garbled Apply the complete renovation package to mvmeppc.
1) Convert to shared PIC code. For now, using i8259, however, I suspect
this machine really needs prepivr.
2) Convert to shared PCI
3) Convert to shared ISA
4) Clean up a few __P's and K&R declarations. Still a few to go probably.
 1.4.30.1 23-Oct-2007  ad Sync with head.
 1.5.20.2 19-Aug-2009  yamt sync with head.
 1.5.20.1 16-May-2008  yamt sync with head.
 1.5.18.1 18-May-2008  yamt sync with head.
 1.5.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.44.1 04-Nov-2016  pgoyette Sync with HEAD
 1.7.40.1 05-Dec-2016  skrll Sync with HEAD
 1.7.22.1 03-Dec-2017  jdolecek update from HEAD
 1.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.122; 1.1.124; 1.1.126;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.126.1 16-May-2008  yamt sync with head.
 1.1.124.1 18-May-2008  yamt sync with head.
 1.1.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file isapnp_machdep.h was added on branch kqueue on 2002-06-23 17:38:30 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file isapnp_machdep.h was added on branch nathanw_sa on 2002-02-28 04:11:00 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file kcore.h was added on branch kqueue on 2002-06-23 17:38:30 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file kcore.h was added on branch nathanw_sa on 2002-02-28 04:11:01 +0000
 1.3 16-Feb-2006  perry 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.2 24-Dec-2005  perry branches: 1.2.2; 1.2.4; 1.2.6;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file kgdb.h was added on branch kqueue on 2002-06-23 17:38:30 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file kgdb.h was added on branch nathanw_sa on 2002-02-28 04:11:01 +0000
 1.2.6.1 22-Apr-2006  simonb Sync with head.
 1.2.4.1 09-Sep-2006  rpaulo sync with head
 1.2.2.1 18-Feb-2006  yamt sync with head.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file limits.h was added on branch kqueue on 2002-06-23 17:38:30 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file limits.h was added on branch nathanw_sa on 2002-02-28 04:11:01 +0000
 1.4 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.3 28-Apr-2008  martin branches: 1.3.44; 1.3.60;
Remove clause 3 and 4 from TNF licenses
 1.2 25-Jan-2006  christos branches: 1.2.72; 1.2.74; 1.2.76;
free -> dealloc
unsigned -> size_t for alloc/dealloc
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.36; 1.1.48;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.48.1 01-Feb-2006  yamt sync with head.
 1.1.36.1 21-Jun-2006  yamt sync with head.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file loadfile_machdep.h was added on branch kqueue on 2002-06-23 17:38:30 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file loadfile_machdep.h was added on branch nathanw_sa on 2002-02-28 04:11:01 +0000
 1.2.76.1 16-May-2008  yamt sync with head.
 1.2.74.1 18-May-2008  yamt sync with head.
 1.2.72.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.60.1 10-Aug-2014  tls Rebase.
 1.3.44.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file lock.h was added on branch kqueue on 2002-06-23 17:38:30 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file lock.h was added on branch nathanw_sa on 2002-02-28 04:11:01 +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.2 26-Apr-2011  joerg Remove Darwin, MACH and Mach-O support.
 1.1 30-Oct-2002  matt branches: 1.1.2; 1.1.136; 1.1.142;
Add missing file.
 1.1.142.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.136.1 31-May-2011  rmind sync with head
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 30-Oct-2002  nathanw file macho_machdep.h was added on branch nathanw_sa on 2002-11-11 22:01:37 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file math.h was added on branch kqueue on 2002-06-23 17:38:30 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file math.h was added on branch nathanw_sa on 2002-02-28 04:11:01 +0000
 1.2 17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.1 06-Oct-2002  gmcgarry branches: 1.1.2;
file mcontext.h was initially added on branch nathanw_sa.
 1.1.2.1 06-Oct-2002  gmcgarry Pull in powerppc mcontext.h
 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:35 +0000
 1.4 20-Jun-2011  matt Cleanup powerpc param.h. If compiling a MODULE, ignore port-specific stuff.
Only include <machine/cpu.h> in <powerpc/param.h> at the end.
 1.3 09-Mar-2002  chs branches: 1.3.10; 1.3.154;
switch all mpc6xx powerpc ports to NEWPMAP by default.
the old pmap is still available with the OLDPMAP option.
 1.2 03-Mar-2002  scw Define NEWPMAP here if it is not already defined, for the benefit
of lkms.
 1.1 27-Feb-2002  scw branches: 1.1.2;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file param.h was added on branch nathanw_sa on 2002-02-28 04:11:01 +0000
 1.3.154.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.3.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.10.1 09-Mar-2002  jdolecek file param.h was added on branch kqueue on 2002-06-23 17:38:30 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file pcb.h was added on branch kqueue on 2002-06-23 17:38:31 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file pcb.h was added on branch nathanw_sa on 2002-02-28 04:11:02 +0000
 1.7 22-Jun-2011  matt Add support pci_intr_setattr.
Export non-inline version of pci api for modules (_MODULE is defined).
Fix definition of pc_conf_hook and pc_conf_interrupt.
Switch to using inlines instead of macros.
Switch ibm4xx to use <powerpc/pci_machdep.h>
 1.6 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.5 17-Oct-2007  garbled branches: 1.5.16; 1.5.18; 1.5.20;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.4 11-Dec-2005  christos branches: 1.4.30; 1.4.38; 1.4.48; 1.4.50; 1.4.52; 1.4.54;
merge ktrace-lwp.
 1.3 29-Jul-2004  drochner branches: 1.3.12;
remove now unnecessary "pci_enumerate_bus" definitions
 1.2 15-May-2002  thorpej branches: 1.2.6; 1.2.12;
Let machine-dependent code specify how to enumerate the bus.
Currently, everyone uses pci_enumerate_bus_generic().
 1.1 27-Feb-2002  scw branches: 1.1.2;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file pci_machdep.h was added on branch nathanw_sa on 2002-02-28 04:11:02 +0000
 1.2.12.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.12.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.12.1 03-Aug-2004  skrll Sync with HEAD
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 15-May-2002  jdolecek file pci_machdep.h was added on branch kqueue on 2002-06-23 17:38:31 +0000
 1.3.12.1 27-Oct-2007  yamt sync with head.
 1.4.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.4.52.1 18-Oct-2007  yamt sync with head.
 1.4.50.1 06-Nov-2007  matt sync with HEAD
 1.4.48.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.4.38.1 09-May-2007  garbled Apply the complete renovation package to mvmeppc.
1) Convert to shared PIC code. For now, using i8259, however, I suspect
this machine really needs prepivr.
2) Convert to shared PCI
3) Convert to shared ISA
4) Clean up a few __P's and K&R declarations. Still a few to go probably.
 1.4.30.1 23-Oct-2007  ad Sync with head.
 1.5.20.1 16-May-2008  yamt sync with head.
 1.5.18.1 18-May-2008  yamt sync with head.
 1.5.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file pio.h was added on branch kqueue on 2002-06-23 17:38:31 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file pio.h was added on branch nathanw_sa on 2002-02-28 04:11:02 +0000
 1.4 18-Jun-2011  matt struct device * -> device_t
struct cfdata * -> cfdata_t
use device accessors, use device_private.
some softc/device_t splits (macppc needs a bunch more)
aprint*_dev used considerably more
 1.3 28-Apr-2008  martin branches: 1.3.32;
Remove clause 3 and 4 from TNF licenses
 1.2 17-Oct-2007  garbled branches: 1.2.16; 1.2.18; 1.2.20;
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.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.36; 1.1.78; 1.1.86; 1.1.96; 1.1.98; 1.1.100; 1.1.102;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.102.1 25-Oct-2007  bouyer Sync with HEAD.
 1.1.100.1 18-Oct-2007  yamt sync with head.
 1.1.98.1 06-Nov-2007  matt sync with HEAD
 1.1.96.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.1.86.1 09-May-2007  garbled Apply the complete renovation package to mvmeppc.
1) Convert to shared PIC code. For now, using i8259, however, I suspect
this machine really needs prepivr.
2) Convert to shared PCI
3) Convert to shared ISA
4) Clean up a few __P's and K&R declarations. Still a few to go probably.
 1.1.78.1 23-Oct-2007  ad Sync with head.
 1.1.36.1 27-Oct-2007  yamt sync with head.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file platform.h was added on branch kqueue on 2002-06-23 17:38:31 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file platform.h was added on branch nathanw_sa on 2002-02-28 04:11:03 +0000
 1.2.20.1 16-May-2008  yamt sync with head.
 1.2.18.1 18-May-2008  yamt sync with head.
 1.2.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.32.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.2 03-Feb-2003  matt Rename PPC_MPC6XX to PPC_OEA (and any mpc6xx reference to oea).
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file pmap.h was added on branch kqueue on 2002-06-23 17:38:31 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file pmap.h was added on branch nathanw_sa on 2002-02-28 04:11:03 +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:05 +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:29 +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:34 +0000
 1.4 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.3 11-Dec-2005  christos branches: 1.3.78; 1.3.86; 1.3.92;
merge ktrace-lwp.
 1.2 23-Oct-2004  thorpej Centralize the declaration of booted_device and booted_partition.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.20;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.20.1 02-Nov-2004  skrll Sync with HEAD.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file powerpc.h was added on branch kqueue on 2002-06-23 17:38:31 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file powerpc.h was added on branch nathanw_sa on 2002-02-28 04:11:04 +0000
 1.3.92.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.3.86.1 28-Apr-2009  skrll Sync with HEAD.
 1.3.78.1 04-May-2009  yamt sync with head.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file proc.h was added on branch kqueue on 2002-06-23 17:38:31 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file proc.h was added on branch nathanw_sa on 2002-02-28 04:11:04 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file profile.h was added on branch kqueue on 2002-06-23 17:38:32 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file profile.h was added on branch nathanw_sa on 2002-02-28 04:11:04 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file psl.h was added on branch kqueue on 2002-06-23 17:38:32 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file psl.h was added on branch nathanw_sa on 2002-02-28 04:11:04 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file pte.h was added on branch kqueue on 2002-06-23 17:38:32 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file pte.h was added on branch nathanw_sa on 2002-02-28 04:11:04 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file ptrace.h was added on branch kqueue on 2002-06-23 17:38:32 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file ptrace.h was added on branch nathanw_sa on 2002-02-28 04:11:04 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file reg.h was added on branch kqueue on 2002-06-23 17:38:32 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file reg.h was added on branch nathanw_sa on 2002-02-28 04:11:05 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file reloc.h was added on branch kqueue on 2002-06-23 17:38:32 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file reloc.h was added on branch nathanw_sa on 2002-02-28 04:11:05 +0000
 1.2 05-Feb-2003  nakayama Replace machine/rnd.h with more appropriate name to share it
with cycle counter based microtime in kern/kern_microtime.c.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file rnd.h was added on branch kqueue on 2002-06-23 17:38:32 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file rnd.h was added on branch nathanw_sa on 2002-02-28 04:11:05 +0000
 1.2 09-Feb-2007  ad branches: 1.2.4;
Merge newlock2 to head.
 1.1 22-Dec-2006  ad branches: 1.1.2;
file rwlock.h was initially added on branch newlock2.
 1.1.2.1 22-Dec-2006  ad Pull in CPU specific stubs.
 1.2.4.2 26-Feb-2007  yamt sync with head.
 1.2.4.1 09-Feb-2007  yamt file rwlock.h was added on branch yamt-lazymbuf on 2007-02-26 09:07:35 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file setjmp.h was added on branch kqueue on 2002-06-23 17:38:33 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file setjmp.h was added on branch nathanw_sa on 2002-02-28 04:11:05 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file signal.h was added on branch kqueue on 2002-06-23 17:38:33 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file signal.h was added on branch nathanw_sa on 2002-02-28 04:11:05 +0000
 1.1 23-Jul-2014  alnsn branches: 1.1.2; 1.1.6;
Rename sljitarch.h to sljit_machdep.h.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 23-Jul-2014  tls file sljit_machdep.h was added on branch tls-maxphys on 2014-08-20 00:03:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 23-Jul-2014  tls file sljit_machdep.h was added on branch tls-earlyentropy on 2014-08-10 06:54:03 +0000
 1.2 23-Jul-2014  alnsn Rename sljitarch.h to sljit_machdep.h.
 1.1 17-Nov-2013  alnsn branches: 1.1.2; 1.1.4; 1.1.6;
Enable sljit and bpfjit on powerpc.
 1.1.6.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.1 17-Nov-2013  yamt file sljitarch.h was added on branch yamt-pagecache on 2014-05-22 11:39:59 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 17-Nov-2013  rmind file sljitarch.h was added on branch rmind-smpnet on 2014-05-18 17:45:19 +0000
 1.1.2.1 10-Aug-2014  tls Rebase.
 1.5 02-Mar-2010  matt Add missing <powerpc/FOO/spr.h> to a few files missed on the first pass.
Don't export <machine/spr.h> to userland, only <powerpc/spr.h>
 1.4 11-Dec-2005  christos branches: 1.4.78; 1.4.92; 1.4.98;
merge ktrace-lwp.
 1.3 17-Feb-2005  briggs branches: 1.3.2;
Install spr.h
 1.2 02-Mar-2004  kleink branches: 1.2.2; 1.2.4;
Pull in SPRs via <powerpc/spr.h> in this single instance, and dispose of
<machine/spr.h> again.
 1.1 30-Dec-2003  manu Fix PowerPC ports build with KGDB.
 1.2.4.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.2.2.1 29-Apr-2005  kent sync with -current
 1.3.2.2 17-Feb-2005  skrll Sync with HEAD.
 1.3.2.1 17-Feb-2005  skrll file spr.h was added on branch ktrace-lwp on 2005-02-17 07:10:36 +0000
 1.4.98.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.4.92.1 24-Oct-2010  jym Sync with HEAD
 1.4.78.1 11-Mar-2010  yamt 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 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file stdarg.h was added on branch kqueue on 2002-06-23 17:38:33 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file stdarg.h was added on branch nathanw_sa on 2002-02-28 04:11:05 +0000
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file trap.h was added on branch kqueue on 2002-06-23 17:38:33 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file trap.h was added on branch nathanw_sa on 2002-02-28 04:11:05 +0000
 1.10 01-Apr-2021  simonb Define __HAVE_LEGACY_INTRCNT to indicate this port uses legacy intrcnt
interrupt accounting.
 1.9 01-Apr-2021  simonb Whitespace: #define<tab>
 1.8 17-Jul-2011  dyoung branches: 1.8.66; 1.8.68;
Enable new-style <sys/bus.h> on several PowerPC ports supporting PCI
buses. Make non-inline implementations of bus_space(9) and bus_dma(9)
routines and move them to appropriate .c files.

This may leave amigappc in a bad state, sorry. Fortunately, it will be
easy to repair by imitating the bus.h -> bus_{defs,funcs}.h split in
some other PowerPC port.
 1.7 17-Jul-2010  tsutsui Remove obsolete __HAVE_GENERIC_SOFT_INTERRUPTS,
which is mandatory since 2007/07:
http://mail-index.NetBSD.org/source-changes/2007/07/14/0039.html
 1.6 20-Jan-2008  joerg branches: 1.6.10; 1.6.30; 1.6.32;
Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants,
remove the conditionals and the code associated with the undef case.
 1.5 17-Oct-2007  garbled branches: 1.5.2; 1.5.8;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.4 17-Sep-2006  gdamore branches: 1.4.10; 1.4.18; 1.4.28; 1.4.30; 1.4.32; 1.4.34;
Use MI todr framework. Untested, but considered extremely
low risk.
 1.3 03-Sep-2006  bjh21 branches: 1.3.2;
Nothing in the kernel now tests __HAVE_NWSCONS, so stop defining it everywhere.
 1.2 22-Sep-2002  simonb branches: 1.2.22; 1.2.36; 1.2.40;
Use "#define\t" instead of "#define ".
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file types.h was added on branch kqueue on 2002-06-23 17:38:33 +0000
 1.1.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file types.h was added on branch nathanw_sa on 2002-02-28 04:11:06 +0000
 1.2.40.1 14-Sep-2006  yamt sync with head.
 1.2.36.1 09-Sep-2006  rpaulo sync with head
 1.2.22.3 21-Jan-2008  yamt sync with head
 1.2.22.2 27-Oct-2007  yamt sync with head.
 1.2.22.1 30-Dec-2006  yamt sync with head.
 1.3.2.1 18-Nov-2006  ad Sync with head.
 1.4.34.1 25-Oct-2007  bouyer Sync with HEAD.
 1.4.32.1 18-Oct-2007  yamt sync with head.
 1.4.30.2 23-Mar-2008  matt sync with HEAD
 1.4.30.1 06-Nov-2007  matt sync with HEAD
 1.4.28.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.4.18.1 09-May-2007  garbled Apply the complete renovation package to mvmeppc.
1) Convert to shared PIC code. For now, using i8259, however, I suspect
this machine really needs prepivr.
2) Convert to shared PCI
3) Convert to shared ISA
4) Clean up a few __P's and K&R declarations. Still a few to go probably.
 1.4.10.1 23-Oct-2007  ad Sync with head.
 1.5.8.1 23-Jan-2008  bouyer Sync with HEAD.
 1.5.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.6.32.1 05-Mar-2011  rmind sync with head
 1.6.30.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.6.10.1 11-Aug-2010  yamt sync with head.
 1.8.68.1 03-Apr-2021  thorpej Sync with HEAD.
 1.8.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 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file varargs.h was added on branch kqueue on 2002-06-23 17:38:33 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file varargs.h was added on branch nathanw_sa on 2002-02-28 04:11:06 +0000
 1.4 20-Jun-2011  matt Don't export USER_SR if _MODULE is defined.
Add a common <powerpc/vmparam.h> like we have for <powerpc/pmap.h>
 1.3 03-Feb-2003  matt branches: 1.3.140;
Rename PPC_MPC6XX to PPC_OEA (and any mpc6xx reference to oea).
 1.2 09-Jul-2002  scw Redefine USER_SR to avoid clashing with MVMEPPC_PHYS_BASE_MEM in bat[12].
Thanks to Matt Thomas for pointing out the problem.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.10; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file vmparam.h was added on branch kqueue on 2002-06-23 17:38:34 +0000
 1.1.10.1 16-Jul-2002  gehenna catch up with -current.
 1.1.2.3 01-Aug-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file vmparam.h was added on branch nathanw_sa on 2002-02-28 04:11:06 +0000
 1.3.140.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 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:16 +0000
 1.5 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.4 11-Dec-2005  christos branches: 1.4.30; 1.4.38; 1.4.48; 1.4.50; 1.4.52; 1.4.54;
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 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.20;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.20.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.20.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.20.1 03-Aug-2004  skrll Sync with HEAD
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file isa_machdep.c was added on branch kqueue on 2002-06-23 17:38:34 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file isa_machdep.c was added on branch nathanw_sa on 2002-02-28 04:11:06 +0000
 1.3.16.1 27-Oct-2007  yamt sync with head.
 1.4.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.4.52.1 18-Oct-2007  yamt sync with head.
 1.4.50.1 06-Nov-2007  matt sync with HEAD
 1.4.48.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.4.38.1 09-May-2007  garbled Apply the complete renovation package to mvmeppc.
1) Convert to shared PIC code. For now, using i8259, however, I suspect
this machine really needs prepivr.
2) Convert to shared PCI
3) Convert to shared ISA
4) Clean up a few __P's and K&R declarations. Still a few to go probably.
 1.4.30.1 23-Oct-2007  ad Sync with head.
 1.8 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.7 05-Mar-2007  he branches: 1.7.2; 1.7.10; 1.7.18; 1.7.20; 1.7.22; 1.7.24;
Cast to char* before doing pointer arithmetic.
 1.6 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.5 11-Dec-2005  christos branches: 1.5.26;
merge ktrace-lwp.
 1.4 15-Jul-2003  lukem branches: 1.4.16;
__KERNEL_RCSID()
 1.3 05-May-2003  fvdl branches: 1.3.2;
Move definition of ISA_DMA_BOUNCE_THRESHOLD to dev/isa/isareg.h.
 1.2 02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file isadma_machdep.c was added on branch kqueue on 2002-06-23 17:38:34 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file isadma_machdep.c was added on branch nathanw_sa on 2002-02-28 04:11:06 +0000
 1.3.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.1 03-Aug-2004  skrll Sync with HEAD
 1.4.16.2 27-Oct-2007  yamt sync with head.
 1.4.16.1 03-Sep-2007  yamt sync with head.
 1.5.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.7.24.1 25-Oct-2007  bouyer Sync with HEAD.
 1.7.22.1 18-Oct-2007  yamt sync with head.
 1.7.20.1 06-Nov-2007  matt sync with HEAD
 1.7.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.7.10.1 09-May-2007  garbled Apply the complete renovation package to mvmeppc.
1) Convert to shared PIC code. For now, using i8259, however, I suspect
this machine really needs prepivr.
2) Convert to shared PCI
3) Convert to shared ISA
4) Clean up a few __P's and K&R declarations. Still a few to go probably.
 1.7.2.1 23-Oct-2007  ad Sync with head.
 1.15 20-Nov-2014  christos use the inline bcdtobin and bintobcd directly instead through a macro.
 1.14 01-Jul-2011  dyoung branches: 1.14.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.13 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.12 29-Mar-2008  tsutsui branches: 1.12.2; 1.12.4;
Don't forget to initialize sc_dev.
 1.11 28-Mar-2008  tsutsui Split device_t and softc for MI mk48txx(4) and intersil7170(4) clocks,
and other related misc cosmetics.
 1.10 10-Jan-2008  tsutsui branches: 1.10.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.9 11-Dec-2005  christos branches: 1.9.50; 1.9.56; 1.9.64;
merge ktrace-lwp.
 1.8 14-Sep-2004  drochner branches: 1.8.12;
adapt to ISA "unknown address" namespace separation (purely mechanical,
as far as "grep" reaches)
 1.7 01-Nov-2003  tsutsui Adapt MI mk48txx(4) changes. (compiles but untested)
 1.6 18-Jul-2003  thorpej Rename clock_rtc_config() to todr_attach().
 1.5 18-Jul-2003  thorpej Move the prototype of clock_rtc_config() into <dev/clock_subr.h>.
 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 04-Mar-2002  wiz branches: 1.2.10;
Correct misspellings of "failed".
 1.1 27-Feb-2002  scw branches: 1.1.2;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.2.4 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file mkclock_isa.c was added on branch nathanw_sa on 2002-02-28 04:11:06 +0000
 1.2.10.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.2.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.10.1 04-Mar-2002  jdolecek file mkclock_isa.c was added on branch kqueue on 2002-06-23 17:38:34 +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.8.12.1 21-Jan-2008  yamt sync with head
 1.9.64.1 10-Jan-2008  bouyer Sync with HEAD
 1.9.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.9.50.1 23-Mar-2008  matt sync with HEAD
 1.10.6.2 02-Jun-2008  mjf Sync with HEAD.
 1.10.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.12.4.1 16-May-2008  yamt sync with head.
 1.12.2.1 18-May-2008  yamt sync with head.
 1.14.12.1 03-Dec-2017  jdolecek update from HEAD
 1.13 29-Jul-2012  mlelstv 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.12 18-Jun-2011  matt branches: 1.12.2; 1.12.8;
struct device * -> device_t
struct cfdata * -> cfdata_t
use device accessors, use device_private.
some softc/device_t splits (macppc needs a bunch more)
aprint*_dev used considerably more
 1.11 18-Mar-2009  cegger branches: 1.11.10;
Ansify function definitions w/o arguments. Generated with sed.
 1.10 12-Feb-2008  joerg branches: 1.10.10; 1.10.18; 1.10.24;
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.9 05-Dec-2007  tsutsui Use TAILQ_FIRST(3) and TAILQ_NEXT(3) macro.
 1.8 17-Oct-2007  garbled branches: 1.8.2; 1.8.4;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.7 11-Dec-2005  christos branches: 1.7.30; 1.7.38; 1.7.48; 1.7.50; 1.7.52; 1.7.54;
merge ktrace-lwp.
 1.6 23-Oct-2004  thorpej branches: 1.6.12;
Centralize the declaration of booted_device and booted_partition.
 1.5 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.4 15-Jul-2003  lukem __KERNEL_RCSID()
 1.3 18-Jun-2003  drochner branches: 1.3.2;
don't #include <sys/dkstat.h> where it is (appearently) unused
 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 27-Feb-2002  scw branches: 1.1.2; 1.1.10; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file autoconf.c was added on branch kqueue on 2002-06-23 17:38:35 +0000
 1.1.10.1 17-May-2002  gehenna Replace the access to devsw table and the hard-coded major with devsw API.
 1.1.2.3 17-Sep-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file autoconf.c was added on branch nathanw_sa on 2002-02-28 04:11:07 +0000
 1.3.2.4 02-Nov-2004  skrll Sync with HEAD.
 1.3.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6.12.3 27-Feb-2008  yamt sync with head.
 1.6.12.2 07-Dec-2007  yamt sync with head
 1.6.12.1 27-Oct-2007  yamt sync with head.
 1.7.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.7.52.1 18-Oct-2007  yamt sync with head.
 1.7.50.3 23-Mar-2008  matt sync with HEAD
 1.7.50.2 09-Jan-2008  matt sync with HEAD
 1.7.50.1 06-Nov-2007  matt sync with HEAD
 1.7.48.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.7.48.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.7.38.3 10-May-2007  garbled More cleanup. mvmeppc and ibmnws are machines that have a PReP memory
map. Rather than have each port roll it's own code, use
oea/prep_machdep.c instead.
 1.7.38.2 10-May-2007  garbled More cleanup:
1) Remove lcsplx, strayintr, and foosoft from all the converted ports.
None of this stuff is needed anymore.
2) because lcsplx is just "return spllower", just call spllower from
locore_subr.S instead.
3) Every port (except macppc) had a pretty similar cpu_configure(), so
take the common parts out and make a genppc_cpu_configure() in an attempt
to stop using imask[] outside of intr.c
 1.7.38.1 09-May-2007  garbled Apply the complete renovation package to mvmeppc.
1) Convert to shared PIC code. For now, using i8259, however, I suspect
this machine really needs prepivr.
2) Convert to shared PCI
3) Convert to shared ISA
4) Clean up a few __P's and K&R declarations. Still a few to go probably.
 1.7.30.1 23-Oct-2007  ad Sync with head.
 1.8.4.1 08-Dec-2007  ad Sync with head.
 1.8.2.2 18-Feb-2008  mjf Sync with HEAD.
 1.8.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.10.24.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.10.18.1 28-Apr-2009  skrll Sync with HEAD.
 1.10.10.1 04-May-2009  yamt sync with head.
 1.11.10.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.12.8.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.12.2.1 30-Oct-2012  yamt sync with head
 1.5 18-Mar-2003  matt Switch/adapt to new bus space infrastructure.
 1.4 06-Mar-2003  matt Make most of PPC (OEA) bus_space's identical (or as identical as possible).
(except mvmeppc).
 1.3 13-Jan-2003  augustss Fix bus_space_mmap() bug.
 1.2 25-Nov-2002  thorpej Avoid strict-alias warnings.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file bus_space.c was added on branch kqueue on 2002-06-23 17:38:35 +0000
 1.1.2.4 15-Jan-2003  thorpej Sync with HEAD.
 1.1.2.3 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file bus_space.c was added on branch nathanw_sa on 2002-02-28 04:11:07 +0000
 1.13 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.12 17-Sep-2006  gdamore branches: 1.12.10; 1.12.18; 1.12.28; 1.12.30; 1.12.32; 1.12.34;
Use MI todr framework. Untested, but considered extremely
low risk.
 1.11 24-Dec-2005  perry branches: 1.11.20;
bare asm -> __asm
 1.10 23-Nov-2005  nonaka In decr_intr(), update lasttb only when clock interrupt is not masked.
(sync with macppc/macppc/clock.c: rev.1.11 -> 1.12)
 1.9 04-Jun-2005  he branches: 1.9.2; 1.9.8;
Fix the various todr_gettime() and todr_settime() fallouts from
-Wcast-qual differently, by instead changing the signatore of those
"functions" to take a "volatile struct timeval*" instead of a
"struct timeval*". Many places, these functions are called with
&time, and time is declared as volatile in <sys/kernel.h>. This
way we can get rid of all the ugly casts which now also triggered
warnings, and caused more code to be added to work around the
problem.

Reviewed by thorpej.
 1.8 03-Jun-2005  scw Appease the const and shadow gods.
 1.7 29-Jun-2004  kleink In the delay loop, mark the scratch register as earlyclobber.
 1.6 18-Jul-2003  thorpej Rename clock_rtc_config() to todr_attach().
 1.5 18-Jul-2003  thorpej Move the prototype of clock_rtc_config() into <dev/clock_subr.h>.
 1.4 15-Jul-2003  lukem __KERNEL_RCSID()
 1.3 12-Feb-2003  matt branches: 1.3.2;
Set cpu_timebase so sysctl() can return it.
 1.2 06-Aug-2002  chs move more inlines to cpu.h: mftb(), mftbl() and mfpvr().
(the mftb() in pmap.c only wanted the lower 32 bits, so that's now mftbl()).
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.10; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file clock.c was added on branch kqueue on 2002-06-23 17:38:35 +0000
 1.1.10.1 31-Aug-2002  gehenna catch up with -current.
 1.1.2.3 13-Aug-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file clock.c was added on branch nathanw_sa on 2002-02-28 04:11:07 +0000
 1.3.2.5 11-Dec-2005  christos Sync with head.
 1.3.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.1 03-Aug-2004  skrll Sync with HEAD
 1.9.8.1 29-Nov-2005  yamt sync with head.
 1.9.2.3 27-Oct-2007  yamt sync with head.
 1.9.2.2 30-Dec-2006  yamt sync with head.
 1.9.2.1 21-Jun-2006  yamt sync with head.
 1.11.20.1 18-Nov-2006  ad Sync with head.
 1.12.34.1 25-Oct-2007  bouyer Sync with HEAD.
 1.12.32.1 18-Oct-2007  yamt sync with head.
 1.12.30.1 06-Nov-2007  matt sync with HEAD
 1.12.28.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.12.18.1 09-May-2007  garbled Apply the complete renovation package to mvmeppc.
1) Convert to shared PIC code. For now, using i8259, however, I suspect
this machine really needs prepivr.
2) Convert to shared PCI
3) Convert to shared ISA
4) Clean up a few __P's and K&R declarations. Still a few to go probably.
 1.12.10.1 23-Oct-2007  ad Sync with head.
 1.7 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.6 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.5 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.4 17-Jun-2002  christos branches: 1.4.2;
MD systrace gluons.
 1.3 19-Apr-2002  wiz branches: 1.3.2;
Remove (commented out) pms cdev_decl.
 1.2 16-Mar-2002  martin Rename ISDN devices, per discussion on tech-kern. The network devices
become ippp (ISDN ppp) and irip (ISDN raw IP). The character device now
are called: /dev/isdn (isdnd <-> kernel communication), /dev/isdnctl (dialing
and other control), /dev/isdntrc* (tracing), /dev/isdnbchan* (raw B channel
access, i.e. for user land PPP) and /dev/isdntel* (telephone devices, i.e.
for answering machines).
 1.1 27-Feb-2002  scw branches: 1.1.2;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.2.7 11-Nov-2002  nathanw Catch up to -current
 1.1.2.6 17-Sep-2002  nathanw Catch up to -current.
 1.1.2.5 01-Aug-2002  nathanw Catch up to -current.
 1.1.2.4 20-Jun-2002  nathanw Catch up to -current.
 1.1.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file conf.c was added on branch nathanw_sa on 2002-02-28 04:11:07 +0000
 1.3.2.3 21-Jul-2002  gehenna catch up with -current.
 1.3.2.2 14-Jul-2002  gehenna catch up with -current.
 1.3.2.1 16-May-2002  gehenna Bye block/character device swicth tables.
 1.4.2.4 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.4.2.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.4.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.2.1 17-Jun-2002  jdolecek file conf.c was added on branch kqueue on 2002-06-23 17:38:35 +0000
 1.10 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.9 05-Jun-2011  matt struct device * -> device_t, struct cfdata * -> cfdata_t
CFATTACH_DECL(*, sizeof(struct device), -> CFATTACH_DECL_NEW(&, 0
 1.8 28-Apr-2008  martin branches: 1.8.22; 1.8.28; 1.8.32;
Remove clause 3 and 4 from TNF licenses
 1.7 11-Dec-2005  christos branches: 1.7.74; 1.7.76; 1.7.78;
merge ktrace-lwp.
 1.6 30-Aug-2004  drochner Phase out the use of a string as first "attach args" member to control
which bustype should be attached with a specific call to config_found()
(from a "mainbus" or a bus bridge).
Do it for isa/eisa/mca and pci/agp for now. These buses all attach to
an mi interface attribute "isabus", "eisabus" etc., and the autoconf
framework now allows to specify an interface attribute on config_found()
and config_search(), which limits the search of matching config data
to these which attach to that specific attribute.
So we basically have to call config_found_ia(..., "foobus", ...) where
such a bus is attached.
As a consequence, where a "mainbus" or alike also attaches other
devices (eg CPUs) which do not attach to a specific attribute yet,
we need at least pass an attribute name (different from "foobus") so
that the foo bus is not found at these places. This made some minor
changes necessary which are not obviously related to the mentioned buses.
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 02-Feb-2003  matt branches: 1.4.2;
Perform a rototill of the powerpc code. Mandate use of SPRG0 to store
a pointer to current cpu's cpu_info structure. Use cpu_info for
intstk,intr_depth,still_stk,idle_pcb,curpcb,curlwp,etal even on
non-MULTIPROCESSOR machines. Add common macros GET_CPUINFO and
INIT_CPUINFO to get and initialize the cpu_info struct on startup. Make
ibm4xx use the standard <powerpc/frame.h>. Use IFRAME_xx in ibm4xx
trap_subr.S instead of explicit magic offsets. Move INTSTK and SPILLSTK
to std.<platform>. Change faultbuf to a struct instead of an array.

On MPC6XX cpus, stop using the vector page for temporary space and use
reserved space in cpu_info.
 1.3 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file cpu.c was added on branch kqueue on 2002-06-23 17:38:35 +0000
 1.1.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file cpu.c was added on branch nathanw_sa on 2002-02-28 04:11:07 +0000
 1.4.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.4.2.2 03-Sep-2004  skrll Sync with HEAD
 1.4.2.1 03-Aug-2004  skrll Sync with HEAD
 1.7.78.1 16-May-2008  yamt sync with head.
 1.7.76.1 18-May-2008  yamt sync with head.
 1.7.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.32.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.8.28.1 06-Jun-2011  jruoho Sync with HEAD.
 1.8.22.1 12-Jun-2011  rmind sync with head
 1.16 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.15 08-Oct-2007  ad branches: 1.15.2;
Merge brelse() changes from the vmlocking branch.
 1.14 29-Jul-2007  ad branches: 1.14.4; 1.14.6; 1.14.8;
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.
 1.13 05-Mar-2007  he branches: 1.13.2; 1.13.10; 1.13.12; 1.13.14;
Need some casts to char* for pointer arithmetic, following caddr_t removal.
 1.12 25-Nov-2006  scw branches: 1.12.4;
Replace the myriad copies of bounds_check_with_label() with a single MI
version.

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

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

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

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

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

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

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

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

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

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

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

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


Test built "make release" for i386, and new bootblocks verified to work
(even off FAT!).
 1.8 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.7 15-Jul-2003  lukem __KERNEL_RCSID()
 1.6 12-May-2003  thorpej branches: 1.6.2;
Include <sys/disk.h>.
 1.5 10-May-2003  thorpej Change bounds_check_with_label() to take a pointer to the disk structure,
rather than the label itself. This paves the way for some future changes.
 1.4 02-May-2003  dsl Change return type of readdisklabel() to const char *
I hope I've found all the correct places!
 1.3 16-Apr-2003  bouyer Nake return values from bounds_check_with_label() conform to the man
page: -1 for error, 0 for EOF, 1 otherwise. Inspired by an OpenBSD commit
message, pointed out by Miod Vallat in private mail.
vax/mba/hp.c: check return value <= 0, not < 0 to be concistent with how
other places handle return values from bounds_check_with_label().
 1.2 19-Mar-2003  simonb Spell 'strategy' correctly.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file disksubr.c was added on branch kqueue on 2002-06-23 17:38:35 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file disksubr.c was added on branch nathanw_sa on 2002-02-28 04:11:08 +0000
 1.6.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.6.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.2.1 03-Aug-2004  skrll Sync with HEAD
 1.10.2.3 27-Oct-2007  yamt sync with head.
 1.10.2.2 03-Sep-2007  yamt sync with head.
 1.10.2.1 30-Dec-2006  yamt sync with head.
 1.11.22.1 10-Dec-2006  yamt sync with head.
 1.11.20.1 12-Jan-2007  ad Sync with head.
 1.12.4.1 12-Mar-2007  rmind Sync with HEAD.
 1.13.14.1 15-Aug-2007  skrll Sync with HEAD.
 1.13.12.1 07-Aug-2007  matt Sync with HEAD.
 1.13.10.1 09-May-2007  garbled Apply the complete renovation package to mvmeppc.
1) Convert to shared PIC code. For now, using i8259, however, I suspect
this machine really needs prepivr.
2) Convert to shared PCI
3) Convert to shared ISA
4) Clean up a few __P's and K&R declarations. Still a few to go probably.
 1.13.2.3 23-Oct-2007  ad Sync with head.
 1.13.2.2 09-Oct-2007  ad Sync with head.
 1.13.2.1 19-Aug-2007  ad - Back out the biodone() changes.
- Eliminate B_ERROR (from HEAD).
 1.14.8.2 18-Oct-2007  yamt sync with head.
 1.14.8.1 14-Oct-2007  yamt sync with head.
 1.14.6.1 06-Nov-2007  matt sync with HEAD
 1.14.4.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.15.2.1 25-Oct-2007  bouyer Sync with HEAD.
 1.9 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.8 24-Dec-2005  perry branches: 1.8.30; 1.8.38; 1.8.48; 1.8.50; 1.8.52; 1.8.54;
bare asm -> __asm
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 07-Aug-2003  agc branches: 1.6.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 16-Jun-2003  thorpej branches: 1.4.2;
Rename IPL_IMP -> IPL_VM.
 1.3 05-Jul-2002  matt Peform a rototill over the powerpc-based ports.

Move the trap/vector initialization for MPC6xx ports to mpc6xx_machdep.c
Also move softnet, install_extintr, mapiodev, kvtop. Add common BAT
initialization code.

Add user Altivec support.

Fix calls to OF_call_method in macppc/macppc/machdep.c.

Use ci_fpuproc in cpu_info instead of separate fpuproc.

Add separate syscall.c and defined __HAVE_SYSCALL_INTERN.
 1.2 04-Mar-2002  simonb branches: 1.2.2; 1.2.6; 1.2.10;
Don't "extern int cold;" - this is in <sys/kernel.h>.
 1.1 27-Feb-2002  scw branches: 1.1.2;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.2.4 01-Aug-2002  nathanw Catch up to -current.
 1.1.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file extintr.c was added on branch nathanw_sa on 2002-02-28 04:11:08 +0000
 1.2.10.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.10.1 04-Mar-2002  jdolecek file extintr.c was added on branch kqueue on 2002-06-23 17:38:35 +0000
 1.2.6.1 16-Jul-2002  gehenna catch up with -current.
 1.2.2.1 17-Mar-2002  thorpej IPL_IMP -> IPL_VM
 1.4.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6.16.2 27-Oct-2007  yamt sync with head.
 1.6.16.1 21-Jun-2006  yamt sync with head.
 1.8.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.8.52.1 18-Oct-2007  yamt sync with head.
 1.8.50.1 06-Nov-2007  matt sync with HEAD
 1.8.48.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.8.38.1 09-May-2007  garbled Apply the complete renovation package to mvmeppc.
1) Convert to shared PIC code. For now, using i8259, however, I suspect
this machine really needs prepivr.
2) Convert to shared PCI
3) Convert to shared ISA
4) Clean up a few __P's and K&R declarations. Still a few to go probably.
 1.8.30.1 23-Oct-2007  ad Sync with head.
 1.3 18-Apr-2002  matt Use a common genassym.cf for all the PPC_MPC6XX ports. Add a makeoptions to
std.foo to indicate the directory to get genassym.cf from. Add an intrframe
to <powerpc/frame.h> and make trap_subr.S use symbolic offsets into it.
 1.2 09-Mar-2002  scw Add CACHELINESIZE for the benefit of lib/libkern/arch/powerpc/bzero.S.
 1.1 27-Feb-2002  scw branches: 1.1.2;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.2.4 20-Jun-2002  nathanw Catch up to -current.
 1.1.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file genassym.cf was added on branch nathanw_sa on 2002-02-28 04:11:08 +0000
 1.6 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.5 24-Jan-2007  hubertf branches: 1.5.6; 1.5.14; 1.5.22; 1.5.24; 1.5.26; 1.5.28;
Remove duplicate #includes, patch contributed in private mail
by Slava Semushin <slava.semushin@gmail.com>.

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

Thanks to martin@ for the input on testing.
 1.4 24-Dec-2005  perry branches: 1.4.20;
bare asm -> __asm
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 15-Jul-2003  lukem branches: 1.2.16;
__KERNEL_RCSID()
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.20;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.20.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.20.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.20.1 03-Aug-2004  skrll Sync with HEAD
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file kgdb_glue.c was added on branch kqueue on 2002-06-23 17:38:36 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file kgdb_glue.c was added on branch nathanw_sa on 2002-02-28 04:11:08 +0000
 1.2.16.3 27-Oct-2007  yamt sync with head.
 1.2.16.2 26-Feb-2007  yamt sync with head.
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.4.20.1 01-Feb-2007  ad Sync with head.
 1.5.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.5.26.1 18-Oct-2007  yamt sync with head.
 1.5.24.1 06-Nov-2007  matt sync with HEAD
 1.5.22.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.5.14.1 09-May-2007  garbled Four copies of this file, all the same. New one lives in powerpc/oea.
 1.5.6.1 23-Oct-2007  ad Sync with head.
 1.18 26-Feb-2021  thorpej Declare oeacpufeat once, in powerpc/oea/cpu_subr.c, rather than in
N different locore.S files.
 1.17 15-Jul-2018  maxv branches: 1.17.12;
Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.16 07-Aug-2014  joerg branches: 1.16.26; 1.16.28;
Use cmpwi.
 1.15 20-Jun-2011  matt branches: 1.15.12; 1.15.26;
Don't include *pmap.h in assembly files. Get the needed definitions
from "assym.h".
 1.14 18-Jun-2011  matt Make a common genassym.cf (powerpc/genassym.cf) and then
only put specific stuff in foo/genassym.cf
 1.13 17-Jan-2011  matt branches: 1.13.4;
Kill _NOREGNAMES. Everything should be using %rX now. If it doesn't it
soon will.
 1.12 03-Mar-2010  pooka branches: 1.12.2; 1.12.4;
Fix some historical powerpc curiocity which had kernfs depend on
startsym/endsym, and which crept into most powerpc ports.
 1.11 25-Feb-2010  matt Adapt to <spr.h> breakup.
 1.10 26-Nov-2009  matt branches: 1.10.2;
Kill proc0paddr. Use lwp0.l_addr instead.
 1.9 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.8 13-Nov-2008  ad branches: 1.8.4;
LKM -> MODULAR
 1.7 05-Feb-2008  garbled branches: 1.7.6; 1.7.10; 1.7.16; 1.7.18; 1.7.28;
Ifdef out all the MPC601 code with PPC_OEA601. Now only arches that have the
possibility of running on an MPC601, are infected with all the extra code
and nops that it added.

Also, fix compilation that I broke with the pmap code, by adding
oeacpufeat to the locores of various ppc arches. Noted by mlelstv.
 1.6 11-Dec-2005  christos branches: 1.6.50; 1.6.56;
merge ktrace-lwp.
 1.5 28-Jul-2003  scw branches: 1.5.16;
Undo a previous change which zapped the bootinfo pointer in r5.
 1.4 27-Apr-2003  ragge branches: 1.4.2;
Preserve the symbol table in the LKM || KSYMS cases also.
 1.3 18-Mar-2003  matt Switch/adapt to new bus space infrastructure.
 1.2 02-Feb-2003  matt Perform a rototill of the powerpc code. Mandate use of SPRG0 to store
a pointer to current cpu's cpu_info structure. Use cpu_info for
intstk,intr_depth,still_stk,idle_pcb,curpcb,curlwp,etal even on
non-MULTIPROCESSOR machines. Add common macros GET_CPUINFO and
INIT_CPUINFO to get and initialize the cpu_info struct on startup. Make
ibm4xx use the standard <powerpc/frame.h>. Use IFRAME_xx in ibm4xx
trap_subr.S instead of explicit magic offsets. Move INTSTK and SPILLSTK
to std.<platform>. Change faultbuf to a struct instead of an array.

On MPC6XX cpus, stop using the vector page for temporary space and use
reserved space in cpu_info.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file locore.S was added on branch kqueue on 2002-06-23 17:38:36 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file locore.S was added on branch nathanw_sa on 2002-02-28 04:11:08 +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.5.16.1 11-Feb-2008  yamt sync with head.
 1.6.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.6.50.1 23-Mar-2008  matt sync with HEAD
 1.7.28.1 07-Jan-2011  matt Deal with split <spr.h>
 1.7.18.2 03-Mar-2009  skrll Sync with HEAD.
 1.7.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.7.16.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.7.10.2 11-Mar-2010  yamt sync with head
 1.7.10.1 04-May-2009  yamt sync with head.
 1.7.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.8.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.10.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.12.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.12.2.1 05-Mar-2011  rmind sync with head
 1.13.4.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.15.26.1 10-Aug-2014  tls Rebase.
 1.15.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.16.28.1 10-Jun-2019  christos Sync with HEAD
 1.16.26.1 28-Jul-2018  pgoyette Sync with HEAD
 1.17.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.36 05-Mar-2024  thorpej Move the at-shutdown call to resettodr() from cpu_reboot() to kern_reboot().

It's a small step, but it's a step.
 1.35 19-Jan-2024  thorpej opt_mvmetype.h -> opt_mvmeconf.h to match mvme68k (which wins out because
it supports more boards).
 1.34 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.33 28-Mar-2023  andvar s/interrput/interrupt/ and s/accesss/access/ in comments.
 1.32 27-Feb-2021  thorpej Don't put #ifdefs in prep_initppc(). Instead, let callers specify the
additional BAT-mapped regions they care about.
 1.31 26-Mar-2014  christos branches: 1.31.42;
kill sprintf
 1.30 13-Oct-2012  jdc branches: 1.30.2;
Adapt to the changed signature of pckbc_cnattach().
 1.29 30-Jun-2011  matt branches: 1.29.2; 1.29.12;
Modify mapiodev to take a third argument indicating whether the space
should be prefetchable (true) or not (false).
 1.28 20-Jun-2011  matt Cleanup includes. (<net/netisr.h> is handled by softints, not MD anymore,
so this can be nuked).
 1.27 20-Dec-2010  matt branches: 1.27.6;
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.26 27-Nov-2009  rmind branches: 1.26.4;
- Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.25 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.24 11-Nov-2008  dyoung branches: 1.24.4;
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.23 17-Oct-2007  garbled branches: 1.23.16; 1.23.20; 1.23.22; 1.23.26; 1.23.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.22 09-Feb-2007  ad branches: 1.22.6; 1.22.14; 1.22.22; 1.22.24; 1.22.26; 1.22.28;
Merge newlock2 to head.
 1.21 24-Dec-2005  perry branches: 1.21.20;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.20 11-Dec-2005  christos merge ktrace-lwp.
 1.19 20-Oct-2003  matt branches: 1.19.16;
Reorganize the way powerpc port install machine specific headers.
Use <powerpc/oea/bat.h> exclusively and remove <machine/bat.h> and
<powerpc/bat.h>. Remove unneeded <machine/cpufunc.h>. To insure
1:1 correspondence of <powerpc/FOO.h> to <machine/FOO.h> include
"../../powerpc/include/Makefile" in "arch/FOO/include/Makefile".
Incororpate <byte_swap.h> into <bswap.h> and then byte_swap.h
 1.18 06-Sep-2003  kleink Rearrange bus_space initialization slightly, taking advantage of being
able to pass a bus_space with an extent already assigned to
bus_space_init(). This eliminates creating the extents twice, and
makes it a bit easier to read.
 1.17 10-Aug-2003  tsutsui Fix a leftover comment.
 1.16 28-Jul-2003  scw Implement mvme160x platform-specific reset using a semi-documented
register of the IBC.
 1.15 28-Jul-2003  scw Make sure all the isa/pci bus space tags are fully initialised.
Thanks to Chuck Silvers for providing enough debug info to
ascertain what the problem was.
 1.14 15-Jul-2003  lukem __KERNEL_RCSID()
 1.13 14-Jun-2003  thorpej branches: 1.13.2;
Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
 1.12 26-Apr-2003  ragge Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
 1.11 02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.10 18-Mar-2003  matt Switch/adapt to new bus space infrastructure.
 1.9 03-Feb-2003  matt Rename PPC_MPC6XX to PPC_OEA (and any mpc6xx reference to oea).
 1.8 22-Jan-2003  kleink G/c the pmap_bootstrap() segtab interface again. Silly me.
 1.7 17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.6 25-Sep-2002  thorpej Don't include <sys/map.h>.
 1.5 11-Jul-2002  scw Fix a mem_region botch:
physmemr and availmemr both need to be arrays, where the last element
has `size' set to zero to act as a terminator.
 1.4 05-Jul-2002  matt Peform a rototill over the powerpc-based ports.

Move the trap/vector initialization for MPC6xx ports to mpc6xx_machdep.c
Also move softnet, install_extintr, mapiodev, kvtop. Add common BAT
initialization code.

Add user Altivec support.

Fix calls to OF_call_method in macppc/macppc/machdep.c.

Use ci_fpuproc in cpu_info instead of separate fpuproc.

Add separate syscall.c and defined __HAVE_SYSCALL_INTERN.
 1.3 23-Apr-2002  kleink branches: 1.3.2; 1.3.6;
Add a third argument to pmap_bootstrap() which platform-specific
initialization can use to specify additional segment registers to be set
up in the kernel pmap.
 1.2 02-Mar-2002  scw Add BAT_G to the I/O bats, as per matt@netbsd.org's change for macppc.
 1.1 27-Feb-2002  scw branches: 1.1.2;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.2.7 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.6 01-Aug-2002  nathanw Catch up to -current.
 1.1.2.5 20-Jun-2002  nathanw Catch up to -current.
 1.1.2.4 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.1.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file machdep.c was added on branch nathanw_sa on 2002-02-28 04:11:08 +0000
 1.3.6.4 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.3.6.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.3.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.6.1 23-Apr-2002  jdolecek file machdep.c was added on branch kqueue on 2002-06-23 17:38:36 +0000
 1.3.2.1 16-Jul-2002  gehenna catch up with -current.
 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.19.16.3 27-Oct-2007  yamt sync with head.
 1.19.16.2 26-Feb-2007  yamt sync with head.
 1.19.16.1 21-Jun-2006  yamt sync with head.
 1.21.20.1 30-Jan-2007  ad Remove support for SA. Ok core@.
 1.22.28.1 25-Oct-2007  bouyer Sync with HEAD.
 1.22.26.1 18-Oct-2007  yamt sync with head.
 1.22.24.1 06-Nov-2007  matt sync with HEAD
 1.22.22.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.22.14.4 10-May-2007  garbled More cleanup. mvmeppc and ibmnws are machines that have a PReP memory
map. Rather than have each port roll it's own code, use
oea/prep_machdep.c instead.
 1.22.14.3 10-May-2007  garbled HAVE_GENERIC_SOFTINTRS is no longer optional. Delete ifndef'd code from
oea_machdep.c, and move softintr__init() to oea_startup(). Remove
softintr__init from every port's cpu_startup().
 1.22.14.2 10-May-2007  garbled More cleanup:
1) Remove lcsplx, strayintr, and foosoft from all the converted ports.
None of this stuff is needed anymore.
2) because lcsplx is just "return spllower", just call spllower from
locore_subr.S instead.
3) Every port (except macppc) had a pretty similar cpu_configure(), so
take the common parts out and make a genppc_cpu_configure() in an attempt
to stop using imask[] outside of intr.c
 1.22.14.1 09-May-2007  garbled Apply the complete renovation package to mvmeppc.
1) Convert to shared PIC code. For now, using i8259, however, I suspect
this machine really needs prepivr.
2) Convert to shared PCI
3) Convert to shared ISA
4) Clean up a few __P's and K&R declarations. Still a few to go probably.
 1.22.6.1 23-Oct-2007  ad Sync with head.
 1.23.28.2 28-Apr-2009  skrll Sync with HEAD.
 1.23.28.1 19-Jan-2009  skrll Sync with HEAD.
 1.23.26.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.23.22.2 14-May-2008  wrstuden Per discussion with ad, remove most of the #include <sys/sa.h> lines
as they were including sa.h just for the type(s) needed for syscallargs.h.

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

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

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

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

Also, kern_sa.c has received partial cleanup. There's still more
to do, though.
 1.23.20.2 11-Mar-2010  yamt sync with head
 1.23.20.1 04-May-2009  yamt sync with head.
 1.23.16.1 17-Jan-2009  mjf Sync with HEAD.
 1.24.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.26.4.1 05-Mar-2011  rmind sync with head
 1.27.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.29.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.29.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.29.2.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.29.2.1 30-Oct-2012  yamt sync with head
 1.30.2.1 18-May-2014  rmind sync with head
 1.31.42.1 03-Apr-2021  thorpej Sync with HEAD.
 1.22 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.21 24-Apr-2021  thorpej branches: 1.21.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.20 21-Nov-2020  thorpej branches: 1.20.2;
malloc(9) -> kmem(9)
 1.19 07-Jul-2020  thorpej branches: 1.19.2;
Overhaul the interface to pci_configure_bus():
- Don't expose how PCI bus configuration resource management is implemented.
Provide a new resource provider API:

==> pciconf_resource_init() -- Initialize a PCI configuration resources
container.
==> pciconf_resource_add() -- Add a PCI configuration resource to the
container (I/O, MEM, or prefetchable MEM). Multiple resources of
each type may be added.
==> pciconf_resource_fini() -- Tear down the PCI configurtation resources
container once the bus has been configured.

This is much easier to use than the previous method of providing an
extent map for each kind of resource, and works better for e.g. ACPI
platforms that provide potentially multiple PCI resources in tables
provided by firmware.

- Re-implement PCI configuration resource management using vmem arenas,
rather than extent maps.
 1.18 14-Jun-2020  chs replace EX_NOWAIT with EX_WAITOK in device attach methods.
remove checks for failures that can no longer occur.
 1.17 10-Nov-2019  chs 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.16 03-Apr-2016  mlelstv branches: 1.16.18;
Use symbolic constant. No functional change.
 1.15 27-Jan-2012  para branches: 1.15.6; 1.15.24;
converting extent(9) from malloc(9) to kmem(9)
preceding kmem-vmem-pool-uvm patch

releng@ acknowledged
 1.14 01-Jul-2011  dyoung branches: 1.14.2; 1.14.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.13 05-Jun-2011  matt struct device * -> device_t, struct cfdata * -> cfdata_t
CFATTACH_DECL(*, sizeof(struct device), -> CFATTACH_DECL_NEW(&, 0
 1.12 17-May-2011  dyoung branches: 1.12.2;
PCI_FLAGS_IO_ENABLED and PCI_FLAGS_MEM_ENABLED changed their functional
role in NetBSD (drivers are no longer supposed to write these to
pa_flags) without changing name. Correct that.

Rename PCI_FLAGS_IO_ENABLED to PCI_FLAGS_IO_OKAY and
PCI_FLAGS_MEM_ENABLED to PCI_FLAGS_MEM_OKAY, thus making their names
consistent with the other PCI flags and poisoning 3rd-party driver
sources that use the flags in the old bad way.

This patch produces no binary changes in this set of PCI kernels when
they are compiled w/o 'options DIAGNOSTIC' and w/ -V MKREPRO=yes:

algor P4032 P5064 P6032
alpha GENERIC
amd64 GENERIC XEN3_DOM0
arc GENERIC
atari HADES MILAN-PCIIDE
bebox GENERIC
cats GENERIC
cobalt GENERIC
evbarm-el ADI_BRH ARMADILLO9 CP3100 GEMINI GEMINI_MASTER GEMINI_SLAVE
evbarm-el GUMSTIX HDL_G IMX31LITE INTEGRATOR IQ31244 IQ80310 IQ80321
evbarm-el IXDP425 IXM1200 KUROBOX_PRO
evbarm-el LUBBOCK MARVELL_NAS NAPPI NSLU2 SHEEVAPLUG SMDK2800 TEAMASA_NPWR
evbarm-el TEAMASA_NPWR_FC TS7200 TWINTAIL ZAO425
evbmips-el AP30 DBAU1500 DBAU1550 MALTA MERAKI MTX-1 OMSAL400 RB153 WGT624V3
evbmips64-el XLSATX
evbppc EV64260 MPC8536DS MPC8548CDS OPENBLOCKS200 OPENBLOCKS266
evbppc OPENBLOCKS266_OPT P2020RDB PMPPC RB800 WALNUT
hp700 GENERIC
i386 ALL XEN3_DOM0 XEN3_DOMU
ibmnws GENERIC
iyonix GENERIC
landisk GENERIC
macppc GENERIC
mvmeppc GENERIC
netwinder GENERIC
ofppc GENERIC
prep GENERIC
sandpoint GENERIC
sbmips-el GENERIC
sgimips GENERIC32_IP2x GENERIC32_IP3x
sparc GENERIC_SUN4U KRUPS
sparc64 GENERIC
 1.11 14-Mar-2009  dsl branches: 1.11.4; 1.11.6;
Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.10 17-Oct-2007  garbled branches: 1.10.20; 1.10.28; 1.10.34;
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 11-Dec-2005  christos branches: 1.9.30; 1.9.38; 1.9.48; 1.9.50; 1.9.52; 1.9.54;
merge ktrace-lwp.
 1.8 30-Aug-2004  drochner branches: 1.8.12;
Phase out the use of a string as first "attach args" member to control
which bustype should be attached with a specific call to config_found()
(from a "mainbus" or a bus bridge).
Do it for isa/eisa/mca and pci/agp for now. These buses all attach to
an mi interface attribute "isabus", "eisabus" etc., and the autoconf
framework now allows to specify an interface attribute on config_found()
and config_search(), which limits the search of matching config data
to these which attach to that specific attribute.
So we basically have to call config_found_ia(..., "foobus", ...) where
such a bus is attached.
As a consequence, where a "mainbus" or alike also attaches other
devices (eg CPUs) which do not attach to a specific attribute yet,
we need at least pass an attribute name (different from "foobus") so
that the foo bus is not found at these places. This made some minor
changes necessary which are not obviously related to the mentioned buses.
 1.7 15-Jul-2003  lukem __KERNEL_RCSID()
 1.6 15-Jun-2003  fvdl branches: 1.6.2;
Handle 64bit DMA addresses on PCI for platforms that can (currently only
enabled on amd64). Add a dmat64 field to various PCI attach structures,
and pass it down where needed. Implement a simple new function called
pci_dma64_available(pa) to test if 64bit DMA addresses may be used.
This returns 1 iff _PCI_HAVE_DMA64 is defined in <machine/pci_machdep.h>,
and there is more than 4G of memory.
 1.5 01-Jan-2003  thorpej Use aprint_normal() for cfprint routines.
 1.4 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.3 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.2 16-May-2002  thorpej branches: 1.2.2; 1.2.6;
* Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses. For busses behind a bridge, it points to
a persistent copy of the bridge's pcitag_t. This can be very useful
for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
uses OFW device nodes to enumerate the bus. When a PCI bus that is
behind a bridge is attached, pci_attach_hook() allocates a new PCI
chipset tag for the new bus and sets it's "curnode" to the OFW node
of the bridge. This is used as a starting point when enumerating
that bus. Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.
 1.1 27-Feb-2002  scw branches: 1.1.2;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.2.5 03-Jan-2003  thorpej Sync with HEAD.
 1.1.2.4 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file mainbus.c was added on branch nathanw_sa on 2002-02-28 04:11:09 +0000
 1.2.6.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 16-May-2002  jdolecek file mainbus.c was added on branch kqueue on 2002-06-23 17:38:36 +0000
 1.2.2.2 16-May-2002  thorpej * Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses. For busses behind a bridge, it points to
a persistent copy of the bridge's pcitag_t. This can be very useful
for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
uses OFW device nodes to enumerate the bus. When a PCI bus that is
behind a bridge is attached, pci_attach_hook() allocates a new PCI
chipset tag for the new bus and sets it's "curnode" to the OFW node
of the bridge. This is used as a starting point when enumerating
that bus. Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.
 1.2.2.1 16-May-2002  thorpej file mainbus.c was added on branch gehenna-devsw on 2002-05-16 01:01:39 +0000
 1.6.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.6.2.2 03-Sep-2004  skrll Sync with HEAD
 1.6.2.1 03-Aug-2004  skrll Sync with HEAD
 1.8.12.1 27-Oct-2007  yamt sync with head.
 1.9.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.9.52.1 18-Oct-2007  yamt sync with head.
 1.9.50.1 06-Nov-2007  matt sync with HEAD
 1.9.48.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.9.38.2 10-May-2007  garbled More cleanup. mvmeppc and ibmnws are machines that have a PReP memory
map. Rather than have each port roll it's own code, use
oea/prep_machdep.c instead.
 1.9.38.1 09-May-2007  garbled Apply the complete renovation package to mvmeppc.
1) Convert to shared PIC code. For now, using i8259, however, I suspect
this machine really needs prepivr.
2) Convert to shared PCI
3) Convert to shared ISA
4) Clean up a few __P's and K&R declarations. Still a few to go probably.
 1.9.30.1 23-Oct-2007  ad Sync with head.
 1.10.34.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.10.28.1 28-Apr-2009  skrll Sync with HEAD.
 1.10.20.1 04-May-2009  yamt sync with head.
 1.11.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.11.4.2 12-Jun-2011  rmind sync with head
 1.11.4.1 31-May-2011  rmind sync with head
 1.12.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.14.6.1 18-Feb-2012  mrg merge to -current.
 1.14.2.1 17-Apr-2012  yamt sync with head
 1.15.24.1 22-Apr-2016  skrll Sync with HEAD
 1.15.6.1 03-Dec-2017  jdolecek update from HEAD
 1.16.18.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.19.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.20.2.1 02-Apr-2021  thorpej config_found_ia() -> config_found() w/ CFARG_IATTR.
 1.21.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.2 28-Feb-2002  scw branches: 1.2.2;
Nuke a file which should not have been commited.
 1.1 27-Feb-2002  scw New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.2.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.2.1 28-Feb-2002  nathanw Catch up to -current.
 1.6 19-Jan-2024  thorpej opt_mvmetype.h -> opt_mvmeconf.h to match mvme68k (which wins out because
it supports more boards).
 1.5 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.4 11-Dec-2005  christos branches: 1.4.74; 1.4.76; 1.4.78;
merge ktrace-lwp.
 1.3 15-Jul-2003  lukem __KERNEL_RCSID()
 1.2 02-Feb-2003  matt branches: 1.2.2;
Perform a rototill of the powerpc code. Mandate use of SPRG0 to store
a pointer to current cpu's cpu_info structure. Use cpu_info for
intstk,intr_depth,still_stk,idle_pcb,curpcb,curlwp,etal even on
non-MULTIPROCESSOR machines. Add common macros GET_CPUINFO and
INIT_CPUINFO to get and initialize the cpu_info struct on startup. Make
ibm4xx use the standard <powerpc/frame.h>. Use IFRAME_xx in ibm4xx
trap_subr.S instead of explicit magic offsets. Move INTSTK and SPILLSTK
to std.<platform>. Change faultbuf to a struct instead of an array.

On MPC6XX cpus, stop using the vector page for temporary space and use
reserved space in cpu_info.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file platform.c was added on branch kqueue on 2002-06-23 17:38:36 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file platform.c was added on branch nathanw_sa on 2002-02-28 04:11:09 +0000
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.4.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.9 26-Mar-2014  christos kill sprintf
 1.8 18-Jun-2011  matt branches: 1.8.2; 1.8.12; 1.8.16;
struct device * -> device_t
struct cfdata * -> cfdata_t
use device accessors, use device_private.
some softc/device_t splits (macppc needs a bunch more)
aprint*_dev used considerably more
 1.7 28-Apr-2008  martin branches: 1.7.32;
Remove clause 3 and 4 from TNF licenses
 1.6 17-Oct-2007  garbled branches: 1.6.16; 1.6.18; 1.6.20;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.5 11-Dec-2005  christos branches: 1.5.30; 1.5.38; 1.5.48; 1.5.50; 1.5.52; 1.5.54;
merge ktrace-lwp.
 1.4 28-Jul-2003  scw branches: 1.4.16;
Implement mvme160x platform-specific reset using a semi-documented
register of the IBC.
 1.3 28-Jul-2003  chs correct values in p160x_dram_size[] for second bank being populated.
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.20;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.20.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.20.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.20.1 03-Aug-2004  skrll Sync with HEAD
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file platform_160x.c was added on branch kqueue on 2002-06-23 17:38:36 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file platform_160x.c was added on branch nathanw_sa on 2002-02-28 04:11:09 +0000
 1.4.16.1 27-Oct-2007  yamt sync with head.
 1.5.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.5.52.1 18-Oct-2007  yamt sync with head.
 1.5.50.1 06-Nov-2007  matt sync with HEAD
 1.5.48.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.5.38.2 10-May-2007  garbled More cleanup. mvmeppc and ibmnws are machines that have a PReP memory
map. Rather than have each port roll it's own code, use
oea/prep_machdep.c instead.
 1.5.38.1 09-May-2007  garbled Apply the complete renovation package to mvmeppc.
1) Convert to shared PIC code. For now, using i8259, however, I suspect
this machine really needs prepivr.
2) Convert to shared PCI
3) Convert to shared ISA
4) Clean up a few __P's and K&R declarations. Still a few to go probably.
 1.5.30.1 23-Oct-2007  ad Sync with head.
 1.6.20.1 16-May-2008  yamt sync with head.
 1.6.18.1 18-May-2008  yamt sync with head.
 1.6.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.32.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.8.16.1 18-May-2014  rmind sync with head
 1.8.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.2.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2 05-Mar-2003  matt Remove port-specific procfs_machdep.c (since they are all identical and
a better one resides in powerpc/powerpc/).
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file procfs_machdep.c was added on branch kqueue on 2002-06-23 17:38:37 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file procfs_machdep.c was added on branch nathanw_sa on 2002-02-28 04:11:09 +0000
 1.7 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.6 11-Dec-2005  christos branches: 1.6.30; 1.6.38; 1.6.48; 1.6.50; 1.6.52; 1.6.54;
merge ktrace-lwp.
 1.5 23-Apr-2004  itojun branches: 1.5.12;
pass string length (= boundary info) to pci_devinfo so that we do not run over
the end of memory region
 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 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file pchb.c was added on branch kqueue on 2002-06-23 17:38:37 +0000
 1.1.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file pchb.c was added on branch nathanw_sa on 2002-02-28 04:11:09 +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 27-Oct-2007  yamt sync with head.
 1.6.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.6.52.1 18-Oct-2007  yamt sync with head.
 1.6.50.1 06-Nov-2007  matt sync with HEAD
 1.6.48.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.6.38.1 09-May-2007  garbled Apply the complete renovation package to mvmeppc.
1) Convert to shared PIC code. For now, using i8259, however, I suspect
this machine really needs prepivr.
2) Convert to shared PCI
3) Convert to shared ISA
4) Clean up a few __P's and K&R declarations. Still a few to go probably.
 1.6.30.1 23-Oct-2007  ad Sync with head.
 1.11 19-Oct-2016  nonaka Added MSI/MSI-X and interrupt_distribute(9) support for powerpc.
 1.10 01-Jul-2011  dyoung branches: 1.10.12; 1.10.30; 1.10.34;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.9 30-Jun-2011  matt Modify mapiodev to take a third argument indicating whether the space
should be prefetchable (true) or not (false).
 1.8 22-Jun-2011  matt Add support pci_intr_setattr.
Export non-inline version of pci api for modules (_MODULE is defined).
Fix definition of pc_conf_hook and pc_conf_interrupt.
Switch to using inlines instead of macros.
Switch ibm4xx to use <powerpc/pci_machdep.h>
 1.7 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.6 17-Oct-2007  garbled branches: 1.6.42;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.5 11-Dec-2005  christos branches: 1.5.30; 1.5.38; 1.5.48; 1.5.50; 1.5.52; 1.5.54;
merge ktrace-lwp.
 1.4 15-Jul-2003  lukem branches: 1.4.16;
__KERNEL_RCSID()
 1.3 18-Mar-2003  matt branches: 1.3.2;
Switch/adapt to new bus space infrastructure.
 1.2 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file pci_machdep.c was added on branch kqueue on 2002-06-23 17:38:37 +0000
 1.1.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file pci_machdep.c was added on branch nathanw_sa on 2002-02-28 04:11:09 +0000
 1.3.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.1 03-Aug-2004  skrll Sync with HEAD
 1.4.16.1 27-Oct-2007  yamt sync with head.
 1.5.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.5.52.1 18-Oct-2007  yamt sync with head.
 1.5.50.1 06-Nov-2007  matt sync with HEAD
 1.5.48.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.5.38.2 10-May-2007  garbled More cleanup. mvmeppc and ibmnws are machines that have a PReP memory
map. Rather than have each port roll it's own code, use
oea/prep_machdep.c instead.
 1.5.38.1 09-May-2007  garbled Apply the complete renovation package to mvmeppc.
1) Convert to shared PIC code. For now, using i8259, however, I suspect
this machine really needs prepivr.
2) Convert to shared PCI
3) Convert to shared ISA
4) Clean up a few __P's and K&R declarations. Still a few to go probably.
 1.5.30.1 23-Oct-2007  ad Sync with head.
 1.6.42.1 05-Mar-2011  rmind sync with head
 1.10.34.1 04-Nov-2016  pgoyette Sync with HEAD
 1.10.30.1 05-Dec-2016  skrll Sync with HEAD
 1.10.12.1 03-Dec-2017  jdolecek update from HEAD
 1.9 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.8 11-Dec-2005  christos branches: 1.8.30; 1.8.38; 1.8.48; 1.8.50; 1.8.52; 1.8.54;
merge ktrace-lwp.
 1.7 30-Aug-2004  drochner branches: 1.7.12;
Phase out the use of a string as first "attach args" member to control
which bustype should be attached with a specific call to config_found()
(from a "mainbus" or a bus bridge).
Do it for isa/eisa/mca and pci/agp for now. These buses all attach to
an mi interface attribute "isabus", "eisabus" etc., and the autoconf
framework now allows to specify an interface attribute on config_found()
and config_search(), which limits the search of matching config data
to these which attach to that specific attribute.
So we basically have to call config_found_ia(..., "foobus", ...) where
such a bus is attached.
As a consequence, where a "mainbus" or alike also attaches other
devices (eg CPUs) which do not attach to a specific attribute yet,
we need at least pass an attribute name (different from "foobus") so
that the foo bus is not found at these places. This made some minor
changes necessary which are not obviously related to the mentioned buses.
 1.6 23-Apr-2004  itojun pass string length (= boundary info) to pci_devinfo so that we do not run over
the end of memory region
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 01-Jan-2003  thorpej branches: 1.4.2;
Use aprint_normal() for cfprint routines.
 1.3 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.14.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file pcib.c was added on branch kqueue on 2002-06-23 17:38:37 +0000
 1.1.2.4 03-Jan-2003  thorpej Sync with HEAD.
 1.1.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file pcib.c was added on branch nathanw_sa on 2002-02-28 04:11:10 +0000
 1.4.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.4.2.2 03-Sep-2004  skrll Sync with HEAD
 1.4.2.1 03-Aug-2004  skrll Sync with HEAD
 1.7.12.1 27-Oct-2007  yamt sync with head.
 1.8.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.8.52.1 18-Oct-2007  yamt sync with head.
 1.8.50.1 06-Nov-2007  matt sync with HEAD
 1.8.48.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.8.38.1 09-May-2007  garbled Apply the complete renovation package to mvmeppc.
1) Convert to shared PIC code. For now, using i8259, however, I suspect
this machine really needs prepivr.
2) Convert to shared PCI
3) Convert to shared ISA
4) Clean up a few __P's and K&R declarations. Still a few to go probably.
 1.8.30.1 23-Oct-2007  ad Sync with head.
 1.2 31-May-2002  bjh21 branches: 1.2.2;
Insert .WAIT between libsa and boot so that parallel builds have a chance
of working.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.10;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.10.1 14-Jul-2002  gehenna catch up with -current.
 1.1.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file Makefile was added on branch nathanw_sa on 2002-02-28 04:11:10 +0000
 1.2.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.2.1 31-May-2002  jdolecek file Makefile was added on branch kqueue on 2002-06-23 17:38:37 +0000
 1.15 08-Apr-2017  christos centralize vers.c building for standalone programs.
 1.14 12-Jan-2014  tsutsui branches: 1.14.6; 1.14.10; 1.14.14;
Add empty LIBCRTI= as LIBCRT0 to build sa programs without installed DESTDIR.

XXX: probabry we should have bsd.saprog.mk or something.
 1.13 21-Sep-2013  tsutsui Explicitly link srt0.o (Standalone RunTime startup code) first.

Taken from the similar fix of mvme68k:
http://mail-index.netbsd.org/source-changes/2013/09/21/msg047819.html
> MVME PROM requires raw binaries (by objcopy -O binary) so we have to
> make sure the entry point is located at the first address of the binaries.
The original changes to switch to using MI libsa is:
http://mail-index.netbsd.org/source-changes/2011/01/02/msg016563.html

Should be pulled up to netbsd-6 branches.
(though untested since there seems no users of mvmeppc)
 1.12 22-Jan-2011  joerg branches: 1.12.4; 1.12.10; 1.12.14; 1.12.16; 1.12.18; 1.12.24;
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.11 02-Jan-2011  tsutsui branches: 1.11.2; 1.11.4;
Switch mvmeppc bootloader to using MI libsa and libkern for maintainability.
Mostly taken from mvme68k.

Compile test only, but no functional changes.
 1.10 24-Dec-2009  tsutsui branches: 1.10.4;
Use <bsd.klinks.mk> to create machine and ${MACHINE_CPU} symlinks.
 1.9 13-Dec-2009  tsutsui Pull a fix from mvme68k:
Create machine and ${MACHINE_CPU} symlinks properly and
remove unnecessary dependencies so that parallel build works.
 1.8 03-Apr-2009  tsutsui Remove obsolete LIBSA_USE_MEMCPY and LIBSA_USE_MEMSET.
They were removed from <lib/libsa/stand.h> on December 2007.
 1.7 12-Jan-2009  tsutsui branches: 1.7.2;
- add some make variables to suppress errors on build without DESTDIR
- make sure machine and ${MACHINE_ARCH} symlinks are always created
 1.6 11-Dec-2005  christos branches: 1.6.74; 1.6.78; 1.6.86;
merge ktrace-lwp.
 1.5 14-Jun-2004  he Factor out the C preprocessor defines and include flags from CFLAGS
to CPPFLAGS, so that they are also applied when compiling assembler
files.
 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 24-Oct-2003  matt use -ffreestanding
 1.2 31-May-2002  bjh21 branches: 1.2.2; 1.2.8;
Use ${PRINTOBJDIR} rather than rolling our own. This makes parallel
builds work properly.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.10;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.10.1 14-Jul-2002  gehenna catch up with -current.
 1.1.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file Makefile.booters was added on branch nathanw_sa on 2002-02-28 04:11:10 +0000
 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 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.2.1 31-May-2002  jdolecek file Makefile.booters was added on branch kqueue on 2002-06-23 17:38:38 +0000
 1.6.86.2 28-Apr-2009  skrll Sync with HEAD.
 1.6.86.1 19-Jan-2009  skrll Sync with HEAD.
 1.6.78.2 11-Mar-2010  yamt sync with head
 1.6.78.1 04-May-2009  yamt sync with head.
 1.6.74.1 17-Jan-2009  mjf Sync with HEAD.
 1.7.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.10.4.1 05-Mar-2011  rmind sync with head
 1.11.4.1 08-Feb-2011  bouyer Sync with HEAD
 1.11.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.12.24.1 23-Sep-2013  riz Pull up following revision(s) (requested by tsutsui in ticket #955):
sys/arch/mvmeppc/stand/libsa/Makefile.inc: revision 1.2
sys/arch/mvmeppc/stand/Makefile.booters: revision 1.13
sys/arch/mvmeppc/stand/libsa/Makefile: revision 1.11
Explicitly link srt0.o (Standalone RunTime startup code) first.
Taken from the similar fix of mvme68k:
http://mail-index.netbsd.org/source-changes/2013/09/21/msg047819.html
MVME PROM requires raw binaries (by objcopy -O binary) so we have to
make sure the entry point is located at the first address of the binaries.
The original changes to switch to using MI libsa is:
http://mail-index.netbsd.org/source-changes/2011/01/02/msg016563.html
Should be pulled up to netbsd-6 branches.
(though untested since there seems no users of mvmeppc)
 1.12.18.1 18-May-2014  rmind sync with head
 1.12.16.1 23-Sep-2013  riz Pull up following revision(s) (requested by tsutsui in ticket #955):
sys/arch/mvmeppc/stand/libsa/Makefile.inc: revision 1.2
sys/arch/mvmeppc/stand/Makefile.booters: revision 1.13
sys/arch/mvmeppc/stand/libsa/Makefile: revision 1.11
Explicitly link srt0.o (Standalone RunTime startup code) first.
Taken from the similar fix of mvme68k:
http://mail-index.netbsd.org/source-changes/2013/09/21/msg047819.html
MVME PROM requires raw binaries (by objcopy -O binary) so we have to
make sure the entry point is located at the first address of the binaries.
The original changes to switch to using MI libsa is:
http://mail-index.netbsd.org/source-changes/2011/01/02/msg016563.html
Should be pulled up to netbsd-6 branches.
(though untested since there seems no users of mvmeppc)
 1.12.14.2 03-Dec-2017  jdolecek update from HEAD
 1.12.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.12.10.1 23-Sep-2013  riz Pull up following revision(s) (requested by tsutsui in ticket #955):
sys/arch/mvmeppc/stand/libsa/Makefile.inc: revision 1.2
sys/arch/mvmeppc/stand/Makefile.booters: revision 1.13
sys/arch/mvmeppc/stand/libsa/Makefile: revision 1.11
Explicitly link srt0.o (Standalone RunTime startup code) first.
Taken from the similar fix of mvme68k:
http://mail-index.netbsd.org/source-changes/2013/09/21/msg047819.html
MVME PROM requires raw binaries (by objcopy -O binary) so we have to
make sure the entry point is located at the first address of the binaries.
The original changes to switch to using MI libsa is:
http://mail-index.netbsd.org/source-changes/2011/01/02/msg016563.html
Should be pulled up to netbsd-6 branches.
(though untested since there seems no users of mvmeppc)
 1.12.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.14.14.1 21-Apr-2017  bouyer Sync with HEAD
 1.14.10.1 26-Apr-2017  pgoyette Sync with HEAD
 1.14.6.1 28-Aug-2017  skrll Sync with HEAD
 1.5 02-Jan-2011  tsutsui Switch mvmeppc bootloader to using MI libsa and libkern for maintainability.
Mostly taken from mvme68k.

Compile test only, but no functional changes.
 1.4 11-Dec-2005  christos branches: 1.4.100;
merge ktrace-lwp.
 1.3 24-Oct-2003  matt use -ffreestanding
 1.2 03-Mar-2002  scw branches: 1.2.10; 1.2.16;
Rename the bootstrap from netboot to just boot as eventually it will
support both network and scsi devices in one binary.
(There are no absolute size restrictions for a PReP-style one-stage
bootloader).
 1.1 27-Feb-2002  scw branches: 1.1.2;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file Makefile was added on branch nathanw_sa on 2002-02-28 04:11:10 +0000
 1.2.16.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.16.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.16.1 03-Aug-2004  skrll Sync with HEAD
 1.2.10.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.10.1 03-Mar-2002  jdolecek file Makefile was added on branch kqueue on 2002-06-23 17:38:38 +0000
 1.4.100.1 05-Mar-2011  rmind sync with head
 1.7 11-Jun-2016  dholland PR 51200 gets in libsa considered harmful: use kgets
 1.6 06-Aug-2014  joerg branches: 1.6.4;
Give non-standard main in a freestanding environment a prototype.
 1.5 28-Apr-2008  martin branches: 1.5.44; 1.5.60;
Remove clause 3 and 4 from TNF licenses
 1.4 24-Jan-2007  hubertf branches: 1.4.44; 1.4.46; 1.4.48;
Remove duplicate #includes, patch contributed in private mail
by Slava Semushin <slava.semushin@gmail.com>.

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

Thanks to martin@ for the input on testing.
 1.3 11-Dec-2005  christos branches: 1.3.20;
merge ktrace-lwp.
 1.2 07-Aug-2003  agc branches: 1.2.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.20;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.20.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.20.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.20.1 03-Aug-2004  skrll Sync with HEAD
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file boot.c was added on branch kqueue on 2002-06-23 17:38:38 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file boot.c was added on branch nathanw_sa on 2002-02-28 04:11:10 +0000
 1.2.16.1 26-Feb-2007  yamt sync with head.
 1.3.20.1 01-Feb-2007  ad Sync with head.
 1.4.48.1 16-May-2008  yamt sync with head.
 1.4.46.1 18-May-2008  yamt sync with head.
 1.4.44.1 02-Jun-2008  mjf Sync with HEAD.
 1.5.60.1 10-Aug-2014  tls Rebase.
 1.5.44.2 03-Dec-2017  jdolecek update from HEAD
 1.5.44.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.4.1 09-Jul-2016  skrll Sync with HEAD
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 23-Jun-2005  junyoung Use FS_OPS() macro.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.20;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.20.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file conf.c was added on branch kqueue on 2002-06-23 17:38:38 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file conf.c was added on branch nathanw_sa on 2002-02-28 04:11:10 +0000
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 28-Jun-2005  junyoung - ANSI & KNF.
- #include <lib/libsa/stand.h> rather than <stand.h>.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.20;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.20.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file devopen.c was added on branch kqueue on 2002-06-23 17:38:38 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file devopen.c was added on branch nathanw_sa on 2002-02-28 04:11:11 +0000
 1.11 21-Sep-2013  tsutsui Explicitly link srt0.o (Standalone RunTime startup code) first.

Taken from the similar fix of mvme68k:
http://mail-index.netbsd.org/source-changes/2013/09/21/msg047819.html
> MVME PROM requires raw binaries (by objcopy -O binary) so we have to
> make sure the entry point is located at the first address of the binaries.
The original changes to switch to using MI libsa is:
http://mail-index.netbsd.org/source-changes/2011/01/02/msg016563.html

Should be pulled up to netbsd-6 branches.
(though untested since there seems no users of mvmeppc)
 1.10 02-Jan-2011  tsutsui branches: 1.10.8; 1.10.14; 1.10.18; 1.10.20; 1.10.22; 1.10.28;
Switch mvmeppc bootloader to using MI libsa and libkern for maintainability.
Mostly taken from mvme68k.

Compile test only, but no functional changes.
 1.9 16-Mar-2010  mrg include strncpy.c, like mvme68k libsa/Makefile rev 1.32.
 1.8 13-Dec-2009  tsutsui branches: 1.8.2; 1.8.4;
Put srt0.S to SRCS, not in dependencies for target all.
 1.7 19-Mar-2009  tsutsui Remove bcmp() from MD libsa.

XXX: These ports should be rewritten to use MI libsa for maintainability.
 1.6 26-Jan-2006  he branches: 1.6.76; 1.6.84; 1.6.90;
Follow up the rename of in_cksum.c to ip_cksum.c.
 1.5 27-Dec-2005  he branches: 1.5.2;
Make this build again after the libc/libkern consolidation by referring
to common/lib/libc/Makefile.inc via ${S}/../
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 10-Aug-2003  chs branches: 1.3.16;
track changes in libsa Makefile.
 1.2 08-Apr-2002  bjh21 branches: 1.2.6; 1.2.12;
Add files.c to SRCS_sa, so at to get stuff to link again.
 1.1 27-Feb-2002  scw branches: 1.1.2;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.2.3 17-Apr-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file Makefile was added on branch nathanw_sa on 2002-02-28 04:11:11 +0000
 1.2.12.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.12.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.12.1 03-Aug-2004  skrll Sync with HEAD
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 08-Apr-2002  jdolecek file Makefile was added on branch kqueue on 2002-06-23 17:38:38 +0000
 1.3.16.1 21-Jun-2006  yamt sync with head.
 1.5.2.1 01-Feb-2006  yamt sync with head.
 1.6.90.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.6.84.1 28-Apr-2009  skrll Sync with HEAD.
 1.6.76.3 11-Aug-2010  yamt sync with head.
 1.6.76.2 11-Mar-2010  yamt sync with head
 1.6.76.1 04-May-2009  yamt sync with head.
 1.8.4.2 05-Mar-2011  rmind sync with head
 1.8.4.1 30-May-2010  rmind sync with head
 1.8.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.10.28.1 23-Sep-2013  riz Pull up following revision(s) (requested by tsutsui in ticket #955):
sys/arch/mvmeppc/stand/libsa/Makefile.inc: revision 1.2
sys/arch/mvmeppc/stand/Makefile.booters: revision 1.13
sys/arch/mvmeppc/stand/libsa/Makefile: revision 1.11
Explicitly link srt0.o (Standalone RunTime startup code) first.
Taken from the similar fix of mvme68k:
http://mail-index.netbsd.org/source-changes/2013/09/21/msg047819.html
MVME PROM requires raw binaries (by objcopy -O binary) so we have to
make sure the entry point is located at the first address of the binaries.
The original changes to switch to using MI libsa is:
http://mail-index.netbsd.org/source-changes/2011/01/02/msg016563.html
Should be pulled up to netbsd-6 branches.
(though untested since there seems no users of mvmeppc)
 1.10.22.1 18-May-2014  rmind sync with head
 1.10.20.1 23-Sep-2013  riz Pull up following revision(s) (requested by tsutsui in ticket #955):
sys/arch/mvmeppc/stand/libsa/Makefile.inc: revision 1.2
sys/arch/mvmeppc/stand/Makefile.booters: revision 1.13
sys/arch/mvmeppc/stand/libsa/Makefile: revision 1.11
Explicitly link srt0.o (Standalone RunTime startup code) first.
Taken from the similar fix of mvme68k:
http://mail-index.netbsd.org/source-changes/2013/09/21/msg047819.html
MVME PROM requires raw binaries (by objcopy -O binary) so we have to
make sure the entry point is located at the first address of the binaries.
The original changes to switch to using MI libsa is:
http://mail-index.netbsd.org/source-changes/2011/01/02/msg016563.html
Should be pulled up to netbsd-6 branches.
(though untested since there seems no users of mvmeppc)
 1.10.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.10.14.1 23-Sep-2013  riz Pull up following revision(s) (requested by tsutsui in ticket #955):
sys/arch/mvmeppc/stand/libsa/Makefile.inc: revision 1.2
sys/arch/mvmeppc/stand/Makefile.booters: revision 1.13
sys/arch/mvmeppc/stand/libsa/Makefile: revision 1.11
Explicitly link srt0.o (Standalone RunTime startup code) first.
Taken from the similar fix of mvme68k:
http://mail-index.netbsd.org/source-changes/2013/09/21/msg047819.html
MVME PROM requires raw binaries (by objcopy -O binary) so we have to
make sure the entry point is located at the first address of the binaries.
The original changes to switch to using MI libsa is:
http://mail-index.netbsd.org/source-changes/2011/01/02/msg016563.html
Should be pulled up to netbsd-6 branches.
(though untested since there seems no users of mvmeppc)
 1.10.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.2 21-Sep-2013  tsutsui Explicitly link srt0.o (Standalone RunTime startup code) first.

Taken from the similar fix of mvme68k:
http://mail-index.netbsd.org/source-changes/2013/09/21/msg047819.html
> MVME PROM requires raw binaries (by objcopy -O binary) so we have to
> make sure the entry point is located at the first address of the binaries.
The original changes to switch to using MI libsa is:
http://mail-index.netbsd.org/source-changes/2011/01/02/msg016563.html

Should be pulled up to netbsd-6 branches.
(though untested since there seems no users of mvmeppc)
 1.1 02-Jan-2011  tsutsui branches: 1.1.6; 1.1.10; 1.1.16; 1.1.20; 1.1.22; 1.1.24; 1.1.30;
Switch mvmeppc bootloader to using MI libsa and libkern for maintainability.
Mostly taken from mvme68k.

Compile test only, but no functional changes.
 1.1.30.1 23-Sep-2013  riz Pull up following revision(s) (requested by tsutsui in ticket #955):
sys/arch/mvmeppc/stand/libsa/Makefile.inc: revision 1.2
sys/arch/mvmeppc/stand/Makefile.booters: revision 1.13
sys/arch/mvmeppc/stand/libsa/Makefile: revision 1.11
Explicitly link srt0.o (Standalone RunTime startup code) first.
Taken from the similar fix of mvme68k:
http://mail-index.netbsd.org/source-changes/2013/09/21/msg047819.html
MVME PROM requires raw binaries (by objcopy -O binary) so we have to
make sure the entry point is located at the first address of the binaries.
The original changes to switch to using MI libsa is:
http://mail-index.netbsd.org/source-changes/2011/01/02/msg016563.html
Should be pulled up to netbsd-6 branches.
(though untested since there seems no users of mvmeppc)
 1.1.24.1 18-May-2014  rmind sync with head
 1.1.22.1 23-Sep-2013  riz Pull up following revision(s) (requested by tsutsui in ticket #955):
sys/arch/mvmeppc/stand/libsa/Makefile.inc: revision 1.2
sys/arch/mvmeppc/stand/Makefile.booters: revision 1.13
sys/arch/mvmeppc/stand/libsa/Makefile: revision 1.11
Explicitly link srt0.o (Standalone RunTime startup code) first.
Taken from the similar fix of mvme68k:
http://mail-index.netbsd.org/source-changes/2013/09/21/msg047819.html
MVME PROM requires raw binaries (by objcopy -O binary) so we have to
make sure the entry point is located at the first address of the binaries.
The original changes to switch to using MI libsa is:
http://mail-index.netbsd.org/source-changes/2011/01/02/msg016563.html
Should be pulled up to netbsd-6 branches.
(though untested since there seems no users of mvmeppc)
 1.1.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.16.1 23-Sep-2013  riz Pull up following revision(s) (requested by tsutsui in ticket #955):
sys/arch/mvmeppc/stand/libsa/Makefile.inc: revision 1.2
sys/arch/mvmeppc/stand/Makefile.booters: revision 1.13
sys/arch/mvmeppc/stand/libsa/Makefile: revision 1.11
Explicitly link srt0.o (Standalone RunTime startup code) first.
Taken from the similar fix of mvme68k:
http://mail-index.netbsd.org/source-changes/2013/09/21/msg047819.html
MVME PROM requires raw binaries (by objcopy -O binary) so we have to
make sure the entry point is located at the first address of the binaries.
The original changes to switch to using MI libsa is:
http://mail-index.netbsd.org/source-changes/2011/01/02/msg016563.html
Should be pulled up to netbsd-6 branches.
(though untested since there seems no users of mvmeppc)
 1.1.10.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.2 05-Mar-2011  rmind sync with head
 1.1.6.1 02-Jan-2011  rmind file Makefile.inc was added on branch rmind-uvmplock on 2011-03-05 20:51:22 +0000
 1.3 19-Jan-2011  he Prefix register names with %, apparently now required to build.
 1.2 28-Apr-2008  martin branches: 1.2.22; 1.2.28;
Remove clause 3 and 4 from TNF licenses
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.122; 1.1.124; 1.1.126;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.126.1 16-May-2008  yamt sync with head.
 1.1.124.1 18-May-2008  yamt sync with head.
 1.1.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file bugsyscalls.S was added on branch kqueue on 2002-06-23 17:38:39 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file bugsyscalls.S was added on branch nathanw_sa on 2002-02-28 04:11:11 +0000
 1.2.28.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.22.1 05-Mar-2011  rmind sync with head
 1.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.122; 1.1.124; 1.1.126;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.126.1 16-May-2008  yamt sync with head.
 1.1.124.1 18-May-2008  yamt sync with head.
 1.1.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file bugsyscalls.h was added on branch kqueue on 2002-06-23 17:38:39 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file bugsyscalls.h was added on branch nathanw_sa on 2002-02-28 04:11:11 +0000
 1.5 20-Nov-2014  christos use the inline bcdtobin and bintobcd directly instead through a macro.
 1.4 17-Nov-2014  christos PR/49207: Kamil Rytarowski: Add sys/clock.h with generic time macros
(derived from clock_subr.h). Keep clock_subr.h with the kernel structures
and functions to reduce diffs, and have clock.h only include standalone
constants and macros.
 1.3 18-Mar-2009  cegger branches: 1.3.22;
Ansify function definitions w/o arguments. Generated with sed.
 1.2 12-Jan-2009  tsutsui branches: 1.2.2;
Replace time_t values in libsa sources with the following two types
to avoid unnecessary 64 bit ops which would make binaries larger:

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

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

Per discussion on current-users.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.122; 1.1.126; 1.1.134;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.134.2 28-Apr-2009  skrll Sync with HEAD.
 1.1.134.1 19-Jan-2009  skrll Sync with HEAD.
 1.1.126.1 04-May-2009  yamt sync with head.
 1.1.122.1 17-Jan-2009  mjf Sync with HEAD.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file clock.c was added on branch kqueue on 2002-06-23 17:38:39 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file clock.c was added on branch nathanw_sa on 2002-02-28 04:11:11 +0000
 1.2.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.3.22.1 03-Dec-2017  jdolecek update from HEAD
 1.5 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.4 28-Apr-2008  martin branches: 1.4.8; 1.4.14;
Remove clause 3 and 4 from TNF licenses
 1.3 11-Dec-2005  christos branches: 1.3.74; 1.3.76; 1.3.78;
merge ktrace-lwp.
 1.2 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.20;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.20.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.20.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.20.1 03-Aug-2004  skrll Sync with HEAD
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file exec_mvme.c was added on branch kqueue on 2002-06-23 17:38:39 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file exec_mvme.c was added on branch nathanw_sa on 2002-02-28 04:11:11 +0000
 1.3.78.2 04-May-2009  yamt sync with head.
 1.3.78.1 16-May-2008  yamt sync with head.
 1.3.76.1 18-May-2008  yamt sync with head.
 1.3.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.4.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.122; 1.1.124; 1.1.126;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.126.1 16-May-2008  yamt sync with head.
 1.1.124.1 18-May-2008  yamt sync with head.
 1.1.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file getchar.c was added on branch kqueue on 2002-06-23 17:38:39 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file getchar.c was added on branch nathanw_sa on 2002-02-28 04:11:11 +0000
 1.4 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.3 12-Jan-2009  tsutsui branches: 1.3.2;
Replace time_t values in libsa sources with the following two types
to avoid unnecessary 64 bit ops which would make binaries larger:

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

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

Per discussion on current-users.
 1.2 28-Apr-2008  martin branches: 1.2.8;
Remove clause 3 and 4 from TNF licenses
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.122; 1.1.124; 1.1.126;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.126.2 04-May-2009  yamt sync with head.
 1.1.126.1 16-May-2008  yamt sync with head.
 1.1.124.1 18-May-2008  yamt sync with head.
 1.1.122.2 17-Jan-2009  mjf Sync with HEAD.
 1.1.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file if_bug.c was added on branch kqueue on 2002-06-23 17:38:39 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file if_bug.c was added on branch nathanw_sa on 2002-02-28 04:11:11 +0000
 1.2.8.2 28-Apr-2009  skrll Sync with HEAD.
 1.2.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.3.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.3 12-Jan-2009  tsutsui Replace time_t values in libsa sources with the following two types
to avoid unnecessary 64 bit ops which would make binaries larger:

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

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

Per discussion on current-users.
 1.2 28-Apr-2008  martin branches: 1.2.8;
Remove clause 3 and 4 from TNF licenses
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.122; 1.1.124; 1.1.126;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.126.2 04-May-2009  yamt sync with head.
 1.1.126.1 16-May-2008  yamt sync with head.
 1.1.124.1 18-May-2008  yamt sync with head.
 1.1.122.2 17-Jan-2009  mjf Sync with HEAD.
 1.1.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file libsa.h was added on branch kqueue on 2002-06-23 17:38:39 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file libsa.h was added on branch nathanw_sa on 2002-02-28 04:11:11 +0000
 1.2.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.4 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.3 11-Dec-2005  christos branches: 1.3.78; 1.3.86; 1.3.92;
merge ktrace-lwp.
 1.2 10-Dec-2003  agc Modify the licences of code written by Theo De Raadt from a 4-clause
to a 2-clause licence (retaining UCB clauses (1) and (2)), per PR
22409 from Joel Baker, approved by Theo de Raadt, and ratified by
myself - the only discrepancy being the handling of the original
clause 3 in src/usr.sbin/yppoll/yppoll.c.
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.20;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.20.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.20.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.20.1 03-Aug-2004  skrll Sync with HEAD
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file parse_args.c was added on branch kqueue on 2002-06-23 17:38:39 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file parse_args.c was added on branch nathanw_sa on 2002-02-28 04:11:11 +0000
 1.3.92.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.3.86.1 28-Apr-2009  skrll Sync with HEAD.
 1.3.78.1 04-May-2009  yamt sync with head.
 1.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.122; 1.1.124; 1.1.126;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.126.1 16-May-2008  yamt sync with head.
 1.1.124.1 18-May-2008  yamt sync with head.
 1.1.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file putchar.c was added on branch kqueue on 2002-06-23 17:38:39 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file putchar.c was added on branch nathanw_sa on 2002-02-28 04:11:12 +0000
 1.5 07-Aug-2014  joerg Use cmpw.
 1.4 19-Jan-2011  he branches: 1.4.16; 1.4.30;
Prefix register names with %, apparently now required to build.
 1.3 02-Mar-2010  matt branches: 1.3.2; 1.3.4;
Add missing <powerpc/FOO/spr.h> to a few files missed on the first pass.
Don't export <machine/spr.h> to userland, only <powerpc/spr.h>
 1.2 28-Apr-2008  martin branches: 1.2.20; 1.2.24;
Remove clause 3 and 4 from TNF licenses
 1.1 27-Feb-2002  scw branches: 1.1.2; 1.1.14; 1.1.122; 1.1.124; 1.1.126;
New port: NetBSD/mvmeppc

Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
 1.1.126.2 11-Mar-2010  yamt sync with head
 1.1.126.1 16-May-2008  yamt sync with head.
 1.1.124.1 18-May-2008  yamt sync with head.
 1.1.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 27-Feb-2002  jdolecek file srt0.S was added on branch kqueue on 2002-06-23 17:38:40 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Feb-2002  nathanw file srt0.S was added on branch nathanw_sa on 2002-02-28 04:11:12 +0000
 1.2.24.1 07-Jan-2011  matt Deal with split <spr.h>
 1.2.20.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.3.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.2.1 05-Mar-2011  rmind sync with head
 1.4.30.1 10-Aug-2014  tls Rebase.
 1.4.16.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.

RSS XML Feed