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

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

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

Per lengthy discussion with Andrew Brown.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.3 07-Jan-2003  thorpej Sync with HEAD.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file Makefile was added on branch nathanw_sa on 2002-12-11 06:28:56 +0000
 1.2.136.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.130.1 21-Apr-2011  rmind sync with head
 1.2 06-Jan-2003  lukem Rework how KERNOBJDIR functions; now it's always determined with
cd ${KERNSRCDIR}/${KERNARCHDIR}/compile && ${PRINTOBJDIR}
This is far simpler than the previous system, and more robust with
objdirs built via BSDOBJDIR.

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

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

Per lengthy discussion with Andrew Brown.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.3 07-Jan-2003  thorpej Sync with HEAD.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file .keep_me was added on branch nathanw_sa on 2002-12-11 06:28:56 +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:07:42 +0000
 1.6 11-Dec-2024  maya Avoid using host tools for building INSTALL_WALNUT kernel

From Kouichi Hashikawa in PR toolchain/58810
 1.5 03-Mar-2014  joerg branches: 1.5.66;
Use nbstat when cross-compiling, unbreaks build on Linux.
 1.4 06-Nov-2010  uebayasi branches: 1.4.8; 1.4.14; 1.4.18; 1.4.22;
Merge from uebayasi-xip:

Support files other than kernel executables.

For filesystem images, embed (not prepend) OpenBIOS image headers to
the images, so that alignment is kept in the resulting files.
 1.3 11-Dec-2005  christos branches: 1.3.98; 1.3.100;
merge ktrace-lwp.
 1.2 27-Mar-2004  simonb Pass the OpenBIOS magic number to the awk script just like the other
numbers passed in instead of using a BEGIN construct. nawk didn't like
the hex escapes used there.
Fixes a problem reported by Shin'ichiro TAYA on port-powerpc.

Use "int(NUMBER)%256" instead of just "NUMBER" in the printf "%c"
statements in the awk script. nawk was appearing to refuse outputing
a 0 byte of the low eight bits of the number were 0 but any higher
bits were set.

walnut-mkimg.sh tested using gawk, nawk and mawk.
 1.1 09-Dec-2002  scw branches: 1.1.2; 1.1.8;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.8.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.8.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.8.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file walnut-mkimg.sh was added on branch nathanw_sa on 2002-12-11 06:28:57 +0000
 1.3.100.1 05-Mar-2011  rmind sync with head
 1.3.98.2 06-Nov-2010  uebayasi Typo.
 1.3.98.1 11-Aug-2010  uebayasi Support files other than kernel executables.

For filesystem images, embed (not prepend) OpenBIOS image headers to
the images, so that alignment is kept in the resulting files.
 1.4.22.1 18-May-2014  rmind sync with head
 1.4.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.14.1 11-Apr-2014  msaitoh Pull up following revision(s) (requested by joerg in ticket #1035):
distrib/evbppc/md-kernel/Makefile 1.4
sys/arch/evbppc/compile/walnut-mkimg.sh 1.5
sys/arch/evbppc/conf/Makefile.ev64260.inc 1.6-1.7
sys/arch/evbppc/conf/Makefile.obs405.inc 1.10-1.11
sys/arch/evbppc/conf/Makefile.walnut.inc 1.7-1.8

Use TOOL_* for cross compiling. Fixes buiild break on linux.
 1.4.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.5.66.1 02-Aug-2025  perseant Sync with HEAD
 1.6 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.5 04-Oct-2023  rin igc(4): Added to kernel config files for tested platforms

I.e., aarch64, amd64, and evbppc/DHT, at the moment.

Please feel free to add to other config files, and report us back
if you find problems :)
 1.4 15-Oct-2022  rin branches: 1.4.2;
DHT Walnut: Fix failure to attach on-board pdcide(4) for cold boot.

U-Boot seems to initialize pdcide(4) to compatible mode. Therefore, we
need to reinitialize it to native-PCI mode in pci_conf_hook(). Otherwise,
we will fail to configure IO registers for native-PCI mode during
PCI_NETBSD_CONFIGURE.
 1.3 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.2 03-Jun-2021  rin - Add some more things necessary for ATF.
- Add makphy(4) found in recent wm(4) models.
- Style.
 1.1 02-Apr-2021  rin branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10;
evbppc: Add support for DHT Walnut 405GP evaluation board.
(Digital Home Technologies PCB 01070201 Rev. 1.1)

Official web page seems gone, but analyses by Linux people are at:

- https://elinux.org/DHT-Walnut
- http://web.archive.org/web/20070225171826/http://supernova.stanford.edu/dingdong/

The board features:

- 266MHz PowerPC 405GP processor
- one PC133 SDRAM slot
- two 32-bit 5V PCI slot
- on-chip ethernet controller with DP83843 PHY
- on-chip serial port / GPIO controller
- on-board PDC20265 IDE controller

Hardware limitations:

- no MAC address assigned
- no RTC present

Known problem:

- atabus(4) channels cannot be attached to pdcide(4) for cold boot

dmesg:

- https://dmesgd.nycbug.org/index.cgi?do=view&id=5997

Have fun!
 1.1.10.1 06-Jun-2021  cjep sync with head
 1.1.6.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.4.1 02-Apr-2021  thorpej file DHT was added on branch thorpej-futex on 2021-04-03 22:28:24 +0000
 1.1.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.2.1 02-Apr-2021  thorpej file DHT was added on branch thorpej-cfargs on 2021-04-03 21:44:42 +0000
 1.4.2.1 08-Oct-2023  martin Pull up following revision(s) (requested by rin in ticket #393):

sys/dev/pci/igc/if_igc.c up to 1.3
sys/dev/pci/igc/if_igc.h up to 1.2
sys/dev/pci/igc/igc_api.c up to 1.2
sys/dev/pci/igc/igc_api.h up to 1.2
sys/dev/pci/igc/igc_base.c up to 1.2
sys/dev/pci/igc/igc_base.h up to 1.2
sys/dev/pci/igc/igc_defines.h up to 1.2
sys/dev/pci/igc/igc_evcnt.h up to 1.1
sys/dev/pci/igc/igc_hw.h up to 1.2
sys/dev/pci/igc/igc_i225.c up to 1.2
sys/dev/pci/igc/igc_i225.h up to 1.2
sys/dev/pci/igc/igc_mac.c up to 1.2
sys/dev/pci/igc/igc_mac.h up to 1.2
sys/dev/pci/igc/igc_nvm.c up to 1.2
sys/dev/pci/igc/igc_nvm.h up to 1.2
sys/dev/pci/igc/igc_phy.c up to 1.2
sys/dev/pci/igc/igc_phy.h up to 1.2
sys/dev/pci/igc/igc_regs.h up to 1.2
distrib/sets/lists/man/mi: revision 1.1766
sys/arch/amd64/conf/GENERIC: revision 1.606
sys/arch/evbppc/conf/DHT: revision 1.5
sys/arch/evbarm/conf/GENERIC64: revision 1.213
share/man/man4/Makefile: revision 1.733
sys/arch/amd64/conf/ALL: revision 1.181
share/man/man4/igc.4: revision 1.1
sys/dev/pci/files.pci: revision 1.447
sys/arch/amd64/conf/XEN3_DOM0: revision 1.200
doc/CHANGES (apply patch)

Add igc(4) for Intel I225/I226 series ethernet devices
 1.76 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.75 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.74 19-Aug-2021  andvar s/memry/memory+s/softare/software/+s/grapics/graphics+s/ouput/output
 1.73 26-Apr-2019  sevan Enable BUFQ_PRIOCSCAN, CARP, Veriexec by default in GENERIC kernel configs.
On ports without a GENERIC kernel config enable in individul files, e.g evbmips.
Omit on:
atari, dreamcast, emips, epoc32, evbppc/VIRTEX*, ia64, luna68x, mvme68k,
mvmeppc, playstation2, riscv, sun2, sun3, x68k, zaurus due to resource
constraints or port infancy.
 1.72 01-Aug-2018  maxv Unreference IPF/PF from all the config files, and enable NPF instead when
wanted. This also fixes some inconsistencies I saw in several files (eg
IPF options while IPF was not compiled, IPF+PF enabled by default, etc).
 1.71 05-Feb-2018  maxv branches: 1.71.2; 1.71.4;
Nuke DIRECTED_BROADCAST, it is not documented and not enabled anywhere. It
probably wouldn't have built correctly anyway, since there is no associated
defflag.

These ten lines of code in ip_input.c already look a lot better.
 1.70 15-Sep-2017  christos fix path miff
 1.69 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.68 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.67 13-Dec-2016  christos wildcard speaker attachments, now that we can handle many of them.
 1.66 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.65 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.64 14-Oct-2014  uebayasi branches: 1.64.2; 1.64.4;
Don't enable wscons options without wscons.
 1.63 23-Aug-2014  dholland Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.62 17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.61 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.60 06-Mar-2014  joerg Bump symtab space slightly.
 1.59 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.58 05-Jun-2013  christos branches: 1.58.2;
remove obsolete networking options
 1.57 27-Apr-2013  christos the bogus number police
 1.56 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.55 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.54 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.53 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.52 17-Aug-2012  abs branches: 1.52.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.51 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.50 22-Nov-2011  tls branches: 1.50.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.49 03-Aug-2011  he branches: 1.49.2;
Bump SYMTAB_SPACE so that the contents fits again.
 1.48 30-Jun-2011  wiz dependant -> dependent
 1.47 07-Mar-2011  jakllsch Bump SYMTAB_SPACE.
 1.46 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.45 23-Nov-2010  hannken branches: 1.45.2; 1.45.4;
Remove unused count from pseudo-device md.
 1.44 28-Apr-2010  kiyohara Clean up gt and peripherals.
This change tested compile only.
 1.43 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.42 08-Feb-2010  joerg branches: 1.42.2;
Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
 1.41 24-Dec-2009  kiyohara branches: 1.41.2;
Add COMPAT_50.
 1.40 05-Dec-2009  pooka Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.39 06-Mar-2009  joerg Remove SHMMAXPGS from all kernel configs. Dynamically compute the
initial limit as 1/4 of the physical memory. Ensure the limit is at
least 1024 pages, the old default on most platforms.
 1.38 24-Nov-2008  ad branches: 1.38.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.36 31-Jul-2008  simonb branches: 1.36.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.35 30-May-2008  tsutsui branches: 1.35.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.34 14-Mar-2007  drochner branches: 1.34.36; 1.34.38; 1.34.40; 1.34.42;
It doesn't make sense to specify "configuration" and "interface"
locators for uhub because a hub can't have sub-devices.
This might be sanity-checked eventually.
Same for ubt now after the change to device attachment.
 1.33 27-Sep-2006  manu branches: 1.33.4; 1.33.8; 1.33.10;
- Document COMPAT_15 as doing nothing
- Add COMPAT_15 to all the kernel that had COMPAT_14, for the sake of coherency
- Remove the only occurences of #ifdef COMPAT_15 in the tree: for the ARM
ports, COMPAT_15 was always used in conjunction with EXEC_AOUT. Only EXEC_AOUT
matters here.

This address kern/18407
 1.32 26-Aug-2006  christos branches: 1.32.2; 1.32.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.31 13-Jul-2006  simonb Add ksyms pseudo device.
 1.30 05-Feb-2006  cube branches: 1.30.2; 1.30.10;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.29 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.28 07-Dec-2005  tsutsui branches: 1.28.2; 1.28.4; 1.28.6;
Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.27 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.26 19-Aug-2005  christos 64 bit inode changes.
 1.25 31-Jul-2005  yamt revert "defflag VMSWAP" changes for now.
there seems to be far more people who don't want to edit
their kernel config files than i thought.
 1.24 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.23 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.22 31-May-2005  tron branches: 1.22.2;
Remove attachment for the piixide(4) driver from all non-x86 kernel
configurations because Intel IDE disk controllers only exist as part
of Intel chipsets for x86 systems.
 1.21 25-Feb-2005  simonb branches: 1.21.2;
Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.20 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.19 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.18 01-Feb-2005  matt Add gti2c/iic entries.
 1.17 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.16 24-Nov-2004  bouyer branches: 1.16.4; 1.16.6;
pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) serie of
controllers. Tested with a PDC20375 (2 SATA, one PATA) controller on sparc64.
Added to all kernel config file which had pdcide(4).
 1.15 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.14 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.13 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.12 14-Dec-2003  thorpej branches: 1.12.2;
Split the Intel i31244 SATA controller ("Artisea") driver out of piixide
into its own driver (artsata).
 1.11 13-Dec-2003  thorpej Collapse the atabus declaration into "atabus* at ata? channel ?".
 1.10 13-Dec-2003  thorpej Split out the Silicon Image SATALink support into its own driver,
"satalink".
 1.9 08-Oct-2003  bouyer Add new per-chip pciide drivers.
 1.8 08-Oct-2003  bouyer Add atabus.
 1.7 25-Sep-2003  matt Add COMPAT_16
 1.6 10-Apr-2003  christos branches: 1.6.2;
Bye Bye UCONSOLE
 1.5 08-Apr-2003  matt Select MPSC console and the proper PCI slots. Use -D__boardtype__ instead
of -Dboardtype.
 1.4 24-Mar-2003  matt Make PCI interrupts -> GPP mapping configured via config file.
Add bus_spaces for all possile obios. Add gt_halt to make
sure the discovery is not doing dma as soon as possible.
Read the SDRAM register to figure out how much physical RAM
is available.
 1.3 17-Mar-2003  matt Add CLOCKBASE=100000000
 1.2 16-Mar-2003  matt EV64260 now gets to single user prompt using COM1 (2nd uart) as console
with PPCBOOT as firmware. XXX PCI devices are not found.
 1.1 05-Mar-2003  matt Add preliminary support Marvell (Galileo) Discovery System Controllers.
This code was contributed by Allegro Networks.
 1.6.2.10 11-Dec-2005  christos Sync with head.
 1.6.2.9 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.6.2.8 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.6.2.7 15-Feb-2005  skrll Sync with HEAD.
 1.6.2.6 04-Feb-2005  skrll Sync with HEAD.
 1.6.2.5 29-Nov-2004  skrll Sync with HEAD.
 1.6.2.4 14-Nov-2004  skrll Sync with HEAD.
 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.12.2.1 15-Jul-2004  he branches: 1.12.2.1.2;
Pull up revision 1.13 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.12.2.1.2.1 02-Apr-2005  he Pull up revision 1.16 (requested by bouyer in ticket #1019):
Add pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) series of
controllers.
 1.16.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.16.6.1 12-Feb-2005  yamt sync with head.
 1.16.4.1 29-Apr-2005  kent sync with -current
 1.21.2.2 18-Jul-2005  riz Pull up revision 1.23 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.21.2.1 01-Jun-2005  riz Pull up revision 1.22 (requested by tron in ticket #362):
Remove attachment for the piixide(4) driver from all non-x86 kernel
configurations because Intel IDE disk controllers only exist as part
of Intel chipsets for x86 systems.
 1.22.2.3 03-Sep-2007  yamt sync with head.
 1.22.2.2 30-Dec-2006  yamt sync with head.
 1.22.2.1 21-Jun-2006  yamt sync with head.
 1.28.6.1 22-Apr-2006  simonb Sync with head.
 1.28.4.1 09-Sep-2006  rpaulo sync with head
 1.28.2.1 18-Feb-2006  yamt sync with head.
 1.30.10.1 13-Jul-2006  gdamore Merge from HEAD.
 1.30.2.2 03-Sep-2006  yamt sync with head.
 1.30.2.1 11-Aug-2006  yamt sync with head
 1.32.4.1 22-Oct-2006  yamt sync with head
 1.32.2.1 18-Nov-2006  ad Sync with head.
 1.33.10.1 11-Jul-2007  mjf Sync with head.
 1.33.8.1 10-Apr-2007  ad Sync with head.
 1.33.4.1 24-Mar-2007  yamt sync with head.
 1.34.42.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.34.42.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.34.40.3 11-Aug-2010  yamt sync with head.
 1.34.40.2 11-Mar-2010  yamt sync with head
 1.34.40.1 04-May-2009  yamt sync with head.
 1.34.38.1 04-Jun-2008  yamt sync with head
 1.34.36.3 17-Jan-2009  mjf Sync with HEAD.
 1.34.36.2 28-Sep-2008  mjf Sync with HEAD.
 1.34.36.1 02-Jun-2008  mjf Sync with HEAD.
 1.35.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.35.4.1 19-Oct-2008  haad Sync with HEAD.
 1.36.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.36.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.38.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.41.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.42.2.3 21-Apr-2011  rmind sync with head
 1.42.2.2 05-Mar-2011  rmind sync with head
 1.42.2.1 30-May-2010  rmind sync with head
 1.45.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.45.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.49.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.49.2.2 30-Oct-2012  yamt sync with head
 1.49.2.1 17-Apr-2012  yamt sync with head
 1.50.2.1 18-Feb-2012  mrg merge to -current.
 1.52.2.4 03-Dec-2017  jdolecek update from HEAD
 1.52.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.52.2.2 23-Jun-2013  tls resync from head
 1.52.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.58.2.2 18-May-2014  rmind sync with head
 1.58.2.1 28-Aug-2013  rmind sync with head
 1.64.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.64.2.2 28-Aug-2017  skrll Sync with HEAD
 1.64.2.1 05-Feb-2017  skrll Sync with HEAD
 1.71.4.1 10-Jun-2019  christos Sync with HEAD
 1.71.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.73 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.72 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.71 14-Mar-2021  rin Enable NFS_BOOT_UDP; on-board NIC seems to be too slow for overhead due to
NFS over TCP. Some scores of pkgsrc/benchmarks/bonnie improve nearly x2.
 1.70 05-Mar-2021  rin Identify oneself as ``Explora 450'' instead of 451.

There are models numbered 450 to 454. The differences b/w them are
shapes of ethernet and audio connectors. Base model number 450 is
displayed for (probably) all models by firmware.
 1.69 05-Mar-2021  rin Add tmpfs.
 1.68 27-Sep-2020  roy branches: 1.68.2;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.67 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.66 25-Mar-2020  jdolecek remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.65 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.64 26-Apr-2019  sevan branches: 1.64.4;
Enable BUFQ_PRIOCSCAN, CARP, Veriexec by default in GENERIC kernel configs.
On ports without a GENERIC kernel config enable in individul files, e.g evbmips.
Omit on:
atari, dreamcast, emips, epoc32, evbppc/VIRTEX*, ia64, luna68x, mvme68k,
mvmeppc, playstation2, riscv, sun2, sun3, x68k, zaurus due to resource
constraints or port infancy.
 1.63 01-Aug-2018  maxv Unreference IPF/PF from all the config files, and enable NPF instead when
wanted. This also fixes some inconsistencies I saw in several files (eg
IPF options while IPF was not compiled, IPF+PF enabled by default, etc).
 1.62 23-Jan-2018  sevan branches: 1.62.2; 1.62.4;
Alternate buffer queue strategies no longer considered experimental, update
description.

Discussed on tech-kern
http://mail-index.netbsd.org/tech-kern/2018/01/21/msg023002.html
 1.61 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.60 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.59 07-Aug-2015  maxv branches: 1.59.10;
Remove KMEMSTATS.
 1.58 23-Aug-2014  dholland branches: 1.58.2;
Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.57 17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.56 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.55 10-Aug-2014  joerg LLVM builds have a slightly larger symbol table, so bump the space.
 1.54 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.53 05-Jun-2013  christos branches: 1.53.2;
remove obsolete networking options
 1.52 27-Apr-2013  christos the bogus number police
 1.51 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.50 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.49 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.48 05-Jun-2012  abs branches: 1.48.2;
Adjust the WSDISPLAY_COMPAT_USL comment to mention wsconscfg, to at least
give a hint that its not just for third party compat. No functional change.
 1.47 18-Dec-2011  dholland branches: 1.47.2;
WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.46 08-Dec-2011  he Bump SYMTAB_SPACE.
 1.45 22-Nov-2011  tls branches: 1.45.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.44 15-May-2011  he branches: 1.44.4;
Bump SYMTAB_SPACE so that the contents fits again.
 1.43 07-Mar-2011  jakllsch Bump SYMTAB_SPACE.
 1.42 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.41 23-Nov-2010  hannken branches: 1.41.2; 1.41.4;
Remove unused count from pseudo-device md.
 1.40 24-Dec-2009  kiyohara branches: 1.40.4;
Add COMPAT_50.
 1.39 05-Dec-2009  pooka Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.38 06-Mar-2009  joerg Remove SHMMAXPGS from all kernel configs. Dynamically compute the
initial limit as 1/4 of the physical memory. Ensure the limit is at
least 1024 pages, the old default on most platforms.
 1.37 24-Nov-2008  ad branches: 1.37.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.35 31-Jul-2008  simonb branches: 1.35.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.34 04-Apr-2008  tsutsui branches: 1.34.4; 1.34.6; 1.34.10;
Add options COMPAT_40.
 1.33 31-Dec-2007  ad branches: 1.33.6;
Remove systrace. Ok core@.
 1.32 27-Nov-2007  hannken branches: 1.32.6;
Bump SYMTAB_SPACE so that it fits again.
 1.31 17-Oct-2007  garbled branches: 1.31.2;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.30 20-Jul-2007  hannken branches: 1.30.4; 1.30.6;
Bump SYMTAB_SPACE so that it fits again.
 1.29 27-Sep-2006  manu branches: 1.29.8; 1.29.16; 1.29.20; 1.29.22;
- Document COMPAT_15 as doing nothing
- Add COMPAT_15 to all the kernel that had COMPAT_14, for the sake of coherency
- Remove the only occurences of #ifdef COMPAT_15 in the tree: for the ARM
ports, COMPAT_15 was always used in conjunction with EXEC_AOUT. Only EXEC_AOUT
matters here.

This address kern/18407
 1.28 26-Aug-2006  christos branches: 1.28.2; 1.28.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.27 12-Aug-2006  christos Disable SYSTRACE by default on all kernels (discussed with core)
 1.26 13-Jul-2006  simonb branches: 1.26.2;
Move the ksyms pseudo device to the miscellaneous section.
 1.25 19-Apr-2006  drochner branches: 1.25.4;
adjust comments for the new location of wskbdmap_mfii.c,
addresses PR kern/33290 by henry nelson
 1.24 28-Mar-2006  pavel Add stf to all kernel configs which have INET6 and gif, except the INSTALL
ones and those for specific machines of developers. PR 32304.

OK'ed by rpaulo.

N.B. stf is a cloning device, so it still must be enabled by
"ifconfig stf0 create".
 1.23 15-Mar-2006  he branches: 1.23.2;
Bump SYMTAB_SPACE so that it fits again.
 1.22 05-Feb-2006  cube branches: 1.22.2; 1.22.4;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.21 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.20 20-Dec-2005  thorpej branches: 1.20.2; 1.20.4; 1.20.6;
Remove the tablet line discipline.
 1.19 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.18 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.17 19-Aug-2005  christos 64 bit inode changes.
 1.16 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.15 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.14 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.13 09-Jun-2005  tsutsui branches: 1.13.2;
- Rename options NEW_BUFQ_STRATEGY -> options BUFQ_READPRIO.
(still commented out)
- Add (also commented out) options BUFQ_PRIOCSCAN.

Suggested by perry and soda on tech-kern.
Please refer options(4) for details for these options.
 1.12 25-Feb-2005  simonb branches: 1.12.2;
Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.11 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.10 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.9 17-Jan-2005  cube branches: 1.9.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.8 16-Jan-2005  chs increase SYMTAB_SPACE again.
 1.7 10-Nov-2004  christos branches: 1.7.4;
Add COMPAT_BSDPTY on all the kernels that have COMPAT options.
 1.6 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.5 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.4 25-Sep-2003  matt branches: 1.4.2;
Add COMPAT_16
 1.3 31-May-2003  hannken branches: 1.3.2;
Add symtab to kernel image using dbsym(8).
Add /dev/ksyms.
 1.2 10-Apr-2003  christos Bye Bye UCONSOLE
 1.1 11-Mar-2003  hannken Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.3.2.10 11-Dec-2005  christos Sync with head.
 1.3.2.9 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.2.8 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.3.2.7 15-Feb-2005  skrll Sync with HEAD.
 1.3.2.6 24-Jan-2005  skrll Sync with HEAD.
 1.3.2.5 17-Jan-2005  skrll Sync with HEAD.
 1.3.2.4 14-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.4.2.1 15-Jul-2004  he Pull up revision 1.5 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.7.4.1 29-Apr-2005  kent sync with -current
 1.9.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.9.2.1 12-Feb-2005  yamt sync with head.
 1.12.2.1 18-Jul-2005  riz Pull up revision 1.14 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.13.2.5 21-Jan-2008  yamt sync with head
 1.13.2.4 07-Dec-2007  yamt sync with head
 1.13.2.3 03-Sep-2007  yamt sync with head.
 1.13.2.2 30-Dec-2006  yamt sync with head.
 1.13.2.1 21-Jun-2006  yamt sync with head.
 1.20.6.1 22-Apr-2006  simonb Sync with head.
 1.20.4.1 09-Sep-2006  rpaulo sync with head
 1.20.2.1 18-Feb-2006  yamt sync with head.
 1.22.4.2 11-May-2006  elad sync with head
 1.22.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.22.2.4 03-Sep-2006  yamt sync with head.
 1.22.2.3 11-Aug-2006  yamt sync with head
 1.22.2.2 24-May-2006  yamt sync with head.
 1.22.2.1 01-Apr-2006  yamt sync with head.
 1.23.2.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.23.2.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.25.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.26.2.1 14-Aug-2006  tron Pull up following revision(s) (requested by elad in ticket #17):
sys/arch/sparc/conf/KRUPS: revision 1.38
sys/arch/i386/conf/XEN2_DOMU: revision 1.2
sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.197
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.53
sys/arch/evbsh5/conf/SIMULATOR: revision 1.12
sys/arch/sparc/conf/MRCOFFEE: revision 1.17
sys/arch/next68k/conf/GENERIC: revision 1.104
sys/arch/i386/conf/VIRTUALPC: revision 1.44
sys/arch/ews4800mips/conf/GENERIC: revision 1.11
sys/arch/evbsh5/conf/CAYMAN: revision 1.23
sys/arch/arc/conf/GENERIC: revision 1.141
sys/arch/amd64/conf/GENERIC: revision 1.103
sys/arch/sun3/conf/GENERIC3X: revision 1.90
sys/arch/evbarm/conf/HDL_G: revision 1.3
sys/arch/sun2/conf/GENERIC: revision 1.57
sys/arch/news68k/conf/GENERIC_TINY: revision 1.51
sys/arch/evbppc/conf/EXPLORA451: revision 1.27
sys/arch/amiga/conf/GENERIC.in: revision 1.54
sys/arch/mac68k/conf/GENERIC: revision 1.174
sys/arch/acorn26/conf/GENERIC: revision 1.45
sys/arch/shark/conf/GENERIC: revision 1.64
sys/arch/cesfic/conf/GENERIC: revision 1.44
sys/arch/mvme68k/conf/GENERIC: revision 1.68
sys/arch/i386/conf/XEN2_DOM0: revision 1.4
sys/arch/atari/conf/GENERIC.in: revision 1.63
sys/arch/amiga/conf/GENERIC: revision 1.240
sys/arch/i386/conf/LAMB: revision 1.65
sys/arch/i386/conf/GENERIC: revision 1.773
sys/arch/acorn32/conf/EB7500ATX: revision 1.26
sys/arch/x68k/conf/GENERIC: revision 1.128
sys/arch/vax/conf/GENERIC: revision 1.153
sys/arch/atari/conf/ATARITT: revision 1.81
sys/arch/mipsco/conf/GENERIC: revision 1.60
sys/arch/cobalt/conf/GENERIC: revision 1.101
sys/arch/evbarm/conf/ARMADILLO9: revision 1.13
sys/arch/ofppc/conf/GENERIC: revision 1.93
sys/arch/atari/conf/MILAN-PCIIDE: revision 1.51
sys/arch/arc/conf/RPC44: revision 1.26
sys/arch/sparc64/conf/GENERIC: revision 1.59
sys/arch/i386/conf/XEN3_DOMU: revision 1.2
sys/arch/hp700/conf/GENERIC: revision 1.68
sys/arch/atari/conf/MILAN-ISAIDE: revision 1.47
sys/arch/macppc/conf/GENERIC: revision 1.231
sys/arch/dreamcast/conf/GENERIC: revision 1.72
sys/arch/news68k/conf/GENERIC: revision 1.80
sys/arch/hp300/conf/GENERIC: revision 1.133
sys/arch/mmeye/conf/GENERIC: revision 1.82
sys/arch/macppc/conf/MAMBO: revision 1.2
sys/arch/cats/conf/GENERIC: revision 1.107
sys/arch/atari/conf/FALCON: revision 1.79
sys/arch/acorn32/conf/GENERIC: revision 1.71
sys/arch/sparc/conf/GENERIC: revision 1.190
sys/arch/news68k/conf/LIBERO: revision 1.40
sys/arch/amiga/conf/DRACO: revision 1.114
sys/arch/cobalt/conf/INSTALL: revision 1.23
sys/arch/luna68k/conf/GENERIC: revision 1.73
sys/arch/bebox/conf/GENERIC: revision 1.100
sys/arch/pmax/conf/GENERIC: revision 1.147
sys/arch/amiga/conf/WSCONS: revision 1.52
sys/arch/macppc/conf/POWERMAC_G5: revision 1.2
sys/arch/alpha/conf/ALPHA: revision 1.218
sys/arch/sun3/conf/GENERIC: revision 1.133
sys/arch/prep/conf/GENERIC: revision 1.124
sys/arch/alpha/conf/GENERIC: revision 1.291
sys/arch/atari/conf/HADES: revision 1.71
sys/arch/newsmips/conf/GENERIC: revision 1.93
sys/arch/netwinder/conf/GENERIC: revision 1.82
sys/arch/hpcmips/conf/GENERIC: revision 1.190
sys/arch/amiga/conf/AMIGA: revision 1.98
sys/arch/sbmips/conf/GENERIC: revision 1.54
sys/arch/pc532/conf/GENERIC: revision 1.64
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.53
Disable SYSTRACE by default on all kernels (discussed with core)
 1.28.4.1 22-Oct-2006  yamt sync with head
 1.28.2.1 18-Nov-2006  ad Sync with head.
 1.29.22.1 15-Aug-2007  skrll Sync with HEAD.
 1.29.20.1 07-Aug-2007  matt Sync with HEAD.
 1.29.16.1 03-Oct-2007  garbled Sync with HEAD
 1.29.8.2 03-Dec-2007  ad Sync with HEAD.
 1.29.8.1 20-Aug-2007  ad Sync with HEAD.
 1.30.6.2 09-Jan-2008  matt sync with HEAD
 1.30.6.1 06-Nov-2007  matt sync with HEAD
 1.30.4.1 27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.31.2.2 18-Feb-2008  mjf Sync with HEAD.
 1.31.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.32.6.1 02-Jan-2008  bouyer Sync with HEAD
 1.33.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.33.6.2 28-Sep-2008  mjf Sync with HEAD.
 1.33.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.34.10.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.34.10.1 19-Oct-2008  haad Sync with HEAD.
 1.34.6.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.34.4.2 11-Mar-2010  yamt sync with head
 1.34.4.1 04-May-2009  yamt sync with head.
 1.35.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.35.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.37.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.40.4.3 31-May-2011  rmind sync with head
 1.40.4.2 21-Apr-2011  rmind sync with head
 1.40.4.1 05-Mar-2011  rmind sync with head
 1.41.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.41.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.44.4.3 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.44.4.2 30-Oct-2012  yamt sync with head
 1.44.4.1 17-Apr-2012  yamt sync with head
 1.45.2.1 18-Feb-2012  mrg merge to -current.
 1.47.2.1 12-Jun-2012  riz Pull up following revision(s) (requested by abs in ticket #311):
sys/arch/netwinder/conf/GENERIC: revision 1.112
sys/arch/i386/conf/GENERIC: revision 1.1074
sys/arch/atari/conf/MILAN.in: revision 1.26
sys/arch/zaurus/conf/GENERIC: revision 1.54
sys/arch/shark/conf/GENERIC: revision 1.101
sys/arch/hpcmips/conf/MPC303: revision 1.60
sys/arch/i386/conf/XEN3_DOM0: revision 1.67
sys/arch/evbarm/conf/MPCSA_GENERIC: revision 1.29
sys/arch/vax/conf/GENERIC: revision 1.181
sys/arch/sparc/conf/KRUPS: revision 1.59
sys/arch/evbarm/conf/BEAGLEBOARD: revision 1.27
sys/arch/i386/conf/INSTALL_FLOPPY: revision 1.16
sys/arch/prep/conf/GENERIC: revision 1.163
sys/arch/hpcmips/conf/GENERIC: revision 1.216
sys/arch/sparc/conf/TADPOLE3GX: revision 1.56
sys/arch/shark/conf/INSTALL: revision 1.50
sys/arch/next68k/conf/GENERIC: revision 1.127
sys/arch/evbppc/conf/VIRTEX_GSRD2: revision 1.16
sys/arch/evbppc/conf/VIRTEX_DFC: revision 1.17
sys/arch/evbppc/conf/EXPLORA451: revision 1.48
sys/arch/bebox/conf/INSTALL: revision 1.54
sys/arch/next68k/conf/SLAB: revision 1.46
sys/arch/i386/conf/GENERIC_TINY: revision 1.132
sys/arch/bebox/conf/GENERIC: revision 1.131
sys/arch/amd64/conf/XEN3_DOM0: revision 1.84
sys/arch/amd64/conf/GENERIC: revision 1.356
sys/arch/evbarm/conf/MMNET_GENERIC: revision 1.6
share/man/man4/wscons.4: revision 1.31
sys/arch/hpcmips/conf/TX3912: revision 1.79
sys/arch/evbarm/conf/ARMADILLO9: revision 1.35
sys/arch/hpcsh/conf/GENERIC: revision 1.97
sys/arch/i386/conf/ALL: revision 1.339
sys/arch/hpcmips/conf/TX3922: revision 1.93
sys/arch/cats/conf/INSTALL: revision 1.82
sys/arch/sparc64/conf/GENERIC: revision 1.151
sys/arch/i386/conf/INSTALL_TINY: revision 1.135
sys/arch/evbppc/conf/VIRTEX_GSRD1: revision 1.15
sys/arch/evbarm/conf/TS7200: revision 1.49
sys/arch/hpcmips/conf/VR41XX: revision 1.55
sys/arch/hp700/conf/GENERIC: revision 1.115
sys/arch/cats/conf/GENERIC: revision 1.140
Mention wsconscfg(8) needs WSDISPLAY_COMPAT_USL
If a port is going to have wscons for virtual terminals then it really make=
s
sense to enable WSDISPLAY_COMPAT_USL so the system can switch between the
virtual terminals...
Adjust the WSDISPLAY_COMPAT_USL comment to mention wsconscfg, to at least
give a hint that its not just for third party compat. No functional change.
 1.48.2.4 03-Dec-2017  jdolecek update from HEAD
 1.48.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.48.2.2 23-Jun-2013  tls resync from head
 1.48.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.53.2.1 28-Aug-2013  rmind sync with head
 1.58.2.2 28-Aug-2017  skrll Sync with HEAD
 1.58.2.1 22-Sep-2015  skrll Sync with HEAD
 1.59.10.1 26-Jan-2018  martin Pull up following revision(s) (requested by sevan in ticket #510):
sys/arch/sun3/conf/GENERIC3X: revision 1.130
sys/arch/sparc64/conf/GENERIC: revision 1.203
sys/arch/news68k/conf/LIBERO: revision 1.66
sys/arch/amiga/conf/DRACO: revision 1.185
sys/arch/evbarm/conf/MV2120: revision 1.35
sys/arch/x68k/conf/GENERIC: revision 1.187
sys/arch/rs6000/conf/GENERIC: revision 1.39
sys/arch/news68k/conf/GENERIC_TINY: revision 1.86
sys/arch/i386/conf/XEN3_DOMU: revision 1.88
sys/arch/iyonix/conf/GENERIC: revision 1.97
sys/arch/evbarm64/conf/A64EMUL: revision 1.11
sys/arch/mvme68k/conf/GENERIC: revision 1.98
sys/arch/acorn32/conf/GENERIC: revision 1.124
sys/arch/i386/conf/XEN3_DOM0: revision 1.125
sys/arch/cobalt/conf/INSTALL: revision 1.65
sys/arch/macppc/conf/GENERIC_601: revision 1.16
sys/arch/hppa/conf/GENERIC: revision 1.17
sys/arch/amiga/conf/GENERIC.in: revision 1.137
sys/arch/sgimips/conf/GENERIC32_IP12: revision 1.33
sys/arch/netwinder/conf/GENERIC: revision 1.134
sys/arch/amd64/conf/XEN3_DOMU: revision 1.83
sys/arch/mac68k/conf/GENERIC: revision 1.225
sys/arch/arc/conf/RPC44: revision 1.54
sys/arch/mipsco/conf/GENERIC: revision 1.92
sys/arch/cats/conf/GENERIC: revision 1.166
sys/arch/amd64/conf/XEN3_DOM0: revision 1.145
sys/arch/amigappc/conf/GENERIC: revision 1.33
sys/arch/sun3/conf/GENERIC: revision 1.176
sys/arch/news68k/conf/GENERIC: revision 1.130
sys/arch/hpcsh/conf/GENERIC: revision 1.110
sys/arch/hp300/conf/GENERIC: revision 1.198
sys/arch/atari/conf/GENERIC.in: revision 1.115
sys/arch/sparc/conf/MRCOFFEE: revision 1.54
sys/arch/evbppc/conf/EXPLORA451: revision 1.62
sys/arch/cesfic/conf/GENERIC: revision 1.69
sys/arch/vax/conf/GENERIC: revision 1.204
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.115
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.112
sys/arch/sparc/conf/GENERIC: revision 1.258
sys/arch/next68k/conf/GENERIC: revision 1.145
sys/arch/evbarm/conf/MMNET_GENERIC: revision 1.34
sys/arch/prep/conf/GENERIC: revision 1.185
sys/arch/amiga/conf/INSTALL: revision 1.129
sys/arch/newsmips/conf/GENERIC: revision 1.133
sys/arch/cobalt/conf/GENERIC: revision 1.156
sys/arch/sun2/conf/GENERIC: revision 1.99
sys/arch/luna68k/conf/INSTALL: revision 1.25
sys/arch/amigappc/conf/NULL: revision 1.53
sys/arch/acorn26/conf/GENERIC: revision 1.85
sys/arch/vax/conf/VAX780: revision 1.25
sys/arch/luna68k/conf/GENERIC: revision 1.125
sys/arch/ews4800mips/conf/GENERIC: revision 1.56
sys/arch/macppc/conf/POWERMAC_G5: revision 1.29
sys/arch/arc/conf/GENERIC: revision 1.189
sys/arch/macppc/conf/MAMBO: revision 1.27
sys/arch/acorn32/conf/EB7500ATX: revision 1.64
sys/arch/pmax/conf/GENERIC: revision 1.196
sys/arch/pmax/conf/GENERIC64: revision 1.28
sys/arch/amiga/conf/GENERIC: revision 1.319
sys/arch/evbarm/conf/MPCSA_GENERIC: revision 1.55
sys/arch/macppc/conf/GENERIC: revision 1.339
sys/arch/emips/conf/GENERIC: revision 1.21
sys/arch/sandpoint/conf/GENERIC: revision 1.97
sys/arch/landisk/conf/GENERIC: revision 1.58
sys/arch/bebox/conf/GENERIC: revision 1.157
sys/arch/alpha/conf/GENERIC: revision 1.379
Alternate buffer queue strategies no longer considered experimental, update
description.
Discussed on tech-kern
http://mail-index.netbsd.org/tech-kern/2018/01/21/msg023002.html
 1.62.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.62.4.1 10-Jun-2019  christos Sync with HEAD
 1.62.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.64.4.1 25-Jan-2020  ad Sync with head.
 1.68.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.5 06-Nov-2020  martin Bump ramdisk size slightly
 1.4 09-Feb-2017  joerg branches: 1.4.26;
Give clang a bit more space on the RAM disk.
 1.3 13-Nov-2016  joerg branches: 1.3.2;
Give the ramdisk a bit more space, evbppc64 for clang is running out.
 1.2 06-Mar-2014  joerg branches: 1.2.6; 1.2.10;
Give memory disk a bit more breathing room.
 1.1 08-Jun-2011  matt branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.18; 1.1.22;
Use a standard INSTALL.inc instead of duplicating it. Make INSTALL
variants of mpc85xx kernels.
 1.1.22.1 18-May-2014  rmind sync with head
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.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.1.6.2 14-Oct-2011  matt Sync with current pulling P2020 and other newer processor support.
 1.1.6.1 08-Jun-2011  matt file INSTALL.inc was added on branch matt-nb5-pq3 on 2011-10-14 17:21:26 +0000
 1.1.4.2 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.1.4.1 08-Jun-2011  cherry file INSTALL.inc was added on branch cherry-xenmp on 2011-06-23 14:19:07 +0000
 1.1.2.2 12-Jun-2011  rmind sync with head
 1.1.2.1 08-Jun-2011  rmind file INSTALL.inc was added on branch rmind-uvmplock on 2011-06-12 00:23:56 +0000
 1.2.10.2 20-Mar-2017  pgoyette Sync with HEAD
 1.2.10.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.2.6.2 28-Aug-2017  skrll Sync with HEAD
 1.2.6.1 05-Dec-2016  skrll Sync with HEAD
 1.3.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.4.26.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1 08-Jun-2011  matt branches: 1.1.2; 1.1.4;
Use a standard INSTALL.inc instead of duplicating it. Make INSTALL
variants of mpc85xx kernels.
 1.1.4.2 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.1.4.1 08-Jun-2011  cherry file INSTALL_MPC8536DS was added on branch cherry-xenmp on 2011-06-23 14:19:07 +0000
 1.1.2.2 12-Jun-2011  rmind sync with head
 1.1.2.1 08-Jun-2011  rmind file INSTALL_MPC8536DS was added on branch rmind-uvmplock on 2011-06-12 00:23:56 +0000
 1.1 08-Jun-2011  matt branches: 1.1.2; 1.1.4;
Use a standard INSTALL.inc instead of duplicating it. Make INSTALL
variants of mpc85xx kernels.
 1.1.4.2 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.1.4.1 08-Jun-2011  cherry file INSTALL_MPC8548CDS was added on branch cherry-xenmp on 2011-06-23 14:19:07 +0000
 1.1.2.2 12-Jun-2011  rmind sync with head
 1.1.2.1 08-Jun-2011  rmind file INSTALL_MPC8548CDS was added on branch rmind-uvmplock on 2011-06-12 00:23:56 +0000
 1.7 08-Jun-2011  matt Use a standard INSTALL.inc instead of duplicating it. Make INSTALL
variants of mpc85xx kernels.
 1.6 23-Nov-2010  hannken branches: 1.6.6;
Remove unused count from pseudo-device md.
 1.5 06-Feb-2009  jym branches: 1.5.6;
Changes to MEMORY_RBFLAGS option:
- renamed to MEMORY_DISK_RBFLAGS to better fit the rest of the
MEMORY_DISK options(4)
- change default value to RB_AUTOBOOT instead of RB_SINGLE, and adapt
the config(5) files accordingly
- document this option inside options(4)

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

Reviewed by abs@ in private mail.
 1.4 02-Oct-2006  chs branches: 1.4.56; 1.4.64;
remove MALLOC_NOINLINE, it doesn't do anything anymore.
 1.3 07-Dec-2005  tsutsui branches: 1.3.18; 1.3.22; 1.3.24;
Remove obsolete options VNODE_OP_NOINLINE.
 1.2 31-Aug-2005  he branches: 1.2.2; 1.2.4; 1.2.10;
This one needs "pseudo-device md 1". Patch taken from PR evbppc/31097.
Fixes build problem.
 1.1 03-Aug-2005  shige Add md-kernel for installation: INSTALL_OPENBLOCKS266.
 1.2.10.3 11-Dec-2005  christos Sync with head.
 1.2.10.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.10.1 31-Aug-2005  skrll file INSTALL_OPENBLOCKS266 was added on branch ktrace-lwp on 2005-11-10 13:56:04 +0000
 1.2.4.2 15-Sep-2005  tron Apply patch (requested by shige in ticket #790):
Build installation kernel for OpenBlockS266(IBM405GP CPU) products.
 1.2.4.1 31-Aug-2005  tron file INSTALL_OPENBLOCKS266 was added on branch netbsd-3 on 2005-09-15 20:31:36 +0000
 1.2.2.2 15-Sep-2005  riz Pull up following revision(s) (requested by shige in ticket #5820):
distrib/evbppc/md-kernel/Makefile 1.3 via patch
etc/etc.evbppc/Makefile.inc 1.3 via patch
sys/arch/evbppc/conf/files.obs405 1.5-1.8 via patch
sys/arch/evbppc/conf/OPENBLOCKS266 1.22,1.25 via patch
sys/arch/evbppc/include/obs266.h 1.1 (new)
sys/arch/evbppc/include/obs405.h 1.1-1.5 (new)
sys/arch/evbppc/include/rbus_machdep.h 1.1 (new)
sys/arch/evbppc/obs405/consinit.c 1.2-1.4
sys/arch/evbppc/obs405/dev/x1226.c deleted
sys/arch/evbppc/obs405/dev/x1226reg.h deleted
sys/arch/evbppc/obs405/machdep.c deleted
sys/arch/evbppc/obs405/obs266_autoconf.c 1.1 (new)
sys/arch/evbppc/obs405/obs266_machdep.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_autoconf.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_machdep.c 1.1 (new)
sys/arch/evbppc/obs405/rbus_machdep.c 1.1 (new)
sys/arch/powerpc/conf/files.ibm4xx 1.6-1.7
sys/arch/powerpc/ibm4xx/board_prop.c 1.1 (new)
sys/arch/powerpc/ibm4xx/dev/com_opb.c 1.12
sys/arch/powerpc/ibm4xx/dev/comopbvar.h 1.1 (new)
sys/arch/powerpc/ibm4xx/ibm40x_machdep.c 1.3-1.4
sys/arch/powerpc/ibm4xx/ibm4xx_autoconf.c 1.1-1.2 (new)
sys/arch/powerpc/ibm4xx/ibm4xx_machdep.c 1.1-1.3 (new)
sys/arch/powerpc/ibm4xx/ibm4xxgpx_autoconf.c 1.2-1.3
sys/arch/powerpc/ibm4xx/openbios/openbios.c 1.1 (new)
sys/arch/powerpc/include/ibm4xx/cpu.h 1.7-1.10
sys/arch/powerpc/include/ibm4xx/openbios.h 1.1 (new)

Update OpenBlockS266 support to more modern, stable sources.
 1.2.2.1 31-Aug-2005  riz file INSTALL_OPENBLOCKS266 was added on branch netbsd-2 on 2005-09-15 14:28:44 +0000
 1.3.24.1 22-Oct-2006  yamt sync with head
 1.3.22.1 18-Nov-2006  ad Sync with head.
 1.3.18.3 30-Dec-2006  yamt sync with head.
 1.3.18.2 21-Jun-2006  yamt sync with head.
 1.3.18.1 07-Dec-2005  yamt file INSTALL_OPENBLOCKS266 was added on branch yamt-lazymbuf on 2006-06-21 14:51:03 +0000
 1.4.64.1 03-Mar-2009  skrll Sync with HEAD.
 1.4.56.1 04-May-2009  yamt sync with head.
 1.5.6.2 12-Jun-2011  rmind sync with head
 1.5.6.1 05-Mar-2011  rmind sync with head
 1.6.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.2 20-Jan-2012  matt Don't make a netbsd-sd0a
 1.1 08-Jun-2011  matt branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.12;
Use a standard INSTALL.inc instead of duplicating it. Make INSTALL
variants of mpc85xx kernels.
 1.1.12.1 18-Feb-2012  mrg merge to -current.
 1.1.8.1 17-Apr-2012  yamt sync with head
 1.1.6.2 14-Oct-2011  matt Sync with current pulling P2020 and other newer processor support.
 1.1.6.1 08-Jun-2011  matt file INSTALL_P2020DS was added on branch matt-nb5-pq3 on 2011-10-14 17:21:27 +0000
 1.1.4.2 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.1.4.1 08-Jun-2011  cherry file INSTALL_P2020DS was added on branch cherry-xenmp on 2011-06-23 14:19:07 +0000
 1.1.2.2 12-Jun-2011  rmind sync with head
 1.1.2.1 08-Jun-2011  rmind file INSTALL_P2020DS was added on branch rmind-uvmplock on 2011-06-12 00:23:56 +0000
 1.2 23-Aug-2013  matt Add no config netbsd-sd0a
 1.1 29-Jun-2011  matt branches: 1.1.2; 1.1.12; 1.1.16;
Add some config files for the P2020.
 1.1.16.1 28-Aug-2013  rmind sync with head
 1.1.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.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 19-Jul-2011  matt Add no config netbsd-sd0a
 1.1 08-Jun-2011  matt branches: 1.1.2; 1.1.4;
Use a standard INSTALL.inc instead of duplicating it. Make INSTALL
variants of mpc85xx kernels.
 1.1.4.2 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.1.4.1 08-Jun-2011  cherry file INSTALL_P2020RDB was added on branch cherry-xenmp on 2011-06-23 14:19:07 +0000
 1.1.2.2 12-Jun-2011  rmind sync with head
 1.1.2.1 08-Jun-2011  rmind file INSTALL_P2020RDB was added on branch rmind-uvmplock on 2011-06-12 00:23:56 +0000
 1.1 29-Jun-2011  matt Add some config files for the P2020.
 1.4 08-Jun-2011  matt Use a standard INSTALL.inc instead of duplicating it. Make INSTALL
variants of mpc85xx kernels.
 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 18-Jan-2011  matt branches: 1.2.4; 1.2.6;
Add TMPFS and ksyms. Add an INSTALL variant
 1.1 07-Jan-2011  matt branches: 1.1.2; 1.1.4;
file INSTALL_PMPPC was initially added on branch matt-nb5-pq3.
 1.1.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.2.1 07-Jan-2011  matt This is useful for testing OEA in gxemul.
 1.2.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.2.4.3 12-Jun-2011  rmind sync with head
 1.2.4.2 05-Mar-2011  rmind sync with head
 1.2.4.1 18-Jan-2011  rmind file INSTALL_PMPPC was added on branch rmind-uvmplock on 2011-03-05 20:50:14 +0000
 1.1 30-Jan-2015  nonaka branches: 1.1.2; 1.1.18;
Added RouterBOARD RB850Gx2 config. md root only.
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 30-Jan-2015  jdolecek file INSTALL_RB850GX2 was added on branch tls-maxphys on 2017-12-03 11:36:11 +0000
 1.1.2.2 06-Apr-2015  skrll Sync with HEAD
 1.1.2.1 30-Jan-2015  skrll file INSTALL_RB850GX2 was added on branch nick-nhusb on 2015-04-06 15:17:56 +0000
 1.1 15-Jul-2012  matt branches: 1.1.4;
Add support for the Freescale TWR-P1025 evaluation board and the P1025/P1016
QorIQ processors. XXX tsec isn't working yet on the TWR-P1025.
 1.1.4.2 30-Oct-2012  yamt sync with head
 1.1.4.1 15-Jul-2012  yamt file INSTALL_TWRP1025 was added on branch yamt-pagecache on 2012-10-30 17:19:30 +0000
 1.2 18-Jul-2012  matt branches: 1.2.4;
Fix two typos
 1.1 15-Jul-2012  matt Add support for the Freescale TWR-P1025 evaluation board and the P1025/P1016
QorIQ processors. XXX tsec isn't working yet on the TWR-P1025.
 1.2.4.2 30-Oct-2012  yamt sync with head
 1.2.4.1 18-Jul-2012  yamt file INSTALL_TWRP1025.MP was added on branch yamt-pagecache on 2012-10-30 17:19:30 +0000
 1.9 08-Jun-2011  matt Use a standard INSTALL.inc instead of duplicating it. Make INSTALL
variants of mpc85xx kernels.
 1.8 06-Feb-2009  jym branches: 1.8.6; 1.8.12;
Changes to MEMORY_RBFLAGS option:
- renamed to MEMORY_DISK_RBFLAGS to better fit the rest of the
MEMORY_DISK options(4)
- change default value to RB_AUTOBOOT instead of RB_SINGLE, and adapt
the config(5) files accordingly
- document this option inside options(4)

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

Reviewed by abs@ in private mail.
 1.7 02-Oct-2006  chs branches: 1.7.56; 1.7.64;
remove MALLOC_NOINLINE, it doesn't do anything anymore.
 1.6 07-Dec-2005  tsutsui branches: 1.6.20; 1.6.22;
Remove obsolete options VNODE_OP_NOINLINE.
 1.5 18-Jan-2005  simonb branches: 1.5.8;
We only need a 2MB md for install images, not an 8MB one.
 1.4 14-Sep-2003  he branches: 1.4.8;
Revert addition of rnd here; it's already present due to the inclusion
of the WALNUT config file, so causes a duplicate definition error here.
 1.3 06-Sep-2003  itojun add rnd(4) device to installation media.
necessary for many purposes, including password seeding, tcp sequence number,
and more. see tech-security
 1.2 07-Feb-2003  thorpej branches: 1.2.2;
No need for DEBUG in an install kernel.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file INSTALL_WALNUT was added on branch nathanw_sa on 2002-12-11 06:28:57 +0000
 1.2.2.5 11-Dec-2005  christos Sync with head.
 1.2.2.4 24-Jan-2005  skrll Sync with HEAD.
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.4.8.1 29-Apr-2005  kent sync with -current
 1.5.8.2 30-Dec-2006  yamt sync with head.
 1.5.8.1 21-Jun-2006  yamt sync with head.
 1.6.22.1 22-Oct-2006  yamt sync with head
 1.6.20.1 18-Nov-2006  ad Sync with head.
 1.7.64.1 03-Mar-2009  skrll Sync with HEAD.
 1.7.56.1 04-May-2009  yamt sync with head.
 1.8.12.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.8.6.1 12-Jun-2011  rmind sync with head
 1.1 20-Jan-2024  jmcneill branches: 1.1.2;
evbppc: Add initial support for the Nintendo Wii
 1.1.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.1.2.1 20-Jan-2024  martin file INSTALL_WII was added on branch netbsd-10 on 2024-02-03 11:47:07 +0000
 1.30 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.29 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.28 26-Apr-2019  sevan Enable BUFQ_PRIOCSCAN, CARP, Veriexec by default in GENERIC kernel configs.
On ports without a GENERIC kernel config enable in individul files, e.g evbmips.
Omit on:
atari, dreamcast, emips, epoc32, evbppc/VIRTEX*, ia64, luna68x, mvme68k,
mvmeppc, playstation2, riscv, sun2, sun3, x68k, zaurus due to resource
constraints or port infancy.
 1.27 01-Aug-2018  maxv Unreference IPF/PF from all the config files, and enable NPF instead when
wanted. This also fixes some inconsistencies I saw in several files (eg
IPF options while IPF was not compiled, IPF+PF enabled by default, etc).
 1.26 05-Feb-2018  maxv branches: 1.26.2; 1.26.4;
Nuke DIRECTED_BROADCAST, it is not documented and not enabled anywhere. It
probably wouldn't have built correctly anyway, since there is no associated
defflag.

These ten lines of code in ip_input.c already look a lot better.
 1.25 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.24 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.23 19-Feb-2017  rin PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.22 23-Aug-2014  dholland branches: 1.22.2; 1.22.4; 1.22.6;
Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.21 17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.20 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.19 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.18 05-Jun-2013  christos branches: 1.18.2;
remove obsolete networking options
 1.17 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.16 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.15 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.14 17-Aug-2012  abs branches: 1.14.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.13 24-Jul-2012  matt Add drvctl
 1.12 23-Jul-2012  matt Add DKWEDGE_AUTODISCOVERY and DKWEDGE_GPT support.
 1.11 22-Jul-2012  matt Split mdio/mii access into its own "device" and update accordingly.
(on the P1025 the mdio functionality is separate from the etsec functions).
Provide locking for mii access.
 1.10 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.9 22-Nov-2011  tls branches: 1.9.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.8 02-Aug-2011  matt branches: 1.8.2;
Change device name of pq3cfi to cfi.
Add cfi to P2020DS
Add ddrc
 1.7 15-Jul-2011  cliff Add support for CFI NOR, using MPC8536DS as initial example.
Only AMD/Fujitsu command set is suported so far.
This is still work in progress, be advised.
 1.6 30-Jun-2011  wiz dependant -> dependent
 1.5 10-Jun-2011  matt Change default of GUR_BASE to 0xffe00000 which is used on more recent machines.
Add options GUR_BASE=0xe0000000 to MPC8548CDS and RB800
 1.4 08-Jun-2011  matt Use a standard INSTALL.inc instead of duplicating it. Make INSTALL
variants of mpc85xx kernels.
 1.3 06-Mar-2011  bouyer branches: 1.3.2;
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.2 18-Jan-2011  matt branches: 1.2.2; 1.2.4;
Add support for various MPC85xx platforms. The MPC8536DS and MPC8548CDS
development systems and the RB800 (routerboard 800) platform. The CF on
the RB800 doesn't work yet.
 1.1 07-Jan-2011  matt branches: 1.1.2; 1.1.4;
file MPC8536DS was initially added on branch matt-nb5-pq3.
 1.1.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.2.4 02-Aug-2011  matt Change pq3cfi to cfi
 1.1.2.3 26-Jul-2011  matt Add pq3cfi device.
 1.1.2.2 17-Jan-2011  matt sdhc has problems; comment out for now.
 1.1.2.1 07-Jan-2011  matt Add mpc85xx support for MPC8536DS (Freescale Development System),
MPC8548CDS (Freescale Development System), and RB800 (RouterBoard 800).
 1.2.4.4 12-Jun-2011  rmind sync with head
 1.2.4.3 21-Apr-2011  rmind sync with head
 1.2.4.2 05-Mar-2011  rmind sync with head
 1.2.4.1 18-Jan-2011  rmind file MPC8536DS was added on branch rmind-uvmplock on 2011-03-05 20:50:14 +0000
 1.2.2.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.3.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.8.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.8.2.2 30-Oct-2012  yamt sync with head
 1.8.2.1 17-Apr-2012  yamt sync with head
 1.9.2.1 18-Feb-2012  mrg merge to -current.
 1.14.2.4 03-Dec-2017  jdolecek update from HEAD
 1.14.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.14.2.2 23-Jun-2013  tls resync from head
 1.14.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.18.2.1 28-Aug-2013  rmind sync with head
 1.22.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.22.4.1 20-Mar-2017  pgoyette Sync with HEAD
 1.22.2.1 28-Aug-2017  skrll Sync with HEAD
 1.26.4.1 10-Jun-2019  christos Sync with HEAD
 1.26.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.29 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.28 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.27 26-Apr-2019  sevan Enable BUFQ_PRIOCSCAN, CARP, Veriexec by default in GENERIC kernel configs.
On ports without a GENERIC kernel config enable in individul files, e.g evbmips.
Omit on:
atari, dreamcast, emips, epoc32, evbppc/VIRTEX*, ia64, luna68x, mvme68k,
mvmeppc, playstation2, riscv, sun2, sun3, x68k, zaurus due to resource
constraints or port infancy.
 1.26 01-Aug-2018  maxv Unreference IPF/PF from all the config files, and enable NPF instead when
wanted. This also fixes some inconsistencies I saw in several files (eg
IPF options while IPF was not compiled, IPF+PF enabled by default, etc).
 1.25 05-Feb-2018  maxv branches: 1.25.2; 1.25.4;
Nuke DIRECTED_BROADCAST, it is not documented and not enabled anywhere. It
probably wouldn't have built correctly anyway, since there is no associated
defflag.

These ten lines of code in ip_input.c already look a lot better.
 1.24 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.23 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.22 19-Feb-2017  rin PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.21 23-Aug-2014  dholland branches: 1.21.2; 1.21.4; 1.21.6;
Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.20 17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.19 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.18 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.17 05-Jun-2013  christos branches: 1.17.2;
remove obsolete networking options
 1.16 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.15 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.14 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.13 17-Aug-2012  abs branches: 1.13.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.12 24-Jul-2012  matt Add drvctl
 1.11 23-Jul-2012  matt Add DKWEDGE_AUTODISCOVERY and DKWEDGE_GPT support.
 1.10 22-Jul-2012  matt Split mdio/mii access into its own "device" and update accordingly.
(on the P1025 the mdio functionality is separate from the etsec functions).
Provide locking for mii access.
 1.9 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.8 22-Nov-2011  tls branches: 1.8.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.7 30-Jun-2011  wiz branches: 1.7.2;
dependant -> dependent
 1.6 11-Jun-2011  matt Add missing no options GUR_BASE
 1.5 10-Jun-2011  matt Change default of GUR_BASE to 0xffe00000 which is used on more recent machines.
Add options GUR_BASE=0xe0000000 to MPC8548CDS and RB800
 1.4 08-Jun-2011  matt Use a standard INSTALL.inc instead of duplicating it. Make INSTALL
variants of mpc85xx kernels.
 1.3 06-Mar-2011  bouyer branches: 1.3.2;
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.2 18-Jan-2011  matt branches: 1.2.2; 1.2.4;
Add support for various MPC85xx platforms. The MPC8536DS and MPC8548CDS
development systems and the RB800 (routerboard 800) platform. The CF on
the RB800 doesn't work yet.
 1.1 07-Jan-2011  matt branches: 1.1.2; 1.1.4;
file MPC8548CDS was initially added on branch matt-nb5-pq3.
 1.1.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.2.2 24-Aug-2011  matt Make uboot images.
 1.1.2.1 07-Jan-2011  matt Add mpc85xx support for MPC8536DS (Freescale Development System),
MPC8548CDS (Freescale Development System), and RB800 (RouterBoard 800).
 1.2.4.4 12-Jun-2011  rmind sync with head
 1.2.4.3 21-Apr-2011  rmind sync with head
 1.2.4.2 05-Mar-2011  rmind sync with head
 1.2.4.1 18-Jan-2011  rmind file MPC8548CDS was added on branch rmind-uvmplock on 2011-03-05 20:50:15 +0000
 1.2.2.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.3.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.7.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.7.2.2 30-Oct-2012  yamt sync with head
 1.7.2.1 17-Apr-2012  yamt sync with head
 1.8.2.1 18-Feb-2012  mrg merge to -current.
 1.13.2.4 03-Dec-2017  jdolecek update from HEAD
 1.13.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.13.2.2 23-Jun-2013  tls resync from head
 1.13.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.17.2.1 28-Aug-2013  rmind sync with head
 1.21.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.21.4.1 20-Mar-2017  pgoyette Sync with HEAD
 1.21.2.1 28-Aug-2017  skrll Sync with HEAD
 1.25.4.1 10-Jun-2019  christos Sync with HEAD
 1.25.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1 02-Apr-2021  rin branches: 1.1.2; 1.1.4;
evbppc: Add support for DHT Walnut 405GP evaluation board.
(Digital Home Technologies PCB 01070201 Rev. 1.1)

Official web page seems gone, but analyses by Linux people are at:

- https://elinux.org/DHT-Walnut
- http://web.archive.org/web/20070225171826/http://supernova.stanford.edu/dingdong/

The board features:

- 266MHz PowerPC 405GP processor
- one PC133 SDRAM slot
- two 32-bit 5V PCI slot
- on-chip ethernet controller with DP83843 PHY
- on-chip serial port / GPIO controller
- on-board PDC20265 IDE controller

Hardware limitations:

- no MAC address assigned
- no RTC present

Known problem:

- atabus(4) channels cannot be attached to pdcide(4) for cold boot

dmesg:

- https://dmesgd.nycbug.org/index.cgi?do=view&id=5997

Have fun!
 1.1.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.4.1 02-Apr-2021  thorpej file Makefile.dht.inc was added on branch thorpej-futex on 2021-04-03 22:28:24 +0000
 1.1.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.2.1 02-Apr-2021  thorpej file Makefile.dht.inc was added on branch thorpej-cfargs on 2021-04-03 21:44:42 +0000
 1.8 28-Jul-2016  maya Fix typo in Makefile which resulted in kernel image not being generated

From Rin Okuyama in PR/51369
 1.7 03-Mar-2014  joerg branches: 1.7.4; 1.7.6; 1.7.8; 1.7.10;
Spell it TOOL_STAT.
 1.6 03-Mar-2014  joerg Use nbstat when cross-compiling, unbreaks build on Linux.
 1.5 30-Oct-2010  uebayasi branches: 1.5.8; 1.5.14; 1.5.18; 1.5.22;
Handle kernel file names other than "netbsd".
 1.4 24-Nov-2005  dbj branches: 1.4.98; 1.4.100;
. Have dbsym explicitly suggest increasing SYMTAB_SPACE when
an overflow occurs.
. Make this error a fatal build time error
. Move the support for dbsym into the MI Makefile.kern.inc,
conditional upon the SYMTAB_SPACE option being defined in
the kernel config file.
 1.3 17-Mar-2005  jmc branches: 1.3.2; 1.3.8;
Can't depend on shell scripts being executable from CVS. Preface mkimg.sh with
${HOST_SH}
 1.2 16-Mar-2003  matt branches: 1.2.2; 1.2.4; 1.2.8; 1.2.10; 1.2.12; 1.2.16;
EV64260 now gets to single user prompt using COM1 (2nd uart) as console
with PPCBOOT as firmware. XXX PCI devices are not found.
 1.1 05-Mar-2003  matt Add preliminary support Marvell (Galileo) Discovery System Controllers.
This code was contributed by Allegro Networks.
 1.2.16.1 22-Mar-2005  tron Pull up revision 1.3 (requested by jmc in ticket #49):
Can't depend on shell scripts being executable from CVS. Preface mkimg.sh with
${HOST_SH}
 1.2.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.2.10.1 29-Apr-2005  kent sync with -current
 1.2.8.1 22-Mar-2005  tron Pull up revision 1.3 (requested by jmc in ticket #1350):
Can't depend on shell scripts being executable from CVS. Preface mkimg.sh with
${HOST_SH}
 1.2.4.1 22-Mar-2005  tron Pull up revision 1.3 (requested by jmc in ticket #1350):
Can't depend on shell scripts being executable from CVS. Preface mkimg.sh with
${HOST_SH}
 1.2.2.2 11-Dec-2005  christos Sync with head.
 1.2.2.1 01-Apr-2005  skrll Sync with HEAD.
 1.3.8.1 29-Nov-2005  yamt sync with head.
 1.3.2.1 21-Jun-2006  yamt sync with head.
 1.4.100.1 05-Mar-2011  rmind sync with head
 1.4.98.1 06-Nov-2010  uebayasi Sync with HEAD.
 1.5.22.1 18-May-2014  rmind sync with head
 1.5.18.2 03-Dec-2017  jdolecek update from HEAD
 1.5.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.14.2 27-Aug-2016  bouyer Pull up following revision(s) (requested by maya in ticket #1396):
sys/arch/evbppc/conf/Makefile.walnut.inc: revision 1.9
sys/arch/evbppc/conf/Makefile.obs405.inc: revision 1.13
sys/arch/evbppc/conf/Makefile.ev64260.inc: revision 1.8
Fix typo in Makefile which resulted in kernel image not being generated
From Rin Okuyama in PR/51369
 1.5.14.1 11-Apr-2014  msaitoh Pull up following revision(s) (requested by joerg in ticket #1035):
distrib/evbppc/md-kernel/Makefile 1.4
sys/arch/evbppc/compile/walnut-mkimg.sh 1.5
sys/arch/evbppc/conf/Makefile.ev64260.inc 1.6-1.7
sys/arch/evbppc/conf/Makefile.obs405.inc 1.10-1.11
sys/arch/evbppc/conf/Makefile.walnut.inc 1.7-1.8

Use TOOL_* for cross compiling. Fixes buiild break on linux.
 1.5.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.7.10.1 06-Aug-2016  pgoyette Sync with HEAD
 1.7.8.1 27-Aug-2016  bouyer Pull up following revision(s) (requested by maya in ticket #1211):
sys/arch/evbppc/conf/Makefile.walnut.inc: revision 1.9
sys/arch/evbppc/conf/Makefile.obs405.inc: revision 1.13
sys/arch/evbppc/conf/Makefile.ev64260.inc: revision 1.8
Fix typo in Makefile which resulted in kernel image not being generated
From Rin Okuyama in PR/51369
 1.7.6.1 05-Oct-2016  skrll Sync with HEAD
 1.7.4.1 27-Aug-2016  bouyer Pull up following revision(s) (requested by maya in ticket #1211):
sys/arch/evbppc/conf/Makefile.walnut.inc: revision 1.9
sys/arch/evbppc/conf/Makefile.obs405.inc: revision 1.13
sys/arch/evbppc/conf/Makefile.ev64260.inc: revision 1.8
Fix typo in Makefile which resulted in kernel image not being generated
From Rin Okuyama in PR/51369
 1.9 11-Sep-2022  rin Add hack for clang for ibm4xx/trap.c.

Integrated as does not recognize {l,st}swx, that have been
requisite insns by architecture since 601.

Also, it does not pass gas for appropriate -mfoo flag.
 1.8 25-Jun-2011  matt Move some stuff from evbppc's Makefile.inc to powerpc's.
This avoids redundant objcopy's
 1.7 14-Jun-2011  matt Allow use of pigz when compressing kernels.
 1.6 28-May-2011  matt branches: 1.6.2;
Fix typo and make MDSETIMAGE block the same as the others.
 1.5 28-May-2011  matt Add common processing for .srec, .bin, and .ub (ubootimage) files.
When creating u-boot image, use a compressed binary kernel.
 1.4 04-Jan-2011  matt branches: 1.4.2;
Supply a hook at allow an RAMDISK image to automagically inserted into a
newly built kernel.
 1.3 08-Apr-2003  matt branches: 1.3.8; 1.3.128; 1.3.132;
Select MPSC console and the proper PCI slots. Use -D__boardtype__ instead
of -Dboardtype.
 1.2 04-Mar-2003  matt Make to define ${BOARDTYPE}
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file Makefile.evbppc.inc was added on branch nathanw_sa on 2002-12-11 06:28:58 +0000
 1.3.132.1 07-Jan-2011  matt Add mpc85xx support for MPC8536DS (Freescale Development System),
MPC8548CDS (Freescale Development System), and RB800 (RouterBoard 800).
 1.3.128.2 31-May-2011  rmind sync with head
 1.3.128.1 05-Mar-2011  rmind sync with head
 1.3.8.1 06-Feb-2005  jmc Pull up patch (requested by martti in ticket #1086)
Move ipf to sys/dist/ipf and sync w. trunk
 1.4.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.6.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.5 30-Oct-2010  uebayasi Handle kernel file names other than "netbsd".
 1.4 24-Nov-2005  dbj branches: 1.4.98; 1.4.100;
. Have dbsym explicitly suggest increasing SYMTAB_SPACE when
an overflow occurs.
. Make this error a fatal build time error
. Move the support for dbsym into the MI Makefile.kern.inc,
conditional upon the SYMTAB_SPACE option being defined in
the kernel config file.
 1.3 16-Jan-2005  chs branches: 1.3.8; 1.3.14;
echo the objcopy we actually run.
 1.2 31-May-2003  hannken branches: 1.2.2; 1.2.10;
Add symtab to kernel image using dbsym(8).
Add /dev/ksyms.
 1.1 11-Mar-2003  hannken Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.2.10.1 29-Apr-2005  kent sync with -current
 1.2.2.2 11-Dec-2005  christos Sync with head.
 1.2.2.1 17-Jan-2005  skrll Sync with HEAD.
 1.3.14.1 29-Nov-2005  yamt sync with head.
 1.3.8.1 21-Jun-2006  yamt sync with head.
 1.4.100.1 05-Mar-2011  rmind sync with head
 1.4.98.1 06-Nov-2010  uebayasi Sync with HEAD.
 1.5 10-Aug-2014  joerg Put GCC/GAS specific options under ACTIVE_CC == "gcc".
 1.4 08-Aug-2014  joerg Don't set -mmultiple or -mno-string for PowerPC, the difference is too
small to really matter and it sometimes even increases the size.
 1.3 28-May-2011  matt branches: 1.3.14; 1.3.28;
Get rid of LD_TAIL now that there is a common version in Makefile.evbppc.inc
 1.2 18-Jan-2011  matt branches: 1.2.4;
Add support for various MPC85xx platforms. The MPC8536DS and MPC8548CDS
development systems and the RB800 (routerboard 800) platform. The CF on
the RB800 doesn't work yet.
 1.1 07-Jan-2011  matt branches: 1.1.2; 1.1.4;
file Makefile.mpc85xx.inc was initially added on branch matt-nb5-pq3.
 1.1.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.2.1 07-Jan-2011  matt Add mpc85xx support for MPC8536DS (Freescale Development System),
MPC8548CDS (Freescale Development System), and RB800 (RouterBoard 800).
 1.2.4.3 31-May-2011  rmind sync with head
 1.2.4.2 05-Mar-2011  rmind sync with head
 1.2.4.1 18-Jan-2011  rmind file Makefile.mpc85xx.inc was added on branch rmind-uvmplock on 2011-03-05 20:50:15 +0000
 1.3.28.1 10-Aug-2014  tls Rebase.
 1.3.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4 23-Mar-2010  kiyohara Remove unused Makefile.obs200.inc since 'support OpenBlockS600'.
 1.3 24-Nov-2005  dbj branches: 1.3.78; 1.3.92; 1.3.98; 1.3.100;
. Have dbsym explicitly suggest increasing SYMTAB_SPACE when
an overflow occurs.
. Make this error a fatal build time error
. Move the support for dbsym into the MI Makefile.kern.inc,
conditional upon the SYMTAB_SPACE option being defined in
the kernel config file.
 1.2 29-Mar-2005  jmc branches: 1.2.2; 1.2.4; 1.2.6; 1.2.12;
Add missing $HOST_SH to execution of walnut-mkimg.sh
 1.1 18-Mar-2005  shige branches: 1.1.2;
Add sources for OpenBlockS200 (OpenBlockS S/R) machine.
 1.1.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.2.1 18-Mar-2005  yamt file Makefile.obs200.inc was added on branch yamt-km on 2005-03-19 08:32:57 +0000
 1.2.12.1 29-Nov-2005  yamt sync with head.
 1.2.6.1 21-Jun-2006  yamt sync with head.
 1.2.4.2 29-Apr-2005  kent sync with -current
 1.2.4.1 29-Mar-2005  kent file Makefile.obs200.inc was added on branch kent-audio2 on 2005-04-29 11:28:08 +0000
 1.2.2.3 11-Dec-2005  christos Sync with head.
 1.2.2.2 01-Apr-2005  skrll Sync with HEAD.
 1.2.2.1 29-Mar-2005  skrll file Makefile.obs200.inc was added on branch ktrace-lwp on 2005-04-01 14:27:26 +0000
 1.3.100.1 30-May-2010  rmind sync with head
 1.3.98.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.3.92.1 24-Oct-2010  jym Sync with HEAD
 1.3.78.1 11-Aug-2010  yamt sync with head.
 1.14 11-Feb-2024  christos PR/57924: Jan-Benedict Glaw: Use $MKREPRO_TIMESTAMP for mkubootimage
 1.13 28-Jul-2016  maya Fix typo in Makefile which resulted in kernel image not being generated

From Rin Okuyama in PR/51369
 1.12 05-Aug-2014  apb branches: 1.12.2; 1.12.4; 1.12.6; 1.12.8;
Use ${TOOL_GZIP_N} instead of ${TOOL_GZIP} -n, and similarly
use ${TOOL_GZIP_N} -9 instead of ${TOOL_GZIP} -9n, etc.

This will pass -nT instead of just -n if the gzip program is
actually pigz.
 1.11 03-Mar-2014  joerg branches: 1.11.2;
Spell it TOOL_STAT.
 1.10 03-Mar-2014  joerg Use nbstat when cross-compiling, unbreaks build on Linux.
 1.9 27-Jan-2014  apb Pass the -n flag to gzip invocations.

This prevents it from embedding a timestamp in the output. We pass
"-n" unconditionally, not conditional on MKREPRO, because many other
invocations of gzip already passed the -n flag unconditionally.
 1.8 27-Jan-2014  apb Use ${TOOL_GZIP} instead of just gzip in all Makefiles
outside */dist/* subdirectories.

When USE_PIGZGZIP=yes, bsd.own.mk sets TOOL_GZIP=${TOOL_PIGZ},
so there's no need to test USE_PIGZGZIP in these Makefiles.
 1.7 20-Mar-2013  kiyohara branches: 1.7.6;
Use mkubootimage, if obs600.
 1.6 30-Oct-2010  uebayasi branches: 1.6.8; 1.6.14; 1.6.18;
Handle kernel file names other than "netbsd".
 1.5 18-Mar-2010  kiyohara Support Plathome's OpenBlockS600.
 1.4 18-May-2009  mrg branches: 1.4.2; 1.4.4;
apply the change from PR 40289 - use ppc405 on openblocks ppc405 kernel.
 1.3 24-Nov-2005  dbj branches: 1.3.78;
. Have dbsym explicitly suggest increasing SYMTAB_SPACE when
an overflow occurs.
. Make this error a fatal build time error
. Move the support for dbsym into the MI Makefile.kern.inc,
conditional upon the SYMTAB_SPACE option being defined in
the kernel config file.
 1.2 17-Mar-2005  jmc branches: 1.2.2; 1.2.8;
Can't depend on shell scripts being executable from CVS. Preface mkimg.sh with
${HOST_SH}
 1.1 23-Sep-2003  shige branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10; 1.1.12; 1.1.16;
Add new evbppc port.
This port is for OpenBlockS266.
OpenBlockS266: IBM405GPr OpenBIOS.
X1226 is a rtc chip connected with IIC bus.
 1.1.16.1 22-Mar-2005  tron Pull up revision 1.2 (requested by jmc in ticket #49):
Can't depend on shell scripts being executable from CVS. Preface mkimg.sh with
${HOST_SH}
 1.1.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.10.1 29-Apr-2005  kent sync with -current
 1.1.8.1 22-Mar-2005  tron Pull up revision 1.2 (requested by jmc in ticket #1350):
Can't depend on shell scripts being executable from CVS. Preface mkimg.sh with
${HOST_SH}
 1.1.4.6 11-Dec-2005  christos Sync with head.
 1.1.4.5 01-Apr-2005  skrll Sync with HEAD.
 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 23-Sep-2003  skrll file Makefile.obs405.inc was added on branch ktrace-lwp on 2004-08-03 10:34:16 +0000
 1.1.2.1 22-Mar-2005  tron Pull up revision 1.2 (requested by jmc in ticket #1350):
Can't depend on shell scripts being executable from CVS. Preface mkimg.sh with
${HOST_SH}
 1.2.8.1 29-Nov-2005  yamt sync with head.
 1.2.2.1 21-Jun-2006  yamt sync with head.
 1.3.78.2 11-Aug-2010  yamt sync with head.
 1.3.78.1 20-Jun-2009  yamt sync with head
 1.4.4.2 05-Mar-2011  rmind sync with head
 1.4.4.1 30-May-2010  rmind sync with head
 1.4.2.2 06-Nov-2010  uebayasi Sync with HEAD.
 1.4.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.6.18.3 03-Dec-2017  jdolecek update from HEAD
 1.6.18.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.18.1 23-Jun-2013  tls resync from head
 1.6.14.2 27-Aug-2016  bouyer Pull up following revision(s) (requested by maya in ticket #1396):
sys/arch/evbppc/conf/Makefile.walnut.inc: revision 1.9
sys/arch/evbppc/conf/Makefile.obs405.inc: revision 1.13
sys/arch/evbppc/conf/Makefile.ev64260.inc: revision 1.8
Fix typo in Makefile which resulted in kernel image not being generated
From Rin Okuyama in PR/51369
 1.6.14.1 11-Apr-2014  msaitoh Pull up following revision(s) (requested by joerg in ticket #1035):
distrib/evbppc/md-kernel/Makefile 1.4
sys/arch/evbppc/compile/walnut-mkimg.sh 1.5
sys/arch/evbppc/conf/Makefile.ev64260.inc 1.6-1.7
sys/arch/evbppc/conf/Makefile.obs405.inc 1.10-1.11
sys/arch/evbppc/conf/Makefile.walnut.inc 1.7-1.8

Use TOOL_* for cross compiling. Fixes buiild break on linux.
 1.6.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.7.6.1 18-May-2014  rmind sync with head
 1.11.2.1 10-Aug-2014  tls Rebase.
 1.12.8.1 06-Aug-2016  pgoyette Sync with HEAD
 1.12.6.1 27-Aug-2016  bouyer Pull up following revision(s) (requested by maya in ticket #1211):
sys/arch/evbppc/conf/Makefile.walnut.inc: revision 1.9
sys/arch/evbppc/conf/Makefile.obs405.inc: revision 1.13
sys/arch/evbppc/conf/Makefile.ev64260.inc: revision 1.8
Fix typo in Makefile which resulted in kernel image not being generated
From Rin Okuyama in PR/51369
 1.12.4.1 05-Oct-2016  skrll Sync with HEAD
 1.12.2.1 27-Aug-2016  bouyer Pull up following revision(s) (requested by maya in ticket #1211):
sys/arch/evbppc/conf/Makefile.walnut.inc: revision 1.9
sys/arch/evbppc/conf/Makefile.obs405.inc: revision 1.13
sys/arch/evbppc/conf/Makefile.ev64260.inc: revision 1.8
Fix typo in Makefile which resulted in kernel image not being generated
From Rin Okuyama in PR/51369
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 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 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10;
file Makefile.pmppc.inc was initially added on branch ppcoea-renovation.
 1.1.10.1 25-Oct-2007  bouyer Sync with HEAD.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.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.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file Makefile.pmppc.inc was added on branch matt-armv6 on 2007-11-06 23:16:11 +0000
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file Makefile.pmppc.inc was added on branch yamt-lazymbuf on 2007-10-27 11:25:50 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file Makefile.pmppc.inc was added on branch vmlocking on 2007-10-23 20:35:40 +0000
 1.2 29-Mar-2021  rin Fix copy-paste; These boards are 405, not 403.
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.154; 1.1.156;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.156.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.154.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file Makefile.virtex.inc was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file Makefile.virtex.inc was added on branch yamt-lazymbuf on 2006-12-30 20:45:52 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file Makefile.virtex.inc was added on branch yamt-splraiseipl on 2006-12-10 07:15:53 +0000
 1.11 30-Mar-2021  rin Convert walnut to use powerpc/ibm4xx/openbios.
No functional changes.
 1.10 29-Mar-2021  rin Fix copy-paste; These boards are 405, not 403.
 1.9 28-Jul-2016  maya branches: 1.9.28; 1.9.30;
Fix typo in Makefile which resulted in kernel image not being generated

From Rin Okuyama in PR/51369
 1.8 03-Mar-2014  joerg branches: 1.8.4; 1.8.6; 1.8.8; 1.8.10;
Spell it TOOL_STAT.
 1.7 03-Mar-2014  joerg Use nbstat when cross-compiling, unbreaks build on Linux.
 1.6 01-Feb-2012  matt branches: 1.6.2; 1.6.6; 1.6.10;
Make sure the walnut system_tail_extra is very last thing.
 1.5 30-Oct-2010  uebayasi branches: 1.5.8; 1.5.12;
Handle kernel file names other than "netbsd".
 1.4 24-Nov-2005  dbj branches: 1.4.98; 1.4.100;
. Have dbsym explicitly suggest increasing SYMTAB_SPACE when
an overflow occurs.
. Make this error a fatal build time error
. Move the support for dbsym into the MI Makefile.kern.inc,
conditional upon the SYMTAB_SPACE option being defined in
the kernel config file.
 1.3 17-Mar-2005  jmc branches: 1.3.2; 1.3.8;
Can't depend on shell scripts being executable from CVS. Preface mkimg.sh with
${HOST_SH}
 1.2 04-Jan-2003  thorpej branches: 1.2.2; 1.2.4; 1.2.8; 1.2.10; 1.2.12; 1.2.16;
Don't fail the kernel build if dbsym fails.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.3 07-Jan-2003  thorpej Sync with HEAD.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file Makefile.walnut.inc was added on branch nathanw_sa on 2002-12-11 06:28:58 +0000
 1.2.16.1 22-Mar-2005  tron Pull up revision 1.3 (requested by jmc in ticket #49):
Can't depend on shell scripts being executable from CVS. Preface mkimg.sh with
${HOST_SH}
 1.2.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.2.10.1 29-Apr-2005  kent sync with -current
 1.2.8.1 22-Mar-2005  tron Pull up revision 1.3 (requested by jmc in ticket #1350):
Can't depend on shell scripts being executable from CVS. Preface mkimg.sh with
${HOST_SH}
 1.2.4.1 22-Mar-2005  tron Pull up revision 1.3 (requested by jmc in ticket #1350):
Can't depend on shell scripts being executable from CVS. Preface mkimg.sh with
${HOST_SH}
 1.2.2.2 11-Dec-2005  christos Sync with head.
 1.2.2.1 01-Apr-2005  skrll Sync with HEAD.
 1.3.8.1 29-Nov-2005  yamt sync with head.
 1.3.2.1 21-Jun-2006  yamt sync with head.
 1.4.100.1 05-Mar-2011  rmind sync with head
 1.4.98.1 06-Nov-2010  uebayasi Sync with HEAD.
 1.5.12.1 18-Feb-2012  mrg merge to -current.
 1.5.8.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.5.8.1 17-Apr-2012  yamt sync with head
 1.6.10.1 18-May-2014  rmind sync with head
 1.6.6.2 03-Dec-2017  jdolecek update from HEAD
 1.6.6.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.2.2 27-Aug-2016  bouyer Pull up following revision(s) (requested by maya in ticket #1396):
sys/arch/evbppc/conf/Makefile.walnut.inc: revision 1.9
sys/arch/evbppc/conf/Makefile.obs405.inc: revision 1.13
sys/arch/evbppc/conf/Makefile.ev64260.inc: revision 1.8
Fix typo in Makefile which resulted in kernel image not being generated
From Rin Okuyama in PR/51369
 1.6.2.1 11-Apr-2014  msaitoh Pull up following revision(s) (requested by joerg in ticket #1035):
distrib/evbppc/md-kernel/Makefile 1.4
sys/arch/evbppc/compile/walnut-mkimg.sh 1.5
sys/arch/evbppc/conf/Makefile.ev64260.inc 1.6-1.7
sys/arch/evbppc/conf/Makefile.obs405.inc 1.10-1.11
sys/arch/evbppc/conf/Makefile.walnut.inc 1.7-1.8

Use TOOL_* for cross compiling. Fixes buiild break on linux.
 1.8.10.1 06-Aug-2016  pgoyette Sync with HEAD
 1.8.8.1 27-Aug-2016  bouyer Pull up following revision(s) (requested by maya in ticket #1211):
sys/arch/evbppc/conf/Makefile.walnut.inc: revision 1.9
sys/arch/evbppc/conf/Makefile.obs405.inc: revision 1.13
sys/arch/evbppc/conf/Makefile.ev64260.inc: revision 1.8
Fix typo in Makefile which resulted in kernel image not being generated
From Rin Okuyama in PR/51369
 1.8.6.1 05-Oct-2016  skrll Sync with HEAD
 1.8.4.1 27-Aug-2016  bouyer Pull up following revision(s) (requested by maya in ticket #1211):
sys/arch/evbppc/conf/Makefile.walnut.inc: revision 1.9
sys/arch/evbppc/conf/Makefile.obs405.inc: revision 1.13
sys/arch/evbppc/conf/Makefile.ev64260.inc: revision 1.8
Fix typo in Makefile which resulted in kernel image not being generated
From Rin Okuyama in PR/51369
 1.9.30.1 03-Apr-2021  thorpej Sync with HEAD.
 1.9.28.1 03-Apr-2021  thorpej Sync with HEAD.
 1.2 26-Jan-2024  jmcneill branches: 1.2.2;
wii: Remove objcopy after kernel build.

HBC will do the right thing.
 1.1 20-Jan-2024  jmcneill evbppc: Add initial support for the Nintendo Wii
 1.2.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.2.2.1 26-Jan-2024  martin file Makefile.wii.inc was added on branch netbsd-10 on 2024-02-03 11:47:07 +0000
 1.50 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.49 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.48 26-Apr-2019  sevan Enable BUFQ_PRIOCSCAN, CARP, Veriexec by default in GENERIC kernel configs.
On ports without a GENERIC kernel config enable in individul files, e.g evbmips.
Omit on:
atari, dreamcast, emips, epoc32, evbppc/VIRTEX*, ia64, luna68x, mvme68k,
mvmeppc, playstation2, riscv, sun2, sun3, x68k, zaurus due to resource
constraints or port infancy.
 1.47 01-Aug-2018  maxv Unreference IPF/PF from all the config files, and enable NPF instead when
wanted. This also fixes some inconsistencies I saw in several files (eg
IPF options while IPF was not compiled, IPF+PF enabled by default, etc).
 1.46 05-Feb-2018  maxv branches: 1.46.2; 1.46.4;
Nuke DIRECTED_BROADCAST, it is not documented and not enabled anywhere. It
probably wouldn't have built correctly anyway, since there is no associated
defflag.

These ten lines of code in ip_input.c already look a lot better.
 1.45 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.44 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.43 23-Aug-2014  dholland branches: 1.43.2;
Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.42 17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.41 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.40 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.39 05-Jun-2013  christos branches: 1.39.2;
remove obsolete networking options
 1.38 27-Apr-2013  christos the bogus number police
 1.37 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.36 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.35 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.34 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.33 17-Aug-2012  abs branches: 1.33.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.32 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.31 22-Nov-2011  tls branches: 1.31.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.30 30-Jun-2011  wiz branches: 1.30.2;
dependant -> dependent
 1.29 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.28 23-Nov-2010  hannken branches: 1.28.2; 1.28.4;
Remove unused count from pseudo-device md.
 1.27 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.26 08-Feb-2010  joerg branches: 1.26.2;
Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
 1.25 24-Dec-2009  kiyohara branches: 1.25.2;
Fix interrupt number.
The data sheet describes that the interrupt of ECC is 17.
 1.24 24-Dec-2009  kiyohara Add COMPAT_50.
 1.23 05-Dec-2009  pooka Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.22 06-Mar-2009  joerg Remove SHMMAXPGS from all kernel configs. Dynamically compute the
initial limit as 1/4 of the physical memory. Ensure the limit is at
least 1024 pages, the old default on most platforms.
 1.21 24-Nov-2008  ad branches: 1.21.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.19 31-Jul-2008  simonb branches: 1.19.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.18 27-Sep-2006  manu branches: 1.18.52; 1.18.56; 1.18.58; 1.18.62;
- Document COMPAT_15 as doing nothing
- Add COMPAT_15 to all the kernel that had COMPAT_14, for the sake of coherency
- Remove the only occurences of #ifdef COMPAT_15 in the tree: for the ARM
ports, COMPAT_15 was always used in conjunction with EXEC_AOUT. Only EXEC_AOUT
matters here.

This address kern/18407
 1.17 01-Sep-2006  matt branches: 1.17.2; 1.17.4;
Increase SYMTAB_SPACE to 410000
 1.16 26-Aug-2006  christos PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.15 13-Jul-2006  simonb Add ksyms pseudo device.
 1.14 29-Mar-2006  shige branches: 1.14.4;
Added rtk PCI device, tqphy and rlphy MII devices.
 1.13 28-Mar-2006  pavel Add stf to all kernel configs which have INET6 and gif, except the INSTALL
ones and those for specific machines of developers. PR 32304.

OK'ed by rpaulo.

N.B. stf is a cloning device, so it still must be enabled by
"ifconfig stf0 create".
 1.12 14-Mar-2006  shige branches: 1.12.2;
Using GPIO bus.
 1.11 05-Feb-2006  cube branches: 1.11.2; 1.11.4;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.10 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.9 07-Dec-2005  tsutsui branches: 1.9.2; 1.9.4; 1.9.6;
Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.8 16-Oct-2005  he Complete the renaming gpio -> ppcgpio for evbppc, to make room for
the MI gpio. Internal static functions in gpio_opb.c are not
renamed here, but the softc type is renamed together with the attach
declaration data.
 1.7 09-Sep-2005  drochner remove "dev" locators from cardbus device definitions, it doesn't
make sense technically and might be removed
 1.6 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.5 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.4 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.3 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.2 31-May-2005  tron branches: 1.2.2;
Remove attachment for the piixide(4) driver from all non-x86 kernel
configurations because Intel IDE disk controllers only exist as part
of Intel chipsets for x86 systems.
 1.1 18-Mar-2005  shige branches: 1.1.2; 1.1.4; 1.1.6;
Add sources for OpenBlockS200 (OpenBlockS S/R) machine.
 1.1.6.2 29-Apr-2005  kent sync with -current
 1.1.6.1 18-Mar-2005  kent file OPENBLOCKS200 was added on branch kent-audio2 on 2005-04-29 11:28:08 +0000
 1.1.4.4 11-Dec-2005  christos Sync with head.
 1.1.4.3 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.4.2 01-Apr-2005  skrll Sync with HEAD.
 1.1.4.1 18-Mar-2005  skrll file OPENBLOCKS200 was added on branch ktrace-lwp on 2005-04-01 14:27:26 +0000
 1.1.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.2.1 18-Mar-2005  yamt file OPENBLOCKS200 was added on branch yamt-km on 2005-03-19 08:32:57 +0000
 1.2.2.2 30-Dec-2006  yamt sync with head.
 1.2.2.1 21-Jun-2006  yamt sync with head.
 1.9.6.1 22-Apr-2006  simonb Sync with head.
 1.9.4.1 09-Sep-2006  rpaulo sync with head
 1.9.2.1 18-Feb-2006  yamt sync with head.
 1.11.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.11.2.3 03-Sep-2006  yamt sync with head.
 1.11.2.2 11-Aug-2006  yamt sync with head
 1.11.2.1 01-Apr-2006  yamt sync with head.
 1.12.2.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.14.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.17.4.1 22-Oct-2006  yamt sync with head
 1.17.2.1 18-Nov-2006  ad Sync with head.
 1.18.62.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.18.62.1 19-Oct-2008  haad Sync with HEAD.
 1.18.58.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.18.56.3 11-Aug-2010  yamt sync with head.
 1.18.56.2 11-Mar-2010  yamt sync with head
 1.18.56.1 04-May-2009  yamt sync with head.
 1.18.52.2 17-Jan-2009  mjf Sync with HEAD.
 1.18.52.1 28-Sep-2008  mjf Sync with HEAD.
 1.19.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.19.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.21.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.25.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.26.2.3 21-Apr-2011  rmind sync with head
 1.26.2.2 05-Mar-2011  rmind sync with head
 1.26.2.1 30-May-2010  rmind sync with head
 1.28.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.28.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.30.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.30.2.2 30-Oct-2012  yamt sync with head
 1.30.2.1 17-Apr-2012  yamt sync with head
 1.31.2.1 18-Feb-2012  mrg merge to -current.
 1.33.2.4 03-Dec-2017  jdolecek update from HEAD
 1.33.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.33.2.2 23-Jun-2013  tls resync from head
 1.33.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.39.2.1 28-Aug-2013  rmind sync with head
 1.43.2.1 28-Aug-2017  skrll Sync with HEAD
 1.46.4.1 10-Jun-2019  christos Sync with HEAD
 1.46.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.80 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.79 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.78 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.77 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.76 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.75 26-Apr-2019  sevan branches: 1.75.4;
Enable BUFQ_PRIOCSCAN, CARP, Veriexec by default in GENERIC kernel configs.
On ports without a GENERIC kernel config enable in individul files, e.g evbmips.
Omit on:
atari, dreamcast, emips, epoc32, evbppc/VIRTEX*, ia64, luna68x, mvme68k,
mvmeppc, playstation2, riscv, sun2, sun3, x68k, zaurus due to resource
constraints or port infancy.
 1.74 01-Aug-2018  maxv Unreference IPF/PF from all the config files, and enable NPF instead when
wanted. This also fixes some inconsistencies I saw in several files (eg
IPF options while IPF was not compiled, IPF+PF enabled by default, etc).
 1.73 05-Feb-2018  maxv branches: 1.73.2; 1.73.4;
Nuke DIRECTED_BROADCAST, it is not documented and not enabled anywhere. It
probably wouldn't have built correctly anyway, since there is no associated
defflag.

These ten lines of code in ip_input.c already look a lot better.
 1.72 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.71 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.70 07-Aug-2015  maxv Remove KMEMSTATS.
 1.69 23-Aug-2014  dholland branches: 1.69.2;
Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.68 17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.67 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.66 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.65 05-Jun-2013  christos branches: 1.65.2;
catch the escapees of the IPSEC_NAT_T purge.
 1.64 27-Apr-2013  christos the bogus number police
 1.63 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.62 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.61 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.60 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.59 10-Mar-2012  joerg branches: 1.59.2;
P1003_1B_SEMAPHORE is no longer optional.
 1.58 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.57 22-Nov-2011  tls branches: 1.57.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.56 30-Jun-2011  wiz branches: 1.56.2;
dependant -> dependent
 1.55 22-Jun-2011  matt bump up SYMTAB_SPACE
 1.54 17-Jun-2011  matt Bump up SYMTAB_SPACE
 1.53 25-May-2011  dyoung branches: 1.53.2;
Increase SYMTAB_SPACE.
 1.52 06-Mar-2011  bouyer merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
 1.51 04-Jan-2011  matt branches: 1.51.2; 1.51.4;
Add ukphy (makes MIIVERBOSE happier)
 1.50 23-Nov-2010  hannken Remove unused count from pseudo-device md.
 1.49 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.48 18-Mar-2010  kiyohara Support Plathome's OpenBlockS600.
 1.47 10-Mar-2010  kiyohara branches: 1.47.2;
Assorted spelling/capitalization fixes from Igor Sobrado in PR kern/22595.
 1.46 24-Dec-2009  kiyohara branches: 1.46.2;
Fix interrupt number.
The data sheet describes that the interrupt of ECC is 17.
 1.45 24-Dec-2009  kiyohara Add COMPAT_50.
 1.44 05-Dec-2009  pooka Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.43 24-Nov-2008  ad Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.41 31-Jul-2008  simonb branches: 1.41.2; 1.41.12;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.40 07-Jul-2008  kiyohara Remove SEM{MNI,MNS,UME,MNU} and SHMMAXPGS.
Add TMPFS and agr.
Enable some pseudo devices.
 1.39 30-May-2008  tsutsui branches: 1.39.2; 1.39.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.38 31-Dec-2007  ad branches: 1.38.6; 1.38.8; 1.38.10; 1.38.12;
Remove systrace. Ok core@.
 1.37 02-Oct-2006  chs branches: 1.37.28; 1.37.34; 1.37.42;
remove MALLOC_NOINLINE, it doesn't do anything anymore.
 1.36 27-Sep-2006  manu - Document COMPAT_15 as doing nothing
- Add COMPAT_15 to all the kernel that had COMPAT_14, for the sake of coherency
- Remove the only occurences of #ifdef COMPAT_15 in the tree: for the ARM
ports, COMPAT_15 was always used in conjunction with EXEC_AOUT. Only EXEC_AOUT
matters here.

This address kern/18407
 1.35 01-Sep-2006  matt branches: 1.35.2; 1.35.4;
Increase SYMTAB_SPACE to 410000
 1.34 26-Aug-2006  christos PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.33 13-Jul-2006  simonb Add ksyms pseudo device.
 1.32 02-Apr-2006  kiyohara branches: 1.32.4;
Reorder.
 1.31 28-Mar-2006  pavel Add stf to all kernel configs which have INET6 and gif, except the INSTALL
ones and those for specific machines of developers. PR 32304.

OK'ed by rpaulo.

N.B. stf is a cloning device, so it still must be enabled by
"ifconfig stf0 create".
 1.30 13-Mar-2006  shige branches: 1.30.2;
Remove obsled devices (using old gpio framework).
 1.29 05-Feb-2006  cube branches: 1.29.2; 1.29.4;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.28 20-Dec-2005  thorpej branches: 1.28.2; 1.28.4; 1.28.6;
Remove the tablet line discipline.
 1.27 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.26 16-Oct-2005  he Complete the renaming gpio -> ppcgpio for evbppc, to make room for
the MI gpio. Internal static functions in gpio_opb.c are not
renamed here, but the softc type is renamed together with the attach
declaration data.
 1.25 24-Aug-2005  shige Enable dmphy, bridge.
 1.24 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.23 19-Aug-2005  christos 64 bit inode changes.
 1.22 01-Aug-2005  shige Remove all IDE controllers except for hptide.
 1.21 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.20 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.19 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.18 31-May-2005  tron branches: 1.18.2;
Remove attachment for the piixide(4) driver from all non-x86 kernel
configurations because Intel IDE disk controllers only exist as part
of Intel chipsets for x86 systems.
 1.17 25-Feb-2005  simonb branches: 1.17.2;
Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.16 18-Feb-2005  dsl 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 24-Jan-2005  shige branches: 1.13.2;
Add OpenBlockS266 GPIO LED Driver.
 1.12 24-Nov-2004  bouyer branches: 1.12.4;
pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) serie of
controllers. Tested with a PDC20375 (2 SATA, one PATA) controller on sparc64.
Added to all kernel config file which had pdcide(4).
 1.11 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.10 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.9 15-Jul-2004  atatat branches: 1.9.2;
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.8 14-Dec-2003  thorpej branches: 1.8.2;
Split the Intel i31244 SATA controller ("Artisea") driver out of piixide
into its own driver (artsata).
 1.7 13-Dec-2003  thorpej Split out the Silicon Image SATALink support into its own driver,
"satalink".
 1.6 18-Oct-2003  lukem Use one 'atabus* at ata?' instead of multiple 'atabus* at FOOide? channel ?'
Use 'atapibus* at atapi?' instead of 'atapibus* at atabus?'
 1.5 08-Oct-2003  bouyer Add new per-chip pciide drivers.
 1.4 08-Oct-2003  bouyer Add atabus.
 1.3 06-Oct-2003  shige Use xrtc driver on generic I2C framework instead of original xrtc
driver at src/sys/arch/evbppc/obs405/dev/x1226.c.
Remove todclock service.
 1.2 25-Sep-2003  matt Add COMPAT_16
 1.1 23-Sep-2003  shige Add new evbppc port.
This port is for OpenBlockS266.
OpenBlockS266: IBM405GPr OpenBIOS.
X1226 is a rtc chip connected with IIC bus.
 1.8.2.1 15-Jul-2004  he branches: 1.8.2.1.2;
Pull up revision 1.9 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.8.2.1.2.2 15-Sep-2005  riz Pull up following revision(s) (requested by shige in ticket #5820):
distrib/evbppc/md-kernel/Makefile 1.3 via patch
etc/etc.evbppc/Makefile.inc 1.3 via patch
sys/arch/evbppc/conf/files.obs405 1.5-1.8 via patch
sys/arch/evbppc/conf/OPENBLOCKS266 1.22,1.25 via patch
sys/arch/evbppc/include/obs266.h 1.1 (new)
sys/arch/evbppc/include/obs405.h 1.1-1.5 (new)
sys/arch/evbppc/include/rbus_machdep.h 1.1 (new)
sys/arch/evbppc/obs405/consinit.c 1.2-1.4
sys/arch/evbppc/obs405/dev/x1226.c deleted
sys/arch/evbppc/obs405/dev/x1226reg.h deleted
sys/arch/evbppc/obs405/machdep.c deleted
sys/arch/evbppc/obs405/obs266_autoconf.c 1.1 (new)
sys/arch/evbppc/obs405/obs266_machdep.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_autoconf.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_machdep.c 1.1 (new)
sys/arch/evbppc/obs405/rbus_machdep.c 1.1 (new)
sys/arch/powerpc/conf/files.ibm4xx 1.6-1.7
sys/arch/powerpc/ibm4xx/board_prop.c 1.1 (new)
sys/arch/powerpc/ibm4xx/dev/com_opb.c 1.12
sys/arch/powerpc/ibm4xx/dev/comopbvar.h 1.1 (new)
sys/arch/powerpc/ibm4xx/ibm40x_machdep.c 1.3-1.4
sys/arch/powerpc/ibm4xx/ibm4xx_autoconf.c 1.1-1.2 (new)
sys/arch/powerpc/ibm4xx/ibm4xx_machdep.c 1.1-1.3 (new)
sys/arch/powerpc/ibm4xx/ibm4xxgpx_autoconf.c 1.2-1.3
sys/arch/powerpc/ibm4xx/openbios/openbios.c 1.1 (new)
sys/arch/powerpc/include/ibm4xx/cpu.h 1.7-1.10
sys/arch/powerpc/include/ibm4xx/openbios.h 1.1 (new)

Update OpenBlockS266 support to more modern, stable sources.
 1.8.2.1.2.1 02-Apr-2005  he Pull up revision 1.12 (requested by bouyer in ticket #1019):
Add pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) series of
controllers.
 1.9.2.11 11-Dec-2005  christos Sync with head.
 1.9.2.10 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.9.2.9 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.9.2.8 15-Feb-2005  skrll Sync with HEAD.
 1.9.2.7 04-Feb-2005  skrll Sync with HEAD.
 1.9.2.6 29-Nov-2004  skrll Sync with HEAD.
 1.9.2.5 14-Nov-2004  skrll Sync with HEAD.
 1.9.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.9.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.9.2.2 03-Aug-2004  skrll Sync with HEAD
 1.9.2.1 15-Jul-2004  skrll file OPENBLOCKS266 was added on branch ktrace-lwp on 2004-08-03 10:34:16 +0000
 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.17.2.3 14-Sep-2005  tron Apply patch (requested by shige in ticket #770):
Build kernel for OpenBlockS266(IBM405GP CPU) products.
 1.17.2.2 18-Jul-2005  riz Pull up revision 1.19 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.17.2.1 01-Jun-2005  riz Pull up revision 1.18 (requested by tron in ticket #362):
Remove attachment for the piixide(4) driver from all non-x86 kernel
configurations because Intel IDE disk controllers only exist as part
of Intel chipsets for x86 systems.
 1.18.2.3 21-Jan-2008  yamt sync with head
 1.18.2.2 30-Dec-2006  yamt sync with head.
 1.18.2.1 21-Jun-2006  yamt sync with head.
 1.28.6.1 22-Apr-2006  simonb Sync with head.
 1.28.4.1 09-Sep-2006  rpaulo sync with head
 1.28.2.1 18-Feb-2006  yamt sync with head.
 1.29.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.29.2.4 03-Sep-2006  yamt sync with head.
 1.29.2.3 11-Aug-2006  yamt sync with head
 1.29.2.2 11-Apr-2006  yamt sync with head
 1.29.2.1 01-Apr-2006  yamt sync with head.
 1.30.2.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.30.2.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.32.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.35.4.1 22-Oct-2006  yamt sync with head
 1.35.2.1 18-Nov-2006  ad Sync with head.
 1.37.42.1 02-Jan-2008  bouyer Sync with HEAD
 1.37.34.1 18-Feb-2008  mjf Sync with HEAD.
 1.37.28.1 09-Jan-2008  matt sync with HEAD
 1.38.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.38.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.38.10.3 11-Aug-2010  yamt sync with head.
 1.38.10.2 11-Mar-2010  yamt sync with head
 1.38.10.1 04-May-2009  yamt sync with head.
 1.38.8.1 04-Jun-2008  yamt sync with head
 1.38.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.38.6.2 28-Sep-2008  mjf Sync with HEAD.
 1.38.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.39.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.39.4.1 19-Oct-2008  haad Sync with HEAD.
 1.39.2.1 18-Jul-2008  simonb Sync with head.
 1.41.12.1 07-Jan-2011  matt Small fixes so these compile again.
 1.41.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.46.2.3 19-Aug-2010  uebayasi Initial addition of xmd(4), XIP memory disk.
 1.46.2.2 11-Aug-2010  uebayasi Build net-bootable kernel (emac0) for test.
 1.46.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.47.2.4 31-May-2011  rmind sync with head
 1.47.2.3 21-Apr-2011  rmind sync with head
 1.47.2.2 05-Mar-2011  rmind sync with head
 1.47.2.1 30-May-2010  rmind sync with head
 1.51.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.51.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.53.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.56.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.56.2.2 30-Oct-2012  yamt sync with head
 1.56.2.1 17-Apr-2012  yamt sync with head
 1.57.2.2 11-Mar-2012  mrg sync to latest -current
 1.57.2.1 18-Feb-2012  mrg merge to -current.
 1.59.2.4 03-Dec-2017  jdolecek update from HEAD
 1.59.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.59.2.2 23-Jun-2013  tls resync from head
 1.59.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.65.2.1 28-Aug-2013  rmind sync with head
 1.69.2.2 28-Aug-2017  skrll Sync with HEAD
 1.69.2.1 22-Sep-2015  skrll Sync with HEAD
 1.73.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.73.4.1 10-Jun-2019  christos Sync with HEAD
 1.73.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.75.4.1 25-Jan-2020  ad Sync with head.
 1.31 29-Jun-2021  nia Remove uscanner(4) driver

This exists for compatibility with a Linux interface which was apparently
deprecated in Linux 2.6. There are various mailing list threads going
back to 2004 where the usefulness of this driver is discussed, but
the conclusion is that scanner software has all moved to using ugen(4)
instead, and enabling this driver will not help you scan things.
 1.30 16-May-2020  maya branches: 1.30.6;
Remove uyap, USB YAP phone firmware loader.

And the associated ezload EZ-USB code, which is only used by uyap.
It could theoretically be used by other drivers, but none of them are
in tree.

I suspect that this device isn't in use, as phone technology has improved
a lot since 2001 when uyap(4) was added to the tree.

Proposed with no objections on netbsd-users on 13 April 2020
 1.29 29-Jan-2020  maya remove urio(4), a driver for the Rio500 MP3 player.

At this point it is highly unlikely this 1999 device still has users,
but it still comes up in the context of maxv's USB-fuzzing (and any device
could pretend to be a urio(4)), so it's best to get rid of it.

Renamed all major entries to obsolete, as was done in previous removals.

This still requires an update to sanitizers, but they're located in
"external", perhaps it should be first committed upstream?

Proposed on tech-kern a month ago.
 1.28 19-Jan-2020  thorpej Remove Token Ring support.
 1.27 13-Apr-2019  isaki branches: 1.27.6;
Add drvctl to kernel which has audio device.
audiocfg(1) requires drvctl(4).
 1.26 06-Feb-2019  rin Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.25 23-Oct-2018  jdolecek remove the 'wd* at umass?' for the non-standardized and rare (extinct?)
In-System Design ATA protocol over Bulk-Only devices from most kernels,
leave only in i386/amd64 ALL; it's unmaintained and likely currently broken,
lack of test hardware makes it impossible to support
 1.24 25-Aug-2018  rin Add (commented out) mue(4) to where appropriate.
Also add MII/PHY drivers for USB NICs if missing.
 1.23 24-May-2017  christos branches: 1.23.8; 1.23.10;
rename u3ginit driver to umodeswitch
 1.22 13-Dec-2016  christos wildcard speaker attachments, now that we can handle many of them.
 1.21 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.20 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.19 19-Mar-2016  gdt branches: 1.19.2;
Disable uscanner in all kernel configs

As discussed on current-users@, SANE uses ugen via libusb and not
uscanner, so users are not well served by having uscanner. Consensus
is that addressing how to adjust permissions for scanners should not
block restoring basic functionionality.

(Compile-tested only, but there are multiple reports of this being the
right approach.)
 1.18 15-Oct-2014  uebayasi branches: 1.18.2;
Fix builds.
 1.17 01-Sep-2012  jakllsch branches: 1.17.2;
Rename RT2500USB driver to ural(4) as it was originally in OpenBSD,
as ural(4) and ral(4) do not actually share any code.

Enable ural(4) in hpcarm WZERO3 kernel too, as it will now build.

Fixes PR#43520.
 1.16 23-Jul-2011  jakllsch branches: 1.16.2;
Enable or note aubtfwl(4) wherever ubt(4) is enabled or noted.
 1.15 04-Jan-2011  matt Add audio for uaudio
 1.14 22-May-2010  plunky add btmagic(4) where other Bluetooth drivers are listed
 1.13 10-Mar-2010  kiyohara branches: 1.13.2;
Assorted spelling/capitalization fixes from Igor Sobrado in PR kern/22595.
Remove multiple njata.
Add uthum, udl, stuirda, uchcom, uberry, u3g, ugensa, uvideo.
 1.12 07-Mar-2010  plunky add uhso(4) device where appropriate
- follow the lead of other USB driver declarations wrt commented out
- (cross-)build tested all these kernels
 1.11 23-Dec-2009  pooka branches: 1.11.2;
unifdef -D UGEN_BULK_RA_WB

Default behaviour unchanged, the feature must still be explicitly
enabled for a ugen fd.
 1.10 03-Jan-2009  christos remove esl (KIYOHARA Takashi)
 1.9 02-Dec-2007  kiyohara branches: 1.9.14; 1.9.18; 1.9.26; 1.9.28;
Add bcsp(4).
 1.8 17-Oct-2007  garbled branches: 1.8.2;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.7 24-Aug-2007  kiyohara branches: 1.7.2;
Add some devices for Bluetooth, CardBus, PCMCIA, USB.
Remove white-spaces.
 1.6 14-Mar-2007  drochner branches: 1.6.6; 1.6.10; 1.6.14;
It doesn't make sense to specify "configuration" and "interface"
locators for uhub because a hub can't have sub-devices.
This might be sanity-checked eventually.
Same for ubt now after the change to device attachment.
 1.5 01-Oct-2006  itohy branches: 1.5.4; 1.5.8; 1.5.10;
Use ATA timing, instead of busmaster wait, for adding waits.
Use default wait value 0x01.
 1.4 07-Sep-2006  itohy branches: 1.4.2; 1.4.4;
Add njata* at cardbus?
 1.3 14-Aug-2006  skrll s/adpater/adapter/

Prompted by PR/34195
 1.2 11-Dec-2005  christos branches: 1.2.4; 1.2.8; 1.2.18;
merge ktrace-lwp.
 1.1 10-Sep-2005  kiyohara branches: 1.1.6;
Add configuration file for 'PCMCIA adapter BOX' supported kernel.
 1.1.6.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.6.1 10-Sep-2005  skrll file OPENBLOCKS266_OPT was added on branch ktrace-lwp on 2005-11-10 13:56:04 +0000
 1.2.18.5 07-Dec-2007  yamt sync with head
 1.2.18.4 03-Sep-2007  yamt sync with head.
 1.2.18.3 30-Dec-2006  yamt sync with head.
 1.2.18.2 21-Jun-2006  yamt sync with head.
 1.2.18.1 11-Dec-2005  yamt file OPENBLOCKS266_OPT was added on branch yamt-lazymbuf on 2006-06-21 14:51:03 +0000
 1.2.8.2 14-Sep-2006  yamt sync with head.
 1.2.8.1 03-Sep-2006  yamt sync with head.
 1.2.4.1 09-Sep-2006  rpaulo sync with head
 1.4.4.1 22-Oct-2006  yamt sync with head
 1.4.2.1 18-Nov-2006  ad Sync with head.
 1.5.10.1 11-Jul-2007  mjf Sync with head.
 1.5.8.3 03-Dec-2007  ad Sync with HEAD.
 1.5.8.2 09-Oct-2007  ad Sync with head.
 1.5.8.1 10-Apr-2007  ad Sync with head.
 1.5.4.1 24-Mar-2007  yamt sync with head.
 1.6.14.2 03-Dec-2007  joerg Sync with HEAD.
 1.6.14.1 03-Sep-2007  jmcneill Sync with HEAD.
 1.6.10.1 03-Sep-2007  skrll Sync with HEAD.
 1.6.6.1 03-Oct-2007  garbled Sync with HEAD
 1.7.2.2 09-Jan-2008  matt sync with HEAD
 1.7.2.1 06-Nov-2007  matt sync with HEAD
 1.8.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.9.28.1 21-Nov-2010  riz branches: 1.9.28.1.2;
Pull up following revision(s) (requested by plunky in ticket #1407):
sys/dev/bluetooth/btdev.h: revision 1.9
sys/arch/iyonix/conf/GENERIC: revision 1.60
sys/arch/sparc64/conf/GENERIC: revision 1.129
sys/dev/usb/hid.c: revision 1.30
sys/dev/usb/hid.h: revision 1.13
sys/arch/i386/conf/GENERIC: revision 1.983
usr.sbin/btdevctl/print.c: revision 1.10
sys/arch/evbarm/conf/MPCSA_GENERIC: revision 1.16
sys/arch/alpha/conf/GENERIC: revision 1.337
sys/dev/bluetooth/files.bluetooth: revision 1.14
sys/arch/evbarm/conf/GUMSTIX: revision 1.49
sys/dev/usb/usbdevs: revision 1.550
sys/arch/evbppc/conf/OPENBLOCKS266_OPT: revision 1.14
sys/arch/hpcsh/conf/GENERIC: revision 1.91
sys/dev/bluetooth/btmagic.c: revision 1.1
distrib/sets/lists/man/mi: revision 1.1210
sys/arch/amd64/conf/GENERIC: revision 1.279
sys/arch/i386/conf/ALL: revision 1.258
sys/arch/amd64/conf/XEN3_DOM0: revision 1.54
sys/arch/hpcarm/conf/JORNADA720: revision 1.78
sys/dev/usb/hid.c: revision 1.29
share/man/man4/btmagic.4: revision 1.1
hid_get_data() does not work if the size of data is less than
a byte and crosses a byte boundary, and it always returns a
sign-extended value.
fix this by using the algorithm from libusbhid to read bytes,
and provide a hid_get_udata() function to return unsigned data
values.
while here, const args
update DPRINTF to reflect actual function name
add Apple Magic Mouse product-id
regen for Magic Mouse id
allow for vendor-id and product-id properties, passing them
through to child devices
add Magic Mouse driver and manpage btmagic(4)
additionally query the "PnP Information" service record to discover
any USB Forum vendor-id and product-id values and store them in the
property list if found.
add btmagic(4) where other Bluetooth drivers are listed
 1.9.28.1.2.1 07-Jan-2011  matt Small fixes so these compile again.
 1.9.26.1 19-Jan-2009  skrll Sync with HEAD.
 1.9.18.3 11-Aug-2010  yamt sync with head.
 1.9.18.2 11-Mar-2010  yamt sync with head
 1.9.18.1 04-May-2009  yamt sync with head.
 1.9.14.1 17-Jan-2009  mjf Sync with HEAD.
 1.11.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.11.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.13.2.2 05-Mar-2011  rmind sync with head
 1.13.2.1 30-May-2010  rmind sync with head
 1.16.2.1 30-Oct-2012  yamt sync with head
 1.17.2.1 03-Dec-2017  jdolecek update from HEAD
 1.18.2.3 28-Aug-2017  skrll Sync with HEAD
 1.18.2.2 05-Feb-2017  skrll Sync with HEAD
 1.18.2.1 22-Apr-2016  skrll Sync with HEAD
 1.19.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.23.10.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.23.10.1 10-Jun-2019  christos Sync with HEAD
 1.23.8.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.23.8.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.27.6.2 29-Feb-2020  ad Sync with head.
 1.27.6.1 25-Jan-2020  ad Sync with head.
 1.30.6.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1 11-Aug-2010  uebayasi branches: 1.1.2;
file OPENBLOCKS266_XIP was initially added on branch uebayasi-xip.
 1.1.2.2 30-Oct-2010  uebayasi Add xmd(4).
 1.1.2.1 11-Aug-2010  uebayasi XIP test kernel.
 1.32 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.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 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.28 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.27 26-Apr-2019  sevan branches: 1.27.4;
Enable BUFQ_PRIOCSCAN, CARP, Veriexec by default in GENERIC kernel configs.
On ports without a GENERIC kernel config enable in individul files, e.g evbmips.
Omit on:
atari, dreamcast, emips, epoc32, evbppc/VIRTEX*, ia64, luna68x, mvme68k,
mvmeppc, playstation2, riscv, sun2, sun3, x68k, zaurus due to resource
constraints or port infancy.
 1.26 01-Aug-2018  maxv Unreference IPF/PF from all the config files, and enable NPF instead when
wanted. This also fixes some inconsistencies I saw in several files (eg
IPF options while IPF was not compiled, IPF+PF enabled by default, etc).
 1.25 05-Feb-2018  maxv branches: 1.25.2; 1.25.4;
Nuke DIRECTED_BROADCAST, it is not documented and not enabled anywhere. It
probably wouldn't have built correctly anyway, since there is no associated
defflag.

These ten lines of code in ip_input.c already look a lot better.
 1.24 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.23 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.22 19-Feb-2017  rin PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.21 07-Aug-2015  maxv branches: 1.21.2; 1.21.4;
Remove KMEMSTATS.
 1.20 15-Oct-2014  uebayasi branches: 1.20.2;
Fix builds.
 1.19 23-Aug-2014  dholland Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.18 17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.17 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.16 21-Nov-2013  kiyohara Add dwctwo and umass.
And cleanup.
However dwctwo@plb is buggy...
 1.15 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.14 05-Jun-2013  christos branches: 1.14.2;
remove obsolete networking options
 1.13 27-Apr-2013  christos the bogus number police
 1.12 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.11 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.10 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.9 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.8 10-Mar-2012  joerg branches: 1.8.2;
P1003_1B_SEMAPHORE is no longer optional.
 1.7 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.6 22-Nov-2011  tls branches: 1.6.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.5 30-Jun-2011  wiz branches: 1.5.2;
dependant -> dependent
 1.4 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.3 23-Nov-2010  hannken branches: 1.3.2; 1.3.4;
Remove unused count from pseudo-device md.
 1.2 16-Apr-2010  pooka branches: 1.2.2; 1.2.4; 1.2.6;
Remove unused count (invariably "4") from pseudo-device fss.
 1.1 18-Mar-2010  kiyohara Support Plathome's OpenBlockS600.
 1.2.6.2 11-Aug-2010  yamt sync with head.
 1.2.6.1 16-Apr-2010  yamt file OPENBLOCKS600 was added on branch yamt-nfs-mp on 2010-08-11 22:51:53 +0000
 1.2.4.4 21-Apr-2011  rmind sync with head
 1.2.4.3 05-Mar-2011  rmind sync with head
 1.2.4.2 30-May-2010  rmind sync with head
 1.2.4.1 16-Apr-2010  rmind file OPENBLOCKS600 was added on branch rmind-uvmplock on 2010-05-30 05:16:43 +0000
 1.2.2.2 30-Apr-2010  uebayasi Sync with HEAD.
 1.2.2.1 16-Apr-2010  uebayasi file OPENBLOCKS600 was added on branch uebayasi-xip on 2010-04-30 14:39:17 +0000
 1.3.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.3.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.5.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.5.2.2 30-Oct-2012  yamt sync with head
 1.5.2.1 17-Apr-2012  yamt sync with head
 1.6.2.2 11-Mar-2012  mrg sync to latest -current
 1.6.2.1 18-Feb-2012  mrg merge to -current.
 1.8.2.4 03-Dec-2017  jdolecek update from HEAD
 1.8.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.2.2 23-Jun-2013  tls resync from head
 1.8.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.14.2.2 18-May-2014  rmind sync with head
 1.14.2.1 28-Aug-2013  rmind sync with head
 1.20.2.2 28-Aug-2017  skrll Sync with HEAD
 1.20.2.1 22-Sep-2015  skrll Sync with HEAD
 1.21.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.21.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.25.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.25.4.1 10-Jun-2019  christos Sync with HEAD
 1.25.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.27.4.1 25-Jan-2020  ad Sync with head.
 1.33 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.32 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.31 26-Apr-2019  sevan Enable BUFQ_PRIOCSCAN, CARP, Veriexec by default in GENERIC kernel configs.
On ports without a GENERIC kernel config enable in individul files, e.g evbmips.
Omit on:
atari, dreamcast, emips, epoc32, evbppc/VIRTEX*, ia64, luna68x, mvme68k,
mvmeppc, playstation2, riscv, sun2, sun3, x68k, zaurus due to resource
constraints or port infancy.
 1.30 01-Aug-2018  maxv Unreference IPF/PF from all the config files, and enable NPF instead when
wanted. This also fixes some inconsistencies I saw in several files (eg
IPF options while IPF was not compiled, IPF+PF enabled by default, etc).
 1.29 05-Feb-2018  maxv branches: 1.29.2; 1.29.4;
Nuke DIRECTED_BROADCAST, it is not documented and not enabled anywhere. It
probably wouldn't have built correctly anyway, since there is no associated
defflag.

These ten lines of code in ip_input.c already look a lot better.
 1.28 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.27 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.26 19-Feb-2017  rin PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.25 24-Aug-2014  jnemeth branches: 1.25.2; 1.25.4; 1.25.6;
Create an "options MODULAR_DEFAULT_AUTOLOAD" config option and add
it to all kernel configs that contain "options MODULAR". This
option turns on module autoloading by default (which is the current
default). This allows people who don't want module autoloading on
by default to disable it by simply removing/commentting this line.
 1.24 23-Aug-2014  dholland Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.23 17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.22 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.21 10-Aug-2014  joerg branches: 1.21.2;
LLVM builds have a slightly larger symbol table, so bump the space.
 1.20 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.19 05-Jun-2013  christos branches: 1.19.2;
remove obsolete networking options
 1.18 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.17 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.16 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.15 17-Aug-2012  abs branches: 1.15.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.14 24-Jul-2012  matt Add drvctl
 1.13 23-Jul-2012  matt Add DKWEDGE_AUTODISCOVERY and DKWEDGE_GPT support.
 1.12 22-Jul-2012  matt Split mdio/mii access into its own "device" and update accordingly.
(on the P1025 the mdio functionality is separate from the etsec functions).
Provide locking for mii access.
 1.11 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.10 22-Nov-2011  tls branches: 1.10.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.9 02-Aug-2011  matt branches: 1.9.2; 1.9.4;
Change device name of pq3cfi to cfi.
Add cfi to P2020DS
Add ddrc
 1.8 28-Jul-2011  matt Back out commit.
 1.7 28-Jul-2011  matt Bring forward from matt-nb5-mips64. Support for Ralink RT3883 MIPS 74K SoC
from CradlePoint Technology.
 1.6 16-Jul-2011  matt Add netbsd-sd0a
 1.5 30-Jun-2011  wiz dependant -> dependent
 1.4 10-Jun-2011  matt Change default of GUR_BASE to 0xffe00000 which is used on more recent machines.
Add options GUR_BASE=0xe0000000 to MPC8548CDS and RB800
 1.3 08-Jun-2011  matt Use a standard INSTALL.inc instead of duplicating it. Make INSTALL
variants of mpc85xx kernels.
 1.2 28-May-2011  matt branches: 1.2.2; 1.2.4; 1.2.6;
Comment out wm, ciphy, and makphy.
 1.1 28-May-2011  matt Initial config for a Freescale P2020 Development System.
 1.2.6.2 06-Jun-2011  jruoho Sync with HEAD.
 1.2.6.1 28-May-2011  jruoho file P2020DS was added on branch jruoho-x86intr on 2011-06-06 09:05:31 +0000
 1.2.4.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.2.2.3 12-Jun-2011  rmind sync with head
 1.2.2.2 31-May-2011  rmind sync with head
 1.2.2.1 28-May-2011  rmind file P2020DS was added on branch rmind-uvmplock on 2011-05-31 03:04:00 +0000
 1.9.4.3 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.9.4.2 30-Oct-2012  yamt sync with head
 1.9.4.1 17-Apr-2012  yamt sync with head
 1.9.2.2 14-Oct-2011  matt Sync with current pulling P2020 and other newer processor support.
 1.9.2.1 02-Aug-2011  matt file P2020DS was added on branch matt-nb5-pq3 on 2011-10-14 17:21:27 +0000
 1.10.2.1 18-Feb-2012  mrg merge to -current.
 1.15.2.4 03-Dec-2017  jdolecek update from HEAD
 1.15.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.15.2.2 23-Jun-2013  tls resync from head
 1.15.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.19.2.1 28-Aug-2013  rmind sync with head
 1.21.2.1 15-May-2015  snj Pull up following revision(s) (requested by jnemeth in ticket #762):
share/man/man4/options.4: revision 1.442
sys/arch/amd64/conf/ALL: revision 1.18
sys/arch/amd64/conf/GENERIC: revision 1.396
sys/arch/dreamcast/conf/GENERIC: revision 1.119
sys/arch/epoc32/conf/GENERIC: revision 1.6
sys/arch/evbarm/conf/BCM5301X: revision 1.24
sys/arch/evbarm/conf/BCM56340: revision 1.9
sys/arch/evbarm/conf/IMX23_OLINUXINO: revision 1.9
sys/arch/evbarm/conf/std.beagle: revision 1.13
sys/arch/evbarm/conf/std.kobo: revision 1.2
sys/arch/evbarm/conf/std.netwalker: revision 1.10
sys/arch/evbppc/conf/P2020DS: revision 1.25
sys/arch/evbppc/conf/RB800: revision 1.30
sys/arch/evbppc/conf/TWRP1025: revision 1.18
sys/arch/hp300/conf/GENERIC: revision 1.187
sys/arch/hpcsh/conf/GENERIC: revision 1.104
sys/arch/i386/conf/GENERIC: revision 1.1111
sys/arch/i386/conf/MONOLITHIC: revision 1.17
sys/arch/landisk/conf/GENERIC: revision 1.43
sys/arch/luna68k/conf/GENERIC: revision 1.117
sys/arch/macppc/conf/GENERIC: revision 1.316
sys/arch/macppc/conf/GENERIC_601: revision 1.5
sys/arch/mmeye/conf/MMEYE_WLF: revision 1.16
sys/arch/news68k/conf/GENERIC: revision 1.123
sys/arch/sandpoint/conf/GENERIC: revision 1.85
sys/arch/shark/conf/GENERIC: revision 1.119
sys/arch/sparc/conf/GENERIC: revision 1.246
sys/arch/sparc64/conf/GENERIC: revision 1.174
sys/arch/sun3/conf/GENERIC3X: revision 1.125
sys/arch/sun3/conf/GENERIC: revision 1.169
sys/arch/x68k/conf/GENERIC: revision 1.177
sys/arch/zaurus/conf/GENERIC: revision 1.62
sys/conf/files: revision 1.1099
sys/kern/kern_module.c: revisions 1.98, 1.99
Create an "options MODULAR_DEFAULT_AUTOLOAD" config option and add
it to all kernel configs that contain "options MODULAR". This
option turns on module autoloading by default (which is the current
default). This allows people who don't want module autoloading on
by default to disable it by simply removing/commentting this line.
--
fix typo. (s/MODULE_DEFAULT_AUTOLOAD/MODULAR_DEFAULT_AUTOLOAD/)
 1.25.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.25.4.1 20-Mar-2017  pgoyette Sync with HEAD
 1.25.2.1 28-Aug-2017  skrll Sync with HEAD
 1.29.4.1 10-Jun-2019  christos Sync with HEAD
 1.29.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1 29-Jun-2011  matt Add some config files for the P2020.
 1.33 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.32 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.31 26-Apr-2019  sevan Enable BUFQ_PRIOCSCAN, CARP, Veriexec by default in GENERIC kernel configs.
On ports without a GENERIC kernel config enable in individul files, e.g evbmips.
Omit on:
atari, dreamcast, emips, epoc32, evbppc/VIRTEX*, ia64, luna68x, mvme68k,
mvmeppc, playstation2, riscv, sun2, sun3, x68k, zaurus due to resource
constraints or port infancy.
 1.30 01-Aug-2018  maxv Unreference IPF/PF from all the config files, and enable NPF instead when
wanted. This also fixes some inconsistencies I saw in several files (eg
IPF options while IPF was not compiled, IPF+PF enabled by default, etc).
 1.29 05-Feb-2018  maxv branches: 1.29.2; 1.29.4;
Nuke DIRECTED_BROADCAST, it is not documented and not enabled anywhere. It
probably wouldn't have built correctly anyway, since there is no associated
defflag.

These ten lines of code in ip_input.c already look a lot better.
 1.28 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.27 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.26 19-Feb-2017  rin PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.25 23-Aug-2014  dholland branches: 1.25.2; 1.25.4; 1.25.6;
Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.24 17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.23 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.22 23-Aug-2013  matt add PUFFS/putter
add vnd
add atapibus
disable options DEBUG
 1.21 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.20 05-Jun-2013  christos branches: 1.20.2;
remove obsolete networking options
 1.19 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.18 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.17 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 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 25-Jul-2012  matt Move dsrtc to correct bus.
Add drvctl
Add sdhc at pci
Remove pq3pci (P2020 only has PCIe).
 1.14 23-Jul-2012  matt Add DKWEDGE_AUTODISCOVERY and DKWEDGE_GPT support.
 1.13 22-Jul-2012  matt Split mdio/mii access into its own "device" and update accordingly.
(on the P1025 the mdio functionality is separate from the etsec functions).
Provide locking for mii access.
 1.12 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.11 22-Nov-2011  tls branches: 1.11.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.10 02-Aug-2011  matt branches: 1.10.2;
Change device name of pq3cfi to cfi.
Add cfi to P2020DS
Add ddrc
 1.9 28-Jul-2011  matt Bring forward from matt-nb5-mips64. Support for Ralink RT3883 MIPS 74K SoC
from CradlePoint Technology.
 1.8 20-Jul-2011  matt Flash is only 16MB in size.
 1.7 19-Jul-2011  matt Add nor support
Add netbsd-sd0a
 1.6 30-Jun-2011  wiz dependant -> dependent
 1.5 29-Jun-2011  matt Wildcard cpu* since the P2020 is dual core.
 1.4 10-Jun-2011  matt Change default of GUR_BASE to 0xffe00000 which is used on more recent machines.
Add options GUR_BASE=0xe0000000 to MPC8548CDS and RB800
 1.3 08-Jun-2011  matt Use a standard INSTALL.inc instead of duplicating it. Make INSTALL
variants of mpc85xx kernels.
 1.2 27-May-2011  matt branches: 1.2.2; 1.2.4;
Comment out sdhc for now.
Remove PCI devices that will never be there.
 1.1 16-Mar-2011  matt branches: 1.1.2;
First pass at a P2020RDB configuration.
 1.1.2.4 12-Jun-2011  rmind sync with head
 1.1.2.3 31-May-2011  rmind sync with head
 1.1.2.2 21-Apr-2011  rmind sync with head
 1.1.2.1 16-Mar-2011  rmind file P2020RDB was added on branch rmind-uvmplock on 2011-04-21 01:41:00 +0000
 1.2.4.2 06-Jun-2011  jruoho Sync with HEAD.
 1.2.4.1 27-May-2011  jruoho file P2020RDB was added on branch jruoho-x86intr on 2011-06-06 09:05:31 +0000
 1.2.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.10.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.10.2.2 30-Oct-2012  yamt sync with head
 1.10.2.1 17-Apr-2012  yamt sync with head
 1.11.2.1 18-Feb-2012  mrg merge to -current.
 1.16.2.4 03-Dec-2017  jdolecek update from HEAD
 1.16.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.16.2.2 23-Jun-2013  tls resync from head
 1.16.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.20.2.1 28-Aug-2013  rmind sync with head
 1.25.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.25.4.1 20-Mar-2017  pgoyette Sync with HEAD
 1.25.2.1 28-Aug-2017  skrll Sync with HEAD
 1.29.4.1 10-Jun-2019  christos Sync with HEAD
 1.29.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1 29-Jun-2011  matt Add some config files for the P2020.
 1.58 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.57 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.56 29-Jun-2021  nia Remove uscanner(4) driver

This exists for compatibility with a Linux interface which was apparently
deprecated in Linux 2.6. There are various mailing list threads going
back to 2004 where the usefulness of this driver is discussed, but
the conclusion is that scanner software has all moved to using ugen(4)
instead, and enabling this driver will not help you scan things.
 1.55 16-May-2020  maya branches: 1.55.6;
Remove uyap, USB YAP phone firmware loader.

And the associated ezload EZ-USB code, which is only used by uyap.
It could theoretically be used by other drivers, but none of them are
in tree.

I suspect that this device isn't in use, as phone technology has improved
a lot since 2001 when uyap(4) was added to the tree.

Proposed with no objections on netbsd-users on 13 April 2020
 1.54 29-Jan-2020  maya remove urio(4), a driver for the Rio500 MP3 player.

At this point it is highly unlikely this 1999 device still has users,
but it still comes up in the context of maxv's USB-fuzzing (and any device
could pretend to be a urio(4)), so it's best to get rid of it.

Renamed all major entries to obsolete, as was done in previous removals.

This still requires an update to sanitizers, but they're located in
"external", perhaps it should be first committed upstream?

Proposed on tech-kern a month ago.
 1.53 25-Jan-2020  thorpej Retire "le* at pci?" from the shipped kernel configs:
- If the config had both an le@pci and a pcn, simply remove le@pci
(pcn would match at a higher priority anyway).
- If the config had le@pci enabled, but no pcn, change le@pci to pcn.
- If the config had le@pci commented out, but no pcn, change le@pci
to pcn and leave it commented out.

The pcn driver supports more chips than le@pci and does DMA directly
to/from mbufs rather than memory copies.
 1.52 20-Jan-2020  thorpej Remove FDDI support.
 1.51 19-Jan-2020  thorpej Remove HIPPI support and the esh(4) driver that uses it. There have not
been any users of HIPPI for some time, and it is unlikely to be resurrected.
 1.50 26-Apr-2019  sevan branches: 1.50.4;
Enable BUFQ_PRIOCSCAN, CARP, Veriexec by default in GENERIC kernel configs.
On ports without a GENERIC kernel config enable in individul files, e.g evbmips.
Omit on:
atari, dreamcast, emips, epoc32, evbppc/VIRTEX*, ia64, luna68x, mvme68k,
mvmeppc, playstation2, riscv, sun2, sun3, x68k, zaurus due to resource
constraints or port infancy.
 1.49 13-Apr-2019  isaki Add drvctl to kernel which has audio device.
audiocfg(1) requires drvctl(4).
 1.48 06-Feb-2019  rin Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.47 12-Dec-2018  maxv Remove references to "lmc" in the kernel configurations.
 1.46 23-Oct-2018  jdolecek remove the 'wd* at umass?' for the non-standardized and rare (extinct?)
In-System Design ATA protocol over Bulk-Only devices from most kernels,
leave only in i386/amd64 ALL; it's unmaintained and likely currently broken,
lack of test hardware makes it impossible to support
 1.45 06-Sep-2018  maxv Retire the 'midway' driver. Discussed on tech-net@ recently and also three
years ago, part of removing the network ATM code.
 1.44 25-Aug-2018  rin Add (commented out) mue(4) to where appropriate.
Also add MII/PHY drivers for USB NICs if missing.
 1.43 01-Aug-2018  maxv Unreference IPF/PF from all the config files, and enable NPF instead when
wanted. This also fixes some inconsistencies I saw in several files (eg
IPF options while IPF was not compiled, IPF+PF enabled by default, etc).
 1.42 14-Sep-2017  mrg branches: 1.42.2; 1.42.4;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.41 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.40 19-Feb-2017  rin PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.39 13-Dec-2016  christos branches: 1.39.2;
wildcard speaker attachments, now that we can handle many of them.
 1.38 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.37 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.36 19-Mar-2016  gdt branches: 1.36.2;
Disable uscanner in all kernel configs

As discussed on current-users@, SANE uses ugen via libusb and not
uscanner, so users are not well served by having uscanner. Consensus
is that addressing how to adjust permissions for scanners should not
block restoring basic functionionality.

(Compile-tested only, but there are multiple reports of this being the
right approach.)
 1.35 15-Oct-2014  uebayasi branches: 1.35.2;
Fix builds.
 1.34 23-Aug-2014  dholland Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.33 17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.32 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.31 10-Aug-2014  joerg LLVM builds have a slightly larger symbol table, so bump the space.
 1.30 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.29 05-Jun-2013  christos branches: 1.29.2;
remove obsolete networking options
 1.28 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.27 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.26 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.25 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.24 18-Dec-2011  dholland branches: 1.24.6;
WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.23 22-Nov-2011  tls branches: 1.23.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.22 30-Jun-2011  wiz branches: 1.22.2;
dependant -> dependent
 1.21 16-Mar-2011  matt Enable COMPAT_50
 1.20 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.19 02-Mar-2011  ahoka Resolve build failures caused by local use of "device flash" in config.
 1.18 18-Jan-2011  matt branches: 1.18.2;
Add TMPFS and ksyms. Add an INSTALL variant
 1.17 23-Nov-2010  hannken branches: 1.17.2;
Remove unused count from pseudo-device md.
 1.16 02-Nov-2010  uebayasi Don't build flash because it's not implemented.
 1.15 08-May-2010  mrg enable IPFILTER_COMPAT in all kernels that have ipfilter already.
canonicalise several of the ipf option segments in various files
(this mostly means adding commented out IPFILTER_DEFAULT_BLOCK,
or adding commented or uncommented IPFILTER_LOG or IPFILTER_LOOKUP
option statements.)

i built about 20 of these kernels to check, but not all of them.
 1.14 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.13 07-Mar-2010  plunky branches: 1.13.2;
add uhso(4) device where appropriate
- follow the lead of other USB driver declarations wrt commented out
- (cross-)build tested all these kernels
 1.12 08-Feb-2010  joerg Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
 1.11 24-Dec-2009  kiyohara branches: 1.11.2;
Add COMPAT_50.
 1.10 05-Dec-2009  pooka Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.9 21-Aug-2009  tsutsui Bump SYMTAB_SPACE.
 1.8 06-Mar-2009  joerg Remove SHMMAXPGS from all kernel configs. Dynamically compute the
initial limit as 1/4 of the physical memory. Ensure the limit is at
least 1024 pages, the old default on most platforms.
 1.7 24-Nov-2008  ad branches: 1.7.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.5 31-Jul-2008  simonb branches: 1.5.2; 1.5.12;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.4 30-May-2008  tsutsui branches: 1.4.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.3 02-Dec-2007  ad branches: 1.3.14; 1.3.16; 1.3.18; 1.3.20;
Bump SYMTAB_SPACE
 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 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10;
file PMPPC was initially added on branch ppcoea-renovation.
 1.1.10.1 25-Oct-2007  bouyer Sync with HEAD.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.2 03-Dec-2007  joerg Sync with HEAD.
 1.1.6.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.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.8.3 09-Jan-2008  matt sync with HEAD
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file PMPPC was added on branch matt-armv6 on 2007-11-06 23:16:12 +0000
 1.2.6.1 08-Dec-2007  mjf Sync with HEAD.
 1.2.4.3 07-Dec-2007  yamt sync with head
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file PMPPC was added on branch yamt-lazymbuf on 2007-10-27 11:25:51 +0000
 1.2.2.3 03-Dec-2007  ad Sync with HEAD.
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file PMPPC was added on branch vmlocking on 2007-10-23 20:35:41 +0000
 1.3.20.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.3.20.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.3.18.4 11-Aug-2010  yamt sync with head.
 1.3.18.3 11-Mar-2010  yamt sync with head
 1.3.18.2 16-Sep-2009  yamt sync with head
 1.3.18.1 04-May-2009  yamt sync with head.
 1.3.16.1 04-Jun-2008  yamt sync with head
 1.3.14.3 17-Jan-2009  mjf Sync with HEAD.
 1.3.14.2 28-Sep-2008  mjf Sync with HEAD.
 1.3.14.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.4.4.1 19-Oct-2008  haad Sync with HEAD.
 1.5.12.2 17-Jan-2011  matt Add TMPFS
 1.5.12.1 07-Jan-2011  matt Bump SYMTAB_SPACE
 1.5.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.5.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.7.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.11.2.3 06-Nov-2010  uebayasi Sync with HEAD.
 1.11.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.11.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.13.2.3 21-Apr-2011  rmind sync with head
 1.13.2.2 05-Mar-2011  rmind sync with head
 1.13.2.1 30-May-2010  rmind sync with head
 1.17.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.18.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.18.2.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.22.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.22.2.2 30-Oct-2012  yamt sync with head
 1.22.2.1 17-Apr-2012  yamt sync with head
 1.23.2.1 18-Feb-2012  mrg merge to -current.
 1.24.6.4 03-Dec-2017  jdolecek update from HEAD
 1.24.6.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.24.6.2 23-Jun-2013  tls resync from head
 1.24.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.29.2.1 28-Aug-2013  rmind sync with head
 1.35.2.3 28-Aug-2017  skrll Sync with HEAD
 1.35.2.2 05-Feb-2017  skrll Sync with HEAD
 1.35.2.1 22-Apr-2016  skrll Sync with HEAD
 1.36.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.36.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.39.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.42.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.42.4.1 10-Jun-2019  christos Sync with HEAD
 1.42.2.4 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.42.2.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.42.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.42.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.50.4.2 29-Feb-2020  ad Sync with head.
 1.50.4.1 25-Jan-2020  ad Sync with head.
 1.55.6.1 01-Aug-2021  thorpej Sync with HEAD.
 1.41 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.40 07-Aug-2022  rin Enable UFS_DIRHASH; this machine has 256MB RAM :)
 1.39 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.38 10-Nov-2020  rin Add nvme(4) and ahcisata(4).

Both work fine via miniPCIe to M.2 adapter.
 1.37 26-Apr-2019  sevan branches: 1.37.10;
Enable BUFQ_PRIOCSCAN, CARP, Veriexec by default in GENERIC kernel configs.
On ports without a GENERIC kernel config enable in individul files, e.g evbmips.
Omit on:
atari, dreamcast, emips, epoc32, evbppc/VIRTEX*, ia64, luna68x, mvme68k,
mvmeppc, playstation2, riscv, sun2, sun3, x68k, zaurus due to resource
constraints or port infancy.
 1.36 01-Aug-2018  maxv Unreference IPF/PF from all the config files, and enable NPF instead when
wanted. This also fixes some inconsistencies I saw in several files (eg
IPF options while IPF was not compiled, IPF+PF enabled by default, etc).
 1.35 05-Feb-2018  maxv branches: 1.35.2; 1.35.4;
Nuke DIRECTED_BROADCAST, it is not documented and not enabled anywhere. It
probably wouldn't have built correctly anyway, since there is no associated
defflag.

These ten lines of code in ip_input.c already look a lot better.
 1.34 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.33 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.32 19-Feb-2017  rin PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.31 06-Mar-2015  nonaka branches: 1.31.2; 1.31.4;
RouterBOARD RB800 don't use u-boot.
 1.30 24-Aug-2014  jnemeth branches: 1.30.2;
Create an "options MODULAR_DEFAULT_AUTOLOAD" config option and add
it to all kernel configs that contain "options MODULAR". This
option turns on module autoloading by default (which is the current
default). This allows people who don't want module autoloading on
by default to disable it by simply removing/commentting this line.
 1.29 23-Aug-2014  dholland Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.28 17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.27 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.26 30-Jun-2013  rmind branches: 1.26.6;
G/C PFIL_HOOKS from the kernel configs.
 1.25 05-Jun-2013  christos branches: 1.25.2;
remove obsolete networking options
 1.24 27-Apr-2013  christos more bogus number removal
 1.23 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.22 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.21 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.20 17-Aug-2012  abs branches: 1.20.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.19 24-Jul-2012  matt Add drvctl
 1.18 23-Jul-2012  matt Add DKWEDGE_AUTODISCOVERY and DKWEDGE_GPT support.
 1.17 22-Jul-2012  matt Split mdio/mii access into its own "device" and update accordingly.
(on the P1025 the mdio functionality is separate from the etsec functions).
Provide locking for mii access.
 1.16 19-Jan-2012  matt Add cfi/nor
 1.15 18-Dec-2011  dholland 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 16-Jul-2011  matt branches: 1.13.2;
Remove dead devices (replaced by pq3cfi).
 1.12 30-Jun-2011  wiz dependant -> dependent
 1.11 24-Jun-2011  matt Default PAX_ASLR to off.
 1.10 24-Jun-2011  matt Turn on PAX_ASLR
 1.9 20-Jun-2011  matt Add options MODULAR
 1.8 11-Jun-2011  matt Add missing no options GUR_BASE
 1.7 10-Jun-2011  matt Change default of GUR_BASE to 0xffe00000 which is used on more recent machines.
Add options GUR_BASE=0xe0000000 to MPC8548CDS and RB800
 1.6 08-Jun-2011  matt Use a standard INSTALL.inc instead of duplicating it. Make INSTALL
variants of mpc85xx kernels.
 1.5 28-May-2011  matt branches: 1.5.2;
NEEDS_MDSETIMAGE -> NEED_MDSETIMAGE
 1.4 16-Mar-2011  matt Add alc device.
 1.3 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.2 18-Jan-2011  matt branches: 1.2.2; 1.2.4;
Add support for various MPC85xx platforms. The MPC8536DS and MPC8548CDS
development systems and the RB800 (routerboard 800) platform. The CF on
the RB800 doesn't work yet.
 1.1 07-Jan-2011  matt branches: 1.1.2; 1.1.4;
file RB800 was initially added on branch matt-nb5-pq3.
 1.1.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.2.2 17-Jan-2011  matt Enable SPE for RB800.
Add SPE tidbits for mpc85xx.
 1.1.2.1 07-Jan-2011  matt Add mpc85xx support for MPC8536DS (Freescale Development System),
MPC8548CDS (Freescale Development System), and RB800 (RouterBoard 800).
 1.2.4.5 12-Jun-2011  rmind sync with head
 1.2.4.4 31-May-2011  rmind sync with head
 1.2.4.3 21-Apr-2011  rmind sync with head
 1.2.4.2 05-Mar-2011  rmind sync with head
 1.2.4.1 18-Jan-2011  rmind file RB800 was added on branch rmind-uvmplock on 2011-03-05 20:50:15 +0000
 1.2.2.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.5.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 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.20.2.4 03-Dec-2017  jdolecek update from HEAD
 1.20.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.20.2.2 23-Jun-2013  tls resync from head
 1.20.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.25.2.1 28-Aug-2013  rmind sync with head
 1.26.6.1 15-May-2015  snj Pull up following revision(s) (requested by jnemeth in ticket #762):
share/man/man4/options.4: revision 1.442
sys/arch/amd64/conf/ALL: revision 1.18
sys/arch/amd64/conf/GENERIC: revision 1.396
sys/arch/dreamcast/conf/GENERIC: revision 1.119
sys/arch/epoc32/conf/GENERIC: revision 1.6
sys/arch/evbarm/conf/BCM5301X: revision 1.24
sys/arch/evbarm/conf/BCM56340: revision 1.9
sys/arch/evbarm/conf/IMX23_OLINUXINO: revision 1.9
sys/arch/evbarm/conf/std.beagle: revision 1.13
sys/arch/evbarm/conf/std.kobo: revision 1.2
sys/arch/evbarm/conf/std.netwalker: revision 1.10
sys/arch/evbppc/conf/P2020DS: revision 1.25
sys/arch/evbppc/conf/RB800: revision 1.30
sys/arch/evbppc/conf/TWRP1025: revision 1.18
sys/arch/hp300/conf/GENERIC: revision 1.187
sys/arch/hpcsh/conf/GENERIC: revision 1.104
sys/arch/i386/conf/GENERIC: revision 1.1111
sys/arch/i386/conf/MONOLITHIC: revision 1.17
sys/arch/landisk/conf/GENERIC: revision 1.43
sys/arch/luna68k/conf/GENERIC: revision 1.117
sys/arch/macppc/conf/GENERIC: revision 1.316
sys/arch/macppc/conf/GENERIC_601: revision 1.5
sys/arch/mmeye/conf/MMEYE_WLF: revision 1.16
sys/arch/news68k/conf/GENERIC: revision 1.123
sys/arch/sandpoint/conf/GENERIC: revision 1.85
sys/arch/shark/conf/GENERIC: revision 1.119
sys/arch/sparc/conf/GENERIC: revision 1.246
sys/arch/sparc64/conf/GENERIC: revision 1.174
sys/arch/sun3/conf/GENERIC3X: revision 1.125
sys/arch/sun3/conf/GENERIC: revision 1.169
sys/arch/x68k/conf/GENERIC: revision 1.177
sys/arch/zaurus/conf/GENERIC: revision 1.62
sys/conf/files: revision 1.1099
sys/kern/kern_module.c: revisions 1.98, 1.99
Create an "options MODULAR_DEFAULT_AUTOLOAD" config option and add
it to all kernel configs that contain "options MODULAR". This
option turns on module autoloading by default (which is the current
default). This allows people who don't want module autoloading on
by default to disable it by simply removing/commentting this line.
--
fix typo. (s/MODULE_DEFAULT_AUTOLOAD/MODULAR_DEFAULT_AUTOLOAD/)
 1.30.2.2 28-Aug-2017  skrll Sync with HEAD
 1.30.2.1 06-Apr-2015  skrll Sync with HEAD
 1.31.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.31.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.35.4.1 10-Jun-2019  christos Sync with HEAD
 1.35.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.37.10.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.8 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.7 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.6 26-Apr-2019  sevan Enable BUFQ_PRIOCSCAN, CARP, Veriexec by default in GENERIC kernel configs.
On ports without a GENERIC kernel config enable in individul files, e.g evbmips.
Omit on:
atari, dreamcast, emips, epoc32, evbppc/VIRTEX*, ia64, luna68x, mvme68k,
mvmeppc, playstation2, riscv, sun2, sun3, x68k, zaurus due to resource
constraints or port infancy.
 1.5 01-Aug-2018  maxv Unreference IPF/PF from all the config files, and enable NPF instead when
wanted. This also fixes some inconsistencies I saw in several files (eg
IPF options while IPF was not compiled, IPF+PF enabled by default, etc).
 1.4 14-Sep-2017  mrg branches: 1.4.2; 1.4.4; 1.4.6;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.3 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.2 19-Feb-2017  rin PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.1 30-Jan-2015  nonaka branches: 1.1.2; 1.1.4; 1.1.6;
Added RouterBOARD RB850Gx2 config. md root only.
 1.1.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.4.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.2.3 28-Aug-2017  skrll Sync with HEAD
 1.1.2.2 06-Apr-2015  skrll Sync with HEAD
 1.1.2.1 30-Jan-2015  skrll file RB850GX2 was added on branch nick-nhusb on 2015-04-06 15:17:56 +0000
 1.4.6.1 10-Jun-2019  christos Sync with HEAD
 1.4.4.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.4.2.2 03-Dec-2017  jdolecek update from HEAD
 1.4.2.1 14-Sep-2017  jdolecek file RB850GX2 was added on branch tls-maxphys on 2017-12-03 11:36:11 +0000
 1.31 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.30 09-Feb-2023  abs Adjust _all_ cinclude of *.local files

- Ensure always at end
- Use tab rather than spaces
- Add consistent comment
"Pull in optional local configuration - always at end"

The only functional change is that a local file which tried to
override an existing setting (eg with "no foo") would have failed
in some cases before, but now will work
 1.29 29-Sep-2022  riastradh swwdog(4): Add to GENERIC kernels.

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

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

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

PR kern/29702
 1.28 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.27 26-Apr-2019  sevan Enable BUFQ_PRIOCSCAN, CARP, Veriexec by default in GENERIC kernel configs.
On ports without a GENERIC kernel config enable in individul files, e.g evbmips.
Omit on:
atari, dreamcast, emips, epoc32, evbppc/VIRTEX*, ia64, luna68x, mvme68k,
mvmeppc, playstation2, riscv, sun2, sun3, x68k, zaurus due to resource
constraints or port infancy.
 1.26 01-Aug-2018  maxv Unreference IPF/PF from all the config files, and enable NPF instead when
wanted. This also fixes some inconsistencies I saw in several files (eg
IPF options while IPF was not compiled, IPF+PF enabled by default, etc).
 1.25 05-Feb-2018  maxv branches: 1.25.2; 1.25.4;
Nuke DIRECTED_BROADCAST, it is not documented and not enabled anywhere. It
probably wouldn't have built correctly anyway, since there is no associated
defflag.

These ten lines of code in ip_input.c already look a lot better.
 1.24 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.23 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.22 19-Feb-2017  rin PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.21 26-Jun-2015  matt branches: 1.21.2; 1.21.4;
Add cinlude TWRP1025.local
 1.20 30-Jan-2015  nonaka Added lockstat
 1.19 26-Dec-2014  nonaka Uncommented out INET6.
 1.18 24-Aug-2014  jnemeth branches: 1.18.2;
Create an "options MODULAR_DEFAULT_AUTOLOAD" config option and add
it to all kernel configs that contain "options MODULAR". This
option turns on module autoloading by default (which is the current
default). This allows people who don't want module autoloading on
by default to disable it by simply removing/commentting this line.
 1.17 23-Aug-2014  dholland Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.16 17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.15 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.14 06-Mar-2014  joerg branches: 1.14.4;
Add config variant for root-on-SD.
 1.13 06-Mar-2014  matt Add options MODULAR
 1.12 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.11 05-Jun-2013  christos branches: 1.11.2;
remove obsolete networking options
 1.10 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.9 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.8 17-Oct-2012  apb branches: 1.8.2;
Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.7 17-Aug-2012  abs branches: 1.7.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.6 24-Jul-2012  matt Add drvctl
 1.5 22-Jul-2012  matt Split mdio/mii access into its own "device" and update accordingly.
(on the P1025 the mdio functionality is separate from the etsec functions).
Provide locking for mii access.
 1.4 18-Jul-2012  matt This has a 64MB NOR, not 16MB.
 1.3 18-Jul-2012  matt Add gpt/dkwedge support.
Cleanup a few options <sp><tab> problems
 1.2 17-Jul-2012  matt The ETSEC on the P1025 has been moved/split so the MDIO stayed in the same
place but each ETSEC has been split into two virtual halves (G0 and G1) and
each one has a new different base address.
For some reason, tsec1 connects to phy 2 and tsec2 connects to phy 1.
Adjust config file to match
 1.1 15-Jul-2012  matt Add support for the Freescale TWR-P1025 evaluation board and the P1025/P1016
QorIQ processors. XXX tsec isn't working yet on the TWR-P1025.
 1.7.2.4 03-Dec-2017  jdolecek update from HEAD
 1.7.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7.2.2 23-Jun-2013  tls resync from head
 1.7.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.8.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.8.2.2 30-Oct-2012  yamt sync with head
 1.8.2.1 17-Oct-2012  yamt file TWRP1025 was added on branch yamt-pagecache on 2012-10-30 17:19:30 +0000
 1.11.2.2 18-May-2014  rmind sync with head
 1.11.2.1 28-Aug-2013  rmind sync with head
 1.14.4.1 15-May-2015  snj Pull up following revision(s) (requested by jnemeth in ticket #762):
share/man/man4/options.4: revision 1.442
sys/arch/amd64/conf/ALL: revision 1.18
sys/arch/amd64/conf/GENERIC: revision 1.396
sys/arch/dreamcast/conf/GENERIC: revision 1.119
sys/arch/epoc32/conf/GENERIC: revision 1.6
sys/arch/evbarm/conf/BCM5301X: revision 1.24
sys/arch/evbarm/conf/BCM56340: revision 1.9
sys/arch/evbarm/conf/IMX23_OLINUXINO: revision 1.9
sys/arch/evbarm/conf/std.beagle: revision 1.13
sys/arch/evbarm/conf/std.kobo: revision 1.2
sys/arch/evbarm/conf/std.netwalker: revision 1.10
sys/arch/evbppc/conf/P2020DS: revision 1.25
sys/arch/evbppc/conf/RB800: revision 1.30
sys/arch/evbppc/conf/TWRP1025: revision 1.18
sys/arch/hp300/conf/GENERIC: revision 1.187
sys/arch/hpcsh/conf/GENERIC: revision 1.104
sys/arch/i386/conf/GENERIC: revision 1.1111
sys/arch/i386/conf/MONOLITHIC: revision 1.17
sys/arch/landisk/conf/GENERIC: revision 1.43
sys/arch/luna68k/conf/GENERIC: revision 1.117
sys/arch/macppc/conf/GENERIC: revision 1.316
sys/arch/macppc/conf/GENERIC_601: revision 1.5
sys/arch/mmeye/conf/MMEYE_WLF: revision 1.16
sys/arch/news68k/conf/GENERIC: revision 1.123
sys/arch/sandpoint/conf/GENERIC: revision 1.85
sys/arch/shark/conf/GENERIC: revision 1.119
sys/arch/sparc/conf/GENERIC: revision 1.246
sys/arch/sparc64/conf/GENERIC: revision 1.174
sys/arch/sun3/conf/GENERIC3X: revision 1.125
sys/arch/sun3/conf/GENERIC: revision 1.169
sys/arch/x68k/conf/GENERIC: revision 1.177
sys/arch/zaurus/conf/GENERIC: revision 1.62
sys/conf/files: revision 1.1099
sys/kern/kern_module.c: revisions 1.98, 1.99
Create an "options MODULAR_DEFAULT_AUTOLOAD" config option and add
it to all kernel configs that contain "options MODULAR". This
option turns on module autoloading by default (which is the current
default). This allows people who don't want module autoloading on
by default to disable it by simply removing/commentting this line.
--
fix typo. (s/MODULE_DEFAULT_AUTOLOAD/MODULAR_DEFAULT_AUTOLOAD/)
 1.18.2.3 28-Aug-2017  skrll Sync with HEAD
 1.18.2.2 22-Sep-2015  skrll Sync with HEAD
 1.18.2.1 06-Apr-2015  skrll Sync with HEAD
 1.21.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.21.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.25.4.1 10-Jun-2019  christos Sync with HEAD
 1.25.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1 15-Jul-2012  matt branches: 1.1.4;
Add support for the Freescale TWR-P1025 evaluation board and the P1025/P1016
QorIQ processors. XXX tsec isn't working yet on the TWR-P1025.
 1.1.4.2 30-Oct-2012  yamt sync with head
 1.1.4.1 15-Jul-2012  yamt file TWRP1025.MP was added on branch yamt-pagecache on 2012-10-30 17:19:30 +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 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.32 01-Aug-2018  maxv Unreference IPF/PF from all the config files, and enable NPF instead when
wanted. This also fixes some inconsistencies I saw in several files (eg
IPF options while IPF was not compiled, IPF+PF enabled by default, etc).
 1.31 05-Feb-2018  maxv branches: 1.31.2; 1.31.4;
Nuke DIRECTED_BROADCAST, it is not documented and not enabled anywhere. It
probably wouldn't have built correctly anyway, since there is no associated
defflag.

These ten lines of code in ip_input.c already look a lot better.
 1.30 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.29 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 2.
 1.28 21-Aug-2015  uebayasi Add `pseudo-device ksyms' where `options DDB' is used, because
config(1)/config(5) can't handle module dependency correctly at this
moment.

(This is another proof that shared file definition (`file xxx.c a|b')
is a bad idea.)
 1.27 07-Aug-2015  maxv Remove the KMEMSTATS option. It no longer exists.
 1.26 23-Aug-2014  dholland branches: 1.26.2;
Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.25 17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.24 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.23 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.22 05-Jun-2013  christos branches: 1.22.2;
remove obsolete networking options
 1.21 27-Apr-2013  christos the bogus number police
 1.20 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.19 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.18 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.17 05-Jun-2012  abs branches: 1.17.2;
Adjust the WSDISPLAY_COMPAT_USL comment to mention wsconscfg, to at least
give a hint that its not just for third party compat. No functional change.
 1.16 18-Dec-2011  dholland branches: 1.16.2;
WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.15 22-Nov-2011  tls branches: 1.15.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.14 30-Jun-2011  wiz branches: 1.14.2;
dependant -> dependent
 1.13 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.12 06-Feb-2011  jmcneill - add support for using compressed images as splash images
- retire SPLASHSCREEN_PROGRESS and SPLASHSCREEN_IMAGE options
 1.11 23-Nov-2010  hannken branches: 1.11.2; 1.11.4;
Remove unused count from pseudo-device md.
 1.10 08-May-2010  mrg enable IPFILTER_COMPAT in all kernels that have ipfilter already.
canonicalise several of the ipf option segments in various files
(this mostly means adding commented out IPFILTER_DEFAULT_BLOCK,
or adding commented or uncommented IPFILTER_LOG or IPFILTER_LOOKUP
option statements.)

i built about 20 of these kernels to check, but not all of them.
 1.9 08-Feb-2010  joerg branches: 1.9.2;
Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
 1.8 24-Dec-2009  kiyohara branches: 1.8.2;
Add COMPAT_50.
 1.7 05-Dec-2009  pooka Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.6 06-Mar-2009  joerg Remove SHMMAXPGS from all kernel configs. Dynamically compute the
initial limit as 1/4 of the physical memory. Ensure the limit is at
least 1024 pages, the old default on most platforms.
 1.5 24-Nov-2008  ad branches: 1.5.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.3 31-Jul-2008  simonb branches: 1.3.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.2 30-May-2008  tsutsui branches: 1.2.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.50; 1.1.52; 1.1.54; 1.1.56;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.56.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.1.56.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.1.54.3 11-Aug-2010  yamt sync with head.
 1.1.54.2 11-Mar-2010  yamt sync with head
 1.1.54.1 04-May-2009  yamt sync with head.
 1.1.52.1 04-Jun-2008  yamt sync with head
 1.1.50.3 17-Jan-2009  mjf Sync with HEAD.
 1.1.50.2 28-Sep-2008  mjf Sync with HEAD.
 1.1.50.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file VIRTEX_DFC was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file VIRTEX_DFC was added on branch yamt-lazymbuf on 2006-12-30 20:45:52 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file VIRTEX_DFC was added on branch yamt-splraiseipl on 2006-12-10 07:15:53 +0000
 1.2.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.2.4.1 19-Oct-2008  haad Sync with HEAD.
 1.3.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.3.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.5.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.8.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.9.2.3 21-Apr-2011  rmind sync with head
 1.9.2.2 05-Mar-2011  rmind sync with head
 1.9.2.1 30-May-2010  rmind sync with head
 1.11.4.2 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.11.4.1 08-Feb-2011  bouyer Sync with HEAD
 1.11.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.14.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.14.2.2 30-Oct-2012  yamt sync with head
 1.14.2.1 17-Apr-2012  yamt sync with head
 1.15.2.1 18-Feb-2012  mrg merge to -current.
 1.16.2.1 12-Jun-2012  riz Pull up following revision(s) (requested by abs in ticket #311):
sys/arch/netwinder/conf/GENERIC: revision 1.112
sys/arch/i386/conf/GENERIC: revision 1.1074
sys/arch/atari/conf/MILAN.in: revision 1.26
sys/arch/zaurus/conf/GENERIC: revision 1.54
sys/arch/shark/conf/GENERIC: revision 1.101
sys/arch/hpcmips/conf/MPC303: revision 1.60
sys/arch/i386/conf/XEN3_DOM0: revision 1.67
sys/arch/evbarm/conf/MPCSA_GENERIC: revision 1.29
sys/arch/vax/conf/GENERIC: revision 1.181
sys/arch/sparc/conf/KRUPS: revision 1.59
sys/arch/evbarm/conf/BEAGLEBOARD: revision 1.27
sys/arch/i386/conf/INSTALL_FLOPPY: revision 1.16
sys/arch/prep/conf/GENERIC: revision 1.163
sys/arch/hpcmips/conf/GENERIC: revision 1.216
sys/arch/sparc/conf/TADPOLE3GX: revision 1.56
sys/arch/shark/conf/INSTALL: revision 1.50
sys/arch/next68k/conf/GENERIC: revision 1.127
sys/arch/evbppc/conf/VIRTEX_GSRD2: revision 1.16
sys/arch/evbppc/conf/VIRTEX_DFC: revision 1.17
sys/arch/evbppc/conf/EXPLORA451: revision 1.48
sys/arch/bebox/conf/INSTALL: revision 1.54
sys/arch/next68k/conf/SLAB: revision 1.46
sys/arch/i386/conf/GENERIC_TINY: revision 1.132
sys/arch/bebox/conf/GENERIC: revision 1.131
sys/arch/amd64/conf/XEN3_DOM0: revision 1.84
sys/arch/amd64/conf/GENERIC: revision 1.356
sys/arch/evbarm/conf/MMNET_GENERIC: revision 1.6
share/man/man4/wscons.4: revision 1.31
sys/arch/hpcmips/conf/TX3912: revision 1.79
sys/arch/evbarm/conf/ARMADILLO9: revision 1.35
sys/arch/hpcsh/conf/GENERIC: revision 1.97
sys/arch/i386/conf/ALL: revision 1.339
sys/arch/hpcmips/conf/TX3922: revision 1.93
sys/arch/cats/conf/INSTALL: revision 1.82
sys/arch/sparc64/conf/GENERIC: revision 1.151
sys/arch/i386/conf/INSTALL_TINY: revision 1.135
sys/arch/evbppc/conf/VIRTEX_GSRD1: revision 1.15
sys/arch/evbarm/conf/TS7200: revision 1.49
sys/arch/hpcmips/conf/VR41XX: revision 1.55
sys/arch/hp700/conf/GENERIC: revision 1.115
sys/arch/cats/conf/GENERIC: revision 1.140
Mention wsconscfg(8) needs WSDISPLAY_COMPAT_USL
If a port is going to have wscons for virtual terminals then it really make=
s
sense to enable WSDISPLAY_COMPAT_USL so the system can switch between the
virtual terminals...
Adjust the WSDISPLAY_COMPAT_USL comment to mention wsconscfg, to at least
give a hint that its not just for third party compat. No functional change.
 1.17.2.4 03-Dec-2017  jdolecek update from HEAD
 1.17.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.17.2.2 23-Jun-2013  tls resync from head
 1.17.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.22.2.1 28-Aug-2013  rmind sync with head
 1.26.2.2 28-Aug-2017  skrll Sync with HEAD
 1.26.2.1 22-Sep-2015  skrll Sync with HEAD
 1.31.4.1 10-Jun-2019  christos Sync with HEAD
 1.31.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.32 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.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 01-Aug-2018  maxv Unreference IPF/PF from all the config files, and enable NPF instead when
wanted. This also fixes some inconsistencies I saw in several files (eg
IPF options while IPF was not compiled, IPF+PF enabled by default, etc).
 1.29 05-Feb-2018  maxv branches: 1.29.2; 1.29.4;
Nuke DIRECTED_BROADCAST, it is not documented and not enabled anywhere. It
probably wouldn't have built correctly anyway, since there is no associated
defflag.

These ten lines of code in ip_input.c already look a lot better.
 1.28 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.27 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 2.
 1.26 21-Aug-2015  uebayasi Add `pseudo-device ksyms' where `options DDB' is used, because
config(1)/config(5) can't handle module dependency correctly at this
moment.

(This is another proof that shared file definition (`file xxx.c a|b')
is a bad idea.)
 1.25 07-Aug-2015  maxv Remove the KMEMSTATS option. It no longer exists.
 1.24 23-Aug-2014  dholland branches: 1.24.2;
Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.23 17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.22 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.21 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.20 05-Jun-2013  christos branches: 1.20.2;
remove obsolete networking options
 1.19 27-Apr-2013  christos the bogus number police
 1.18 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.17 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.16 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.15 05-Jun-2012  abs branches: 1.15.2;
Adjust the WSDISPLAY_COMPAT_USL comment to mention wsconscfg, to at least
give a hint that its not just for third party compat. No functional change.
 1.14 18-Dec-2011  dholland branches: 1.14.2;
WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.13 22-Nov-2011  tls branches: 1.13.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.12 30-Jun-2011  wiz branches: 1.12.2;
dependant -> dependent
 1.11 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.10 23-Nov-2010  hannken branches: 1.10.2; 1.10.4;
Remove unused count from pseudo-device md.
 1.9 08-Feb-2010  joerg branches: 1.9.2;
Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
 1.8 24-Dec-2009  kiyohara branches: 1.8.2;
Add COMPAT_50.
 1.7 05-Dec-2009  pooka Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.6 06-Mar-2009  joerg Remove SHMMAXPGS from all kernel configs. Dynamically compute the
initial limit as 1/4 of the physical memory. Ensure the limit is at
least 1024 pages, the old default on most platforms.
 1.5 24-Nov-2008  ad branches: 1.5.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.3 31-Jul-2008  simonb branches: 1.3.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.2 30-May-2008  tsutsui branches: 1.2.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.50; 1.1.52; 1.1.54; 1.1.56;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.56.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.1.56.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.1.54.2 11-Mar-2010  yamt sync with head
 1.1.54.1 04-May-2009  yamt sync with head.
 1.1.52.1 04-Jun-2008  yamt sync with head
 1.1.50.3 17-Jan-2009  mjf Sync with HEAD.
 1.1.50.2 28-Sep-2008  mjf Sync with HEAD.
 1.1.50.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file VIRTEX_GSRD1 was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file VIRTEX_GSRD1 was added on branch yamt-lazymbuf on 2006-12-30 20:45:52 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file VIRTEX_GSRD1 was added on branch yamt-splraiseipl on 2006-12-10 07:15:53 +0000
 1.2.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.2.4.1 19-Oct-2008  haad Sync with HEAD.
 1.3.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.3.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.5.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.9.2.2 21-Apr-2011  rmind sync with head
 1.9.2.1 05-Mar-2011  rmind sync with head
 1.10.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.10.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.12.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.12.2.2 30-Oct-2012  yamt sync with head
 1.12.2.1 17-Apr-2012  yamt sync with head
 1.13.2.1 18-Feb-2012  mrg merge to -current.
 1.14.2.1 12-Jun-2012  riz Pull up following revision(s) (requested by abs in ticket #311):
sys/arch/netwinder/conf/GENERIC: revision 1.112
sys/arch/i386/conf/GENERIC: revision 1.1074
sys/arch/atari/conf/MILAN.in: revision 1.26
sys/arch/zaurus/conf/GENERIC: revision 1.54
sys/arch/shark/conf/GENERIC: revision 1.101
sys/arch/hpcmips/conf/MPC303: revision 1.60
sys/arch/i386/conf/XEN3_DOM0: revision 1.67
sys/arch/evbarm/conf/MPCSA_GENERIC: revision 1.29
sys/arch/vax/conf/GENERIC: revision 1.181
sys/arch/sparc/conf/KRUPS: revision 1.59
sys/arch/evbarm/conf/BEAGLEBOARD: revision 1.27
sys/arch/i386/conf/INSTALL_FLOPPY: revision 1.16
sys/arch/prep/conf/GENERIC: revision 1.163
sys/arch/hpcmips/conf/GENERIC: revision 1.216
sys/arch/sparc/conf/TADPOLE3GX: revision 1.56
sys/arch/shark/conf/INSTALL: revision 1.50
sys/arch/next68k/conf/GENERIC: revision 1.127
sys/arch/evbppc/conf/VIRTEX_GSRD2: revision 1.16
sys/arch/evbppc/conf/VIRTEX_DFC: revision 1.17
sys/arch/evbppc/conf/EXPLORA451: revision 1.48
sys/arch/bebox/conf/INSTALL: revision 1.54
sys/arch/next68k/conf/SLAB: revision 1.46
sys/arch/i386/conf/GENERIC_TINY: revision 1.132
sys/arch/bebox/conf/GENERIC: revision 1.131
sys/arch/amd64/conf/XEN3_DOM0: revision 1.84
sys/arch/amd64/conf/GENERIC: revision 1.356
sys/arch/evbarm/conf/MMNET_GENERIC: revision 1.6
share/man/man4/wscons.4: revision 1.31
sys/arch/hpcmips/conf/TX3912: revision 1.79
sys/arch/evbarm/conf/ARMADILLO9: revision 1.35
sys/arch/hpcsh/conf/GENERIC: revision 1.97
sys/arch/i386/conf/ALL: revision 1.339
sys/arch/hpcmips/conf/TX3922: revision 1.93
sys/arch/cats/conf/INSTALL: revision 1.82
sys/arch/sparc64/conf/GENERIC: revision 1.151
sys/arch/i386/conf/INSTALL_TINY: revision 1.135
sys/arch/evbppc/conf/VIRTEX_GSRD1: revision 1.15
sys/arch/evbarm/conf/TS7200: revision 1.49
sys/arch/hpcmips/conf/VR41XX: revision 1.55
sys/arch/hp700/conf/GENERIC: revision 1.115
sys/arch/cats/conf/GENERIC: revision 1.140
Mention wsconscfg(8) needs WSDISPLAY_COMPAT_USL
If a port is going to have wscons for virtual terminals then it really make=
s
sense to enable WSDISPLAY_COMPAT_USL so the system can switch between the
virtual terminals...
Adjust the WSDISPLAY_COMPAT_USL comment to mention wsconscfg, to at least
give a hint that its not just for third party compat. No functional change.
 1.15.2.4 03-Dec-2017  jdolecek update from HEAD
 1.15.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.15.2.2 23-Jun-2013  tls resync from head
 1.15.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.20.2.1 28-Aug-2013  rmind sync with head
 1.24.2.2 28-Aug-2017  skrll Sync with HEAD
 1.24.2.1 22-Sep-2015  skrll Sync with HEAD
 1.29.4.1 10-Jun-2019  christos Sync with HEAD
 1.29.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.33 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.32 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.31 01-Aug-2018  maxv Unreference IPF/PF from all the config files, and enable NPF instead when
wanted. This also fixes some inconsistencies I saw in several files (eg
IPF options while IPF was not compiled, IPF+PF enabled by default, etc).
 1.30 05-Feb-2018  maxv branches: 1.30.2; 1.30.4;
Nuke DIRECTED_BROADCAST, it is not documented and not enabled anywhere. It
probably wouldn't have built correctly anyway, since there is no associated
defflag.

These ten lines of code in ip_input.c already look a lot better.
 1.29 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.28 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 2.
 1.27 21-Aug-2015  uebayasi Add `pseudo-device ksyms' where `options DDB' is used, because
config(1)/config(5) can't handle module dependency correctly at this
moment.

(This is another proof that shared file definition (`file xxx.c a|b')
is a bad idea.)
 1.26 07-Aug-2015  maxv Remove the KMEMSTATS option. It no longer exists.
 1.25 23-Aug-2014  dholland branches: 1.25.2;
Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.24 17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.23 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.22 30-Jun-2013  rmind 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 the bogus number police
 1.19 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.18 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.17 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.16 05-Jun-2012  abs branches: 1.16.2;
Adjust the WSDISPLAY_COMPAT_USL comment to mention wsconscfg, to at least
give a hint that its not just for third party compat. No functional change.
 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 23-Nov-2010  hannken branches: 1.11.2; 1.11.4;
Remove unused count from pseudo-device md.
 1.10 08-Feb-2010  joerg branches: 1.10.2;
Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
 1.9 24-Dec-2009  kiyohara branches: 1.9.2;
Add COMPAT_50.
 1.8 05-Dec-2009  pooka Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.7 06-Mar-2009  joerg Remove SHMMAXPGS from all kernel configs. Dynamically compute the
initial limit as 1/4 of the physical memory. Ensure the limit is at
least 1024 pages, the old default on most platforms.
 1.6 24-Nov-2008  ad branches: 1.6.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.4 31-Jul-2008  simonb branches: 1.4.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.3 30-May-2008  tsutsui branches: 1.3.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.2 17-Oct-2007  garbled branches: 1.2.16; 1.2.18; 1.2.20; 1.2.22;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.12; 1.1.20; 1.1.28; 1.1.30; 1.1.32; 1.1.34;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.34.1 25-Oct-2007  bouyer Sync with HEAD.
 1.1.32.1 18-Oct-2007  yamt sync with head.
 1.1.30.1 06-Nov-2007  matt sync with HEAD
 1.1.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.1.20.1 28-May-2007  freza Add KGDB support to evbppc/virtex port. From Jean-Francois Boudreault,
cosmetics by me.

While there, generalize virtex_console_tag() to virtex_bus_space_tag()
and fix one instance of yamt-idlelwp fallout (ci_need_resched renamed
to ci_want_resched).

XXX Only compile tested since my access to suitable Virtex HW is sporadic
XXX at best.
 1.1.12.1 23-Oct-2007  ad Sync with head.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file VIRTEX_GSRD2 was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.3 27-Oct-2007  yamt sync with head.
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file VIRTEX_GSRD2 was added on branch yamt-lazymbuf on 2006-12-30 20:45:52 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file VIRTEX_GSRD2 was added on branch yamt-splraiseipl on 2006-12-10 07:15:53 +0000
 1.2.22.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.2.22.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.2.20.2 11-Mar-2010  yamt sync with head
 1.2.20.1 04-May-2009  yamt sync with head.
 1.2.18.1 04-Jun-2008  yamt sync with head
 1.2.16.3 17-Jan-2009  mjf Sync with HEAD.
 1.2.16.2 28-Sep-2008  mjf Sync with HEAD.
 1.2.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.3.4.1 19-Oct-2008  haad Sync with HEAD.
 1.4.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.4.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.6.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.9.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.10.2.2 21-Apr-2011  rmind sync with head
 1.10.2.1 05-Mar-2011  rmind sync with head
 1.11.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.11.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 12-Jun-2012  riz Pull up following revision(s) (requested by abs in ticket #311):
sys/arch/netwinder/conf/GENERIC: revision 1.112
sys/arch/i386/conf/GENERIC: revision 1.1074
sys/arch/atari/conf/MILAN.in: revision 1.26
sys/arch/zaurus/conf/GENERIC: revision 1.54
sys/arch/shark/conf/GENERIC: revision 1.101
sys/arch/hpcmips/conf/MPC303: revision 1.60
sys/arch/i386/conf/XEN3_DOM0: revision 1.67
sys/arch/evbarm/conf/MPCSA_GENERIC: revision 1.29
sys/arch/vax/conf/GENERIC: revision 1.181
sys/arch/sparc/conf/KRUPS: revision 1.59
sys/arch/evbarm/conf/BEAGLEBOARD: revision 1.27
sys/arch/i386/conf/INSTALL_FLOPPY: revision 1.16
sys/arch/prep/conf/GENERIC: revision 1.163
sys/arch/hpcmips/conf/GENERIC: revision 1.216
sys/arch/sparc/conf/TADPOLE3GX: revision 1.56
sys/arch/shark/conf/INSTALL: revision 1.50
sys/arch/next68k/conf/GENERIC: revision 1.127
sys/arch/evbppc/conf/VIRTEX_GSRD2: revision 1.16
sys/arch/evbppc/conf/VIRTEX_DFC: revision 1.17
sys/arch/evbppc/conf/EXPLORA451: revision 1.48
sys/arch/bebox/conf/INSTALL: revision 1.54
sys/arch/next68k/conf/SLAB: revision 1.46
sys/arch/i386/conf/GENERIC_TINY: revision 1.132
sys/arch/bebox/conf/GENERIC: revision 1.131
sys/arch/amd64/conf/XEN3_DOM0: revision 1.84
sys/arch/amd64/conf/GENERIC: revision 1.356
sys/arch/evbarm/conf/MMNET_GENERIC: revision 1.6
share/man/man4/wscons.4: revision 1.31
sys/arch/hpcmips/conf/TX3912: revision 1.79
sys/arch/evbarm/conf/ARMADILLO9: revision 1.35
sys/arch/hpcsh/conf/GENERIC: revision 1.97
sys/arch/i386/conf/ALL: revision 1.339
sys/arch/hpcmips/conf/TX3922: revision 1.93
sys/arch/cats/conf/INSTALL: revision 1.82
sys/arch/sparc64/conf/GENERIC: revision 1.151
sys/arch/i386/conf/INSTALL_TINY: revision 1.135
sys/arch/evbppc/conf/VIRTEX_GSRD1: revision 1.15
sys/arch/evbarm/conf/TS7200: revision 1.49
sys/arch/hpcmips/conf/VR41XX: revision 1.55
sys/arch/hp700/conf/GENERIC: revision 1.115
sys/arch/cats/conf/GENERIC: revision 1.140
Mention wsconscfg(8) needs WSDISPLAY_COMPAT_USL
If a port is going to have wscons for virtual terminals then it really make=
s
sense to enable WSDISPLAY_COMPAT_USL so the system can switch between the
virtual terminals...
Adjust the WSDISPLAY_COMPAT_USL comment to mention wsconscfg, to at least
give a hint that its not just for third party compat. No functional change.
 1.16.2.4 03-Dec-2017  jdolecek update from HEAD
 1.16.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.16.2.2 23-Jun-2013  tls resync from head
 1.16.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.21.2.1 28-Aug-2013  rmind sync with head
 1.25.2.2 28-Aug-2017  skrll Sync with HEAD
 1.25.2.1 22-Sep-2015  skrll Sync with HEAD
 1.30.4.1 10-Jun-2019  christos Sync with HEAD
 1.30.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.77 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.76 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.75 20-Jan-2020  thorpej Remove FDDI support.
 1.74 01-Aug-2018  maxv branches: 1.74.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.73 05-Feb-2018  maxv branches: 1.73.2; 1.73.4;
Nuke DIRECTED_BROADCAST, it is not documented and not enabled anywhere. It
probably wouldn't have built correctly anyway, since there is no associated
defflag.

These ten lines of code in ip_input.c already look a lot better.
 1.72 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.71 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.70 23-Aug-2014  dholland branches: 1.70.2;
Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.69 17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.68 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.67 10-Aug-2014  joerg LLVM builds have a slightly larger symbol table, so bump the space.
 1.66 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.65 05-Jun-2013  christos branches: 1.65.2;
remove obsolete networking options
 1.64 27-Apr-2013  christos the bogus number police
 1.63 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.62 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.61 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.60 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.59 17-Aug-2012  abs branches: 1.59.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.58 01-Feb-2012  matt Add tmpfs
 1.57 01-Feb-2012  he Bump SYMTAB_SPACE.
 1.56 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.55 22-Nov-2011  tls branches: 1.55.2;

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

This fixes build breaks on several ports. Thanks to Havard Eidnes for
pointing them out.
 1.54 30-Jun-2011  wiz branches: 1.54.2;
dependant -> dependent
 1.53 13-Jun-2011  matt bump SYMTAB_SPACE
 1.52 08-Jun-2011  matt Use a standard INSTALL.inc instead of duplicating it. Make INSTALL
variants of mpc85xx kernels.
 1.51 07-Mar-2011  jakllsch branches: 1.51.2;
Bump SYMTAB_SPACE.
 1.50 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.49 23-Nov-2010  hannken branches: 1.49.2; 1.49.4;
Remove unused count from pseudo-device md.
 1.48 08-May-2010  mrg enable IPFILTER_COMPAT in all kernels that have ipfilter already.
canonicalise several of the ipf option segments in various files
(this mostly means adding commented out IPFILTER_DEFAULT_BLOCK,
or adding commented or uncommented IPFILTER_LOG or IPFILTER_LOOKUP
option statements.)

i built about 20 of these kernels to check, but not all of them.
 1.47 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.46 18-Mar-2010  kiyohara Support PowerPC 405EX/EXr.
1. Add some new source and header files.
(MAL(split) and RGMII(new) relations for EMAC)
2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h.
3. intr.c supports MULTIUIC with virtual-irq. likes to oea.
support 32-virq/128-hwirq.
4. multiple emac support.
5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx.
6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
 1.45 08-Feb-2010  joerg branches: 1.45.2;
Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
 1.44 24-Dec-2009  kiyohara branches: 1.44.2;
Fix interrupt number.
The data sheet describes that the interrupt of ECC is 17.
 1.43 24-Dec-2009  kiyohara Add COMPAT_50.
 1.42 05-Dec-2009  pooka Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.41 11-May-2009  he Bump SYMTAB_SPACE so that it fits again.
 1.40 06-Mar-2009  joerg Remove SHMMAXPGS from all kernel configs. Dynamically compute the
initial limit as 1/4 of the physical memory. Ensure the limit is at
least 1024 pages, the old default on most platforms.
 1.39 24-Nov-2008  ad branches: 1.39.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.37 31-Jul-2008  simonb branches: 1.37.2; 1.37.12;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.36 30-May-2008  tsutsui branches: 1.36.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.35 27-Sep-2006  manu branches: 1.35.52; 1.35.54; 1.35.56; 1.35.58;
- Document COMPAT_15 as doing nothing
- Add COMPAT_15 to all the kernel that had COMPAT_14, for the sake of coherency
- Remove the only occurences of #ifdef COMPAT_15 in the tree: for the ARM
ports, COMPAT_15 was always used in conjunction with EXEC_AOUT. Only EXEC_AOUT
matters here.

This address kern/18407
 1.34 18-Sep-2006  gdamore Conversion of evbppc to generic TODR. ok freza@
 1.33 26-Aug-2006  christos branches: 1.33.2; 1.33.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.32 13-Jul-2006  simonb Add ksyms pseudo device.
 1.31 14-May-2006  elad branches: 1.31.4;
integrate kauth.
 1.30 28-Mar-2006  pavel Add stf to all kernel configs which have INET6 and gif, except the INSTALL
ones and those for specific machines of developers. PR 32304.

OK'ed by rpaulo.

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

XXX: This option should be mentioned in options(4).
 1.26 09-Sep-2005  drochner remove "dev" locators from cardbus device definitions, it doesn't
make sense technically and might be removed
 1.25 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.24 19-Aug-2005  christos 64 bit inode changes.
 1.23 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.22 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.21 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.20 31-May-2005  tron branches: 1.20.2;
Remove attachment for the piixide(4) driver from all non-x86 kernel
configurations because Intel IDE disk controllers only exist as part
of Intel chipsets for x86 systems.
 1.19 25-Feb-2005  simonb branches: 1.19.2;
Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.18 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.17 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.16 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.15 24-Nov-2004  bouyer branches: 1.15.4; 1.15.6;
pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) serie of
controllers. Tested with a PDC20375 (2 SATA, one PATA) controller on sparc64.
Added to all kernel config file which had pdcide(4).
 1.14 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.13 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.12 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.11 14-Dec-2003  thorpej branches: 1.11.2;
Split the Intel i31244 SATA controller ("Artisea") driver out of piixide
into its own driver (artsata).
 1.10 13-Dec-2003  thorpej Collapse the atabus declaration into "atabus* at ata? channel ?".
 1.9 13-Dec-2003  thorpej Split out the Silicon Image SATALink support into its own driver,
"satalink".
 1.8 08-Oct-2003  bouyer Add new per-chip pciide drivers.
 1.7 08-Oct-2003  bouyer Add atabus.
 1.6 06-Oct-2003  scw Rename dsrtc to avoid clashing with the MI i2c ds1307 driver.
 1.5 25-Sep-2003  matt Add COMPAT_16
 1.4 18-Aug-2003  eeh Increase the size for the symbol table so we don't overflow anymore.
 1.3 16-Jul-2003  simonb Enable FFS_EI.
 1.2 10-Apr-2003  christos branches: 1.2.2;
Bye Bye UCONSOLE
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file WALNUT was added on branch nathanw_sa on 2002-12-11 06:28:59 +0000
 1.2.2.10 11-Dec-2005  christos Sync with head.
 1.2.2.9 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.2.8 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.2.2.7 15-Feb-2005  skrll Sync with HEAD.
 1.2.2.6 04-Feb-2005  skrll Sync with HEAD.
 1.2.2.5 29-Nov-2004  skrll Sync with HEAD.
 1.2.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.11.2.1 15-Jul-2004  he branches: 1.11.2.1.2;
Pull up revision 1.12 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.11.2.1.2.1 02-Apr-2005  he Pull up revision 1.15 (requested by bouyer in ticket #1019):
Add pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) series of
controllers.
 1.15.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.15.6.1 12-Feb-2005  yamt sync with head.
 1.15.4.1 29-Apr-2005  kent sync with -current
 1.19.2.2 18-Jul-2005  riz Pull up revision 1.21 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.19.2.1 01-Jun-2005  riz Pull up revision 1.20 (requested by tron in ticket #362):
Remove attachment for the piixide(4) driver from all non-x86 kernel
configurations because Intel IDE disk controllers only exist as part
of Intel chipsets for x86 systems.
 1.20.2.2 30-Dec-2006  yamt sync with head.
 1.20.2.1 21-Jun-2006  yamt sync with head.
 1.27.6.1 22-Apr-2006  simonb Sync with head.
 1.27.4.1 09-Sep-2006  rpaulo sync with head
 1.27.2.1 18-Feb-2006  yamt sync with head.
 1.29.6.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.29.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.29.2.3 03-Sep-2006  yamt sync with head.
 1.29.2.2 11-Aug-2006  yamt sync with head
 1.29.2.1 01-Apr-2006  yamt sync with head.
 1.31.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.33.4.1 22-Oct-2006  yamt sync with head
 1.33.2.1 18-Nov-2006  ad Sync with head.
 1.35.58.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.35.58.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.35.56.4 11-Aug-2010  yamt sync with head.
 1.35.56.3 11-Mar-2010  yamt sync with head
 1.35.56.2 16-May-2009  yamt sync with head
 1.35.56.1 04-May-2009  yamt sync with head.
 1.35.54.1 04-Jun-2008  yamt sync with head
 1.35.52.3 17-Jan-2009  mjf Sync with HEAD.
 1.35.52.2 28-Sep-2008  mjf Sync with HEAD.
 1.35.52.1 02-Jun-2008  mjf Sync with HEAD.
 1.36.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.36.4.1 19-Oct-2008  haad Sync with HEAD.
 1.37.12.1 07-Jan-2011  matt Bump up SYMTAB_SPACE
 1.37.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.37.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.39.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.44.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.44.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.45.2.4 12-Jun-2011  rmind sync with head
 1.45.2.3 21-Apr-2011  rmind sync with head
 1.45.2.2 05-Mar-2011  rmind sync with head
 1.45.2.1 30-May-2010  rmind sync with head
 1.49.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.49.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.51.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.54.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.54.2.2 30-Oct-2012  yamt sync with head
 1.54.2.1 17-Apr-2012  yamt sync with head
 1.55.2.1 18-Feb-2012  mrg merge to -current.
 1.59.2.4 03-Dec-2017  jdolecek update from HEAD
 1.59.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.59.2.2 23-Jun-2013  tls resync from head
 1.59.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.65.2.1 28-Aug-2013  rmind sync with head
 1.70.2.1 28-Aug-2017  skrll Sync with HEAD
 1.73.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.73.4.1 10-Jun-2019  christos Sync with HEAD
 1.73.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.74.6.1 25-Jan-2020  ad Sync with head.
 1.9 17-Feb-2025  jmcneill wii: Remove some options to save memory.
 1.8 12-Feb-2025  jmcneill wii: Add support for Wii DVD drive.

This adds a virtual SCSI HBA driver that is able to read DVD video discs
inserted in the Wii.
 1.7 19-Jan-2025  jmcneill bwi(4): Add support for Nintendo Wii WLAN.

Adapt the bwi(4) driver to support SDIO attachment and driving TX/RX using
PIO instead of DMA since the latter is not supported on SDIO busses.
 1.6 22-Sep-2024  jmcneill wii: Enable ohci(4) driver.

This seems to be stable now, let's enable support for plugging in LS/FS
devices directly into the system without a hub.
 1.5 17-Sep-2024  jakllsch Add DKWEDGE_AUTODISCOVER and DKWEDGE_METHOD_GPT to WII

From Guilherme Janczak in PR 58676
 1.4 25-Jan-2024  jmcneill branches: 1.4.2; 1.4.4;
wii: Add External interface bus and RTC support
 1.3 23-Jan-2024  jmcneill wii: Add GPIO, I2C, and basic A/V encoder driver.
 1.2 22-Jan-2024  jmcneill wii: Add drivers for Broadway DSP and Audio interface.

0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
 1.1 20-Jan-2024  jmcneill evbppc: Add initial support for the Nintendo Wii
 1.4.4.1 02-Aug-2025  perseant Sync with HEAD
 1.4.2.7 22-Feb-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #1057):

distrib/utils/embedded/conf/evbppc.conf: revision 1.4
sys/arch/powerpc/oea/cpu_subr.c: revision 1.111
sys/arch/evbppc/wii/pic_pi.c: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.9
sys/arch/evbppc/wii/dev/bwai.c: revision 1.4

wii: Simplify Processor Interface pic code.

wii: Audio playback improvements.
Instead of resetting the byte counter for every block (which is racy),
increment the interrupt timing register by the exact byte count for
each block. Should do better at keeping things in sync.

powerpc: Identify Broadway CPU.
Use hex to report Broadway revision and ignore TAU as it does not exist
on this processor.

wii: Remove some options to save memory.

wii: Disable ntpd by default.
It takes up a lot of memory.
 1.4.2.6 22-Feb-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #1052):

sys/kern/subr_disk_mbr.c: revision 1.59
sys/arch/evbppc/include/wii.h: revision 1.10
sys/arch/evbppc/wii/machdep.c: revision 1.9
sys/arch/evbppc/conf/files.wii: revision 1.5
sys/arch/evbppc/wii/dev/di.c: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.8

Handle reading larger sectors (including 2k CD-ROM blocks).

Fall back to scan for ISO9660 sessions when MMC code fails.
disklabel now reports ISO/UDF partitions again for cd(4).

wii: Add more register definitions.

wii: Add support for Wii DVD drive.
This adds a virtual SCSI HBA driver that is able to read DVD video discs
inserted in the Wii.

wii: Early init for DVD support
 1.4.2.5 02-Feb-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #1041):

sys/dev/ic/bwi.c: revision 1.40
share/man/man4/bwi.4: revision 1.15
sys/dev/sdmmc/if_bwi_sdio.c: revision 1.1
sys/dev/ic/bwi.c: revision 1.41
sys/dev/sdmmc/sdmmcvar.h: revision 1.38
sys/dev/ic/bwireg.h: revision 1.5
sys/dev/ic/bwi.c: revision 1.39
sys/dev/ic/bwivar.h: revision 1.11
sys/dev/sdmmc/sdmmc_cis.c: revision 1.10
sys/dev/sdmmc/files.sdmmc: revision 1.6
sys/arch/evbppc/conf/WII: revision 1.7

bwi: Remove unnecessary pcivar.h include

sdmmc: Capture lan_nid and expose sdmmc_cisptr
LAN NID contains the MAC address for networking adapters.
Device drivers may want to processor vendor specific tuple codes, so
expose sdmmc_cisptr to help this.

bwi(4): Add support for Nintendo Wii WLAN.

Adapt the bwi(4) driver to support SDIO attachment and driving TX/RX using
PIO instead of DMA since the latter is not supported on SDIO busses.

fix uninitialized
 1.4.2.4 02-Oct-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #910):

sys/arch/evbppc/wii/dev/hollywood.h: revision 1.3
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.3
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.3
sys/dev/usb/ohcireg.h: revision 1.29
sys/arch/evbppc/include/wii.h: revision 1.8
sys/arch/evbppc/conf/WII: revision 1.6
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.3
sys/dev/usb/ohcivar.h: revision 1.63
sys/dev/usb/ohci.c: revision 1.329

wii: Restrict IOP access to shared peripherals.

Ensure that the IOP cannot access peripherals by clearing the appropriate
bus access bit. I have observed OHCI reporting completion for TDs living
in ARM reserved memory at runtime, this seems to suppress that.

ohci: Allocate a whole cacheline for all descriptors

Allocate a whole cacheline for all descriptor types such that:
i) they can be alloc'ed without USBMALLOC_COHERENT which can mean they're
now mapped cacheable, and
ii) the "soft" versions are cacheable, and mapped as small as possible.

Patch/idea mainly from Nick (skrll@) with a few fixes from me.

wii: Enable ohci(4) driver.
This seems to be stable now, let's enable support for plugging in LS/FS
devices directly into the system without a hub.
 1.4.2.3 20-Sep-2024  martin Pull up following revision(s) (requested by jakllsch in ticket #897):

sys/arch/evbppc/conf/WII: revision 1.5

Add DKWEDGE_AUTODISCOVER and DKWEDGE_METHOD_GPT to WII
From Guilherme Janczak in PR 58676
 1.4.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.4.2.1 25-Jan-2024  martin file WII was added on branch netbsd-10 on 2024-02-03 11:47:06 +0000
 1.1 02-Apr-2021  rin branches: 1.1.2; 1.1.4;
evbppc: Add support for DHT Walnut 405GP evaluation board.
(Digital Home Technologies PCB 01070201 Rev. 1.1)

Official web page seems gone, but analyses by Linux people are at:

- https://elinux.org/DHT-Walnut
- http://web.archive.org/web/20070225171826/http://supernova.stanford.edu/dingdong/

The board features:

- 266MHz PowerPC 405GP processor
- one PC133 SDRAM slot
- two 32-bit 5V PCI slot
- on-chip ethernet controller with DP83843 PHY
- on-chip serial port / GPIO controller
- on-board PDC20265 IDE controller

Hardware limitations:

- no MAC address assigned
- no RTC present

Known problem:

- atabus(4) channels cannot be attached to pdcide(4) for cold boot

dmesg:

- https://dmesgd.nycbug.org/index.cgi?do=view&id=5997

Have fun!
 1.1.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.4.1 02-Apr-2021  thorpej file files.dht was added on branch thorpej-futex on 2021-04-03 22:28:24 +0000
 1.1.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.2.1 02-Apr-2021  thorpej file files.dht was added on branch thorpej-cfargs on 2021-04-03 21:44:42 +0000
 1.14 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.13 28-Apr-2010  kiyohara Clean up gt and peripherals.
This change tested compile only.
 1.12 20-Feb-2008  drochner branches: 1.12.10; 1.12.30; 1.12.32;
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.11 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.10 17-Oct-2007  garbled branches: 1.10.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.9 10-Apr-2007  macallan branches: 1.9.4; 1.9.12; 1.9.14; 1.9.16; 1.9.18;
include files.wsfb
 1.8 11-Dec-2005  christos branches: 1.8.26; 1.8.30; 1.8.32;
merge ktrace-lwp.
 1.7 13-Sep-2004  drochner branches: 1.7.12;
remove "pcibus" and "isabus" from "mainbus" -- neither of them
attaches directly
cleanup a comment
 1.6 24-Jun-2004  he Move include of files.usb to after files.wscons, so that tpcalib is
defined before it's used.
 1.5 13-Mar-2004  bjh21 Abstract the interface between pckbc(4), and the pckbd(4) and pms(4)
drivers that attach to it. This allows for other host interface chips
that use the same keyboards and mice, such as the ones in the ARM
IOMD20, ARM7500, and SA-1111. The PC-compatible driver is still
called pckbc(4), and the new abstraction layer is "pckbport", so the
child devices have moved from sys/dev/pckbc to sys/dev/pckbport, which
also contains some code shared between all host controllers. To avoid
incompatibility, pckbdreg.h is still installed in
/usr/include/dev/pckbc.

In theory, this shouldn't cause any behavioural changes in the drivers
concerned. Thy just use rather more function pointers than before. Tested
on i386 and (with a new host driver) acorn32. Compiled on several other
affected architectures.
 1.4 25-Jul-2003  scw Switch ibm4xx ports to common powerpc bus_space/bus_dma code.
XXX: Walnut PCI support is broken. This will be addressed shortly.
 1.3 24-Mar-2003  matt branches: 1.3.2;
Make PCI interrupts -> GPP mapping configured via config file.
Add bus_spaces for all possile obios. Add gt_halt to make
sure the discovery is not doing dma as soon as possible.
Read the SDRAM register to figure out how much physical RAM
is available.
 1.2 16-Mar-2003  matt EV64260 now gets to single user prompt using COM1 (2nd uart) as console
with PPCBOOT as firmware. XXX PCI devices are not found.
 1.1 05-Mar-2003  matt Add preliminary support Marvell (Galileo) Discovery System Controllers.
This code was contributed by Allegro Networks.
 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.7.12.4 27-Feb-2008  yamt sync with head.
 1.7.12.3 07-Dec-2007  yamt sync with head
 1.7.12.2 27-Oct-2007  yamt sync with head.
 1.7.12.1 03-Sep-2007  yamt sync with head.
 1.8.32.1 11-Jul-2007  mjf Sync with head.
 1.8.30.3 03-Dec-2007  ad Sync with HEAD.
 1.8.30.2 23-Oct-2007  ad Sync with head.
 1.8.30.1 10-Apr-2007  ad Sync with head.
 1.8.26.1 15-Apr-2007  yamt sync with head.
 1.9.18.1 25-Oct-2007  bouyer Sync with HEAD.
 1.9.16.1 18-Oct-2007  yamt sync with head.
 1.9.14.3 23-Mar-2008  matt sync with HEAD
 1.9.14.2 09-Jan-2008  matt sync with HEAD
 1.9.14.1 06-Nov-2007  matt sync with HEAD
 1.9.12.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.9.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.9.4.2 17-Oct-2007  garbled Back out most of the PIC rennovation on ev64260, it was not completed,
and can be completed post-merge. With these changes, ev64260 compiles
again on the branch. Untested.
 1.9.4.1 22-May-2007  matt WIP. Adapt ev64260 to the new pic code.
 1.10.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.12.32.1 30-May-2010  rmind sync with head
 1.12.30.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.12.10.1 11-Aug-2010  yamt sync with head.
 1.7 18-Feb-2017  rin Factorize kern/subr_disk_mbr.c into files.evbppc, and make EVBPPC_HAS_MBR
more like a normal option. No functional changes.
 1.6 17-Oct-2007  garbled branches: 1.6.64; 1.6.84; 1.6.88; 1.6.92;
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 25-Jul-2003  scw branches: 1.4.16;
Switch ibm4xx ports to common powerpc bus_space/bus_dma code.
XXX: Walnut PCI support is broken. This will be addressed shortly.
 1.3 05-Mar-2003  matt branches: 1.3.2;
Remove port-specific procfs_machdep.c (since they are all identical and
a better one resides in powerpc/powerpc/).
 1.2 04-Mar-2003  matt Re-arrange things in evbppc & powerpc to support OEA-based eval boards
in evbppc. OEA-based board(s) to be added later.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file files.evbppc was added on branch nathanw_sa on 2002-12-11 06:28:59 +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.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.5.30.1 23-Oct-2007  ad Sync with head.
 1.6.92.1 21-Apr-2017  bouyer Sync with HEAD
 1.6.88.1 20-Mar-2017  pgoyette Sync with HEAD
 1.6.84.1 28-Aug-2017  skrll Sync with HEAD
 1.6.64.1 03-Dec-2017  jdolecek update from HEAD
 1.13 07-Mar-2021  rin Revert this commit:

http://www.nerv.org/netbsd/?q=id:20210305T064016Z.410b0e33273c3a62110d09e8bb27939f6a8bab38

> Map framebuffer to virtual space when fb(4) is present,
> even if it is not console.

Direct mapping for framebuffer is required only if fb(4) is console.

XXX
It would be nice if we can remove reserved TLB entries after
fb(4) is properly attached.
 1.12 05-Mar-2021  rin Map framebuffer to virtual space when fb(4) is present,
even if it is not console.
 1.11 05-Mar-2021  rin For very MD codes for Explora, reorder things, and use more common codes for
ibm4xx and ibm40x for clarity as well as better comparison with other boards.

No functional changes intended.
 1.10 06-Jul-2020  rin branches: 1.10.2;
Now, sys/arch/powerpc/ibm4xx/pic_uic.c requires opt_uic.h.

XXX
Switch to powerpc/conf/files.ibm4xx.
 1.9 20-Jun-2011  matt Change IBM4xx to use the common powerpc PIC framework.
Consolidate most ibm4xx initppc function into ibm4xx_init
and Make all IBM4xx use it.
Change explora to use initppc instead of bootstrap.
 1.8 20-Feb-2008  drochner branches: 1.8.42;
Since files.wscons et al. are included by ~all ports anyway, include
them in the mi "files" file, and remove include statements from md files.
These shouldn't pull in additional kernel code when not in use, so it
shouldn't do any harm except a risk of namespace collisions which
should be easy to fix.
 1.7 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.6 30-Jun-2006  freza branches: 1.6.14; 1.6.32; 1.6.34; 1.6.40;
Bring ibm4xx interrupt code up to date:

- generic soft interrupts (ie. use powerpc/softintr.c)
- interrupt event counters (using the ones from powerpc/cpu.h:cpu_info
where appropriate)
- cleanup ibm4xx_intr.h, move implementation details to intr.c

Convert all affected evbppc platforms.

OK by simonb@, some points discussed with matt@
 1.5 11-Dec-2005  christos branches: 1.5.4; 1.5.8; 1.5.16;
merge ktrace-lwp.
 1.4 13-Mar-2004  bjh21 branches: 1.4.16;
Abstract the interface between pckbc(4), and the pckbd(4) and pms(4)
drivers that attach to it. This allows for other host interface chips
that use the same keyboards and mice, such as the ones in the ARM
IOMD20, ARM7500, and SA-1111. The PC-compatible driver is still
called pckbc(4), and the new abstraction layer is "pckbport", so the
child devices have moved from sys/dev/pckbc to sys/dev/pckbport, which
also contains some code shared between all host controllers. To avoid
incompatibility, pckbdreg.h is still installed in
/usr/include/dev/pckbc.

In theory, this shouldn't cause any behavioural changes in the drivers
concerned. Thy just use rather more function pointers than before. Tested
on i386 and (with a new host driver) acorn32. Compiled on several other
affected architectures.
 1.3 20-Jan-2004  jdolecek cleanup old lpt(4) attachment, and glue ppbus in so that they can coexist:
* lpt device is defined in MI place (dev/ppbus/files.ppbus), dev/ic/lpt.c
is included there too; dev/ic/lpt.c is not included if ppbus is
configured or if there is alternative platform lpt (like for pc532)
* g/c MD lpt definitions and custom puc/upc attachments,
glue moved to conf/files and dev/pci/files.pci respectively; remove
device lpt definition from dev/isa/files.isa
* add ppbus parport attribute, atppc device attachments, adjust plip and lpt
glue
 1.2 19-Nov-2003  scw Include arch/powerpc/ibm4xx/intr.c only if a particular board actually
uses the generic 4xx interrupt implementation.
There are some 4xx boards with entirely different interrupt controllers.
 1.1 11-Mar-2003  hannken branches: 1.1.2;
Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.4.16.3 27-Feb-2008  yamt sync with head.
 1.4.16.2 07-Dec-2007  yamt sync with head
 1.4.16.1 30-Dec-2006  yamt sync with head.
 1.5.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.5.8.1 11-Aug-2006  yamt sync with head
 1.5.4.1 09-Sep-2006  rpaulo sync with head
 1.6.40.1 08-Dec-2007  mjf Sync with HEAD.
 1.6.34.2 23-Mar-2008  matt sync with HEAD
 1.6.34.1 09-Jan-2008  matt sync with HEAD
 1.6.32.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.6.14.1 03-Dec-2007  ad Sync with HEAD.
 1.8.42.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.10.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.11 18-Feb-2017  rin Factorize kern/subr_disk_mbr.c into files.evbppc, and make EVBPPC_HAS_MBR
more like a normal option. No functional changes.
 1.10 27-Dec-2014  nonaka branches: 1.10.2; 1.10.4;
Preliminary support for P1023.
 1.9 15-Jul-2012  matt branches: 1.9.2; 1.9.16;
Add support for the Freescale TWR-P1025 evaluation board and the P1025/P1016
QorIQ processors. XXX tsec isn't working yet on the TWR-P1025.
 1.8 09-Jul-2012  matt Add hook so E500 watchdog can use a separate stack but leave it disabled by
default.
 1.7 19-Aug-2011  matt branches: 1.7.2;
Need pci_machdep_common.c now
 1.6 25-Jul-2011  matt Add MEMSIZE defparam
 1.5 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.4 02-May-2011  matt mpc85xx uses MBRs
 1.3 08-Feb-2011  matt branches: 1.3.2;
Add MPC85xx variants.
Move to having a common kernel for all MPC85xx variants (CADMUS/PIXIS still
remain a problem).
 1.2 18-Jan-2011  matt branches: 1.2.2;
Add support for various MPC85xx platforms. The MPC8536DS and MPC8548CDS
development systems and the RB800 (routerboard 800) platform. The CF on
the RB800 doesn't work yet.
 1.1 07-Jan-2011  matt branches: 1.1.2; 1.1.4;
file files.mpc85xx was initially added on branch matt-nb5-pq3.
 1.1.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.2.3 14-Oct-2011  matt Sync with current pulling P2020 and other newer processor support.
 1.1.2.2 07-Jan-2011  matt Add options USB_FRAG_DMA_WORKAROUND
 1.1.2.1 07-Jan-2011  matt Add mpc85xx support for MPC8536DS (Freescale Development System),
MPC8548CDS (Freescale Development System), and RB800 (RouterBoard 800).
 1.2.2.1 08-Feb-2011  bouyer Sync with HEAD
 1.3.2.3 31-May-2011  rmind sync with head
 1.3.2.2 05-Mar-2011  rmind sync with head
 1.3.2.1 08-Feb-2011  rmind file files.mpc85xx was added on branch rmind-uvmplock on 2011-03-05 20:50:15 +0000
 1.7.2.1 30-Oct-2012  yamt sync with head
 1.9.16.2 28-Aug-2017  skrll Sync with HEAD
 1.9.16.1 06-Apr-2015  skrll Sync with HEAD
 1.9.2.1 03-Dec-2017  jdolecek update from HEAD
 1.10.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.10.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.8 18-Mar-2010  kiyohara Support PowerPC 405EX/EXr.
1. Add some new source and header files.
(MAL(split) and RGMII(new) relations for EMAC)
2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h.
3. intr.c supports MULTIUIC with virtual-irq. likes to oea.
support 32-virq/128-hwirq.
4. multiple emac support.
5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx.
6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
 1.7 20-Feb-2008  drochner branches: 1.7.10; 1.7.30; 1.7.32;
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.6 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.5 30-Jun-2006  freza branches: 1.5.14; 1.5.32; 1.5.34; 1.5.40;
Bring ibm4xx interrupt code up to date:

- generic soft interrupts (ie. use powerpc/softintr.c)
- interrupt event counters (using the ones from powerpc/cpu.h:cpu_info
where appropriate)
- cleanup ibm4xx_intr.h, move implementation details to intr.c

Convert all affected evbppc platforms.

OK by simonb@, some points discussed with matt@
 1.4 15-May-2006  shige branches: 1.4.4;
Move cpu_configure to evbppc/*.c.
(Remove ibm4xxgpx_autoconf.c)
I'm sorry for my wrong thinking.
 1.3 29-Mar-2006  shige Added CardBus, USB, and IEEE1394 devices.
 1.2 11-Dec-2005  christos branches: 1.2.4; 1.2.6; 1.2.8; 1.2.10; 1.2.12;
merge ktrace-lwp.
 1.1 18-Mar-2005  shige branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Add sources for OpenBlockS200 (OpenBlockS S/R) machine.
 1.1.8.4 27-Feb-2008  yamt sync with head.
 1.1.8.3 07-Dec-2007  yamt sync with head
 1.1.8.2 30-Dec-2006  yamt sync with head.
 1.1.8.1 21-Jun-2006  yamt sync with head.
 1.1.6.2 29-Apr-2005  kent sync with -current
 1.1.6.1 18-Mar-2005  kent file files.obs200 was added on branch kent-audio2 on 2005-04-29 11:28:08 +0000
 1.1.4.2 01-Apr-2005  skrll Sync with HEAD.
 1.1.4.1 18-Mar-2005  skrll file files.obs200 was added on branch ktrace-lwp on 2005-04-01 14:27:26 +0000
 1.1.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.2.1 18-Mar-2005  yamt file files.obs200 was added on branch yamt-km on 2005-03-19 08:32:57 +0000
 1.2.12.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.2.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.2.8.3 11-Aug-2006  yamt sync with head
 1.2.8.2 24-May-2006  yamt sync with head.
 1.2.8.1 01-Apr-2006  yamt sync with head.
 1.2.6.2 01-Jun-2006  kardel Sync with head.
 1.2.6.1 22-Apr-2006  simonb Sync with head.
 1.2.4.1 09-Sep-2006  rpaulo sync with head
 1.4.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.5.40.1 08-Dec-2007  mjf Sync with HEAD.
 1.5.34.2 23-Mar-2008  matt sync with HEAD
 1.5.34.1 09-Jan-2008  matt sync with HEAD
 1.5.32.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.5.14.1 03-Dec-2007  ad Sync with HEAD.
 1.7.32.1 30-May-2010  rmind sync with head
 1.7.30.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.7.10.1 11-Aug-2010  yamt sync with head.
 1.1 18-Mar-2010  kiyohara branches: 1.1.2; 1.1.4; 1.1.6;
Support Plathome's OpenBlockS600.
 1.1.6.2 11-Aug-2010  yamt sync with head.
 1.1.6.1 18-Mar-2010  yamt file files.obs266 was added on branch yamt-nfs-mp on 2010-08-11 22:51:53 +0000
 1.1.4.2 30-May-2010  rmind sync with head
 1.1.4.1 18-Mar-2010  rmind file files.obs266 was added on branch rmind-uvmplock on 2010-05-30 05:16:43 +0000
 1.1.2.2 30-Apr-2010  uebayasi Sync with HEAD.
 1.1.2.1 18-Mar-2010  uebayasi file files.obs266 was added on branch uebayasi-xip on 2010-04-30 14:39:17 +0000
 1.23 30-Mar-2021  rin Move common global variables, i.e., phys_map, machine, and machine_arch to
evbppc/evbppc_machdep.c (bad naming; used only for 4xx boards).
 1.22 29-Mar-2021  rin Set com(4) frequency in ibm4xx_device_register() in order to dedup codes.
 1.21 18-Mar-2010  kiyohara branches: 1.21.72; 1.21.74;
Support PowerPC 405EX/EXr.
1. Add some new source and header files.
(MAL(split) and RGMII(new) relations for EMAC)
2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h.
3. intr.c supports MULTIUIC with virtual-irq. likes to oea.
support 32-virq/128-hwirq.
4. multiple emac support.
5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx.
6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
 1.20 04-Jul-2008  kiyohara branches: 1.20.16; 1.20.18;
Fix config error. required to include files.bluetooth.
 1.19 20-Feb-2008  drochner branches: 1.19.6; 1.19.10; 1.19.12; 1.19.14;
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.18 05-Dec-2007  he Remove reference to now-obsolete powerpc/softintr.c.
 1.17 30-Jun-2006  freza branches: 1.17.32; 1.17.34; 1.17.40; 1.17.44;
Bring ibm4xx interrupt code up to date:

- generic soft interrupts (ie. use powerpc/softintr.c)
- interrupt event counters (using the ones from powerpc/cpu.h:cpu_info
where appropriate)
- cleanup ibm4xx_intr.h, move implementation details to intr.c

Convert all affected evbppc platforms.

OK by simonb@, some points discussed with matt@
 1.16 15-May-2006  shige branches: 1.16.4;
Move cpu_configure to evbppc/*.c.
(Remove ibm4xxgpx_autoconf.c)
I'm sorry for my wrong thinking.
 1.15 13-Mar-2006  shige branches: 1.15.2;
Remove obsled devices (using old gpio framework).
 1.14 11-Dec-2005  christos branches: 1.14.4; 1.14.6; 1.14.8; 1.14.10;
merge ktrace-lwp.
 1.13 16-Oct-2005  he Complete the renaming gpio -> ppcgpio for evbppc, to make room for
the MI gpio. Internal static functions in gpio_opb.c are not
renamed here, but the softc type is renamed together with the attach
declaration data.
 1.12 10-Sep-2005  kiyohara Add configuration file for 'PCMCIA adapter BOX' supported kernel.
 1.11 04-Sep-2005  kiyohara Support 'PCMCIA adapter BOX' for OpenBlockS266.
 1.10 18-Mar-2005  shige branches: 1.10.2;
Rearrange codes for OpenBlockS266 machine.
 1.9 24-Jan-2005  shige branches: 1.9.2; 1.9.6;
Add OpenBlockS266 GPIO LED Driver.
 1.8 18-Jan-2005  shige Add modules.
 1.7 17-Jan-2005  shige Add openbios dependent code to obs405 machine-dependent modules.
 1.6 13-Jan-2005  shige branches: 1.6.2;
Add files:
- powerpc/ibm4xx/autoconf.c (autoconf glue)
- powerpc/ibm4xx/ibm4xx_autoconf.c (autoconf for ibm4xx)
- evbppc/obs405/md_autoconf.c (machine-dependent autoconf)
 1.5 30-Mar-2004  simonb branches: 1.5.2;
Remove some bogus config goop that should never have been here.
 1.4 19-Nov-2003  scw branches: 1.4.4;
Include arch/powerpc/ibm4xx/intr.c only if a particular board actually
uses the generic 4xx interrupt implementation.
There are some 4xx boards with entirely different interrupt controllers.
 1.3 06-Oct-2003  shige Use xrtc driver on generic I2C framework instead of original xrtc
driver at src/sys/arch/evbppc/obs405/dev/x1226.c.
Remove todclock service.
 1.2 24-Sep-2003  shige Rename ibm4xxGPx_autoconf.c to all lowercase filename.
 1.1 23-Sep-2003  shige Add new evbppc port.
This port is for OpenBlockS266.
OpenBlockS266: IBM405GPr OpenBIOS.
X1226 is a rtc chip connected with IIC bus.
 1.4.4.1 15-Sep-2005  riz Pull up following revision(s) (requested by shige in ticket #5820):
distrib/evbppc/md-kernel/Makefile 1.3 via patch
etc/etc.evbppc/Makefile.inc 1.3 via patch
sys/arch/evbppc/conf/files.obs405 1.5-1.8 via patch
sys/arch/evbppc/conf/OPENBLOCKS266 1.22,1.25 via patch
sys/arch/evbppc/include/obs266.h 1.1 (new)
sys/arch/evbppc/include/obs405.h 1.1-1.5 (new)
sys/arch/evbppc/include/rbus_machdep.h 1.1 (new)
sys/arch/evbppc/obs405/consinit.c 1.2-1.4
sys/arch/evbppc/obs405/dev/x1226.c deleted
sys/arch/evbppc/obs405/dev/x1226reg.h deleted
sys/arch/evbppc/obs405/machdep.c deleted
sys/arch/evbppc/obs405/obs266_autoconf.c 1.1 (new)
sys/arch/evbppc/obs405/obs266_machdep.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_autoconf.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_machdep.c 1.1 (new)
sys/arch/evbppc/obs405/rbus_machdep.c 1.1 (new)
sys/arch/powerpc/conf/files.ibm4xx 1.6-1.7
sys/arch/powerpc/ibm4xx/board_prop.c 1.1 (new)
sys/arch/powerpc/ibm4xx/dev/com_opb.c 1.12
sys/arch/powerpc/ibm4xx/dev/comopbvar.h 1.1 (new)
sys/arch/powerpc/ibm4xx/ibm40x_machdep.c 1.3-1.4
sys/arch/powerpc/ibm4xx/ibm4xx_autoconf.c 1.1-1.2 (new)
sys/arch/powerpc/ibm4xx/ibm4xx_machdep.c 1.1-1.3 (new)
sys/arch/powerpc/ibm4xx/ibm4xxgpx_autoconf.c 1.2-1.3
sys/arch/powerpc/ibm4xx/openbios/openbios.c 1.1 (new)
sys/arch/powerpc/include/ibm4xx/cpu.h 1.7-1.10
sys/arch/powerpc/include/ibm4xx/openbios.h 1.1 (new)

Update OpenBlockS266 support to more modern, stable sources.
 1.5.2.9 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.2.8 01-Apr-2005  skrll Sync with HEAD.
 1.5.2.7 04-Feb-2005  skrll Sync with HEAD.
 1.5.2.6 24-Jan-2005  skrll Sync with HEAD.
 1.5.2.5 17-Jan-2005  skrll Sync with HEAD.
 1.5.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.5.2.2 03-Aug-2004  skrll Sync with HEAD
 1.5.2.1 30-Mar-2004  skrll file files.obs405 was added on branch ktrace-lwp on 2004-08-03 10:34:16 +0000
 1.6.2.1 29-Apr-2005  kent sync with -current
 1.9.6.1 14-Sep-2005  tron Apply patch (requested by shige in ticket #763):
Synchronize OpenBlockS266 port with NetBSD-current for enhanced stability.
 1.9.2.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.10.2.4 27-Feb-2008  yamt sync with head.
 1.10.2.3 07-Dec-2007  yamt sync with head
 1.10.2.2 30-Dec-2006  yamt sync with head.
 1.10.2.1 21-Jun-2006  yamt sync with head.
 1.14.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.14.8.3 11-Aug-2006  yamt sync with head
 1.14.8.2 24-May-2006  yamt sync with head.
 1.14.8.1 01-Apr-2006  yamt sync with head.
 1.14.6.2 01-Jun-2006  kardel Sync with head.
 1.14.6.1 22-Apr-2006  simonb Sync with head.
 1.14.4.1 09-Sep-2006  rpaulo sync with head
 1.15.2.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.16.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.17.44.1 08-Dec-2007  ad Sync with head.
 1.17.40.1 08-Dec-2007  mjf Sync with HEAD.
 1.17.34.2 23-Mar-2008  matt sync with HEAD
 1.17.34.1 09-Jan-2008  matt sync with HEAD
 1.17.32.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.19.14.1 18-Jul-2008  simonb Sync with head.
 1.19.12.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.19.10.2 11-Aug-2010  yamt sync with head.
 1.19.10.1 04-May-2009  yamt sync with head.
 1.19.6.1 28-Sep-2008  mjf Sync with HEAD.
 1.20.18.1 30-May-2010  rmind sync with head
 1.20.16.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.21.74.1 03-Apr-2021  thorpej Sync with HEAD.
 1.21.72.1 03-Apr-2021  thorpej Sync with HEAD.
 1.3 18-Feb-2017  rin Factorize kern/subr_disk_mbr.c into files.evbppc, and make EVBPPC_HAS_MBR
more like a normal option. No functional changes.
 1.2 21-Nov-2013  kiyohara branches: 1.2.6; 1.2.10; 1.2.14;
Add dwctwo and umass.
And cleanup.
However dwctwo@plb is buggy...
 1.1 18-Mar-2010  kiyohara branches: 1.1.2; 1.1.4; 1.1.6; 1.1.14; 1.1.24; 1.1.28;
Support Plathome's OpenBlockS600.
 1.1.28.1 18-May-2014  rmind sync with head
 1.1.24.2 03-Dec-2017  jdolecek update from HEAD
 1.1.24.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.14.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 11-Aug-2010  yamt sync with head.
 1.1.6.1 18-Mar-2010  yamt file files.obs600 was added on branch yamt-nfs-mp on 2010-08-11 22:51:53 +0000
 1.1.4.2 30-May-2010  rmind sync with head
 1.1.4.1 18-Mar-2010  rmind file files.obs600 was added on branch rmind-uvmplock on 2010-05-30 05:16:43 +0000
 1.1.2.2 30-Apr-2010  uebayasi Sync with HEAD.
 1.1.2.1 18-Mar-2010  uebayasi file files.obs600 was added on branch uebayasi-xip on 2010-04-30 14:39:17 +0000
 1.2.14.1 21-Apr-2017  bouyer Sync with HEAD
 1.2.10.1 20-Mar-2017  pgoyette Sync with HEAD
 1.2.6.1 28-Aug-2017  skrll Sync with HEAD
 1.8 24-Apr-2021  thorpej 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.7 18-Feb-2017  rin branches: 1.7.28;
Factorize kern/subr_disk_mbr.c into files.evbppc, and make EVBPPC_HAS_MBR
more like a normal option. No functional changes.
 1.6 22-Jun-2011  matt branches: 1.6.12; 1.6.30; 1.6.34; 1.6.38;
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.5 02-Mar-2011  ahoka Resolve build failures caused by local use of "device flash" in config.
 1.4 20-Feb-2008  drochner branches: 1.4.32; 1.4.38; 1.4.40;
Since files.wscons et al. are included by ~all ports anyway, include
them in the mi "files" file, and remove include statements from md files.
These shouldn't pull in additional kernel code when not in use, so it
shouldn't do any harm except a risk of namespace collisions which
should be easy to fix.
 1.3 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.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 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10;
file files.pmppc was initially added on branch ppcoea-renovation.
 1.1.10.1 25-Oct-2007  bouyer Sync with HEAD.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.1.6.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.2.2 09-May-2007  garbled Convert pmppc to generic pci. Also fix the prototype for
pci_conf_interrupt while I'm here.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.8.4 23-Mar-2008  matt sync with HEAD
 1.2.8.3 09-Jan-2008  matt sync with HEAD
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file files.pmppc was added on branch matt-armv6 on 2007-11-06 23:16:13 +0000
 1.2.6.1 08-Dec-2007  mjf Sync with HEAD.
 1.2.4.4 27-Feb-2008  yamt sync with head.
 1.2.4.3 07-Dec-2007  yamt sync with head
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file files.pmppc was added on branch yamt-lazymbuf on 2007-10-27 11:25:52 +0000
 1.2.2.3 03-Dec-2007  ad Sync with HEAD.
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file files.pmppc was added on branch vmlocking on 2007-10-23 20:35:42 +0000
 1.4.40.1 05-Mar-2011  bouyer Sync with HEAD
 1.4.38.1 06-Jun-2011  jruoho Sync with HEAD.
 1.4.32.1 05-Mar-2011  rmind sync with head
 1.6.38.1 21-Apr-2017  bouyer Sync with HEAD
 1.6.34.1 20-Mar-2017  pgoyette Sync with HEAD
 1.6.30.1 28-Aug-2017  skrll Sync with HEAD
 1.6.12.1 03-Dec-2017  jdolecek update from HEAD
 1.7.28.1 22-Mar-2021  thorpej mainbus does not need to carry the "pcibus" interface attribute; PCI
busses do not attach to mainbus, they attach to cpc@mainbus, and cpc
already carries the "pcibus" interface attribute.
 1.5 20-Jun-2011  matt Change IBM4xx to use the common powerpc PIC framework.
Consolidate most ibm4xx initppc function into ibm4xx_init
and Make all IBM4xx use it.
Change explora to use initppc instead of bootstrap.
 1.4 18-Mar-2010  kiyohara branches: 1.4.6;
Support PowerPC 405EX/EXr.
1. Add some new source and header files.
(MAL(split) and RGMII(new) relations for EMAC)
2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h.
3. intr.c supports MULTIUIC with virtual-irq. likes to oea.
support 32-virq/128-hwirq.
4. multiple emac support.
5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx.
6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
 1.3 20-Feb-2008  drochner branches: 1.3.10; 1.3.30; 1.3.32;
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.2 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.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.12; 1.1.28; 1.1.30; 1.1.36;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.36.1 08-Dec-2007  mjf Sync with HEAD.
 1.1.30.2 23-Mar-2008  matt sync with HEAD
 1.1.30.1 09-Jan-2008  matt sync with HEAD
 1.1.28.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.1.12.1 03-Dec-2007  ad Sync with HEAD.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file files.virtex was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.4 27-Feb-2008  yamt sync with head.
 1.1.4.3 07-Dec-2007  yamt sync with head
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file files.virtex was added on branch yamt-lazymbuf on 2006-12-30 20:45:52 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file files.virtex was added on branch yamt-splraiseipl on 2006-12-10 07:15:53 +0000
 1.3.32.1 30-May-2010  rmind sync with head
 1.3.30.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.3.10.1 11-Aug-2010  yamt sync with head.
 1.4.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.19 30-Mar-2021  rin Convert walnut to use powerpc/ibm4xx/openbios.
No functional changes.
 1.18 29-Mar-2021  rin Use ibm40x_machdep.c.
 1.17 20-Jun-2011  matt branches: 1.17.66; 1.17.68;
Change IBM4xx to use the common powerpc PIC framework.
Consolidate most ibm4xx initppc function into ibm4xx_init
and Make all IBM4xx use it.
Change explora to use initppc instead of bootstrap.
 1.16 18-Mar-2010  kiyohara branches: 1.16.6;
Support PowerPC 405EX/EXr.
1. Add some new source and header files.
(MAL(split) and RGMII(new) relations for EMAC)
2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h.
3. intr.c supports MULTIUIC with virtual-irq. likes to oea.
support 32-virq/128-hwirq.
4. multiple emac support.
5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx.
6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
 1.15 20-Feb-2008  drochner branches: 1.15.10; 1.15.30; 1.15.32;
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.14 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.13 10-Apr-2007  macallan branches: 1.13.12; 1.13.14; 1.13.20;
include files.wsfb
 1.12 24-Nov-2006  christos branches: 1.12.4; 1.12.8; 1.12.10;
fix spelling of accommodate; from Zapher.
 1.11 18-Sep-2006  gdamore Conversion of evbppc to generic TODR. ok freza@
 1.10 30-Jun-2006  freza branches: 1.10.4; 1.10.6;
Bring ibm4xx interrupt code up to date:

- generic soft interrupts (ie. use powerpc/softintr.c)
- interrupt event counters (using the ones from powerpc/cpu.h:cpu_info
where appropriate)
- cleanup ibm4xx_intr.h, move implementation details to intr.c

Convert all affected evbppc platforms.

OK by simonb@, some points discussed with matt@
 1.9 27-Feb-2006  he branches: 1.9.2; 1.9.10;
The WALNUT port has now grown a dependency of ibm4xx_autoconf.c via
ibm4xx_device_register(), so include that file in the kernel build.
 1.8 11-Dec-2005  christos branches: 1.8.2; 1.8.4; 1.8.6;
merge ktrace-lwp.
 1.7 30-Mar-2004  simonb branches: 1.7.12;
Remove some bogus config goop that should never have been here.
 1.6 13-Mar-2004  bjh21 Abstract the interface between pckbc(4), and the pckbd(4) and pms(4)
drivers that attach to it. This allows for other host interface chips
that use the same keyboards and mice, such as the ones in the ARM
IOMD20, ARM7500, and SA-1111. The PC-compatible driver is still
called pckbc(4), and the new abstraction layer is "pckbport", so the
child devices have moved from sys/dev/pckbc to sys/dev/pckbport, which
also contains some code shared between all host controllers. To avoid
incompatibility, pckbdreg.h is still installed in
/usr/include/dev/pckbc.

In theory, this shouldn't cause any behavioural changes in the drivers
concerned. Thy just use rather more function pointers than before. Tested
on i386 and (with a new host driver) acorn32. Compiled on several other
affected architectures.
 1.5 19-Nov-2003  scw Include arch/powerpc/ibm4xx/intr.c only if a particular board actually
uses the generic 4xx interrupt implementation.
There are some 4xx boards with entirely different interrupt controllers.
 1.4 06-Oct-2003  scw Rename dsrtc to avoid clashing with the MI i2c ds1307 driver.
 1.3 25-Jul-2003  scw Switch ibm4xx ports to common powerpc bus_space/bus_dma code.
XXX: Walnut PCI support is broken. This will be addressed shortly.
 1.2 04-Mar-2003  matt branches: 1.2.2;
Re-arrange things in evbppc & powerpc to support OEA-based eval boards
in evbppc. OEA-based board(s) to be added later.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file files.walnut was added on branch nathanw_sa on 2002-12-11 06:29: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.7.12.5 27-Feb-2008  yamt sync with head.
 1.7.12.4 07-Dec-2007  yamt sync with head
 1.7.12.3 03-Sep-2007  yamt sync with head.
 1.7.12.2 30-Dec-2006  yamt sync with head.
 1.7.12.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 01-Mar-2006  yamt sync with head.
 1.9.10.1 13-Jul-2006  gdamore Merge from HEAD.
 1.9.2.1 11-Aug-2006  yamt sync with head
 1.10.6.2 10-Dec-2006  yamt sync with head.
 1.10.6.1 22-Oct-2006  yamt sync with head
 1.10.4.2 12-Jan-2007  ad Sync with head.
 1.10.4.1 18-Nov-2006  ad Sync with head.
 1.12.10.1 11-Jul-2007  mjf Sync with head.
 1.12.8.2 03-Dec-2007  ad Sync with HEAD.
 1.12.8.1 10-Apr-2007  ad Sync with head.
 1.12.4.1 15-Apr-2007  yamt sync with head.
 1.13.20.1 08-Dec-2007  mjf Sync with HEAD.
 1.13.14.2 23-Mar-2008  matt sync with HEAD
 1.13.14.1 09-Jan-2008  matt sync with HEAD
 1.13.12.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.15.32.1 30-May-2010  rmind sync with head
 1.15.30.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.15.10.1 11-Aug-2010  yamt sync with head.
 1.16.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.17.68.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.66.1 03-Apr-2021  thorpej Sync with HEAD.
 1.6 17-Feb-2025  macallan have resetbtn pull in sysmon_power and sysmon_taskq
now this builds without any other envsys drivers present
 1.5 12-Feb-2025  jmcneill wii: Add support for Wii DVD drive.

This adds a virtual SCSI HBA driver that is able to read DVD video discs
inserted in the Wii.
 1.4 25-Jan-2024  jmcneill branches: 1.4.2; 1.4.4;
wii: Add External interface bus and RTC support
 1.3 23-Jan-2024  jmcneill wii: Add GPIO, I2C, and basic A/V encoder driver.
 1.2 22-Jan-2024  jmcneill wii: Add drivers for Broadway DSP and Audio interface.

0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
 1.1 20-Jan-2024  jmcneill evbppc: Add initial support for the Nintendo Wii
 1.4.4.1 02-Aug-2025  perseant Sync with HEAD
 1.4.2.3 22-Feb-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #1052):

sys/kern/subr_disk_mbr.c: revision 1.59
sys/arch/evbppc/include/wii.h: revision 1.10
sys/arch/evbppc/wii/machdep.c: revision 1.9
sys/arch/evbppc/conf/files.wii: revision 1.5
sys/arch/evbppc/wii/dev/di.c: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.8

Handle reading larger sectors (including 2k CD-ROM blocks).

Fall back to scan for ISO9660 sessions when MMC code fails.
disklabel now reports ISO/UDF partitions again for cd(4).

wii: Add more register definitions.

wii: Add support for Wii DVD drive.
This adds a virtual SCSI HBA driver that is able to read DVD video discs
inserted in the Wii.

wii: Early init for DVD support
 1.4.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.4.2.1 25-Jan-2024  martin file files.wii was added on branch netbsd-10 on 2024-02-03 11:47:06 +0000
 1.37 29-Jun-2021  nia Remove uscanner(4) driver

This exists for compatibility with a Linux interface which was apparently
deprecated in Linux 2.6. There are various mailing list threads going
back to 2004 where the usefulness of this driver is discussed, but
the conclusion is that scanner software has all moved to using ugen(4)
instead, and enabling this driver will not help you scan things.
 1.36 04-Apr-2020  jdolecek branches: 1.36.8;
mark nsmb major obsolete
 1.35 29-Jan-2020  maya remove urio(4), a driver for the Rio500 MP3 player.

At this point it is highly unlikely this 1999 device still has users,
but it still comes up in the context of maxv's USB-fuzzing (and any device
could pretend to be a urio(4)), so it's best to get rid of it.

Renamed all major entries to obsolete, as was done in previous removals.

This still requires an update to sanitizers, but they're located in
"external", perhaps it should be first committed upstream?

Proposed on tech-kern a month ago.
 1.34 28-Jan-2019  dholland branches: 1.34.6;
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.33 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.32 23-Apr-2015  pgoyette branches: 1.32.16; 1.32.18;
Update device dependency information - the sysmon major device now depends on the sysmon module itself, not on the individual components.
 1.31 30-Jun-2011  wiz branches: 1.31.12; 1.31.30;
dependant -> dependent
 1.30 06-Mar-2010  plunky use a MI major number for uhso(4) driver
(requested by mrg)
 1.29 06-Mar-2010  plunky add major device for usho(4) driver
 1.28 12-Nov-2008  ad branches: 1.28.6;
Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.27 31-Dec-2007  ad branches: 1.27.6; 1.27.10; 1.27.16; 1.27.18;
Remove systrace. Ok core@.
 1.26 02-Dec-2006  freza branches: 1.26.24; 1.26.30; 1.26.36;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.25 24-Nov-2006  wiz s/independant/independent/, from Zafer.
 1.24 11-Dec-2005  christos branches: 1.24.20; 1.24.22;
merge ktrace-lwp.
 1.23 17-Sep-2005  yamt make VMSWAP optional again.
 1.22 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.21 30-Jul-2005  yamt defflag VMSWAP.
 1.20 10-May-2005  jdolecek branches: 1.20.2;
assign major for nsmb(4)
 1.19 14-Feb-2005  briggs twe doesn't get a block device.
 1.18 12-Feb-2005  briggs Add twe.
 1.17 20-Oct-2004  scw branches: 1.17.4; 1.17.6;
Add dmoverio
 1.16 10-Dec-2003  jmc Change reference at bottom from sys/dev/majors to sys/conf/majors to match
reality
 1.15 24-Oct-2003  jdolecek add major for 'ses' for archs which have the other scsi devices
 1.14 10-Oct-2003  jdolecek reassing majors for crypto and pf to use the newly defined MI major
range
 1.13 10-Oct-2003  jdolecek update the comment - the space for machine-dependant majors
is reduced to 0-143
follows discussion on tech-kern
 1.12 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.11 22-Aug-2003  itojun create /dev/crypto
 1.10 17-Aug-2003  hannken Add lpt (for explora) as char 20.
This major number is unused in macppc.
 1.9 27-Jul-2003  itojun reserve cdev major # for PF. ok'ed by technical-exec
 1.8 25-Apr-2003  ragge branches: 1.8.2;
Add ksyms device major.
 1.7 16-Apr-2003  wiz Make it wsfont/wsfont instead of wsfont/wsmux, just like the other ports.
 1.6 16-Mar-2003  matt EV64260 now gets to single user prompt using COM1 (2nd uart) as console
with PPCBOOT as firmware. XXX PCI devices are not found.
 1.5 13-Mar-2003  matt Synchronize macppc and evbppc majors when possible. Add a lot of missing
devices to evbppc.
 1.4 13-Mar-2003  hannken Add wscons to MAKEDEV. Add wsfont major number.
 1.3 11-Mar-2003  hannken Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.2 31-Dec-2002  thorpej Fix sysmon entry.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.3 03-Jan-2003  thorpej Sync with HEAD.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file majors.evbppc was added on branch nathanw_sa on 2002-12-11 06:29:00 +0000
 1.8.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.8.2.5 15-Feb-2005  skrll Sync with HEAD.
 1.8.2.4 02-Nov-2004  skrll Sync with HEAD.
 1.8.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.8.2.1 03-Aug-2004  skrll Sync with HEAD
 1.17.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.17.6.1 12-Feb-2005  yamt sync with head.
 1.17.4.1 29-Apr-2005  kent sync with -current
 1.20.2.3 21-Jan-2008  yamt sync with head
 1.20.2.2 30-Dec-2006  yamt sync with head.
 1.20.2.1 21-Jun-2006  yamt sync with head.
 1.24.22.1 10-Dec-2006  yamt sync with head.
 1.24.20.1 12-Jan-2007  ad Sync with head.
 1.26.36.1 02-Jan-2008  bouyer Sync with HEAD
 1.26.30.1 18-Feb-2008  mjf Sync with HEAD.
 1.26.24.1 09-Jan-2008  matt sync with HEAD
 1.27.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.27.16.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.27.10.1 04-May-2009  yamt sync with head.
 1.27.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.28.6.3 27-Oct-2010  uebayasi Move flash(4)/xmd(4) majors to MI, as suggested by Chuck Silvers.
 1.28.6.2 19-Aug-2010  uebayasi Initial addition of xmd(4), XIP memory disk.
 1.28.6.1 11-Aug-2010  uebayasi Implement flash(4) glue at exb(4).
 1.31.30.1 06-Jun-2015  skrll Sync with HEAD
 1.31.12.1 03-Dec-2017  jdolecek update from HEAD
 1.32.18.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.32.18.1 10-Jun-2019  christos Sync with HEAD
 1.32.16.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.34.6.1 29-Feb-2020  ad Sync with head.
 1.36.8.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1 02-Apr-2021  rin branches: 1.1.2; 1.1.4;
evbppc: Add support for DHT Walnut 405GP evaluation board.
(Digital Home Technologies PCB 01070201 Rev. 1.1)

Official web page seems gone, but analyses by Linux people are at:

- https://elinux.org/DHT-Walnut
- http://web.archive.org/web/20070225171826/http://supernova.stanford.edu/dingdong/

The board features:

- 266MHz PowerPC 405GP processor
- one PC133 SDRAM slot
- two 32-bit 5V PCI slot
- on-chip ethernet controller with DP83843 PHY
- on-chip serial port / GPIO controller
- on-board PDC20265 IDE controller

Hardware limitations:

- no MAC address assigned
- no RTC present

Known problem:

- atabus(4) channels cannot be attached to pdcide(4) for cold boot

dmesg:

- https://dmesgd.nycbug.org/index.cgi?do=view&id=5997

Have fun!
 1.1.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.4.1 02-Apr-2021  thorpej file std.dht was added on branch thorpej-futex on 2021-04-03 22:28:24 +0000
 1.1.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.2.1 02-Apr-2021  thorpej file std.dht was added on branch thorpej-cfargs on 2021-04-03 21:44:43 +0000
 1.8 28-Apr-2010  kiyohara Clean up gt and peripherals.
This change tested compile only.
 1.7 08-Jan-2008  joerg branches: 1.7.10; 1.7.30; 1.7.32;
Finish conversion of ppc and evbppc to timecounter.
Tested by simonb@ on WALNUT.
 1.6 17-Oct-2007  garbled branches: 1.6.2; 1.6.8;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.5 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 17-Sep-2005  yamt include "conf/std".
 1.3 12-Aug-2003  matt branches: 1.3.16;
Remove SPILLSTK leftovers.
 1.2 16-Mar-2003  matt branches: 1.2.2;
EV64260 now gets to single user prompt using COM1 (2nd uart) as console
with PPCBOOT as firmware. XXX PCI devices are not found.
 1.1 05-Mar-2003  matt Add preliminary support Marvell (Galileo) Discovery System Controllers.
This code was contributed by Allegro Networks.
 1.2.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.3.16.3 21-Jan-2008  yamt sync with head
 1.3.16.2 27-Oct-2007  yamt sync with head.
 1.3.16.1 21-Jun-2006  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.2 09-Jan-2008  matt 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 17-Oct-2007  garbled Back out most of the PIC rennovation on ev64260, it was not completed,
and can be completed post-merge. With these changes, ev64260 compiles
again on the branch. Untested.
 1.5.38.1 22-May-2007  matt WIP. Adapt ev64260 to the new pic code.
 1.5.30.1 23-Oct-2007  ad Sync with head.
 1.6.8.1 08-Jan-2008  bouyer Sync with HEAD
 1.6.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.7.32.1 30-May-2010  rmind sync with head
 1.7.30.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.7.10.1 11-Aug-2010  yamt sync with head.
 1.11 30-May-2022  rin Restrict strictly-aligned versions of memcmp(9), memcpy(9), and
memmove(9) to 403, instead of all evbppc machines.

Introduce strict-align LIBKERN_MD_FLAGS for this purpose.
 1.10 30-May-2022  rin For IBM_PPC403, emulate unaligned memory access for userland process.
 1.9 26-Jun-2021  rin Oops, revert unintentional part of the previous.
 1.8 26-Jun-2021  rin Set VMSWAP_DEFAULT_PLAINTEXT for Explora 450 (IBM_PPC403).
(slow CPU & memory shortage)
 1.7 05-Mar-2021  rin branches: 1.7.4;
Bump INTSTK to 16KB, i.e., one VM page, in the same manner as other boards.
 1.6 05-Mar-2021  rin For Explora 451, call calc_delayconst() before pckbc_cnattach(), which
depends on delay() and DELAY().

Unfortunately, proplib(9) API is not available for MD codes, that are
called before consinit() (since pool(9) is not initialized yet).

Therefore, hard-code CPU frequency to calc_delayconst() in case
"processor-frequency" is not initialized.
 1.5 20-Jun-2011  matt branches: 1.5.66;
Change IBM4xx to use the common powerpc PIC framework.
Consolidate most ibm4xx initppc function into ibm4xx_init
and Make all IBM4xx use it.
Change explora to use initppc instead of bootstrap.
 1.4 11-Dec-2005  christos branches: 1.4.110;
merge ktrace-lwp.
 1.3 17-Sep-2005  yamt include "conf/std".
 1.2 12-Aug-2003  matt branches: 1.2.16;
Remove SPILLSTK leftovers.
 1.1 11-Mar-2003  hannken branches: 1.1.2;
Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.4.110.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.5.66.1 03-Apr-2021  thorpej Sync with HEAD.
 1.7.4.1 01-Aug-2021  thorpej Sync with HEAD.
 1.6 10-Jun-2011  matt Change default of GUR_BASE to 0xffe00000 which is used on more recent machines.
Add options GUR_BASE=0xe0000000 to MPC8548CDS and RB800
 1.5 08-Jun-2011  matt Use a standard INSTALL.inc instead of duplicating it. Make INSTALL
variants of mpc85xx kernels.
 1.4 28-May-2011  matt branches: 1.4.2;
NEEDS_MDSETIMAGE -> NEED_MDSETIMAGE
 1.3 02-May-2011  matt mpc85xx uses MBRs
 1.2 18-Jan-2011  matt branches: 1.2.4;
Add support for various MPC85xx platforms. The MPC8536DS and MPC8548CDS
development systems and the RB800 (routerboard 800) platform. The CF on
the RB800 doesn't work yet.
 1.1 07-Jan-2011  matt branches: 1.1.2; 1.1.4;
file std.mpc85xx was initially added on branch matt-nb5-pq3.
 1.1.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.2.2 14-Oct-2011  matt Sync with current pulling P2020 and other newer processor support.
 1.1.2.1 07-Jan-2011  matt Add mpc85xx support for MPC8536DS (Freescale Development System),
MPC8548CDS (Freescale Development System), and RB800 (RouterBoard 800).
 1.2.4.4 12-Jun-2011  rmind sync with head
 1.2.4.3 31-May-2011  rmind sync with head
 1.2.4.2 05-Mar-2011  rmind sync with head
 1.2.4.1 18-Jan-2011  rmind file std.mpc85xx was added on branch rmind-uvmplock on 2011-03-05 20:50:15 +0000
 1.4.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.5 01-Mar-2020  rin Implement workaround for IBM405 Errata 77 (aka CPU_210), where
interrupted stwcx. may errantly write data to memory:

https://elinux.org/images/1/1d/Ppc405gp-errata.pdf

This is because stwcx. is split into two pieces in the pipeline.

We need to
(1) insert dcbt before every stwcx. instruction, as well as
(2) insert sync before every rfi/rfci instruction.

It is unclear which processors are affected, but according to Linux,
all 405-based cores up until 405GPR and 405EP are affected:

https://github.com/torvalds/linux/blob/master/arch/powerpc/platforms/40x/Kconfig#L140

For kernel, this workaround can be restricted to affected processors.
However, for kernel modules and userland, we have to enable it for all
32bit powerpc archs in order to share common binaries as before.

Proposed on port-powerpc:

http://mail-index.netbsd.org/port-powerpc/2020/02/21/msg003583.html
 1.4 18-Mar-2010  kiyohara branches: 1.4.60; 1.4.64;
Support Plathome's OpenBlockS600.
 1.3 11-Dec-2005  christos branches: 1.3.78; 1.3.98; 1.3.100;
merge ktrace-lwp.
 1.2 17-Sep-2005  yamt include "conf/std".
 1.1 18-Mar-2005  shige branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Add sources for OpenBlockS200 (OpenBlockS S/R) machine.
 1.1.8.1 21-Jun-2006  yamt sync with head.
 1.1.6.2 29-Apr-2005  kent sync with -current
 1.1.6.1 18-Mar-2005  kent file std.obs200 was added on branch kent-audio2 on 2005-04-29 11:28:08 +0000
 1.1.4.3 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.4.2 01-Apr-2005  skrll Sync with HEAD.
 1.1.4.1 18-Mar-2005  skrll file std.obs200 was added on branch ktrace-lwp on 2005-04-01 14:27:26 +0000
 1.1.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.2.1 18-Mar-2005  yamt file std.obs200 was added on branch yamt-km on 2005-03-19 08:32:57 +0000
 1.3.100.1 30-May-2010  rmind sync with head
 1.3.98.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.3.78.1 11-Aug-2010  yamt sync with head.
 1.4.64.1 03-Mar-2020  martin Pull up following revision(s) (requested by rin in ticket #755):

sys/arch/evbppc/conf/std.virtex: revision 1.4
sys/arch/powerpc/powerpc/trap_subr.S: revision 1.81
sys/arch/powerpc/ibm4xx/4xx_trap_subr.S: revision 1.8
sys/arch/evbppc/conf/std.walnut: revision 1.9
common/lib/libc/arch/powerpc/atomic/atomic_op_asm.h: revision 1.7
sys/arch/powerpc/include/asm.h: revision 1.49
common/lib/libc/arch/powerpc/atomic/atomic_cas.S: revision 1.9
sys/arch/powerpc/ibm4xx/trap_subr.S: revision 1.28
sys/arch/powerpc/include/lock.h: revision 1.15
sys/arch/evbppc/conf/std.obs266: revision 1.3
common/lib/libc/arch/powerpc/atomic/atomic_swap.S: revision 1.8
sys/arch/powerpc/powerpc/locore_subr.S: revision 1.61
sys/arch/powerpc/powerpc/lock_stubs.S: revision 1.12
sys/arch/evbppc/conf/std.obs200: revision 1.5

Implement workaround for IBM405 Errata 77 (aka CPU_210), where
interrupted stwcx. may errantly write data to memory:

https://elinux.org/images/1/1d/Ppc405gp-errata.pdf

This is because stwcx. is split into two pieces in the pipeline.

We need to
(1) insert dcbt before every stwcx. instruction, as well as
(2) insert sync before every rfi/rfci instruction.

It is unclear which processors are affected, but according to Linux,
all 405-based cores up until 405GPR and 405EP are affected:

https://github.com/torvalds/linux/blob/master/arch/powerpc/platforms/40x/Kconfig#L140

For kernel, this workaround can be restricted to affected processors.

However, for kernel modules and userland, we have to enable it for all
32bit powerpc archs in order to share common binaries as before.
Proposed on port-powerpc:

http://mail-index.netbsd.org/port-powerpc/2020/02/21/msg003583.html
 1.4.60.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.3 01-Mar-2020  rin Implement workaround for IBM405 Errata 77 (aka CPU_210), where
interrupted stwcx. may errantly write data to memory:

https://elinux.org/images/1/1d/Ppc405gp-errata.pdf

This is because stwcx. is split into two pieces in the pipeline.

We need to
(1) insert dcbt before every stwcx. instruction, as well as
(2) insert sync before every rfi/rfci instruction.

It is unclear which processors are affected, but according to Linux,
all 405-based cores up until 405GPR and 405EP are affected:

https://github.com/torvalds/linux/blob/master/arch/powerpc/platforms/40x/Kconfig#L140

For kernel, this workaround can be restricted to affected processors.
However, for kernel modules and userland, we have to enable it for all
32bit powerpc archs in order to share common binaries as before.

Proposed on port-powerpc:

http://mail-index.netbsd.org/port-powerpc/2020/02/21/msg003583.html
 1.2 04-Apr-2011  dyoung branches: 1.2.56; 1.2.60;
Pull in the Atheros HAL options so that OPENBLOCKS266_OPT will build.
 1.1 18-Mar-2010  kiyohara branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Support Plathome's OpenBlockS600.
 1.1.8.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.6.2 11-Aug-2010  yamt sync with head.
 1.1.6.1 18-Mar-2010  yamt file std.obs266 was added on branch yamt-nfs-mp on 2010-08-11 22:51:54 +0000
 1.1.4.3 21-Apr-2011  rmind sync with head
 1.1.4.2 30-May-2010  rmind sync with head
 1.1.4.1 18-Mar-2010  rmind file std.obs266 was added on branch rmind-uvmplock on 2010-05-30 05:16:43 +0000
 1.1.2.2 30-Apr-2010  uebayasi Sync with HEAD.
 1.1.2.1 18-Mar-2010  uebayasi file std.obs266 was added on branch uebayasi-xip on 2010-04-30 14:39:17 +0000
 1.2.60.1 03-Mar-2020  martin Pull up following revision(s) (requested by rin in ticket #755):

sys/arch/evbppc/conf/std.virtex: revision 1.4
sys/arch/powerpc/powerpc/trap_subr.S: revision 1.81
sys/arch/powerpc/ibm4xx/4xx_trap_subr.S: revision 1.8
sys/arch/evbppc/conf/std.walnut: revision 1.9
common/lib/libc/arch/powerpc/atomic/atomic_op_asm.h: revision 1.7
sys/arch/powerpc/include/asm.h: revision 1.49
common/lib/libc/arch/powerpc/atomic/atomic_cas.S: revision 1.9
sys/arch/powerpc/ibm4xx/trap_subr.S: revision 1.28
sys/arch/powerpc/include/lock.h: revision 1.15
sys/arch/evbppc/conf/std.obs266: revision 1.3
common/lib/libc/arch/powerpc/atomic/atomic_swap.S: revision 1.8
sys/arch/powerpc/powerpc/locore_subr.S: revision 1.61
sys/arch/powerpc/powerpc/lock_stubs.S: revision 1.12
sys/arch/evbppc/conf/std.obs200: revision 1.5

Implement workaround for IBM405 Errata 77 (aka CPU_210), where
interrupted stwcx. may errantly write data to memory:

https://elinux.org/images/1/1d/Ppc405gp-errata.pdf

This is because stwcx. is split into two pieces in the pipeline.

We need to
(1) insert dcbt before every stwcx. instruction, as well as
(2) insert sync before every rfi/rfci instruction.

It is unclear which processors are affected, but according to Linux,
all 405-based cores up until 405GPR and 405EP are affected:

https://github.com/torvalds/linux/blob/master/arch/powerpc/platforms/40x/Kconfig#L140

For kernel, this workaround can be restricted to affected processors.

However, for kernel modules and userland, we have to enable it for all
32bit powerpc archs in order to share common binaries as before.
Proposed on port-powerpc:

http://mail-index.netbsd.org/port-powerpc/2020/02/21/msg003583.html
 1.2.56.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.6 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.5 20-Jun-2011  matt Change IBM4xx to use the common powerpc PIC framework.
Consolidate most ibm4xx initppc function into ibm4xx_init
and Make all IBM4xx use it.
Change explora to use initppc instead of bootstrap.
 1.4 18-Mar-2010  kiyohara branches: 1.4.6;
Support Plathome's OpenBlockS600.
 1.3 11-Dec-2005  christos branches: 1.3.78; 1.3.98; 1.3.100;
merge ktrace-lwp.
 1.2 17-Sep-2005  yamt include "conf/std".
 1.1 23-Sep-2003  shige branches: 1.1.4; 1.1.18;
Add new evbppc port.
This port is for OpenBlockS266.
OpenBlockS266: IBM405GPr OpenBIOS.
X1226 is a rtc chip connected with IIC bus.
 1.1.18.1 21-Jun-2006  yamt sync with head.
 1.1.4.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 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 23-Sep-2003  skrll file std.obs405 was added on branch ktrace-lwp on 2004-08-03 10:34:16 +0000
 1.3.100.1 30-May-2010  rmind sync with head
 1.3.98.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.3.78.1 11-Aug-2010  yamt sync with head.
 1.4.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.2 21-Nov-2013  kiyohara Add dwctwo and umass.
And cleanup.
However dwctwo@plb is buggy...
 1.1 18-Mar-2010  kiyohara branches: 1.1.2; 1.1.4; 1.1.6; 1.1.14; 1.1.24; 1.1.28;
Support Plathome's OpenBlockS600.
 1.1.28.1 18-May-2014  rmind sync with head
 1.1.24.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.14.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 11-Aug-2010  yamt sync with head.
 1.1.6.1 18-Mar-2010  yamt file std.obs600 was added on branch yamt-nfs-mp on 2010-08-11 22:51:54 +0000
 1.1.4.2 30-May-2010  rmind sync with head
 1.1.4.1 18-Mar-2010  rmind file std.obs600 was added on branch rmind-uvmplock on 2010-05-30 05:16:43 +0000
 1.1.2.2 30-Apr-2010  uebayasi Sync with HEAD.
 1.1.2.1 18-Mar-2010  uebayasi file std.obs600 was added on branch uebayasi-xip on 2010-04-30 14:39:17 +0000
 1.4 22-Jun-2011  matt Make pmppc use stock <powerpc/pci_machdep.h>
Move some private declartions to <pmppc/dev/mainbus.h>
 1.3 08-Jan-2008  joerg Finish conversion of ppc and evbppc to timecounter.
Tested by simonb@ on WALNUT.
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; 1.2.14;
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 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10;
file std.pmppc was initially added on branch ppcoea-renovation.
 1.1.10.1 25-Oct-2007  bouyer Sync with HEAD.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.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.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.14.1 08-Jan-2008  bouyer Sync with HEAD
 1.2.8.3 09-Jan-2008  matt sync with HEAD
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file std.pmppc was added on branch matt-armv6 on 2007-11-06 23:16:14 +0000
 1.2.6.1 18-Feb-2008  mjf Sync with HEAD.
 1.2.4.3 21-Jan-2008  yamt sync with head
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file std.pmppc was added on branch yamt-lazymbuf on 2007-10-27 11:25:53 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file std.pmppc was added on branch vmlocking on 2007-10-23 20:35:42 +0000
 1.4 01-Mar-2020  rin Implement workaround for IBM405 Errata 77 (aka CPU_210), where
interrupted stwcx. may errantly write data to memory:

https://elinux.org/images/1/1d/Ppc405gp-errata.pdf

This is because stwcx. is split into two pieces in the pipeline.

We need to
(1) insert dcbt before every stwcx. instruction, as well as
(2) insert sync before every rfi/rfci instruction.

It is unclear which processors are affected, but according to Linux,
all 405-based cores up until 405GPR and 405EP are affected:

https://github.com/torvalds/linux/blob/master/arch/powerpc/platforms/40x/Kconfig#L140

For kernel, this workaround can be restricted to affected processors.
However, for kernel modules and userland, we have to enable it for all
32bit powerpc archs in order to share common binaries as before.

Proposed on port-powerpc:

http://mail-index.netbsd.org/port-powerpc/2020/02/21/msg003583.html
 1.3 20-Jun-2011  matt branches: 1.3.54; 1.3.58;
Change IBM4xx to use the common powerpc PIC framework.
Consolidate most ibm4xx initppc function into ibm4xx_init
and Make all IBM4xx use it.
Change explora to use initppc instead of bootstrap.
 1.2 18-Mar-2010  kiyohara branches: 1.2.6;
Support PowerPC 405EX/EXr.
1. Add some new source and header files.
(MAL(split) and RGMII(new) relations for EMAC)
2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h.
3. intr.c supports MULTIUIC with virtual-irq. likes to oea.
support 32-virq/128-hwirq.
4. multiple emac support.
5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx.
6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.54; 1.1.74; 1.1.76;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.76.1 30-May-2010  rmind sync with head
 1.1.74.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.1.54.1 11-Aug-2010  yamt sync with head.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file std.virtex was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file std.virtex was added on branch yamt-lazymbuf on 2006-12-30 20:45:52 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file std.virtex was added on branch yamt-splraiseipl on 2006-12-10 07:15:53 +0000
 1.2.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.3.58.1 03-Mar-2020  martin Pull up following revision(s) (requested by rin in ticket #755):

sys/arch/evbppc/conf/std.virtex: revision 1.4
sys/arch/powerpc/powerpc/trap_subr.S: revision 1.81
sys/arch/powerpc/ibm4xx/4xx_trap_subr.S: revision 1.8
sys/arch/evbppc/conf/std.walnut: revision 1.9
common/lib/libc/arch/powerpc/atomic/atomic_op_asm.h: revision 1.7
sys/arch/powerpc/include/asm.h: revision 1.49
common/lib/libc/arch/powerpc/atomic/atomic_cas.S: revision 1.9
sys/arch/powerpc/ibm4xx/trap_subr.S: revision 1.28
sys/arch/powerpc/include/lock.h: revision 1.15
sys/arch/evbppc/conf/std.obs266: revision 1.3
common/lib/libc/arch/powerpc/atomic/atomic_swap.S: revision 1.8
sys/arch/powerpc/powerpc/locore_subr.S: revision 1.61
sys/arch/powerpc/powerpc/lock_stubs.S: revision 1.12
sys/arch/evbppc/conf/std.obs200: revision 1.5

Implement workaround for IBM405 Errata 77 (aka CPU_210), where
interrupted stwcx. may errantly write data to memory:

https://elinux.org/images/1/1d/Ppc405gp-errata.pdf

This is because stwcx. is split into two pieces in the pipeline.

We need to
(1) insert dcbt before every stwcx. instruction, as well as
(2) insert sync before every rfi/rfci instruction.

It is unclear which processors are affected, but according to Linux,
all 405-based cores up until 405GPR and 405EP are affected:

https://github.com/torvalds/linux/blob/master/arch/powerpc/platforms/40x/Kconfig#L140

For kernel, this workaround can be restricted to affected processors.

However, for kernel modules and userland, we have to enable it for all
32bit powerpc archs in order to share common binaries as before.
Proposed on port-powerpc:

http://mail-index.netbsd.org/port-powerpc/2020/02/21/msg003583.html
 1.3.54.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.9 01-Mar-2020  rin Implement workaround for IBM405 Errata 77 (aka CPU_210), where
interrupted stwcx. may errantly write data to memory:

https://elinux.org/images/1/1d/Ppc405gp-errata.pdf

This is because stwcx. is split into two pieces in the pipeline.

We need to
(1) insert dcbt before every stwcx. instruction, as well as
(2) insert sync before every rfi/rfci instruction.

It is unclear which processors are affected, but according to Linux,
all 405-based cores up until 405GPR and 405EP are affected:

https://github.com/torvalds/linux/blob/master/arch/powerpc/platforms/40x/Kconfig#L140

For kernel, this workaround can be restricted to affected processors.
However, for kernel modules and userland, we have to enable it for all
32bit powerpc archs in order to share common binaries as before.

Proposed on port-powerpc:

http://mail-index.netbsd.org/port-powerpc/2020/02/21/msg003583.html
 1.8 22-Jun-2011  matt branches: 1.8.54; 1.8.58;
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-Jun-2011  matt Change IBM4xx to use the common powerpc PIC framework.
Consolidate most ibm4xx initppc function into ibm4xx_init
and Make all IBM4xx use it.
Change explora to use initppc instead of bootstrap.
 1.6 11-Dec-2005  christos branches: 1.6.110;
merge ktrace-lwp.
 1.5 17-Sep-2005  yamt include "conf/std".
 1.4 12-Aug-2003  matt branches: 1.4.16;
Remove SPILLSTK leftovers.
 1.3 04-Mar-2003  matt branches: 1.3.2;
Re-arrange things in evbppc & powerpc to support OEA-based eval boards
in evbppc. OEA-based board(s) to be added later.
 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 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file std.walnut was added on branch nathanw_sa on 2002-12-11 06:29:01 +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.4.16.1 21-Jun-2006  yamt sync with head.
 1.6.110.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.8.58.1 03-Mar-2020  martin Pull up following revision(s) (requested by rin in ticket #755):

sys/arch/evbppc/conf/std.virtex: revision 1.4
sys/arch/powerpc/powerpc/trap_subr.S: revision 1.81
sys/arch/powerpc/ibm4xx/4xx_trap_subr.S: revision 1.8
sys/arch/evbppc/conf/std.walnut: revision 1.9
common/lib/libc/arch/powerpc/atomic/atomic_op_asm.h: revision 1.7
sys/arch/powerpc/include/asm.h: revision 1.49
common/lib/libc/arch/powerpc/atomic/atomic_cas.S: revision 1.9
sys/arch/powerpc/ibm4xx/trap_subr.S: revision 1.28
sys/arch/powerpc/include/lock.h: revision 1.15
sys/arch/evbppc/conf/std.obs266: revision 1.3
common/lib/libc/arch/powerpc/atomic/atomic_swap.S: revision 1.8
sys/arch/powerpc/powerpc/locore_subr.S: revision 1.61
sys/arch/powerpc/powerpc/lock_stubs.S: revision 1.12
sys/arch/evbppc/conf/std.obs200: revision 1.5

Implement workaround for IBM405 Errata 77 (aka CPU_210), where
interrupted stwcx. may errantly write data to memory:

https://elinux.org/images/1/1d/Ppc405gp-errata.pdf

This is because stwcx. is split into two pieces in the pipeline.

We need to
(1) insert dcbt before every stwcx. instruction, as well as
(2) insert sync before every rfi/rfci instruction.

It is unclear which processors are affected, but according to Linux,
all 405-based cores up until 405GPR and 405EP are affected:

https://github.com/torvalds/linux/blob/master/arch/powerpc/platforms/40x/Kconfig#L140

For kernel, this workaround can be restricted to affected processors.

However, for kernel modules and userland, we have to enable it for all
32bit powerpc archs in order to share common binaries as before.
Proposed on port-powerpc:

http://mail-index.netbsd.org/port-powerpc/2020/02/21/msg003583.html
 1.8.54.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.4 02-Sep-2025  jmcneill wii: Do not encrypt swap by default
 1.3 26-Jan-2024  jmcneill branches: 1.3.2;
wii: Remove objcopy after kernel build.

HBC will do the right thing.
 1.2 22-Jan-2024  jmcneill wii: Fix a comment
 1.1 20-Jan-2024  jmcneill evbppc: Add initial support for the Nintendo Wii
 1.3.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.3.2.1 26-Jan-2024  martin file std.wii was added on branch netbsd-10 on 2024-02-03 11:47:06 +0000
 1.1 02-Apr-2021  rin branches: 1.1.2; 1.1.4;
evbppc: Add support for DHT Walnut 405GP evaluation board.
(Digital Home Technologies PCB 01070201 Rev. 1.1)

Official web page seems gone, but analyses by Linux people are at:

- https://elinux.org/DHT-Walnut
- http://web.archive.org/web/20070225171826/http://supernova.stanford.edu/dingdong/

The board features:

- 266MHz PowerPC 405GP processor
- one PC133 SDRAM slot
- two 32-bit 5V PCI slot
- on-chip ethernet controller with DP83843 PHY
- on-chip serial port / GPIO controller
- on-board PDC20265 IDE controller

Hardware limitations:

- no MAC address assigned
- no RTC present

Known problem:

- atabus(4) channels cannot be attached to pdcide(4) for cold boot

dmesg:

- https://dmesgd.nycbug.org/index.cgi?do=view&id=5997

Have fun!
 1.1.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.4.1 02-Apr-2021  thorpej file autoconf.c was added on branch thorpej-futex on 2021-04-03 22:28:24 +0000
 1.1.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.2.1 02-Apr-2021  thorpej file autoconf.c was added on branch thorpej-cfargs on 2021-04-03 21:44:43 +0000
 1.3 07-May-2022  rin Instead of hard-coding SPR# for CCR0, define SPR_CCR0 in
<powerpc/spr.h> and use it.

Idea from uwe@, thanks!
(and sorry for delayed response!)
 1.2 20-Feb-2022  christos Convert assembly to something both gcc and clang understand.
 1.1 02-Apr-2021  rin branches: 1.1.2; 1.1.4;
evbppc: Add support for DHT Walnut 405GP evaluation board.
(Digital Home Technologies PCB 01070201 Rev. 1.1)

Official web page seems gone, but analyses by Linux people are at:

- https://elinux.org/DHT-Walnut
- http://web.archive.org/web/20070225171826/http://supernova.stanford.edu/dingdong/

The board features:

- 266MHz PowerPC 405GP processor
- one PC133 SDRAM slot
- two 32-bit 5V PCI slot
- on-chip ethernet controller with DP83843 PHY
- on-chip serial port / GPIO controller
- on-board PDC20265 IDE controller

Hardware limitations:

- no MAC address assigned
- no RTC present

Known problem:

- atabus(4) channels cannot be attached to pdcide(4) for cold boot

dmesg:

- https://dmesgd.nycbug.org/index.cgi?do=view&id=5997

Have fun!
 1.1.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.4.1 02-Apr-2021  thorpej file locore.S was added on branch thorpej-futex on 2021-04-03 22:28:24 +0000
 1.1.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.2.1 02-Apr-2021  thorpej file locore.S was added on branch thorpej-cfargs on 2021-04-03 21:44:43 +0000
 1.3 19-Sep-2021  andvar fix few more typos in comments, messages and documentation.
 1.2 03-Aug-2021  rin Switch evbppc/ibm4xx to generic evbppc (same as oea) kernel modules.

I've confirmed that kernels similar to amd64/conf/MODULAR work fine
both on 403 and 405.

XXX
Unfortunately, we cannot immediately switch evbppc/booke to generic
kernel modules yet; it has its own intr.h implementation.
 1.1 02-Apr-2021  rin branches: 1.1.2; 1.1.4;
evbppc: Add support for DHT Walnut 405GP evaluation board.
(Digital Home Technologies PCB 01070201 Rev. 1.1)

Official web page seems gone, but analyses by Linux people are at:

- https://elinux.org/DHT-Walnut
- http://web.archive.org/web/20070225171826/http://supernova.stanford.edu/dingdong/

The board features:

- 266MHz PowerPC 405GP processor
- one PC133 SDRAM slot
- two 32-bit 5V PCI slot
- on-chip ethernet controller with DP83843 PHY
- on-chip serial port / GPIO controller
- on-board PDC20265 IDE controller

Hardware limitations:

- no MAC address assigned
- no RTC present

Known problem:

- atabus(4) channels cannot be attached to pdcide(4) for cold boot

dmesg:

- https://dmesgd.nycbug.org/index.cgi?do=view&id=5997

Have fun!
 1.1.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.4.1 02-Apr-2021  thorpej file machdep.c was added on branch thorpej-futex on 2021-04-03 22:28:24 +0000
 1.1.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.2.1 02-Apr-2021  thorpej file machdep.c was added on branch thorpej-cfargs on 2021-04-03 21:44:43 +0000
 1.19 03-Oct-2025  thorpej Use device_setprop_data() to set the "mac-address" property.
 1.18 02-Oct-2025  thorpej Rename property "mac-addr" -> "mac-address" to match everyone else.
 1.17 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.16 18-Jun-2011  matt branches: 1.16.2; 1.16.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.15 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.14 02-Jun-2010  kiyohara branches: 1.14.6;
Move memory protection parameters to MI part.
Gtpci believes the initialization of the firmware(boot-loader) if protection
information is not obtained.
 1.13 28-Apr-2010  kiyohara Clean up gt and peripherals.
This change tested compile only.
 1.12 18-Mar-2009  cegger branches: 1.12.2; 1.12.4;
Ansify function definitions w/o arguments. Generated with sed.
 1.11 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.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 17-Oct-2007  garbled branches: 1.9.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.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 23-Oct-2004  thorpej branches: 1.7.12;
Centralize the declaration of booted_device and booted_partition.
 1.6 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.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 04-Jul-2003  thorpej Add device_register().
 1.3 18-Jun-2003  drochner branches: 1.3.2;
don't #include <sys/dkstat.h> where it is (appearently) unused
 1.2 09-Apr-2003  matt Make the imask_t typedef a struct rather than a naked array. The attribute
on the array typedef was contaminating other u_int32_t naked arrays and
affecting their alignment.
 1.1 05-Mar-2003  matt Add preliminary support Marvell (Galileo) Discovery System Controllers.
This code was contributed by Allegro Networks.
 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.7.12.2 27-Feb-2008  yamt 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.2 23-Mar-2008  matt 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.2 17-Oct-2007  garbled Back out most of the PIC rennovation on ev64260, it was not completed,
and can be completed post-merge. With these changes, ev64260 compiles
again on the branch. Untested.
 1.8.38.1 22-May-2007  matt WIP. Adapt ev64260 to the new pic code.
 1.8.30.1 23-Oct-2007  ad Sync with head.
 1.9.2.1 18-Feb-2008  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.2 11-Aug-2010  yamt sync with head.
 1.10.10.1 04-May-2009  yamt sync with head.
 1.12.4.2 03-Jul-2010  rmind sync with head
 1.12.4.1 30-May-2010  rmind sync with head
 1.12.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.12.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.14.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.16.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.16.2.1 30-Oct-2012  yamt sync with head
 1.5 16-Mar-2003  matt EV64260 now gets to single user prompt using COM1 (2nd uart) as console
with PPCBOOT as firmware. XXX PCI devices are not found.
 1.4 07-Mar-2003  matt Remove some constant (use value in bus_space_tags).
 1.3 06-Mar-2003  matt Correct pci1 bus_space tag.
 1.2 06-Mar-2003  matt Make most of PPC (OEA) bus_space's identical (or as identical as possible).
(except mvmeppc).
 1.1 05-Mar-2003  matt Add preliminary support Marvell (Galileo) Discovery System Controllers.
This code was contributed by Allegro Networks.
 1.10 08-Jan-2008  simonb GC this file - it should have been removed during the ppcoea-renovation
merge.
 1.9 18-Sep-2006  gdamore branches: 1.9.28; 1.9.34; 1.9.42;
Conversion of evbppc to generic TODR. ok freza@
 1.8 24-Dec-2005  perry branches: 1.8.20; 1.8.22;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.7 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.6 03-Jun-2005  scw branches: 1.6.2; 1.6.8;
Appease -Wshadow
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 17-Mar-2003  matt branches: 1.4.2;
Get CLOCKBASE from opt_ppcparam.h.
 1.3 16-Mar-2003  matt Remove some debugging code.
 1.2 16-Mar-2003  matt EV64260 now gets to single user prompt using COM1 (2nd uart) as console
with PPCBOOT as firmware. XXX PCI devices are not found.
 1.1 05-Mar-2003  matt Add preliminary support Marvell (Galileo) Discovery System Controllers.
This code was contributed by Allegro Networks.
 1.4.2.5 11-Dec-2005  christos Sync with head.
 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.6.8.1 29-Nov-2005  yamt sync with head.
 1.6.2.3 21-Jan-2008  yamt sync with head
 1.6.2.2 30-Dec-2006  yamt sync with head.
 1.6.2.1 21-Jun-2006  yamt sync with head.
 1.8.22.1 22-Oct-2006  yamt sync with head
 1.8.20.1 18-Nov-2006  ad Sync with head.
 1.9.42.1 08-Jan-2008  bouyer Sync with HEAD
 1.9.34.1 18-Feb-2008  mjf Sync with HEAD.
 1.9.28.1 09-Jan-2008  matt sync with HEAD
 1.12 08-Dec-2018  thorpej Clean up initialization of com_regs structure, in preparation for
some additional changers.
 1.11 01-Jul-2011  dyoung branches: 1.11.52; 1.11.54;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.10 28-Apr-2010  kiyohara Clean up gt and peripherals.
This change tested compile only.
 1.9 21-Nov-2009  rmind branches: 1.9.2; 1.9.4;
Use lwp_getpcb() on mips, powerpc and sh3, clean from struct user usage.
 1.8 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.7 14-Mar-2008  cube branches: 1.7.2; 1.7.4;
Split device_t and softc for all com(4) devices (well, everything that
uses a com_softc backend). Use proper types and ansify where appropriate.
 1.6 13-Jul-2006  gdamore branches: 1.6.34; 1.6.54; 1.6.58;
Add an option COM_REGMAP to allow com(4) to use an array of register indices.
This allows us to convert aucom to just another com attachment, and cleanup
some code in the com_arbus.c.

Additionally, we use a common com_cleanup routine rather than having a
zillion copies of it in the attachment points.

This has been tested on a number architectures, and it has been shown to get
close to comparable performance when COM_REGMAP is defined, and comparable
when it is not defined.

Approved by core@. Fixes PR port-evbmips/32362.
 1.5 11-Dec-2005  christos branches: 1.5.4; 1.5.8; 1.5.16;
merge ktrace-lwp.
 1.4 07-Aug-2003  agc branches: 1.4.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.3 15-Jul-2003  lukem __KERNEL_RCSID()
 1.2 24-Mar-2003  matt branches: 1.2.2;
Make PCI interrupts -> GPP mapping configured via config file.
Add bus_spaces for all possile obios. Add gt_halt to make
sure the discovery is not doing dma as soon as possible.
Read the SDRAM register to figure out how much physical RAM
is available.
 1.1 16-Mar-2003  matt EV64260 now gets to single user prompt using COM1 (2nd uart) as console
with PPCBOOT as firmware. XXX PCI devices are not found.
 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.16.2 17-Mar-2008  yamt sync with head.
 1.4.16.1 30-Dec-2006  yamt sync with head.
 1.5.16.2 16-Jun-2006  gdamore Adapt to KNF.
 1.5.16.1 15-Jun-2006  gdamore Initial work for PowerPC-specific com(4) rewhack. Compile tested, but I
lack hardware to test. If someone wants to validate, would be appreciated.
(Compile tested for WALNUT, EXPLORA451, and EV64260 kernels.)
 1.5.8.1 11-Aug-2006  yamt sync with head
 1.5.4.1 09-Sep-2006  rpaulo sync with head
 1.6.58.2 02-Jun-2008  mjf Sync with HEAD.
 1.6.58.1 03-Apr-2008  mjf Sync with HEAD.
 1.6.54.1 24-Mar-2008  keiichi sync with head.
 1.6.34.1 23-Mar-2008  matt sync with HEAD
 1.7.4.3 11-Aug-2010  yamt sync with head.
 1.7.4.2 11-Mar-2010  yamt sync with head
 1.7.4.1 16-May-2008  yamt sync with head.
 1.7.2.1 18-May-2008  yamt sync with head.
 1.9.4.1 30-May-2010  rmind sync with head
 1.9.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.11.54.1 10-Jun-2019  christos Sync with HEAD
 1.11.52.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.1 28-Apr-2010  kiyohara branches: 1.1.2; 1.1.4; 1.1.6;
Clean up gt and peripherals.
This change tested compile only.
 1.1.6.2 11-Aug-2010  yamt sync with head.
 1.1.6.1 28-Apr-2010  yamt file ev64260.h was added on branch yamt-nfs-mp on 2010-08-11 22:51:54 +0000
 1.1.4.2 30-May-2010  rmind sync with head
 1.1.4.1 28-Apr-2010  rmind file ev64260.h was added on branch rmind-uvmplock on 2010-05-30 05:16:43 +0000
 1.1.2.2 30-Apr-2010  uebayasi Sync with HEAD.
 1.1.2.1 28-Apr-2010  uebayasi file ev64260.h was added on branch uebayasi-xip on 2010-04-30 14:39:17 +0000
 1.21 26-Feb-2021  thorpej Declare oeacpufeat once, in powerpc/oea/cpu_subr.c, rather than in
N different locore.S files.
 1.20 15-Jul-2018  maxv branches: 1.20.12;
Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.19 20-Jun-2011  matt branches: 1.19.52; 1.19.54;
Don't include *pmap.h in assembly files. Get the needed definitions
from "assym.h".
 1.18 18-Jun-2011  matt Make a common genassym.cf (powerpc/genassym.cf) and then
only put specific stuff in foo/genassym.cf
 1.17 01-Feb-2011  matt branches: 1.17.2;
Add a call to cpu_model_init to set oeacpufeat before calling initppc
 1.16 17-Jan-2011  matt branches: 1.16.2;
Kill _NOREGNAMES. Everything should be using %rX now. If it doesn't it
soon will.
 1.15 03-Mar-2010  pooka branches: 1.15.2; 1.15.4;
Fix some historical powerpc curiocity which had kernfs depend on
startsym/endsym, and which crept into most powerpc ports.
 1.14 27-Feb-2010  snj Spell "exception" properly.
 1.13 25-Feb-2010  matt Adapt to <spr.h> breakup.
 1.12 26-Nov-2009  matt branches: 1.12.2;
Kill proc0paddr. Use lwp0.l_addr instead.
 1.11 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.10 13-Nov-2008  ad branches: 1.10.4;
LKM -> MODULAR
 1.9 05-Feb-2008  garbled branches: 1.9.6; 1.9.10; 1.9.16; 1.9.18; 1.9.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.8 11-Dec-2005  christos branches: 1.8.50; 1.8.56;
merge ktrace-lwp.
 1.7 31-May-2005  chs branches: 1.7.2;
remove vestigal {,e}intr{names,cnt} symbols now that vmstat doesn't need them.
 1.6 31-Jul-2003  matt Add #define _NOREGNAMES (to suppress asm.h from #define r1 1 ...)
 1.5 27-Apr-2003  ragge branches: 1.5.2;
Preserve the symbol table in the LKM || KSYMS cases also.
 1.4 24-Mar-2003  matt Make PCI interrupts -> GPP mapping configured via config file.
Add bus_spaces for all possile obios. Add gt_halt to make
sure the discovery is not doing dma as soon as possible.
Read the SDRAM register to figure out how much physical RAM
is available.
 1.3 18-Mar-2003  matt work around a cache problem. (flush both caches and disable the D-cache).
 1.2 16-Mar-2003  matt EV64260 now gets to single user prompt using COM1 (2nd uart) as console
with PPCBOOT as firmware. XXX PCI devices are not found.
 1.1 05-Mar-2003  matt Add preliminary support Marvell (Galileo) Discovery System Controllers.
This code was contributed by Allegro Networks.
 1.5.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.2.1 03-Aug-2004  skrll Sync with HEAD
 1.7.2.1 11-Feb-2008  yamt sync with head.
 1.8.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.8.50.1 23-Mar-2008  matt sync with HEAD
 1.9.28.1 07-Jan-2011  matt Deal with the splitting of <spr.h>
 1.9.18.2 03-Mar-2009  skrll Sync with HEAD.
 1.9.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.9.16.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.9.10.2 11-Mar-2010  yamt sync with head
 1.9.10.1 04-May-2009  yamt sync with head.
 1.9.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.10.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.12.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.15.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.15.2.1 05-Mar-2011  rmind sync with head
 1.16.2.1 08-Feb-2011  bouyer Sync with HEAD
 1.17.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.19.54.1 10-Jun-2019  christos Sync with HEAD
 1.19.52.1 28-Jul-2018  pgoyette Sync with HEAD
 1.20.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.18 21-Apr-2013  kiyohara Fix hangup to interrupt on cascading PIC.
tested on bebox and evbppc/OPENBLOCKS600.
 1.17 01-Jul-2011  dyoung branches: 1.17.2; 1.17.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.16 02-Jun-2010  kiyohara Move memory protection parameters to MI part.
Gtpci believes the initialization of the firmware(boot-loader) if protection
information is not obtained.
 1.15 28-Apr-2010  kiyohara Clean up gt and peripherals.
This change tested compile only.
 1.14 22-Feb-2007  thorpej branches: 1.14.46; 1.14.66; 1.14.68;
TRUE -> true, FALSE -> false
 1.13 10-Feb-2006  gdamore branches: 1.13.20;
PCI_NETBSD_CONFIGURE should allocate (but not map) address space expansion
ROMS by default. Full discussion at
http://mail-index.netbsd.org/tech-kern/2005/12/16/0023.html
Closes PR kern/32467
Reviewed by briggs@
 1.12 11-Dec-2005  christos branches: 1.12.2; 1.12.4; 1.12.6;
merge ktrace-lwp.
 1.11 20-Mar-2004  matt branches: 1.11.16;
Add gt_dma_bus_mem_to_phys and gt_dma_phys_to_bus_mem.
 1.10 13-Mar-2004  matt Fix some gcc3 uninitialized variables.
 1.9 15-Jul-2003  lukem __KERNEL_RCSID()
 1.8 12-Jun-2003  scw branches: 1.8.2;
The GT is always host on both PCI busses.
 1.7 24-Mar-2003  matt Make PCI interrupts -> GPP mapping configured via config file.
Add bus_spaces for all possile obios. Add gt_halt to make
sure the discovery is not doing dma as soon as possible.
Read the SDRAM register to figure out how much physical RAM
is available.
 1.6 18-Mar-2003  matt Remove unneeded code in pci_bus_configure (was pci_config_bus). Fix
setting of bus_spaces in gt_attach.
 1.5 18-Mar-2003  matt Removed unused variable.
 1.4 16-Mar-2003  matt EV64260 now gets to single user prompt using COM1 (2nd uart) as console
with PPCBOOT as firmware. XXX PCI devices are not found.
 1.3 07-Mar-2003  matt Remove some constant (use value in bus_space_tags).
 1.2 06-Mar-2003  matt Relocate Discovery first thing in initppc (if not at expected address).
This implies that if PMON tells us where the GT is, we write that address
in gtbase.
 1.1 05-Mar-2003  matt Add preliminary support Marvell (Galileo) Discovery System Controllers.
This code was contributed by Allegro Networks.
 1.8.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.8.2.1 03-Aug-2004  skrll Sync with HEAD
 1.11.16.2 26-Feb-2007  yamt sync with head.
 1.11.16.1 21-Jun-2006  yamt sync with head.
 1.12.6.1 22-Apr-2006  simonb Sync with head.
 1.12.4.1 09-Sep-2006  rpaulo sync with head
 1.12.2.1 18-Feb-2006  yamt sync with head.
 1.13.20.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.14.68.2 03-Jul-2010  rmind sync with head
 1.14.68.1 30-May-2010  rmind sync with head
 1.14.66.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.14.66.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.14.46.1 11-Aug-2010  yamt sync with head.
 1.17.12.1 23-Jun-2013  tls resync from head
 1.17.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.35 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.34 04-Mar-2021  thorpej Don't forget to 0-terminate the BAT mapping list passed to oea_batinit()!
 1.33 15-Jul-2018  maxv branches: 1.33.12;
Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.32 22-Dec-2016  cherry branches: 1.32.14; 1.32.16;
switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.31 25-Feb-2014  martin branches: 1.31.6; 1.31.10;
Remove an unused variable
 1.30 01-Mar-2013  joerg branches: 1.30.6;
Retire OSI network stack. OK core@
 1.29 20-Jun-2011  matt branches: 1.29.2; 1.29.12;
Cleanup includes. (<net/netisr.h> is handled by softints, not MD anymore,
so this can be nuked).
 1.28 20-Dec-2010  matt branches: 1.28.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.27 28-Apr-2010  kiyohara Clean up gt and peripherals.
This change tested compile only.
 1.26 26-Nov-2009  matt branches: 1.26.2; 1.26.4;
Kill proc0paddr. Use lwp0.l_addr instead.
 1.25 14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.24 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.23 30-Nov-2008  martin branches: 1.23.4;
As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.22 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

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

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

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

I hope that this patch will stop us from flip-flopping between
calling doshutdownhooks() and pmf_system_shutdown() sometimes with
and sometimes without interrupts enabled.
 1.20 17-Oct-2007  garbled branches: 1.20.16; 1.20.20; 1.20.26; 1.20.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.19 24-Dec-2005  perry branches: 1.19.30; 1.19.38; 1.19.48; 1.19.50; 1.19.52; 1.19.54;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.18 11-Dec-2005  christos merge ktrace-lwp.
 1.17 03-Jun-2005  scw branches: 1.17.2;
Appease -Wshadow
 1.16 13-Mar-2004  matt Fix some gcc3 uninitialized variables.
 1.15 14-Feb-2004  bjh21 Add a new MI attribute, pckbc_machdep_cnattach, and change pckbc_cnattach()
to only call pckbc_machdep_cnattach() if this is present. This allows
pckbc_machdep_cnattach() to be omitted entirely on most ports, where it only
returns ENXIO anyway.

The devices with this attribute at the moment are pc(4) on i386 and bebox, and
pckbc on sparc, where pckbc_machdep_cnattach() mysteriously returns 0 rather
than ENXIO.
 1.14 09-Feb-2004  bjh21 Remove pcconskbd(4) support code since this port doesn't have pcconskbd(4)
and the code was conditional on a macro that was never defined anyway.
 1.13 15-Jul-2003  lukem __KERNEL_RCSID()
 1.12 14-Jun-2003  thorpej branches: 1.12.2;
Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
 1.11 26-Apr-2003  ragge Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
 1.10 02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.9 27-Mar-2003  matt Add options to allow overriding of PCI0 & PCI1 MEM and I/O start and sizes.
 1.8 24-Mar-2003  matt Make PCI interrupts -> GPP mapping configured via config file.
Add bus_spaces for all possile obios. Add gt_halt to make
sure the discovery is not doing dma as soon as possible.
Read the SDRAM register to figure out how much physical RAM
is available.
 1.7 18-Mar-2003  matt Enable iobats for the PCI memory space(s).
 1.6 18-Mar-2003  matt Switch to gtmpsccnattach. Fix a few bugs in bus_space initialization.
 1.5 17-Mar-2003  matt remove "kludge" com console.
Simplify timebase initialization.
 1.4 16-Mar-2003  matt EV64260 now gets to single user prompt using COM1 (2nd uart) as console
with PPCBOOT as firmware. XXX PCI devices are not found.
 1.3 07-Mar-2003  matt Remove some constant (use value in bus_space_tags).
 1.2 06-Mar-2003  matt Relocate Discovery first thing in initppc (if not at expected address).
This implies that if PMON tells us where the GT is, we write that address
in gtbase.
 1.1 05-Mar-2003  matt Add preliminary support Marvell (Galileo) Discovery System Controllers.
This code was contributed by Allegro Networks.
 1.12.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.12.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.12.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.12.2.1 03-Aug-2004  skrll Sync with HEAD
 1.17.2.2 27-Oct-2007  yamt sync with head.
 1.17.2.1 21-Jun-2006  yamt sync with head.
 1.19.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.19.52.1 18-Oct-2007  yamt sync with head.
 1.19.50.1 06-Nov-2007  matt sync with HEAD
 1.19.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.19.38.2 17-Oct-2007  garbled Back out most of the PIC rennovation on ev64260, it was not completed,
and can be completed post-merge. With these changes, ev64260 compiles
again on the branch. Untested.
 1.19.38.1 22-May-2007  matt WIP. Adapt ev64260 to the new pic code.
 1.19.30.1 23-Oct-2007  ad Sync with head.
 1.20.28.3 28-Apr-2009  skrll Sync with HEAD.
 1.20.28.2 03-Mar-2009  skrll Sync with HEAD.
 1.20.28.1 19-Jan-2009  skrll Sync with HEAD.
 1.20.26.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.20.20.3 11-Aug-2010  yamt sync with head.
 1.20.20.2 11-Mar-2010  yamt sync with head
 1.20.20.1 04-May-2009  yamt sync with head.
 1.20.16.1 17-Jan-2009  mjf Sync with HEAD.
 1.23.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.26.4.2 05-Mar-2011  rmind sync with head
 1.26.4.1 30-May-2010  rmind sync with head
 1.26.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.28.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.29.12.3 03-Dec-2017  jdolecek update from HEAD
 1.29.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.29.12.1 23-Jun-2013  tls resync from head
 1.29.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.30.6.1 18-May-2014  rmind sync with head
 1.31.10.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.31.6.1 05-Feb-2017  skrll Sync with HEAD
 1.32.16.1 10-Jun-2019  christos Sync with HEAD
 1.32.14.1 28-Jul-2018  pgoyette Sync with HEAD
 1.33.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.9 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.8 24-Apr-2021  thorpej branches: 1.8.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.7 05-Jun-2011  matt branches: 1.7.68;
struct device * -> device_t, struct cfdata * -> cfdata_t
CFATTACH_DECL(*, sizeof(struct device), -> CFATTACH_DECL_NEW(&, 0
 1.6 28-Apr-2010  kiyohara branches: 1.6.2; 1.6.6;
Clean up gt and peripherals.
This change tested compile only.
 1.5 11-Dec-2005  christos branches: 1.5.78; 1.5.98; 1.5.100;
merge ktrace-lwp.
 1.4 15-Jul-2003  lukem __KERNEL_RCSID()
 1.3 16-Mar-2003  matt branches: 1.3.2;
EV64260 now gets to single user prompt using COM1 (2nd uart) as console
with PPCBOOT as firmware. XXX PCI devices are not found.
 1.2 07-Mar-2003  matt Remove some constant (use value in bus_space_tags).
 1.1 05-Mar-2003  matt Add preliminary support Marvell (Galileo) Discovery System Controllers.
This code was contributed by Allegro Networks.
 1.3.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.1 03-Aug-2004  skrll Sync with HEAD
 1.5.100.2 12-Jun-2011  rmind sync with head
 1.5.100.1 30-May-2010  rmind sync with head
 1.5.98.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.5.78.1 11-Aug-2010  yamt sync with head.
 1.6.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.6.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.7.68.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.8.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.13 08-Mar-2006  nathanw This copy of bus_dma.c is unused; evbppc ports have referenced
powerpc/powerpc/bus_dma.c for over two years.
 1.12 01-Mar-2006  yamt branches: 1.12.2; 1.12.4;
merge yamt-uio_vmspace branch.

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

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

Bump the kernel rev up to 1.6V
 1.2 08-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file bus_dma.c was added on branch nathanw_sa on 2002-12-11 06:29:02 +0000
 1.4.2.8 11-Dec-2005  christos Sync with head.
 1.4.2.7 01-Apr-2005  skrll Sync with HEAD.
 1.4.2.6 19-Feb-2005  skrll Don't deref a NULL struct lwp *. This shouldn't happen, but...
 1.4.2.5 18-Dec-2004  skrll Sync with HEAD.
 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-Aug-2004  skrll Sync with HEAD
 1.4.2.1 02-Jul-2003  darrenr Apply the aborted ktrace-lwp changes to a specific branch. This is just for
others to review, I'm concerned that patch fuziness may have resulted in some
errant code being generated but I'll look at that later by comparing the diff
from the base to the branch with the file I attempt to apply to it. This will,
at the very least, put the changes in a better context for others to review
them and attempt to tinker with removing passing of 'struct lwp' through
the kernel.
 1.6.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.6.6.1 13-Feb-2005  yamt use new apis.
 1.6.4.1 29-Apr-2005  kent sync with -current
 1.8.8.1 29-Nov-2005  yamt sync with head.
 1.8.2.1 21-Jun-2006  yamt sync with head.
 1.11.6.1 22-Apr-2006  simonb Sync with head.
 1.11.4.1 09-Sep-2006  rpaulo sync with head
 1.11.2.1 18-Feb-2006  yamt adapt bus_dma implementations.
 1.12.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.12.2.1 13-Mar-2006  yamt sync with head.
 1.18 03-Apr-2019  christos centralize setdisklabel(9)
 1.17 18-Jan-2013  kiyohara branches: 1.17.38;
Fix KASSERT() in biodone(). Clear BO_DONE in writedisklabel().
 1.16 02-Jan-2008  ad branches: 1.16.44; 1.16.54;
Merge vmlocking2 to head.
 1.15 17-Oct-2007  garbled branches: 1.15.2; 1.15.4; 1.15.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.14 08-Oct-2007  ad Merge brelse() changes from the vmlocking branch.
 1.13 29-Jul-2007  ad branches: 1.13.4; 1.13.6; 1.13.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.12 07-Mar-2007  he branches: 1.12.2; 1.12.10; 1.12.12; 1.12.14;
Cast to char* before doing pointer arithmetic.
 1.11 25-Nov-2006  scw branches: 1.11.4;
Partition sizes are specified in terms of the physical sector size of the disk.
 1.10 25-Nov-2006  scw 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.9 11-Dec-2005  christos branches: 1.9.20; 1.9.22;
merge ktrace-lwp.
 1.8 03-Jun-2005  scw branches: 1.8.2;
Appease -Wcast-qual
 1.7 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.6 15-Jul-2003  lukem __KERNEL_RCSID()
 1.5 12-May-2003  he branches: 1.5.2;
Include <sys/disk.h> to get "struct disk" defined.

Approved by thorpej
 1.4 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.3 02-May-2003  dsl Change return type of readdisklabel() to const char *
I hope I've found all the correct places!
 1.2 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.1 04-Mar-2003  matt Re-arrange things in evbppc & powerpc to support OEA-based eval boards
in evbppc. OEA-based board(s) to be added later.
 1.5.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.2.1 03-Aug-2004  skrll Sync with HEAD
 1.8.2.4 21-Jan-2008  yamt sync with head
 1.8.2.3 27-Oct-2007  yamt sync with head.
 1.8.2.2 03-Sep-2007  yamt sync with head.
 1.8.2.1 30-Dec-2006  yamt sync with head.
 1.9.22.1 10-Dec-2006  yamt sync with head.
 1.9.20.1 12-Jan-2007  ad Sync with head.
 1.11.4.1 12-Mar-2007  rmind Sync with HEAD.
 1.12.14.1 15-Aug-2007  skrll Sync with HEAD.
 1.12.12.1 07-Aug-2007  matt Sync with HEAD.
 1.12.10.2 16-Oct-2007  garbled Sync with HEAD
 1.12.10.1 03-Oct-2007  garbled Sync with HEAD
 1.12.2.2 09-Oct-2007  ad Sync with head.
 1.12.2.1 19-Aug-2007  ad - Back out the biodone() changes.
- Eliminate B_ERROR (from HEAD).
 1.13.8.1 14-Oct-2007  yamt sync with head.
 1.13.6.2 09-Jan-2008  matt sync with HEAD
 1.13.6.1 06-Nov-2007  matt sync with HEAD
 1.13.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.8.1 02-Jan-2008  bouyer Sync with HEAD
 1.15.4.1 31-Dec-2007  ad Make compile with new buffer cache locking scheme.

XXX This should be largely MI, please do not make another clone of disksubr.c.
 1.15.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.16.54.1 25-Feb-2013  tls resync with head
 1.16.44.1 23-Jan-2013  yamt sync with head
 1.17.38.1 10-Jun-2019  christos Sync with HEAD
 1.15 03-Aug-2021  rin Switch evbppc/ibm4xx to generic evbppc (same as oea) kernel modules.

I've confirmed that kernels similar to amd64/conf/MODULAR work fine
both on 403 and 405.

XXX
Unfortunately, we cannot immediately switch evbppc/booke to generic
kernel modules yet; it has its own intr.h implementation.
 1.14 30-Mar-2021  rin Move common global variables, i.e., phys_map, machine, and machine_arch to
evbppc/evbppc_machdep.c (bad naming; used only for 4xx boards).
 1.13 01-Jul-2011  dyoung branches: 1.13.66; 1.13.68;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.12 30-Jun-2011  matt Modify mapiodev to take a third argument indicating whether the space
should be prefetchable (true) or not (false).
 1.11 12-Jun-2011  mrg move module_machine_booke into the booke machdep.
 1.10 12-Jun-2011  mrg for booke and ibm4xx evbppc systems, set module_machine to to either
"powerpc-ibm4xx" or "powerpc-booke".
 1.9 07-Nov-2009  cegger branches: 1.9.10;
Add a flags argument to pmap_kenter_pa(9).
Patch showed on tech-kern@ http://mail-index.netbsd.org/tech-kern/2009/11/04/msg006434.html
No objections.
 1.8 31-Aug-2006  freza branches: 1.8.60;
* implement unmapiodev(), make mapiodev() aware of ppc4xx_tlb_mapiodev()

* we now don't rely on having console linear-mapped (that was terribly
broken, really)
* also, this can be used as generic ibm4xx mapiodev()/unmapiodev()

OK by matt@
 1.7 11-Dec-2005  christos branches: 1.7.4; 1.7.8;
merge ktrace-lwp.
 1.6 01-Apr-2005  yamt branches: 1.6.2;
merge yamt-km branch.
- don't use managed mappings/backing objects for wired memory allocations.
save some resources like pv_entry. also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.
 1.5 06-May-2004  scw branches: 1.5.4; 1.5.6;
Cast an integer type to a pointer type via intptr_t.
 1.4 25-Jul-2003  scw Switch ibm4xx ports to common powerpc bus_space/bus_dma code.
XXX: Walnut PCI support is broken. This will be addressed shortly.
 1.3 15-Jul-2003  lukem __KERNEL_RCSID()
 1.2 08-Apr-2003  thorpej branches: 1.2.2;
Use PAGE_SIZE rather than NBPG.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file evbppc_machdep.c was added on branch nathanw_sa on 2002-12-11 06:29:02 +0000
 1.2.2.4 01-Apr-2005  skrll Sync with HEAD.
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.5.6.1 13-Feb-2005  yamt use new apis.
 1.5.4.1 29-Apr-2005  kent sync with -current
 1.6.2.1 30-Dec-2006  yamt sync with head.
 1.7.8.1 03-Sep-2006  yamt sync with head.
 1.7.4.1 09-Sep-2006  rpaulo sync with head
 1.8.60.1 11-Mar-2010  yamt sync with head
 1.9.10.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.13.68.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.66.1 03-Apr-2021  thorpej Sync with HEAD.
 1.4 04-Mar-2003  matt Re-arrange things in evbppc & powerpc to support OEA-based eval boards
in evbppc. OEA-based board(s) to be added later.
 1.3 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.2 17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.5 19-Dec-2002  thorpej Add L_PROC.
 1.1.2.4 19-Dec-2002  thorpej Add L_PRIORITY.
 1.1.2.3 19-Dec-2002  thorpej LWP'ify.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file genassym.cf was added on branch nathanw_sa on 2002-12-11 06:29:02 +0000
 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 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file procfs_machdep.c was added on branch nathanw_sa on 2002-12-11 06:29:03 +0000
 1.15 05-Mar-2021  rin For very MD codes for Explora, reorder things, and use more common codes for
ibm4xx and ibm40x for clarity as well as better comparison with other boards.

No functional changes intended.
 1.14 02-Mar-2021  rin Switch to genppc_cpu_configure().
 1.13 29-Jul-2012  mlelstv branches: 1.13.52;
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 12-Dec-2011  kiyohara branches: 1.12.2;
Fix hangs-up. Remove "wrteei 1" in board's cpu_configure(). Interrupt
is enabled in powerpc-layer.
 1.11 18-Jun-2011  matt branches: 1.11.2; 1.11.6;
split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.10 28-Apr-2008  martin branches: 1.10.32;
Remove clause 3 and 4 from TNF licenses
 1.9 17-Oct-2007  garbled branches: 1.9.16; 1.9.18; 1.9.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.8 20-Jul-2007  hannken branches: 1.8.6;
Move intr_init() from cpu_configure() to cpu_startup() so softintrs
pool_get() works again.
 1.7 07-Oct-2006  tsutsui branches: 1.7.8; 1.7.16; 1.7.20; 1.7.22;
Remove unneeded cast which eliminates part of valid interrupt mask bits.
Closes PR powerpc/33108.
 1.6 24-Dec-2005  perry branches: 1.6.20; 1.6.22;
bare asm -> __asm
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 23-Oct-2004  thorpej branches: 1.4.12;
Centralize the declaration of booted_device and booted_partition.
 1.3 15-Jul-2003  lukem __KERNEL_RCSID()
 1.2 04-Jul-2003  thorpej Add device_register().
 1.1 11-Mar-2003  hannken branches: 1.1.2;
Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1.2.4 02-Nov-2004  skrll Sync with HEAD.
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.4.12.3 03-Sep-2007  yamt sync with head.
 1.4.12.2 30-Dec-2006  yamt sync with head.
 1.4.12.1 21-Jun-2006  yamt sync with head.
 1.6.22.1 22-Oct-2006  yamt sync with head
 1.6.20.1 18-Nov-2006  ad Sync with head.
 1.7.22.1 15-Aug-2007  skrll Sync with HEAD.
 1.7.20.1 07-Aug-2007  matt Sync with HEAD.
 1.7.16.1 03-Oct-2007  garbled Sync with HEAD
 1.7.8.1 20-Aug-2007  ad Sync with HEAD.
 1.8.6.1 06-Nov-2007  matt sync with HEAD
 1.9.20.1 16-May-2008  yamt sync with head.
 1.9.18.1 18-May-2008  yamt sync with head.
 1.9.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.10.32.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.11.6.1 18-Feb-2012  mrg merge to -current.
 1.11.2.2 30-Oct-2012  yamt sync with head
 1.11.2.1 17-Apr-2012  yamt sync with head
 1.12.2.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.13.52.1 03-Apr-2021  thorpej Sync with HEAD.
 1.12 07-Mar-2021  rin No need to clear framebuffer here; rasops(4) takes care of it.
 1.11 07-Mar-2021  rin Reduce ifdef. No functional changes.
 1.10 05-Mar-2021  rin For Explora 451, call calc_delayconst() before pckbc_cnattach(), which
depends on delay() and DELAY().

Unfortunately, proplib(9) API is not available for MD codes, that are
called before consinit() (since pool(9) is not initialized yet).

Therefore, hard-code CPU frequency to calc_delayconst() in case
"processor-frequency" is not initialized.
 1.9 13-Oct-2012  jdc branches: 1.9.50;
Adapt to the changed signature of pckbc_cnattach().
 1.8 01-Jul-2011  dyoung branches: 1.8.2; 1.8.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.7 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.6 27-Nov-2007  hannken branches: 1.6.14; 1.6.16; 1.6.18;
When using bus_space_map() on the ISA bus unstride the address. Since
Rev. 1.13 of sys/arch/powerpc/powerpc/bus_space.c the address will be
strided by memio_map().
 1.5 11-Dec-2005  christos branches: 1.5.30; 1.5.48; 1.5.50; 1.5.56;
merge ktrace-lwp.
 1.4 25-Jul-2003  scw branches: 1.4.16;
Switch ibm4xx ports to common powerpc bus_space/bus_dma code.
XXX: Walnut PCI support is broken. This will be addressed shortly.
 1.3 15-Jul-2003  lukem __KERNEL_RCSID()
 1.2 14-Jun-2003  thorpej branches: 1.2.2;
Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
 1.1 11-Mar-2003  hannken Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 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.16.1 07-Dec-2007  yamt sync with head
 1.5.56.1 08-Dec-2007  mjf Sync with HEAD.
 1.5.50.1 09-Jan-2008  matt sync with HEAD
 1.5.48.1 27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.5.30.1 03-Dec-2007  ad Sync with HEAD.
 1.6.18.1 16-May-2008  yamt sync with head.
 1.6.16.1 18-May-2008  yamt sync with head.
 1.6.14.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.8.2.1 30-Oct-2012  yamt sync with head
 1.9.50.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13 04-Jun-2022  rin - Use register prefix (%r).
- Remove workaround for old gas(1) bug.

No binary changes.
 1.12 02-Mar-2021  rin Establish kernel MMU context before turning on MMU.
 1.11 03-Oct-2013  matt branches: 1.11.42;
Binutils 2.23.2 doesn't do the right thing HI16/LO16 reloc using .
So do it manually to appease gas.
 1.10 20-Jun-2011  matt branches: 1.10.2; 1.10.12; 1.10.16;
Don't include *pmap.h in assembly files. Get the needed definitions
from "assym.h".
 1.9 20-Jun-2011  matt Change IBM4xx to use the common powerpc PIC framework.
Consolidate most ibm4xx initppc function into ibm4xx_init
and Make all IBM4xx use it.
Change explora to use initppc instead of bootstrap.
 1.8 17-Jan-2011  matt branches: 1.8.4;
Kill _NOREGNAMES. Everything should be using %rX now. If it doesn't it
soon will.
 1.7 25-Feb-2010  matt branches: 1.7.2; 1.7.4;
Adapt to <spr.h> breakup.
 1.6 26-Nov-2009  matt branches: 1.6.2;
Kill proc0paddr. Use lwp0.l_addr instead.
 1.5 28-Apr-2008  martin branches: 1.5.22;
Remove clause 3 and 4 from TNF licenses
 1.4 30-Jun-2006  freza branches: 1.4.58; 1.4.60; 1.4.62;
Bring ibm4xx interrupt code up to date:

- generic soft interrupts (ie. use powerpc/softintr.c)
- interrupt event counters (using the ones from powerpc/cpu.h:cpu_info
where appropriate)
- cleanup ibm4xx_intr.h, move implementation details to intr.c

Convert all affected evbppc platforms.

OK by simonb@, some points discussed with matt@
 1.3 11-Dec-2005  christos branches: 1.3.4; 1.3.8; 1.3.16;
merge ktrace-lwp.
 1.2 11-Aug-2003  chs branches: 1.2.16;
catch up with changes elsewhere.
 1.1 11-Mar-2003  hannken branches: 1.1.2;
Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 30-Dec-2006  yamt sync with head.
 1.3.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.3.8.1 11-Aug-2006  yamt sync with head
 1.3.4.1 09-Sep-2006  rpaulo sync with head
 1.4.62.2 11-Mar-2010  yamt sync with head
 1.4.62.1 16-May-2008  yamt sync with head.
 1.4.60.1 18-May-2008  yamt sync with head.
 1.4.58.1 02-Jun-2008  mjf Sync with HEAD.
 1.5.22.1 07-Jan-2011  matt Deal with the splitting of <spr.h>
 1.6.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.7.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.7.2.1 05-Mar-2011  rmind sync with head
 1.8.4.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.10.16.1 18-May-2014  rmind sync with head
 1.10.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.10.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.11.42.1 03-Apr-2021  thorpej Sync with HEAD.
 1.52 03-Aug-2021  rin Switch evbppc/ibm4xx to generic evbppc (same as oea) kernel modules.

I've confirmed that kernels similar to amd64/conf/MODULAR work fine
both on 403 and 405.

XXX
Unfortunately, we cannot immediately switch evbppc/booke to generic
kernel modules yet; it has its own intr.h implementation.
 1.51 30-Mar-2021  rin Sort headers. Fix style. No binary changes.
 1.50 30-Mar-2021  rin G/C misleading <evbppc/tlb.h>. Use <powerpc/ibm4xx/tlb.h> directly.
 1.49 30-Mar-2021  rin G/C unused. No binary changes (except for __LINE__ for KASSERT).
 1.48 30-Mar-2021  rin Move common global variables, i.e., phys_map, machine, and machine_arch to
evbppc/evbppc_machdep.c (bad naming; used only for 4xx boards).
 1.47 30-Mar-2021  rin Centralize cpu_reboot().
 1.46 07-Mar-2021  rin branches: 1.46.2;
Revert this commit:

http://www.nerv.org/netbsd/?q=id:20210305T064016Z.410b0e33273c3a62110d09e8bb27939f6a8bab38

> Map framebuffer to virtual space when fb(4) is present,
> even if it is not console.

Direct mapping for framebuffer is required only if fb(4) is console.

XXX
It would be nice if we can remove reserved TLB entries after
fb(4) is properly attached.
 1.45 05-Mar-2021  rin Identify oneself as ``Explora 450'' instead of 451.

There are models numbered 450 to 454. The differences b/w them are
shapes of ethernet and audio connectors. Base model number 450 is
displayed for (probably) all models by firmware.
 1.44 05-Mar-2021  rin Map framebuffer to virtual space when fb(4) is present,
even if it is not console.
 1.43 05-Mar-2021  rin Call bus_space_mallocok() appropriately.
 1.42 05-Mar-2021  rin For very MD codes for Explora, reorder things, and use more common codes for
ibm4xx and ibm40x for clarity as well as better comparison with other boards.

No functional changes intended.
 1.41 02-Mar-2021  rin Establish kernel MMU context before turning on MMU.
 1.40 11-Jun-2020  ad branches: 1.40.2;
uvm_availmem(): give it a boolean argument to specify whether a recent
cached value will do, or if the very latest total must be fetched. It can
be called thousands of times a second and fetching the totals impacts not
only the calling LWP but other CPUs doing unrelated activity in the VM
system.
 1.39 31-Dec-2019  ad Rename uvm_free() -> uvm_availmem().
 1.38 21-Dec-2019  ad uvmexp.free -> uvm_free()
 1.37 27-Jul-2012  matt branches: 1.37.40;
Fix some -fno-common fallout
 1.36 20-Jun-2011  matt branches: 1.36.2;
Change IBM4xx to use the common powerpc PIC framework.
Consolidate most ibm4xx initppc function into ibm4xx_init
and Make all IBM4xx use it.
Change explora to use initppc instead of bootstrap.
 1.35 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.34 15-Jun-2011  matt lcsplx is dead. remove last vestiges of it.
 1.33 12-Jun-2011  mrg for booke and ibm4xx evbppc systems, set module_machine to to either
"powerpc-ibm4xx" or "powerpc-booke".
 1.32 14-Jan-2011  rmind branches: 1.32.6;
Retire struct user, remove sys/user.h inclusions. Note sys/user.h header
as obsolete. Remove USER_TO_UAREA/UAREA_TO_USER macros.

Various #include fixes and review by matt@.
 1.31 25-Feb-2010  matt branches: 1.31.2;
Adapt to <spr.h> breakup.
 1.30 08-Feb-2010  joerg Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
 1.29 27-Nov-2009  rmind branches: 1.29.2;
- 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.28 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.27 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.26 30-Nov-2008  martin branches: 1.26.4;
As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.25 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

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

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

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

I hope that this patch will stop us from flip-flopping between
calling doshutdownhooks() and pmf_system_shutdown() sometimes with
and sometimes without interrupts enabled.
 1.23 08-Aug-2008  hannken branches: 1.23.2; 1.23.12;
Remove an unneeded include to make it compile again.
 1.22 02-Jul-2008  ad branches: 1.22.2;
Replce exec_map with a pool. Proposed on tech-kern@, reviewed by chs@.
 1.21 28-Apr-2008  martin branches: 1.21.2; 1.21.4;
Remove clause 3 and 4 from TNF licenses
 1.20 17-Oct-2007  garbled branches: 1.20.16; 1.20.18; 1.20.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.19 20-Jul-2007  hannken branches: 1.19.6;
Move intr_init() from cpu_configure() to cpu_startup() so softintrs
pool_get() works again.
 1.18 04-Mar-2007  christos branches: 1.18.2; 1.18.10; 1.18.12; 1.18.14;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.17 22-Feb-2007  thorpej TRUE -> true, FALSE -> false
 1.16 29-Nov-2006  freza branches: 1.16.4;
Instead of mapping whole RAM with reserved TLB entries, map just enough
to ensure trap code will work (that is 0 upto ${endkernel}) and leave the
rest to pmap_tlbmiss(). Mapping whole physmem into the kernel wired way
too many TLB entries, see

http://mail-index.netbsd.org/port-powerpc/2006/10/27/0000.html

for performance analysis. While there, be a bit more descriptive in
pmap_tlbmiss() comment and use macro instead of numeric constant.

OK by Simon Burge
 1.15 23-Oct-2006  kiyohara Define BASE_ISA macro for ISA window base address (where pckbc, com, lpt live)
instead of hardcoding the constant or (even before) using BASE_COM.
 1.14 16-Oct-2006  kiyohara * convert ibm4xx-based evbppc from reserved-TLB entry allocation to recently
introduced ppc4xx_tlb_reserve() API.
* ibm405gp UART0 used to be linear mapped. The VA happens to be inside kernel
segment, giving us the possibility of multiple VA matches in the TLB. This
is considered "programming error" by 405 core and results in "undefined
behaviour". We now avoid mapping peripherals in kernel segment.
* Some boards used to map hardwired RAM size. We now use the real size as
passed in by boot firmware.
* TLB_NRESERVED is (finally) gone.
 1.13 18-Sep-2006  gdamore Conversion of evbppc to generic TODR. ok freza@
 1.12 30-Jun-2006  freza branches: 1.12.4; 1.12.6;
Bring ibm4xx interrupt code up to date:

- generic soft interrupts (ie. use powerpc/softintr.c)
- interrupt event counters (using the ones from powerpc/cpu.h:cpu_info
where appropriate)
- cleanup ibm4xx_intr.h, move implementation details to intr.c

Convert all affected evbppc platforms.

OK by simonb@, some points discussed with matt@
 1.11 05-May-2006  thorpej branches: 1.11.4;
Remove the devprop API and switch everthing over to the new proplib. Add
a new device_properties() accessor for device_t that returns the device's
property dictionary.
 1.10 31-Dec-2005  hannken branches: 1.10.2; 1.10.4; 1.10.6; 1.10.8; 1.10.10;
Use our own function to copy traps. We cannot use memcpy() anymore
because the destination may be zero.
 1.9 24-Dec-2005  perry branches: 1.9.2;
bare asm -> __asm
 1.8 11-Dec-2005  christos merge ktrace-lwp.
 1.7 25-Apr-2005  lukem branches: 1.7.2;
Move the MI printing of `copyright' to the MD cpu_startup() code
where the printing of `version' is already performed.
This has the benefit of allowing the copyright to be available
via dmesg(8) on platforms which need the `msgbuf' to be setup
in cpu_startup() before printed output is remembered.
 1.6 05-Jan-2004  hannken branches: 1.6.8;
Mapping of console device goes into the reserved tlb's.
Max. memory is 32M for console at fb and 48M for console on com.

If this becomes a problem TLB_NRESERVED needs to become variable.
 1.5 30-Dec-2003  pk Replace the traditional buffer memory management -- based on fixed per buffer
virtual memory reservation and a private pool of memory pages -- by a scheme
based on memory pools.

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

On the other hand, the effectiveness of the LRU queue for buffer recycling
may be somewhat reduced compared to the traditional method since, due to the
nature of the pool based memory allocation, the actual least recently used
buffer may release its memory to a pool different from the one needed by a
newly allocated buffer. However, this effect will kick in only if the
system is under memory pressure.
 1.4 12-Aug-2003  matt Nuke ci_curpm and curpm. Nuke pcb_pmreal. Those were use for spill stacks
and those no longer exist. for few uses that need CURPM, use CURPCB/PCB_PM
 1.3 15-Jul-2003  lukem __KERNEL_RCSID()
 1.2 26-Apr-2003  ragge branches: 1.2.2;
Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
 1.1 11-Mar-2003  hannken Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.2.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6.8.1 29-Apr-2005  kent sync with -current
 1.7.2.4 03-Sep-2007  yamt sync with head.
 1.7.2.3 26-Feb-2007  yamt sync with head.
 1.7.2.2 30-Dec-2006  yamt sync with head.
 1.7.2.1 21-Jun-2006  yamt sync with head.
 1.9.2.1 15-Jan-2006  yamt sync with head.
 1.10.10.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.10.8.1 11-May-2006  elad sync with head
 1.10.6.2 11-Aug-2006  yamt sync with head
 1.10.6.1 24-May-2006  yamt sync with head.
 1.10.4.1 01-Jun-2006  kardel Sync with head.
 1.10.2.1 09-Sep-2006  rpaulo sync with head
 1.11.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.12.6.2 10-Dec-2006  yamt sync with head.
 1.12.6.1 22-Oct-2006  yamt sync with head
 1.12.4.2 12-Jan-2007  ad Sync with head.
 1.12.4.1 18-Nov-2006  ad Sync with head.
 1.16.4.2 12-Mar-2007  rmind Sync with HEAD.
 1.16.4.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.18.14.1 15-Aug-2007  skrll Sync with HEAD.
 1.18.12.1 07-Aug-2007  matt Sync with HEAD.
 1.18.10.1 03-Oct-2007  garbled Sync with HEAD
 1.18.2.1 20-Aug-2007  ad Sync with HEAD.
 1.19.6.1 06-Nov-2007  matt sync with HEAD
 1.20.20.3 11-Mar-2010  yamt sync with head
 1.20.20.2 04-May-2009  yamt sync with head.
 1.20.20.1 16-May-2008  yamt sync with head.
 1.20.18.1 18-May-2008  yamt sync with head.
 1.20.16.4 17-Jan-2009  mjf Sync with HEAD.
 1.20.16.3 28-Sep-2008  mjf Sync with HEAD.
 1.20.16.2 02-Jul-2008  mjf Sync with HEAD.
 1.20.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.21.4.1 03-Jul-2008  simonb Sync with head.
 1.21.2.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.22.2.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.22.2.1 19-Oct-2008  haad Sync with HEAD.
 1.23.12.1 07-Jan-2011  matt Deal with the splitting of <spr.h>
 1.23.2.2 03-Mar-2009  skrll Sync with HEAD.
 1.23.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.26.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.29.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.31.2.1 05-Mar-2011  rmind sync with head
 1.32.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.36.2.1 30-Oct-2012  yamt sync with head
 1.37.40.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.40.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.46.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.12 16-Mar-2021  rin Style. No binary changes.
 1.11 02-Mar-2021  rin Convert to intr_establish_xname().
 1.10 08-Dec-2018  thorpej branches: 1.10.12;
Clean up initialization of com_regs structure, in preparation for
some additional changers.
 1.9 01-Jul-2011  dyoung branches: 1.9.52; 1.9.54;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.8 08-Aug-2008  hannken Make the console on com0 detection work again.
 1.7 28-Apr-2008  martin branches: 1.7.2; 1.7.6;
Remove clause 3 and 4 from TNF licenses
 1.6 14-Mar-2008  cube branches: 1.6.2; 1.6.4;
Split device_t and softc for all com(4) devices (well, everything that
uses a com_softc backend). Use proper types and ansify where appropriate.
 1.5 27-Nov-2007  hannken branches: 1.5.10; 1.5.14;
When using bus_space_map() on the ISA bus unstride the address. Since
Rev. 1.13 of sys/arch/powerpc/powerpc/bus_space.c the address will be
strided by memio_map().
 1.4 13-Jul-2006  gdamore branches: 1.4.14; 1.4.32; 1.4.34; 1.4.40;
Add an option COM_REGMAP to allow com(4) to use an array of register indices.
This allows us to convert aucom to just another com attachment, and cleanup
some code in the com_arbus.c.

Additionally, we use a common com_cleanup routine rather than having a
zillion copies of it in the attachment points.

This has been tested on a number architectures, and it has been shown to get
close to comparable performance when COM_REGMAP is defined, and comparable
when it is not defined.

Approved by core@. Fixes PR port-evbmips/32362.
 1.3 11-Dec-2005  christos branches: 1.3.4; 1.3.8; 1.3.16;
merge ktrace-lwp.
 1.2 15-Jul-2003  lukem branches: 1.2.16;
__KERNEL_RCSID()
 1.1 11-Mar-2003  hannken branches: 1.1.2;
Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.3 17-Mar-2008  yamt sync with head.
 1.2.16.2 07-Dec-2007  yamt sync with head
 1.2.16.1 30-Dec-2006  yamt sync with head.
 1.3.16.1 15-Jun-2006  gdamore Initial work for PowerPC-specific com(4) rewhack. Compile tested, but I
lack hardware to test. If someone wants to validate, would be appreciated.
(Compile tested for WALNUT, EXPLORA451, and EV64260 kernels.)
 1.3.8.1 11-Aug-2006  yamt sync with head
 1.3.4.1 09-Sep-2006  rpaulo sync with head
 1.4.40.1 08-Dec-2007  mjf Sync with HEAD.
 1.4.34.2 23-Mar-2008  matt sync with HEAD
 1.4.34.1 09-Jan-2008  matt sync with HEAD
 1.4.32.1 27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.4.14.1 03-Dec-2007  ad Sync with HEAD.
 1.5.14.3 28-Sep-2008  mjf Sync with HEAD.
 1.5.14.2 02-Jun-2008  mjf Sync with HEAD.
 1.5.14.1 03-Apr-2008  mjf Sync with HEAD.
 1.5.10.1 24-Mar-2008  keiichi sync with head.
 1.6.4.2 04-May-2009  yamt sync with head.
 1.6.4.1 16-May-2008  yamt sync with head.
 1.6.2.1 18-May-2008  yamt sync with head.
 1.7.6.1 19-Oct-2008  haad Sync with HEAD.
 1.7.2.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.9.54.1 10-Jun-2019  christos Sync with HEAD
 1.9.52.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.10.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.11 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.10 24-Apr-2021  thorpej branches: 1.10.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.9 01-Jul-2011  dyoung branches: 1.9.68;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.8 06-Jun-2011  matt CFATTACH_DECL(..., sizeof(struct device), -> CFATTACH_DECL_NEW(..., 0
struct device * -> device_t
struct cfdata * -> cfdata_t
use bool when appropriate
some constification
 1.7 06-Jun-2011  matt More device_t, cfdata, CFATTACH_DECL_NEW cleanup.
 1.6 28-Apr-2008  martin branches: 1.6.22; 1.6.32;
Remove clause 3 and 4 from TNF licenses
 1.5 11-Dec-2005  christos branches: 1.5.74; 1.5.76; 1.5.78;
merge ktrace-lwp.
 1.4 13-Sep-2004  drochner use config_found() instead of config_found_sm() if no submatch
function is used
 1.3 25-Jul-2003  scw Switch ibm4xx ports to common powerpc bus_space/bus_dma code.
XXX: Walnut PCI support is broken. This will be addressed shortly.
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 11-Mar-2003  hannken branches: 1.1.2;
Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.5.78.1 16-May-2008  yamt sync with head.
 1.5.76.1 18-May-2008  yamt sync with head.
 1.5.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.6.32.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.6.22.1 12-Jun-2011  rmind sync with head
 1.9.68.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.10.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.4 28-Apr-2008  martin 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 25-Jul-2003  scw Switch ibm4xx ports to common powerpc bus_space/bus_dma code.
XXX: Walnut PCI support is broken. This will be addressed shortly.
 1.1 11-Mar-2003  hannken branches: 1.1.2;
Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll 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.20 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.19 24-Apr-2021  thorpej branches: 1.19.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.18 07-Mar-2021  rin branches: 1.18.2;
Add initial support for Xorg server for wsfb(4):

- Fix WSDISPLAYIO_GTYPE ioctl.

- Support WSDISPLAYIO_LINEBYTES, _{GET,PUT}CMAP, and _SMODE ioctl.

As well as tiny improvements related to it:

- Use actual size of framebuffer for bus_space_mmap(9), as well as upper
bound for mmap(2).

- Use base address obtained from autoconf(9) layer for mmap(2), instead of
hard-coded one.

- Use rasops_cmap as default color map, instead of our own ANSI color map.

- Show monitor resolution and color depth instead of size as tty.

I've confirmed that mlterm-fb from pkgsrc/x11/mlterm also works fine.
 1.17 07-Mar-2021  rin Misc cleanup for clarity. No functional changes.

- Group function declarations, and reorder function bodies accordingly.
- Misc KNF.
 1.16 05-Mar-2021  rin Fix color map.

Almost all colors except *green* were wrong for the apparent reason ;).
 1.15 05-Mar-2021  rin Configure fb(4) appropriately also when it is not console.

Now, wsdisplay(4) can be used with serial console.
 1.14 21-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.13 01-Jul-2011  dyoung branches: 1.13.66;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.12 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.11 15-May-2010  tsutsui branches: 1.11.6;
Clear RI_NO_AUTO in actual attach functions during autoconf(9)
for console devices that set the flag during consinit().
 1.10 15-May-2010  tsutsui Set RI_NO_AUTO in ri_flg if fb_init() is invoked from cnattach.
Tested on Explora451.
 1.9 28-Apr-2008  martin branches: 1.9.20; 1.9.22;
Remove clause 3 and 4 from TNF licenses
 1.8 04-Mar-2007  christos branches: 1.8.40; 1.8.42; 1.8.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.7 13-Apr-2006  hannken branches: 1.7.14;
Make it compile again by adding a second cookie to ioctl and mmap
wsdisplay accessops.
 1.6 11-Dec-2005  christos branches: 1.6.4; 1.6.6; 1.6.8; 1.6.10; 1.6.12;
merge ktrace-lwp.
 1.5 13-Sep-2004  drochner branches: 1.5.12;
use config_found() instead of config_found_sm() if no submatch
function is used
 1.4 05-Jan-2004  hannken Implement fb_mmap(). From David P. Reese Jr. with PR #23985.
 1.3 15-Jul-2003  lukem __KERNEL_RCSID()
 1.2 17-Mar-2003  hannken branches: 1.2.2;
Add hardware accelerated copy/erase ops.
 1.1 11-Mar-2003  hannken Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.2.2.4 17-Jan-2005  skrll Adapt to branch.
 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.5.12.2 03-Sep-2007  yamt sync with head.
 1.5.12.1 21-Jun-2006  yamt sync with head.
 1.6.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.6.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.6.8.1 24-May-2006  yamt sync with head.
 1.6.6.1 22-Apr-2006  simonb Sync with head.
 1.6.4.1 09-Sep-2006  rpaulo sync with head
 1.7.14.1 12-Mar-2007  rmind Sync with HEAD.
 1.8.44.2 11-Aug-2010  yamt sync with head.
 1.8.44.1 16-May-2008  yamt sync with head.
 1.8.42.1 18-May-2008  yamt sync with head.
 1.8.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.9.22.1 30-May-2010  rmind sync with head
 1.9.20.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.11.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.13.66.2 03-Apr-2021  thorpej Sync with HEAD.
 1.13.66.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.18.2.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.19.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.12 29-May-2022  rin le(4): Fix resource leaks for error paths.

XXX
Compile test only (at least one arch per driver).
 1.11 08-Dec-2021  andvar fix various typos in comments and log messages.
 1.10 02-Mar-2021  rin Convert to intr_establish_xname().
 1.9 01-Jul-2011  dyoung branches: 1.9.66;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.8 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.7 04-Apr-2008  tsutsui branches: 1.7.2; 1.7.4;
Split device_t/softc for le(4) and variants and misc cosmetic changes.
 1.6 07-Mar-2007  he branches: 1.6.40;
Add a required __UNVOLATILE() around argument to memcpy() / memset().
 1.5 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.4 11-Dec-2005  christos branches: 1.4.26;
merge ktrace-lwp.
 1.3 16-Aug-2003  hannken branches: 1.3.16;
Add bus_dmamap_sync as dma regions are no longer uncached.
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 11-Mar-2003  hannken branches: 1.1.2;
Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.3.16.1 03-Sep-2007  yamt sync with head.
 1.4.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.6.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.4.1 16-May-2008  yamt sync with head.
 1.7.2.1 18-May-2008  yamt sync with head.
 1.9.66.1 03-Apr-2021  thorpej Sync with HEAD.
 1.7 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.6 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.5 07-Mar-2008  cube branches: 1.5.2; 1.5.4;
Split the softc from the device_t for all lpt(4) variants and attachments
except the ppbus stuff (which doesn't compile) and ulpt(4) which is
unrelated and can be dealt with separately.

As usual, it comes with related cosmetic changes.
 1.4 27-Nov-2007  hannken branches: 1.4.10; 1.4.14;
When using bus_space_map() on the ISA bus unstride the address. Since
Rev. 1.13 of sys/arch/powerpc/powerpc/bus_space.c the address will be
strided by memio_map().
 1.3 11-Dec-2005  christos branches: 1.3.30; 1.3.48; 1.3.50; 1.3.56;
merge ktrace-lwp.
 1.2 15-Jul-2003  lukem branches: 1.2.16;
__KERNEL_RCSID()
 1.1 11-Mar-2003  hannken branches: 1.1.2;
Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.2 17-Mar-2008  yamt sync with head.
 1.2.16.1 07-Dec-2007  yamt sync with head
 1.3.56.1 08-Dec-2007  mjf Sync with HEAD.
 1.3.50.2 23-Mar-2008  matt sync with HEAD
 1.3.50.1 09-Jan-2008  matt sync with HEAD
 1.3.48.1 27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.3.30.1 03-Dec-2007  ad Sync with HEAD.
 1.4.14.2 02-Jun-2008  mjf Sync with HEAD.
 1.4.14.1 03-Apr-2008  mjf Sync with HEAD.
 1.4.10.1 24-Mar-2008  keiichi sync with head.
 1.5.4.1 16-May-2008  yamt sync with head.
 1.5.2.1 18-May-2008  yamt sync with head.
 1.12 05-Mar-2021  rin Avoid doubly bus_space_map(9) when pckbc(4) is already attached as console.
 1.11 05-Mar-2021  rin pckbcintr() must be running with IPL_TTY, not IPL_SERIAL. Otherwise,
tty(4) routines are unexpectedly interrupted, which results in
"locking against myself" errors for tty_lock.
 1.10 02-Mar-2021  rin Convert to intr_establish_xname().
 1.9 02-Mar-2021  rin Stop registering same function twice, i.e., for pckbd(4) and pms(4),
via intr_establish().
 1.8 21-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.7 01-Jul-2011  dyoung branches: 1.7.66;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.6 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.5 15-Mar-2008  cube branches: 1.5.2; 1.5.4;
Split device_t and softc for pckbc(4) and its attachments.
 1.4 27-Nov-2007  hannken branches: 1.4.10; 1.4.14;
When using bus_space_map() on the ISA bus unstride the address. Since
Rev. 1.13 of sys/arch/powerpc/powerpc/bus_space.c the address will be
strided by memio_map().
 1.3 11-Dec-2005  christos branches: 1.3.30; 1.3.48; 1.3.50; 1.3.56;
merge ktrace-lwp.
 1.2 15-Jul-2003  lukem branches: 1.2.16;
__KERNEL_RCSID()
 1.1 11-Mar-2003  hannken branches: 1.1.2;
Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.2 17-Mar-2008  yamt sync with head.
 1.2.16.1 07-Dec-2007  yamt sync with head
 1.3.56.1 08-Dec-2007  mjf Sync with HEAD.
 1.3.50.2 23-Mar-2008  matt sync with HEAD
 1.3.50.1 09-Jan-2008  matt sync with HEAD
 1.3.48.1 27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.3.30.1 03-Dec-2007  ad Sync with HEAD.
 1.4.14.2 02-Jun-2008  mjf Sync with HEAD.
 1.4.14.1 03-Apr-2008  mjf Sync with HEAD.
 1.4.10.1 24-Mar-2008  keiichi sync with head.
 1.5.4.1 16-May-2008  yamt sync with head.
 1.5.2.1 18-May-2008  yamt sync with head.
 1.7.66.2 03-Apr-2021  thorpej Sync with HEAD.
 1.7.66.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.8 21-Dec-2015  christos Add mips fenv.h (From FreeBSD)
 1.7 23-Jul-2014  alnsn branches: 1.7.4;
Rename sljitarch.h to sljit_machdep.h.
 1.6 17-Nov-2013  alnsn branches: 1.6.2;
Enable sljit and bpfjit on powerpc.
 1.5 11-Dec-2005  christos branches: 1.5.112; 1.5.122; 1.5.128;
merge ktrace-lwp.
 1.4 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.3 17-Jan-2003  thorpej branches: 1.3.2;
Merge the nathanw_sa branch.
 1.2 09-Dec-2002  scw branches: 1.2.2;
Add pmc.h
 1.1 09-Dec-2002  scw New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.2.2.3 19-Dec-2002  thorpej Add <machine/mcontext.h> for evbppc.
 1.2.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.2.2.1 09-Dec-2002  thorpej file Makefile was added on branch nathanw_sa on 2002-12-11 06:29:04 +0000
 1.3.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.1 03-Aug-2004  skrll Sync with HEAD
 1.5.128.1 18-May-2014  rmind sync with head
 1.5.122.2 03-Dec-2017  jdolecek update from HEAD
 1.5.122.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.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.6.2.1 10-Aug-2014  tls Rebase.
 1.7.4.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file ansi.h was added on branch nathanw_sa on 2002-12-11 06:29:05 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file aout_machdep.h was added on branch nathanw_sa on 2002-12-11 06:29:05 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file asm.h was added on branch nathanw_sa on 2002-12-11 06:29:06 +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:34: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.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file bswap.h was added on branch nathanw_sa on 2002-12-11 06:29:06 +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 11-Dec-2005  christos merge ktrace-lwp.
 1.5 25-Jul-2003  scw Switch ibm4xx ports to common powerpc bus_space/bus_dma code.
XXX: Walnut PCI support is broken. This will be addressed shortly.
 1.4 16-Mar-2003  matt branches: 1.4.2;
EV64260 now gets to single user prompt using COM1 (2nd uart) as console
with PPCBOOT as firmware. XXX PCI devices are not found.
 1.3 07-Mar-2003  matt Remove some constant (use value in bus_space_tags).
 1.2 04-Mar-2003  matt Re-arrange things in evbppc & powerpc to support OEA-based eval boards
in evbppc. OEA-based board(s) to be added later.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file bus.h was added on branch nathanw_sa on 2002-12-11 06:29:07 +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.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 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file cdefs.h was added on branch nathanw_sa on 2002-12-11 06:29:07 +0000
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 18-Mar-2005  shige branches: 1.1.2; 1.1.4; 1.1.6;
Add sources for OpenBlockS200 (OpenBlockS S/R) machine.
 1.1.6.2 29-Apr-2005  kent sync with -current
 1.1.6.1 18-Mar-2005  kent file century_bios.h was added on branch kent-audio2 on 2005-04-29 11:28:09 +0000
 1.1.4.2 01-Apr-2005  skrll Sync with HEAD.
 1.1.4.1 18-Mar-2005  skrll file century_bios.h was added on branch ktrace-lwp on 2005-04-01 14:27:26 +0000
 1.1.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.2.1 18-Mar-2005  yamt file century_bios.h was added on branch yamt-km on 2005-03-19 08:32:58 +0000
 1.8 03-Aug-2021  rin Switch evbppc/ibm4xx to generic evbppc (same as oea) kernel modules.

I've confirmed that kernels similar to amd64/conf/MODULAR work fine
both on 403 and 405.

XXX
Unfortunately, we cannot immediately switch evbppc/booke to generic
kernel modules yet; it has its own intr.h implementation.
 1.7 20-Jun-2011  matt Don't expose port-specific if _MODULE is defined.
Don't _MACHINE_CPU_H_, _<PORT>_CPU_H_
 1.6 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.5 12-Jun-2011  mrg for booke and ibm4xx evbppc systems, set module_machine to to either
"powerpc-ibm4xx" or "powerpc-booke".
 1.4 11-Dec-2005  christos branches: 1.4.110;
merge ktrace-lwp.
 1.3 25-Jul-2003  scw Switch ibm4xx ports to common powerpc bus_space/bus_dma code.
XXX: Walnut PCI support is broken. This will be addressed shortly.
 1.2 04-Mar-2003  matt branches: 1.2.2;
Re-arrange things in evbppc & powerpc to support OEA-based eval boards
in evbppc. OEA-based board(s) to be added later.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file cpu.h was added on branch nathanw_sa on 2002-12-11 06:29:07 +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.110.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 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.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file db_machdep.h was added on branch nathanw_sa on 2002-12-11 06:29:08 +0000
 1.2 11-Mar-2003  hannken Add support for the IBM 403GCX cpu. Enabled with "options PPC_IBM403".

- different set of device control registers.
- non-standard access to the time base.
- 16 byte cache lines.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file dcr.h was added on branch nathanw_sa on 2002-12-11 06:29:08 +0000
 1.1 02-Apr-2021  rin branches: 1.1.2; 1.1.4;
evbppc: Add support for DHT Walnut 405GP evaluation board.
(Digital Home Technologies PCB 01070201 Rev. 1.1)

Official web page seems gone, but analyses by Linux people are at:

- https://elinux.org/DHT-Walnut
- http://web.archive.org/web/20070225171826/http://supernova.stanford.edu/dingdong/

The board features:

- 266MHz PowerPC 405GP processor
- one PC133 SDRAM slot
- two 32-bit 5V PCI slot
- on-chip ethernet controller with DP83843 PHY
- on-chip serial port / GPIO controller
- on-board PDC20265 IDE controller

Hardware limitations:

- no MAC address assigned
- no RTC present

Known problem:

- atabus(4) channels cannot be attached to pdcide(4) for cold boot

dmesg:

- https://dmesgd.nycbug.org/index.cgi?do=view&id=5997

Have fun!
 1.1.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.4.1 02-Apr-2021  thorpej file dht.h was added on branch thorpej-futex on 2021-04-03 22:28:24 +0000
 1.1.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.2.1 02-Apr-2021  thorpej file dht.h was added on branch thorpej-cfargs on 2021-04-03 21:44:43 +0000
 1.8 16-May-2013  christos Complete the dosparts -> mbrparts conversion. Only x86k new uses dosparts
because it also uses struct dos_partition.
 1.7 30-Aug-2011  bouyer branches: 1.7.2; 1.7.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.6 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.5 11-Dec-2005  christos branches: 1.5.78;
merge ktrace-lwp.
 1.4 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.3 19-Nov-2003  scw Add support for an MBR disklabel if EVBPPC_HAS_MBR is defined.
 1.2 10-May-2003  thorpej branches: 1.2.2;
Remove redundant bounds_check_with_label() prototype.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file disklabel.h was added on branch nathanw_sa on 2002-12-11 06:29:09 +0000
 1.2.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.5.78.1 11-Mar-2010  yamt sync with head
 1.7.12.1 23-Jun-2013  tls resync from head
 1.7.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 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file elf_machdep.h was added on branch nathanw_sa on 2002-12-11 06:29:09 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file endian.h was added on branch nathanw_sa on 2002-12-11 06:29:10 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file endian_machdep.h was added on branch nathanw_sa on 2002-12-11 06:29:10 +0000
 1.4 02-Mar-2021  rin Adjust tabs. Add NetBSD RCSID. No binary changes.
 1.3 23-Oct-2006  kiyohara branches: 1.3.156;
Define BASE_ISA macro for ISA window base address (where pckbc, com, lpt live)
instead of hardcoding the constant or (even before) using BASE_COM.
 1.2 25-Jul-2003  scw branches: 1.2.16; 1.2.46; 1.2.48;
Switch ibm4xx ports to common powerpc bus_space/bus_dma code.
XXX: Walnut PCI support is broken. This will be addressed shortly.
 1.1 11-Mar-2003  hannken branches: 1.1.2;
Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.2.48.1 10-Dec-2006  yamt sync with head.
 1.2.46.1 18-Nov-2006  ad Sync with head.
 1.2.16.1 30-Dec-2006  yamt sync with head.
 1.3.156.1 03-Apr-2021  thorpej Sync with HEAD.
 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:11 +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:35 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file float.h was added on branch nathanw_sa on 2002-12-11 06:29:11 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file fpu.h was added on branch nathanw_sa on 2002-12-11 06:29:11 +0000
 1.3 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.2 17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.3 19-Dec-2002  thorpej LWP'ify and add saframe.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file frame.h was added on branch nathanw_sa on 2002-12-11 06:29:11 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file ieee.h was added on branch nathanw_sa on 2002-12-11 06:29:12 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file ieeefp.h was added on branch nathanw_sa on 2002-12-11 06:29:12 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file int_const.h was added on branch nathanw_sa on 2002-12-11 06:29:12 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file int_fmtio.h was added on branch nathanw_sa on 2002-12-11 06:29:13 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file int_limits.h was added on branch nathanw_sa on 2002-12-11 06:29:13 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file int_mwgwtypes.h was added on branch nathanw_sa on 2002-12-11 06:29:13 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file int_types.h was added on branch nathanw_sa on 2002-12-11 06:29:14 +0000
 1.5 28-Jul-2012  matt Remove declartions of physmem
 1.4 11-Dec-2005  christos branches: 1.4.112;
merge ktrace-lwp.
 1.3 02-Sep-2004  scw Fix the rcsid.
 1.2 04-Mar-2003  matt branches: 1.2.2;
Re-arrange things in evbppc & powerpc to support OEA-based eval boards
in evbppc. OEA-based board(s) to be added later.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file intr.h was added on branch nathanw_sa on 2002-12-11 06:29:14 +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-Sep-2004  skrll Sync with HEAD
 1.4.112.1 30-Oct-2012  yamt sync with head
 1.2 15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.1 09-Dec-2002  scw branches: 1.1.2; 1.1.198; 1.1.200;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.200.1 10-Jun-2019  christos Sync with HEAD
 1.1.198.1 28-Jul-2018  pgoyette Sync with HEAD
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file ipkdb.h was added on branch nathanw_sa on 2002-12-11 06:29:14 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file kcore.h was added on branch nathanw_sa on 2002-12-11 06:29:14 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file limits.h was added on branch nathanw_sa on 2002-12-11 06:29:15 +0000
 1.6 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.5 28-Apr-2008  martin branches: 1.5.44; 1.5.60;
Remove clause 3 and 4 from TNF licenses
 1.4 25-Jan-2006  christos branches: 1.4.72; 1.4.74; 1.4.76;
free -> dealloc
unsigned -> size_t for alloc/dealloc
 1.3 11-Dec-2005  christos branches: 1.3.2;
merge ktrace-lwp.
 1.2 30-Jun-2005  simonb branches: 1.2.2;
We don't need a.out loadfile support for evbppc - this port has only
ever been ELF.
 1.1 09-Dec-2002  scw branches: 1.1.2; 1.1.8;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.8.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file loadfile_machdep.h was added on branch nathanw_sa on 2002-12-11 06:29:15 +0000
 1.2.2.1 21-Jun-2006  yamt sync with head.
 1.3.2.1 01-Feb-2006  yamt sync with head.
 1.4.76.1 16-May-2008  yamt sync with head.
 1.4.74.1 18-May-2008  yamt sync with head.
 1.4.72.1 02-Jun-2008  mjf Sync with HEAD.
 1.5.60.1 10-Aug-2014  tls Rebase.
 1.5.44.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file lock.h was added on branch nathanw_sa on 2002-12-11 06:29:15 +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:35 +0000
 1.2 26-Apr-2011  joerg Remove Darwin, MACH and Mach-O support.
 1.1 09-Dec-2002  scw branches: 1.1.2; 1.1.136; 1.1.142;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 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 09-Dec-2002  thorpej file macho_machdep.h was added on branch nathanw_sa on 2002-12-11 06:29:16 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file math.h was added on branch nathanw_sa on 2002-12-11 06:29:16 +0000
 1.2 17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.1 19-Dec-2002  thorpej branches: 1.1.2;
file mcontext.h was initially added on branch nathanw_sa.
 1.1.2.1 19-Dec-2002  thorpej Add <machine/mcontext.h> for evbppc.
 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:06:23 +0000
 1.1 28-Feb-2014  matt branches: 1.1.4; 1.1.6; 1.1.10;
Needed for COMPAT_NETBSD32
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 28-Feb-2014  tls file netbsd32_machdep.h was added on branch tls-maxphys on 2014-08-20 00:02:59 +0000
 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 28-Feb-2014  yamt file netbsd32_machdep.h was added on branch yamt-pagecache on 2014-05-22 11:39:45 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 28-Feb-2014  rmind file netbsd32_machdep.h was added on branch rmind-smpnet on 2014-05-18 17:45:07 +0000
 1.4 30-Mar-2021  rin Include <dev/ic/comreg.h> for COM_FREQ.
 1.3 30-Mar-2021  rin G/C <evbppc/obs405.h>.
 1.2 11-Dec-2005  christos branches: 1.2.178; 1.2.180;
merge ktrace-lwp.
 1.1 18-Mar-2005  shige branches: 1.1.2; 1.1.4; 1.1.6;
Add sources for OpenBlockS200 (OpenBlockS S/R) machine.
 1.1.6.2 29-Apr-2005  kent sync with -current
 1.1.6.1 18-Mar-2005  kent file obs200.h was added on branch kent-audio2 on 2005-04-29 11:28:09 +0000
 1.1.4.2 01-Apr-2005  skrll Sync with HEAD.
 1.1.4.1 18-Mar-2005  skrll file obs200.h was added on branch ktrace-lwp on 2005-04-01 14:27:26 +0000
 1.1.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.2.1 18-Mar-2005  yamt file obs200.h was added on branch yamt-km on 2005-03-19 08:32:58 +0000
 1.2.180.1 03-Apr-2021  thorpej Sync with HEAD.
 1.2.178.1 03-Apr-2021  thorpej Sync with HEAD.
 1.4 30-Mar-2021  rin Include <dev/ic/comreg.h> for COM_FREQ.
 1.3 30-Mar-2021  rin G/C <evbppc/obs405.h>.
 1.2 11-Dec-2005  christos branches: 1.2.178; 1.2.180;
merge ktrace-lwp.
 1.1 18-Mar-2005  shige branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10; 1.1.12;
Rearrange codes for OpenBlockS266 machine.
 1.1.12.2 15-Sep-2005  riz Pull up following revision(s) (requested by shige in ticket #5820):
distrib/evbppc/md-kernel/Makefile 1.3 via patch
etc/etc.evbppc/Makefile.inc 1.3 via patch
sys/arch/evbppc/conf/files.obs405 1.5-1.8 via patch
sys/arch/evbppc/conf/OPENBLOCKS266 1.22,1.25 via patch
sys/arch/evbppc/include/obs266.h 1.1 (new)
sys/arch/evbppc/include/obs405.h 1.1-1.5 (new)
sys/arch/evbppc/include/rbus_machdep.h 1.1 (new)
sys/arch/evbppc/obs405/consinit.c 1.2-1.4
sys/arch/evbppc/obs405/dev/x1226.c deleted
sys/arch/evbppc/obs405/dev/x1226reg.h deleted
sys/arch/evbppc/obs405/machdep.c deleted
sys/arch/evbppc/obs405/obs266_autoconf.c 1.1 (new)
sys/arch/evbppc/obs405/obs266_machdep.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_autoconf.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_machdep.c 1.1 (new)
sys/arch/evbppc/obs405/rbus_machdep.c 1.1 (new)
sys/arch/powerpc/conf/files.ibm4xx 1.6-1.7
sys/arch/powerpc/ibm4xx/board_prop.c 1.1 (new)
sys/arch/powerpc/ibm4xx/dev/com_opb.c 1.12
sys/arch/powerpc/ibm4xx/dev/comopbvar.h 1.1 (new)
sys/arch/powerpc/ibm4xx/ibm40x_machdep.c 1.3-1.4
sys/arch/powerpc/ibm4xx/ibm4xx_autoconf.c 1.1-1.2 (new)
sys/arch/powerpc/ibm4xx/ibm4xx_machdep.c 1.1-1.3 (new)
sys/arch/powerpc/ibm4xx/ibm4xxgpx_autoconf.c 1.2-1.3
sys/arch/powerpc/ibm4xx/openbios/openbios.c 1.1 (new)
sys/arch/powerpc/include/ibm4xx/cpu.h 1.7-1.10
sys/arch/powerpc/include/ibm4xx/openbios.h 1.1 (new)

Update OpenBlockS266 support to more modern, stable sources.
 1.1.12.1 18-Mar-2005  riz file obs266.h was added on branch netbsd-2 on 2005-09-15 14:28:44 +0000
 1.1.10.2 14-Sep-2005  tron Apply patch (requested by shige in ticket #763):
Synchronize OpenBlockS266 port with NetBSD-current for enhanced stability.
 1.1.10.1 18-Mar-2005  tron file obs266.h was added on branch netbsd-3 on 2005-09-14 20:53:59 +0000
 1.1.6.2 29-Apr-2005  kent sync with -current
 1.1.6.1 18-Mar-2005  kent file obs266.h was added on branch kent-audio2 on 2005-04-29 11:28:09 +0000
 1.1.4.2 01-Apr-2005  skrll Sync with HEAD.
 1.1.4.1 18-Mar-2005  skrll file obs266.h was added on branch ktrace-lwp on 2005-04-01 14:27:26 +0000
 1.1.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.2.1 18-Mar-2005  yamt file obs266.h was added on branch yamt-km on 2005-03-19 08:32:58 +0000
 1.2.180.1 03-Apr-2021  thorpej Sync with HEAD.
 1.2.178.1 03-Apr-2021  thorpej Sync with HEAD.
 1.9 30-Mar-2021  rin G/C <evbppc/obs405.h>.
 1.8 18-Jun-2011  matt branches: 1.8.66; 1.8.68;
split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.7 18-Mar-2010  kiyohara branches: 1.7.6;
Support Plathome's OpenBlockS600.
 1.6 11-Dec-2005  christos branches: 1.6.78; 1.6.98; 1.6.100;
merge ktrace-lwp.
 1.5 18-Mar-2005  shige branches: 1.5.4;
Rearrange codes for OpenBlockS266 machine.
 1.4 24-Jan-2005  shige branches: 1.4.2; 1.4.6;
Add OpenBlockS266 GPIO LED Driver.
 1.3 21-Jan-2005  shige Add consinit() and md_consinit funcptr to ibm4xx/machdep.c.
Rename consinit() to obs405_consinit() at evbppc/obs405/consinit.c.

Set md_consinit to obs405_consinit() at initppc().
Consinit fuction calls a function stored at md_consinit pointer.
 1.2 18-Jan-2005  shige - Copy evbppc/obs405/machdep.c to evbppc/obs405/md_machdep.c.
(prevent machdep.o from conflict)
- Rename function: cpu_startup -> obs405_cpu_startup.
- Set md-func-ptr: md_cpu_startup = obs405_cpu_startup.
 1.1 13-Jan-2005  shige branches: 1.1.2; 1.1.4;
Call com_opb_cnattach function.
 1.1.4.5 01-Apr-2005  skrll Sync with HEAD.
 1.1.4.4 04-Feb-2005  skrll Sync with HEAD.
 1.1.4.3 24-Jan-2005  skrll Sync with HEAD.
 1.1.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.1 13-Jan-2005  skrll file obs405.h was added on branch ktrace-lwp on 2005-01-17 19:29:23 +0000
 1.1.2.1 29-Apr-2005  kent sync with -current
 1.4.6.1 14-Sep-2005  tron Apply patch (requested by shige in ticket #763):
Synchronize OpenBlockS266 port with NetBSD-current for enhanced stability.
 1.4.2.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.5.4.2 15-Sep-2005  riz Pull up following revision(s) (requested by shige in ticket #5820):
distrib/evbppc/md-kernel/Makefile 1.3 via patch
etc/etc.evbppc/Makefile.inc 1.3 via patch
sys/arch/evbppc/conf/files.obs405 1.5-1.8 via patch
sys/arch/evbppc/conf/OPENBLOCKS266 1.22,1.25 via patch
sys/arch/evbppc/include/obs266.h 1.1 (new)
sys/arch/evbppc/include/obs405.h 1.1-1.5 (new)
sys/arch/evbppc/include/rbus_machdep.h 1.1 (new)
sys/arch/evbppc/obs405/consinit.c 1.2-1.4
sys/arch/evbppc/obs405/dev/x1226.c deleted
sys/arch/evbppc/obs405/dev/x1226reg.h deleted
sys/arch/evbppc/obs405/machdep.c deleted
sys/arch/evbppc/obs405/obs266_autoconf.c 1.1 (new)
sys/arch/evbppc/obs405/obs266_machdep.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_autoconf.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_machdep.c 1.1 (new)
sys/arch/evbppc/obs405/rbus_machdep.c 1.1 (new)
sys/arch/powerpc/conf/files.ibm4xx 1.6-1.7
sys/arch/powerpc/ibm4xx/board_prop.c 1.1 (new)
sys/arch/powerpc/ibm4xx/dev/com_opb.c 1.12
sys/arch/powerpc/ibm4xx/dev/comopbvar.h 1.1 (new)
sys/arch/powerpc/ibm4xx/ibm40x_machdep.c 1.3-1.4
sys/arch/powerpc/ibm4xx/ibm4xx_autoconf.c 1.1-1.2 (new)
sys/arch/powerpc/ibm4xx/ibm4xx_machdep.c 1.1-1.3 (new)
sys/arch/powerpc/ibm4xx/ibm4xxgpx_autoconf.c 1.2-1.3
sys/arch/powerpc/ibm4xx/openbios/openbios.c 1.1 (new)
sys/arch/powerpc/include/ibm4xx/cpu.h 1.7-1.10
sys/arch/powerpc/include/ibm4xx/openbios.h 1.1 (new)

Update OpenBlockS266 support to more modern, stable sources.
 1.5.4.1 18-Mar-2005  riz file obs405.h was added on branch netbsd-2 on 2005-09-15 14:28:44 +0000
 1.6.100.1 30-May-2010  rmind sync with head
 1.6.98.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.6.78.1 11-Aug-2010  yamt sync with head.
 1.7.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.8.68.1 03-Apr-2021  thorpej Sync with HEAD.
 1.8.66.1 03-Apr-2021  thorpej Sync with HEAD.
 1.3 30-Mar-2021  rin Include <dev/ic/comreg.h> for COM_FREQ.
 1.2 30-Mar-2021  rin G/C <evbppc/obs405.h>.
 1.1 18-Mar-2010  kiyohara branches: 1.1.2; 1.1.4; 1.1.6; 1.1.78; 1.1.80;
Support Plathome's OpenBlockS600.
 1.1.80.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.78.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.6.2 11-Aug-2010  yamt sync with head.
 1.1.6.1 18-Mar-2010  yamt file obs600.h was added on branch yamt-nfs-mp on 2010-08-11 22:51:54 +0000
 1.1.4.2 30-May-2010  rmind sync with head
 1.1.4.1 18-Mar-2010  rmind file obs600.h was added on branch rmind-uvmplock on 2010-05-30 05:16:43 +0000
 1.1.2.2 30-Apr-2010  uebayasi Sync with HEAD.
 1.1.2.1 18-Mar-2010  uebayasi file obs600.h was added on branch uebayasi-xip on 2010-04-30 14:39:18 +0000
 1.3 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.2 04-Mar-2003  matt branches: 1.2.140;
Re-arrange things in evbppc & powerpc to support OEA-based eval boards
in evbppc. OEA-based board(s) to be added later.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file param.h was added on branch nathanw_sa on 2002-12-11 06:29:16 +0000
 1.2.140.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file pcb.h was added on branch nathanw_sa on 2002-12-11 06:29:16 +0000
 1.3 24-Apr-2008  hubertf Fix RCS Id, pointed out by Slava Semushin in private mail
 1.2 04-Mar-2003  matt branches: 1.2.104; 1.2.106;
Re-arrange things in evbppc & powerpc to support OEA-based eval boards
in evbppc. OEA-based board(s) to be added later.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file pci_machdep.h was added on branch nathanw_sa on 2002-12-11 06:29:17 +0000
 1.2.106.1 18-May-2008  yamt sync with head.
 1.2.104.1 02-Jun-2008  mjf Sync with HEAD.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file pio.h was added on branch nathanw_sa on 2002-12-11 06:29:17 +0000
 1.3 03-Feb-2003  matt Rename PPC_MPC6XX to PPC_OEA (and any mpc6xx reference to oea).
 1.2 03-Feb-2003  matt More cleanup for OLDPMAP.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file pmap.h was added on branch nathanw_sa on 2002-12-11 06:29:18 +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 09-Dec-2002  scw branches: 1.1.2; 1.1.198; 1.1.200;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.200.1 10-Jun-2019  christos Sync with HEAD
 1.1.198.1 28-Jul-2018  pgoyette Sync with HEAD
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file pmc.h was added on branch nathanw_sa on 2002-12-11 06:29:18 +0000
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.8; 1.2.22; 1.2.24; 1.2.26;
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 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10;
file pmppc.h was initially added on branch ppcoea-renovation.
 1.1.10.1 25-Oct-2007  bouyer Sync with HEAD.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.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.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.26.1 16-May-2008  yamt sync with head.
 1.2.24.1 18-May-2008  yamt sync with head.
 1.2.22.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file pmppc.h was added on branch matt-armv6 on 2007-11-06 23:16:17 +0000
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file pmppc.h was added on branch yamt-lazymbuf on 2007-10-27 11:25:55 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file pmppc.h was added on branch vmlocking on 2007-10-23 20:35:43 +0000
 1.5 22-Jun-2011  matt Make pmppc use stock <powerpc/pci_machdep.h>
Move some private declartions to <pmppc/dev/mainbus.h>
 1.4 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.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.2; 1.2.4; 1.2.8; 1.2.22; 1.2.24; 1.2.26;
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 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10;
file pmppc_intr.h was initially added on branch ppcoea-renovation.
 1.1.10.1 25-Oct-2007  bouyer Sync with HEAD.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.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.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.26.1 16-May-2008  yamt sync with head.
 1.2.24.1 18-May-2008  yamt sync with head.
 1.2.22.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file pmppc_intr.h was added on branch matt-armv6 on 2007-11-06 23:16:17 +0000
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file pmppc_intr.h was added on branch yamt-lazymbuf on 2007-10-27 11:25:55 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file pmppc_intr.h was added on branch vmlocking on 2007-10-23 20:35:44 +0000
 1.3.32.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.4 22-Jun-2011  matt This is no longer needed.
 1.3 04-Apr-2011  dyoung Neither pci_dma64_available(), pci_probe_device(), pci_mapreg_map(9),
pci_find_rom(), pci_intr_map(9), pci_enumerate_bus(), nor the match
predicate passed to pciide_compat_intr_establish() should ever modify
their pci_attach_args argument, so make their pci_attach_args arguments
const and deal with the fallout throughout the kernel.

For the most part, these changes add a 'const' where there was no
'const' before, however, some drivers and MD code used to modify
pci_attach_args. Now those drivers either copy their pci_attach_args
and modify the copy, or refrain from modifying pci_attach_args:

Xen: according to Manuel Bouyer, writing to pci_attach_args in
pci_intr_map() was a leftover from Xen 2. Probably a bug. I
stopped writing it. I have not tested this change.

siside(4): sis_hostbr_match() needlessly wrote to pci_attach_args.
Probably a bug. I use a temporary variable. I have not tested this
change.

slide(4): sl82c105_chip_map() overwrote the caller's pci_attach_args.
Probably a bug. Use a local pci_attach_args. I have not tested
this change.

viaide(4): via_sata_chip_map() and via_sata_chip_map_new() overwrote the
caller's pci_attach_args. Probably a bug. Make a local copy of the
caller's pci_attach_args and modify the copy. I have not tested
this change.

While I'm here, make pci_mapreg_submap() static.

With these changes in place, I have tested the compilation of these
kernels:

alpha GENERIC
amd64 GENERIC XEN3_DOM0
arc GENERIC
atari HADES MILAN-PCIIDE
bebox GENERIC
cats GENERIC
cobalt GENERIC
evbarm-eb NSLU2
evbarm-el ADI_BRH ARMADILLO9 CP3100 GEMINI GEMINI_MASTER GEMINI_SLAVE GUMSTIX
HDL_G IMX31LITE INTEGRATOR IQ31244 IQ80310 IQ80321 IXDP425 IXM1200
KUROBOX_PRO LUBBOCK MARVELL_NAS NAPPI SHEEVAPLUG SMDK2800 TEAMASA_NPWR
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
OPENBLOCKS266_OPT P2020RDB PMPPC RB800 WALNUT
hp700 GENERIC
i386 ALL XEN3_DOM0 XEN3_DOMU
ibmnws GENERIC
macppc GENERIC
mvmeppc GENERIC
netwinder GENERIC
ofppc GENERIC
prep GENERIC
sandpoint GENERIC
sgimips GENERIC32_IP2x
sparc GENERIC_SUN4U KRUPS
sparc64 GENERIC

As of Sun Apr 3 15:26:26 CDT 2011, I could not compile these kernels
with or without my patches in place:

### evbmips-el GDIUM

nbmake: nbmake: don't know how to make /home/dyoung/pristine-nbsd/src/sys/arch/mips/mips/softintr.c. Stop

### evbarm-el MPCSA_GENERIC
src/sys/arch/evbarm/conf/MPCSA_GENERIC:318: ds1672rtc*: unknown device `ds1672rtc'

### ia64 GENERIC

/tmp/genassym.28085/assym.c: In function 'f111':
/tmp/genassym.28085/assym.c:67: error: invalid application of 'sizeof' to incomplete type 'struct pcb'
/tmp/genassym.28085/assym.c:76: error: dereferencing pointer to incomplete type

### sgimips GENERIC32_IP3x

crmfb.o: In function `crmfb_attach':
crmfb.c:(.text+0x2304): undefined reference to `ddc_read_edid'
crmfb.c:(.text+0x2304): relocation truncated to fit: R_MIPS_26 against `ddc_read_edid'
crmfb.c:(.text+0x234c): undefined reference to `edid_parse'
crmfb.c:(.text+0x234c): relocation truncated to fit: R_MIPS_26 against `edid_parse'
crmfb.c:(.text+0x2354): undefined reference to `edid_print'
crmfb.c:(.text+0x2354): relocation truncated to fit: R_MIPS_26 against `edid_print'
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.8; 1.2.48; 1.2.54;
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 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10;
file pmppc_pci_machdep.h was initially added on branch ppcoea-renovation.
 1.1.10.1 25-Oct-2007  bouyer Sync with HEAD.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.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.2.2 09-May-2007  garbled Convert pmppc to generic pci. Also fix the prototype for
pci_conf_interrupt while I'm here.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.54.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.48.1 21-Apr-2011  rmind sync with head
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file pmppc_pci_machdep.h was added on branch matt-armv6 on 2007-11-06 23:16:18 +0000
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file pmppc_pci_machdep.h was added on branch yamt-lazymbuf on 2007-10-27 11:25:56 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file pmppc_pci_machdep.h was added on branch vmlocking on 2007-10-23 20:35:44 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file powerpc.h was added on branch nathanw_sa on 2002-12-11 06:29:18 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file proc.h was added on branch nathanw_sa on 2002-12-11 06:29:19 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file profile.h was added on branch nathanw_sa on 2002-12-11 06:29:19 +0000
 1.4 20-Jun-2011  matt Fixup PSL handling to be tolerant of modules. Move evbppc psl changes
into powerpc psl.h
 1.3 11-Dec-2005  christos branches: 1.3.110;
merge ktrace-lwp.
 1.2 12-May-2004  hannken Make compat_16_sys___sigreturn14() work again.
The 4XX family has no PSL_RI bit in MSR.
The 403 (explora) runs with machine check enabled.
 1.1 09-Dec-2002  scw branches: 1.1.2; 1.1.8;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.8.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.8.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.8.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file psl.h was added on branch nathanw_sa on 2002-12-11 06:29:20 +0000
 1.3.110.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file pte.h was added on branch nathanw_sa on 2002-12-11 06:29:20 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file ptrace.h was added on branch nathanw_sa on 2002-12-11 06:29:20 +0000
 1.2 11-Dec-2005  christos branches: 1.2.18;
merge ktrace-lwp.
 1.1 04-Sep-2005  kiyohara branches: 1.1.2; 1.1.4; 1.1.10;
Support 'PCMCIA adapter BOX' for OpenBlockS266.
 1.1.10.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.10.1 04-Sep-2005  skrll file rbus_machdep.h was added on branch ktrace-lwp on 2005-11-10 13:56:05 +0000
 1.1.4.2 15-Sep-2005  riz Pull up following revision(s) (requested by shige in ticket #5820):
distrib/evbppc/md-kernel/Makefile 1.3 via patch
etc/etc.evbppc/Makefile.inc 1.3 via patch
sys/arch/evbppc/conf/files.obs405 1.5-1.8 via patch
sys/arch/evbppc/conf/OPENBLOCKS266 1.22,1.25 via patch
sys/arch/evbppc/include/obs266.h 1.1 (new)
sys/arch/evbppc/include/obs405.h 1.1-1.5 (new)
sys/arch/evbppc/include/rbus_machdep.h 1.1 (new)
sys/arch/evbppc/obs405/consinit.c 1.2-1.4
sys/arch/evbppc/obs405/dev/x1226.c deleted
sys/arch/evbppc/obs405/dev/x1226reg.h deleted
sys/arch/evbppc/obs405/machdep.c deleted
sys/arch/evbppc/obs405/obs266_autoconf.c 1.1 (new)
sys/arch/evbppc/obs405/obs266_machdep.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_autoconf.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_machdep.c 1.1 (new)
sys/arch/evbppc/obs405/rbus_machdep.c 1.1 (new)
sys/arch/powerpc/conf/files.ibm4xx 1.6-1.7
sys/arch/powerpc/ibm4xx/board_prop.c 1.1 (new)
sys/arch/powerpc/ibm4xx/dev/com_opb.c 1.12
sys/arch/powerpc/ibm4xx/dev/comopbvar.h 1.1 (new)
sys/arch/powerpc/ibm4xx/ibm40x_machdep.c 1.3-1.4
sys/arch/powerpc/ibm4xx/ibm4xx_autoconf.c 1.1-1.2 (new)
sys/arch/powerpc/ibm4xx/ibm4xx_machdep.c 1.1-1.3 (new)
sys/arch/powerpc/ibm4xx/ibm4xxgpx_autoconf.c 1.2-1.3
sys/arch/powerpc/ibm4xx/openbios/openbios.c 1.1 (new)
sys/arch/powerpc/include/ibm4xx/cpu.h 1.7-1.10
sys/arch/powerpc/include/ibm4xx/openbios.h 1.1 (new)

Update OpenBlockS266 support to more modern, stable sources.
 1.1.4.1 04-Sep-2005  riz file rbus_machdep.h was added on branch netbsd-2 on 2005-09-15 14:28:44 +0000
 1.1.2.2 14-Sep-2005  tron Apply patch (requested by shige in ticket #763):
Synchronize OpenBlockS266 port with NetBSD-current for enhanced stability.
 1.1.2.1 04-Sep-2005  tron file rbus_machdep.h was added on branch netbsd-3 on 2005-09-14 20:53:59 +0000
 1.2.18.2 21-Jun-2006  yamt sync with head.
 1.2.18.1 11-Dec-2005  yamt file rbus_machdep.h was added on branch yamt-lazymbuf on 2006-06-21 14:51:08 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file reg.h was added on branch nathanw_sa on 2002-12-11 06:29:20 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file reloc.h was added on branch nathanw_sa on 2002-12-11 06:29:21 +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 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file rnd.h was added on branch nathanw_sa on 2002-12-11 06:29:21 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file rtc.h was added on branch nathanw_sa on 2002-12-11 06:29:22 +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:06:23 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file setjmp.h was added on branch nathanw_sa on 2002-12-11 06:29:22 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file signal.h was added on branch nathanw_sa on 2002-12-11 06:29:23 +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:02:59 +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:53:57 +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:45 +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:07 +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 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file stdarg.h was added on branch nathanw_sa on 2002-12-11 06:29:23 +0000
 1.2 30-Mar-2021  rin G/C misleading <evbppc/tlb.h>. Use <powerpc/ibm4xx/tlb.h> directly.
 1.1 09-Dec-2002  scw branches: 1.1.2; 1.1.212; 1.1.214;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.214.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.212.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file tlb.h was added on branch nathanw_sa on 2002-12-11 06:29:24 +0000
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file trap.h was added on branch nathanw_sa on 2002-12-11 06:29:24 +0000
 1.11 26-Jan-2017  christos provide __HAVE_COMPAT_NETBSD32 and fix multiple include protection consistently.
 1.10 17-Jul-2011  dyoung branches: 1.10.12; 1.10.30; 1.10.34; 1.10.38;
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.9 20-Jan-2008  joerg Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants,
remove the conditionals and the code associated with the undef case.
 1.8 17-Oct-2007  garbled branches: 1.8.2; 1.8.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.7 14-Jul-2007  ad branches: 1.7.10;
Generic soft interrupts are mandatory.
 1.6 18-Sep-2006  gdamore branches: 1.6.8; 1.6.16;
Conversion of evbppc to generic TODR. ok freza@
 1.5 03-Sep-2006  bjh21 branches: 1.5.2; 1.5.4;
Nothing in the kernel now tests __HAVE_NWSCONS, so stop defining it everywhere.
 1.4 30-Jun-2006  freza Bring ibm4xx interrupt code up to date:

- generic soft interrupts (ie. use powerpc/softintr.c)
- interrupt event counters (using the ones from powerpc/cpu.h:cpu_info
where appropriate)
- cleanup ibm4xx_intr.h, move implementation details to intr.c

Convert all affected evbppc platforms.

OK by simonb@, some points discussed with matt@
 1.3 11-Dec-2005  christos branches: 1.3.4; 1.3.8; 1.3.16;
merge ktrace-lwp.
 1.2 04-Jul-2003  thorpej branches: 1.2.16;
Add device_register().
 1.1 09-Dec-2002  scw branches: 1.1.2; 1.1.8;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.8.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.8.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.8.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file types.h was added on branch nathanw_sa on 2002-12-11 06:29:24 +0000
 1.2.16.3 21-Jan-2008  yamt sync with head
 1.2.16.2 03-Sep-2007  yamt sync with head.
 1.2.16.1 30-Dec-2006  yamt sync with head.
 1.3.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.3.8.2 14-Sep-2006  yamt sync with head.
 1.3.8.1 11-Aug-2006  yamt sync with head
 1.3.4.1 09-Sep-2006  rpaulo sync with head
 1.5.4.1 22-Oct-2006  yamt sync with head
 1.5.2.1 18-Nov-2006  ad Sync with head.
 1.6.16.1 03-Oct-2007  garbled Sync with HEAD
 1.6.8.1 15-Jul-2007  ad Sync with head.
 1.7.10.2 23-Mar-2008  matt sync with HEAD
 1.7.10.1 06-Nov-2007  matt sync with HEAD
 1.8.8.1 23-Jan-2008  bouyer Sync with HEAD.
 1.8.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.10.38.1 21-Apr-2017  bouyer Sync with HEAD
 1.10.34.1 20-Mar-2017  pgoyette Sync with HEAD
 1.10.30.1 05-Feb-2017  skrll Sync with HEAD
 1.10.12.1 03-Dec-2017  jdolecek update from HEAD
 1.2 17-Jul-2011  joerg Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file varargs.h was added on branch nathanw_sa on 2002-12-11 06:29:25 +0000
 1.5 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.4 18-Jan-2011  matt branches: 1.4.4;
Add support for various MPC85xx platforms. The MPC8536DS and MPC8548CDS
development systems and the RB800 (routerboard 800) platform. The CF on
the RB800 doesn't work yet.
 1.3 03-Feb-2003  matt branches: 1.3.130; 1.3.134; 1.3.136;
Move ibm4xx vmparam.h to powerpc/include/ibm4xx directory. Add a stub
vmparam.h to choose the right vmparam. This is needed so evbppc can host
both ibm4xx and oea based eval boards.
 1.2 10-Dec-2002  thorpej branches: 1.2.2;
Use __LDPGSZ (which must be == USRTEXT) as the text address for a.out
executables, and eliminate the USRTEXT constant, which was only used
by the a.out exec code.
 1.1 09-Dec-2002  scw New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.2.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.2.2.1 10-Dec-2002  thorpej file vmparam.h was added on branch nathanw_sa on 2002-12-11 06:29:25 +0000
 1.3.136.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.134.1 07-Jan-2011  matt Add mpc85xx support for MPC8536DS (Freescale Development System),
MPC8548CDS (Freescale Development System), and RB800 (RouterBoard 800).
 1.3.130.1 05-Mar-2011  rmind sync with head
 1.4.4.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.2 08-Mar-2006  lukem Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings.
Add a space between numbers and Hz unit.
 1.1 09-Dec-2002  scw branches: 1.1.2; 1.1.24; 1.1.38; 1.1.40; 1.1.42; 1.1.44;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.44.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.42.1 13-Mar-2006  yamt sync with head.
 1.1.40.1 22-Apr-2006  simonb Sync with head.
 1.1.38.1 09-Sep-2006  rpaulo sync with head
 1.1.24.1 21-Jun-2006  yamt sync with head.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file walnut.h was added on branch nathanw_sa on 2002-12-11 06:29:26 +0000
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 08-May-2004  kleink branches: 1.1.2;
Factor out W{CHAR,INT}_{MAX,MIN} into their own header file.
 1.1.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.2 03-Aug-2004  skrll Sync with HEAD
 1.1.2.1 08-May-2004  skrll file wchar_limits.h was added on branch ktrace-lwp on 2004-08-03 10:34:16 +0000
 1.11 25-Oct-2025  jmcneill wii: Use GX to accelerate RGB to YUY2 conversion.

Allocate a 640x480x32 RGB buffer in memory, and when not in EMUL mode,
use the CPU to copy from the RGB buffer to EFB (taking advantage of the
pixel engine to do RGB -> YUY2 for us) and then use the GX to copy from
EFB to XFB.

Not only does this improve performance significantly in X, it also results
in better colour reproduction. The previous software method employed by
xf86-video-wsfb had some corner cases where eg. dark colours would display
as bright pink.
 1.10 12-Feb-2025  jmcneill branches: 1.10.2;
wii: Add more register definitions.
 1.9 13-Oct-2024  jmcneill wii: Support loading the kernel from boot2

Improve hardware initialization steps so the NetBSD kernel can be launched
directly from boot2 and does not rely on any other PPC software to setup
the hardware.
 1.8 22-Sep-2024  jmcneill wii: Restrict IOP access to shared peripherals.

Ensure that the IOP cannot access peripherals by clearing the appropriate
bus access bit. I have observed OHCI reporting completion for TDs living
in ARM reserved memory at runtime, this seems to suppress that.
 1.7 25-Jan-2024  jmcneill branches: 1.7.2; 1.7.4;
wii: Add External interface bus and RTC support
 1.6 24-Jan-2024  jmcneill wii: Add support for passing boot options to the kernel.
 1.5 23-Jan-2024  jmcneill wii: Add GPIO, I2C, and basic A/V encoder driver.
 1.4 23-Jan-2024  jmcneill wii: Use screen dimming register for screen blanking.
 1.3 22-Jan-2024  jmcneill wii: Add drivers for Broadway DSP and Audio interface.

0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
 1.2 21-Jan-2024  jmcneill wii: support RB_POWERDOWN
 1.1 20-Jan-2024  jmcneill evbppc: Add initial support for the Nintendo Wii
 1.7.4.1 02-Aug-2025  perseant Sync with HEAD
 1.7.2.6 26-Oct-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #1187):

sys/arch/evbppc/wii/dev/wiifb.c: revision 1.8
sys/arch/evbppc/wii/dev/gxreg.h: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.11
sys/arch/evbppc/wii/machdep.c: revision 1.11
sys/arch/evbppc/wii/dev/viio.h: file removal

wii: Use GX to accelerate RGB to YUY2 conversion.

Allocate a 640x480x32 RGB buffer in memory, and when not in EMUL mode,
use the CPU to copy from the RGB buffer to EFB (taking advantage of the
pixel engine to do RGB -> YUY2 for us) and then use the GX to copy from
EFB to XFB.

Not only does this improve performance significantly in X, it also results
in better colour reproduction. The previous software method employed by
xf86-video-wsfb had some corner cases where eg. dark colours would display
as bright pink.
 1.7.2.5 22-Feb-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #1052):

sys/kern/subr_disk_mbr.c: revision 1.59
sys/arch/evbppc/include/wii.h: revision 1.10
sys/arch/evbppc/wii/machdep.c: revision 1.9
sys/arch/evbppc/conf/files.wii: revision 1.5
sys/arch/evbppc/wii/dev/di.c: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.8

Handle reading larger sectors (including 2k CD-ROM blocks).

Fall back to scan for ISO9660 sessions when MMC code fails.
disklabel now reports ISO/UDF partitions again for cd(4).

wii: Add more register definitions.

wii: Add support for Wii DVD drive.
This adds a virtual SCSI HBA driver that is able to read DVD video discs
inserted in the Wii.

wii: Early init for DVD support
 1.7.2.4 14-Oct-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #974):

sys/arch/evbppc/wii/dev/wiifb.c: revision 1.7
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.4
sys/arch/evbppc/wii/machdep.c: revision 1.7
sys/arch/evbppc/wii/wii_locore.S: revision 1.3
sys/arch/evbppc/wii/dev/avenc.c: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.9
sys/arch/evbppc/wii/dev/vireg.h: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.3

wii: Support loading the kernel from boot2

Improve hardware initialization steps so the NetBSD kernel can be launched
directly from boot2 and does not rely on any other PPC software to setup
the hardware.
 1.7.2.3 02-Oct-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #910):

sys/arch/evbppc/wii/dev/hollywood.h: revision 1.3
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.3
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.3
sys/dev/usb/ohcireg.h: revision 1.29
sys/arch/evbppc/include/wii.h: revision 1.8
sys/arch/evbppc/conf/WII: revision 1.6
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.3
sys/dev/usb/ohcivar.h: revision 1.63
sys/dev/usb/ohci.c: revision 1.329

wii: Restrict IOP access to shared peripherals.

Ensure that the IOP cannot access peripherals by clearing the appropriate
bus access bit. I have observed OHCI reporting completion for TDs living
in ARM reserved memory at runtime, this seems to suppress that.

ohci: Allocate a whole cacheline for all descriptors

Allocate a whole cacheline for all descriptor types such that:
i) they can be alloc'ed without USBMALLOC_COHERENT which can mean they're
now mapped cacheable, and
ii) the "soft" versions are cacheable, and mapped as small as possible.

Patch/idea mainly from Nick (skrll@) with a few fixes from me.

wii: Enable ohci(4) driver.
This seems to be stable now, let's enable support for plugging in LS/FS
devices directly into the system without a hub.
 1.7.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.7.2.1 25-Jan-2024  martin file wii.h was added on branch netbsd-10 on 2024-02-03 11:47:08 +0000
 1.10.2.1 26-Oct-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #74):

sys/arch/evbppc/wii/dev/wiifb.c: revision 1.8
sys/arch/evbppc/wii/dev/gxreg.h: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.11
sys/arch/evbppc/wii/machdep.c: revision 1.11
sys/arch/evbppc/wii/dev/viio.h: file removal

wii: Use GX to accelerate RGB to YUY2 conversion.

Allocate a 640x480x32 RGB buffer in memory, and when not in EMUL mode,
use the CPU to copy from the RGB buffer to EFB (taking advantage of the
pixel engine to do RGB -> YUY2 for us) and then use the GX to copy from
EFB to XFB.

Not only does this improve performance significantly in X, it also results
in better colour reproduction. The previous software method employed by
xf86-video-wsfb had some corner cases where eg. dark colours would display
as bright pink.
 1.11 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.10 24-Apr-2021  thorpej branches: 1.10.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.9 18-Mar-2014  riastradh branches: 1.9.44;
Merge riastradh-drm2 to HEAD.
 1.8 17-Jul-2013  matt Wait it actually wait.
 1.7 29-Jul-2012  matt branches: 1.7.2; 1.7.4; 1.7.10;
Add command line processing from uboot
bootm $loadaddr [opts] [device]
where opts is -[advqs] and device is the boot device.
cpu_rootconf will now wait a bit for devices to appear until the boot device
appears.
 1.6 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.5 24-Jun-2011  matt branches: 1.5.2; 1.5.8;
Use intr_init since we have it.
 1.4 18-Jun-2011  matt Whitespace cleanup
 1.3 17-Feb-2011  matt branches: 1.3.2; 1.3.4;
Support a little bus_space for mapping the GUR registers since some
devices use little endian registers. Add MPC8533 support.
 1.2 18-Jan-2011  matt branches: 1.2.2;
Add support for various MPC85xx platforms. The MPC8536DS and MPC8548CDS
development systems and the RB800 (routerboard 800) platform. The CF on
the RB800 doesn't work yet.
 1.1 07-Jan-2011  matt branches: 1.1.2; 1.1.4;
file autoconf.c was initially added on branch matt-nb5-pq3.
 1.1.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.2.2 02-Aug-2011  matt Pull in changes from -current to get ehci at cpunode working.
 1.1.2.1 07-Jan-2011  matt Add mpc85xx support for MPC8536DS (Freescale Development System),
MPC8548CDS (Freescale Development System), and RB800 (RouterBoard 800).
 1.2.2.1 05-Mar-2011  bouyer Sync with HEAD
 1.3.4.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.3.2.2 05-Mar-2011  rmind sync with head
 1.3.2.1 17-Feb-2011  rmind file autoconf.c was added on branch rmind-uvmplock on 2011-03-05 20:50:16 +0000
 1.5.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.5.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.5.2.1 30-Oct-2012  yamt sync with head
 1.7.10.1 23-Jul-2013  riastradh sync with HEAD
 1.7.4.1 28-Aug-2013  rmind sync with head
 1.7.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.44.2 22-Mar-2021  thorpej Audit CFARG_IATTR in config_found() calls, and remove it in situations
where the interface attribute is not ambiguous.
 1.9.44.1 22-Mar-2021  thorpej Mechanical conversion of config_found_sm_loc() -> config_found().
CFARG_IATTR usage needs to be audited.
 1.10.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.3 05-Jul-2024  andvar fix various typos in comments and log messages, mainly s/hight/high/
s/hight/height/ and removing double m in time(ing).
 1.2 18-Jan-2011  matt branches: 1.2.4; 1.2.96;
Add support for various MPC85xx platforms. The MPC8536DS and MPC8548CDS
development systems and the RB800 (routerboard 800) platform. The CF on
the RB800 doesn't work yet.
 1.1 07-Jan-2011  matt branches: 1.1.2; 1.1.4;
file cadmusreg.h was initially added on branch matt-nb5-pq3.
 1.1.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.2.1 07-Jan-2011  matt Add mpc85xx support for MPC8536DS (Freescale Development System),
MPC8548CDS (Freescale Development System), and RB800 (RouterBoard 800).
 1.2.96.1 02-Aug-2025  perseant Sync with HEAD
 1.2.4.2 05-Mar-2011  rmind sync with head
 1.2.4.1 18-Jan-2011  rmind file cadmusreg.h was added on branch rmind-uvmplock on 2011-03-05 20:50:16 +0000
 1.2 18-Jan-2011  matt branches: 1.2.4;
Add support for various MPC85xx platforms. The MPC8536DS and MPC8548CDS
development systems and the RB800 (routerboard 800) platform. The CF on
the RB800 doesn't work yet.
 1.1 07-Jan-2011  matt branches: 1.1.2; 1.1.4;
file ds1553rtc.c was initially added on branch matt-nb5-pq3.
 1.1.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.2.1 07-Jan-2011  matt Add mpc85xx support for MPC8536DS (Freescale Development System),
MPC8548CDS (Freescale Development System), and RB800 (RouterBoard 800).
 1.2.4.2 05-Mar-2011  rmind sync with head
 1.2.4.1 18-Jan-2011  rmind file ds1553rtc.c was added on branch rmind-uvmplock on 2011-03-05 20:50:16 +0000
 1.49 22-Jul-2022  thorpej Split the i2c controller into 2 separate instances. This aligns with
how the device is represented when using DeviceTree, and also allows us
to de-weirdify the shared motoi2c code.

XXX Because e500 interrupt code doesn't support shared interrupts, we
no longer establish one for the i2c controller, but this isn't a great
loss as motoi2c doesn't support using interrupts right now anyway.
 1.48 22-Jul-2022  thorpej Stop using deprecated problib functions.
 1.47 22-Jul-2022  thorpej Revert previous; that was intended to be two separate commits.
 1.46 22-Jul-2022  thorpej Stop using deprecated proplib functions.
 1.45 03-Mar-2022  riastradh powerpc: Use device_set_private for e500 cpuN.
 1.44 11-Apr-2019  kamil Fix incorrect CVS Id
 1.43 27-Jan-2018  flxd branches: 1.43.4;
Fix more printf format strings for mfspr() (hi mrg).
 1.42 22-Dec-2016  cherry switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.41 30-Jan-2015  nonaka branches: 1.41.2;
Added RouterBOARD RB850Gx2 config. md root only.
 1.40 23-Jan-2015  nonaka ddb MP support
 1.39 06-Jan-2015  nonaka No need to call e500_tlb1_sync() at e500_cpu_hatch(). It has already
been called at e500_spinup_trampoline().
Pointed by mrg@.
 1.38 05-Jan-2015  nonaka Initialize TLB for non cpu0.
 1.37 27-Dec-2014  nonaka Preliminary support for P1023.
 1.36 19-Dec-2014  nonaka do page recolor.
 1.35 19-Dec-2014  nonaka Do probe cpu cache on !cpu0.
Avoid "panic: kernel diagnostic assertion "line_size > 0" failed: file "/usr/src/sys/arch/powerpc/booke/booke_cache.c", line 90".
 1.34 19-Dec-2014  nonaka Increase timeout for the hatching to complete.

> cpu1: hatch successful (24321 spins, timebase adjusted by -940718014)
 1.33 04-Aug-2014  joerg branches: 1.33.4;
mpc85xx_extirq_names is not used for the MPC8548 branch.
 1.32 24-Jul-2014  joerg Use volatile when writing to NULL.
 1.31 18-Mar-2014  riastradh branches: 1.31.2;
Merge riastradh-drm2 to HEAD.
 1.30 17-Jul-2013  matt kcpuset_t changes
 1.29 29-Jul-2012  matt branches: 1.29.2; 1.29.4; 1.29.10;
Add command line processing from uboot
bootm $loadaddr [opts] [device]
where opts is -[advqs] and device is the boot device.
cpu_rootconf will now wait a bit for devices to appear until the boot device
appears.
 1.28 22-Jul-2012  matt Split mdio/mii access into its own "device" and update accordingly.
(on the P1025 the mdio functionality is separate from the etsec functions).
Provide locking for mii access.
 1.27 18-Jul-2012  matt Add P1025 support to the PCI truth tables.
P1025 only has two PCIe ports, not 3.
 1.26 17-Jul-2012  matt The ETSEC on the P1025 has been moved/split so the MDIO stayed in the same
place but each ETSEC has been split into two virtual halves (G0 and G1) and
each one has a new different base address.
For some reason, tsec1 connects to phy 2 and tsec2 connects to phy 1.
Adjust config file to match
 1.25 15-Jul-2012  matt Add support for the Freescale TWR-P1025 evaluation board and the P1025/P1016
QorIQ processors. XXX tsec isn't working yet on the TWR-P1025.
 1.24 07-Jul-2012  skrll Whitespace.
 1.23 29-Mar-2012  matt Add support for PMAP_MINIMALTLB.
 1.22 27-Jan-2012  para branches: 1.22.2;
converting extent(9) from malloc(9) to kmem(9)
preceding kmem-vmem-pool-uvm patch

releng@ acknowledged
 1.21 02-Aug-2011  matt branches: 1.21.2; 1.21.6;
Fix tpyo.
 1.20 25-Jul-2011  matt Add support for MEMSIZE to limit the amount of memory detected.
 1.19 20-Jul-2011  matt Suppress a GCC 4.5 warning.
 1.18 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.17 16-Jul-2011  matt Fix off-by-one.
 1.16 01-Jul-2011  matt Fix some array bounds errors found by gcc 4.5
 1.15 30-Jun-2011  matt Modify mapiodev to take a third argument indicating whether the space
should be prefetchable (true) or not (false).
 1.14 29-Jun-2011  matt Some initial MULTIPROCESSOR spin code. Doesn't work yet.
 1.13 25-Jun-2011  matt Make powerpc work on BookE. At this time we only support DOZE (lightest
form of power-saving). By default, power-saving is disabled but can be
enabled in /etc/sysctl.conf by setting machdep.powersave=1
 1.12 23-Jun-2011  matt Switch to using the common <common/pmap/tlb/tlb.h>
 1.11 15-Jun-2011  matt Move booke_fixup_stubs() to fixup.c and rename it to cpu_fixup_stubs().
This makes it easier for other PPC variants to use it.
 1.10 14-Jun-2011  matt print out the first 4 arguments to the kernel from the bootloader.
Add a definition of the uboot bootinfo structure.
 1.9 12-Jun-2011  mrg move module_machine_booke into the booke machdep.
 1.8 12-Jun-2011  mrg for booke and ibm4xx evbppc systems, set module_machine to to either
"powerpc-ibm4xx" or "powerpc-booke".
 1.7 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.6 28-May-2011  matt branches: 1.6.2;
allow configuring multiple CPUs (still needs work).
Detect boot page on MP e500 CPUs (P2020, MPC8572, etc) and prevent use of
that page in NetBSD. This page is used to communicate with u-boot to spin
up secondary CPUs.
Probe LBC before PCI so that LBC attached devices can be configured before
probing the PCI. This gives a chance to download/setup PCI Express switches
before probing/configuring PCI.
Fix PIXIS speed entry bug/typo.
Rework SYS_CLK logic so that the SYS_CLK config option has the highest priority.
 1.5 17-Feb-2011  matt branches: 1.5.2;
Support a little bus_space for mapping the GUR registers since some
devices use little endian registers. Add MPC8533 support.
 1.4 13-Feb-2011  matt Fix some typos.
 1.3 08-Feb-2011  matt Add MPC85xx variants.
Move to having a common kernel for all MPC85xx variants (CADMUS/PIXIS still
remain a problem).
 1.2 18-Jan-2011  matt branches: 1.2.2;
Add support for various MPC85xx platforms. The MPC8536DS and MPC8548CDS
development systems and the RB800 (routerboard 800) platform. The CF on
the RB800 doesn't work yet.
 1.1 07-Jan-2011  matt branches: 1.1.2; 1.1.4;
file machdep.c was initially added on branch matt-nb5-pq3.
 1.1.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.2.5 14-Oct-2011  matt Sync with current pulling P2020 and other newer processor support.
 1.1.2.4 02-Aug-2011  matt Pull in changes from -current to get ehci at cpunode working.
 1.1.2.3 26-Jul-2011  matt Fix typo.
 1.1.2.2 17-Jan-2011  matt Enable SPE for RB800.
Add SPE tidbits for mpc85xx.
 1.1.2.1 07-Jan-2011  matt Add mpc85xx support for MPC8536DS (Freescale Development System),
MPC8548CDS (Freescale Development System), and RB800 (RouterBoard 800).
 1.2.2.3 05-Mar-2011  bouyer Sync with HEAD
 1.2.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.2.2.1 08-Feb-2011  bouyer Sync with HEAD
 1.5.2.4 12-Jun-2011  rmind sync with head
 1.5.2.3 31-May-2011  rmind sync with head
 1.5.2.2 05-Mar-2011  rmind sync with head
 1.5.2.1 17-Feb-2011  rmind file machdep.c was added on branch rmind-uvmplock on 2011-03-05 20:50:16 +0000
 1.6.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.21.6.2 05-Apr-2012  mrg sync to latest -current.
 1.21.6.1 18-Feb-2012  mrg merge to -current.
 1.21.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.21.2.2 30-Oct-2012  yamt sync with head
 1.21.2.1 17-Apr-2012  yamt sync with head
 1.22.2.1 09-May-2012  riz Pull up following revision(s) (requested by matt in ticket #241):
sys/arch/powerpc/conf/kern-mb.ldscript: revision 1.1
sys/arch/powerpc/include/booke/pmap.h: revision 1.9
sys/arch/powerpc/booke/e500_tlb.c: revision 1.8
sys/arch/powerpc/conf/files.powerpc: revision 1.83
sys/arch/powerpc/booke/booke_pmap.c: revision 1.13
sys/arch/powerpc/include/booke/e500var.h: revision 1.5
sys/arch/evbppc/mpc85xx/machdep.c: revision 1.23
Add ldscript which aligns .data to a 1MB boundary. (used for testing)
Add PMAP_MINIMALTLB defflag
Add vsize_t to pmap_md_{un,}map_poolpage.
Add pmap_kvptefill prototype.
Slightly change pmap_bootstrap prototype.
Add e500_tlb_minimize prototype.
Add support PMAP_MINIMALTLB option. This changes the default use of TLB1
entries to map all of physical memory to using two TLB1 entries, one for
mapping text and one for data. The rest of memory is mapped using the
page table which is updated as needed. This is used to trap memory
corruption issues.
Add support for PMAP_MINIMALTLB.
 1.29.10.1 23-Jul-2013  riastradh sync with HEAD
 1.29.4.1 28-Aug-2013  rmind sync with head
 1.29.2.2 03-Dec-2017  jdolecek update from HEAD
 1.29.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.31.2.1 10-Aug-2014  tls Rebase.
 1.33.4.2 05-Feb-2017  skrll Sync with HEAD
 1.33.4.1 06-Apr-2015  skrll Sync with HEAD
 1.41.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.43.4.1 10-Jun-2019  christos Sync with HEAD
 1.10 15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.9 10-Aug-2014  joerg branches: 1.9.26; 1.9.28;
Drop .machine, Makefile.mpc85xx provides -me500 already.
 1.8 30-Jul-2014  joerg Correct last, ha+l uses lis+addi, so use h+l.
 1.7 30-Jul-2014  joerg Build 32bit constant with lis+ori, not lis+addi. The instructions
differ on the sign extension handling of the immediate.
 1.6 29-Jul-2012  matt branches: 1.6.2; 1.6.12;
Make sure r8 isn't used.
Document args passed by uboot
 1.5 18-Jun-2011  matt branches: 1.5.2;
Use FRAME_Rn (like ibm4xx and oea) instead of FRAME_n.
Include psl.h to get PSL_* values instead of getting them from assym.h
 1.4 08-Jun-2011  matt Cleanup register use so that r5-r8 are preserved. Take advantage of
changes to INIT_CPUINFO (it now saves curcpu to L_CPU(%r13)).
 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 18-Jan-2011  matt branches: 1.2.4; 1.2.6;
Add support for various MPC85xx platforms. The MPC8536DS and MPC8548CDS
development systems and the RB800 (routerboard 800) platform. The CF on
the RB800 doesn't work yet.
 1.1 07-Jan-2011  matt branches: 1.1.2; 1.1.4;
file mpc85xx_start.S was initially added on branch matt-nb5-pq3.
 1.1.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.2.3 14-Oct-2011  matt Sync with current pulling P2020 and other newer processor support.
 1.1.2.2 17-Jan-2011  matt Enable SPE for RB800.
Add SPE tidbits for mpc85xx.
 1.1.2.1 07-Jan-2011  matt Add mpc85xx support for MPC8536DS (Freescale Development System),
MPC8548CDS (Freescale Development System), and RB800 (RouterBoard 800).
 1.2.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.2.4.3 12-Jun-2011  rmind sync with head
 1.2.4.2 05-Mar-2011  rmind sync with head
 1.2.4.1 18-Jan-2011  rmind file mpc85xx_start.S was added on branch rmind-uvmplock on 2011-03-05 20:50:16 +0000
 1.5.2.1 30-Oct-2012  yamt sync with head
 1.6.12.1 10-Aug-2014  tls Rebase.
 1.6.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.28.1 10-Jun-2019  christos Sync with HEAD
 1.9.26.1 28-Jul-2018  pgoyette Sync with HEAD
 1.2 18-Jan-2011  matt branches: 1.2.4;
Add support for various MPC85xx platforms. The MPC8536DS and MPC8548CDS
development systems and the RB800 (routerboard 800) platform. The CF on
the RB800 doesn't work yet.
 1.1 07-Jan-2011  matt branches: 1.1.2; 1.1.4;
file pixisreg.h was initially added on branch matt-nb5-pq3.
 1.1.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.2.1 07-Jan-2011  matt Add mpc85xx support for MPC8536DS (Freescale Development System),
MPC8548CDS (Freescale Development System), and RB800 (RouterBoard 800).
 1.2.4.2 05-Mar-2011  rmind sync with head
 1.2.4.1 18-Jan-2011  rmind file pixisreg.h was added on branch rmind-uvmplock on 2011-03-05 20:50:16 +0000
 1.8 12-Feb-2022  riastradh evbppc/wdc(4) at obio: Stop fabricating bogus struct device.

Nothing uses this.
 1.7 09-Sep-2019  jdolecek adjust several missed drivers for wdcprobe() changes of ATA NCQ branch

for dreamcast g1 just drop the custom reset function, it doesn't seem to do
anything useful over the generic variant

PR kern/54538 by Izumi Tsutsui
 1.6 20-Oct-2017  jdolecek branches: 1.6.4; 1.6.8;
move ata_queue_alloc(1) and ata_queue_free() calls to ata_channel_init()
and ata_channel_destroy() respectively, to make attachment code simpler,
and to make it easier to spot special queue manipulation like cmdide(4)

on topic of PR kern/52606
 1.5 07-Oct-2017  jdolecek adapt the rest of wdc attachments for NCQ branch merge
 1.4 31-Jul-2012  bouyer branches: 1.4.2;
Apply back changes that were reverted on Jul 24 and Jul 26 (general ata/wdc
cleanup and SATA PMP support), now that I'm back to fix the fallouts.
 1.3 26-Jul-2012  jakllsch Revert, with intention of restoring in a less invasive way, the SATA Port
Multiplier code.

ok christos@
 1.2 02-Jul-2012  bouyer Add sata Port MultiPlier (PMP) support to the ata bus layer,
as described in
http://mail-index.netbsd.org/tech-kern/2012/06/23/msg013442.html
PMP support in integrated to the atabus layer.
struct ata_channel's ch_drive[] is not dynamically allocated, and ch_ndrive
(renamed to ch_ndrives) closely reflects the size of the ch_drive[] array.
Add helper functions atabus_alloc_drives() and atabus_free_drives()
to manage ch_drive[]/ch_ndrives.
Add wdc_maxdrives to struct wdc_softc so that bus front-end can specify
how much drive they really support (master/slave or single).
ata_reset_drive() callback gains a uint32_t *sigp argument which,
when not NULL, will contain the signature of the device being reset.
While there, some cosmetic changes:
- added a drive_type enum to ata_drive_datas, and stop encoding the
probed drive type in drive_flags (we were out of drive flags anyway).
- rename DRIVE_ATAPIST to DRIVE_ATAPIDSCW to better reflect what this
really is
- remove ata_channel->ata_drives, it's redundant with the pointer in
ata_drive_datas
- factor out the interpretation of SATA signatures in sata_interpet_sig()

propagate these changes to the ATA HBA drivers, and add support for PMP
to ahcisata(4) and siisata(4).

Thanks to:
- Protocase (http://www.protocase.com/) which provided a system
with lots of controllers, SATA PMP and drive slots
- Conservation Genomics Laboratory, Department of Biology, New Mexico State
University for hosting the above system
- Brook Milligan, who set up remote access and has been very responsive
when SATA cable move was needed
 1.1 18-Jan-2011  matt branches: 1.1.4; 1.1.8; 1.1.10;
Add support for various MPC85xx platforms. The MPC8536DS and MPC8548CDS
development systems and the RB800 (routerboard 800) platform. The CF on
the RB800 doesn't work yet.
 1.1.10.1 30-Oct-2012  yamt sync with head
 1.1.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.8.1 18-Jan-2011  jruoho file wdc_obio.c was added on branch jruoho-x86intr on 2011-06-06 09:05:32 +0000
 1.1.4.2 05-Mar-2011  rmind sync with head
 1.1.4.1 18-Jan-2011  rmind file wdc_obio.c was added on branch rmind-uvmplock on 2011-03-05 20:50:16 +0000
 1.4.2.1 03-Dec-2017  jdolecek update from HEAD
 1.6.8.1 23-Sep-2019  martin Pull up following revision(s) (requested by tsutsui in ticket #232):

sys/arch/evbppc/mpc85xx/wdc_obio.c: revision 1.7
sys/arch/dreamcast/dev/g1/wdc_g1.c: revision 1.4
sys/arch/dreamcast/dev/g1/wdc_g1.c: revision 1.5
sys/arch/mmeye/dev/wdc_mainbus.c: revision 1.7
sys/dev/ic/wdcvar.h: revision 1.99
sys/dev/ic/wdc.c: revision 1.292
sys/arch/mips/adm5120/dev/wdc_extio.c: revision 1.11

adjust several missed drivers for wdcprobe() changes of ATA NCQ branch
for dreamcast g1 just drop the custom reset function, it doesn't seem to do
anything useful over the generic variant

PR kern/54538 by Izumi Tsutsui

Restore interface to pass a MD reset function to MI wdcprobe().

Fixes silent hang on G1IDE on Dreamcast. PR kern/54538
Should be pulled up to netbsd-9 with the previous changes.
 1.6.4.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.6 18-Mar-2010  kiyohara Support Plathome's OpenBlockS600.
 1.5 11-Dec-2005  christos branches: 1.5.78; 1.5.92; 1.5.98; 1.5.100;
merge ktrace-lwp.
 1.4 18-Mar-2005  shige Rearrange codes for OpenBlockS266 machine.
 1.3 21-Jan-2005  shige branches: 1.3.2; 1.3.6;
Add consinit() and md_consinit funcptr to ibm4xx/machdep.c.
Rename consinit() to obs405_consinit() at evbppc/obs405/consinit.c.

Set md_consinit to obs405_consinit() at initppc().
Consinit fuction calls a function stored at md_consinit pointer.
 1.2 13-Jan-2005  shige branches: 1.2.2;
Call com_opb_cnattach function.
 1.1 23-Sep-2003  shige branches: 1.1.4; 1.1.8;
Add new evbppc port.
This port is for OpenBlockS266.
OpenBlockS266: IBM405GPr OpenBIOS.
X1226 is a rtc chip connected with IIC bus.
 1.1.8.1 15-Sep-2005  riz Pull up following revision(s) (requested by shige in ticket #5820):
distrib/evbppc/md-kernel/Makefile 1.3 via patch
etc/etc.evbppc/Makefile.inc 1.3 via patch
sys/arch/evbppc/conf/files.obs405 1.5-1.8 via patch
sys/arch/evbppc/conf/OPENBLOCKS266 1.22,1.25 via patch
sys/arch/evbppc/include/obs266.h 1.1 (new)
sys/arch/evbppc/include/obs405.h 1.1-1.5 (new)
sys/arch/evbppc/include/rbus_machdep.h 1.1 (new)
sys/arch/evbppc/obs405/consinit.c 1.2-1.4
sys/arch/evbppc/obs405/dev/x1226.c deleted
sys/arch/evbppc/obs405/dev/x1226reg.h deleted
sys/arch/evbppc/obs405/machdep.c deleted
sys/arch/evbppc/obs405/obs266_autoconf.c 1.1 (new)
sys/arch/evbppc/obs405/obs266_machdep.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_autoconf.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_machdep.c 1.1 (new)
sys/arch/evbppc/obs405/rbus_machdep.c 1.1 (new)
sys/arch/powerpc/conf/files.ibm4xx 1.6-1.7
sys/arch/powerpc/ibm4xx/board_prop.c 1.1 (new)
sys/arch/powerpc/ibm4xx/dev/com_opb.c 1.12
sys/arch/powerpc/ibm4xx/dev/comopbvar.h 1.1 (new)
sys/arch/powerpc/ibm4xx/ibm40x_machdep.c 1.3-1.4
sys/arch/powerpc/ibm4xx/ibm4xx_autoconf.c 1.1-1.2 (new)
sys/arch/powerpc/ibm4xx/ibm4xx_machdep.c 1.1-1.3 (new)
sys/arch/powerpc/ibm4xx/ibm4xxgpx_autoconf.c 1.2-1.3
sys/arch/powerpc/ibm4xx/openbios/openbios.c 1.1 (new)
sys/arch/powerpc/include/ibm4xx/cpu.h 1.7-1.10
sys/arch/powerpc/include/ibm4xx/openbios.h 1.1 (new)

Update OpenBlockS266 support to more modern, stable sources.
 1.1.4.7 01-Apr-2005  skrll Sync with HEAD.
 1.1.4.6 24-Jan-2005  skrll Sync with HEAD.
 1.1.4.5 17-Jan-2005  skrll Sync with HEAD.
 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 23-Sep-2003  skrll file consinit.c was added on branch ktrace-lwp on 2004-08-03 10:34:16 +0000
 1.2.2.1 29-Apr-2005  kent sync with -current
 1.3.6.1 14-Sep-2005  tron Apply patch (requested by shige in ticket #763):
Synchronize OpenBlockS266 port with NetBSD-current for enhanced stability.
 1.3.2.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.5.100.1 30-May-2010  rmind sync with head
 1.5.98.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.5.92.1 24-Oct-2010  jym Sync with HEAD
 1.5.78.1 11-Aug-2010  yamt sync with head.
 1.4 18-Mar-2005  shige Rearrange codes for OpenBlockS266 machine.
 1.3 17-Jan-2005  shige branches: 1.3.2; 1.3.6;
Add openbios dependent code to obs405 machine-dependent modules.
 1.2 13-Jan-2005  shige branches: 1.2.2;
Set machine-dependent obs405_device_register function to md_device_register.
 1.1 23-Sep-2003  shige branches: 1.1.4; 1.1.8;
Add new evbppc port.
This port is for OpenBlockS266.
OpenBlockS266: IBM405GPr OpenBIOS.
X1226 is a rtc chip connected with IIC bus.
 1.1.8.1 15-Sep-2005  riz Pull up following revision(s) (requested by shige in ticket #5820):
distrib/evbppc/md-kernel/Makefile 1.3 via patch
etc/etc.evbppc/Makefile.inc 1.3 via patch
sys/arch/evbppc/conf/files.obs405 1.5-1.8 via patch
sys/arch/evbppc/conf/OPENBLOCKS266 1.22,1.25 via patch
sys/arch/evbppc/include/obs266.h 1.1 (new)
sys/arch/evbppc/include/obs405.h 1.1-1.5 (new)
sys/arch/evbppc/include/rbus_machdep.h 1.1 (new)
sys/arch/evbppc/obs405/consinit.c 1.2-1.4
sys/arch/evbppc/obs405/dev/x1226.c deleted
sys/arch/evbppc/obs405/dev/x1226reg.h deleted
sys/arch/evbppc/obs405/machdep.c deleted
sys/arch/evbppc/obs405/obs266_autoconf.c 1.1 (new)
sys/arch/evbppc/obs405/obs266_machdep.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_autoconf.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_machdep.c 1.1 (new)
sys/arch/evbppc/obs405/rbus_machdep.c 1.1 (new)
sys/arch/powerpc/conf/files.ibm4xx 1.6-1.7
sys/arch/powerpc/ibm4xx/board_prop.c 1.1 (new)
sys/arch/powerpc/ibm4xx/dev/com_opb.c 1.12
sys/arch/powerpc/ibm4xx/dev/comopbvar.h 1.1 (new)
sys/arch/powerpc/ibm4xx/ibm40x_machdep.c 1.3-1.4
sys/arch/powerpc/ibm4xx/ibm4xx_autoconf.c 1.1-1.2 (new)
sys/arch/powerpc/ibm4xx/ibm4xx_machdep.c 1.1-1.3 (new)
sys/arch/powerpc/ibm4xx/ibm4xxgpx_autoconf.c 1.2-1.3
sys/arch/powerpc/ibm4xx/openbios/openbios.c 1.1 (new)
sys/arch/powerpc/include/ibm4xx/cpu.h 1.7-1.10
sys/arch/powerpc/include/ibm4xx/openbios.h 1.1 (new)

Update OpenBlockS266 support to more modern, stable sources.
 1.1.4.7 01-Apr-2005  skrll Sync with HEAD.
 1.1.4.6 24-Jan-2005  skrll Sync with HEAD.
 1.1.4.5 17-Jan-2005  skrll Sync with HEAD.
 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 23-Sep-2003  skrll file machdep.c was added on branch ktrace-lwp on 2004-08-03 10:34:16 +0000
 1.2.2.1 29-Apr-2005  kent sync with -current
 1.3.6.1 14-Sep-2005  tron Apply patch (requested by shige in ticket #763):
Synchronize OpenBlockS266 port with NetBSD-current for enhanced stability.
 1.3.2.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.2 18-Mar-2005  shige Rearrange codes for OpenBlockS266 machine.
 1.1 13-Jan-2005  shige branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10;
Add machine-dependent device_register function.
 1.1.10.1 14-Sep-2005  tron Apply patch (requested by shige in ticket #763):
Synchronize OpenBlockS266 port with NetBSD-current for enhanced stability.
 1.1.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.4.3 01-Apr-2005  skrll Sync with HEAD.
 1.1.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.1 13-Jan-2005  skrll file md_autoconf.c was added on branch ktrace-lwp on 2005-01-17 19:29:23 +0000
 1.1.2.1 29-Apr-2005  kent sync with -current
 1.4 18-Mar-2005  shige Rearrange codes for OpenBlockS266 machine.
 1.3 24-Jan-2005  shige branches: 1.3.2; 1.3.6;
Add OpenBlockS266 GPIO LED Driver.
 1.2 21-Jan-2005  shige branches: 1.2.2;
Add consinit() and md_consinit funcptr to ibm4xx/machdep.c.
Rename consinit() to obs405_consinit() at evbppc/obs405/consinit.c.

Set md_consinit to obs405_consinit() at initppc().
Consinit fuction calls a function stored at md_consinit pointer.
 1.1 18-Jan-2005  shige - Copy evbppc/obs405/machdep.c to evbppc/obs405/md_machdep.c.
(prevent machdep.o from conflict)
- Rename function: cpu_startup -> obs405_cpu_startup.
- Set md-func-ptr: md_cpu_startup = obs405_cpu_startup.
 1.2.2.4 01-Apr-2005  skrll Sync with HEAD.
 1.2.2.3 04-Feb-2005  skrll Sync with HEAD.
 1.2.2.2 24-Jan-2005  skrll Sync with HEAD.
 1.2.2.1 21-Jan-2005  skrll file md_machdep.c was added on branch ktrace-lwp on 2005-01-24 08:34:12 +0000
 1.3.6.1 14-Sep-2005  tron Apply patch (requested by shige in ticket #763):
Synchronize OpenBlockS266 port with NetBSD-current for enhanced stability.
 1.3.2.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.10 30-Mar-2021  rin - Include tlb.h directly, instead of uvm_extern.h.
- Explicitly include param.h.
- Drop unused headers.
- Sort and group headers.

No binary changes.
 1.9 29-Mar-2021  rin Set com(4) frequency in ibm4xx_device_register() in order to dedup codes.
 1.8 02-Mar-2021  rin branches: 1.8.2;
Use genppc_cpu_configure() instead of calling spl0() directly
(and optionally printing out imask).
 1.7 12-Dec-2011  kiyohara branches: 1.7.60;
Fix hangs-up. Remove "wrteei 1" in board's cpu_configure(). Interrupt
is enabled in powerpc-layer.
 1.6 18-Jun-2011  matt branches: 1.6.2; 1.6.6;
split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.5 18-Mar-2010  kiyohara branches: 1.5.6;
Support PowerPC 405EX/EXr.
1. Add some new source and header files.
(MAL(split) and RGMII(new) relations for EMAC)
2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h.
3. intr.c supports MULTIUIC with virtual-irq. likes to oea.
support 32-virq/128-hwirq.
4. multiple emac support.
5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx.
6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
 1.4 07-Oct-2006  tsutsui branches: 1.4.56; 1.4.76; 1.4.78;
Remove unneeded cast which eliminates part of valid interrupt mask bits.
Closes PR powerpc/33108.
 1.3 15-May-2006  shige branches: 1.3.8; 1.3.10;
Move cpu_configure to evbppc/*.c.
(Remove ibm4xxgpx_autoconf.c)
I'm sorry for my wrong thinking.
 1.2 11-Dec-2005  christos branches: 1.2.4; 1.2.6; 1.2.8; 1.2.12;
merge ktrace-lwp.
 1.1 18-Mar-2005  shige branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Add sources for OpenBlockS200 (OpenBlockS S/R) machine.
 1.1.8.2 30-Dec-2006  yamt sync with head.
 1.1.8.1 21-Jun-2006  yamt sync with head.
 1.1.6.2 29-Apr-2005  kent sync with -current
 1.1.6.1 18-Mar-2005  kent file obs200_autoconf.c was added on branch kent-audio2 on 2005-04-29 11:28:09 +0000
 1.1.4.2 01-Apr-2005  skrll Sync with HEAD.
 1.1.4.1 18-Mar-2005  skrll file obs200_autoconf.c was added on branch ktrace-lwp on 2005-04-01 14:27:26 +0000
 1.1.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.2.1 18-Mar-2005  yamt file obs200_autoconf.c was added on branch yamt-km on 2005-03-19 08:32:58 +0000
 1.2.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.8.1 24-May-2006  yamt sync with head.
 1.2.6.1 01-Jun-2006  kardel Sync with head.
 1.2.4.1 09-Sep-2006  rpaulo sync with head
 1.3.10.1 22-Oct-2006  yamt sync with head
 1.3.8.1 18-Nov-2006  ad Sync with head.
 1.4.78.1 30-May-2010  rmind sync with head
 1.4.76.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.4.56.1 11-Aug-2010  yamt sync with head.
 1.5.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.6.6.1 18-Feb-2012  mrg merge to -current.
 1.6.2.1 17-Apr-2012  yamt sync with head
 1.7.60.1 03-Apr-2021  thorpej Sync with HEAD.
 1.8.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13 15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.12 05-Aug-2014  joerg branches: 1.12.26; 1.12.28;
The argument of stwu is displacement(register), but GAS translates the
%rX mnemonic very early into plain X, so it seemingly accepts
%register(displacement) as well. Be consistent in the formatting for
human consumption.
 1.11 20-Jun-2011  matt branches: 1.11.12; 1.11.26;
Don't include *pmap.h in assembly files. Get the needed definitions
from "assym.h".
 1.10 17-Jan-2011  matt branches: 1.10.4;
Kill _NOREGNAMES. Everything should be using %rX now. If it doesn't it
soon will.
 1.9 18-Mar-2010  kiyohara branches: 1.9.2;
Support PowerPC 405EX/EXr.
1. Add some new source and header files.
(MAL(split) and RGMII(new) relations for EMAC)
2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h.
3. intr.c supports MULTIUIC with virtual-irq. likes to oea.
support 32-virq/128-hwirq.
4. multiple emac support.
5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx.
6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
 1.8 25-Feb-2010  matt branches: 1.8.2;
Adapt to <spr.h> breakup.
 1.7 26-Nov-2009  matt branches: 1.7.2;
Kill proc0paddr. Use lwp0.l_addr instead.
 1.6 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.5 13-Nov-2008  ad branches: 1.5.4;
LKM -> MODULAR
 1.4 16-Oct-2006  kiyohara branches: 1.4.52; 1.4.56; 1.4.62; 1.4.64; 1.4.74;
* convert ibm4xx-based evbppc from reserved-TLB entry allocation to recently
introduced ppc4xx_tlb_reserve() API.
* ibm405gp UART0 used to be linear mapped. The VA happens to be inside kernel
segment, giving us the possibility of multiple VA matches in the TLB. This
is considered "programming error" by 405 core and results in "undefined
behaviour". We now avoid mapping peripherals in kernel segment.
* Some boards used to map hardwired RAM size. We now use the real size as
passed in by boot firmware.
* TLB_NRESERVED is (finally) gone.
 1.3 30-Jun-2006  freza branches: 1.3.4; 1.3.6;
Bring ibm4xx interrupt code up to date:

- generic soft interrupts (ie. use powerpc/softintr.c)
- interrupt event counters (using the ones from powerpc/cpu.h:cpu_info
where appropriate)
- cleanup ibm4xx_intr.h, move implementation details to intr.c

Convert all affected evbppc platforms.

OK by simonb@, some points discussed with matt@
 1.2 11-Dec-2005  christos branches: 1.2.4; 1.2.8; 1.2.16;
merge ktrace-lwp.
 1.1 18-Mar-2005  shige branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Add sources for OpenBlockS200 (OpenBlockS S/R) machine.
 1.1.8.1 30-Dec-2006  yamt sync with head.
 1.1.6.2 29-Apr-2005  kent sync with -current
 1.1.6.1 18-Mar-2005  kent file obs200_locore.S was added on branch kent-audio2 on 2005-04-29 11:28:09 +0000
 1.1.4.2 01-Apr-2005  skrll Sync with HEAD.
 1.1.4.1 18-Mar-2005  skrll file obs200_locore.S was added on branch ktrace-lwp on 2005-04-01 14:27:26 +0000
 1.1.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.2.1 18-Mar-2005  yamt file obs200_locore.S was added on branch yamt-km on 2005-03-19 08:32:58 +0000
 1.2.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.2.8.1 11-Aug-2006  yamt sync with head
 1.2.4.1 09-Sep-2006  rpaulo sync with head
 1.3.6.1 22-Oct-2006  yamt sync with head
 1.3.4.1 18-Nov-2006  ad Sync with head.
 1.4.74.1 07-Jan-2011  matt Deal with the splitting of <spr.h>
 1.4.64.2 03-Mar-2009  skrll Sync with HEAD.
 1.4.64.1 19-Jan-2009  skrll Sync with HEAD.
 1.4.62.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.4.56.3 11-Aug-2010  yamt sync with head.
 1.4.56.2 11-Mar-2010  yamt sync with head
 1.4.56.1 04-May-2009  yamt sync with head.
 1.4.52.1 17-Jan-2009  mjf Sync with HEAD.
 1.5.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.7.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.8.2.2 05-Mar-2011  rmind sync with head
 1.8.2.1 30-May-2010  rmind sync with head
 1.9.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.10.4.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.11.26.1 10-Aug-2014  tls Rebase.
 1.11.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.12.28.1 10-Jun-2019  christos Sync with HEAD
 1.12.26.1 28-Jul-2018  pgoyette Sync with HEAD
 1.25 04-Sep-2021  rin Fix build without DEBUG.
 1.24 03-Aug-2021  rin Switch evbppc/ibm4xx to generic evbppc (same as oea) kernel modules.

I've confirmed that kernels similar to amd64/conf/MODULAR work fine
both on 403 and 405.

XXX
Unfortunately, we cannot immediately switch evbppc/booke to generic
kernel modules yet; it has its own intr.h implementation.
 1.23 30-Mar-2021  rin - Include tlb.h directly, instead of uvm_extern.h.
- Explicitly include param.h.
- Drop unused headers.
- Sort and group headers.

No binary changes.
 1.22 30-Mar-2021  rin Centralize cpu_reboot().
 1.21 30-Mar-2021  rin G/C bootpath.
 1.20 15-Jul-2018  maxv branches: 1.20.12; 1.20.14;
Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.19 22-Jun-2011  matt branches: 1.19.52; 1.19.54;
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.18 20-Jun-2011  matt Change IBM4xx to use the common powerpc PIC framework.
Consolidate most ibm4xx initppc function into ibm4xx_init
and Make all IBM4xx use it.
Change explora to use initppc instead of bootstrap.
 1.17 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.16 15-Jun-2011  matt lcsplx is dead. remove last vestiges of it.
 1.15 12-Jun-2011  mrg for booke and ibm4xx evbppc systems, set module_machine to to either
"powerpc-ibm4xx" or "powerpc-booke".
 1.14 04-Apr-2011  dyoung branches: 1.14.2;
Neither pci_dma64_available(), pci_probe_device(), pci_mapreg_map(9),
pci_find_rom(), pci_intr_map(9), pci_enumerate_bus(), nor the match
predicate passed to pciide_compat_intr_establish() should ever modify
their pci_attach_args argument, so make their pci_attach_args arguments
const and deal with the fallout throughout the kernel.

For the most part, these changes add a 'const' where there was no
'const' before, however, some drivers and MD code used to modify
pci_attach_args. Now those drivers either copy their pci_attach_args
and modify the copy, or refrain from modifying pci_attach_args:

Xen: according to Manuel Bouyer, writing to pci_attach_args in
pci_intr_map() was a leftover from Xen 2. Probably a bug. I
stopped writing it. I have not tested this change.

siside(4): sis_hostbr_match() needlessly wrote to pci_attach_args.
Probably a bug. I use a temporary variable. I have not tested this
change.

slide(4): sl82c105_chip_map() overwrote the caller's pci_attach_args.
Probably a bug. Use a local pci_attach_args. I have not tested
this change.

viaide(4): via_sata_chip_map() and via_sata_chip_map_new() overwrote the
caller's pci_attach_args. Probably a bug. Make a local copy of the
caller's pci_attach_args and modify the copy. I have not tested
this change.

While I'm here, make pci_mapreg_submap() static.

With these changes in place, I have tested the compilation of these
kernels:

alpha GENERIC
amd64 GENERIC XEN3_DOM0
arc GENERIC
atari HADES MILAN-PCIIDE
bebox GENERIC
cats GENERIC
cobalt GENERIC
evbarm-eb NSLU2
evbarm-el ADI_BRH ARMADILLO9 CP3100 GEMINI GEMINI_MASTER GEMINI_SLAVE GUMSTIX
HDL_G IMX31LITE INTEGRATOR IQ31244 IQ80310 IQ80321 IXDP425 IXM1200
KUROBOX_PRO LUBBOCK MARVELL_NAS NAPPI SHEEVAPLUG SMDK2800 TEAMASA_NPWR
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
OPENBLOCKS266_OPT P2020RDB PMPPC RB800 WALNUT
hp700 GENERIC
i386 ALL XEN3_DOM0 XEN3_DOMU
ibmnws GENERIC
macppc GENERIC
mvmeppc GENERIC
netwinder GENERIC
ofppc GENERIC
prep GENERIC
sandpoint GENERIC
sgimips GENERIC32_IP2x
sparc GENERIC_SUN4U KRUPS
sparc64 GENERIC

As of Sun Apr 3 15:26:26 CDT 2011, I could not compile these kernels
with or without my patches in place:

### evbmips-el GDIUM

nbmake: nbmake: don't know how to make /home/dyoung/pristine-nbsd/src/sys/arch/mips/mips/softintr.c. Stop

### evbarm-el MPCSA_GENERIC
src/sys/arch/evbarm/conf/MPCSA_GENERIC:318: ds1672rtc*: unknown device `ds1672rtc'

### ia64 GENERIC

/tmp/genassym.28085/assym.c: In function 'f111':
/tmp/genassym.28085/assym.c:67: error: invalid application of 'sizeof' to incomplete type 'struct pcb'
/tmp/genassym.28085/assym.c:76: error: dereferencing pointer to incomplete type

### sgimips GENERIC32_IP3x

crmfb.o: In function `crmfb_attach':
crmfb.c:(.text+0x2304): undefined reference to `ddc_read_edid'
crmfb.c:(.text+0x2304): relocation truncated to fit: R_MIPS_26 against `ddc_read_edid'
crmfb.c:(.text+0x234c): undefined reference to `edid_parse'
crmfb.c:(.text+0x234c): relocation truncated to fit: R_MIPS_26 against `edid_parse'
crmfb.c:(.text+0x2354): undefined reference to `edid_print'
crmfb.c:(.text+0x2354): relocation truncated to fit: R_MIPS_26 against `edid_print'
 1.13 20-Dec-2010  matt branches: 1.13.2;
Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch
from uvmexp to per-cpu cpu_data and move them to 64bits. Remove unneeded
includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.
 1.12 18-Mar-2010  kiyohara Support Plathome's OpenBlockS600.
 1.11 18-Mar-2010  kiyohara Support PowerPC 405EX/EXr.
1. Add some new source and header files.
(MAL(split) and RGMII(new) relations for EMAC)
2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h.
3. intr.c supports MULTIUIC with virtual-irq. likes to oea.
support 32-virq/128-hwirq.
4. multiple emac support.
5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx.
6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
 1.10 25-Feb-2010  matt branches: 1.10.2;
Adapt to <spr.h> breakup.
 1.9 13-Feb-2009  apb branches: 1.9.2;
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 30-Nov-2008  martin branches: 1.8.4;
As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.7 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

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

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

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

I hope that this patch will stop us from flip-flopping between
calling doshutdownhooks() and pmf_system_shutdown() sometimes with
and sometimes without interrupts enabled.
 1.5 29-Nov-2006  freza branches: 1.5.52; 1.5.56; 1.5.62; 1.5.64; 1.5.74;
Instead of mapping whole RAM with reserved TLB entries, map just enough
to ensure trap code will work (that is 0 upto ${endkernel}) and leave the
rest to pmap_tlbmiss(). Mapping whole physmem into the kernel wired way
too many TLB entries, see

http://mail-index.netbsd.org/port-powerpc/2006/10/27/0000.html

for performance analysis. While there, be a bit more descriptive in
pmap_tlbmiss() comment and use macro instead of numeric constant.

OK by Simon Burge
 1.4 16-Oct-2006  kiyohara * convert ibm4xx-based evbppc from reserved-TLB entry allocation to recently
introduced ppc4xx_tlb_reserve() API.
* ibm405gp UART0 used to be linear mapped. The VA happens to be inside kernel
segment, giving us the possibility of multiple VA matches in the TLB. This
is considered "programming error" by 405 core and results in "undefined
behaviour". We now avoid mapping peripherals in kernel segment.
* Some boards used to map hardwired RAM size. We now use the real size as
passed in by boot firmware.
* don't call consinit() in obs2{00,66}_machdep.c because consinit() is already
called in ibm4xx_init() (but I'm not sure which place is good)
 1.3 29-Mar-2006  shige branches: 1.3.8; 1.3.10;
Move pci_intr_map and pci_conf_interrupt functions to MD codes.
Change Max PCI devices from 5 to 31.
 1.2 11-Dec-2005  christos branches: 1.2.4; 1.2.6; 1.2.8; 1.2.10; 1.2.12;
merge ktrace-lwp.
 1.1 18-Mar-2005  shige branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Add sources for OpenBlockS200 (OpenBlockS S/R) machine.
 1.1.8.2 30-Dec-2006  yamt sync with head.
 1.1.8.1 21-Jun-2006  yamt sync with head.
 1.1.6.2 29-Apr-2005  kent sync with -current
 1.1.6.1 18-Mar-2005  kent file obs200_machdep.c was added on branch kent-audio2 on 2005-04-29 11:28:09 +0000
 1.1.4.2 01-Apr-2005  skrll Sync with HEAD.
 1.1.4.1 18-Mar-2005  skrll file obs200_machdep.c was added on branch ktrace-lwp on 2005-04-01 14:27:26 +0000
 1.1.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.2.1 18-Mar-2005  yamt file obs200_machdep.c was added on branch yamt-km on 2005-03-19 08:32:58 +0000
 1.2.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.2.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.2.8.1 01-Apr-2006  yamt sync with head.
 1.2.6.1 22-Apr-2006  simonb Sync with head.
 1.2.4.1 09-Sep-2006  rpaulo sync with head
 1.3.10.2 10-Dec-2006  yamt sync with head.
 1.3.10.1 22-Oct-2006  yamt sync with head
 1.3.8.2 12-Jan-2007  ad Sync with head.
 1.3.8.1 18-Nov-2006  ad Sync with head.
 1.5.74.1 07-Jan-2011  matt Deal with the splitting of <spr.h>
 1.5.64.2 03-Mar-2009  skrll Sync with HEAD.
 1.5.64.1 19-Jan-2009  skrll Sync with HEAD.
 1.5.62.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.5.56.3 11-Aug-2010  yamt sync with head.
 1.5.56.2 11-Mar-2010  yamt sync with head
 1.5.56.1 04-May-2009  yamt sync with head.
 1.5.52.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.9.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.10.2.3 21-Apr-2011  rmind sync with head
 1.10.2.2 05-Mar-2011  rmind sync with head
 1.10.2.1 30-May-2010  rmind sync with head
 1.13.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.14.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.19.54.1 10-Jun-2019  christos Sync with HEAD
 1.19.52.1 28-Jul-2018  pgoyette Sync with HEAD
 1.20.14.1 03-Apr-2021  thorpej Sync with HEAD.
 1.20.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.10 30-Mar-2021  rin - Explicitly include <sys/param.h>.
- G/C headers.
- Sort headers.

No binary changes.
 1.9 29-Mar-2021  rin Set com(4) frequency in ibm4xx_device_register() in order to dedup codes.
 1.8 02-Mar-2021  rin branches: 1.8.2;
Use genppc_cpu_configure() instead of calling spl0() directly
(and optionally printing out imask).
 1.7 12-Dec-2011  kiyohara branches: 1.7.60;
Fix hangs-up. Remove "wrteei 1" in board's cpu_configure(). Interrupt
is enabled in powerpc-layer.
 1.6 18-Jun-2011  matt branches: 1.6.2; 1.6.6;
split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.5 18-Mar-2010  kiyohara branches: 1.5.6;
Support PowerPC 405EX/EXr.
1. Add some new source and header files.
(MAL(split) and RGMII(new) relations for EMAC)
2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h.
3. intr.c supports MULTIUIC with virtual-irq. likes to oea.
support 32-virq/128-hwirq.
4. multiple emac support.
5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx.
6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
 1.4 07-Oct-2006  tsutsui branches: 1.4.56; 1.4.76; 1.4.78;
Remove unneeded cast which eliminates part of valid interrupt mask bits.
Closes PR powerpc/33108.
 1.3 15-May-2006  shige branches: 1.3.8; 1.3.10;
Move cpu_configure to evbppc/*.c.
(Remove ibm4xxgpx_autoconf.c)
I'm sorry for my wrong thinking.
 1.2 11-Dec-2005  christos branches: 1.2.4; 1.2.6; 1.2.8; 1.2.12;
merge ktrace-lwp.
 1.1 18-Mar-2005  shige branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10; 1.1.12;
Rearrange codes for OpenBlockS266 machine.
 1.1.12.2 15-Sep-2005  riz Pull up following revision(s) (requested by shige in ticket #5820):
distrib/evbppc/md-kernel/Makefile 1.3 via patch
etc/etc.evbppc/Makefile.inc 1.3 via patch
sys/arch/evbppc/conf/files.obs405 1.5-1.8 via patch
sys/arch/evbppc/conf/OPENBLOCKS266 1.22,1.25 via patch
sys/arch/evbppc/include/obs266.h 1.1 (new)
sys/arch/evbppc/include/obs405.h 1.1-1.5 (new)
sys/arch/evbppc/include/rbus_machdep.h 1.1 (new)
sys/arch/evbppc/obs405/consinit.c 1.2-1.4
sys/arch/evbppc/obs405/dev/x1226.c deleted
sys/arch/evbppc/obs405/dev/x1226reg.h deleted
sys/arch/evbppc/obs405/machdep.c deleted
sys/arch/evbppc/obs405/obs266_autoconf.c 1.1 (new)
sys/arch/evbppc/obs405/obs266_machdep.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_autoconf.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_machdep.c 1.1 (new)
sys/arch/evbppc/obs405/rbus_machdep.c 1.1 (new)
sys/arch/powerpc/conf/files.ibm4xx 1.6-1.7
sys/arch/powerpc/ibm4xx/board_prop.c 1.1 (new)
sys/arch/powerpc/ibm4xx/dev/com_opb.c 1.12
sys/arch/powerpc/ibm4xx/dev/comopbvar.h 1.1 (new)
sys/arch/powerpc/ibm4xx/ibm40x_machdep.c 1.3-1.4
sys/arch/powerpc/ibm4xx/ibm4xx_autoconf.c 1.1-1.2 (new)
sys/arch/powerpc/ibm4xx/ibm4xx_machdep.c 1.1-1.3 (new)
sys/arch/powerpc/ibm4xx/ibm4xxgpx_autoconf.c 1.2-1.3
sys/arch/powerpc/ibm4xx/openbios/openbios.c 1.1 (new)
sys/arch/powerpc/include/ibm4xx/cpu.h 1.7-1.10
sys/arch/powerpc/include/ibm4xx/openbios.h 1.1 (new)

Update OpenBlockS266 support to more modern, stable sources.
 1.1.12.1 18-Mar-2005  riz file obs266_autoconf.c was added on branch netbsd-2 on 2005-09-15 14:28:44 +0000
 1.1.10.2 14-Sep-2005  tron Apply patch (requested by shige in ticket #763):
Synchronize OpenBlockS266 port with NetBSD-current for enhanced stability.
 1.1.10.1 18-Mar-2005  tron file obs266_autoconf.c was added on branch netbsd-3 on 2005-09-14 20:53:59 +0000
 1.1.8.2 30-Dec-2006  yamt sync with head.
 1.1.8.1 21-Jun-2006  yamt sync with head.
 1.1.6.2 29-Apr-2005  kent sync with -current
 1.1.6.1 18-Mar-2005  kent file obs266_autoconf.c was added on branch kent-audio2 on 2005-04-29 11:28:09 +0000
 1.1.4.2 01-Apr-2005  skrll Sync with HEAD.
 1.1.4.1 18-Mar-2005  skrll file obs266_autoconf.c was added on branch ktrace-lwp on 2005-04-01 14:27:26 +0000
 1.1.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.2.1 18-Mar-2005  yamt file obs266_autoconf.c was added on branch yamt-km on 2005-03-19 08:32:58 +0000
 1.2.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.8.1 24-May-2006  yamt sync with head.
 1.2.6.1 01-Jun-2006  kardel Sync with head.
 1.2.4.1 09-Sep-2006  rpaulo sync with head
 1.3.10.1 22-Oct-2006  yamt sync with head
 1.3.8.1 18-Nov-2006  ad Sync with head.
 1.4.78.1 30-May-2010  rmind sync with head
 1.4.76.2 19-Aug-2010  uebayasi Define FlashROM addresses in board specific code.
 1.4.76.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.4.56.1 11-Aug-2010  yamt sync with head.
 1.5.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.6.6.1 18-Feb-2012  mrg merge to -current.
 1.6.2.1 17-Apr-2012  yamt sync with head
 1.7.60.1 03-Apr-2021  thorpej Sync with HEAD.
 1.8.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.27 03-Aug-2021  rin Switch evbppc/ibm4xx to generic evbppc (same as oea) kernel modules.

I've confirmed that kernels similar to amd64/conf/MODULAR work fine
both on 403 and 405.

XXX
Unfortunately, we cannot immediately switch evbppc/booke to generic
kernel modules yet; it has its own intr.h implementation.
 1.26 30-Mar-2021  rin Sort & group headers. No binary changes.
 1.25 30-Mar-2021  rin G/C unused. Use tlb.h directly instead of uvm_extern.h.
No binary changes.
 1.24 30-Mar-2021  rin Remove unused "startkernel" argument for openbios_board_init().
 1.23 30-Mar-2021  rin Centralize cpu_reboot().
 1.22 30-Mar-2021  rin G/C bootpath.
 1.21 15-Jul-2018  maxv branches: 1.21.12; 1.21.14;
Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.20 22-Jun-2011  matt branches: 1.20.52; 1.20.54;
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.19 20-Jun-2011  matt Change IBM4xx to use the common powerpc PIC framework.
Consolidate most ibm4xx initppc function into ibm4xx_init
and Make all IBM4xx use it.
Change explora to use initppc instead of bootstrap.
 1.18 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.17 15-Jun-2011  matt lcsplx is dead. remove last vestiges of it.
 1.16 12-Jun-2011  mrg for booke and ibm4xx evbppc systems, set module_machine to to either
"powerpc-ibm4xx" or "powerpc-booke".
 1.15 04-Apr-2011  dyoung branches: 1.15.2;
Neither pci_dma64_available(), pci_probe_device(), pci_mapreg_map(9),
pci_find_rom(), pci_intr_map(9), pci_enumerate_bus(), nor the match
predicate passed to pciide_compat_intr_establish() should ever modify
their pci_attach_args argument, so make their pci_attach_args arguments
const and deal with the fallout throughout the kernel.

For the most part, these changes add a 'const' where there was no
'const' before, however, some drivers and MD code used to modify
pci_attach_args. Now those drivers either copy their pci_attach_args
and modify the copy, or refrain from modifying pci_attach_args:

Xen: according to Manuel Bouyer, writing to pci_attach_args in
pci_intr_map() was a leftover from Xen 2. Probably a bug. I
stopped writing it. I have not tested this change.

siside(4): sis_hostbr_match() needlessly wrote to pci_attach_args.
Probably a bug. I use a temporary variable. I have not tested this
change.

slide(4): sl82c105_chip_map() overwrote the caller's pci_attach_args.
Probably a bug. Use a local pci_attach_args. I have not tested
this change.

viaide(4): via_sata_chip_map() and via_sata_chip_map_new() overwrote the
caller's pci_attach_args. Probably a bug. Make a local copy of the
caller's pci_attach_args and modify the copy. I have not tested
this change.

While I'm here, make pci_mapreg_submap() static.

With these changes in place, I have tested the compilation of these
kernels:

alpha GENERIC
amd64 GENERIC XEN3_DOM0
arc GENERIC
atari HADES MILAN-PCIIDE
bebox GENERIC
cats GENERIC
cobalt GENERIC
evbarm-eb NSLU2
evbarm-el ADI_BRH ARMADILLO9 CP3100 GEMINI GEMINI_MASTER GEMINI_SLAVE GUMSTIX
HDL_G IMX31LITE INTEGRATOR IQ31244 IQ80310 IQ80321 IXDP425 IXM1200
KUROBOX_PRO LUBBOCK MARVELL_NAS NAPPI SHEEVAPLUG SMDK2800 TEAMASA_NPWR
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
OPENBLOCKS266_OPT P2020RDB PMPPC RB800 WALNUT
hp700 GENERIC
i386 ALL XEN3_DOM0 XEN3_DOMU
ibmnws GENERIC
macppc GENERIC
mvmeppc GENERIC
netwinder GENERIC
ofppc GENERIC
prep GENERIC
sandpoint GENERIC
sgimips GENERIC32_IP2x
sparc GENERIC_SUN4U KRUPS
sparc64 GENERIC

As of Sun Apr 3 15:26:26 CDT 2011, I could not compile these kernels
with or without my patches in place:

### evbmips-el GDIUM

nbmake: nbmake: don't know how to make /home/dyoung/pristine-nbsd/src/sys/arch/mips/mips/softintr.c. Stop

### evbarm-el MPCSA_GENERIC
src/sys/arch/evbarm/conf/MPCSA_GENERIC:318: ds1672rtc*: unknown device `ds1672rtc'

### ia64 GENERIC

/tmp/genassym.28085/assym.c: In function 'f111':
/tmp/genassym.28085/assym.c:67: error: invalid application of 'sizeof' to incomplete type 'struct pcb'
/tmp/genassym.28085/assym.c:76: error: dereferencing pointer to incomplete type

### sgimips GENERIC32_IP3x

crmfb.o: In function `crmfb_attach':
crmfb.c:(.text+0x2304): undefined reference to `ddc_read_edid'
crmfb.c:(.text+0x2304): relocation truncated to fit: R_MIPS_26 against `ddc_read_edid'
crmfb.c:(.text+0x234c): undefined reference to `edid_parse'
crmfb.c:(.text+0x234c): relocation truncated to fit: R_MIPS_26 against `edid_parse'
crmfb.c:(.text+0x2354): undefined reference to `edid_print'
crmfb.c:(.text+0x2354): relocation truncated to fit: R_MIPS_26 against `edid_print'
 1.14 20-Dec-2010  matt branches: 1.14.2;
Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch
from uvmexp to per-cpu cpu_data and move them to 64bits. Remove unneeded
includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.
 1.13 18-Mar-2010  kiyohara Support Plathome's OpenBlockS600.
 1.12 18-Mar-2010  kiyohara Support PowerPC 405EX/EXr.
1. Add some new source and header files.
(MAL(split) and RGMII(new) relations for EMAC)
2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h.
3. intr.c supports MULTIUIC with virtual-irq. likes to oea.
support 32-virq/128-hwirq.
4. multiple emac support.
5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx.
6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
 1.11 25-Feb-2010  matt branches: 1.11.2;
Adapt to <spr.h> breakup.
 1.10 13-Feb-2009  apb branches: 1.10.2;
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.9 30-Nov-2008  martin branches: 1.9.4;
As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.8 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

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

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

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

I hope that this patch will stop us from flip-flopping between
calling doshutdownhooks() and pmf_system_shutdown() sometimes with
and sometimes without interrupts enabled.
 1.6 29-Nov-2006  freza branches: 1.6.52; 1.6.56; 1.6.62; 1.6.64; 1.6.74;
Instead of mapping whole RAM with reserved TLB entries, map just enough
to ensure trap code will work (that is 0 upto ${endkernel}) and leave the
rest to pmap_tlbmiss(). Mapping whole physmem into the kernel wired way
too many TLB entries, see

http://mail-index.netbsd.org/port-powerpc/2006/10/27/0000.html

for performance analysis. While there, be a bit more descriptive in
pmap_tlbmiss() comment and use macro instead of numeric constant.

OK by Simon Burge
 1.5 16-Oct-2006  kiyohara * convert ibm4xx-based evbppc from reserved-TLB entry allocation to recently
introduced ppc4xx_tlb_reserve() API.
* ibm405gp UART0 used to be linear mapped. The VA happens to be inside kernel
segment, giving us the possibility of multiple VA matches in the TLB. This
is considered "programming error" by 405 core and results in "undefined
behaviour". We now avoid mapping peripherals in kernel segment.
* Some boards used to map hardwired RAM size. We now use the real size as
passed in by boot firmware.
* don't call consinit() in obs2{00,66}_machdep.c because consinit() is already
called in ibm4xx_init() (but I'm not sure which place is good)
 1.4 29-Mar-2006  shige branches: 1.4.8; 1.4.10;
Move pci_intr_map and pci_conf_interrupt functions to MD codes.
Change Max PCI devices from 5 to 31.
 1.3 13-Mar-2006  shige branches: 1.3.2;
Remove obsled devices (using old gpio framework).
 1.2 11-Dec-2005  christos branches: 1.2.4; 1.2.6; 1.2.8; 1.2.10;
merge ktrace-lwp.
 1.1 18-Mar-2005  shige branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10; 1.1.12;
Rearrange codes for OpenBlockS266 machine.
 1.1.12.2 15-Sep-2005  riz Pull up following revision(s) (requested by shige in ticket #5820):
distrib/evbppc/md-kernel/Makefile 1.3 via patch
etc/etc.evbppc/Makefile.inc 1.3 via patch
sys/arch/evbppc/conf/files.obs405 1.5-1.8 via patch
sys/arch/evbppc/conf/OPENBLOCKS266 1.22,1.25 via patch
sys/arch/evbppc/include/obs266.h 1.1 (new)
sys/arch/evbppc/include/obs405.h 1.1-1.5 (new)
sys/arch/evbppc/include/rbus_machdep.h 1.1 (new)
sys/arch/evbppc/obs405/consinit.c 1.2-1.4
sys/arch/evbppc/obs405/dev/x1226.c deleted
sys/arch/evbppc/obs405/dev/x1226reg.h deleted
sys/arch/evbppc/obs405/machdep.c deleted
sys/arch/evbppc/obs405/obs266_autoconf.c 1.1 (new)
sys/arch/evbppc/obs405/obs266_machdep.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_autoconf.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_machdep.c 1.1 (new)
sys/arch/evbppc/obs405/rbus_machdep.c 1.1 (new)
sys/arch/powerpc/conf/files.ibm4xx 1.6-1.7
sys/arch/powerpc/ibm4xx/board_prop.c 1.1 (new)
sys/arch/powerpc/ibm4xx/dev/com_opb.c 1.12
sys/arch/powerpc/ibm4xx/dev/comopbvar.h 1.1 (new)
sys/arch/powerpc/ibm4xx/ibm40x_machdep.c 1.3-1.4
sys/arch/powerpc/ibm4xx/ibm4xx_autoconf.c 1.1-1.2 (new)
sys/arch/powerpc/ibm4xx/ibm4xx_machdep.c 1.1-1.3 (new)
sys/arch/powerpc/ibm4xx/ibm4xxgpx_autoconf.c 1.2-1.3
sys/arch/powerpc/ibm4xx/openbios/openbios.c 1.1 (new)
sys/arch/powerpc/include/ibm4xx/cpu.h 1.7-1.10
sys/arch/powerpc/include/ibm4xx/openbios.h 1.1 (new)

Update OpenBlockS266 support to more modern, stable sources.
 1.1.12.1 18-Mar-2005  riz file obs266_machdep.c was added on branch netbsd-2 on 2005-09-15 14:28:44 +0000
 1.1.10.2 14-Sep-2005  tron Apply patch (requested by shige in ticket #763):
Synchronize OpenBlockS266 port with NetBSD-current for enhanced stability.
 1.1.10.1 18-Mar-2005  tron file obs266_machdep.c was added on branch netbsd-3 on 2005-09-14 20:54:00 +0000
 1.1.8.2 30-Dec-2006  yamt sync with head.
 1.1.8.1 21-Jun-2006  yamt sync with head.
 1.1.6.2 29-Apr-2005  kent sync with -current
 1.1.6.1 18-Mar-2005  kent file obs266_machdep.c was added on branch kent-audio2 on 2005-04-29 11:28:09 +0000
 1.1.4.2 01-Apr-2005  skrll Sync with HEAD.
 1.1.4.1 18-Mar-2005  skrll file obs266_machdep.c was added on branch ktrace-lwp on 2005-04-01 14:27:26 +0000
 1.1.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.2.1 18-Mar-2005  yamt file obs266_machdep.c was added on branch yamt-km on 2005-03-19 08:32:58 +0000
 1.2.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.2.8.1 01-Apr-2006  yamt sync with head.
 1.2.6.1 22-Apr-2006  simonb Sync with head.
 1.2.4.1 09-Sep-2006  rpaulo sync with head
 1.3.2.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.4.10.2 10-Dec-2006  yamt sync with head.
 1.4.10.1 22-Oct-2006  yamt sync with head
 1.4.8.2 12-Jan-2007  ad Sync with head.
 1.4.8.1 18-Nov-2006  ad Sync with head.
 1.6.74.1 07-Jan-2011  matt Deal with the splitting of <spr.h>
 1.6.64.2 03-Mar-2009  skrll Sync with HEAD.
 1.6.64.1 19-Jan-2009  skrll Sync with HEAD.
 1.6.62.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.6.56.3 11-Aug-2010  yamt sync with head.
 1.6.56.2 11-Mar-2010  yamt sync with head
 1.6.56.1 04-May-2009  yamt sync with head.
 1.6.52.1 17-Jan-2009  mjf Sync with HEAD.
 1.9.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.10.2.3 14-Aug-2010  uebayasi Teach TLB miss handler (pmap_tlbmiss()) to map "Expansion ROM" area as
PA == VA. Now we don't need to reserve a TLB entry for it.
 1.10.2.2 11-Aug-2010  uebayasi Map the NOR FlashROM region into kernel using a reserved TLB. This is
touched to synchronize I-cache an executable page by pmap_enter().
 1.10.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.11.2.3 21-Apr-2011  rmind sync with head
 1.11.2.2 05-Mar-2011  rmind sync with head
 1.11.2.1 30-May-2010  rmind sync with head
 1.14.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.15.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.20.54.1 10-Jun-2019  christos Sync with HEAD
 1.20.52.1 28-Jul-2018  pgoyette Sync with HEAD
 1.21.14.1 03-Apr-2021  thorpej Sync with HEAD.
 1.21.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.8 29-Mar-2021  rin Set com(4) frequency in ibm4xx_device_register() in order to dedup codes.
 1.7 29-Mar-2021  rin Centralize cpu_rootconf().
 1.6 29-Jul-2012  mlelstv branches: 1.6.52; 1.6.54;
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.5 18-Jun-2011  matt branches: 1.5.2; 1.5.8;
split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.4 26-Feb-2006  thorpej branches: 1.4.104;
Use device_is_a()
 1.3 23-Feb-2006  thorpej Use device_parent().
 1.2 11-Dec-2005  christos branches: 1.2.2; 1.2.4; 1.2.6;
merge ktrace-lwp.
 1.1 18-Mar-2005  shige branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10; 1.1.12;
Rearrange codes for OpenBlockS266 machine.
 1.1.12.2 15-Sep-2005  riz Pull up following revision(s) (requested by shige in ticket #5820):
distrib/evbppc/md-kernel/Makefile 1.3 via patch
etc/etc.evbppc/Makefile.inc 1.3 via patch
sys/arch/evbppc/conf/files.obs405 1.5-1.8 via patch
sys/arch/evbppc/conf/OPENBLOCKS266 1.22,1.25 via patch
sys/arch/evbppc/include/obs266.h 1.1 (new)
sys/arch/evbppc/include/obs405.h 1.1-1.5 (new)
sys/arch/evbppc/include/rbus_machdep.h 1.1 (new)
sys/arch/evbppc/obs405/consinit.c 1.2-1.4
sys/arch/evbppc/obs405/dev/x1226.c deleted
sys/arch/evbppc/obs405/dev/x1226reg.h deleted
sys/arch/evbppc/obs405/machdep.c deleted
sys/arch/evbppc/obs405/obs266_autoconf.c 1.1 (new)
sys/arch/evbppc/obs405/obs266_machdep.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_autoconf.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_machdep.c 1.1 (new)
sys/arch/evbppc/obs405/rbus_machdep.c 1.1 (new)
sys/arch/powerpc/conf/files.ibm4xx 1.6-1.7
sys/arch/powerpc/ibm4xx/board_prop.c 1.1 (new)
sys/arch/powerpc/ibm4xx/dev/com_opb.c 1.12
sys/arch/powerpc/ibm4xx/dev/comopbvar.h 1.1 (new)
sys/arch/powerpc/ibm4xx/ibm40x_machdep.c 1.3-1.4
sys/arch/powerpc/ibm4xx/ibm4xx_autoconf.c 1.1-1.2 (new)
sys/arch/powerpc/ibm4xx/ibm4xx_machdep.c 1.1-1.3 (new)
sys/arch/powerpc/ibm4xx/ibm4xxgpx_autoconf.c 1.2-1.3
sys/arch/powerpc/ibm4xx/openbios/openbios.c 1.1 (new)
sys/arch/powerpc/include/ibm4xx/cpu.h 1.7-1.10
sys/arch/powerpc/include/ibm4xx/openbios.h 1.1 (new)

Update OpenBlockS266 support to more modern, stable sources.
 1.1.12.1 18-Mar-2005  riz file obs405_autoconf.c was added on branch netbsd-2 on 2005-09-15 14:28:44 +0000
 1.1.10.2 14-Sep-2005  tron Apply patch (requested by shige in ticket #763):
Synchronize OpenBlockS266 port with NetBSD-current for enhanced stability.
 1.1.10.1 18-Mar-2005  tron file obs405_autoconf.c was added on branch netbsd-3 on 2005-09-14 20:54:00 +0000
 1.1.8.1 21-Jun-2006  yamt sync with head.
 1.1.6.2 29-Apr-2005  kent sync with -current
 1.1.6.1 18-Mar-2005  kent file obs405_autoconf.c was added on branch kent-audio2 on 2005-04-29 11:28:09 +0000
 1.1.4.2 01-Apr-2005  skrll Sync with HEAD.
 1.1.4.1 18-Mar-2005  skrll file obs405_autoconf.c was added on branch ktrace-lwp on 2005-04-01 14:27:26 +0000
 1.1.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.2.1 18-Mar-2005  yamt file obs405_autoconf.c was added on branch yamt-km on 2005-03-19 08:32:58 +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 01-Mar-2006  yamt sync with head.
 1.4.104.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.5.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.5.2.1 30-Oct-2012  yamt sync with head
 1.6.54.1 03-Apr-2021  thorpej Sync with HEAD.
 1.6.52.1 03-Apr-2021  thorpej Sync with HEAD.
 1.7 30-Mar-2021  rin Move common global variables, i.e., phys_map, machine, and machine_arch to
evbppc/evbppc_machdep.c (bad naming; used only for 4xx boards).
 1.6 18-Jun-2011  matt branches: 1.6.66; 1.6.68;
split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.5 08-Feb-2010  joerg branches: 1.5.8;
Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
 1.4 02-Jul-2008  ad branches: 1.4.16;
Replce exec_map with a pool. Proposed on tech-kern@, reviewed by chs@.
 1.3 30-Jun-2006  freza branches: 1.3.58; 1.3.62; 1.3.64; 1.3.66;
Bring ibm4xx interrupt code up to date:

- generic soft interrupts (ie. use powerpc/softintr.c)
- interrupt event counters (using the ones from powerpc/cpu.h:cpu_info
where appropriate)
- cleanup ibm4xx_intr.h, move implementation details to intr.c

Convert all affected evbppc platforms.

OK by simonb@, some points discussed with matt@
 1.2 11-Dec-2005  christos branches: 1.2.4; 1.2.8; 1.2.16;
merge ktrace-lwp.
 1.1 18-Mar-2005  shige branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10; 1.1.12;
Rearrange codes for OpenBlockS266 machine.
 1.1.12.2 15-Sep-2005  riz Pull up following revision(s) (requested by shige in ticket #5820):
distrib/evbppc/md-kernel/Makefile 1.3 via patch
etc/etc.evbppc/Makefile.inc 1.3 via patch
sys/arch/evbppc/conf/files.obs405 1.5-1.8 via patch
sys/arch/evbppc/conf/OPENBLOCKS266 1.22,1.25 via patch
sys/arch/evbppc/include/obs266.h 1.1 (new)
sys/arch/evbppc/include/obs405.h 1.1-1.5 (new)
sys/arch/evbppc/include/rbus_machdep.h 1.1 (new)
sys/arch/evbppc/obs405/consinit.c 1.2-1.4
sys/arch/evbppc/obs405/dev/x1226.c deleted
sys/arch/evbppc/obs405/dev/x1226reg.h deleted
sys/arch/evbppc/obs405/machdep.c deleted
sys/arch/evbppc/obs405/obs266_autoconf.c 1.1 (new)
sys/arch/evbppc/obs405/obs266_machdep.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_autoconf.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_machdep.c 1.1 (new)
sys/arch/evbppc/obs405/rbus_machdep.c 1.1 (new)
sys/arch/powerpc/conf/files.ibm4xx 1.6-1.7
sys/arch/powerpc/ibm4xx/board_prop.c 1.1 (new)
sys/arch/powerpc/ibm4xx/dev/com_opb.c 1.12
sys/arch/powerpc/ibm4xx/dev/comopbvar.h 1.1 (new)
sys/arch/powerpc/ibm4xx/ibm40x_machdep.c 1.3-1.4
sys/arch/powerpc/ibm4xx/ibm4xx_autoconf.c 1.1-1.2 (new)
sys/arch/powerpc/ibm4xx/ibm4xx_machdep.c 1.1-1.3 (new)
sys/arch/powerpc/ibm4xx/ibm4xxgpx_autoconf.c 1.2-1.3
sys/arch/powerpc/ibm4xx/openbios/openbios.c 1.1 (new)
sys/arch/powerpc/include/ibm4xx/cpu.h 1.7-1.10
sys/arch/powerpc/include/ibm4xx/openbios.h 1.1 (new)

Update OpenBlockS266 support to more modern, stable sources.
 1.1.12.1 18-Mar-2005  riz file obs405_machdep.c was added on branch netbsd-2 on 2005-09-15 14:28:44 +0000
 1.1.10.2 14-Sep-2005  tron Apply patch (requested by shige in ticket #763):
Synchronize OpenBlockS266 port with NetBSD-current for enhanced stability.
 1.1.10.1 18-Mar-2005  tron file obs405_machdep.c was added on branch netbsd-3 on 2005-09-14 20:54:00 +0000
 1.1.8.1 30-Dec-2006  yamt sync with head.
 1.1.6.2 29-Apr-2005  kent sync with -current
 1.1.6.1 18-Mar-2005  kent file obs405_machdep.c was added on branch kent-audio2 on 2005-04-29 11:28:09 +0000
 1.1.4.2 01-Apr-2005  skrll Sync with HEAD.
 1.1.4.1 18-Mar-2005  skrll file obs405_machdep.c was added on branch ktrace-lwp on 2005-04-01 14:27:26 +0000
 1.1.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.2.1 18-Mar-2005  yamt file obs405_machdep.c was added on branch yamt-km on 2005-03-19 08:32:58 +0000
 1.2.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.2.8.1 11-Aug-2006  yamt sync with head
 1.2.4.1 09-Sep-2006  rpaulo sync with head
 1.3.66.1 03-Jul-2008  simonb Sync with head.
 1.3.64.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.3.62.2 11-Mar-2010  yamt sync with head
 1.3.62.1 04-May-2009  yamt sync with head.
 1.3.58.1 02-Jul-2008  mjf Sync with HEAD.
 1.4.16.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.5.8.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.6.68.1 03-Apr-2021  thorpej Sync with HEAD.
 1.6.66.1 03-Apr-2021  thorpej Sync with HEAD.
 1.12 30-Mar-2021  rin - Explicitly include <sys/param.h>.
- Drop unused headers.
- Sort headers.

No binary changes.
 1.11 29-Mar-2021  rin Set com(4) frequency in ibm4xx_device_register() in order to dedup codes.
 1.10 02-Mar-2021  rin branches: 1.10.2;
Invoke calc_delayconst() before read_eeprom(), which uses delay(9).

Fix unintended looong waiting time during boot.
 1.9 02-Mar-2021  rin Use genppc_cpu_configure() instead of calling spl0() directly
(and optionally printing out imask).
 1.8 18-Feb-2019  msaitoh branches: 1.8.12;
Fix compile error reported by Kazuhiro Ito in PR kern/52704.
 1.7 21-Nov-2013  kiyohara branches: 1.7.22; 1.7.30;
Move the parameters for obs600 to obs600_autoconf.c. This parameters was set from u-boot.
 1.6 10-Jan-2012  kiyohara branches: 1.6.6; 1.6.10;
Establish the cascading uic[12] by calling pic_finish_setup().
 1.5 12-Dec-2011  kiyohara Fix hangs-up. Remove "wrteei 1" in board's cpu_configure(). Interrupt
is enabled in powerpc-layer.
 1.4 20-Jun-2011  matt branches: 1.4.2; 1.4.6;
Change IBM4xx to use the common powerpc PIC framework.
Consolidate most ibm4xx initppc function into ibm4xx_init
and Make all IBM4xx use it.
Change explora to use initppc instead of bootstrap.
 1.3 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.2 25-Feb-2011  kiyohara branches: 1.2.2;
Fix UIC cascading. UIC1 to IRQ 30, UIC2 to 28.
 1.1 18-Mar-2010  kiyohara branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10;
Support Plathome's OpenBlockS600.
 1.1.10.1 05-Mar-2011  bouyer Sync with HEAD
 1.1.8.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.6.2 11-Aug-2010  yamt sync with head.
 1.1.6.1 18-Mar-2010  yamt file obs600_autoconf.c was added on branch yamt-nfs-mp on 2010-08-11 22:51:55 +0000
 1.1.4.3 05-Mar-2011  rmind sync with head
 1.1.4.2 30-May-2010  rmind sync with head
 1.1.4.1 18-Mar-2010  rmind file obs600_autoconf.c was added on branch rmind-uvmplock on 2010-05-30 05:16:44 +0000
 1.1.2.2 30-Apr-2010  uebayasi Sync with HEAD.
 1.1.2.1 18-Mar-2010  uebayasi file obs600_autoconf.c was added on branch uebayasi-xip on 2010-04-30 14:39:18 +0000
 1.2.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.4.6.1 18-Feb-2012  mrg merge to -current.
 1.4.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.4.2.1 17-Apr-2012  yamt sync with head
 1.6.10.1 18-May-2014  rmind sync with head
 1.6.6.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7.30.1 10-Jun-2019  christos Sync with HEAD
 1.7.22.1 19-Feb-2019  martin Pull up following revision(s) (requested by msaitoh in ticket #1193):

sys/arch/evbppc/obs405/obs600_autoconf.c: revision 1.8

Fix compile error reported by Kazuhiro Ito in PR kern/52704.
 1.8.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.10.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.7 02-Mar-2021  rin Do not forcibly turn off PPC_4XX_NOCACHE option.
 1.6 05-Aug-2014  joerg branches: 1.6.40;
The argument of stwu is displacement(register), but GAS translates the
%rX mnemonic very early into plain X, so it seemingly accepts
%register(displacement) as well. Be consistent in the formatting for
human consumption.
 1.5 12-Dec-2011  kiyohara branches: 1.5.6; 1.5.20;
Fix arguments for initppc().
 1.4 20-Jun-2011  matt branches: 1.4.2; 1.4.6;
Don't include *pmap.h in assembly files. Get the needed definitions
from "assym.h".
 1.3 17-Jan-2011  matt branches: 1.3.4;
Kill _NOREGNAMES. Everything should be using %rX now. If it doesn't it
soon will.
 1.2 14-Jan-2011  rmind branches: 1.2.2;
Retire struct user, remove sys/user.h inclusions. Note sys/user.h header
as obsolete. Remove USER_TO_UAREA/UAREA_TO_USER macros.

Various #include fixes and review by matt@.
 1.1 18-Mar-2010  kiyohara branches: 1.1.2; 1.1.4; 1.1.6;
Support Plathome's OpenBlockS600.
 1.1.6.2 11-Aug-2010  yamt sync with head.
 1.1.6.1 18-Mar-2010  yamt file obs600_locore.S was added on branch yamt-nfs-mp on 2010-08-11 22:51:55 +0000
 1.1.4.3 05-Mar-2011  rmind sync with head
 1.1.4.2 30-May-2010  rmind sync with head
 1.1.4.1 18-Mar-2010  rmind file obs600_locore.S was added on branch rmind-uvmplock on 2010-05-30 05:16:44 +0000
 1.1.2.2 30-Apr-2010  uebayasi Sync with HEAD.
 1.1.2.1 18-Mar-2010  uebayasi file obs600_locore.S was added on branch uebayasi-xip on 2010-04-30 14:39:18 +0000
 1.2.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.4.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.4.6.1 18-Feb-2012  mrg merge to -current.
 1.4.2.1 17-Apr-2012  yamt sync with head
 1.5.20.1 10-Aug-2014  tls Rebase.
 1.5.6.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.40.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17 15-Jan-2022  msaitoh s/adressing/addressing/
 1.16 03-Aug-2021  rin Switch evbppc/ibm4xx to generic evbppc (same as oea) kernel modules.

I've confirmed that kernels similar to amd64/conf/MODULAR work fine
both on 403 and 405.

XXX
Unfortunately, we cannot immediately switch evbppc/booke to generic
kernel modules yet; it has its own intr.h implementation.
 1.15 30-Mar-2021  rin - Include tlb.h directly instead of uvm_extern.h.
- Remove unused/duplicated header include.
- Sort and group headers.

No binary changes.
 1.14 30-Mar-2021  rin Centralize cpu_reboot().
 1.13 30-Mar-2021  rin G/C bootpath.
 1.12 06-Mar-2021  rin branches: 1.12.2;
Reorder things in cpu_startup() for clarity.

No functional changes intended.
 1.11 02-Mar-2021  rin Invoke calc_delayconst() before read_eeprom(), which uses delay(9).

Fix unintended looong waiting time during boot.
 1.10 15-Jul-2018  maxv branches: 1.10.12;
Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.9 05-Jul-2012  kiyohara branches: 1.9.38; 1.9.40;
Change read_eeprom(). We don't use bus_space(9) here. This is MD-part and,
don't support bus_space_unmap() to a space on reserved space?
 1.8 12-Dec-2011  kiyohara Call bus_space_mallocok earlier. Moreover, don't bus_space_unmap call.
 1.7 20-Jun-2011  matt branches: 1.7.2; 1.7.6;
Change IBM4xx to use the common powerpc PIC framework.
Consolidate most ibm4xx initppc function into ibm4xx_init
and Make all IBM4xx use it.
Change explora to use initppc instead of bootstrap.
 1.6 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.5 15-Jun-2011  matt lcsplx is dead. remove last vestiges of it.
 1.4 12-Jun-2011  mrg for booke and ibm4xx evbppc systems, set module_machine to to either
"powerpc-ibm4xx" or "powerpc-booke".
 1.3 25-Feb-2011  kiyohara branches: 1.3.2;
Need splraise(-1) here.
 1.2 20-Dec-2010  matt branches: 1.2.2; 1.2.4;
Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch
from uvmexp to per-cpu cpu_data and move them to 64bits. Remove unneeded
includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.
 1.1 18-Mar-2010  kiyohara branches: 1.1.2; 1.1.4; 1.1.6;
Support Plathome's OpenBlockS600.
 1.1.6.2 11-Aug-2010  yamt sync with head.
 1.1.6.1 18-Mar-2010  yamt file obs600_machdep.c was added on branch yamt-nfs-mp on 2010-08-11 22:51:55 +0000
 1.1.4.3 05-Mar-2011  rmind sync with head
 1.1.4.2 30-May-2010  rmind sync with head
 1.1.4.1 18-Mar-2010  rmind file obs600_machdep.c was added on branch rmind-uvmplock on 2010-05-30 05:16:44 +0000
 1.1.2.2 30-Apr-2010  uebayasi Sync with HEAD.
 1.1.2.1 18-Mar-2010  uebayasi file obs600_machdep.c was added on branch uebayasi-xip on 2010-04-30 14:39:18 +0000
 1.2.4.1 05-Mar-2011  bouyer Sync with HEAD
 1.2.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.7.6.1 18-Feb-2012  mrg merge to -current.
 1.7.2.2 30-Oct-2012  yamt sync with head
 1.7.2.1 17-Apr-2012  yamt sync with head
 1.9.40.1 10-Jun-2019  christos Sync with HEAD
 1.9.38.1 28-Jul-2018  pgoyette Sync with HEAD
 1.10.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.12.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.10 29-Jan-2019  gutteridge Fix typo in error message.
 1.9 09-Apr-2012  kiyohara branches: 1.9.40;
+ Fix panic() in cardbus_mapreg_map(). powerpc's bus-space uses extent(9).
obs405 calls rbus_new_root_delegate() instead of rbus_new_root_share().
+ Remove TABs from TAB-only-lines.
 1.8 22-Jun-2011  matt branches: 1.8.2; 1.8.6;
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 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.6 18-Jan-2011  matt branches: 1.6.4;
include <uvm/uvm_extern.h>
 1.5 04-Jan-2011  kiyohara branches: 1.5.2;
Fix to build failure. Include uvm/uvm_extern.h for pmap_extract().
 1.4 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.3 14-Mar-2009  dsl branches: 1.3.4;
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.2 11-Dec-2005  christos branches: 1.2.18; 1.2.80; 1.2.88; 1.2.94;
merge ktrace-lwp.
 1.1 04-Sep-2005  kiyohara branches: 1.1.2; 1.1.4; 1.1.10;
Support 'PCMCIA adapter BOX' for OpenBlockS266.
 1.1.10.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.10.1 04-Sep-2005  skrll file rbus_machdep.c was added on branch ktrace-lwp on 2005-11-10 13:56:05 +0000
 1.1.4.2 15-Sep-2005  riz Pull up following revision(s) (requested by shige in ticket #5820):
distrib/evbppc/md-kernel/Makefile 1.3 via patch
etc/etc.evbppc/Makefile.inc 1.3 via patch
sys/arch/evbppc/conf/files.obs405 1.5-1.8 via patch
sys/arch/evbppc/conf/OPENBLOCKS266 1.22,1.25 via patch
sys/arch/evbppc/include/obs266.h 1.1 (new)
sys/arch/evbppc/include/obs405.h 1.1-1.5 (new)
sys/arch/evbppc/include/rbus_machdep.h 1.1 (new)
sys/arch/evbppc/obs405/consinit.c 1.2-1.4
sys/arch/evbppc/obs405/dev/x1226.c deleted
sys/arch/evbppc/obs405/dev/x1226reg.h deleted
sys/arch/evbppc/obs405/machdep.c deleted
sys/arch/evbppc/obs405/obs266_autoconf.c 1.1 (new)
sys/arch/evbppc/obs405/obs266_machdep.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_autoconf.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_machdep.c 1.1 (new)
sys/arch/evbppc/obs405/rbus_machdep.c 1.1 (new)
sys/arch/powerpc/conf/files.ibm4xx 1.6-1.7
sys/arch/powerpc/ibm4xx/board_prop.c 1.1 (new)
sys/arch/powerpc/ibm4xx/dev/com_opb.c 1.12
sys/arch/powerpc/ibm4xx/dev/comopbvar.h 1.1 (new)
sys/arch/powerpc/ibm4xx/ibm40x_machdep.c 1.3-1.4
sys/arch/powerpc/ibm4xx/ibm4xx_autoconf.c 1.1-1.2 (new)
sys/arch/powerpc/ibm4xx/ibm4xx_machdep.c 1.1-1.3 (new)
sys/arch/powerpc/ibm4xx/ibm4xxgpx_autoconf.c 1.2-1.3
sys/arch/powerpc/ibm4xx/openbios/openbios.c 1.1 (new)
sys/arch/powerpc/include/ibm4xx/cpu.h 1.7-1.10
sys/arch/powerpc/include/ibm4xx/openbios.h 1.1 (new)

Update OpenBlockS266 support to more modern, stable sources.
 1.1.4.1 04-Sep-2005  riz file rbus_machdep.c was added on branch netbsd-2 on 2005-09-15 14:28:44 +0000
 1.1.2.2 14-Sep-2005  tron Apply patch (requested by shige in ticket #763):
Synchronize OpenBlockS266 port with NetBSD-current for enhanced stability.
 1.1.2.1 04-Sep-2005  tron file rbus_machdep.c was added on branch netbsd-3 on 2005-09-14 20:54:00 +0000
 1.2.94.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.2.88.1 28-Apr-2009  skrll Sync with HEAD.
 1.2.80.1 04-May-2009  yamt sync with head.
 1.2.18.2 21-Jun-2006  yamt sync with head.
 1.2.18.1 11-Dec-2005  yamt file rbus_machdep.c was added on branch yamt-lazymbuf on 2006-06-21 14:51:08 +0000
 1.3.4.1 05-Mar-2011  rmind sync with head
 1.5.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.6.4.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.8.6.1 29-Apr-2012  mrg sync to latest -current.
 1.8.2.1 17-Apr-2012  yamt sync with head
 1.9.40.1 10-Jun-2019  christos Sync with HEAD
 1.5 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.4 22-Feb-2007  thorpej branches: 1.4.78;
TRUE -> true, FALSE -> false
 1.3 05-May-2006  thorpej branches: 1.3.14;
Remove the devprop API and switch everthing over to the new proplib. Add
a new device_properties() accessor for device_t that returns the device's
property dictionary.
 1.2 11-Dec-2005  christos branches: 1.2.4; 1.2.6; 1.2.8; 1.2.10; 1.2.12;
merge ktrace-lwp.
 1.1 18-Mar-2005  shige branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Add sources for OpenBlockS200 (OpenBlockS S/R) machine.
 1.1.8.2 26-Feb-2007  yamt sync with head.
 1.1.8.1 21-Jun-2006  yamt sync with head.
 1.1.6.2 29-Apr-2005  kent sync with -current
 1.1.6.1 18-Mar-2005  kent file century_bios.c was added on branch kent-audio2 on 2005-04-29 11:28:09 +0000
 1.1.4.2 01-Apr-2005  skrll Sync with HEAD.
 1.1.4.1 18-Mar-2005  skrll file century_bios.c was added on branch ktrace-lwp on 2005-04-01 14:27:26 +0000
 1.1.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.2.1 18-Mar-2005  yamt file century_bios.c was added on branch yamt-km on 2005-03-19 08:32:58 +0000
 1.2.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.10.1 11-May-2006  elad sync with head
 1.2.8.1 24-May-2006  yamt sync with head.
 1.2.6.1 01-Jun-2006  kardel Sync with head.
 1.2.4.1 09-Sep-2006  rpaulo sync with head
 1.3.14.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.4.78.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.12 07-Sep-2024  andvar spelling and grammar fixes, mainly in comments.
 1.11 15-Jan-2024  andvar branches: 1.11.2;
Fix few typos in comments, mainly s/argment/argument/.
 1.10 25-Feb-2014  pooka Ensure that the top level sysctl nodes (kern, vfs, net, ...) exist before
the sysctl link sets are processed, and remove redundancy.

Shaves >13kB off of an amd64 GENERIC, not to mention >1k duplicate
lines of code.
 1.9 02-Jun-2012  dsl branches: 1.9.2; 1.9.4;
Add some pre-processor magic to verify that the type of the data item
passed to sysctl_createv() actually matches the declared type for
the item itself.
In the places where the caller specifies a function and a structure
address (typically the 'softc') an explicit (void *) cast is now needed.
Fixes bugs in sys/dev/acpi/asus_acpi.c sys/dev/bluetooth/bcsp.c
sys/kern/vfs_bio.c sys/miscfs/syncfs/sync_subr.c and setting
AcpiGbl_EnableAmlDebugObject.
(mostly passing the address of a uint64_t when typed as CTLTYPE_INT).
I've test built quite a few kernels, but there may be some unfixed MD
fallout. Most likely passing &char[] to char *.
Also add CTLFLAG_UNSIGNED for unsiged decimals - not set yet.
 1.8 18-Jun-2011  matt branches: 1.8.2;
split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.7 05-Nov-2009  dyoung branches: 1.7.10;
Use deviter(9) instead of accessing alldevs directly. Untested.
 1.6 28-Mar-2006  thorpej branches: 1.6.66;
Use device_unit().
 1.5 26-Feb-2006  thorpej branches: 1.5.2; 1.5.4; 1.5.6;
Use device_is_a()
 1.4 11-Dec-2005  christos branches: 1.4.2; 1.4.4; 1.4.6;
merge ktrace-lwp.
 1.3 04-Sep-2005  shige Support LED-control via sysctl (on=1/off=0).
Sysctl name: hw.obsled.led{1,2,4}.

Submitted by kiyohara.
 1.2 18-Mar-2005  shige branches: 1.2.2; 1.2.4;
Rearrange codes for OpenBlockS266 machine.
 1.1 24-Jan-2005  shige branches: 1.1.2; 1.1.4; 1.1.8;
Add OpenBlockS266 GPIO LED Driver.
 1.1.8.1 14-Sep-2005  tron Apply patch (requested by shige in ticket #763):
Synchronize OpenBlockS266 port with NetBSD-current for enhanced stability.
 1.1.4.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.4.3 01-Apr-2005  skrll Sync with HEAD.
 1.1.4.2 04-Feb-2005  skrll Sync with HEAD.
 1.1.4.1 24-Jan-2005  skrll file obsled.c was added on branch ktrace-lwp on 2005-02-04 11:44:18 +0000
 1.1.2.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.2.4.1 21-Jun-2006  yamt sync with head.
 1.2.2.2 29-Apr-2005  kent sync with -current
 1.2.2.1 18-Mar-2005  kent file obsled.c was added on branch kent-audio2 on 2005-04-29 11:28:09 +0000
 1.4.6.1 22-Apr-2006  simonb Sync with head.
 1.4.4.1 09-Sep-2006  rpaulo sync with head
 1.4.2.1 01-Mar-2006  yamt sync with head.
 1.5.6.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.5.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.5.2.1 01-Apr-2006  yamt sync with head.
 1.6.66.1 11-Mar-2010  yamt sync with head
 1.7.10.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.8.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.8.2.1 30-Oct-2012  yamt sync with head
 1.9.4.1 18-May-2014  rmind sync with head
 1.9.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.11.2.1 02-Aug-2025  perseant Sync with HEAD
 1.2 17-Dec-2004  shige X1226 RTC is connected to IBM405GPr On-chip IIC(I2C).
These files were already moved to sys/dev/i2c.
We don't need these files.
 1.1 23-Sep-2003  shige branches: 1.1.4; 1.1.8;
Add new evbppc port.
This port is for OpenBlockS266.
OpenBlockS266: IBM405GPr OpenBIOS.
X1226 is a rtc chip connected with IIC bus.
 1.1.8.1 15-Sep-2005  riz Pull up following revision(s) (requested by shige in ticket #5820):
distrib/evbppc/md-kernel/Makefile 1.3 via patch
etc/etc.evbppc/Makefile.inc 1.3 via patch
sys/arch/evbppc/conf/files.obs405 1.5-1.8 via patch
sys/arch/evbppc/conf/OPENBLOCKS266 1.22,1.25 via patch
sys/arch/evbppc/include/obs266.h 1.1 (new)
sys/arch/evbppc/include/obs405.h 1.1-1.5 (new)
sys/arch/evbppc/include/rbus_machdep.h 1.1 (new)
sys/arch/evbppc/obs405/consinit.c 1.2-1.4
sys/arch/evbppc/obs405/dev/x1226.c deleted
sys/arch/evbppc/obs405/dev/x1226reg.h deleted
sys/arch/evbppc/obs405/machdep.c deleted
sys/arch/evbppc/obs405/obs266_autoconf.c 1.1 (new)
sys/arch/evbppc/obs405/obs266_machdep.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_autoconf.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_machdep.c 1.1 (new)
sys/arch/evbppc/obs405/rbus_machdep.c 1.1 (new)
sys/arch/powerpc/conf/files.ibm4xx 1.6-1.7
sys/arch/powerpc/ibm4xx/board_prop.c 1.1 (new)
sys/arch/powerpc/ibm4xx/dev/com_opb.c 1.12
sys/arch/powerpc/ibm4xx/dev/comopbvar.h 1.1 (new)
sys/arch/powerpc/ibm4xx/ibm40x_machdep.c 1.3-1.4
sys/arch/powerpc/ibm4xx/ibm4xx_autoconf.c 1.1-1.2 (new)
sys/arch/powerpc/ibm4xx/ibm4xx_machdep.c 1.1-1.3 (new)
sys/arch/powerpc/ibm4xx/ibm4xxgpx_autoconf.c 1.2-1.3
sys/arch/powerpc/ibm4xx/openbios/openbios.c 1.1 (new)
sys/arch/powerpc/include/ibm4xx/cpu.h 1.7-1.10
sys/arch/powerpc/include/ibm4xx/openbios.h 1.1 (new)

Update OpenBlockS266 support to more modern, stable sources.
 1.1.4.5 18-Dec-2004  skrll Sync with HEAD.
 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 23-Sep-2003  skrll file x1226.c was added on branch ktrace-lwp on 2004-08-03 10:34:16 +0000
 1.2 17-Dec-2004  shige X1226 RTC is connected to IBM405GPr On-chip IIC(I2C).
These files were already moved to sys/dev/i2c.
We don't need these files.
 1.1 23-Sep-2003  shige branches: 1.1.4; 1.1.8;
Add new evbppc port.
This port is for OpenBlockS266.
OpenBlockS266: IBM405GPr OpenBIOS.
X1226 is a rtc chip connected with IIC bus.
 1.1.8.1 15-Sep-2005  riz Pull up following revision(s) (requested by shige in ticket #5820):
distrib/evbppc/md-kernel/Makefile 1.3 via patch
etc/etc.evbppc/Makefile.inc 1.3 via patch
sys/arch/evbppc/conf/files.obs405 1.5-1.8 via patch
sys/arch/evbppc/conf/OPENBLOCKS266 1.22,1.25 via patch
sys/arch/evbppc/include/obs266.h 1.1 (new)
sys/arch/evbppc/include/obs405.h 1.1-1.5 (new)
sys/arch/evbppc/include/rbus_machdep.h 1.1 (new)
sys/arch/evbppc/obs405/consinit.c 1.2-1.4
sys/arch/evbppc/obs405/dev/x1226.c deleted
sys/arch/evbppc/obs405/dev/x1226reg.h deleted
sys/arch/evbppc/obs405/machdep.c deleted
sys/arch/evbppc/obs405/obs266_autoconf.c 1.1 (new)
sys/arch/evbppc/obs405/obs266_machdep.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_autoconf.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_machdep.c 1.1 (new)
sys/arch/evbppc/obs405/rbus_machdep.c 1.1 (new)
sys/arch/powerpc/conf/files.ibm4xx 1.6-1.7
sys/arch/powerpc/ibm4xx/board_prop.c 1.1 (new)
sys/arch/powerpc/ibm4xx/dev/com_opb.c 1.12
sys/arch/powerpc/ibm4xx/dev/comopbvar.h 1.1 (new)
sys/arch/powerpc/ibm4xx/ibm40x_machdep.c 1.3-1.4
sys/arch/powerpc/ibm4xx/ibm4xx_autoconf.c 1.1-1.2 (new)
sys/arch/powerpc/ibm4xx/ibm4xx_machdep.c 1.1-1.3 (new)
sys/arch/powerpc/ibm4xx/ibm4xxgpx_autoconf.c 1.2-1.3
sys/arch/powerpc/ibm4xx/openbios/openbios.c 1.1 (new)
sys/arch/powerpc/include/ibm4xx/cpu.h 1.7-1.10
sys/arch/powerpc/include/ibm4xx/openbios.h 1.1 (new)

Update OpenBlockS266 support to more modern, stable sources.
 1.1.4.5 18-Dec-2004  skrll Sync with HEAD.
 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 23-Sep-2003  skrll file x1226reg.h was added on branch ktrace-lwp on 2004-08-03 10:34:16 +0000
 1.7 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.6 18-Jun-2011  matt branches: 1.6.2; 1.6.8;
split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.5 18-Mar-2009  cegger branches: 1.5.10;
Ansify function definitions w/o arguments. Generated with sed.
 1.4 12-Feb-2008  joerg branches: 1.4.10; 1.4.18; 1.4.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.3 05-Dec-2007  tsutsui Use TAILQ_FIRST(3) and TAILQ_NEXT(3) macro.
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; 1.2.10;
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 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file autoconf.c was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.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.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.10.1 08-Dec-2007  ad Sync with head.
 1.2.8.4 23-Mar-2008  matt sync with HEAD
 1.2.8.3 09-Jan-2008  matt sync with HEAD
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file autoconf.c was added on branch matt-armv6 on 2007-11-06 23:16:19 +0000
 1.2.6.2 18-Feb-2008  mjf Sync with HEAD.
 1.2.6.1 08-Dec-2007  mjf Sync with HEAD.
 1.2.4.4 27-Feb-2008  yamt sync with head.
 1.2.4.3 07-Dec-2007  yamt sync with head
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file autoconf.c was added on branch yamt-lazymbuf on 2007-10-27 11:25:56 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file autoconf.c was added on branch vmlocking on 2007-10-23 20:35:45 +0000
 1.4.24.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.4.18.1 28-Apr-2009  skrll Sync with HEAD.
 1.4.10.1 04-May-2009  yamt sync with head.
 1.5.10.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.6.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.6.2.1 30-Oct-2012  yamt sync with head
 1.1 08-May-2007  garbled branches: 1.1.2;
file kgdb_glue.c was initially added on branch ppcoea-renovation.
 1.1.2.2 09-May-2007  garbled Four copies of this file, all the same. New one lives in powerpc/oea.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.16 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.15 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.14 15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.13 22-Dec-2016  cherry branches: 1.13.14; 1.13.16;
switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.12 01-Mar-2013  joerg branches: 1.12.14; 1.12.18;
Retire OSI network stack. OK core@
 1.11 20-Jun-2011  matt branches: 1.11.2; 1.11.12;
Cleanup includes. (<net/netisr.h> is handled by softints, not MD anymore,
so this can be nuked).
 1.10 20-Dec-2010  matt branches: 1.10.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.9 11-Dec-2010  matt Don't init cpu_initclocks too early since that results in decrementer
exceptions before the exceptions have been setup.
 1.8 21-Nov-2009  rmind branches: 1.8.4;
Use lwp_getpcb() on mips, powerpc and sh3, clean from struct user usage.
 1.7 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.6 30-Nov-2008  martin branches: 1.6.4;
As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.5 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

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

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

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

I hope that this patch will stop us from flip-flopping between
calling doshutdownhooks() and pmf_system_shutdown() sometimes with
and sometimes without interrupts enabled.
 1.3 28-Apr-2008  martin branches: 1.3.6; 1.3.8; 1.3.18;
Remove clause 3 and 4 from TNF licenses
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.8; 1.2.22; 1.2.24; 1.2.26;
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 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file machdep.c was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.4 16-Oct-2007  garbled if 0 out a rather strange looking initialization of struct cpu_info to
make PMPPC compile again.
 1.1.2.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.1.2.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.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.26.3 11-Mar-2010  yamt sync with head
 1.2.26.2 04-May-2009  yamt sync with head.
 1.2.26.1 16-May-2008  yamt sync with head.
 1.2.24.1 18-May-2008  yamt sync with head.
 1.2.22.2 17-Jan-2009  mjf Sync with HEAD.
 1.2.22.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file machdep.c was added on branch matt-armv6 on 2007-11-06 23:16:19 +0000
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file machdep.c was added on branch yamt-lazymbuf on 2007-10-27 11:25:57 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file machdep.c was added on branch vmlocking on 2007-10-23 20:35:46 +0000
 1.3.18.2 18-Feb-2011  matt Add a call to cpu_model_init() after bss is cleared.
 1.3.18.1 07-Jan-2011  matt cpu_initclocks should not be done this early.
 1.3.8.2 28-Apr-2009  skrll Sync with HEAD.
 1.3.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.3.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.6.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.4.1 05-Mar-2011  rmind sync with head
 1.10.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.11.12.2 03-Dec-2017  jdolecek update from HEAD
 1.11.12.1 23-Jun-2013  tls resync from head
 1.11.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.12.18.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.12.14.1 05-Feb-2017  skrll Sync with HEAD
 1.13.16.1 10-Jun-2019  christos Sync with HEAD
 1.13.14.1 28-Jul-2018  pgoyette Sync with HEAD
 1.8 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.7 24-Apr-2021  thorpej branches: 1.7.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.6 01-Jul-2011  dyoung branches: 1.6.68;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.5 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.4 05-Jun-2011  matt struct device * -> device_t, struct cfdata * -> cfdata_t
CFATTACH_DECL(*, sizeof(struct device), -> CFATTACH_DECL_NEW(&, 0
 1.3 28-Apr-2008  martin branches: 1.3.22; 1.3.28; 1.3.32;
Remove clause 3 and 4 from TNF licenses
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.8; 1.2.22; 1.2.24; 1.2.26;
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 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file mainbus.c was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.26.1 16-May-2008  yamt sync with head.
 1.2.24.1 18-May-2008  yamt sync with head.
 1.2.22.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file mainbus.c was added on branch matt-armv6 on 2007-11-06 23:16:20 +0000
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file mainbus.c was added on branch yamt-lazymbuf on 2007-10-27 11:25:57 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file mainbus.c was added on branch vmlocking on 2007-10-23 20:35:47 +0000
 1.3.32.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.3.28.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.22.1 12-Jun-2011  rmind sync with head
 1.6.68.3 22-Mar-2021  thorpej Audit CFARG_IATTR in config_found() calls, and remove it in situations
where the interface attribute is not ambiguous.
 1.6.68.2 22-Mar-2021  thorpej Mechanical conversion of config_found_sm_loc() -> config_found().
CFARG_IATTR usage needs to be audited.
 1.6.68.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.7.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.8 21-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.7 10-Nov-2019  chs branches: 1.7.8;
in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.6 01-Jul-2011  dyoung branches: 1.6.54;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.5 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.4 28-Apr-2008  martin branches: 1.4.22;
Remove clause 3 and 4 from TNF licenses
 1.3 24-Apr-2008  alc branches: 1.3.2;
add a dummy argument to cpc700_get_irq() to match the function pointer's
prototype in `struct pic_ops'.

fix build of PMPPC

ok garbled@
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.8; 1.2.22; 1.2.24;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.1 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file pic_cpc700.c was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.24.1 18-May-2008  yamt sync with head.
 1.2.22.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file pic_cpc700.c was added on branch matt-armv6 on 2007-11-06 23:16:21 +0000
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file pic_cpc700.c was added on branch yamt-lazymbuf on 2007-10-27 11:25:58 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file pic_cpc700.c was added on branch vmlocking on 2007-10-23 20:35:47 +0000
 1.3.2.1 16-May-2008  yamt sync with head.
 1.4.22.1 05-Mar-2011  rmind sync with head
 1.6.54.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.7.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.13 26-Feb-2021  thorpej Declare oeacpufeat once, in powerpc/oea/cpu_subr.c, rather than in
N different locore.S files.
 1.12 15-Jul-2018  maxv branches: 1.12.12;
Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.11 20-Jun-2011  matt branches: 1.11.52; 1.11.54;
Don't include *pmap.h in assembly files. Get the needed definitions
from "assym.h".
 1.10 18-Jun-2011  matt Make a common genassym.cf (powerpc/genassym.cf) and then
only put specific stuff in foo/genassym.cf
 1.9 17-Jan-2011  matt branches: 1.9.4;
Kill _NOREGNAMES. Everything should be using %rX now. If it doesn't it
soon will.
 1.8 11-Dec-2010  matt branches: 1.8.2;
Don't use r0 in INIT_CPUINFO since it has special meaning to add instructions.
 1.7 03-Mar-2010  pooka branches: 1.7.2;
Fix some historical powerpc curiocity which had kernfs depend on
startsym/endsym, and which crept into most powerpc ports.
 1.6 27-Feb-2010  snj Spell "exception" properly.
 1.5 25-Feb-2010  matt Adapt to <spr.h> breakup.
 1.4 26-Nov-2009  matt branches: 1.4.2;
Kill proc0paddr. Use lwp0.l_addr instead.
 1.3 05-Feb-2008  garbled branches: 1.3.10; 1.3.32;
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.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 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file pmppc_locore.S was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.1 08-May-2007  garbled Forgot to add this file in the pmppc->ebvppc move
 1.2.8.3 23-Mar-2008  matt sync with HEAD
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file pmppc_locore.S was added on branch matt-armv6 on 2007-11-06 23:16:21 +0000
 1.2.6.1 18-Feb-2008  mjf Sync with HEAD.
 1.2.4.3 11-Feb-2008  yamt sync with head.
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file pmppc_locore.S was added on branch yamt-lazymbuf on 2007-10-27 11:25:58 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file pmppc_locore.S was added on branch vmlocking on 2007-10-23 20:35:48 +0000
 1.3.32.1 07-Jan-2011  matt Deal with the splitting of <spr.h>
 1.3.10.1 11-Mar-2010  yamt sync with head
 1.4.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.7.2.1 05-Mar-2011  rmind sync with head
 1.8.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.9.4.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.11.54.1 10-Jun-2019  christos Sync with HEAD
 1.11.52.1 28-Jul-2018  pgoyette Sync with HEAD
 1.12.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.8 21-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.7 10-Nov-2019  chs branches: 1.7.8;
in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.6 01-Jul-2011  dyoung branches: 1.6.54;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.5 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.4 06-Jun-2011  matt More device_t, cfdata, CFATTACH_DECL_NEW cleanup.
 1.3 28-Apr-2008  martin branches: 1.3.22; 1.3.32;
Remove clause 3 and 4 from TNF licenses
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.8; 1.2.22; 1.2.24; 1.2.26;
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 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file cpc_mainbus.c was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.2 09-May-2007  garbled Convert pmppc to generic pci. Also fix the prototype for
pci_conf_interrupt while I'm here.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.26.1 16-May-2008  yamt sync with head.
 1.2.24.1 18-May-2008  yamt sync with head.
 1.2.22.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file cpc_mainbus.c was added on branch matt-armv6 on 2007-11-06 23:16:22 +0000
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file cpc_mainbus.c was added on branch yamt-lazymbuf on 2007-10-27 11:25:59 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file cpc_mainbus.c was added on branch vmlocking on 2007-10-23 20:35:49 +0000
 1.3.32.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.3.22.1 12-Jun-2011  rmind sync with head
 1.6.54.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.7.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.8 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.7 09-Dec-2010  uebayasi Fix DEBUG build.
 1.6 28-Apr-2008  martin branches: 1.6.22;
Remove clause 3 and 4 from TNF licenses
 1.5 29-Mar-2008  tsutsui branches: 1.5.2; 1.5.4;
Don't forget to initialize sc_dev.
 1.4 28-Mar-2008  tsutsui Split device_t and softc for MI mc146818 clock,
and other related misc cosmetics.
 1.3 10-Jan-2008  tsutsui branches: 1.3.6;
Move todr_attach(9) calls from each MD attachment to MI mc146818_attach().
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; 1.2.14;
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 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file ds17485.c was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.14.1 10-Jan-2008  bouyer Sync with HEAD
 1.2.8.3 23-Mar-2008  matt sync with HEAD
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file ds17485.c was added on branch matt-armv6 on 2007-11-06 23:16:22 +0000
 1.2.6.1 18-Feb-2008  mjf Sync with HEAD.
 1.2.4.3 21-Jan-2008  yamt sync with head
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file ds17485.c was added on branch yamt-lazymbuf on 2007-10-27 11:26:00 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file ds17485.c was added on branch vmlocking on 2007-10-23 20:35:50 +0000
 1.3.6.2 02-Jun-2008  mjf Sync with HEAD.
 1.3.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.5.4.1 16-May-2008  yamt sync with head.
 1.5.2.1 18-May-2008  yamt sync with head.
 1.6.22.1 05-Mar-2011  rmind sync with head
 1.5 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.4 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 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.2; 1.2.4; 1.2.8; 1.2.22; 1.2.24; 1.2.26;
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 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file flash.c was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.26.1 16-May-2008  yamt sync with head.
 1.2.24.1 18-May-2008  yamt sync with head.
 1.2.22.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file flash.c was added on branch matt-armv6 on 2007-11-06 23:16:23 +0000
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file flash.c was added on branch yamt-lazymbuf on 2007-10-27 11:26:00 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file flash.c was added on branch vmlocking on 2007-10-23 20:35:50 +0000
 1.3.32.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.10 03-Feb-2025  andvar fix various typos in comments.
 1.9 16-Feb-2022  riastradh branches: 1.9.10;
powerpc: Sprinkle "memory" clobbers on eieio and nearby asm blocks.

Otherwise the compiler may reorder these around loads and stores,
which mostly defeats the purpose. `asm volatile' just ensures the
instruction isn't _deleted_; it may still move around.
 1.8 13-Apr-2015  riastradh MD rnd.h cleanups. Please let me know if I broke anything!
 1.7 02-Feb-2012  tls branches: 1.7.6; 1.7.24;
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.
 1.6 20-Jun-2011  matt branches: 1.6.2; 1.6.6;
Cleanup includes.
 1.5 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.4 22-Sep-2009  tsutsui branches: 1.4.10;
Split device_t/softc. Tested only on cs at ofisa on shark.
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.8; 1.2.22; 1.2.24; 1.2.26;
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 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file if_cs_mainbus.c was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.26.2 11-Mar-2010  yamt sync with head
 1.2.26.1 16-May-2008  yamt sync with head.
 1.2.24.1 18-May-2008  yamt sync with head.
 1.2.22.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file if_cs_mainbus.c was added on branch matt-armv6 on 2007-11-06 23:16:24 +0000
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file if_cs_mainbus.c was added on branch yamt-lazymbuf on 2007-10-27 11:26:01 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file if_cs_mainbus.c was added on branch vmlocking on 2007-10-23 20:35:51 +0000
 1.4.10.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.6.6.1 18-Feb-2012  mrg merge to -current.
 1.6.2.1 17-Apr-2012  yamt sync with head
 1.7.24.1 06-Jun-2015  skrll Sync with HEAD
 1.7.6.1 03-Dec-2017  jdolecek update from HEAD
 1.9.10.1 02-Aug-2025  perseant Sync with HEAD
 1.5 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.4 22-Jun-2011  matt Make pmppc use stock <powerpc/pci_machdep.h>
Move some private declartions to <pmppc/dev/mainbus.h>
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.8; 1.2.22; 1.2.24; 1.2.26;
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 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file mainbus.h was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.26.1 16-May-2008  yamt sync with head.
 1.2.24.1 18-May-2008  yamt sync with head.
 1.2.22.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file mainbus.h was added on branch matt-armv6 on 2007-11-06 23:16:25 +0000
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file mainbus.h was added on branch yamt-lazymbuf on 2007-10-27 11:26:01 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file mainbus.h was added on branch vmlocking on 2007-10-23 20:35:52 +0000
 1.1 08-May-2007  garbled branches: 1.1.2;
file pchb.c was initially added on branch ppcoea-renovation.
 1.1.2.2 09-May-2007  garbled Convert pmppc to generic pci. Also fix the prototype for
pci_conf_interrupt while I'm here.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.7 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.6 19-Oct-2016  nonaka Added MSI/MSI-X and interrupt_distribute(9) support for powerpc.
 1.5 30-Jun-2011  matt branches: 1.5.12; 1.5.30; 1.5.34;
Modify mapiodev to take a third argument indicating whether the space
should be prefetchable (true) or not (false).
 1.4 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.3 04-Apr-2011  dyoung Neither pci_dma64_available(), pci_probe_device(), pci_mapreg_map(9),
pci_find_rom(), pci_intr_map(9), pci_enumerate_bus(), nor the match
predicate passed to pciide_compat_intr_establish() should ever modify
their pci_attach_args argument, so make their pci_attach_args arguments
const and deal with the fallout throughout the kernel.

For the most part, these changes add a 'const' where there was no
'const' before, however, some drivers and MD code used to modify
pci_attach_args. Now those drivers either copy their pci_attach_args
and modify the copy, or refrain from modifying pci_attach_args:

Xen: according to Manuel Bouyer, writing to pci_attach_args in
pci_intr_map() was a leftover from Xen 2. Probably a bug. I
stopped writing it. I have not tested this change.

siside(4): sis_hostbr_match() needlessly wrote to pci_attach_args.
Probably a bug. I use a temporary variable. I have not tested this
change.

slide(4): sl82c105_chip_map() overwrote the caller's pci_attach_args.
Probably a bug. Use a local pci_attach_args. I have not tested
this change.

viaide(4): via_sata_chip_map() and via_sata_chip_map_new() overwrote the
caller's pci_attach_args. Probably a bug. Make a local copy of the
caller's pci_attach_args and modify the copy. I have not tested
this change.

While I'm here, make pci_mapreg_submap() static.

With these changes in place, I have tested the compilation of these
kernels:

alpha GENERIC
amd64 GENERIC XEN3_DOM0
arc GENERIC
atari HADES MILAN-PCIIDE
bebox GENERIC
cats GENERIC
cobalt GENERIC
evbarm-eb NSLU2
evbarm-el ADI_BRH ARMADILLO9 CP3100 GEMINI GEMINI_MASTER GEMINI_SLAVE GUMSTIX
HDL_G IMX31LITE INTEGRATOR IQ31244 IQ80310 IQ80321 IXDP425 IXM1200
KUROBOX_PRO LUBBOCK MARVELL_NAS NAPPI SHEEVAPLUG SMDK2800 TEAMASA_NPWR
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
OPENBLOCKS266_OPT P2020RDB PMPPC RB800 WALNUT
hp700 GENERIC
i386 ALL XEN3_DOM0 XEN3_DOMU
ibmnws GENERIC
macppc GENERIC
mvmeppc GENERIC
netwinder GENERIC
ofppc GENERIC
prep GENERIC
sandpoint GENERIC
sgimips GENERIC32_IP2x
sparc GENERIC_SUN4U KRUPS
sparc64 GENERIC

As of Sun Apr 3 15:26:26 CDT 2011, I could not compile these kernels
with or without my patches in place:

### evbmips-el GDIUM

nbmake: nbmake: don't know how to make /home/dyoung/pristine-nbsd/src/sys/arch/mips/mips/softintr.c. Stop

### evbarm-el MPCSA_GENERIC
src/sys/arch/evbarm/conf/MPCSA_GENERIC:318: ds1672rtc*: unknown device `ds1672rtc'

### ia64 GENERIC

/tmp/genassym.28085/assym.c: In function 'f111':
/tmp/genassym.28085/assym.c:67: error: invalid application of 'sizeof' to incomplete type 'struct pcb'
/tmp/genassym.28085/assym.c:76: error: dereferencing pointer to incomplete type

### sgimips GENERIC32_IP3x

crmfb.o: In function `crmfb_attach':
crmfb.c:(.text+0x2304): undefined reference to `ddc_read_edid'
crmfb.c:(.text+0x2304): relocation truncated to fit: R_MIPS_26 against `ddc_read_edid'
crmfb.c:(.text+0x234c): undefined reference to `edid_parse'
crmfb.c:(.text+0x234c): relocation truncated to fit: R_MIPS_26 against `edid_parse'
crmfb.c:(.text+0x2354): undefined reference to `edid_print'
crmfb.c:(.text+0x2354): relocation truncated to fit: R_MIPS_26 against `edid_print'
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.8; 1.2.48; 1.2.54;
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 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file pci_machdep.c was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.2 09-May-2007  garbled Convert pmppc to generic pci. Also fix the prototype for
pci_conf_interrupt while I'm here.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.54.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.48.1 21-Apr-2011  rmind sync with head
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file pci_machdep.c was added on branch matt-armv6 on 2007-11-06 23:16:25 +0000
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file pci_machdep.c was added on branch yamt-lazymbuf on 2007-10-27 11:26:02 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file pci_machdep.c was added on branch vmlocking on 2007-10-23 20:35:53 +0000
 1.5.34.1 04-Nov-2016  pgoyette Sync with HEAD
 1.5.30.1 05-Dec-2016  skrll Sync with HEAD
 1.5.12.1 03-Dec-2017  jdolecek update from HEAD
 1.7 24-Apr-2021  thorpej 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.6 29-Mar-2021  rin Make VIRTEX_* kernels compile. Not tested.
 1.5 29-Jul-2012  mlelstv branches: 1.5.52; 1.5.54;
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.4 12-Dec-2011  kiyohara branches: 1.4.2;
Fix hangs-up. Remove "wrteei 1" in board's cpu_configure(). Interrupt
is enabled in powerpc-layer.
 1.3 18-Jun-2011  matt branches: 1.3.2; 1.3.6;
split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.2 18-Mar-2010  kiyohara branches: 1.2.6;
Support PowerPC 405EX/EXr.
1. Add some new source and header files.
(MAL(split) and RGMII(new) relations for EMAC)
2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h.
3. intr.c supports MULTIUIC with virtual-irq. likes to oea.
support 32-virq/128-hwirq.
4. multiple emac support.
5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx.
6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.54; 1.1.74; 1.1.76;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.76.1 30-May-2010  rmind sync with head
 1.1.74.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.1.54.1 11-Aug-2010  yamt sync with head.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file autoconf.c was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file autoconf.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file autoconf.c was added on branch yamt-splraiseipl on 2006-12-10 07:15:53 +0000
 1.2.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.3.6.1 18-Feb-2012  mrg merge to -current.
 1.3.2.2 30-Oct-2012  yamt sync with head
 1.3.2.1 17-Apr-2012  yamt sync with head
 1.4.2.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.5.54.2 03-Apr-2021  thorpej Sync with HEAD.
 1.5.54.1 02-Apr-2021  thorpej config_found_ia() -> config_found() w/ CFARG_IATTR.
 1.5.52.1 03-Apr-2021  thorpej Sync with HEAD.
 1.4 29-Mar-2021  rin Make VIRTEX_* kernels compile. Not tested.
 1.3 01-Jul-2011  dyoung branches: 1.3.66; 1.3.68;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.2 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.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.12; 1.1.20; 1.1.28; 1.1.30; 1.1.32; 1.1.34;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.34.1 25-Oct-2007  bouyer Sync with HEAD.
 1.1.32.1 18-Oct-2007  yamt sync with head.
 1.1.30.1 06-Nov-2007  matt sync with HEAD
 1.1.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.1.20.1 28-May-2007  freza Add KGDB support to evbppc/virtex port. From Jean-Francois Boudreault,
cosmetics by me.

While there, generalize virtex_console_tag() to virtex_bus_space_tag()
and fix one instance of yamt-idlelwp fallout (ci_need_resched renamed
to ci_want_resched).

XXX Only compile tested since my access to suitable Virtex HW is sporadic
XXX at best.
 1.1.12.1 23-Oct-2007  ad Sync with head.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file consinit.c was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.3 27-Oct-2007  yamt sync with head.
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file consinit.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file consinit.c was added on branch yamt-splraiseipl on 2006-12-10 07:15:53 +0000
 1.3.68.1 03-Apr-2021  thorpej Sync with HEAD.
 1.3.66.1 03-Apr-2021  thorpej Sync with HEAD.
 1.4 27-Feb-2025  andvar Fix various typos in comments.
 1.3 10-Mar-2022  riastradh branches: 1.3.10;
powerpc: Implement bus_space_barrier as eieio.
 1.2 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file dcr.c was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file dcr.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file dcr.c was added on branch yamt-splraiseipl on 2006-12-10 07:15:53 +0000
 1.3.10.1 02-Aug-2025  perseant Sync with HEAD
 1.3 10-Mar-2022  riastradh powerpc: Implement bus_space_barrier as eieio.
 1.2 21-Oct-2021  andvar fix various typos, mainly in comments, but also in man pages and log messages.
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file dcr.h was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file dcr.h was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file dcr.h was added on branch yamt-splraiseipl on 2006-12-10 07:15:53 +0000
 1.8 17-Feb-2022  riastradh evbppc: fix typo from cfargs rototill.
 1.7 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.6 24-Apr-2021  thorpej branches: 1.6.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.5 21-Nov-2020  thorpej branches: 1.5.2;
malloc(9) -> kmem(9)
 1.4 10-Nov-2019  chs branches: 1.4.8;
in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.3 18-Jun-2011  matt branches: 1.3.54;
split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.2 17-Oct-2007  garbled branches: 1.2.52;
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 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.12; 1.1.20; 1.1.28; 1.1.30; 1.1.32; 1.1.34;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.34.1 25-Oct-2007  bouyer Sync with HEAD.
 1.1.32.1 18-Oct-2007  yamt sync with head.
 1.1.30.1 06-Nov-2007  matt sync with HEAD
 1.1.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.1.20.1 28-May-2007  freza Add KGDB support to evbppc/virtex port. From Jean-Francois Boudreault,
cosmetics by me.

While there, generalize virtex_console_tag() to virtex_bus_space_tag()
and fix one instance of yamt-idlelwp fallout (ci_need_resched renamed
to ci_want_resched).

XXX Only compile tested since my access to suitable Virtex HW is sporadic
XXX at best.
 1.1.12.1 23-Oct-2007  ad Sync with head.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file design_gsrd1.c was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.3 27-Oct-2007  yamt sync with head.
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file design_gsrd1.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file design_gsrd1.c was added on branch yamt-splraiseipl on 2006-12-10 07:15:53 +0000
 1.2.52.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.3.54.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.5.2.1 02-Apr-2021  thorpej config_found_ia() -> config_found() w/ CFARG_IATTR.
 1.6.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.9 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.8 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.7 24-Apr-2021  thorpej branches: 1.7.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.6 30-Mar-2021  rin G/C misleading <evbppc/tlb.h>. Use <powerpc/ibm4xx/tlb.h> directly.
 1.5 29-Mar-2021  rin Make VIRTEX_* kernels compile. Not tested.
 1.4 18-Jun-2011  matt branches: 1.4.66; 1.4.68;
split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.3 17-Oct-2007  garbled branches: 1.3.52;
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.2 22-Feb-2007  thorpej branches: 1.2.4; 1.2.12; 1.2.20; 1.2.22; 1.2.24; 1.2.26;
TRUE -> true, FALSE -> false
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.8.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file design_gsrd2.c was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.4 27-Oct-2007  yamt sync with head.
 1.1.4.3 26-Feb-2007  yamt sync with head.
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file design_gsrd2.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file design_gsrd2.c was added on branch yamt-splraiseipl on 2006-12-10 07:15:53 +0000
 1.2.26.1 25-Oct-2007  bouyer Sync with HEAD.
 1.2.24.1 18-Oct-2007  yamt sync with head.
 1.2.22.1 06-Nov-2007  matt sync with HEAD
 1.2.20.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.2.12.1 28-May-2007  freza Add KGDB support to evbppc/virtex port. From Jean-Francois Boudreault,
cosmetics by me.

While there, generalize virtex_console_tag() to virtex_bus_space_tag()
and fix one instance of yamt-idlelwp fallout (ci_need_resched renamed
to ci_want_resched).

XXX Only compile tested since my access to suitable Virtex HW is sporadic
XXX at best.
 1.2.4.1 23-Oct-2007  ad Sync with head.
 1.3.52.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.4.68.2 03-Apr-2021  thorpej Sync with HEAD.
 1.4.68.1 02-Apr-2021  thorpej config_found_ia() -> config_found() w/ CFARG_IATTR.
 1.4.66.1 03-Apr-2021  thorpej Sync with HEAD.
 1.7.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file idcr.h was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file idcr.h was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file idcr.h was added on branch yamt-splraiseipl on 2006-12-10 07:15:53 +0000
 1.31 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.30 03-Aug-2021  rin Switch evbppc/ibm4xx to generic evbppc (same as oea) kernel modules.

I've confirmed that kernels similar to amd64/conf/MODULAR work fine
both on 403 and 405.

XXX
Unfortunately, we cannot immediately switch evbppc/booke to generic
kernel modules yet; it has its own intr.h implementation.
 1.29 30-Mar-2021  rin Move common global variables, i.e., phys_map, machine, and machine_arch to
evbppc/evbppc_machdep.c (bad naming; used only for 4xx boards).
 1.28 30-Mar-2021  rin Centralize cpu_reboot().
 1.27 30-Mar-2021  rin G/C bootpath.
 1.26 29-Mar-2021  rin Make VIRTEX_* kernels compile. Not tested.
 1.25 11-Jun-2020  ad branches: 1.25.2; 1.25.4;
uvm_availmem(): give it a boolean argument to specify whether a recent
cached value will do, or if the very latest total must be fetched. It can
be called thousands of times a second and fetching the totals impacts not
only the calling LWP but other CPUs doing unrelated activity in the VM
system.
 1.24 31-Dec-2019  ad Rename uvm_free() -> uvm_availmem().
 1.23 21-Dec-2019  ad uvmexp.free -> uvm_free()
 1.22 15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.21 27-Jul-2012  matt branches: 1.21.38; 1.21.40;
Fix some -fno-common fallout
 1.20 20-Jun-2011  matt branches: 1.20.2;
Change IBM4xx to use the common powerpc PIC framework.
Consolidate most ibm4xx initppc function into ibm4xx_init
and Make all IBM4xx use it.
Change explora to use initppc instead of bootstrap.
 1.19 20-Jun-2011  matt Cleanup includes. (<net/netisr.h> is handled by softints, not MD anymore,
so this can be nuked).
 1.18 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.17 15-Jun-2011  matt lcsplx is dead. remove last vestiges of it.
 1.16 12-Jun-2011  mrg for booke and ibm4xx evbppc systems, set module_machine to to either
"powerpc-ibm4xx" or "powerpc-booke".
 1.15 17-Jan-2011  matt branches: 1.15.4;
Add #include <machine/pcb.h>
 1.14 25-Feb-2010  matt branches: 1.14.2; 1.14.4;
Adapt to <spr.h> breakup.
 1.13 08-Feb-2010  joerg Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
 1.12 27-Nov-2009  rmind branches: 1.12.2;
- 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.11 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.10 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.9 30-Nov-2008  martin branches: 1.9.4;
As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.8 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

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

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

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

I hope that this patch will stop us from flip-flopping between
calling doshutdownhooks() and pmf_system_shutdown() sometimes with
and sometimes without interrupts enabled.
 1.6 02-Jul-2008  ad branches: 1.6.2; 1.6.4; 1.6.14;
Replce exec_map with a pool. Proposed on tech-kern@, reviewed by chs@.
 1.5 17-Oct-2007  garbled branches: 1.5.16; 1.5.20; 1.5.22; 1.5.24;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.4 04-Mar-2007  christos branches: 1.4.2; 1.4.10; 1.4.18; 1.4.20; 1.4.22; 1.4.24;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.3 22-Feb-2007  thorpej TRUE -> true, FALSE -> false
 1.2 09-Feb-2007  ad branches: 1.2.2;
Merge newlock2 to head.
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.6.3 30-Jan-2007  ad Remove support for SA. Ok core@.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file machdep.c was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.5 27-Oct-2007  yamt sync with head.
 1.1.4.4 03-Sep-2007  yamt sync with head.
 1.1.4.3 26-Feb-2007  yamt sync with head.
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file machdep.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file machdep.c was added on branch yamt-splraiseipl on 2006-12-10 07:15:53 +0000
 1.2.2.2 12-Mar-2007  rmind Sync with HEAD.
 1.2.2.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.4.24.1 25-Oct-2007  bouyer Sync with HEAD.
 1.4.22.1 18-Oct-2007  yamt sync with head.
 1.4.20.1 06-Nov-2007  matt sync with HEAD
 1.4.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.4.10.1 28-May-2007  freza Add KGDB support to evbppc/virtex port. From Jean-Francois Boudreault,
cosmetics by me.

While there, generalize virtex_console_tag() to virtex_bus_space_tag()
and fix one instance of yamt-idlelwp fallout (ci_need_resched renamed
to ci_want_resched).

XXX Only compile tested since my access to suitable Virtex HW is sporadic
XXX at best.
 1.4.2.1 23-Oct-2007  ad Sync with head.
 1.5.24.1 03-Jul-2008  simonb Sync with head.
 1.5.22.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.5.20.2 11-Mar-2010  yamt sync with head
 1.5.20.1 04-May-2009  yamt sync with head.
 1.5.16.2 17-Jan-2009  mjf Sync with HEAD.
 1.5.16.1 02-Jul-2008  mjf Sync with HEAD.
 1.6.14.1 07-Jan-2011  matt Deal with the splitting of <spr.h>
 1.6.4.2 03-Mar-2009  skrll Sync with HEAD.
 1.6.4.1 19-Jan-2009  skrll Sync with HEAD.
 1.6.2.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.9.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.12.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.14.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.14.2.1 05-Mar-2011  rmind sync with head
 1.15.4.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.20.2.1 30-Oct-2012  yamt sync with head
 1.21.40.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.21.40.1 10-Jun-2019  christos Sync with HEAD
 1.21.38.1 28-Jul-2018  pgoyette Sync with HEAD
 1.25.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.25.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.2 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.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.12; 1.1.20; 1.1.28; 1.1.30; 1.1.32; 1.1.34;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.34.1 25-Oct-2007  bouyer Sync with HEAD.
 1.1.32.1 18-Oct-2007  yamt sync with head.
 1.1.30.1 06-Nov-2007  matt sync with HEAD
 1.1.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.1.20.1 28-May-2007  freza Add KGDB support to evbppc/virtex port. From Jean-Francois Boudreault,
cosmetics by me.

While there, generalize virtex_console_tag() to virtex_bus_space_tag()
and fix one instance of yamt-idlelwp fallout (ci_need_resched renamed
to ci_want_resched).

XXX Only compile tested since my access to suitable Virtex HW is sporadic
XXX at best.
 1.1.12.1 23-Oct-2007  ad Sync with head.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file virtex.h was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.3 27-Oct-2007  yamt sync with head.
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file virtex.h was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file virtex.h was added on branch yamt-splraiseipl on 2006-12-10 07:15:53 +0000
 1.9 15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.8 20-Jun-2011  matt branches: 1.8.52; 1.8.54;
Don't include *pmap.h in assembly files. Get the needed definitions
from "assym.h".
 1.7 17-Jan-2011  matt branches: 1.7.4;
Kill _NOREGNAMES. Everything should be using %rX now. If it doesn't it
soon will.
 1.6 18-Mar-2010  kiyohara branches: 1.6.2;
Support PowerPC 405EX/EXr.
1. Add some new source and header files.
(MAL(split) and RGMII(new) relations for EMAC)
2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h.
3. intr.c supports MULTIUIC with virtual-irq. likes to oea.
support 32-virq/128-hwirq.
4. multiple emac support.
5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx.
6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
 1.5 25-Feb-2010  matt branches: 1.5.2;
Adapt to <spr.h> breakup.
 1.4 26-Nov-2009  matt branches: 1.4.2;
Kill proc0paddr. Use lwp0.l_addr instead.
 1.3 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.2 13-Nov-2008  ad branches: 1.2.4;
LKM -> MODULAR
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.50; 1.1.54; 1.1.60; 1.1.62; 1.1.72;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.72.1 07-Jan-2011  matt Deal with the splitting of <spr.h>
 1.1.62.2 03-Mar-2009  skrll Sync with HEAD.
 1.1.62.1 19-Jan-2009  skrll Sync with HEAD.
 1.1.60.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.1.54.3 11-Aug-2010  yamt sync with head.
 1.1.54.2 11-Mar-2010  yamt sync with head
 1.1.54.1 04-May-2009  yamt sync with head.
 1.1.50.1 17-Jan-2009  mjf Sync with HEAD.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file virtex_start.S was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file virtex_start.S was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file virtex_start.S was added on branch yamt-splraiseipl on 2006-12-10 07:15:53 +0000
 1.2.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.4.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.5.2.2 05-Mar-2011  rmind sync with head
 1.5.2.1 30-May-2010  rmind sync with head
 1.6.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.7.4.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.8.54.1 10-Jun-2019  christos Sync with HEAD
 1.8.52.1 28-Jul-2018  pgoyette Sync with HEAD
 1.2 11-Apr-2019  kamil Fix CVS Id usage
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.142;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.142.1 10-Jun-2019  christos Sync with HEAD
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file cdmacreg.h was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file cdmacreg.h was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file cdmacreg.h was added on branch yamt-splraiseipl on 2006-12-10 07:15:53 +0000
 1.20 18-Sep-2022  thorpej Eliminate use of IFF_OACTIVE.
 1.19 27-Feb-2022  riastradh evbppc/temac(4): Mark unused functions as such.
 1.18 05-Dec-2021  msaitoh s/decriptor/descriptor/ in comment.
 1.17 29-Mar-2021  rin Make VIRTEX_* kernels compile. Not tested.
 1.16 04-Feb-2020  skrll branches: 1.16.6; 1.16.8;
Adopt <net/if_stats.h>
 1.15 29-May-2019  msaitoh branches: 1.15.4;
KNF. No functional change.
 1.14 29-May-2019  msaitoh Whitespace fix. No functional change.
 1.13 22-Jan-2019  msaitoh Change MII PHY read/write API from:

int (*mii_readreg_t)(device_t, int, int);
void (*mii_writereg_t)(device_t, int, int, int);
to:

int (*mii_readreg_t)(device_t, int, int, uint16_t *);
int (*mii_writereg_t)(device_t, int, int, uint16_t);

Now we can test if a read/write operation failed or not by the return value.

In 802.3 spec says that the PHY shall not respond to read/write transaction
to the unimplemented register(22.2.4.3). Detecting timeout can be used to
check whether a register is implemented or not (if the register conforms to
the spec). ukphy(4) can be used this for MII_MMDACR and MII_MMDAADR.

Note that I noticed that the following code do infinite loop in the
read/wirte function. If it accesses unimplemented PHY register, it will hang.
It should be fixed:

arm/at91/at91emac.c
arm/ep93xx/epe.c
arm/omap/omapl1x_emac.c
mips/ralink/ralink_eth.c
arch/powerpc/booke/dev/pq3etsec.c(read)
dev/cadence/if_cemac.c <- hkenken
dev/ic/lan9118.c


Tested with the following device:

axe+ukphy
axe+rgephy
axen+rgephy (tested by Andrius V)
wm+atphy
wm+ukphy
wm+igphy
wm+ihphy
wm+makphy
sk+makphy
sk+brgphy
sk+gentbi
msk+makphy
sip+icsphy
sip+ukphy
re+rgephy
bge+brgphy
bnx+brgphy
gsip+gphyter
rtk+rlphy
fxp+inphy (tested by Andrius V)
tlp+acphy
ex+exphy
epic+qsphy
vge+ciphy (tested by Andrius V)
vr+ukphy (tested by Andrius V)
vte+ukphy (tested by Andrius V)

Not tested (MAC):
arm:at91emac
arm:cemac
arm:epe
arm:geminigmac
arm:enet
arm:cpsw
arm:emac(omac)
arm:emac(sunxi)
arm:npe
evbppc:temac
macppc:bm
macppc:gm
mips:aumac
mips:ae
mips:cnmac
mips:reth
mips:sbmac
playstation2:smap
powerpc:tsec
powerpc:emac(ibm4xx)
sgimips:mec
sparc:be
sf
ne(ax88190, dl10019)
awge
ep
gem
hme
smsh
mtd
sm
age
alc
ale
bce
cas
et
jme
lii
nfe
pcn
ste
stge
tl
xi
aue
mue
smsc
udav
url

Not tested (PHY):
amhphy
bmtphy
dmphy
etphy
glxtphy
ikphy
iophy
lxtphy
nsphyter
pnaphy
rdcphy
sqphy
tlphy
tqphy
urlphy
 1.12 15-Dec-2016  ozaki-r branches: 1.12.14; 1.12.16;
Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input

The benefits of the change are:
- We can reduce codes
- We can provide the same behavior between drivers
- Where/When if_ipackets is counted up
- Note that some drivers still update packet statistics in their own
way (periodical update)
- Moved bpf_mtap run in softint
- This makes it easy to MP-ify bpf

Proposed on tech-kern and tech-net
 1.11 10-Jun-2016  ozaki-r branches: 1.11.2;
Introduce m_set_rcvif and m_reset_rcvif

The API is used to set (or reset) a received interface of a mbuf.
They are counterpart of m_get_rcvif, which will come in another
commit, hide internal of rcvif operation, and reduce the diff of
the upcoming change.

No functional change.
 1.10 09-Feb-2016  ozaki-r Introduce softint-based if_input

This change intends to run the whole network stack in softint context
(or normal LWP), not hardware interrupt context. Note that the work is
still incomplete by this change; to that end, we also have to softint-ify
if_link_state_change (and bpf) which can still run in hardware interrupt.

This change softint-ifies at ifp->if_input that is called from
each device driver (and ieee80211_input) to ensure Layer 2 runs
in softint (e.g., ether_input and bridge_input). To this end,
we provide a framework (called percpuq) that utlizes softint(9)
and percpu ifqueues. With this patch, rxintr of most drivers just
queues received packets and schedules a softint, and the softint
dequeues packets and does rest packet processing.

To minimize changes to each driver, percpuq is allocated in struct
ifnet for now and that is initialized by default (in if_attach).
We probably have to move percpuq to softc of each driver, but it's
future work. At this point, only wm(4) has percpuq in its softc
as a reference implementation.

Additional information including performance numbers can be found
in the thread at tech-kern@ and tech-net@:
http://mail-index.netbsd.org/tech-kern/2016/01/14/msg019997.html

Acknowledgment: riastradh@ greatly helped this work.
Thank you very much!
 1.9 22-Jul-2012  matt branches: 1.9.2; 1.9.16;
Fix mii_statchg to take a 'struct ifnet *' instead of device_t. This fixes
problem with a common MDIO bus used for multiple interfaces.
Some drivers converted to CFATTACL_DECL_NEW.
 1.8 18-Jun-2011  matt branches: 1.8.2;
split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.7 05-Apr-2010  joerg branches: 1.7.6;
Push the bpf_ops usage back into bpf.h. Push the common ifp->if_bpf
check into the inline functions as well the fourth argument for
bpf_attach.
 1.6 19-Jan-2010  pooka branches: 1.6.2; 1.6.4;
Redefine bpf linkage through an always present op vector, i.e.
#if NBPFILTER is no longer required in the client. This change
doesn't yet add support for loading bpf as a module, since drivers
can register before bpf is attached. However, callers of bpf can
now be modularized.

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

Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
 1.5 31-Dec-2009  freza Remove unused variable, makes VIRTEX_* kernels compile again.
 1.4 12-Feb-2008  dyoung branches: 1.4.10; 1.4.32;
Use device_is_active().
 1.3 19-Jan-2008  dyoung Make many ethernet drivers share the common code for MII media
handling, ether_mediastatus() and ether_mediachange(). Check for
a non-ENXIO error return from mii_mediachg(). (ENXIO indicates
that a PHY is suspended.)

This patch shrinks the source code size by 979 lines. There was
a 5100-byte savings on the NetBSD/i386 kernel configuration, ALL.

I have made a few miscellaneous changes, too:

gem(4): use LIST_EMPTY(), LIST_FOREACH().
mtd(4): handle media ioctls, for a change!
axe(4): do not track link status in sc->axe_link any longer
nfe(4), aue(4), axe(4), udav(4), url(4): do not reset all PHYs
on a change of media

Except for the change to mtd(4), no functional changes are intended.

XXX This patch affects more architectures than I can feasibly
XXX compile and run. I have compiled macppc, sparc64, i386. I
XXX have run the patches on i386 boxen with bnx(4) and sip(4).
XXX Compiling and running on evbmips (MERAKI, ADM5120) is in
XXX progress.
 1.2 04-Mar-2007  christos branches: 1.2.20; 1.2.26; 1.2.32;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.8.1 12-Mar-2007  rmind Sync with HEAD.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file if_temac.c was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.5 27-Feb-2008  yamt sync with head.
 1.1.4.4 21-Jan-2008  yamt sync with head
 1.1.4.3 03-Sep-2007  yamt sync with head.
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file if_temac.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file if_temac.c was added on branch yamt-splraiseipl on 2006-12-10 07:15:54 +0000
 1.2.32.1 20-Jan-2008  bouyer Sync with HEAD
 1.2.26.1 18-Feb-2008  mjf Sync with HEAD.
 1.2.20.1 23-Mar-2008  matt sync with HEAD
 1.4.32.1 07-Jan-2011  matt Remove unused variable.
 1.4.10.2 11-Aug-2010  yamt sync with head.
 1.4.10.1 11-Mar-2010  yamt sync with head
 1.6.4.1 30-May-2010  rmind sync with head
 1.6.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.7.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.8.2.1 30-Oct-2012  yamt sync with head
 1.9.16.3 05-Feb-2017  skrll Sync with HEAD
 1.9.16.2 09-Jul-2016  skrll Sync with HEAD
 1.9.16.1 19-Mar-2016  skrll Sync with HEAD
 1.9.2.1 03-Dec-2017  jdolecek update from HEAD
 1.11.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.12.16.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.12.16.1 10-Jun-2019  christos Sync with HEAD
 1.12.14.1 26-Jan-2019  pgoyette Sync with HEAD
 1.15.4.1 29-Feb-2020  ad Sync with head.
 1.16.8.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.5 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.4 01-Jul-2011  dyoung branches: 1.4.2; 1.4.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.3 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.2 21-Feb-2007  thorpej branches: 1.2.78;
Replace the Mach-derived boolean_t type with the C99 bool type. A
future commit will replace use of TRUE and FALSE with true and false.
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.8.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file pstwo.c was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.3 26-Feb-2007  yamt sync with head.
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file pstwo.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file pstwo.c was added on branch yamt-splraiseipl on 2006-12-10 07:15:54 +0000
 1.2.78.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.4.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.4.2.1 30-Oct-2012  yamt sync with head
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file pstworeg.h was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file pstworeg.h was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file pstworeg.h was added on branch yamt-splraiseipl on 2006-12-10 07:15:54 +0000
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file temacreg.h was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file temacreg.h was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file temacreg.h was added on branch yamt-splraiseipl on 2006-12-10 07:15:54 +0000
 1.2 11-Apr-2019  kamil Fix CVS Id usage
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.142;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.142.1 10-Jun-2019  christos Sync with HEAD
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file temacvar.h was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file temacvar.h was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file temacvar.h was added on branch yamt-splraiseipl on 2006-12-10 07:15:54 +0000
 1.7 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.6 24-Apr-2021  thorpej branches: 1.6.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.5 22-Jul-2012  matt branches: 1.5.54;
Silence a gcc warning.
 1.4 01-Jul-2011  dyoung branches: 1.4.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.3 06-Feb-2011  jmcneill - add support for using compressed images as splash images
- retire SPLASHSCREEN_PROGRESS and SPLASHSCREEN_IMAGE options
 1.2 04-Mar-2007  christos branches: 1.2.66; 1.2.72; 1.2.74;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.8.1 12-Mar-2007  rmind Sync with HEAD.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file tft.c was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.3 03-Sep-2007  yamt sync with head.
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file tft.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file tft.c was added on branch yamt-splraiseipl on 2006-12-10 07:15:54 +0000
 1.2.74.1 08-Feb-2011  bouyer Sync with HEAD
 1.2.72.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.66.1 05-Mar-2011  rmind sync with head
 1.4.2.1 30-Oct-2012  yamt sync with head
 1.5.54.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.6.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.5 29-Mar-2021  rin Make VIRTEX_* kernels compile. Not tested.
 1.4 01-Jul-2011  dyoung branches: 1.4.66; 1.4.68;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.3 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.2 04-Mar-2007  christos branches: 1.2.76;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.8.1 12-Mar-2007  rmind Sync with HEAD.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file tft_ll.c was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.3 03-Sep-2007  yamt sync with head.
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file tft_ll.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file tft_ll.c was added on branch yamt-splraiseipl on 2006-12-10 07:15:54 +0000
 1.2.76.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.4.68.1 03-Apr-2021  thorpej Sync with HEAD.
 1.4.66.1 03-Apr-2021  thorpej Sync with HEAD.
 1.5 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.4 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.3 25-Oct-2009  ahoka branches: 1.3.10;
Remove obscenity from comments.
 1.2 04-Mar-2007  christos branches: 1.2.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.8.1 12-Mar-2007  rmind Sync with HEAD.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file tft_plb.c was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.3 03-Sep-2007  yamt sync with head.
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file tft_plb.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file tft_plb.c was added on branch yamt-splraiseipl on 2006-12-10 07:15:54 +0000
 1.2.44.1 11-Mar-2010  yamt sync with head
 1.3.10.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file tftreg.h was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file tftreg.h was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file tftreg.h was added on branch yamt-splraiseipl on 2006-12-10 07:15:54 +0000
 1.4 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.3 06-Feb-2011  jmcneill branches: 1.3.2;
- add support for using compressed images as splash images
- retire SPLASHSCREEN_PROGRESS and SPLASHSCREEN_IMAGE options
 1.2 04-Mar-2007  christos branches: 1.2.66; 1.2.72; 1.2.74;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.8.1 12-Mar-2007  rmind Sync with HEAD.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file tftvar.h was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.3 03-Sep-2007  yamt sync with head.
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file tftvar.h was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file tftvar.h was added on branch yamt-splraiseipl on 2006-12-10 07:15:54 +0000
 1.2.74.1 08-Feb-2011  bouyer Sync with HEAD
 1.2.72.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.66.1 05-Mar-2011  rmind sync with head
 1.3.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.4 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.3 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.2 06-Jun-2011  matt More device_t, cfdata, CFATTACH_DECL_NEW cleanup.
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.76; 1.1.86;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.86.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.1.76.1 12-Jun-2011  rmind sync with head
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file xcvbus.c was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file xcvbus.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file xcvbus.c was added on branch yamt-splraiseipl on 2006-12-10 07:15:54 +0000
 1.2 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file xcvbusvar.h was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file xcvbusvar.h was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file xcvbusvar.h was added on branch yamt-splraiseipl on 2006-12-10 07:15:54 +0000
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file xintcreg.h was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file xintcreg.h was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file xintcreg.h was added on branch yamt-splraiseipl on 2006-12-10 07:15:54 +0000
 1.12 20-Aug-2021  andvar fix various typos in comments and log messages.
 1.11 25-Jul-2014  dholland Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.
 1.10 16-Mar-2014  dholland branches: 1.10.2;
Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
 1.9 18-Jun-2011  matt branches: 1.9.2; 1.9.12; 1.9.16;
split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.8 24-Apr-2011  rmind branches: 1.8.2;
Rename ttymalloc() to tty_alloc(), and ttyfree() to tty_free() for
consistency. Remove some unnecessary malloc.h inclusions as well.
 1.7 11-Jun-2008  cegger branches: 1.7.18; 1.7.24;
use device_lookup_private to get softc
 1.6 09-Jan-2008  elad branches: 1.6.6; 1.6.8; 1.6.10; 1.6.12; 1.6.14;
Kill two KAUTH_GENERIC_ISSUSER requests and replace them with something
more meaningful.
 1.5 02-Dec-2007  ad branches: 1.5.6;
Use the softint API.
 1.4 19-Nov-2007  ad - Factor out too many copies of the same bit of tty code.
- Fix another tty signalling/wakeup problem.
 1.3 17-Oct-2007  garbled branches: 1.3.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.2 04-Mar-2007  christos branches: 1.2.2; 1.2.10; 1.2.18; 1.2.20; 1.2.22; 1.2.24;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.8.1 12-Mar-2007  rmind Sync with HEAD.
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file xlcom.c was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.6 21-Jan-2008  yamt sync with head
 1.1.4.5 07-Dec-2007  yamt sync with head
 1.1.4.4 27-Oct-2007  yamt sync with head.
 1.1.4.3 03-Sep-2007  yamt sync with head.
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file xlcom.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file xlcom.c was added on branch yamt-splraiseipl on 2006-12-10 07:15:54 +0000
 1.2.24.2 21-Nov-2007  bouyer Sync with HEAD
 1.2.24.1 25-Oct-2007  bouyer Sync with HEAD.
 1.2.22.1 18-Oct-2007  yamt sync with head.
 1.2.20.3 23-Mar-2008  matt sync with HEAD
 1.2.20.2 09-Jan-2008  matt sync with HEAD
 1.2.20.1 06-Nov-2007  matt sync with HEAD
 1.2.18.4 03-Dec-2007  joerg Sync with HEAD.
 1.2.18.3 21-Nov-2007  joerg Sync with HEAD.
 1.2.18.2 28-Oct-2007  joerg Reduce diff to HEAD.
 1.2.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.2.10.1 28-May-2007  freza Add KGDB support to evbppc/virtex port. From Jean-Francois Boudreault,
cosmetics by me.

While there, generalize virtex_console_tag() to virtex_bus_space_tag()
and fix one instance of yamt-idlelwp fallout (ci_need_resched renamed
to ci_want_resched).

XXX Only compile tested since my access to suitable Virtex HW is sporadic
XXX at best.
 1.2.2.2 03-Dec-2007  ad Sync with HEAD.
 1.2.2.1 23-Oct-2007  ad Sync with head.
 1.3.2.2 18-Feb-2008  mjf Sync with HEAD.
 1.3.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.5.6.1 10-Jan-2008  bouyer Sync with HEAD
 1.6.14.1 18-Jun-2008  simonb Sync with head.
 1.6.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.6.10.1 04-May-2009  yamt sync with head.
 1.6.8.1 17-Jun-2008  yamt sync with head.
 1.6.6.1 29-Jun-2008  mjf Sync with HEAD.
 1.7.24.1 06-Jun-2011  jruoho Sync with HEAD.
 1.7.18.1 31-May-2011  rmind sync with head
 1.8.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.9.16.1 18-May-2014  rmind sync with head
 1.9.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.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.10.2.1 10-Aug-2014  tls Rebase.
 1.1 02-Dec-2006  freza branches: 1.1.2; 1.1.4; 1.1.6;
Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
 1.1.6.2 12-Jan-2007  ad Sync with head.
 1.1.6.1 02-Dec-2006  ad file xlcomreg.h was added on branch newlock2 on 2007-01-12 01:00:47 +0000
 1.1.4.2 30-Dec-2006  yamt sync with head.
 1.1.4.1 02-Dec-2006  yamt file xlcomreg.h was added on branch yamt-lazymbuf on 2006-12-30 20:45:54 +0000
 1.1.2.2 10-Dec-2006  yamt sync with head.
 1.1.2.1 02-Dec-2006  yamt file xlcomreg.h was added on branch yamt-splraiseipl on 2006-12-10 07:15:54 +0000
 1.26 30-Mar-2021  rin - Explicitly include <powerpc/spr.h>.
- Drop unused headers.
- Group headers.

No binary changes.
 1.25 29-Mar-2021  rin Use genppc_cpu_configure().
 1.24 29-Mar-2021  rin Set com(4) frequency in ibm4xx_device_register() in order to dedup codes.
 1.23 29-Mar-2021  rin Centralize cpu_rootconf().
 1.22 30-Jul-2014  joerg branches: 1.22.40; 1.22.42;
Second argument of config_rootfound is void *, so discard const
explicitly.
 1.21 29-Jul-2012  mlelstv branches: 1.21.2; 1.21.12;
Do not call setroot() from MD code and from MI code, which has
unwanted sideeffects in the RB_ASKNAME case. This fixes PR/46732.

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

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

Make cpu_rootconf(9) describe the calling order.
 1.20 12-Dec-2011  kiyohara branches: 1.20.2;
Fix hangs-up. Remove "wrteei 1" in board's cpu_configure(). Interrupt
is enabled in powerpc-layer.
 1.19 18-Jun-2011  matt branches: 1.19.2; 1.19.6;
split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.18 18-Mar-2010  kiyohara branches: 1.18.6;
Support PowerPC 405EX/EXr.
1. Add some new source and header files.
(MAL(split) and RGMII(new) relations for EMAC)
2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h.
3. intr.c supports MULTIUIC with virtual-irq. likes to oea.
support 32-virq/128-hwirq.
4. multiple emac support.
5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx.
6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
 1.17 22-Feb-2007  thorpej branches: 1.17.46; 1.17.66; 1.17.68;
TRUE -> true, FALSE -> false
 1.16 07-Oct-2006  tsutsui branches: 1.16.4;
Remove unneeded cast which eliminates part of valid interrupt mask bits.
Closes PR powerpc/33108.
 1.15 10-Jul-2006  thorpej branches: 1.15.4; 1.15.6;
Put appropriate prefixes on property names to reduce chances of name
collisions.
 1.14 05-May-2006  thorpej branches: 1.14.4;
Remove the devprop API and switch everthing over to the new proplib. Add
a new device_properties() accessor for device_t that returns the device's
property dictionary.
 1.13 26-Feb-2006  thorpej branches: 1.13.2; 1.13.4; 1.13.6;
Don't fiddle with emac here; call the common ibm4xx_device_register().
 1.12 26-Feb-2006  thorpej Use device_is_a()
 1.11 23-Feb-2006  thorpej Use device_parent().
 1.10 18-Feb-2006  thorpej - Don't expose dev_propdb directly -- provide devprop_*() wrappers instead.
- Rework the ARMADILLO / epe device properties interaction so that it actually
associates the MAC address property with the epe device instance.
 1.9 24-Dec-2005  perry branches: 1.9.2; 1.9.4; 1.9.6;
bare asm -> __asm
 1.8 11-Dec-2005  christos merge ktrace-lwp.
 1.7 23-Oct-2004  thorpej branches: 1.7.12;
Centralize the declaration of booted_device and booted_partition.
 1.6 15-Jul-2003  lukem __KERNEL_RCSID()
 1.5 04-Jul-2003  thorpej Set the mac-addr property of the on-chip emac device.
 1.4 04-Jul-2003  thorpej Use device_register() to set the "frequency" property on the UART.
 1.3 04-Jul-2003  thorpej Add device_register().
 1.2 11-Mar-2003  hannken branches: 1.2.2;
Add support for the IBM 403GCX cpu. Enabled with "options PPC_IBM403".

- different set of device control registers.
- non-standard access to the time base.
- 16 byte cache lines.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file autoconf.c was added on branch nathanw_sa on 2002-12-11 06:29:26 +0000
 1.2.2.4 02-Nov-2004  skrll Sync with HEAD.
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.7.12.3 26-Feb-2007  yamt sync with head.
 1.7.12.2 30-Dec-2006  yamt sync with head.
 1.7.12.1 21-Jun-2006  yamt sync with head.
 1.9.6.2 01-Jun-2006  kardel Sync with head.
 1.9.6.1 22-Apr-2006  simonb Sync with head.
 1.9.4.1 09-Sep-2006  rpaulo sync with head
 1.9.2.2 01-Mar-2006  yamt sync with head.
 1.9.2.1 18-Feb-2006  yamt sync with head.
 1.13.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.13.4.1 11-May-2006  elad sync with head
 1.13.2.2 11-Aug-2006  yamt sync with head
 1.13.2.1 24-May-2006  yamt sync with head.
 1.14.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.15.6.1 22-Oct-2006  yamt sync with head
 1.15.4.1 18-Nov-2006  ad Sync with head.
 1.16.4.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.17.68.1 30-May-2010  rmind sync with head
 1.17.66.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.17.46.1 11-Aug-2010  yamt sync with head.
 1.18.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.19.6.1 18-Feb-2012  mrg merge to -current.
 1.19.2.2 30-Oct-2012  yamt sync with head
 1.19.2.1 17-Apr-2012  yamt sync with head
 1.20.2.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.21.12.1 10-Aug-2014  tls Rebase.
 1.21.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.22.42.1 03-Apr-2021  thorpej Sync with HEAD.
 1.22.40.1 03-Apr-2021  thorpej Sync with HEAD.
 1.10 30-Mar-2021  rin - G/C unused.
- Sort headers.

No binary changes.
 1.9 29-Mar-2021  rin Use com_opb_cnattach().
 1.8 01-Jul-2011  dyoung branches: 1.8.66; 1.8.68;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 10-Oct-2003  simonb White space nit.
 1.5 25-Jul-2003  scw Add back an accidentally deleted 'return'.
 1.4 25-Jul-2003  scw Switch ibm4xx ports to common powerpc bus_space/bus_dma code.
XXX: Walnut PCI support is broken. This will be addressed shortly.
 1.3 15-Jul-2003  lukem __KERNEL_RCSID()
 1.2 14-Jun-2003  thorpej branches: 1.2.2;
Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file consinit.c was added on branch nathanw_sa on 2002-12-11 06:29:27 +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.8.68.1 03-Apr-2021  thorpej Sync with HEAD.
 1.8.66.1 03-Apr-2021  thorpej Sync with HEAD.
 1.2 04-Mar-2003  matt Re-arrange things in evbppc & powerpc to support OEA-based eval boards
in evbppc. OEA-based board(s) to be added later.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file disksubr.c was added on branch nathanw_sa on 2002-12-11 06:29:27 +0000
 1.68 03-Aug-2021  rin Switch evbppc/ibm4xx to generic evbppc (same as oea) kernel modules.

I've confirmed that kernels similar to amd64/conf/MODULAR work fine
both on 403 and 405.

XXX
Unfortunately, we cannot immediately switch evbppc/booke to generic
kernel modules yet; it has its own intr.h implementation.
 1.67 30-Mar-2021  rin - Include tlb.h directly, instead of uvm_extern.h.
- Drop unused headers.
- Sort and group headers.

No binary changes.
 1.66 30-Mar-2021  rin Move common global variables, i.e., phys_map, machine, and machine_arch to
evbppc/evbppc_machdep.c (bad naming; used only for 4xx boards).
 1.65 30-Mar-2021  rin Convert walnut to use powerpc/ibm4xx/openbios.
No functional changes.
 1.64 30-Mar-2021  rin Centralize cpu_reboot().
 1.63 30-Mar-2021  rin G/C bootpath.
 1.62 29-Mar-2021  rin Use ibm4xx_cpu_startup() and board_info_init().
 1.61 29-Mar-2021  rin Use IBM405GP_UART0_BASE instead of hard-coded magic number 0xef000000.

No functional changes since:

IBM405GP_UART0_BASE & ~(TLB_PG_SIZE - 1) == 0xef000000

See ppc4xx_tlb_reserve() in ibm4xx/pmap.c.
 1.60 29-Mar-2021  rin Use ibm40x_machdep.c.
 1.59 11-Jun-2020  ad branches: 1.59.2; 1.59.4;
uvm_availmem(): give it a boolean argument to specify whether a recent
cached value will do, or if the very latest total must be fetched. It can
be called thousands of times a second and fetching the totals impacts not
only the calling LWP but other CPUs doing unrelated activity in the VM
system.
 1.58 31-Dec-2019  ad Rename uvm_free() -> uvm_availmem().
 1.57 21-Dec-2019  ad uvmexp.free -> uvm_free()
 1.56 15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.55 27-Jul-2012  matt branches: 1.55.38; 1.55.40;
Fix some -fno-common fallout
 1.54 22-Jun-2011  matt branches: 1.54.2;
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.53 20-Jun-2011  matt Change IBM4xx to use the common powerpc PIC framework.
Consolidate most ibm4xx initppc function into ibm4xx_init
and Make all IBM4xx use it.
Change explora to use initppc instead of bootstrap.
 1.52 20-Jun-2011  matt Cleanup includes. (<net/netisr.h> is handled by softints, not MD anymore,
so this can be nuked).
 1.51 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.50 15-Jun-2011  matt lcsplx is dead. remove last vestiges of it.
 1.49 12-Jun-2011  mrg for booke and ibm4xx evbppc systems, set module_machine to to either
"powerpc-ibm4xx" or "powerpc-booke".
 1.48 04-Apr-2011  dyoung branches: 1.48.2;
Neither pci_dma64_available(), pci_probe_device(), pci_mapreg_map(9),
pci_find_rom(), pci_intr_map(9), pci_enumerate_bus(), nor the match
predicate passed to pciide_compat_intr_establish() should ever modify
their pci_attach_args argument, so make their pci_attach_args arguments
const and deal with the fallout throughout the kernel.

For the most part, these changes add a 'const' where there was no
'const' before, however, some drivers and MD code used to modify
pci_attach_args. Now those drivers either copy their pci_attach_args
and modify the copy, or refrain from modifying pci_attach_args:

Xen: according to Manuel Bouyer, writing to pci_attach_args in
pci_intr_map() was a leftover from Xen 2. Probably a bug. I
stopped writing it. I have not tested this change.

siside(4): sis_hostbr_match() needlessly wrote to pci_attach_args.
Probably a bug. I use a temporary variable. I have not tested this
change.

slide(4): sl82c105_chip_map() overwrote the caller's pci_attach_args.
Probably a bug. Use a local pci_attach_args. I have not tested
this change.

viaide(4): via_sata_chip_map() and via_sata_chip_map_new() overwrote the
caller's pci_attach_args. Probably a bug. Make a local copy of the
caller's pci_attach_args and modify the copy. I have not tested
this change.

While I'm here, make pci_mapreg_submap() static.

With these changes in place, I have tested the compilation of these
kernels:

alpha GENERIC
amd64 GENERIC XEN3_DOM0
arc GENERIC
atari HADES MILAN-PCIIDE
bebox GENERIC
cats GENERIC
cobalt GENERIC
evbarm-eb NSLU2
evbarm-el ADI_BRH ARMADILLO9 CP3100 GEMINI GEMINI_MASTER GEMINI_SLAVE GUMSTIX
HDL_G IMX31LITE INTEGRATOR IQ31244 IQ80310 IQ80321 IXDP425 IXM1200
KUROBOX_PRO LUBBOCK MARVELL_NAS NAPPI SHEEVAPLUG SMDK2800 TEAMASA_NPWR
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
OPENBLOCKS266_OPT P2020RDB PMPPC RB800 WALNUT
hp700 GENERIC
i386 ALL XEN3_DOM0 XEN3_DOMU
ibmnws GENERIC
macppc GENERIC
mvmeppc GENERIC
netwinder GENERIC
ofppc GENERIC
prep GENERIC
sandpoint GENERIC
sgimips GENERIC32_IP2x
sparc GENERIC_SUN4U KRUPS
sparc64 GENERIC

As of Sun Apr 3 15:26:26 CDT 2011, I could not compile these kernels
with or without my patches in place:

### evbmips-el GDIUM

nbmake: nbmake: don't know how to make /home/dyoung/pristine-nbsd/src/sys/arch/mips/mips/softintr.c. Stop

### evbarm-el MPCSA_GENERIC
src/sys/arch/evbarm/conf/MPCSA_GENERIC:318: ds1672rtc*: unknown device `ds1672rtc'

### ia64 GENERIC

/tmp/genassym.28085/assym.c: In function 'f111':
/tmp/genassym.28085/assym.c:67: error: invalid application of 'sizeof' to incomplete type 'struct pcb'
/tmp/genassym.28085/assym.c:76: error: dereferencing pointer to incomplete type

### sgimips GENERIC32_IP3x

crmfb.o: In function `crmfb_attach':
crmfb.c:(.text+0x2304): undefined reference to `ddc_read_edid'
crmfb.c:(.text+0x2304): relocation truncated to fit: R_MIPS_26 against `ddc_read_edid'
crmfb.c:(.text+0x234c): undefined reference to `edid_parse'
crmfb.c:(.text+0x234c): relocation truncated to fit: R_MIPS_26 against `edid_parse'
crmfb.c:(.text+0x2354): undefined reference to `edid_print'
crmfb.c:(.text+0x2354): relocation truncated to fit: R_MIPS_26 against `edid_print'
 1.47 14-Jan-2011  rmind branches: 1.47.2;
Retire struct user, remove sys/user.h inclusions. Note sys/user.h header
as obsolete. Remove USER_TO_UAREA/UAREA_TO_USER macros.

Various #include fixes and review by matt@.
 1.46 18-Mar-2010  kiyohara Support PowerPC 405EX/EXr.
1. Add some new source and header files.
(MAL(split) and RGMII(new) relations for EMAC)
2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h.
3. intr.c supports MULTIUIC with virtual-irq. likes to oea.
support 32-virq/128-hwirq.
4. multiple emac support.
5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx.
6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
 1.45 25-Feb-2010  matt branches: 1.45.2;
Adapt to <spr.h> breakup.
 1.44 08-Feb-2010  joerg Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
 1.43 27-Nov-2009  rmind branches: 1.43.2;
- 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.42 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.41 07-Nov-2009  cegger Add a flags argument to pmap_kenter_pa(9).
Patch showed on tech-kern@ http://mail-index.netbsd.org/tech-kern/2009/11/04/msg006434.html
No objections.
 1.40 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.39 30-Nov-2008  martin branches: 1.39.4;
As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.38 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

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

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

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

I hope that this patch will stop us from flip-flopping between
calling doshutdownhooks() and pmf_system_shutdown() sometimes with
and sometimes without interrupts enabled.
 1.36 02-Jul-2008  ad branches: 1.36.2; 1.36.4; 1.36.14;
Replce exec_map with a pool. Proposed on tech-kern@, reviewed by chs@.
 1.35 04-Mar-2007  christos branches: 1.35.40; 1.35.44; 1.35.46; 1.35.48;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.34 22-Feb-2007  thorpej TRUE -> true, FALSE -> false
 1.33 09-Feb-2007  ad branches: 1.33.2;
Merge newlock2 to head.
 1.32 24-Jan-2007  hubertf Remove duplicate #includes, patch contributed in private mail
by Slava Semushin <slava.semushin@gmail.com>.

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

Thanks to martin@ for the input on testing.
 1.31 29-Nov-2006  freza Instead of mapping whole RAM with reserved TLB entries, map just enough
to ensure trap code will work (that is 0 upto ${endkernel}) and leave the
rest to pmap_tlbmiss(). Mapping whole physmem into the kernel wired way
too many TLB entries, see

http://mail-index.netbsd.org/port-powerpc/2006/10/27/0000.html

for performance analysis. While there, be a bit more descriptive in
pmap_tlbmiss() comment and use macro instead of numeric constant.

OK by Simon Burge
 1.30 16-Oct-2006  kiyohara * convert ibm4xx-based evbppc from reserved-TLB entry allocation to recently
introduced ppc4xx_tlb_reserve() API.
* ibm405gp UART0 used to be linear mapped. The VA happens to be inside kernel
segment, giving us the possibility of multiple VA matches in the TLB. This
is considered "programming error" by 405 core and results in "undefined
behaviour". We now avoid mapping peripherals in kernel segment.
* Some boards used to map hardwired RAM size. We now use the real size as
passed in by boot firmware.
 1.29 13-Jul-2006  simonb branches: 1.29.4; 1.29.6;
Add a blank line between two unrelated parts of code.
 1.28 30-Jun-2006  freza Bring ibm4xx interrupt code up to date:

- generic soft interrupts (ie. use powerpc/softintr.c)
- interrupt event counters (using the ones from powerpc/cpu.h:cpu_info
where appropriate)
- cleanup ibm4xx_intr.h, move implementation details to intr.c

Convert all affected evbppc platforms.

OK by simonb@, some points discussed with matt@
 1.27 05-May-2006  thorpej branches: 1.27.4;
Remove the devprop API and switch everthing over to the new proplib. Add
a new device_properties() accessor for device_t that returns the device's
property dictionary.
 1.26 26-Feb-2006  thorpej branches: 1.26.2; 1.26.4; 1.26.6;
Set emac0-mac-addr in the "board info" propdb.
 1.25 24-Dec-2005  perry branches: 1.25.2; 1.25.4; 1.25.6;
bare asm -> __asm
 1.24 11-Dec-2005  christos merge ktrace-lwp.
 1.23 25-Apr-2005  lukem branches: 1.23.2;
Move the MI printing of `copyright' to the MD cpu_startup() code
where the printing of `version' is already performed.
This has the benefit of allowing the copyright to be available
via dmesg(8) on platforms which need the `msgbuf' to be setup
in cpu_startup() before printed output is remembered.
 1.22 01-Apr-2005  yamt merge yamt-km branch.
- don't use managed mappings/backing objects for wired memory allocations.
save some resources like pv_entry. also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.
 1.21 17-Jan-2005  shige branches: 1.21.2;
Move struct propdb *board_info to powerpc/ibm4xx/board_prop.c.
 1.20 14-Sep-2004  simonb branches: 1.20.4;
Tidy up a little.
 1.19 30-Dec-2003  pk Replace the traditional buffer memory management -- based on fixed per buffer
virtual memory reservation and a private pool of memory pages -- by a scheme
based on memory pools.

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

On the other hand, the effectiveness of the LRU queue for buffer recycling
may be somewhat reduced compared to the traditional method since, due to the
nature of the pool based memory allocation, the actual least recently used
buffer may release its memory to a pool different from the one needed by a
newly allocated buffer. However, this effect will kick in only if the
system is under memory pressure.
 1.18 18-Aug-2003  eeh Do not rely on an address from one particular firmware version.
 1.17 12-Aug-2003  matt Nuke ci_curpm and curpm. Nuke pcb_pmreal. Those were use for spill stacks
and those no longer exist. for few uses that need CURPM, use CURPCB/PCB_PM
 1.16 25-Jul-2003  scw Switch ibm4xx ports to common powerpc bus_space/bus_dma code.
XXX: Walnut PCI support is broken. This will be addressed shortly.
 1.15 16-Jul-2003  simonb Only need to call consinit() once...
 1.14 15-Jul-2003  lukem __KERNEL_RCSID()
 1.13 14-Jul-2003  simonb Use wrteei to disable interrupts; easier assembly and saves a temporary
variable.
 1.12 14-Jul-2003  simonb Re-include "com.h" since we check NCOM in softserial(). Serial console
now works after properties rototill.
 1.11 04-Jul-2003  thorpej Set the mac-addr property of the on-chip emac device.
 1.10 04-Jul-2003  thorpej Use device_register() to set the "frequency" property on the UART.
 1.9 26-Apr-2003  ragge branches: 1.9.2;
Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
 1.8 02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.7 11-Mar-2003  hannken Add support for the IBM 403GCX cpu. Enabled with "options PPC_IBM403".

- different set of device control registers.
- non-standard access to the time base.
- 16 byte cache lines.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.6 24-Feb-2003  matt Zero bss in start, not in initppc.
 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 30-Jan-2003  matt Load SPRG0 with &cpu_info_store.
 1.3 17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.2 04-Jan-2003  thorpej Make this compile without DDB.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.4 07-Jan-2003  thorpej Sync with HEAD.
 1.1.2.3 19-Dec-2002  thorpej Make this compile again.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file machdep.c was added on branch nathanw_sa on 2002-12-11 06:29:28 +0000
 1.9.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.9.2.5 01-Apr-2005  skrll Sync with HEAD.
 1.9.2.4 24-Jan-2005  skrll Sync with HEAD.
 1.9.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.9.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.9.2.1 03-Aug-2004  skrll Sync with HEAD
 1.20.4.1 29-Apr-2005  kent sync with -current
 1.21.2.1 13-Feb-2005  yamt use new apis.
 1.23.2.4 03-Sep-2007  yamt sync with head.
 1.23.2.3 26-Feb-2007  yamt sync with head.
 1.23.2.2 30-Dec-2006  yamt sync with head.
 1.23.2.1 21-Jun-2006  yamt sync with head.
 1.25.6.2 01-Jun-2006  kardel Sync with head.
 1.25.6.1 22-Apr-2006  simonb Sync with head.
 1.25.4.1 09-Sep-2006  rpaulo sync with head
 1.25.2.1 01-Mar-2006  yamt sync with head.
 1.26.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.26.4.1 11-May-2006  elad sync with head
 1.26.2.2 11-Aug-2006  yamt sync with head
 1.26.2.1 24-May-2006  yamt sync with head.
 1.27.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.29.6.2 10-Dec-2006  yamt sync with head.
 1.29.6.1 22-Oct-2006  yamt sync with head
 1.29.4.4 01-Feb-2007  ad Sync with head.
 1.29.4.3 30-Jan-2007  ad Remove support for SA. Ok core@.
 1.29.4.2 12-Jan-2007  ad Sync with head.
 1.29.4.1 18-Nov-2006  ad Sync with head.
 1.33.2.2 12-Mar-2007  rmind Sync with HEAD.
 1.33.2.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.35.48.1 03-Jul-2008  simonb Sync with head.
 1.35.46.3 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.35.46.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.35.46.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.35.44.3 11-Aug-2010  yamt sync with head.
 1.35.44.2 11-Mar-2010  yamt sync with head
 1.35.44.1 04-May-2009  yamt sync with head.
 1.35.40.2 17-Jan-2009  mjf Sync with HEAD.
 1.35.40.1 02-Jul-2008  mjf Sync with HEAD.
 1.36.14.1 07-Jan-2011  matt Deal with the splitting of <spr.h>
 1.36.4.2 03-Mar-2009  skrll Sync with HEAD.
 1.36.4.1 19-Jan-2009  skrll Sync with HEAD.
 1.36.2.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.39.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.43.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.45.2.3 21-Apr-2011  rmind sync with head
 1.45.2.2 05-Mar-2011  rmind sync with head
 1.45.2.1 30-May-2010  rmind sync with head
 1.47.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.48.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.54.2.1 30-Oct-2012  yamt sync with head
 1.55.40.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.55.40.1 10-Jun-2019  christos Sync with HEAD
 1.55.38.1 28-Jul-2018  pgoyette Sync with HEAD
 1.59.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.59.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.25 30-Mar-2021  rin Convert walnut to use powerpc/ibm4xx/openbios.
No functional changes.
 1.24 15-Jul-2018  maxv branches: 1.24.12; 1.24.14;
Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.23 05-Aug-2014  joerg branches: 1.23.26; 1.23.28;
The argument of stwu is displacement(register), but GAS translates the
%rX mnemonic very early into plain X, so it seemingly accepts
%register(displacement) as well. Be consistent in the formatting for
human consumption.
 1.22 20-Jun-2011  matt branches: 1.22.12; 1.22.26;
Don't include *pmap.h in assembly files. Get the needed definitions
from "assym.h".
 1.21 17-Jan-2011  matt branches: 1.21.4;
Kill _NOREGNAMES. Everything should be using %rX now. If it doesn't it
soon will.
 1.20 17-Jan-2011  matt branches: 1.20.2;
Change some register uses to %rX that were missed the firt time.
 1.19 18-Mar-2010  kiyohara Support PowerPC 405EX/EXr.
1. Add some new source and header files.
(MAL(split) and RGMII(new) relations for EMAC)
2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h.
3. intr.c supports MULTIUIC with virtual-irq. likes to oea.
support 32-virq/128-hwirq.
4. multiple emac support.
5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx.
6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
 1.18 25-Feb-2010  matt branches: 1.18.2;
Adapt to <spr.h> breakup.
 1.17 26-Nov-2009  matt branches: 1.17.2;
Kill proc0paddr. Use lwp0.l_addr instead.
 1.16 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.15 13-Nov-2008  ad branches: 1.15.4;
LKM -> MODULAR
 1.14 16-Oct-2006  kiyohara branches: 1.14.52; 1.14.56; 1.14.62; 1.14.64; 1.14.74;
* convert ibm4xx-based evbppc from reserved-TLB entry allocation to recently
introduced ppc4xx_tlb_reserve() API.
* ibm405gp UART0 used to be linear mapped. The VA happens to be inside kernel
segment, giving us the possibility of multiple VA matches in the TLB. This
is considered "programming error" by 405 core and results in "undefined
behaviour". We now avoid mapping peripherals in kernel segment.
* Some boards used to map hardwired RAM size. We now use the real size as
passed in by boot firmware.
 1.13 30-Jun-2006  freza branches: 1.13.4; 1.13.6;
Bring ibm4xx interrupt code up to date:

- generic soft interrupts (ie. use powerpc/softintr.c)
- interrupt event counters (using the ones from powerpc/cpu.h:cpu_info
where appropriate)
- cleanup ibm4xx_intr.h, move implementation details to intr.c

Convert all affected evbppc platforms.

OK by simonb@, some points discussed with matt@
 1.12 11-Dec-2005  christos branches: 1.12.4; 1.12.8; 1.12.16;
merge ktrace-lwp.
 1.11 13-Feb-2004  wiz branches: 1.11.16;
Uppercase CPU, plural is CPUs.
 1.10 18-Aug-2003  eeh Use the only documented method to get the board data from the firmware.
 1.9 03-Aug-2003  eeh The firmware actually passes the info block pointer in the link register.
 1.8 03-Aug-2003  eeh Use %r<n> for register names.
 1.7 27-Apr-2003  ragge branches: 1.7.2;
Preserve the symbol table in the LKM || KSYMS cases also.
 1.6 11-Mar-2003  hannken Add support for the IBM 403GCX cpu. Enabled with "options PPC_IBM403".

- different set of device control registers.
- non-standard access to the time base.
- 16 byte cache lines.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.5 24-Feb-2003  matt Zero bss in start, not in initppc.
 1.4 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.3 04-Jan-2003  thorpej Remove KERNFS silliness.
 1.2 19-Dec-2002  thorpej Merge the IBM 4xx into the common powerpc/locore_subr.S, and
eliminate all the duplicated context switch related code in
the IBM 4xx port.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.4 07-Jan-2003  thorpej Sync with HEAD.
 1.1.2.3 19-Dec-2002  thorpej Sync with HEAD.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file walnut_start.S was added on branch nathanw_sa on 2002-12-11 06:29:28 +0000
 1.7.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.2.1 03-Aug-2004  skrll Sync with HEAD
 1.11.16.1 30-Dec-2006  yamt sync with head.
 1.12.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.12.8.1 11-Aug-2006  yamt sync with head
 1.12.4.1 09-Sep-2006  rpaulo sync with head
 1.13.6.1 22-Oct-2006  yamt sync with head
 1.13.4.1 18-Nov-2006  ad Sync with head.
 1.14.74.1 07-Jan-2011  matt Deal with the splitting of <spr.h>
 1.14.64.2 03-Mar-2009  skrll Sync with HEAD.
 1.14.64.1 19-Jan-2009  skrll Sync with HEAD.
 1.14.62.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.14.56.3 11-Aug-2010  yamt sync with head.
 1.14.56.2 11-Mar-2010  yamt sync with head
 1.14.56.1 04-May-2009  yamt sync with head.
 1.14.52.1 17-Jan-2009  mjf Sync with HEAD.
 1.15.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.17.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.18.2.2 05-Mar-2011  rmind sync with head
 1.18.2.1 30-May-2010  rmind sync with head
 1.20.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.21.4.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.22.26.1 10-Aug-2014  tls Rebase.
 1.22.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.23.28.1 10-Jun-2019  christos Sync with HEAD
 1.23.26.1 28-Jul-2018  pgoyette Sync with HEAD
 1.24.14.1 03-Apr-2021  thorpej Sync with HEAD.
 1.24.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.11 07-Sep-2025  thorpej Change todr_chip_handle::cookie -> todr_chip_handle::todr_dev, and
make it a device_t. Upcoming functional changes will require the
device_t associated with a TODR device.

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

And with these largely mechanical yet semantically meaningful changes,
thus spake the Oracle: "Welcome to NetBSD 11.99.2."
 1.10 20-Nov-2014  christos use the inline bcdtobin and bintobcd directly instead through a macro.
 1.9 01-Jul-2011  dyoung branches: 1.9.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.8 15-Jun-2011  cliff - convert to use device_t, cfattach_t, CFATTACH_DECL_NEW etc.
- in dsrtcattach() use struct clock_ymdhms instead of rtc in DEBUG code block,
and move that block down after sc_todr.cookie is initialized so dsrtc_read() works.
 1.7 18-Sep-2006  gdamore branches: 1.7.88;
Conversion of evbppc to generic TODR. ok freza@
 1.6 11-Dec-2005  christos branches: 1.6.20; 1.6.22;
merge ktrace-lwp.
 1.5 06-Oct-2003  scw branches: 1.5.16;
Rename dsrtc to avoid clashing with the MI i2c ds1307 driver.
 1.4 06-Oct-2003  simonb Whitespace nits.
 1.3 25-Jul-2003  scw Switch ibm4xx ports to common powerpc bus_space/bus_dma code.
XXX: Walnut PCI support is broken. This will be addressed shortly.
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 09-Dec-2002  scw branches: 1.1.2; 1.1.8;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.8.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.8.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.8.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file ds1743.c was added on branch nathanw_sa on 2002-12-11 06:29:29 +0000
 1.5.16.1 30-Dec-2006  yamt sync with head.
 1.6.22.1 22-Oct-2006  yamt sync with head
 1.6.20.1 18-Nov-2006  ad Sync with head.
 1.7.88.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.9.12.1 03-Dec-2017  jdolecek update from HEAD
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file ds1743reg.h was added on branch nathanw_sa on 2002-12-11 06:29:29 +0000
 1.15 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.14 24-Apr-2021  thorpej branches: 1.14.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.13 01-Jul-2011  dyoung branches: 1.13.68;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.12 15-Jun-2011  cliff in pbus_attach() make locs[] and pass to config_found_sm_loc()
to avoid triggering KASSERT in config_stdsubmatch().
 1.11 06-Jun-2011  matt More device_t, cfdata, CFATTACH_DECL_NEW cleanup.
 1.10 04-May-2006  simonb branches: 1.10.88; 1.10.98;
Use config_stdsubmatch() instead of a local submatch function.
 1.9 11-Dec-2005  christos branches: 1.9.4; 1.9.6; 1.9.8; 1.9.10; 1.9.12;
merge ktrace-lwp.
 1.8 26-Aug-2005  drochner s/locdesc_t/int/g
 1.7 28-Jun-2005  drochner branches: 1.7.2;
convert remaining autoconf bus "submatch" functions to use the new
signature (passing locators), and remove some which obviously don't
serve any purpose
(untested, sorry)
 1.6 10-Oct-2003  simonb Need to rename dsrtc to ds1743rtc here too.
 1.5 25-Jul-2003  scw Switch ibm4xx ports to common powerpc bus_space/bus_dma code.
XXX: Walnut PCI support is broken. This will be addressed shortly.
 1.4 16-Jul-2003  simonb Correct a comment.
 1.3 15-Jul-2003  lukem __KERNEL_RCSID()
 1.2 01-Jan-2003  thorpej branches: 1.2.2;
Use aprint_normal() for cfprint routines.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.3 03-Jan-2003  thorpej Sync with HEAD.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file pbus.c was added on branch nathanw_sa on 2002-12-11 06:29:30 +0000
 1.2.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.7.2.1 21-Jun-2006  yamt sync with head.
 1.9.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.9.10.1 11-May-2006  elad sync with head
 1.9.8.1 24-May-2006  yamt sync with head.
 1.9.6.1 01-Jun-2006  kardel Sync with head.
 1.9.4.1 09-Sep-2006  rpaulo sync with head
 1.10.98.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.10.88.1 12-Jun-2011  rmind sync with head
 1.13.68.2 22-Mar-2021  thorpej Audit CFARG_IATTR in config_found() calls, and remove it in situations
where the interface attribute is not ambiguous.
 1.13.68.1 22-Mar-2021  thorpej Mechanical conversion of config_found_sm_loc() -> config_found().
CFARG_IATTR usage needs to be audited.
 1.14.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.2 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.1 09-Dec-2002  scw branches: 1.1.2;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file pbusvar.h was added on branch nathanw_sa on 2002-12-11 06:29:30 +0000
 1.5 21-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.4 15-Mar-2008  cube branches: 1.4.104;
Split device_t and softc for pckbc(4) and its attachments.
 1.3 11-Dec-2005  christos branches: 1.3.50; 1.3.70; 1.3.74;
merge ktrace-lwp.
 1.2 15-Jul-2003  lukem branches: 1.2.16;
__KERNEL_RCSID()
 1.1 09-Dec-2002  scw branches: 1.1.2; 1.1.8;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.8.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.8.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.8.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file pckbc_pbus.c was added on branch nathanw_sa on 2002-12-11 06:29:31 +0000
 1.2.16.1 17-Mar-2008  yamt sync with head.
 1.3.74.1 03-Apr-2008  mjf Sync with HEAD.
 1.3.70.1 24-Mar-2008  keiichi sync with head.
 1.3.50.1 23-Mar-2008  matt sync with HEAD
 1.4.104.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.6 18-Sep-2006  gdamore Conversion of evbppc to generic TODR. ok freza@
 1.5 11-Dec-2005  christos branches: 1.5.20; 1.5.22;
merge ktrace-lwp.
 1.4 03-Jun-2005  scw branches: 1.4.2;
Appease -Wshadow
 1.3 05-Jul-2004  pk Call inittodr() from main(). Let file system code set the recorded `last
update' time (if any) through the new function setrootfstime().
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 09-Dec-2002  scw branches: 1.1.2; 1.1.8;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.8.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.8.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.8.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.8.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file todclock.c was added on branch nathanw_sa on 2002-12-11 06:29:31 +0000
 1.4.2.1 30-Dec-2006  yamt sync with head.
 1.5.22.1 22-Oct-2006  yamt sync with head
 1.5.20.1 18-Nov-2006  ad Sync with head.
 1.2 18-Sep-2006  gdamore Conversion of evbppc to generic TODR. ok freza@
 1.1 09-Dec-2002  scw branches: 1.1.2; 1.1.24; 1.1.54; 1.1.56;
New umbrella-port for PowerPC-based evaluation boards.

The first board to be included here is the port to the 405GP-based
Walnut evaluation board, which up until now lived in arch/walnut.

arch/walnut will go away soon, once all the remaining walnut-isms
in the tree have been dealt with.
 1.1.56.1 22-Oct-2006  yamt sync with head
 1.1.54.1 18-Nov-2006  ad Sync with head.
 1.1.24.1 30-Dec-2006  yamt sync with head.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 09-Dec-2002  thorpej file todclockvar.h was added on branch nathanw_sa on 2002-12-11 06:29:31 +0000
 1.3 13-Oct-2024  jmcneill wii: Support loading the kernel from boot2

Improve hardware initialization steps so the NetBSD kernel can be launched
directly from boot2 and does not rely on any other PPC software to setup
the hardware.
 1.2 24-Jan-2024  jmcneill branches: 1.2.2; 1.2.4;
wii: Add support for passing boot options to the kernel.
 1.1 20-Jan-2024  jmcneill evbppc: Add initial support for the Nintendo Wii
 1.2.4.1 02-Aug-2025  perseant Sync with HEAD
 1.2.2.3 14-Oct-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #974):

sys/arch/evbppc/wii/dev/wiifb.c: revision 1.7
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.4
sys/arch/evbppc/wii/machdep.c: revision 1.7
sys/arch/evbppc/wii/wii_locore.S: revision 1.3
sys/arch/evbppc/wii/dev/avenc.c: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.9
sys/arch/evbppc/wii/dev/vireg.h: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.3

wii: Support loading the kernel from boot2

Improve hardware initialization steps so the NetBSD kernel can be launched
directly from boot2 and does not rely on any other PPC software to setup
the hardware.
 1.2.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.2.2.1 24-Jan-2024  martin file autoconf.c was added on branch netbsd-10 on 2024-02-03 11:47:07 +0000
 1.11 25-Oct-2025  jmcneill wii: Use GX to accelerate RGB to YUY2 conversion.

Allocate a 640x480x32 RGB buffer in memory, and when not in EMUL mode,
use the CPU to copy from the RGB buffer to EFB (taking advantage of the
pixel engine to do RGB -> YUY2 for us) and then use the GX to copy from
EFB to XFB.

Not only does this improve performance significantly in X, it also results
in better colour reproduction. The previous software method employed by
xf86-video-wsfb had some corner cases where eg. dark colours would display
as bright pink.
 1.10 02-Sep-2025  jmcneill wii: Allow the RESET button to reboot system when halted.
 1.9 13-Feb-2025  jmcneill branches: 1.9.2;
wii: Early init for DVD support
 1.8 19-Oct-2024  jmcneill Improve delay() accuracy on Nintendo Wii.

The PowerPC delay() implementation converts the timebase frequency to
a number of nanoseconds per tick and uses that value to compute the
delay interval. On the Wii's Broadway processor with a timebase
frequency of 60.75 MHz, some precision is lost as each tick is
approximately 16.46 nanoseconds. The end result is that we sleep for
approximately 2.875% longer than necessary. This also has an impact
on CPU speed calculation on Broadway, which incorrectly reports itself
as 750MHz instead of 729MHz (2.875% faster).

Fix this by introducing an (optional) ticks_per_msec variable that can
be set by the platform and allows delay() to improve the accuracy of
longer delays.

Measured CPU frequency before this change:
[ 1.000000] cpu0: 750.00 MHz, 256KB WB with ECC L2 cache

Measured CPU frequency after this change:
[ 1.000000] cpu0: 729.00 MHz, 256KB WB with ECC L2 cache
 1.7 13-Oct-2024  jmcneill wii: Support loading the kernel from boot2

Improve hardware initialization steps so the NetBSD kernel can be launched
directly from boot2 and does not rely on any other PPC software to setup
the hardware.
 1.6 05-Mar-2024  thorpej branches: 1.6.2;
Move the at-shutdown call to resettodr() from cpu_reboot() to kern_reboot().

It's a small step, but it's a step.
 1.5 10-Feb-2024  jmcneill wii: Simplify available memory logic.

Use usable MEM2 fields in Broadway / IOS Global memory locations to
determine available memory.
 1.4 24-Jan-2024  jmcneill branches: 1.4.2;
wii: Add support for passing boot options to the kernel.
 1.3 22-Jan-2024  jmcneill wii: Add drivers for Broadway DSP and Audio interface.

0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
 1.2 21-Jan-2024  jmcneill wii: support RB_POWERDOWN
 1.1 20-Jan-2024  jmcneill evbppc: Add initial support for the Nintendo Wii
 1.4.2.6 26-Oct-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #1187):

sys/arch/evbppc/wii/dev/wiifb.c: revision 1.8
sys/arch/evbppc/wii/dev/gxreg.h: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.11
sys/arch/evbppc/wii/machdep.c: revision 1.11
sys/arch/evbppc/wii/dev/viio.h: file removal

wii: Use GX to accelerate RGB to YUY2 conversion.

Allocate a 640x480x32 RGB buffer in memory, and when not in EMUL mode,
use the CPU to copy from the RGB buffer to EFB (taking advantage of the
pixel engine to do RGB -> YUY2 for us) and then use the GX to copy from
EFB to XFB.

Not only does this improve performance significantly in X, it also results
in better colour reproduction. The previous software method employed by
xf86-video-wsfb had some corner cases where eg. dark colours would display
as bright pink.
 1.4.2.5 22-Feb-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #1052):

sys/kern/subr_disk_mbr.c: revision 1.59
sys/arch/evbppc/include/wii.h: revision 1.10
sys/arch/evbppc/wii/machdep.c: revision 1.9
sys/arch/evbppc/conf/files.wii: revision 1.5
sys/arch/evbppc/wii/dev/di.c: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.8

Handle reading larger sectors (including 2k CD-ROM blocks).

Fall back to scan for ISO9660 sessions when MMC code fails.
disklabel now reports ISO/UDF partitions again for cd(4).

wii: Add more register definitions.

wii: Add support for Wii DVD drive.
This adds a virtual SCSI HBA driver that is able to read DVD video discs
inserted in the Wii.

wii: Early init for DVD support
 1.4.2.4 26-Oct-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #986):

sys/arch/evbppc/wii/machdep.c: revision 1.8
sys/arch/powerpc/powerpc/clock.c: revision 1.19

Improve delay() accuracy on Nintendo Wii.

The PowerPC delay() implementation converts the timebase frequency to
a number of nanoseconds per tick and uses that value to compute the
delay interval. On the Wii's Broadway processor with a timebase
frequency of 60.75 MHz, some precision is lost as each tick is
approximately 16.46 nanoseconds. The end result is that we sleep for
approximately 2.875% longer than necessary. This also has an impact
on CPU speed calculation on Broadway, which incorrectly reports itself
as 750MHz instead of 729MHz (2.875% faster).

Fix this by introducing an (optional) ticks_per_msec variable that can
be set by the platform and allows delay() to improve the accuracy of
longer delays.

Measured CPU frequency before this change:
[ 1.000000] cpu0: 750.00 MHz, 256KB WB with ECC L2 cache
Measured CPU frequency after this change:
[ 1.000000] cpu0: 729.00 MHz, 256KB WB with ECC L2 cache
 1.4.2.3 14-Oct-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #974):

sys/arch/evbppc/wii/dev/wiifb.c: revision 1.7
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.4
sys/arch/evbppc/wii/machdep.c: revision 1.7
sys/arch/evbppc/wii/wii_locore.S: revision 1.3
sys/arch/evbppc/wii/dev/avenc.c: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.9
sys/arch/evbppc/wii/dev/vireg.h: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.3

wii: Support loading the kernel from boot2

Improve hardware initialization steps so the NetBSD kernel can be launched
directly from boot2 and does not rely on any other PPC software to setup
the hardware.
 1.4.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.4.2.1 24-Jan-2024  martin file machdep.c was added on branch netbsd-10 on 2024-02-03 11:47:07 +0000
 1.6.2.1 02-Aug-2025  perseant Sync with HEAD
 1.9.2.1 26-Oct-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #74):

sys/arch/evbppc/wii/dev/wiifb.c: revision 1.8
sys/arch/evbppc/wii/dev/gxreg.h: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.11
sys/arch/evbppc/wii/machdep.c: revision 1.11
sys/arch/evbppc/wii/dev/viio.h: file removal

wii: Use GX to accelerate RGB to YUY2 conversion.

Allocate a 640x480x32 RGB buffer in memory, and when not in EMUL mode,
use the CPU to copy from the RGB buffer to EFB (taking advantage of the
pixel engine to do RGB -> YUY2 for us) and then use the GX to copy from
EFB to XFB.

Not only does this improve performance significantly in X, it also results
in better colour reproduction. The previous software method employed by
xf86-video-wsfb had some corner cases where eg. dark colours would display
as bright pink.
 1.4 18-Jun-2024  rin wii: mainbus_attach: Appease GCC12 -Warray-bounds

GCC12 blames pointer access to 0-th page, [0, 0xfff], with -Warray-bounds.
Silence it by `#pragma GCC` for now.

XXX
map to higher address as we done for, e.g., arm by devmap?

Thanks mrg@ for discussion.
 1.3 25-Jan-2024  jmcneill branches: 1.3.2;
wii: Add External interface bus and RTC support
 1.2 22-Jan-2024  jmcneill wii: Add drivers for Broadway DSP and Audio interface.

0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
 1.1 20-Jan-2024  jmcneill evbppc: Add initial support for the Nintendo Wii
 1.3.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.3.2.1 25-Jan-2024  martin file mainbus.c was added on branch netbsd-10 on 2024-02-03 11:47:07 +0000
 1.4 13-Mar-2025  jmcneill wii: Revert pic_pi.c r1.2 and r1.3.

The simplification of pic_pi.c in r1.2 introduced a performance regression
with sdhc. Revert to the original implementation.
 1.3 16-Feb-2025  jmcneill wii: Fix missed interrupt bug.

Apparently reading INTSR clears the pending status. So only read this for
mode PIC_GET_IRQ.
 1.2 15-Feb-2025  jmcneill wii: Simplify Processor Interface pic code.
 1.1 20-Jan-2024  jmcneill branches: 1.1.2; 1.1.4;
evbppc: Add initial support for the Nintendo Wii
 1.1.4.1 02-Aug-2025  perseant Sync with HEAD
 1.1.2.5 27-Mar-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #1073):

sys/arch/evbppc/wii/pic_pi.c: revision 1.4

wii: Revert pic_pi.c r1.2 and r1.3.

The simplification of pic_pi.c in r1.2 introduced a performance regression
with sdhc. Revert to the original implementation.
 1.1.2.4 22-Feb-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #1064):

sys/arch/evbppc/wii/pic_pi.c: revision 1.3

wii: Fix missed interrupt bug.

Apparently reading INTSR clears the pending status. So only read this for
mode PIC_GET_IRQ.
 1.1.2.3 22-Feb-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #1057):

distrib/utils/embedded/conf/evbppc.conf: revision 1.4
sys/arch/powerpc/oea/cpu_subr.c: revision 1.111
sys/arch/evbppc/wii/pic_pi.c: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.9
sys/arch/evbppc/wii/dev/bwai.c: revision 1.4

wii: Simplify Processor Interface pic code.

wii: Audio playback improvements.
Instead of resetting the byte counter for every block (which is racy),
increment the interrupt timing register by the exact byte count for
each block. Should do better at keeping things in sync.

powerpc: Identify Broadway CPU.
Use hex to report Broadway revision and ignore TAU as it does not exist
on this processor.

wii: Remove some options to save memory.

wii: Disable ntpd by default.
It takes up a lot of memory.
 1.1.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.1.2.1 20-Jan-2024  martin file pic_pi.c was added on branch netbsd-10 on 2024-02-03 11:47:07 +0000
 1.3 13-Oct-2024  jmcneill wii: Support loading the kernel from boot2

Improve hardware initialization steps so the NetBSD kernel can be launched
directly from boot2 and does not rely on any other PPC software to setup
the hardware.
 1.2 24-Jan-2024  jmcneill branches: 1.2.2; 1.2.4;
wii: Add support for passing boot options to the kernel.
 1.1 20-Jan-2024  jmcneill evbppc: Add initial support for the Nintendo Wii
 1.2.4.1 02-Aug-2025  perseant Sync with HEAD
 1.2.2.3 14-Oct-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #974):

sys/arch/evbppc/wii/dev/wiifb.c: revision 1.7
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.4
sys/arch/evbppc/wii/machdep.c: revision 1.7
sys/arch/evbppc/wii/wii_locore.S: revision 1.3
sys/arch/evbppc/wii/dev/avenc.c: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.9
sys/arch/evbppc/wii/dev/vireg.h: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.3

wii: Support loading the kernel from boot2

Improve hardware initialization steps so the NetBSD kernel can be launched
directly from boot2 and does not rely on any other PPC software to setup
the hardware.
 1.2.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.2.2.1 24-Jan-2024  martin file wii_locore.S was added on branch netbsd-10 on 2024-02-03 11:47:07 +0000
 1.2 13-Oct-2024  jmcneill wii: Support loading the kernel from boot2

Improve hardware initialization steps so the NetBSD kernel can be launched
directly from boot2 and does not rely on any other PPC software to setup
the hardware.
 1.1 20-Jan-2024  jmcneill branches: 1.1.2; 1.1.4;
evbppc: Add initial support for the Nintendo Wii
 1.1.4.1 02-Aug-2025  perseant Sync with HEAD
 1.1.2.3 14-Oct-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #974):

sys/arch/evbppc/wii/dev/wiifb.c: revision 1.7
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.4
sys/arch/evbppc/wii/machdep.c: revision 1.7
sys/arch/evbppc/wii/wii_locore.S: revision 1.3
sys/arch/evbppc/wii/dev/avenc.c: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.9
sys/arch/evbppc/wii/dev/vireg.h: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.3

wii: Support loading the kernel from boot2

Improve hardware initialization steps so the NetBSD kernel can be launched
directly from boot2 and does not rely on any other PPC software to setup
the hardware.
 1.1.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.1.2.1 20-Jan-2024  martin file wii_mmuinit.S was added on branch netbsd-10 on 2024-02-03 11:47:07 +0000
 1.2 13-Oct-2024  jmcneill wii: Support loading the kernel from boot2

Improve hardware initialization steps so the NetBSD kernel can be launched
directly from boot2 and does not rely on any other PPC software to setup
the hardware.
 1.1 23-Jan-2024  jmcneill branches: 1.1.2; 1.1.4;
wii: Add GPIO, I2C, and basic A/V encoder driver.
 1.1.4.1 02-Aug-2025  perseant Sync with HEAD
 1.1.2.3 14-Oct-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #974):

sys/arch/evbppc/wii/dev/wiifb.c: revision 1.7
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.4
sys/arch/evbppc/wii/machdep.c: revision 1.7
sys/arch/evbppc/wii/wii_locore.S: revision 1.3
sys/arch/evbppc/wii/dev/avenc.c: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.9
sys/arch/evbppc/wii/dev/vireg.h: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.3

wii: Support loading the kernel from boot2

Improve hardware initialization steps so the NetBSD kernel can be launched
directly from boot2 and does not rely on any other PPC software to setup
the hardware.
 1.1.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.1.2.1 23-Jan-2024  martin file avenc.c was added on branch netbsd-10 on 2024-02-03 11:47:05 +0000
 1.1 23-Jan-2024  jmcneill branches: 1.1.2;
wii: Add GPIO, I2C, and basic A/V encoder driver.
 1.1.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.1.2.1 23-Jan-2024  martin file avenc.h was added on branch netbsd-10 on 2024-02-03 11:47:05 +0000
 1.4 15-Feb-2025  jmcneill wii: Audio playback improvements.

Instead of resetting the byte counter for every block (which is racy),
increment the interrupt timing register by the exact byte count for
each block. Should do better at keeping things in sync.
 1.3 23-Jan-2024  jmcneill branches: 1.3.2; 1.3.4;
wii: provide device names to intr_establish

wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
 1.2 23-Jan-2024  jmcneill wii: Use A/V encoder volume controls instead of using a software filter.
 1.1 22-Jan-2024  jmcneill wii: Add drivers for Broadway DSP and Audio interface.

0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
 1.3.4.1 02-Aug-2025  perseant Sync with HEAD
 1.3.2.3 22-Feb-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #1057):

distrib/utils/embedded/conf/evbppc.conf: revision 1.4
sys/arch/powerpc/oea/cpu_subr.c: revision 1.111
sys/arch/evbppc/wii/pic_pi.c: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.9
sys/arch/evbppc/wii/dev/bwai.c: revision 1.4

wii: Simplify Processor Interface pic code.

wii: Audio playback improvements.
Instead of resetting the byte counter for every block (which is racy),
increment the interrupt timing register by the exact byte count for
each block. Should do better at keeping things in sync.

powerpc: Identify Broadway CPU.
Use hex to report Broadway revision and ignore TAU as it does not exist
on this processor.

wii: Remove some options to save memory.

wii: Disable ntpd by default.
It takes up a lot of memory.
 1.3.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.3.2.1 23-Jan-2024  martin file bwai.c was added on branch netbsd-10 on 2024-02-03 11:47:05 +0000
 1.1 22-Jan-2024  jmcneill branches: 1.1.2;
wii: Add drivers for Broadway DSP and Audio interface.

0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
 1.1.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.1.2.1 22-Jan-2024  martin file bwai.h was added on branch netbsd-10 on 2024-02-03 11:47:05 +0000
 1.2 23-Jan-2024  jmcneill branches: 1.2.2;
wii: Simply DSP driver - no interrupt handler required.
 1.1 22-Jan-2024  jmcneill wii: Add drivers for Broadway DSP and Audio interface.

0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
 1.2.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.2.2.1 23-Jan-2024  martin file bwdsp.c was added on branch netbsd-10 on 2024-02-03 11:47:04 +0000
 1.1 12-Feb-2025  jmcneill branches: 1.1.2; 1.1.6;
wii: Add support for Wii DVD drive.

This adds a virtual SCSI HBA driver that is able to read DVD video discs
inserted in the Wii.
 1.1.6.2 02-Aug-2025  perseant Sync with HEAD
 1.1.6.1 12-Feb-2025  perseant file di.c was added on branch perseant-exfatfs on 2025-08-02 05:55:36 +0000
 1.1.2.2 22-Feb-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #1052):

sys/kern/subr_disk_mbr.c: revision 1.59
sys/arch/evbppc/include/wii.h: revision 1.10
sys/arch/evbppc/wii/machdep.c: revision 1.9
sys/arch/evbppc/conf/files.wii: revision 1.5
sys/arch/evbppc/wii/dev/di.c: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.8

Handle reading larger sectors (including 2k CD-ROM blocks).

Fall back to scan for ISO9660 sessions when MMC code fails.
disklabel now reports ISO/UDF partitions again for cd(4).

wii: Add more register definitions.

wii: Add support for Wii DVD drive.
This adds a virtual SCSI HBA driver that is able to read DVD video discs
inserted in the Wii.

wii: Early init for DVD support
 1.1.2.1 12-Feb-2025  martin file di.c was added on branch netbsd-10 on 2025-02-22 11:47:16 +0000
 1.4 13-Oct-2024  jmcneill wii: Support loading the kernel from boot2

Improve hardware initialization steps so the NetBSD kernel can be launched
directly from boot2 and does not rely on any other PPC software to setup
the hardware.
 1.3 22-Sep-2024  jmcneill wii: Restrict IOP access to shared peripherals.

Ensure that the IOP cannot access peripherals by clearing the appropriate
bus access bit. I have observed OHCI reporting completion for TDs living
in ARM reserved memory at runtime, this seems to suppress that.
 1.2 23-Jan-2024  jmcneill branches: 1.2.2; 1.2.4;
wii: provide device names to intr_establish

wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
 1.1 20-Jan-2024  jmcneill evbppc: Add initial support for the Nintendo Wii
 1.2.4.1 02-Aug-2025  perseant Sync with HEAD
 1.2.2.4 14-Oct-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #974):

sys/arch/evbppc/wii/dev/wiifb.c: revision 1.7
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.4
sys/arch/evbppc/wii/machdep.c: revision 1.7
sys/arch/evbppc/wii/wii_locore.S: revision 1.3
sys/arch/evbppc/wii/dev/avenc.c: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.9
sys/arch/evbppc/wii/dev/vireg.h: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.3

wii: Support loading the kernel from boot2

Improve hardware initialization steps so the NetBSD kernel can be launched
directly from boot2 and does not rely on any other PPC software to setup
the hardware.
 1.2.2.3 02-Oct-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #910):

sys/arch/evbppc/wii/dev/hollywood.h: revision 1.3
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.3
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.3
sys/dev/usb/ohcireg.h: revision 1.29
sys/arch/evbppc/include/wii.h: revision 1.8
sys/arch/evbppc/conf/WII: revision 1.6
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.3
sys/dev/usb/ohcivar.h: revision 1.63
sys/dev/usb/ohci.c: revision 1.329

wii: Restrict IOP access to shared peripherals.

Ensure that the IOP cannot access peripherals by clearing the appropriate
bus access bit. I have observed OHCI reporting completion for TDs living
in ARM reserved memory at runtime, this seems to suppress that.

ohci: Allocate a whole cacheline for all descriptors

Allocate a whole cacheline for all descriptor types such that:
i) they can be alloc'ed without USBMALLOC_COHERENT which can mean they're
now mapped cacheable, and
ii) the "soft" versions are cacheable, and mapped as small as possible.

Patch/idea mainly from Nick (skrll@) with a few fixes from me.

wii: Enable ohci(4) driver.
This seems to be stable now, let's enable support for plugging in LS/FS
devices directly into the system without a hub.
 1.2.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.2.2.1 23-Jan-2024  martin file ehci_hollywood.c was added on branch netbsd-10 on 2024-02-03 11:47:04 +0000
 1.2 10-Feb-2024  jmcneill wii: Explicitly set EXI frequency when selecting a device.
 1.1 25-Jan-2024  jmcneill branches: 1.1.2;
wii: Add External interface bus and RTC support
 1.1.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.1.2.1 25-Jan-2024  martin file exi.c was added on branch netbsd-10 on 2024-02-03 11:47:05 +0000
 1.2 10-Feb-2024  jmcneill wii: Explicitly set EXI frequency when selecting a device.
 1.1 25-Jan-2024  jmcneill branches: 1.1.2;
wii: Add External interface bus and RTC support
 1.1.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.1.2.1 25-Jan-2024  martin file exi.h was added on branch netbsd-10 on 2024-02-03 11:47:05 +0000
 1.1 25-Oct-2025  jmcneill branches: 1.1.2; 1.1.4;
wii: Use GX to accelerate RGB to YUY2 conversion.

Allocate a 640x480x32 RGB buffer in memory, and when not in EMUL mode,
use the CPU to copy from the RGB buffer to EFB (taking advantage of the
pixel engine to do RGB -> YUY2 for us) and then use the GX to copy from
EFB to XFB.

Not only does this improve performance significantly in X, it also results
in better colour reproduction. The previous software method employed by
xf86-video-wsfb had some corner cases where eg. dark colours would display
as bright pink.
 1.1.4.2 26-Oct-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #1187):

sys/arch/evbppc/wii/dev/wiifb.c: revision 1.8
sys/arch/evbppc/wii/dev/gxreg.h: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.11
sys/arch/evbppc/wii/machdep.c: revision 1.11
sys/arch/evbppc/wii/dev/viio.h: file removal

wii: Use GX to accelerate RGB to YUY2 conversion.

Allocate a 640x480x32 RGB buffer in memory, and when not in EMUL mode,
use the CPU to copy from the RGB buffer to EFB (taking advantage of the
pixel engine to do RGB -> YUY2 for us) and then use the GX to copy from
EFB to XFB.

Not only does this improve performance significantly in X, it also results
in better colour reproduction. The previous software method employed by
xf86-video-wsfb had some corner cases where eg. dark colours would display
as bright pink.
 1.1.4.1 25-Oct-2025  martin file gxreg.h was added on branch netbsd-10 on 2025-10-26 13:12:29 +0000
 1.1.2.2 26-Oct-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #74):

sys/arch/evbppc/wii/dev/wiifb.c: revision 1.8
sys/arch/evbppc/wii/dev/gxreg.h: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.11
sys/arch/evbppc/wii/machdep.c: revision 1.11
sys/arch/evbppc/wii/dev/viio.h: file removal

wii: Use GX to accelerate RGB to YUY2 conversion.

Allocate a 640x480x32 RGB buffer in memory, and when not in EMUL mode,
use the CPU to copy from the RGB buffer to EFB (taking advantage of the
pixel engine to do RGB -> YUY2 for us) and then use the GX to copy from
EFB to XFB.

Not only does this improve performance significantly in X, it also results
in better colour reproduction. The previous software method employed by
xf86-video-wsfb had some corner cases where eg. dark colours would display
as bright pink.
 1.1.2.1 25-Oct-2025  martin file gxreg.h was added on branch netbsd-11 on 2025-10-26 13:10:04 +0000
 1.3 22-Sep-2024  jmcneill wii: Restrict IOP access to shared peripherals.

Ensure that the IOP cannot access peripherals by clearing the appropriate
bus access bit. I have observed OHCI reporting completion for TDs living
in ARM reserved memory at runtime, this seems to suppress that.
 1.2 23-Jan-2024  jmcneill branches: 1.2.2; 1.2.4;
wii: provide device names to intr_establish

wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
 1.1 20-Jan-2024  jmcneill evbppc: Add initial support for the Nintendo Wii
 1.2.4.1 02-Aug-2025  perseant Sync with HEAD
 1.2.2.3 02-Oct-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #910):

sys/arch/evbppc/wii/dev/hollywood.h: revision 1.3
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.3
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.3
sys/dev/usb/ohcireg.h: revision 1.29
sys/arch/evbppc/include/wii.h: revision 1.8
sys/arch/evbppc/conf/WII: revision 1.6
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.3
sys/dev/usb/ohcivar.h: revision 1.63
sys/dev/usb/ohci.c: revision 1.329

wii: Restrict IOP access to shared peripherals.

Ensure that the IOP cannot access peripherals by clearing the appropriate
bus access bit. I have observed OHCI reporting completion for TDs living
in ARM reserved memory at runtime, this seems to suppress that.

ohci: Allocate a whole cacheline for all descriptors

Allocate a whole cacheline for all descriptor types such that:
i) they can be alloc'ed without USBMALLOC_COHERENT which can mean they're
now mapped cacheable, and
ii) the "soft" versions are cacheable, and mapped as small as possible.

Patch/idea mainly from Nick (skrll@) with a few fixes from me.

wii: Enable ohci(4) driver.
This seems to be stable now, let's enable support for plugging in LS/FS
devices directly into the system without a hub.
 1.2.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.2.2.1 23-Jan-2024  martin file hollywood.c was added on branch netbsd-10 on 2024-02-03 11:47:04 +0000
 1.3 22-Sep-2024  jmcneill wii: Restrict IOP access to shared peripherals.

Ensure that the IOP cannot access peripherals by clearing the appropriate
bus access bit. I have observed OHCI reporting completion for TDs living
in ARM reserved memory at runtime, this seems to suppress that.
 1.2 23-Jan-2024  jmcneill branches: 1.2.2; 1.2.4;
wii: provide device names to intr_establish

wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
 1.1 20-Jan-2024  jmcneill evbppc: Add initial support for the Nintendo Wii
 1.2.4.1 02-Aug-2025  perseant Sync with HEAD
 1.2.2.3 02-Oct-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #910):

sys/arch/evbppc/wii/dev/hollywood.h: revision 1.3
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.3
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.3
sys/dev/usb/ohcireg.h: revision 1.29
sys/arch/evbppc/include/wii.h: revision 1.8
sys/arch/evbppc/conf/WII: revision 1.6
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.3
sys/dev/usb/ohcivar.h: revision 1.63
sys/dev/usb/ohci.c: revision 1.329

wii: Restrict IOP access to shared peripherals.

Ensure that the IOP cannot access peripherals by clearing the appropriate
bus access bit. I have observed OHCI reporting completion for TDs living
in ARM reserved memory at runtime, this seems to suppress that.

ohci: Allocate a whole cacheline for all descriptors

Allocate a whole cacheline for all descriptor types such that:
i) they can be alloc'ed without USBMALLOC_COHERENT which can mean they're
now mapped cacheable, and
ii) the "soft" versions are cacheable, and mapped as small as possible.

Patch/idea mainly from Nick (skrll@) with a few fixes from me.

wii: Enable ohci(4) driver.
This seems to be stable now, let's enable support for plugging in LS/FS
devices directly into the system without a hub.
 1.2.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.2.2.1 23-Jan-2024  martin file hollywood.h was added on branch netbsd-10 on 2024-02-03 11:47:04 +0000
 1.1 23-Jan-2024  jmcneill branches: 1.1.2;
wii: Add GPIO, I2C, and basic A/V encoder driver.
 1.1.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.1.2.1 23-Jan-2024  martin file hwgpio.c was added on branch netbsd-10 on 2024-02-03 11:47:04 +0000
 1.1 20-Jan-2024  jmcneill branches: 1.1.2;
evbppc: Add initial support for the Nintendo Wii
 1.1.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.1.2.1 20-Jan-2024  martin file mainbus.h was added on branch netbsd-10 on 2024-02-03 11:47:04 +0000
 1.3 22-Sep-2024  jmcneill wii: Restrict IOP access to shared peripherals.

Ensure that the IOP cannot access peripherals by clearing the appropriate
bus access bit. I have observed OHCI reporting completion for TDs living
in ARM reserved memory at runtime, this seems to suppress that.
 1.2 23-Jan-2024  jmcneill branches: 1.2.2; 1.2.4;
wii: provide device names to intr_establish

wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
 1.1 20-Jan-2024  jmcneill evbppc: Add initial support for the Nintendo Wii
 1.2.4.1 02-Aug-2025  perseant Sync with HEAD
 1.2.2.3 02-Oct-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #910):

sys/arch/evbppc/wii/dev/hollywood.h: revision 1.3
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.3
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.3
sys/dev/usb/ohcireg.h: revision 1.29
sys/arch/evbppc/include/wii.h: revision 1.8
sys/arch/evbppc/conf/WII: revision 1.6
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.3
sys/dev/usb/ohcivar.h: revision 1.63
sys/dev/usb/ohci.c: revision 1.329

wii: Restrict IOP access to shared peripherals.

Ensure that the IOP cannot access peripherals by clearing the appropriate
bus access bit. I have observed OHCI reporting completion for TDs living
in ARM reserved memory at runtime, this seems to suppress that.

ohci: Allocate a whole cacheline for all descriptors

Allocate a whole cacheline for all descriptor types such that:
i) they can be alloc'ed without USBMALLOC_COHERENT which can mean they're
now mapped cacheable, and
ii) the "soft" versions are cacheable, and mapped as small as possible.

Patch/idea mainly from Nick (skrll@) with a few fixes from me.

wii: Enable ohci(4) driver.
This seems to be stable now, let's enable support for plugging in LS/FS
devices directly into the system without a hub.
 1.2.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.2.2.1 23-Jan-2024  martin file ohci_hollywood.c was added on branch netbsd-10 on 2024-02-03 11:47:05 +0000
 1.3 24-Oct-2025  jmcneill wii: Poll for reset button press in critpoll hook.

This allows for eg. the reset button to work at the ddb> prompt.
 1.2 23-Jan-2024  jmcneill branches: 1.2.2; 1.2.6;
wii: provide device names to intr_establish

wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
 1.1 20-Jan-2024  jmcneill evbppc: Add initial support for the Nintendo Wii
 1.2.6.1 26-Oct-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #72):

sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.3

wii: Poll for reset button press in critpoll hook.

This allows for eg. the reset button to work at the ddb> prompt.
 1.2.2.3 26-Oct-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #1185):

sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.3

wii: Poll for reset button press in critpoll hook.

This allows for eg. the reset button to work at the ddb> prompt.
 1.2.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.2.2.1 23-Jan-2024  martin file resetbtn.c was added on branch netbsd-10 on 2024-02-03 11:47:04 +0000
 1.5 15-Oct-2025  jmcneill wii: rtcsram: Ignore counter bias when reading/writing RTC.

Counter bias is used by system menu as an offset from the RTC for the
time displayed in the Wii's OS. Since Wii doesn't have a concept of time
zones, this bias is useless to us.

Due to a previous bug with parsing SRAM data, the bias read was always 0.
Now that the bias is read correctly, we're reading and writing
preposterous times -- remove the bias from the calculation to restore
the previous setting.

So with this change, the RTC is always in UTC and the Wii system menu
date/time settings adjusts the bias as an offset from that.
 1.4 13-Oct-2025  hgutch Wii: size of ead is 4 bytes each
 1.3 07-Sep-2025  thorpej Change todr_chip_handle::cookie -> todr_chip_handle::todr_dev, and
make it a device_t. Upcoming functional changes will require the
device_t associated with a TODR device.

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

And with these largely mechanical yet semantically meaningful changes,
thus spake the Oracle: "Welcome to NetBSD 11.99.2."
 1.2 10-Feb-2024  jmcneill branches: 1.2.4;
wii: Explicitly set EXI frequency when selecting a device.
 1.1 25-Jan-2024  jmcneill branches: 1.1.2;
wii: Add External interface bus and RTC support
 1.1.2.3 17-Oct-2025  martin Pull up following revision(s) (requested by hgutch in ticket #1172):

sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.4
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.5

Wii: size of ead is 4 bytes each

wii: rtcsram: Ignore counter bias when reading/writing RTC.

Counter bias is used by system menu as an offset from the RTC for the
time displayed in the Wii's OS. Since Wii doesn't have a concept of time
zones, this bias is useless to us.

Due to a previous bug with parsing SRAM data, the bias read was always 0.

Now that the bias is read correctly, we're reading and writing
preposterous times -- remove the bias from the calculation to restore
the previous setting.

So with this change, the RTC is always in UTC and the Wii system menu
date/time settings adjusts the bias as an offset from that.
 1.1.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.1.2.1 25-Jan-2024  martin file rtcsram.c was added on branch netbsd-10 on 2024-02-03 11:47:04 +0000
 1.2.4.1 17-Oct-2025  martin Pull up following revision(s) (requested by hgutch in ticket #54):

sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.4
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.5

Wii: size of ead is 4 bytes each

wii: rtcsram: Ignore counter bias when reading/writing RTC.

Counter bias is used by system menu as an offset from the RTC for the
time displayed in the Wii's OS. Since Wii doesn't have a concept of time
zones, this bias is useless to us.

Due to a previous bug with parsing SRAM data, the bias read was always 0.

Now that the bias is read correctly, we're reading and writing
preposterous times -- remove the bias from the calculation to restore
the previous setting.

So with this change, the RTC is always in UTC and the Wii system menu
date/time settings adjusts the bias as an offset from that.
 1.4 15-Feb-2025  jmcneill wii: Remove SDHC write delay.

Does not seem to be required, and hurts performance.
 1.3 22-Sep-2024  jmcneill wii: Restrict IOP access to shared peripherals.

Ensure that the IOP cannot access peripherals by clearing the appropriate
bus access bit. I have observed OHCI reporting completion for TDs living
in ARM reserved memory at runtime, this seems to suppress that.
 1.2 23-Jan-2024  jmcneill branches: 1.2.2; 1.2.4;
wii: provide device names to intr_establish

wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
 1.1 20-Jan-2024  jmcneill evbppc: Add initial support for the Nintendo Wii
 1.2.4.1 02-Aug-2025  perseant Sync with HEAD
 1.2.2.4 22-Feb-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #1059):

sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.4

wii: Remove SDHC write delay.

Does not seem to be required, and hurts performance.
 1.2.2.3 02-Oct-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #910):

sys/arch/evbppc/wii/dev/hollywood.h: revision 1.3
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.3
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.3
sys/dev/usb/ohcireg.h: revision 1.29
sys/arch/evbppc/include/wii.h: revision 1.8
sys/arch/evbppc/conf/WII: revision 1.6
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.3
sys/dev/usb/ohcivar.h: revision 1.63
sys/dev/usb/ohci.c: revision 1.329

wii: Restrict IOP access to shared peripherals.

Ensure that the IOP cannot access peripherals by clearing the appropriate
bus access bit. I have observed OHCI reporting completion for TDs living
in ARM reserved memory at runtime, this seems to suppress that.

ohci: Allocate a whole cacheline for all descriptors

Allocate a whole cacheline for all descriptor types such that:
i) they can be alloc'ed without USBMALLOC_COHERENT which can mean they're
now mapped cacheable, and
ii) the "soft" versions are cacheable, and mapped as small as possible.

Patch/idea mainly from Nick (skrll@) with a few fixes from me.

wii: Enable ohci(4) driver.
This seems to be stable now, let's enable support for plugging in LS/FS
devices directly into the system without a hub.
 1.2.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.2.2.1 23-Jan-2024  martin file sdhc_hollywood.c was added on branch netbsd-10 on 2024-02-03 11:47:04 +0000
 1.2 25-Oct-2025  jmcneill wii: Use GX to accelerate RGB to YUY2 conversion.

Allocate a 640x480x32 RGB buffer in memory, and when not in EMUL mode,
use the CPU to copy from the RGB buffer to EFB (taking advantage of the
pixel engine to do RGB -> YUY2 for us) and then use the GX to copy from
EFB to XFB.

Not only does this improve performance significantly in X, it also results
in better colour reproduction. The previous software method employed by
xf86-video-wsfb had some corner cases where eg. dark colours would display
as bright pink.
 1.1 21-Jan-2024  jmcneill branches: 1.1.2; 1.1.6;
wii: Add NTSC 480p support.

In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
 1.1.6.1 26-Oct-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #74):

sys/arch/evbppc/wii/dev/wiifb.c: revision 1.8
sys/arch/evbppc/wii/dev/gxreg.h: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.11
sys/arch/evbppc/wii/machdep.c: revision 1.11
sys/arch/evbppc/wii/dev/viio.h: file removal

wii: Use GX to accelerate RGB to YUY2 conversion.

Allocate a 640x480x32 RGB buffer in memory, and when not in EMUL mode,
use the CPU to copy from the RGB buffer to EFB (taking advantage of the
pixel engine to do RGB -> YUY2 for us) and then use the GX to copy from
EFB to XFB.

Not only does this improve performance significantly in X, it also results
in better colour reproduction. The previous software method employed by
xf86-video-wsfb had some corner cases where eg. dark colours would display
as bright pink.
 1.1.2.3 26-Oct-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #1187):

sys/arch/evbppc/wii/dev/wiifb.c: revision 1.8
sys/arch/evbppc/wii/dev/gxreg.h: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.11
sys/arch/evbppc/wii/machdep.c: revision 1.11
sys/arch/evbppc/wii/dev/viio.h: file removal

wii: Use GX to accelerate RGB to YUY2 conversion.

Allocate a 640x480x32 RGB buffer in memory, and when not in EMUL mode,
use the CPU to copy from the RGB buffer to EFB (taking advantage of the
pixel engine to do RGB -> YUY2 for us) and then use the GX to copy from
EFB to XFB.

Not only does this improve performance significantly in X, it also results
in better colour reproduction. The previous software method employed by
xf86-video-wsfb had some corner cases where eg. dark colours would display
as bright pink.
 1.1.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.1.2.1 21-Jan-2024  martin file viio.h was added on branch netbsd-10 on 2024-02-03 11:47:04 +0000
 1.3 13-Oct-2024  jmcneill wii: Support loading the kernel from boot2

Improve hardware initialization steps so the NetBSD kernel can be launched
directly from boot2 and does not rely on any other PPC software to setup
the hardware.
 1.2 21-Jan-2024  jmcneill branches: 1.2.2; 1.2.4;
wii: Add NTSC 480p support.

In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
 1.1 20-Jan-2024  jmcneill evbppc: Add initial support for the Nintendo Wii
 1.2.4.1 02-Aug-2025  perseant Sync with HEAD
 1.2.2.3 14-Oct-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #974):

sys/arch/evbppc/wii/dev/wiifb.c: revision 1.7
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.4
sys/arch/evbppc/wii/machdep.c: revision 1.7
sys/arch/evbppc/wii/wii_locore.S: revision 1.3
sys/arch/evbppc/wii/dev/avenc.c: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.9
sys/arch/evbppc/wii/dev/vireg.h: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.3

wii: Support loading the kernel from boot2

Improve hardware initialization steps so the NetBSD kernel can be launched
directly from boot2 and does not rely on any other PPC software to setup
the hardware.
 1.2.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.2.2.1 21-Jan-2024  martin file vireg.h was added on branch netbsd-10 on 2024-02-03 11:47:05 +0000
 1.8 25-Oct-2025  jmcneill wii: Use GX to accelerate RGB to YUY2 conversion.

Allocate a 640x480x32 RGB buffer in memory, and when not in EMUL mode,
use the CPU to copy from the RGB buffer to EFB (taking advantage of the
pixel engine to do RGB -> YUY2 for us) and then use the GX to copy from
EFB to XFB.

Not only does this improve performance significantly in X, it also results
in better colour reproduction. The previous software method employed by
xf86-video-wsfb had some corner cases where eg. dark colours would display
as bright pink.
 1.7 13-Oct-2024  jmcneill branches: 1.7.2;
wii: Support loading the kernel from boot2

Improve hardware initialization steps so the NetBSD kernel can be launched
directly from boot2 and does not rely on any other PPC software to setup
the hardware.
 1.6 05-Feb-2024  jmcneill branches: 1.6.2;
wiifb: Misc fixes.

Add a 16-pixel border on the top and bottom of the FB, and fix an error
path to properly blink the slot LED when the current video mode is not
supported.
 1.5 27-Jan-2024  hgutch branches: 1.5.2;
Add support for "PAL" (576i) mode on Wii.
 1.4 23-Jan-2024  jmcneill wii: Use screen dimming register for screen blanking.
 1.3 22-Jan-2024  jmcneill wii: Add screenblank support.
 1.2 21-Jan-2024  jmcneill wii: Add NTSC 480p support.

In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
 1.1 20-Jan-2024  jmcneill evbppc: Add initial support for the Nintendo Wii
 1.5.2.5 26-Oct-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #1187):

sys/arch/evbppc/wii/dev/wiifb.c: revision 1.8
sys/arch/evbppc/wii/dev/gxreg.h: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.11
sys/arch/evbppc/wii/machdep.c: revision 1.11
sys/arch/evbppc/wii/dev/viio.h: file removal

wii: Use GX to accelerate RGB to YUY2 conversion.

Allocate a 640x480x32 RGB buffer in memory, and when not in EMUL mode,
use the CPU to copy from the RGB buffer to EFB (taking advantage of the
pixel engine to do RGB -> YUY2 for us) and then use the GX to copy from
EFB to XFB.

Not only does this improve performance significantly in X, it also results
in better colour reproduction. The previous software method employed by
xf86-video-wsfb had some corner cases where eg. dark colours would display
as bright pink.
 1.5.2.4 14-Oct-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #974):

sys/arch/evbppc/wii/dev/wiifb.c: revision 1.7
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.4
sys/arch/evbppc/wii/machdep.c: revision 1.7
sys/arch/evbppc/wii/wii_locore.S: revision 1.3
sys/arch/evbppc/wii/dev/avenc.c: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.9
sys/arch/evbppc/wii/dev/vireg.h: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.3

wii: Support loading the kernel from boot2

Improve hardware initialization steps so the NetBSD kernel can be launched
directly from boot2 and does not rely on any other PPC software to setup
the hardware.
 1.5.2.3 06-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #587):

sys/arch/evbppc/wii/dev/wiifb.c: revision 1.6

wiifb: Misc fixes.

Add a 16-pixel border on the top and bottom of the FB, and fix an error
path to properly blink the slot LED when the current video mode is not
supported.
 1.5.2.2 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.5.2.1 27-Jan-2024  martin file wiifb.c was added on branch netbsd-10 on 2024-02-03 11:47:04 +0000
 1.6.2.1 02-Aug-2025  perseant Sync with HEAD
 1.7.2.1 26-Oct-2025  martin Pull up following revision(s) (requested by jmcneill in ticket #74):

sys/arch/evbppc/wii/dev/wiifb.c: revision 1.8
sys/arch/evbppc/wii/dev/gxreg.h: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.11
sys/arch/evbppc/wii/machdep.c: revision 1.11
sys/arch/evbppc/wii/dev/viio.h: file removal

wii: Use GX to accelerate RGB to YUY2 conversion.

Allocate a 640x480x32 RGB buffer in memory, and when not in EMUL mode,
use the CPU to copy from the RGB buffer to EFB (taking advantage of the
pixel engine to do RGB -> YUY2 for us) and then use the GX to copy from
EFB to XFB.

Not only does this improve performance significantly in X, it also results
in better colour reproduction. The previous software method employed by
xf86-video-wsfb had some corner cases where eg. dark colours would display
as bright pink.

RSS XML Feed