Home | History | Annotate | only in /src/sys/arch/evbarm
History log of /src/sys/arch/evbarm
RevisionDateAuthorComments
 1.14 30-Apr-2024  dyoung When creating the tags file, include the sources in sys/arch/arm/xilinx/.
 1.13 29-Oct-2022  jmcneill GC unused files.
 1.12 29-Oct-2022  jmcneill Retire arch/evbarm/beagle.

A few more kernel configs go away:

- OMAP5EVM and PANDABOARD likely never worked to begin with.
- N900 and VTC100 are TI AM335x based, which is supported by GENERIC.
 1.11 28-Oct-2022  jmcneill Retire PARALLELLA and ZEDBOARD kernel configs.

The Zynq-7000 port has been converted to Devicetree and is supported
by the GENERIC kernel now.
 1.10 23-Jan-2015  hkenken Initial Zynq (Xilinx) support
Add support for ZedBoard evaluation board and Parallella board.
* cemac(4) Cadence EMAC/GEM(Gigabit) Ethernet Controller driver
based on at91emac
 1.9 26-Jul-2012  skrll branches: 1.9.2; 1.9.14; 1.9.16;
Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.
 1.8 30-Jan-2012  nisimura branches: 1.8.2;

Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.7 04-Apr-2011  dyoung branches: 1.7.4; 1.7.8;
Fix target 'tags'.
 1.6 25-Oct-2008  apb branches: 1.6.16; 1.6.22;
Use ${TOOL_SED} instead if plain sed in Makefiles.
 1.5 10-Jan-2008  dyoung branches: 1.5.6; 1.5.10; 1.5.16;
Make the 'tags' target produce some useful tags.
 1.4 29-Apr-2003  thorpej branches: 1.4.18; 1.4.76; 1.4.80; 1.4.86; 1.4.94;
Descend into stand.
 1.3 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.2 09-Nov-2001  thorpej branches: 1.2.2; 1.2.4; 1.2.6;
Add some missing backslashes.
 1.1 27-Oct-2001  rearnsha Build tags files for the evbarm subtree.
 1.2.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.6.1 09-Nov-2001  thorpej file Makefile was added on branch kqueue on 2002-01-10 19:41:58 +0000
 1.2.4.2 07-Jan-2003  thorpej Sync with HEAD.
 1.2.4.1 09-Nov-2001  thorpej file Makefile was added on branch nathanw_sa on 2003-01-07 21:05:56 +0000
 1.2.2.2 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.2.2.1 09-Nov-2001  thorpej file Makefile was added on branch thorpej-mips-cache on 2001-11-12 21:16:48 +0000
 1.4.94.1 10-Jan-2008  bouyer Sync with HEAD
 1.4.86.1 18-Feb-2008  mjf Sync with HEAD.
 1.4.80.1 23-Mar-2008  matt sync with HEAD
 1.4.76.1 28-Feb-2008  rjs Sync with HEAD.
 1.4.18.1 21-Jan-2008  yamt sync with head
 1.5.16.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.5.10.1 04-May-2009  yamt sync with head.
 1.5.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.6.22.1 06-Jun-2011  jruoho Sync with HEAD.
 1.6.16.1 21-Apr-2011  rmind sync with head
 1.7.8.1 18-Feb-2012  mrg merge to -current.
 1.7.4.2 30-Oct-2012  yamt sync with head
 1.7.4.1 17-Apr-2012  yamt sync with head
 1.8.2.1 09-Aug-2012  jdc Pull up revisions:
src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4
src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65
src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40
src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14
src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11
src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2
src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108
src/sys/arch/arm/arm32/cpu.c revision 1.79
src/sys/arch/arm/include/armreg.h revisions 1.49,1.54
src/sys/arch/arm/arm32/pmap.c revision 1.229
src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77
src/sys/arch/arm/include/cpu.h revision 1.64
src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3
src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1
src/sys/arch/arm/conf/files.arm revision 1.106
src/sys/arch/arm/include/cpufunc.h revision 1.57
src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24
src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8
src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4
src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69
src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1
src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1
src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1
src/sys/arch/evbarm/Makefile revision 1.9
src/sys/arch/evbarm/conf/RPI revision 1.1
src/sys/arch/evbarm/conf/files.rpi revision 1.1
src/sys/arch/evbarm/conf/mk.rpi revision 1.1
src/sys/arch/evbarm/conf/std.rpi revision 1.1
src/sys/arch/evbarm/rpi/genassym.cf revision 1.1
src/sys/arch/evbarm/rpi/rpi.h revision 1.1
src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1
src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2
src/etc/etc.evbarm/Makefile.inc revision 1.28
(requested by skrll in ticket #454).

don't mix #define<TAB> and #define<SPACE> in a file.

avoid warning with options PLCOM_DEBUG for INTEGRATOR.

Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.

Replace the simple_lock with a kmutex_t. Update the locking to match
com(4) in the few places it didn't already.

DOH. Replace a line that got accidently deleted in the last commit.

device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t

Add the 'Z' to the 1176 cpu product name.

ok matt@

Fix locking botch introduced in 1.36.

Fix a KASSERT. From/OK'ed by matt@

Fix racy softint dispatch that lead to KASSERT(si->si_active) in
softint_execute

Discussed with matt@. "Looks good to me"

Add the documented ARM11[37]6 Auxiliary control register defines.

Add support for the ARM1176JZS

Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).

Provide a method for attachments to specify capabilites.

Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.

Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.

Add RPI to KERNEL_SETS

Remove #if 0 code.
 1.9.16.1 06-Apr-2015  skrll Sync with HEAD
 1.9.14.1 11-May-2015  msaitoh Pull up following revision(s) (requested by nonaka in ticket #751):
sys/arch/arm/zynq/zynq_axi.c: revision 1.1
sys/arch/evbarm/conf/files.zynq: revision 1.1
sys/arch/arm/zynq/zynq_uart.c: revision 1.1
sys/arch/evbarm/zynq/genassym.cf: revision 1.1
sys/arch/evbarm/zynq/zynq_start.S: revision 1.1
sys/arch/arm/zynq/zynq_slcrreg.h: revision 1.1
sys/arch/arm/zynq/zynq_usbreg.h: revision 1.1
sys/arch/arm/zynq/zynq7000_uart.c: revision 1.1
sys/arch/arm/zynq/zynq7000_sdhc.c: revision 1.1
sys/arch/arm/zynq/zynq_slcrvar.h: revision 1.1
sys/arch/arm/zynq/zynq_usbvar.h: revision 1.1
sys/arch/evbarm/conf/PARALLELLA_INSTALL: revision 1.1
sys/arch/arm/zynq/zynq_uartreg.h: revision 1.1
sys/arch/evbarm/zynq/platform.h: revision 1.1
sys/arch/evbarm/conf/mk.zynq: revision 1.1
sys/arch/evbarm/conf/files.zedboard: revision 1.1
sys/arch/arm/zynq/zynq7000_usb.c: revision 1.1
sys/dev/cadence/if_cemacvar.h: revision 1.1
sys/arch/arm/zynq/files.zynq: revision 1.1
sys/arch/arm/zynq/zynq_slcr.c: revision 1.1
sys/arch/arm/zynq/zynq7000_intr.h: revision 1.1
sys/arch/arm/conf/majors.arm32: revision 1.36
sys/arch/arm/zynq/zynq_uartvar.h: revision 1.1
sys/arch/evbarm/conf/files.parallella: revision 1.1
sys/arch/arm/zynq/zynq_space.c: revision 1.1
sys/dev/cadence/if_cemac.c: revision 1.1
sys/arch/evbarm/conf/PARALLELLA: revision 1.1
sys/arch/arm/zynq/zynq7000_board.c: revision 1.1
sys/arch/evbarm/Makefile: revision 1.10
sys/arch/evbarm/zynq/zynq_machdep.c: revision 1.1
sys/arch/arm/zynq/zynq7000_reg.h: revision 1.1
sys/arch/evbarm/conf/ZEDBOARD: revision 1.1
sys/dev/cadence/cemacreg.h: revision 1.1
sys/arch/evbarm/conf/std.zynq: revision 1.1
sys/arch/arm/zynq/zynq_dma.c: revision 1.1
sys/arch/arm/zynq/zynq_cemac.c: revision 1.1
sys/arch/arm/zynq/zynq7000_var.h: revision 1.1
sys/arch/evbarm/conf/ZEDBOARD_INSTALL: revision 1.1
sys/arch/arm/zynq/zynq_usb.c: revision 1.1
Initial Zynq (Xilinx) support
Add support for ZedBoard evaluation board and Parallella board.
* cemac(4) Cadence EMAC/GEM(Gigabit) Ethernet Controller driver
based on at91emac
 1.9.2.1 03-Dec-2017  jdolecek update from 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 11-Dec-2005  christos merge ktrace-lwp.
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 25-Jan-2003  thorpej branches: 1.1.2;
Add support for ADI Engineering's "Big Red Head" i80200 evaluation
and development board, based around their BECC companion chip. Despite
its name, the board can run in big- or little-endian mode (we currently
run only in the latter).
 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.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.6 12-Nov-2012  skrll C99 types
 1.5 01-Jul-2011  dyoung branches: 1.5.2; 1.5.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.4 24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 15-Jul-2003  lukem branches: 1.2.16;
__KERNEL_RCSID()
 1.1 25-Jan-2003  thorpej branches: 1.1.2;
Add support for ADI Engineering's "Big Red Head" i80200 evaluation
and development board, based around their BECC companion chip. Despite
its name, the board can run in big- or little-endian mode (we currently
run only in the latter).
 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.5.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.5.2.1 16-Jan-2013  yamt sync with (a bit old) head
 1.56 20-Feb-2024  andvar Fix format specifier for physmem from %d to 0x%"PRIxPSIZE" in multiple places.

Should fix VERBOSE_INIT_ARM for various evbarm kernel configs.
Also add 0x prefix in few previously fixed places to improve readability.
 1.55 26-Dec-2023  andvar Replace %ld/%lx format specifiers with PRIx{SIZE,ADDR} for better portability.

From Nick Hudson.
 1.54 23-Dec-2023  andvar Fix physmem printf format specifier %d->%ld.

Fixes VERBOSE_INIT_ARM enabled build for ADI_BRH kernel config.
 1.53 12-Oct-2023  skrll Fix non-DIAGNOSTIC builds
 1.52 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.51 17-Aug-2021  andvar branches: 1.51.4;
fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.50 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.49 18-Apr-2020  skrll Trailing whitespace
 1.48 16-Jul-2019  skrll branches: 1.48.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.47 28-Oct-2018  skrll Fix a commit
 1.46 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.45 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.44 22-Dec-2016  cherry branches: 1.44.14; 1.44.16;
switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.43 13-Sep-2014  matt branches: 1.43.2; 1.43.4;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.42 18-Aug-2013  matt <arm/locore.h> fallout (fixes some include ordering errors)
 1.41 22-Sep-2012  matt branches: 1.41.2;
Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.40 16-Aug-2012  matt branches: 1.40.2;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.39 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.38 01-Jul-2011  dyoung branches: 1.38.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.37 30-Jun-2011  wiz dependant -> dependent
 1.36 26-Dec-2009  uebayasi Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.35 26-Dec-2009  uebayasi Garbage collect an unused global, vm_offset_t pagetables_start.
 1.34 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.33 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.32 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 1.31 30-Nov-2008  martin As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.30 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.29 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.28 27-Apr-2008  matt branches: 1.28.6; 1.28.8;
Merge kernel changes in matt-armv6 to HEAD.
 1.27 19-Jan-2008  chris branches: 1.27.6; 1.27.8; 1.27.10;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.26 24-Nov-2006  wiz branches: 1.26.24; 1.26.28; 1.26.34; 1.26.42;
s/independant/independent/, from Zafer.
 1.25 16-May-2006  mrg branches: 1.25.8; 1.25.10;
redo the previous. GCC4 wants both pv_pa and pv_va initialised.
 1.24 16-May-2006  mrg move the initialiser for kernel_l1pt.pv_va to pacify GCC4.
 1.23 24-Dec-2005  perry branches: 1.23.4; 1.23.6; 1.23.8; 1.23.12;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.22 11-Dec-2005  christos merge ktrace-lwp.
 1.21 12-Dec-2004  abs branches: 1.21.10;
Fix comments regarding configration bounaries
 1.20 12-Dec-2004  abs Fix comments slighly
 1.19 13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.18 15-Jul-2003  lukem __KERNEL_RCSID()
 1.17 15-Jun-2003  thorpej branches: 1.17.2;
Use the new pmap_devmap facility in the on-board device mapping code.
 1.16 15-Jun-2003  thorpej Replace the ad-hoc "section mapping table" for static device mappings
with a more generic "devmap" structure that can also handle mappings
made with large and small pages. Add new pmap routines to enter these
mappings during bootstrap (and "remember" the devmap), and routines to
look up the static mappings once the kernel is running.
 1.15 14-Jun-2003  thorpej Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
 1.14 22-May-2003  thorpej Move KERNEL_VM_SIZE into the C files where its used.
 1.13 21-May-2003  thorpej Move KERNEL_VM_BASE inside where it is used (it won't be there for long).
 1.12 21-May-2003  briggs Make sure we call becc_calibrate_delay() _after_ becc_vaddr is set up.
It happens to work otherwise when RedBoot leaves the timer running for us.
 1.11 17-May-2003  thorpej Decrease the verbosity level unless VERBOSE_INIT_ARM is defiend.
 1.10 03-May-2003  thorpej Don't expose KERNEL_TEXT_BASE outside of board-specific code. This gives
individual board start-up code more flexibility about where the kernel
starts in the kernel address space.
 1.9 03-May-2003  thorpej Reduce differences between ARM32_NEW_VM_LAYOUT and not; always pass
the start and end of the kernel managed virtual address space to
pmap_bootstrap() in the new pmap.
 1.8 03-May-2003  thorpej Remove old pmap support for platforms which have fully switched over.
 1.7 02-May-2003  thorpej Eliminate PTE_BASE and the PT-PT completely in the ARM32_PMAP_NEW case.
Also in the ARM32_PMAP_NEW case, reclaim the USPACE-bytes of wasted space
at the top of the user address that hasn't been needed for a very very
long time.
 1.6 26-Apr-2003  ragge Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
 1.5 22-Apr-2003  thorpej Use high vectors on the BRH.
 1.4 19-Apr-2003  thorpej Adapt to ARM32_PMAP_NEW.
 1.3 02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.2 29-Jan-2003  briggs Compile without DIAGNOSTIC.
 1.1 25-Jan-2003  thorpej Add support for ADI Engineering's "Big Red Head" i80200 evaluation
and development board, based around their BECC companion chip. Despite
its name, the board can run in big- or little-endian mode (we currently
run only in the latter).
 1.17.2.4 18-Dec-2004  skrll Sync with HEAD.
 1.17.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.17.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.17.2.1 03-Aug-2004  skrll Sync with HEAD
 1.21.10.3 21-Jan-2008  yamt sync with head
 1.21.10.2 30-Dec-2006  yamt sync with head.
 1.21.10.1 21-Jun-2006  yamt sync with head.
 1.23.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.23.8.1 24-May-2006  yamt sync with head.
 1.23.6.1 01-Jun-2006  kardel Sync with head.
 1.23.4.1 09-Sep-2006  rpaulo sync with head
 1.25.10.1 10-Dec-2006  yamt sync with head.
 1.25.8.1 12-Jan-2007  ad Sync with head.
 1.26.42.1 20-Jan-2008  bouyer Sync with HEAD
 1.26.34.1 18-Feb-2008  mjf Sync with HEAD.
 1.26.28.2 23-Mar-2008  matt sync with HEAD
 1.26.28.1 09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.26.24.1 28-Feb-2008  rjs Sync with HEAD.
 1.27.10.4 11-Mar-2010  yamt sync with head
 1.27.10.3 19-Aug-2009  yamt sync with head.
 1.27.10.2 04-May-2009  yamt sync with head.
 1.27.10.1 16-May-2008  yamt sync with head.
 1.27.8.1 18-May-2008  yamt sync with head.
 1.27.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.27.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.28.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.28.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.38.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.38.2.1 30-Oct-2012  yamt sync with head
 1.40.2.3 03-Dec-2017  jdolecek update from HEAD
 1.40.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.40.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.41.2.1 28-Aug-2013  rmind sync with head
 1.43.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.43.2.1 05-Feb-2017  skrll Sync with HEAD
 1.44.16.3 21-Apr-2020  martin Sync with HEAD
 1.44.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.44.16.1 10-Jun-2019  christos Sync with HEAD
 1.44.14.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.44.14.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.44.14.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.48.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.51.4.1 14-Oct-2023  martin Pull up following revision(s) (requested by skrll in ticket #411):

sys/arch/evbarm/nslu2/nslu2_machdep.c: revision 1.41
sys/arch/evbarm/gumstix/gumstix_machdep.c: revision 1.75
sys/arch/evbarm/iq80321/iq80321_machdep.c: revision 1.66
sys/arch/iyonix/iyonix/iyonix_machdep.c: revision 1.34
sys/arch/zaurus/zaurus/machdep.c: revision 1.52
sys/arch/evbarm/g42xxeb/g42xxeb_machdep.c: revision 1.41
sys/arch/hpcarm/hpcarm/pxa2x0_hpc_machdep.c: revision 1.33
sys/arch/evbarm/iq80310/iq80310_machdep.c: revision 1.96
sys/arch/evbarm/adi_brh/brh_machdep.c: revision 1.53
sys/arch/arm/include/arm32/pmap.h: revision 1.177
sys/arch/evbarm/viper/viper_machdep.c: revision 1.34
sys/arch/evbarm/iyonix/iyonix_machdep.c: revision 1.5
sys/arch/evbarm/npwr_fc/npwr_fc_machdep.c: revision 1.30
sys/arch/evbarm/hdl_g/hdlg_machdep.c: revision 1.35
sys/arch/arm/arm32/pmap.c: revision 1.440
sys/arch/evbarm/lubbock/lubbock_machdep.c: revision 1.45
sys/arch/evbarm/ixdp425/ixdp425_machdep.c: revision 1.47

Fix non-DIAGNOSTIC builds
 1.3 13-Jan-2014  matt Get rid on some useless pc addition. Use adr or ldr with pc relative
addressing.
 1.2 31-Jan-2011  matt branches: 1.2.4; 1.2.14; 1.2.18;
Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.1 25-Jan-2003  thorpej branches: 1.1.130; 1.1.136; 1.1.138;
Add support for ADI Engineering's "Big Red Head" i80200 evaluation
and development board, based around their BECC companion chip. Despite
its name, the board can run in big- or little-endian mode (we currently
run only in the latter).
 1.1.138.1 08-Feb-2011  bouyer Sync with HEAD
 1.1.136.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.130.1 05-Mar-2011  rmind sync with head
 1.2.18.1 18-May-2014  rmind sync with head
 1.2.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.4.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2 02-Aug-2021  andvar fix various typos in comments and log messages.
 1.1 25-Jan-2003  thorpej Add support for ADI Engineering's "Big Red Head" i80200 evaluation
and development board, based around their BECC companion chip. Despite
its name, the board can run in big- or little-endian mode (we currently
run only in the latter).
 1.1 25-Jan-2003  thorpej Add support for ADI Engineering's "Big Red Head" i80200 evaluation
and development board, based around their BECC companion chip. Despite
its name, the board can run in big- or little-endian mode (we currently
run only in the latter).
 1.8 08-Dec-2018  thorpej Clean up initialization of com_regs structure, in preparation for
some additional changers.
 1.7 01-Jul-2011  dyoung branches: 1.7.52; 1.7.54;
#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 14-Mar-2008  cube branches: 1.5.2; 1.5.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.4 13-Jul-2006  gdamore branches: 1.4.34; 1.4.54; 1.4.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.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 25-Jan-2003  thorpej branches: 1.1.2;
Add support for ADI Engineering's "Big Red Head" i80200 evaluation
and development board, based around their BECC companion chip. Despite
its name, the board can run in big- or little-endian mode (we currently
run only in the latter).
 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 30-Dec-2006  yamt sync with head.
 1.3.16.1 20-Jun-2006  gdamore Add support for pretty much all ARM com(4) variants. There are a few ARM
serial devices that are not com(4)-like enough to be supported under com(4).
 1.3.8.1 11-Aug-2006  yamt sync with head
 1.3.4.1 09-Sep-2006  rpaulo sync with head
 1.4.58.2 02-Jun-2008  mjf Sync with HEAD.
 1.4.58.1 03-Apr-2008  mjf Sync with HEAD.
 1.4.54.1 24-Mar-2008  keiichi sync with head.
 1.4.34.1 23-Mar-2008  matt 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.54.1 10-Jun-2019  christos Sync with HEAD
 1.7.52.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.13 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.12 24-Apr-2021  thorpej branches: 1.12.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.11 01-Jul-2011  dyoung branches: 1.11.68;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.10 06-Jun-2011  matt Some more device_t, cfdata_t, CFATTACH_DECL_NEW cleanup.
 1.9 11-Dec-2005  christos branches: 1.9.100; 1.9.110;
merge ktrace-lwp.
 1.8 26-Aug-2005  drochner s/locdesc_t/int/g
 1.7 30-Jun-2005  drochner branches: 1.7.2;
adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes
 1.6 15-Jul-2003  lukem __KERNEL_RCSID()
 1.5 16-Jun-2003  thorpej branches: 1.5.2;
Give every obio implementation a size and width locator.
 1.4 15-Jun-2003  thorpej Add an optional "width" locator to the obio bus, specifying the
bus width of the device.
 1.3 23-May-2003  briggs Need aprint_naive() with aprint_normal() change. Thanks, Jason.
 1.2 23-May-2003  briggs printf -> aprint_normal
 1.1 25-Jan-2003  thorpej Add support for ADI Engineering's "Big Red Head" i80200 evaluation
and development board, based around their BECC companion chip. Despite
its name, the board can run in big- or little-endian mode (we currently
run only in the latter).
 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 21-Jun-2006  yamt sync with head.
 1.9.110.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.9.100.1 12-Jun-2011  rmind sync with head
 1.11.68.6 05-Apr-2021  thorpej Treat config_probe() as if it were a boolean function; don't compare
return value > 0... except for the odd balls, which are now really easy
to spot.
 1.11.68.5 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.11.68.4 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.11.68.3 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.11.68.2 21-Mar-2021  thorpej CFARG_IATTR usage audit:

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

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.12.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.10 21-Apr-2023  skrll Trailing whitespace.
 1.9 16-Mar-2018  ryo use designated initializer to make adaptability and flexibility for changing struct bus_space.
no functional change.
 1.8 22-Feb-2014  matt branches: 1.8.28;
Don't manipulate the pte to get uncached memory, use PMAP_NOCACHE instead.
Convert footbring to kenter_pa/kremove
 1.7 01-Jul-2011  dyoung branches: 1.7.2; 1.7.12; 1.7.16;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.6 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.5 24-Nov-2005  yamt branches: 1.5.78;
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.4 01-Apr-2005  yamt branches: 1.4.2; 1.4.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.3 15-Jul-2003  lukem branches: 1.3.8; 1.3.10;
__KERNEL_RCSID()
 1.2 15-Jun-2003  thorpej branches: 1.2.2;
Use the new pmap_devmap facility in the on-board device mapping code.
 1.1 25-Jan-2003  thorpej Add support for ADI Engineering's "Big Red Head" i80200 evaluation
and development board, based around their BECC companion chip. Despite
its name, the board can run in big- or little-endian mode (we currently
run only in the latter).
 1.2.2.5 11-Dec-2005  christos Sync with head.
 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.3.10.1 13-Feb-2005  yamt use new apis.
 1.3.8.1 29-Apr-2005  kent sync with -current
 1.4.8.1 29-Nov-2005  yamt sync with head.
 1.4.2.1 21-Jun-2006  yamt sync with head.
 1.5.78.1 11-Mar-2010  yamt sync with head
 1.7.16.1 18-May-2014  rmind sync with head
 1.7.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 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.8.28.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.3 16-Jun-2003  thorpej Give every obio implementation a size and width locator.
 1.2 15-Jun-2003  thorpej Add an optional "width" locator to the obio bus, specifying the
bus width of the device.
 1.1 25-Jan-2003  thorpej Add support for ADI Engineering's "Big Red Head" i80200 evaluation
and development board, based around their BECC companion chip. Despite
its name, the board can run in big- or little-endian mode (we currently
run only in the latter).
 1.2 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.1 19-Sep-2018  aymeric branches: 1.1.2;
Add support for the DE0 NanoSoC board.

It's Cyclone V based and thus includes a dual-core Cortex A9 @925MHz.
Most standard peripherals are supported (USB, SDCard, Ethernet) and
no unusual peripheral is supported yet (FPGA, GPIO, ...)
 1.1.2.3 20-Oct-2018  pgoyette Sync with head
 1.1.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.2.1 19-Sep-2018  pgoyette file altera_start.S was added on branch pgoyette-compat on 2018-09-30 01:45:40 +0000
 1.2 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.1 19-Sep-2018  aymeric branches: 1.1.2;
Add support for the DE0 NanoSoC board.

It's Cyclone V based and thus includes a dual-core Cortex A9 @925MHz.
Most standard peripherals are supported (USB, SDCard, Ethernet) and
no unusual peripheral is supported yet (FPGA, GPIO, ...)
 1.1.2.3 20-Oct-2018  pgoyette Sync with head
 1.1.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.2.1 19-Sep-2018  pgoyette file genassym.cf was added on branch pgoyette-compat on 2018-09-30 01:45:40 +0000
 1.2 18-Oct-2018  skrll branches: 1.2.4;
Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.1 19-Sep-2018  aymeric branches: 1.1.2;
Add support for the DE0 NanoSoC board.

It's Cyclone V based and thus includes a dual-core Cortex A9 @925MHz.
Most standard peripherals are supported (USB, SDCard, Ethernet) and
no unusual peripheral is supported yet (FPGA, GPIO, ...)
 1.1.2.3 20-Oct-2018  pgoyette Sync with head
 1.1.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.2.1 19-Sep-2018  pgoyette file platform.h was added on branch pgoyette-compat on 2018-09-30 01:45:40 +0000
 1.2.4.2 10-Jun-2019  christos Sync with HEAD
 1.2.4.1 18-Oct-2018  christos file platform.h was added on branch phil-wifi on 2019-06-10 22:06:03 +0000
 1.19 21-Apr-2023  skrll More devmap updates
 1.18 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.17 16-Jul-2019  skrll Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.16 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.15 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.14 15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.13 10-Mar-2017  skrll branches: 1.13.12; 1.13.14;
Initialise the windows and allow access to PCI Express port 1 first lane.

Allows xhci(4) to attach in the MV78230 based Lenovo ix4-300d

mvpex1 at mvsoc0 unit 4 offset 0x80000-0x81fff irq 62: Marvell PCI Express Interface
pci1 at mvpex1
xhci0 at pci1 dev 1 function 0: vendor 1033 product 0194 (rev. 0x04)
xhci0: interrupting at interrupt pin INTA#
usb3 at xhci0: USB revision 3.0
usb4 at xhci0: USB revision 2.0
 1.12 07-Jan-2017  kiyohara branches: 1.12.2;
Add support Marvell Dove.
Also <SoC>_intr_bootstrap() rename to <SoC>_bootstrap(). And SoC init func, getclk into that.
 1.11 03-May-2015  hsuenaga branches: 1.11.2;
add new ethernet driver mvxpe for recent MARVELL's SoC after ARMADA/XP.
this driver supports 'counter mode', and is disabled by default.

ARMADA SoC family has new ethernet controller acceleration mode called
'enhanced mode' or 'counter mode.' it seems that backward compatibility mode
used by if_mvgbe is still working, but the specification of the old mode
is completely disappeared from SoC's reference manual.

I tested the driver using MIRABOX(ARMADA/370).
 1.10 15-Apr-2015  hsuenaga lookup clock frequencies of ARMADA 370 correctly.
 1.9 15-Apr-2015  hsuenaga add u-boot argument parser for Marvell ARMADA XP/370.
use 'ethaddr' and 'eth1addr' in u-boot argument to setup MAC address of mvgbe.
 1.8 29-Mar-2014  matt branches: 1.8.4; 1.8.8;
support mapping all of memory.
Map memory starting at 0x80000000 and leave 1GB until kernel VM
Make kernel VM size 320MB (avoid loading kernel and i/o section into same
tlb index).
 1.7 18-Mar-2014  matt Default comfreq to mvTclk if CONSFREQ is not defined.
 1.6 23-Dec-2013  kiyohara Support to check the clock gating for Armada XP in armadaxp.c.
Also move the checking for clock gate of Kirkwood into kirkwood.c.
 1.5 23-Dec-2013  kiyohara Move Misc Registers from mvsocreg.h to armadaxpreg.h. These registers only
Armada XP. The misc_base initializes in initarm() instead of mvsoc_bootstrap().
 1.4 20-Nov-2013  kiyohara Add defines for MISC registers.
 1.3 30-Sep-2013  kiyohara Call some armadaxp functions with MARVLL_INTERREG_PBASE.
And include arm/marvell/armadaxpreg.h instead of evbarm/armadaxp.
 1.2 29-May-2013  rkujawa branches: 1.2.2; 1.2.4;
Add CVS IDs where appropriate.
 1.1 29-May-2013  rkujawa Import cleaned up MD parts of Armada XP port.

Compared to what was posted to port-arm, the main difference is that now it uses
arm32_kvminit, arm32_boot, arm32_reboot as advised by nick@.

Obtained from Marvell, Semihalf.
 1.2.4.1 18-May-2014  rmind sync with head
 1.2.2.4 03-Dec-2017  jdolecek update from HEAD
 1.2.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.2.2 23-Jun-2013  tls resync from head
 1.2.2.1 29-May-2013  tls file armadaxp_machdep.c was added on branch tls-maxphys on 2013-06-23 06:20:03 +0000
 1.8.8.3 28-Aug-2017  skrll Sync with HEAD
 1.8.8.2 05-Feb-2017  skrll Sync with HEAD
 1.8.8.1 06-Jun-2015  skrll Sync with HEAD
 1.8.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.8.4.1 29-Mar-2014  yamt file armadaxp_machdep.c was added on branch yamt-pagecache on 2014-05-22 11:39:39 +0000
 1.11.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.12.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.13.14.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.13.14.1 10-Jun-2019  christos Sync with HEAD
 1.13.12.3 30-Sep-2018  pgoyette Ssync with HEAD
 1.13.12.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.13.12.1 28-Jul-2018  pgoyette Sync with HEAD
 1.5 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.4 15-Apr-2015  hsuenaga branches: 1.4.16; 1.4.18;
add u-boot argument parser for Marvell ARMADA XP/370.
use 'ethaddr' and 'eth1addr' in u-boot argument to setup MAC address of mvgbe.
 1.3 29-Mar-2014  matt branches: 1.3.4; 1.3.8;
Use armv7 instructions. Add ARM_MMU_EXTENDED support.
 1.2 29-May-2013  rkujawa branches: 1.2.2; 1.2.4;
Add CVS IDs where appropriate.
 1.1 29-May-2013  rkujawa Import cleaned up MD parts of Armada XP port.

Compared to what was posted to port-arm, the main difference is that now it uses
arm32_kvminit, arm32_boot, arm32_reboot as advised by nick@.

Obtained from Marvell, Semihalf.
 1.2.4.1 18-May-2014  rmind sync with head
 1.2.2.4 03-Dec-2017  jdolecek update from HEAD
 1.2.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.2.2 23-Jun-2013  tls resync from head
 1.2.2.1 29-May-2013  tls file armadaxp_start.S was added on branch tls-maxphys on 2013-06-23 06:20:03 +0000
 1.3.8.1 06-Jun-2015  skrll Sync with HEAD
 1.3.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.3.4.1 29-Mar-2014  yamt file armadaxp_start.S was added on branch yamt-pagecache on 2014-05-22 11:39:39 +0000
 1.4.18.1 10-Jun-2019  christos Sync with HEAD
 1.4.16.1 20-Oct-2018  pgoyette Sync with head
 1.3 30-Sep-2013  kiyohara Move armadaxpreg.h into arm/marvell.
And add some defines and reorder.
 1.2 03-Jun-2013  rkujawa branches: 1.2.2; 1.2.4;
Add support for SDIO on Armada XP.
 1.1 01-May-2013  rkujawa Add register definitions for Aramada XP.

Obtained from Marvell, Semihalf.
 1.2.4.1 18-May-2014  rmind sync with head
 1.2.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.2.2 23-Jun-2013  tls resync from head
 1.2.2.1 03-Jun-2013  tls file armadaxpreg.h was added on branch tls-maxphys on 2013-06-23 06:20:03 +0000
 1.1 13-Nov-2005  hamajima branches: 1.1.4; 1.1.22;
Add initial support for the EP9315-based Atmark Techno Armadillo-9 board.
 1.1.22.2 21-Jun-2006  yamt sync with head.
 1.1.22.1 13-Nov-2005  yamt file TODO was added on branch yamt-lazymbuf on 2006-06-21 14:50:32 +0000
 1.1.4.2 11-Dec-2005  christos Sync with head.
 1.1.4.1 13-Nov-2005  christos file TODO was added on branch ktrace-lwp on 2005-12-11 10:28:16 +0000
 1.7 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.6 12-Nov-2012  skrll C99 types
 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 21-Oct-2009  rmind Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.2 13-Feb-2006  hamajima branches: 1.2.2; 1.2.10; 1.2.16; 1.2.22; 1.2.80;
identify model from DeviceCfg register, and delete "options ARMADILLO210".
get DRAM information and boot argument from bootloader.
 1.1 06-Feb-2006  hamajima Add support for the Atmark Techno Armadillo-210.
Armadillo-210 is subset model of Armadillo-9.
 1.2.80.1 11-Mar-2010  yamt sync with head
 1.2.22.2 09-Sep-2006  rpaulo sync with head
 1.2.22.1 13-Feb-2006  rpaulo file armadillo9_com.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:40 +0000
 1.2.16.2 21-Jun-2006  yamt sync with head.
 1.2.16.1 13-Feb-2006  yamt file armadillo9_com.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:32 +0000
 1.2.10.2 22-Apr-2006  simonb Sync with head.
 1.2.10.1 13-Feb-2006  simonb file armadillo9_com.c was added on branch simonb-timecounters on 2006-04-22 11:37:21 +0000
 1.2.2.2 18-Feb-2006  yamt sync with head.
 1.2.2.1 13-Feb-2006  yamt file armadillo9_com.c was added on branch yamt-uio_vmspace on 2006-02-18 15:38:32 +0000
 1.4.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.4.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.4.2.1 30-Oct-2012  yamt sync with head
 1.12 15-Sep-2025  thorpej Encapsulate what's needed to attach an I2C bus into a iicbus_attach()
inline.
 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 22-Dec-2019  thorpej branches: 1.9.10;
Cleanup i2c bus acquire / release, centralizing all of the logic into
iic_acquire_bus() / iic_release_bus(). "acquire" and "release" hooks
no longer need to be provided by back-end controller drivers (only if
they need special handling, e.g. powering on the i2c controller).
This results in the removal of a bunch of rendundant code from each
back-end controller driver.

Assert that we are not in hard interrupt context in iic_acquire_bus(),
iic_exec(), and iic_release_bus().
 1.8 14-Feb-2016  chs branches: 1.8.18;
zero the i2c_attach_args structure before filling it in.
fixes occasional crashes in iic_attach().
 1.7 27-Oct-2012  chs branches: 1.7.14;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.6 10-Jun-2008  hamajima branches: 1.6.30; 1.6.40;
revise for reorganized MI i2c_bitbang.c
 1.5 25-May-2008  hamajima branches: 1.5.2;
fix gpio port direction for i2c_wait_for_scl(). Armadillo9 works again.
 1.4 06-Dec-2007  ad branches: 1.4.12; 1.4.14; 1.4.16; 1.4.18;
lockmgr -> mutex
 1.3 26-Jun-2006  drochner branches: 1.3.18; 1.3.30; 1.3.32; 1.3.34; 1.3.40; 1.3.44;
use the "i2cbus" interface attribute rather than putting a string name
into the i2cbus attach args
 1.2 18-Feb-2006  thorpej branches: 1.2.2; 1.2.10; 1.2.12;
- 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.1 13-Nov-2005  hamajima branches: 1.1.4; 1.1.6; 1.1.8; 1.1.10;
Add initial support for the EP9315-based Atmark Techno Armadillo-9 board.
 1.1.10.1 22-Apr-2006  simonb Sync with head.
 1.1.8.1 09-Sep-2006  rpaulo sync with head
 1.1.6.1 18-Feb-2006  yamt sync with head.
 1.1.4.2 11-Dec-2005  christos Sync with head.
 1.1.4.1 13-Nov-2005  christos file armadillo9_iic.c was added on branch ktrace-lwp on 2005-12-11 10:28:16 +0000
 1.2.12.4 07-Dec-2007  yamt sync with head
 1.2.12.3 30-Dec-2006  yamt sync with head.
 1.2.12.2 21-Jun-2006  yamt sync with head.
 1.2.12.1 18-Feb-2006  yamt file armadillo9_iic.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:32 +0000
 1.2.10.1 13-Jul-2006  gdamore Merge from HEAD.
 1.2.2.1 11-Aug-2006  yamt sync with head
 1.3.44.1 08-Dec-2007  ad Sync with head.
 1.3.40.1 08-Dec-2007  mjf Sync with HEAD.
 1.3.34.1 09-Jan-2008  matt sync with HEAD
 1.3.32.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.3.30.1 26-Dec-2007  rjs Sync with HEAD.
 1.3.18.1 09-Dec-2007  reinoud Pullup to HEAD
 1.4.18.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.4.16.1 04-May-2009  yamt sync with head.
 1.4.14.2 17-Jun-2008  yamt sync with head.
 1.4.14.1 04-Jun-2008  yamt sync with head
 1.4.12.2 29-Jun-2008  mjf Sync with HEAD.
 1.4.12.1 02-Jun-2008  mjf Sync with HEAD.
 1.5.2.1 18-Jun-2008  simonb Sync with head.
 1.6.40.2 03-Dec-2017  jdolecek update from HEAD
 1.6.40.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.6.30.1 30-Oct-2012  yamt sync with head
 1.7.14.1 19-Mar-2016  skrll Sync with HEAD
 1.8.18.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.9.10.1 23-Mar-2021  thorpej Convert config_found_ia() call sites where the device only carries
a single interface attribute to bare config_found() calls.
 1.10.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.42 03-Oct-2025  thorpej Use device_setprop_data() to set the "mac-address" property.
 1.41 20-Feb-2024  andvar Fix format specifier for physmem from %d to 0x%"PRIxPSIZE" in multiple places.

Should fix VERBOSE_INIT_ARM for various evbarm kernel configs.
Also add 0x prefix in few previously fixed places to improve readability.
 1.40 26-Dec-2023  andvar Replace %ld/%lx format specifiers with PRIx{SIZE,ADDR} for better portability.

From Nick Hudson.
 1.39 24-Dec-2023  andvar Use %ld format specifier for physmem to fix VERBOSE_INIT_ARM build option.

Use epcom_kgdb_attach() instead of com_kgdb_attach() to fix KGDB build option.
 1.38 03-Jul-2022  andvar s/bounaries/boundaries/ in comments.
 1.37 17-Aug-2021  andvar fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.36 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.35 18-Apr-2020  skrll Trailing whitespace
 1.34 16-Jul-2019  skrll branches: 1.34.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.33 16-Jul-2019  skrll KNF
 1.32 28-Oct-2018  skrll Fix a commit
 1.31 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.30 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.29 22-Dec-2016  cherry branches: 1.29.14; 1.29.16;
switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.28 13-Sep-2014  matt branches: 1.28.2; 1.28.4;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.27 18-Aug-2013  matt <arm/locore.h> fallout (fixes some include ordering errors)
 1.26 12-Nov-2012  skrll branches: 1.26.2;
C99 types
 1.25 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.24 22-Sep-2012  matt Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.23 16-Aug-2012  matt branches: 1.23.2;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.22 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.21 01-Jul-2011  dyoung branches: 1.21.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.20 30-Jun-2011  wiz dependant -> dependent
 1.19 22-Jan-2010  martin Unify the name of the device property to hold a MAC address - there was
no clear majority for either "mac-addr" vs. "mac-address", but a quick
gallup poll among developers selected the latter.
 1.18 26-Dec-2009  uebayasi Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.17 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.16 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.15 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 1.14 30-Nov-2008  martin As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.13 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.12 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.11 27-Apr-2008  matt branches: 1.11.6; 1.11.8;
Merge kernel changes in matt-armv6 to HEAD.
 1.10 19-Jan-2008  chris branches: 1.10.6; 1.10.8; 1.10.10;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.9 22-Feb-2007  thorpej branches: 1.9.18; 1.9.22; 1.9.28; 1.9.34;
TRUE -> true, FALSE -> false
 1.8 17-May-2006  mrg branches: 1.8.6; 1.8.16;
in initarm(), initialise kernel_l1pt.pv_va as well as kernel_l1pt.pv_pa.
 1.7 05-May-2006  thorpej 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.6 26-Feb-2006  thorpej branches: 1.6.2; 1.6.4; 1.6.6;
Use device_is_a()
 1.5 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.4 13-Feb-2006  hamajima identify model from DeviceCfg register, and delete "options ARMADILLO210".
get DRAM information and boot argument from bootloader.
 1.3 06-Feb-2006  hamajima Add support for the Atmark Techno Armadillo-210.
Armadillo-210 is subset model of Armadillo-9.
 1.2 24-Dec-2005  perry branches: 1.2.2; 1.2.4; 1.2.6;
bare asm -> __asm
 1.1 13-Nov-2005  hamajima branches: 1.1.4;
Add initial support for the EP9315-based Atmark Techno Armadillo-9 board.
 1.1.4.2 11-Dec-2005  christos Sync with head.
 1.1.4.1 13-Nov-2005  christos file armadillo9_machdep.c was added on branch ktrace-lwp on 2005-12-11 10:28:16 +0000
 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.2.2.2 01-Mar-2006  yamt sync with head.
 1.2.2.1 18-Feb-2006  yamt sync with head.
 1.6.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.6.4.1 11-May-2006  elad sync with head
 1.6.2.1 24-May-2006  yamt sync with head.
 1.8.16.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.8.6.4 21-Jan-2008  yamt sync with head
 1.8.6.3 26-Feb-2007  yamt sync with head.
 1.8.6.2 21-Jun-2006  yamt sync with head.
 1.8.6.1 17-May-2006  yamt file armadillo9_machdep.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:32 +0000
 1.9.34.1 20-Jan-2008  bouyer Sync with HEAD
 1.9.28.1 18-Feb-2008  mjf Sync with HEAD.
 1.9.22.2 23-Mar-2008  matt sync with HEAD
 1.9.22.1 28-Jan-2008  matt Adapt to new pmap_bootstrap signature.
 1.9.18.1 28-Feb-2008  rjs Sync with HEAD.
 1.10.10.4 11-Mar-2010  yamt sync with head
 1.10.10.3 19-Aug-2009  yamt sync with head.
 1.10.10.2 04-May-2009  yamt sync with head.
 1.10.10.1 16-May-2008  yamt sync with head.
 1.10.8.1 18-May-2008  yamt sync with head.
 1.10.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.10.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.11.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.11.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 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 16-Jan-2013  yamt sync with (a bit old) head
 1.21.2.1 30-Oct-2012  yamt sync with head
 1.23.2.3 03-Dec-2017  jdolecek update from HEAD
 1.23.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.23.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.26.2.1 28-Aug-2013  rmind sync with head
 1.28.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.28.2.1 05-Feb-2017  skrll Sync with HEAD
 1.29.16.3 21-Apr-2020  martin Sync with HEAD
 1.29.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.29.16.1 10-Jun-2019  christos Sync with HEAD
 1.29.14.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.29.14.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.29.14.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.34.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.2 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.1 13-Nov-2005  hamajima branches: 1.1.4; 1.1.22; 1.1.118; 1.1.128;
Add initial support for the EP9315-based Atmark Techno Armadillo-9 board.
 1.1.128.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.1.118.1 30-Oct-2012  yamt sync with head
 1.1.22.2 21-Jun-2006  yamt sync with head.
 1.1.22.1 13-Nov-2005  yamt file armadillo9_pcic.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:32 +0000
 1.1.4.2 11-Dec-2005  christos Sync with head.
 1.1.4.1 13-Nov-2005  christos file armadillo9_pcic.c was added on branch ktrace-lwp on 2005-12-11 10:28:16 +0000
 1.5 31-Jan-2011  matt Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.4 21-Oct-2009  rmind branches: 1.4.4; 1.4.6; 1.4.8;
Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.3 13-Feb-2006  hamajima branches: 1.3.12; 1.3.74;
identify model from DeviceCfg register, and delete "options ARMADILLO210".
get DRAM information and boot argument from bootloader.
 1.2 06-Feb-2006  hamajima Add support for the Atmark Techno Armadillo-210.
Armadillo-210 is subset model of Armadillo-9.
 1.1 13-Nov-2005  hamajima branches: 1.1.4; 1.1.6; 1.1.8; 1.1.10;
Add initial support for the EP9315-based Atmark Techno Armadillo-9 board.
 1.1.10.1 22-Apr-2006  simonb Sync with head.
 1.1.8.1 09-Sep-2006  rpaulo sync with head
 1.1.6.1 18-Feb-2006  yamt sync with head.
 1.1.4.2 11-Dec-2005  christos Sync with head.
 1.1.4.1 13-Nov-2005  christos file armadillo9_start.S was added on branch ktrace-lwp on 2005-12-11 10:28:16 +0000
 1.3.74.1 11-Mar-2010  yamt sync with head
 1.3.12.2 21-Jun-2006  yamt sync with head.
 1.3.12.1 13-Feb-2006  yamt file armadillo9_start.S was added on branch yamt-lazymbuf on 2006-06-21 14:50:32 +0000
 1.4.8.1 08-Feb-2011  bouyer Sync with HEAD
 1.4.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.4.4.1 05-Mar-2011  rmind sync with head
 1.1 13-Nov-2005  hamajima branches: 1.1.4; 1.1.22;
Add initial support for the EP9315-based Atmark Techno Armadillo-9 board.
 1.1.22.2 21-Jun-2006  yamt sync with head.
 1.1.22.1 13-Nov-2005  yamt file armadillo9reg.h was added on branch yamt-lazymbuf on 2006-06-21 14:50:33 +0000
 1.1.4.2 11-Dec-2005  christos Sync with head.
 1.1.4.1 13-Nov-2005  christos file armadillo9reg.h was added on branch ktrace-lwp on 2005-12-11 10:28:16 +0000
 1.2 18-Feb-2006  thorpej branches: 1.2.2; 1.2.10; 1.2.16; 1.2.22;
- 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.1 13-Feb-2006  hamajima identify model from DeviceCfg register, and delete "options ARMADILLO210".
get DRAM information and boot argument from bootloader.
 1.2.22.2 09-Sep-2006  rpaulo sync with head
 1.2.22.1 18-Feb-2006  rpaulo file armadillo9var.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:40 +0000
 1.2.16.2 21-Jun-2006  yamt sync with head.
 1.2.16.1 18-Feb-2006  yamt file armadillo9var.h was added on branch yamt-lazymbuf on 2006-06-21 14:50:33 +0000
 1.2.10.2 22-Apr-2006  simonb Sync with head.
 1.2.10.1 18-Feb-2006  simonb file armadillo9var.h was added on branch simonb-timecounters on 2006-04-22 11:37:22 +0000
 1.2.2.2 18-Feb-2006  yamt sync with head.
 1.2.2.1 18-Feb-2006  yamt file armadillo9var.h was added on branch yamt-uio_vmspace on 2006-02-18 15:38:32 +0000
 1.29 16-Feb-2024  skrll Retire BCM53XX_CONSOLE_EARLY in favour of EARLYCONS
 1.28 21-Apr-2023  skrll More devmap updates
 1.27 20-Mar-2021  skrll Apply the

earlyconsgetc: return -1 instead of 0 because we will never produce input

fix to all copies.
 1.26 03-Dec-2020  skrll branches: 1.26.2;
Provide and use a sev() macro for the sev instruction.

While here use the correct barrier to ensure completion of memory accesses
before a couple of the sev() calls.
 1.25 28-Nov-2020  skrll Build fixes and make BP startup detection consistent
 1.24 30-Oct-2020  skrll branches: 1.24.2;
Retire arm_[di]sb in favour of the isb() and dsb(sy) macro invocations.
 1.23 15-Feb-2020  skrll Various updates and improvements to cpu start up on arm/aarch64

- start sharing more code around the AP startup messaging.
- call arm_cpu_topology_set early so that ci_core_id is available for
drivers, e.g. bcm2835_intr.c
- both arm and aarch64 now have
- a static cpu_info_store array
- the same arm_cpu_{hatched,mbox}
 1.22 20-Jan-2020  skrll Fix indentation
 1.21 16-Jul-2019  skrll branches: 1.21.4;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.20 18-May-2019  skrll Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.19 03-Nov-2018  skrll Less is more
 1.18 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.17 18-Oct-2018  skrll Whitespace
 1.16 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.15 05-Aug-2018  skrll Undo previous as it is not required.
 1.14 05-Aug-2018  kre One more step towards fixing some builds. Like my last attempt
this one also needs redoing properly...
 1.13 04-Aug-2018  skrll Fix KERN_{VTOPHYS,PHYSTOV) fallout differently
 1.12 04-Aug-2018  kre Hack workaround to deal with KERN_VTOPHYS and KERN_PHYSTOV now
being defined in arm/arm32/machdep.h ... attempt to fix (some) earm
builds. Even if builds succeed, resulting kernel might not boot,
and if it boots, could crash. Someone with a clue, please use it!
 1.11 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.10 17-Jul-2018  christos make sure uboot_args is in the data segment by saying so, as opposed to
depending on initializing it to 0.
 1.9 17-Jul-2015  matt branches: 1.9.16; 1.9.18;
Deal with more than 1GB of RAM.
 1.8 29-Mar-2014  matt branches: 1.8.6;
adjust arm_cpu_max by 1 to be number of cpus
 1.7 30-Jun-2013  matt branches: 1.7.4;
Print out PMUSERSR
 1.6 23-Oct-2012  matt branches: 1.6.2; 1.6.4; 1.6.6;
Support a MEMSIZE option
 1.5 17-Oct-2012  matt If there is more than 256MB of ram, add the first 256MB into a separate
VM freelist and specifiy that PMAP_ALLOC_POOLPAGE allocate using that freelist.
 1.4 07-Oct-2012  matt add call to bcm53xx_dma_bootstrap.
 1.3 27-Sep-2012  matt Print out u-boot args
 1.2 07-Sep-2012  matt branches: 1.2.2;
Include PCI outbound windows in the kernel IO region. Make sure these start
on a SuperSection boundary.
 1.1 01-Sep-2012  matt Add support for the BCM95301X development board
 1.2.2.3 03-Dec-2017  jdolecek update from HEAD
 1.2.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.6.6.2 18-May-2014  rmind sync with head
 1.6.6.1 28-Aug-2013  rmind sync with head
 1.6.4.2 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.6.4.1 23-Oct-2012  matt file bcm53xx_machdep.c was added on branch matt-nb6-plus on 2012-11-28 22:50:03 +0000
 1.6.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.6.2.2 30-Oct-2012  yamt sync with head
 1.6.2.1 23-Oct-2012  yamt file bcm53xx_machdep.c was added on branch yamt-pagecache on 2012-10-30 17:19:18 +0000
 1.7.4.4 17-Jul-2015  matt Deal with > 1GB of memory.
 1.7.4.3 26-Mar-2014  matt Use apb/4 for the com freq on !BCM5301X
 1.7.4.2 15-Feb-2014  matt Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.
 1.7.4.1 30-Jun-2013  matt file bcm53xx_machdep.c was added on branch matt-nb5-mips64 on 2014-02-15 16:18:37 +0000
 1.8.6.1 22-Sep-2015  skrll Sync with HEAD
 1.9.18.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.9.18.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.9.18.1 10-Jun-2019  christos Sync with HEAD
 1.9.16.5 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.9.16.4 20-Oct-2018  pgoyette Sync with head
 1.9.16.3 30-Sep-2018  pgoyette Ssync with HEAD
 1.9.16.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.9.16.1 28-Jul-2018  pgoyette Sync with HEAD
 1.21.4.2 29-Feb-2020  ad Sync with head.
 1.21.4.1 25-Jan-2020  ad Sync with head.
 1.24.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.24.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.26.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.14 18-May-2019  skrll Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.13 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.12 28-May-2015  matt branches: 1.12.16; 1.12.18;
Remove #define VERBOSE_INIT_ARM
 1.11 21-Feb-2014  matt branches: 1.11.6;
Rework PIC method to be simplier. Change be more cortex neutral.
 1.10 24-Jan-2014  matt branches: 1.10.2;
After loading the pc-relative offset, clear the upper the 4 bits incase
.start starts at a different address than .text (bcm56340).
 1.9 24-Dec-2013  matt Use the right BCM563XX symbol
 1.8 28-Oct-2013  matt Support for the Broadcom BCM56340 iProc based switch.
 1.7 04-Aug-2013  matt If this is a BE kernel, force ourselves into BE just in case we aren't.
(setting SCTRL[EE] is done elsewhere).
 1.6 30-Jun-2013  matt Add MD_CPU_HATCH
 1.5 17-Jun-2013  matt branches: 1.5.2;
a9_cpuinit -> arm_cpuinit
 1.4 27-Sep-2012  matt branches: 1.4.2; 1.4.4;
Print out u-boot args
 1.3 07-Sep-2012  matt branches: 1.3.2;
Include PCI outbound windows in the kernel IO region. Make sure these start
on a SuperSection boundary.
 1.2 02-Sep-2012  matt Use the common code in <arm/cortex/a9_mpsubr.S>
 1.1 01-Sep-2012  matt Add support for the BCM95301X development board
 1.3.2.4 03-Dec-2017  jdolecek update from HEAD
 1.3.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.2.2 23-Jun-2013  tls resync from head
 1.3.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.4.4.3 07-Dec-2012  matt After calling a9_mpstart make sure cps is set to SVC32
 1.4.4.2 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.4.4.1 27-Sep-2012  matt file bcm53xx_start.S was added on branch matt-nb6-plus on 2012-11-28 22:50:03 +0000
 1.4.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.4.2.2 30-Oct-2012  yamt sync with head
 1.4.2.1 27-Sep-2012  yamt file bcm53xx_start.S was added on branch yamt-pagecache on 2012-10-30 17:19:18 +0000
 1.5.2.2 18-May-2014  rmind sync with head
 1.5.2.1 28-Aug-2013  rmind sync with head
 1.10.2.3 26-Mar-2014  matt Use adr/bfi to access kernel variables.
 1.10.2.2 15-Feb-2014  matt Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.
 1.10.2.1 24-Jan-2014  matt file bcm53xx_start.S was added on branch matt-nb5-mips64 on 2014-02-15 16:18:37 +0000
 1.11.6.1 06-Jun-2015  skrll Sync with HEAD
 1.12.18.1 10-Jun-2019  christos Sync with HEAD
 1.12.16.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.2 07-Sep-2012  matt branches: 1.2.4; 1.2.6; 1.2.16;
Include PCI outbound windows in the kernel IO region. Make sure these start
on a SuperSection boundary.
 1.1 01-Sep-2012  matt Add support for the BCM95301X development board
 1.2.16.2 15-Feb-2014  matt Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.
 1.2.16.1 07-Sep-2012  matt file genassym.cf was added on branch matt-nb5-mips64 on 2014-02-15 16:18:37 +0000
 1.2.6.2 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.2.6.1 07-Sep-2012  matt file genassym.cf was added on branch matt-nb6-plus on 2012-11-28 22:50:03 +0000
 1.2.4.2 30-Oct-2012  yamt sync with head
 1.2.4.1 07-Sep-2012  yamt file genassym.cf was added on branch yamt-pagecache on 2012-10-30 17:19:18 +0000
 1.3 18-May-2019  skrll Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.2 07-Sep-2012  matt branches: 1.2.4; 1.2.6; 1.2.16; 1.2.46;
Include PCI outbound windows in the kernel IO region. Make sure these start
on a SuperSection boundary.
 1.1 01-Sep-2012  matt Add support for the BCM95301X development board
 1.2.46.1 10-Jun-2019  christos Sync with HEAD
 1.2.16.2 15-Feb-2014  matt Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.
 1.2.16.1 07-Sep-2012  matt file platform.h was added on branch matt-nb5-mips64 on 2014-02-15 16:18:37 +0000
 1.2.6.2 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.2.6.1 07-Sep-2012  matt file platform.h was added on branch matt-nb6-plus on 2012-11-28 22:50:03 +0000
 1.2.4.2 30-Oct-2012  yamt sync with head
 1.2.4.1 07-Sep-2012  yamt file platform.h was added on branch yamt-pagecache on 2012-10-30 17:19:18 +0000
 1.2 06-Jan-2003  lukem Rework how KERNOBJDIR functions; now it's always determined with
cd ${KERNSRCDIR}/${KERNARCHDIR}/compile && ${PRINTOBJDIR}
This is far simpler than the previous system, and more robust with
objdirs built via BSDOBJDIR.

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

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

Per lengthy discussion with Andrew Brown.
 1.1 23-Oct-2001  rearnsha branches: 1.1.4; 1.1.6;
Make sure the compile directory doesn't get purged by cvs updates
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 23-Oct-2001  thorpej file .keep_me was added on branch kqueue on 2002-01-10 19:41:59 +0000
 1.1.4.2 07-Jan-2003  thorpej Sync with HEAD.
 1.1.4.1 23-Oct-2001  thorpej file .keep_me was added on branch nathanw_sa on 2003-01-07 21:05:57 +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:05:58 +0000
 1.3 16-Dec-2019  skrll Update to new RaspberryPi firware

commit 0c01dbefba45a08c47f8538d5a071a0fba6b7e83
Author: popcornmix <popcornmix@gmail.com>
Date: Wed Dec 11 15:30:08 2019 +0000

and include firmware for RPI4

Firmware has bee updated to support mainline linux kernels as described in
https://github.com/raspberrypi/linux/issues/3237
 1.2 14-Jul-2019  thorpej Add a 'DDTK' tag so that the RPI firmware will load device tree overlays.
Based on a patch I got from Nick Hudson ages ago.
 1.1 10-Dec-2017  skrll branches: 1.1.4;
FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.

The kernel image that the RPI firmware boots is now netbsd.img in the
kernel build directory.

XXX fdtbus_get_reg needs reworking
 1.1.4.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.75 07-Aug-2022  simonb branches: 1.75.4;
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 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.73 14-Sep-2017  mrg branches: 1.73.4; 1.73.8; 1.73.14;
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.72 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.71 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.70 07-Aug-2015  maxv branches: 1.70.2; 1.70.4;
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 03-Aug-2014  martin Add COMPAT_NETBSD32, following the switch to eabi by default.
 1.65 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.64 30-Jun-2013  rmind branches: 1.64.4;
G/C PFIL_HOOKS from the kernel configs.
 1.63 05-Jun-2013  christos branches: 1.63.2;
remove obsolete networking options
 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 11-Sep-2012  msaitoh branches: 1.59.2;
Add PUFFS, putter and fss.
 1.58 01-Sep-2012  matt Bump up SYMTAB_SPACE
 1.57 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 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 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.52 06-Mar-2011  jakllsch Bump SYMTAB_SPACE for the many other evbarm kernels that also need it increased.
 1.51 23-Nov-2010  hannken branches: 1.51.2; 1.51.4;
Remove unused count from pseudo-device md.
 1.50 28-Oct-2010  briggs Bump SYMTAB_SPACE for a few configurations.
 1.49 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.48 05-Dec-2009  pooka branches: 1.48.2; 1.48.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.47 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.46 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.45 24-Nov-2008  ad branches: 1.45.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.43 31-Jul-2008  simonb branches: 1.43.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.42 27-Jun-2008  he branches: 1.42.2;
Bump SYMTAB_SPACE so that it fits again.
 1.41 30-May-2008  tsutsui branches: 1.41.2;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.40 19-Jan-2008  chris branches: 1.40.6; 1.40.8; 1.40.10; 1.40.12;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.39 06-Jan-2008  matt Increase SYMTAB_SPACE because of more kernel bloat.
 1.38 17-Oct-2007  garbled branches: 1.38.2; 1.38.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.37 13-May-2007  he branches: 1.37.6; 1.37.10;
Bump SYMTAB_SPACE so that it fits again.
 1.36 26-Aug-2006  christos branches: 1.36.8; 1.36.12; 1.36.14; 1.36.20;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.35 14-Apr-2006  simonb Bump SYMTAB_SPACE.
 1.34 05-Feb-2006  cube branches: 1.34.2; 1.34.4; 1.34.6;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.33 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.32 07-Dec-2005  tsutsui branches: 1.32.2; 1.32.4; 1.32.6;
Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.31 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.30 19-Aug-2005  christos 64 bit inode changes.
 1.29 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.28 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.27 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.26 25-Feb-2005  simonb branches: 1.26.2; 1.26.4;
Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.25 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.24 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.23 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.22 24-Nov-2004  bouyer branches: 1.22.4; 1.22.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.21 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.20 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.19 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.18 13-Feb-2004  wiz branches: 1.18.2;
Uppercase CPU, plural is CPUs.
 1.17 14-Dec-2003  thorpej Remove piixide, since these boards will never, ever have one.
 1.16 14-Dec-2003  thorpej Split the Intel i31244 SATA controller ("Artisea") driver out of piixide
into its own driver (artsata).
 1.15 13-Dec-2003  thorpej Remove the IDE controllers that only exist in southbridge chips (which
none of these boards have).

XXX piixide stays for now, because that's where the Intel i31244 SATA
controller is. That will change, eventually.
 1.14 13-Dec-2003  thorpej Collapse the atabus declaration into "atabus* at ata? channel ?".
 1.13 13-Dec-2003  thorpej Split out the Silicon Image SATALink support into its own driver,
"satalink".
 1.12 09-Dec-2003  he Bump SYMTAB_SPACE so that the symbol table fits again.
 1.11 08-Oct-2003  bouyer Add new per-chip pciide drivers.
 1.10 08-Oct-2003  bouyer Add atabus
 1.9 13-Sep-2003  chris Add COMPAT_16 to most arm based kernels. Mainly in preperation for doing
SA_SIGINFO work.
 1.8 06-Sep-2003  rearnsha Default all builds to not have debug information. Significantly
reduces disk space needed for a make release, especially if using
dwarf2 debug.
 1.7 14-Jun-2003  thorpej branches: 1.7.2;
Use CPUFLAGS rather than COPTS to pass -mcpu=xscale.
 1.6 23-May-2003  thorpej Add ksyms.
 1.5 21-Apr-2003  thorpej Add XSCALE_CACHE_READ_WRITE_ALLOCATE.
 1.4 20-Apr-2003  thorpej Add a driver for the reset button on the ADI BECC.
 1.3 16-Apr-2003  thorpej Add mpt(4).
 1.2 08-Apr-2003  thorpej Add a selection of storage devices, and also build netbsd-sd0 and
netbsd-wd0 kernels.
 1.1 25-Jan-2003  thorpej Add support for ADI Engineering's "Big Red Head" i80200 evaluation
and development board, based around their BECC companion chip. Despite
its name, the board can run in big- or little-endian mode (we currently
run only in the latter).
 1.7.2.10 11-Dec-2005  christos Sync with head.
 1.7.2.9 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.7.2.8 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.7.2.7 15-Feb-2005  skrll Sync with HEAD.
 1.7.2.6 04-Feb-2005  skrll Sync with HEAD.
 1.7.2.5 29-Nov-2004  skrll Sync with HEAD.
 1.7.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.7.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.2.1 03-Aug-2004  skrll Sync with HEAD
 1.18.2.1 15-Jul-2004  he branches: 1.18.2.1.2;
Pull up revision 1.19 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.18.2.1.2.1 02-Apr-2005  he Pull up revision 1.22 (requested by bouyer in ticket #1019):
Add pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) series of
controllers.
 1.22.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.22.6.1 12-Feb-2005  yamt sync with head.
 1.22.4.1 29-Apr-2005  kent sync with -current
 1.26.4.4 21-Jan-2008  yamt sync with head
 1.26.4.3 03-Sep-2007  yamt sync with head.
 1.26.4.2 30-Dec-2006  yamt sync with head.
 1.26.4.1 21-Jun-2006  yamt sync with head.
 1.26.2.1 18-Jul-2005  riz Pull up revision 1.27 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.32.6.1 22-Apr-2006  simonb Sync with head.
 1.32.4.1 09-Sep-2006  rpaulo sync with head
 1.32.2.1 18-Feb-2006  yamt sync with head.
 1.34.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.34.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.34.2.2 03-Sep-2006  yamt sync with head.
 1.34.2.1 24-May-2006  yamt sync with head.
 1.36.20.1 22-May-2007  matt Update to HEAD.
 1.36.14.1 11-Jul-2007  mjf Sync with head.
 1.36.12.1 27-May-2007  ad Sync with head.
 1.36.8.1 17-May-2007  yamt sync with head.
 1.37.10.3 23-Mar-2008  matt sync with HEAD
 1.37.10.2 09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.37.10.1 06-Nov-2007  matt sync with HEAD
 1.37.6.1 28-Feb-2008  rjs Sync with HEAD.
 1.38.8.2 20-Jan-2008  bouyer Sync with HEAD
 1.38.8.1 08-Jan-2008  bouyer Sync with HEAD
 1.38.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.40.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.40.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.40.10.3 11-Aug-2010  yamt sync with head.
 1.40.10.2 11-Mar-2010  yamt sync with head
 1.40.10.1 04-May-2009  yamt sync with head.
 1.40.8.1 04-Jun-2008  yamt sync with head
 1.40.6.4 17-Jan-2009  mjf Sync with HEAD.
 1.40.6.3 28-Sep-2008  mjf Sync with HEAD.
 1.40.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.40.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.41.2.1 03-Jul-2008  simonb Sync with head.
 1.42.2.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.42.2.1 19-Oct-2008  haad Sync with HEAD.
 1.43.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.43.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.45.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.48.4.3 21-Apr-2011  rmind sync with head
 1.48.4.2 05-Mar-2011  rmind sync with head
 1.48.4.1 30-May-2010  rmind sync with head
 1.48.2.2 06-Nov-2010  uebayasi Sync with HEAD.
 1.48.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.51.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.51.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.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.2 29-Apr-2012  mrg sync to latest -current.
 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.63.2.1 28-Aug-2013  rmind sync with head
 1.64.4.1 10-Aug-2014  tls Rebase.
 1.69.2.2 28-Aug-2017  skrll Sync with HEAD
 1.69.2.1 22-Sep-2015  skrll Sync with HEAD
 1.70.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.70.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.73.14.1 20-Apr-2020  bouyer Sync with HEAD
 1.73.8.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.73.4.1 21-Apr-2020  martin Sync with HEAD
 1.75.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.2 02-May-2014  dogcow as suggested by gimpy et al, "no config" the netbsd-device kernels.
Reduces `build.sh release` by about a gig.
 1.1 08-Apr-2003  thorpej branches: 1.1.142; 1.1.152; 1.1.158; 1.1.168;
Factor out common INSTALL kernel config fragments into a new INSTALL
file. Add INSTALL kernels for the ADI BRH, IQ80310, and IQ80321.
 1.1.168.1 10-Aug-2014  tls Rebase.
 1.1.158.1 18-May-2014  rmind sync with head
 1.1.152.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.142.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.21 08-Oct-2017  jmcneill Remove ALLWINNER_A80 kernel config; use SUNXI for these boards instead.
 1.20 08-Jan-2017  christos remove dup DIAGNOSTIC
 1.19 13-Dec-2016  christos wildcard speaker attachments, now that we can handle many of them.
 1.18 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.17 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.16 19-Apr-2015  matt branches: 1.16.2;
Remove options CPU_CORTEX* since options ALLWINNER_* will now define them.
Use GENERIC.common for CUBIEBOARD (and BPI and CUBIETRUCK)
 1.15 03-Apr-2015  jmcneill branches: 1.15.2;
Move common non-device stuff to GENERIC.common. Simplify board configs,
and let them all share common settings.
 1.14 21-Dec-2014  jmcneill enable awindebe, genfb, wsdisplay
 1.13 11-Dec-2014  jmcneill enable MULTIPROCESSOR
 1.12 07-Dec-2014  jmcneill eMMC works now, turn it on
 1.11 07-Dec-2014  jmcneill Add A80 PIO L,M,N and A80 CIR (RX) support.
 1.10 07-Dec-2014  jmcneill add AC100 CODEC/RTC driver
 1.9 07-Dec-2014  jmcneill add awinwdt
 1.8 07-Dec-2014  jmcneill remove axp22x
 1.7 07-Dec-2014  jmcneill add RSB (awinp2wi), AXP806, AXP809 drivers
 1.6 05-Dec-2014  jmcneill A80 DMA controller support
 1.5 05-Dec-2014  jmcneill enable awge, axp22x
 1.4 05-Dec-2014  jmcneill A80 EHCI and OHCI support
 1.3 05-Dec-2014  jmcneill A80 I2C support
 1.2 05-Dec-2014  jmcneill A80 MMC support. Works for SD card slot on Cubie4, but not eMMC yet.
 1.1 05-Dec-2014  jmcneill Initial Allwinner A80 support.
 1.15.2.4 05-Feb-2017  skrll Sync with HEAD
 1.15.2.3 06-Jun-2015  skrll Sync with HEAD
 1.15.2.2 06-Apr-2015  skrll Sync with HEAD
 1.15.2.1 03-Apr-2015  skrll file ALLWINNER_A80 was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.16.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.16.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.2 08-Oct-2017  jmcneill Remove ALLWINNER_A80 kernel config; use SUNXI for these boards instead.
 1.1 14-Dec-2014  jmcneill branches: 1.1.2;
add INSTALL kernel for Allwinner A80
 1.1.2.2 06-Apr-2015  skrll Sync with HEAD
 1.1.2.1 14-Dec-2014  skrll file ALLWINNER_A80_INSTALL was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.29 07-Aug-2022  simonb branches: 1.29.4;
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 13-Jun-2020  ad Comment out "options PMAPCOUNTERS". It adds much overhead and is mostly of
interest to people hacking on the VM system or pmap. Proposed on port-arm@.
 1.27 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.26 23-Oct-2018  jdolecek branches: 1.26.4; 1.26.10;
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.25 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.24 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.23 07-Jun-2018  thorpej branches: 1.23.2;
Revert changes that pinned-down i2c parent specs. The i2c subsystem
has been enhanced to make this unnecessary.
 1.22 15-May-2018  thorpej Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.
 1.21 14-Sep-2017  mrg branches: 1.21.2;
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.20 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.19 25-Feb-2017  skrll Add pci attachment for mvsata
 1.18 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.17 12-Aug-2015  maxv branches: 1.17.2; 1.17.4;
Remove KMEMSTATS.
 1.16 03-Jun-2015  hsuenaga add kernel config of if_mvxpe(new ethernet) and mvxpsec(new cryptographic).
still disabled by default. I need to do more test...
 1.15 30-Aug-2014  kiyohara branches: 1.15.2;
Move options __HAVE_MM_MD_DIRECT_MAPPED_PHYS from MIRABOX to ARMADAXP.
It is must required.
 1.14 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.13 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.12 03-Aug-2014  martin Add COMPAT_NETBSD32, following the switch to eabi by default.
 1.11 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.10 18-Mar-2014  matt branches: 1.10.2; 1.10.4;
Add some missing devices (crypto & gige)
 1.9 18-Mar-2014  matt Add commented out MVSOC_EARLY_CONSOLE option
 1.8 18-Mar-2014  matt Add xhci
 1.7 17-Mar-2014  kiyohara Add options MVSOC_INTERREGS_PBASE for *old* Armada XP board..
 1.6 09-Aug-2013  aymeric Comment out pseudo-device md so that ARMADAXP_INSTALL passes config(1).
Fixes evbarm releases.
 1.5 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.4 09-Jun-2013  kiyohara branches: 1.4.2; 1.4.4;
Comment-out options IPSEC*.
 1.3 05-Jun-2013  christos remove obsolete networking options
 1.2 03-Jun-2013  rkujawa Add support for SDIO on Armada XP.
 1.1 29-May-2013  rkujawa Add build configuration for Armada XP.

Obtained from Marvell, Semihalf.
 1.4.4.2 18-May-2014  rmind sync with head
 1.4.4.1 28-Aug-2013  rmind sync with head
 1.4.2.4 03-Dec-2017  jdolecek update from HEAD
 1.4.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.2.2 23-Jun-2013  tls resync from head
 1.4.2.1 09-Jun-2013  tls file ARMADAXP was added on branch tls-maxphys on 2013-06-23 06:20:03 +0000
 1.10.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.10.4.1 18-Mar-2014  yamt file ARMADAXP was added on branch yamt-pagecache on 2014-05-22 11:39:39 +0000
 1.10.2.1 10-Aug-2014  tls Rebase.
 1.15.2.3 28-Aug-2017  skrll Sync with HEAD
 1.15.2.2 22-Sep-2015  skrll Sync with HEAD
 1.15.2.1 06-Jun-2015  skrll Sync with HEAD
 1.17.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.17.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.21.2.4 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.21.2.3 28-Jul-2018  pgoyette Sync with HEAD
 1.21.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.21.2.1 21-May-2018  pgoyette Sync with HEAD
 1.23.2.2 21-Apr-2020  martin Sync with HEAD
 1.23.2.1 10-Jun-2019  christos Sync with HEAD
 1.26.10.1 20-Apr-2020  bouyer Sync with HEAD
 1.26.4.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.29.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.3 23-May-2020  jmcneill GC unused INSTALL kernel configs.
 1.2 01-May-2014  martin branches: 1.2.2; 1.2.6;
Do not create debug info for *_INSTALL kernels.
 1.1 09-Aug-2013  matt branches: 1.1.2; 1.1.4;
Add a INSTALL kernel for ARMADAXP
 1.1.4.1 10-Aug-2014  tls Rebase.
 1.1.2.3 18-May-2014  rmind sync with head
 1.1.2.2 28-Aug-2013  rmind sync with head
 1.1.2.1 09-Aug-2013  rmind file ARMADAXP_INSTALL was added on branch rmind-smpnet on 2013-08-28 23:59:13 +0000
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 01-May-2014  tls file ARMADAXP_INSTALL was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.2.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.2.2.1 01-May-2014  yamt file ARMADAXP_INSTALL was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.24 10-Jul-2020  skrll G/C. OK'ed by jmcnell
 1.23 13-Jun-2020  ad Comment out "options PMAPCOUNTERS". It adds much overhead and is mostly of
interest to people hacking on the VM system or pmap. Proposed on port-arm@.
 1.22 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.21 25-Mar-2020  jdolecek branches: 1.21.2;
remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.20 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.19 24-Jul-2019  hkenken branches: 1.19.2; 1.19.4;
Modified i.MX GPIO control module and PCIe module.

+ Add imxpcie.c
imx PCIe common driver
 1.18 18-May-2019  skrll Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.17 26-Apr-2019  sevan Use veriexec.config to reduce duplication
 1.16 19-Dec-2018  skrll Remove CONS_OVERRIDE - it's an i386 option
 1.15 25-Aug-2018  maxv Retire NDIS. It appears that it has never worked, after 13 years it was
still marked as "experimental", and nowadays it may be one more obstacle
to MPification of the network stack.

Discussed on tech-net@.
 1.14 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.13 21-Jul-2018  maya Remove comment mentioning an i386 problem from non-x86 kernel configs.
(they all say BROKEN in the next comment too)
 1.12 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.11 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.10 25-Nov-2017  christos branches: 1.10.2; 1.10.4; 1.10.6;
comment out duplicate options and unknown devices
 1.9 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.8 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

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

ok riastradh
 1.7 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.6 26-Feb-2017  rin Add DKWEDGE_METHOD_RDB option, which is enabled for x86, commented out for
other platforms by default.
 1.5 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.4 26-Nov-2016  christos branches: 1.4.2;
mention PAX_SEGVGUARD dependency on FILEASSOC
 1.3 17-Oct-2016  ryo * Add option MEMSIZE_RESERVED to reserves memory for Cortex-M4 area
* change KERNEL_BASE from 0x80008000 to 0x82000000
 1.2 07-Aug-2016  christos rename ifmpls to mpls, so we don't have if_ifmpls...
 1.1 17-May-2016  ryo branches: 1.1.2; 1.1.4;
Add initial support for Freescale i.MX7 SoC and
Atmark Techno Armadillo-IoT G3 boards.

Contributed by Internet Initiative Japan Inc.
 1.1.4.3 20-Mar-2017  pgoyette Sync with HEAD
 1.1.4.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.4.1 04-Nov-2016  pgoyette Sync with HEAD
 1.1.2.5 28-Aug-2017  skrll Sync with HEAD
 1.1.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.2.3 05-Oct-2016  skrll Sync with HEAD
 1.1.2.2 29-May-2016  skrll Sync with HEAD
 1.1.2.1 17-May-2016  skrll file ARMADILLO-IOT-G3 was added on branch nick-nhusb on 2016-05-29 08:44:16 +0000
 1.4.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.10.6.4 21-Apr-2020  martin Sync with HEAD
 1.10.6.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.10.6.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.6.1 10-Jun-2019  christos Sync with HEAD
 1.10.4.3 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.10.4.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.10.4.1 28-Jul-2018  pgoyette Sync with HEAD
 1.10.2.2 03-Dec-2017  jdolecek update from HEAD
 1.10.2.1 25-Nov-2017  jdolecek file ARMADILLO-IOT-G3 was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.19.4.1 25-Jan-2020  ad Sync with head.
 1.19.2.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.21.2.1 20-Apr-2020  bouyer Sync with HEAD
 1.2 23-May-2020  jmcneill GC unused INSTALL kernel configs.
 1.1 17-May-2016  ryo branches: 1.1.2; 1.1.18;
Add initial support for Freescale i.MX7 SoC and
Atmark Techno Armadillo-IoT G3 boards.

Contributed by Internet Initiative Japan Inc.
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 17-May-2016  jdolecek file ARMADILLO-IOT-G3_INSTALL was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.2.2 29-May-2016  skrll Sync with HEAD
 1.1.2.1 17-May-2016  skrll file ARMADILLO-IOT-G3_INSTALL was added on branch nick-nhusb on 2016-05-29 08:44:16 +0000
 1.49 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.48 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.47 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.46 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.45 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.44 19-Jan-2020  thorpej branches: 1.44.4;
Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.43 01-Aug-2018  maxv branches: 1.43.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.42 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.41 28-Jun-2018  thorpej branches: 1.41.2;
Use the "flags" config directive modifier to specify seeprom size
(a pre-existing capability in seeprom driver) now that "size" is no
longer a valid locator for i2c.
 1.40 07-Jun-2018  thorpej Revert changes that pinned-down i2c parent specs. The i2c subsystem
has been enhanced to make this unnecessary.
 1.39 15-May-2018  thorpej Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.
 1.38 14-Sep-2017  mrg branches: 1.38.2;
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.37 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.36 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.35 07-Aug-2015  maxv branches: 1.35.2; 1.35.4;
Remove KMEMSTATS.
 1.34 23-Aug-2014  dholland branches: 1.34.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.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 03-Aug-2014  martin Add COMPAT_NETBSD32, following the switch to eabi by default.
 1.30 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.29 30-Jun-2013  rmind branches: 1.29.4;
G/C PFIL_HOOKS from the kernel configs.
 1.28 05-Jun-2013  christos branches: 1.28.2;
remove obsolete networking options
 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 11-Sep-2012  msaitoh branches: 1.24.2;
Add PUFFS, putter and fss.
 1.23 01-Sep-2012  matt Bump up SYMTAB_SPACE
 1.22 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.21 10-Mar-2012  joerg P1003_1B_SEMAPHORE is no longer optional.
 1.20 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.19 22-Nov-2011  tls branches: 1.19.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.18 30-Jun-2011  wiz branches: 1.18.2;
dependant -> dependent
 1.17 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.16 23-Nov-2010  hannken branches: 1.16.2; 1.16.4;
Remove unused count from pseudo-device md.
 1.15 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.14 05-Dec-2009  pooka branches: 1.14.2; 1.14.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.13 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.12 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.11 06-Feb-2009  jym branches: 1.11.2;
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.10 24-Nov-2008  ad Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.8 31-Jul-2008  simonb branches: 1.8.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.7 30-May-2008  tsutsui branches: 1.7.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.6 19-Jan-2008  chris branches: 1.6.6; 1.6.8; 1.6.10; 1.6.12;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.5 31-Dec-2007  ad Remove systrace. Ok core@.
 1.4 26-Aug-2006  christos branches: 1.4.4; 1.4.30; 1.4.34; 1.4.40; 1.4.48;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.3 26-Aug-2006  tsutsui Remove obsolete #options VERIFIED_EXEC, found by grep(1).
 1.2 13-Feb-2006  hamajima branches: 1.2.2; 1.2.4; 1.2.10; 1.2.16; 1.2.18;
identify model from DeviceCfg register, and delete "options ARMADILLO210".
get DRAM information and boot argument from bootloader.
 1.1 06-Feb-2006  hamajima Add support for the Atmark Techno Armadillo-210.
Armadillo-210 is subset model of Armadillo-9.
 1.2.18.1 22-Sep-2006  riz Pull up following revision(s) (requested by tsutsui in ticket #170):
sys/arch/sparc64/conf/GENERIC: revision 1.63
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.55
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.54
sys/arch/next68k/conf/GENERIC: revision 1.105
sys/arch/ews4800mips/conf/GENERIC: revision 1.12
sys/arch/arc/conf/GENERIC: revision 1.142
sys/arch/sun3/conf/GENERIC3X: revision 1.91
sys/arch/amd64/conf/GENERIC: revision 1.105
sys/arch/sun2/conf/GENERIC: revision 1.58
sys/arch/amiga/conf/GENERIC.in: revision 1.55
sys/arch/mac68k/conf/GENERIC: revision 1.175
sys/arch/acorn26/conf/GENERIC: revision 1.46
sys/arch/shark/conf/GENERIC: revision 1.65
sys/arch/cesfic/conf/GENERIC: revision 1.45
sys/arch/sandpoint/conf/GENERIC: revision 1.36
sys/arch/iyonix/conf/GENERIC: revision 1.32
sys/arch/mvme68k/conf/GENERIC: revision 1.69
sys/arch/evbarm/conf/ARMADILLO210: revision 1.3
sys/arch/vax/conf/GENERIC: revision 1.154
sys/arch/mipsco/conf/GENERIC: revision 1.61
sys/arch/evbarm/conf/ARMADILLO9: revision 1.14
sys/arch/cobalt/conf/GENERIC: revision 1.103
sys/arch/ofppc/conf/GENERIC: revision 1.94
sys/arch/hp700/conf/GENERIC: revision 1.69
sys/arch/playstation2/conf/GENERIC: revision 1.8
sys/arch/dreamcast/conf/GENERIC: revision 1.73
sys/arch/news68k/conf/GENERIC: revision 1.81
sys/arch/macppc/conf/GENERIC: revision 1.234
sys/arch/hp300/conf/GENERIC: revision 1.134
sys/arch/mmeye/conf/GENERIC: revision 1.83
sys/arch/ibmnws/conf/GENERIC: revision 1.26
sys/arch/cats/conf/GENERIC: revision 1.109
sys/arch/sparc/conf/GENERIC: revision 1.191
sys/arch/pdp10/conf/GENERIC: revision 1.27
sys/arch/acorn32/conf/GENERIC: revision 1.75
sys/arch/luna68k/conf/GENERIC: revision 1.74
sys/arch/bebox/conf/GENERIC: revision 1.101
sys/arch/pmax/conf/GENERIC: revision 1.148
sys/arch/x68k/conf/GENERIC: revision 1.130
sys/arch/sun3/conf/GENERIC: revision 1.134
sys/arch/prep/conf/GENERIC: revision 1.126
sys/arch/alpha/conf/GENERIC: revision 1.293
sys/arch/newsmips/conf/GENERIC: revision 1.94
sys/arch/netwinder/conf/GENERIC: revision 1.83
sys/arch/hpcsh/conf/GENERIC: revision 1.69
sys/arch/sbmips/conf/GENERIC: revision 1.55
sys/arch/pc532/conf/GENERIC: revision 1.65
sys/arch/hpcmips/conf/GENERIC: revision 1.192
Remove obsolete #options VERIFIED_EXEC, found by grep(1).
 1.2.16.4 21-Jan-2008  yamt sync with head
 1.2.16.3 30-Dec-2006  yamt sync with head.
 1.2.16.2 21-Jun-2006  yamt sync with head.
 1.2.16.1 13-Feb-2006  yamt file ARMADILLO210 was added on branch yamt-lazymbuf on 2006-06-21 14:50:33 +0000
 1.2.10.2 22-Apr-2006  simonb Sync with head.
 1.2.10.1 13-Feb-2006  simonb file ARMADILLO210 was added on branch simonb-timecounters on 2006-04-22 11:37:22 +0000
 1.2.4.1 03-Sep-2006  yamt sync with head.
 1.2.2.2 18-Feb-2006  yamt sync with head.
 1.2.2.1 13-Feb-2006  yamt file ARMADILLO210 was added on branch yamt-uio_vmspace on 2006-02-18 15:38:32 +0000
 1.4.48.2 20-Jan-2008  bouyer Sync with HEAD
 1.4.48.1 02-Jan-2008  bouyer Sync with HEAD
 1.4.40.1 18-Feb-2008  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.30.1 28-Feb-2008  rjs Sync with HEAD.
 1.4.4.2 09-Sep-2006  rpaulo sync with head
 1.4.4.1 26-Aug-2006  rpaulo file ARMADILLO210 was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:40 +0000
 1.6.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.6.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.6.10.3 11-Aug-2010  yamt sync with head.
 1.6.10.2 11-Mar-2010  yamt sync with head
 1.6.10.1 04-May-2009  yamt sync with head.
 1.6.8.1 04-Jun-2008  yamt sync with head
 1.6.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.6.6.2 28-Sep-2008  mjf Sync with HEAD.
 1.6.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.7.4.1 19-Oct-2008  haad Sync with HEAD.
 1.8.2.3 28-Apr-2009  skrll Sync with HEAD.
 1.8.2.2 03-Mar-2009  skrll Sync with HEAD.
 1.8.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.11.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.14.4.3 21-Apr-2011  rmind sync with head
 1.14.4.2 05-Mar-2011  rmind sync with head
 1.14.4.1 30-May-2010  rmind sync with head
 1.14.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.16.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.16.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.18.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.18.2.2 30-Oct-2012  yamt sync with head
 1.18.2.1 17-Apr-2012  yamt sync with head
 1.19.2.3 29-Apr-2012  mrg sync to latest -current.
 1.19.2.2 11-Mar-2012  mrg sync to latest -current
 1.19.2.1 18-Feb-2012  mrg merge to -current.
 1.24.2.4 03-Dec-2017  jdolecek update from HEAD
 1.24.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.24.2.2 23-Jun-2013  tls resync from head
 1.24.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.28.2.1 28-Aug-2013  rmind sync with head
 1.29.4.1 10-Aug-2014  tls Rebase.
 1.34.2.2 28-Aug-2017  skrll Sync with HEAD
 1.34.2.1 22-Sep-2015  skrll Sync with HEAD
 1.35.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.35.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.38.2.4 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.38.2.3 28-Jul-2018  pgoyette Sync with HEAD
 1.38.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.38.2.1 21-May-2018  pgoyette Sync with HEAD
 1.41.2.3 21-Apr-2020  martin Sync with HEAD
 1.41.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.41.2.1 10-Jun-2019  christos Sync with HEAD
 1.43.6.1 25-Jan-2020  ad Sync with head.
 1.44.4.1 20-Apr-2020  bouyer Sync with HEAD
 1.68 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.67 07-Aug-2022  simonb branches: 1.67.4;
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.66 20-Jan-2021  nia do not enable kernel OSS compat in configs without compat_linux

perhaps kernel OSS compat can be merged into compat_linux to avoid
further confusion
 1.65 27-Sep-2020  roy branches: 1.65.2;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.64 16-Aug-2020  jdolecek make COMPAT_LINUX option disabled by default

leave the option enabled only in amd64/i386 ALL kernels to make
sure it continues to be compilable also when included in kernel
 1.63 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.62 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.61 19-Jan-2020  thorpej branches: 1.61.4;
Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.60 01-Aug-2018  maxv branches: 1.60.4; 1.60.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.59 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.58 28-Jun-2018  thorpej branches: 1.58.2;
Use the "flags" config directive modifier to specify seeprom size
(a pre-existing capability in seeprom driver) now that "size" is no
longer a valid locator for i2c.
 1.57 07-Jun-2018  thorpej Revert changes that pinned-down i2c parent specs. The i2c subsystem
has been enhanced to make this unnecessary.
 1.56 15-May-2018  thorpej Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.
 1.55 14-Sep-2017  mrg branches: 1.55.2;
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.54 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.53 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.52 13-Dec-2016  christos branches: 1.52.2;
wildcard speaker attachments, now that we can handle many of them.
 1.51 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.50 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.49 12-Aug-2015  maxv branches: 1.49.2;
Remove KMEMSTATS.
 1.48 23-Aug-2014  dholland branches: 1.48.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.47 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.46 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.45 03-Aug-2014  martin Add COMPAT_NETBSD32, following the switch to eabi by default.
 1.44 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.43 30-Jun-2013  rmind branches: 1.43.4;
G/C PFIL_HOOKS from the kernel configs.
 1.42 05-Jun-2013  christos branches: 1.42.2;
remove obsolete networking options
 1.41 27-Apr-2013  christos more bogus number removal
 1.40 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.39 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.38 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.37 11-Sep-2012  msaitoh branches: 1.37.2;
Add PUFFS, putter and fss.
 1.36 01-Sep-2012  matt Bump up SYMTAB_SPACE
 1.35 05-Jun-2012  abs 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.34 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.33 10-Mar-2012  joerg P1003_1B_SEMAPHORE is no longer optional.
 1.32 18-Dec-2011  dholland branches: 1.32.2;
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 05-Dec-2009  pooka branches: 1.26.2; 1.26.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.25 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.24 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.23 24-Nov-2008  ad branches: 1.23.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.21 31-Jul-2008  simonb branches: 1.21.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.20 29-Jun-2008  hamajima branches: 1.20.2;
Fixed addr and size of eppcic0.
 1.19 30-May-2008  tsutsui branches: 1.19.2;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.18 19-Jan-2008  chris branches: 1.18.6; 1.18.8; 1.18.10; 1.18.12;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.17 31-Dec-2007  ad Remove systrace. Ok core@.
 1.16 14-Mar-2007  drochner branches: 1.16.12; 1.16.16; 1.16.22; 1.16.28;
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.15 26-Aug-2006  christos branches: 1.15.8; 1.15.12; 1.15.14;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.14 26-Aug-2006  tsutsui Remove obsolete #options VERIFIED_EXEC, found by grep(1).
 1.13 12-Aug-2006  christos Disable SYSTRACE by default on all kernels (discussed with core)
 1.12 19-Apr-2006  drochner branches: 1.12.6; 1.12.8;
adjust comments for the new location of wskbdmap_mfii.c,
addresses PR kern/33290 by henry nelson
 1.11 15-Apr-2006  jmmv Remove the getwschar and putwschar accessops from wsdisplay drivers as
requested by uwe@. These were wrong because they were receiving an
emulcookie yet they were accessops (thus having to receive an accesscookie).
Instead, just handle the WSDISPLAYIO_{GET,PUT}WSCHAR ioctls from the
driver's ioctl accessop.

As this reduces the amount of code needed to handle these operations to
two small functions in each driver, remove the WSDISPLAY_CHARFUNCS kernel
option.

Reviewed by, at least, uwe@ and macallan@. No objections in tech-kern@.
 1.10 13-Feb-2006  hamajima branches: 1.10.2; 1.10.4; 1.10.6;
identify model from DeviceCfg register, and delete "options ARMADILLO210".
get DRAM information and boot argument from bootloader.
 1.9 06-Feb-2006  hamajima Add support for the Atmark Techno Armadillo-210.
Armadillo-210 is subset model of Armadillo-9.
 1.8 05-Feb-2006  cube Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.7 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.6 07-Dec-2005  tsutsui branches: 1.6.2; 1.6.4; 1.6.6; 1.6.8;
Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.5 25-Nov-2005  thorpej swcr -> swcrypto
 1.4 25-Nov-2005  thorpej "pseudo-device crypto" really refers to the /dev/crypto API to the
opencrypto framework, not the framework itself. Update the comment
accordingly.
 1.3 25-Nov-2005  thorpej Add "pseudo-device swcr" (commented out if "pseudo-device crypto" is also
commented out).
 1.2 14-Nov-2005  hamajima branches: 1.2.2;
delete unknown options.
change root device to "?".
 1.1 13-Nov-2005  hamajima Add initial support for the EP9315-based Atmark Techno Armadillo-9 board.
 1.2.2.2 29-Nov-2005  yamt sync with head.
 1.2.2.1 14-Nov-2005  yamt file ARMADILLO9 was added on branch yamt-readahead on 2005-11-29 21:22:57 +0000
 1.6.8.1 22-Apr-2006  simonb Sync with head.
 1.6.6.1 09-Sep-2006  rpaulo sync with head
 1.6.4.1 18-Feb-2006  yamt sync with head.
 1.6.2.2 11-Dec-2005  christos Sync with head.
 1.6.2.1 07-Dec-2005  christos file ARMADILLO9 was added on branch ktrace-lwp on 2005-12-11 10:28:16 +0000
 1.10.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.10.4.2 11-May-2006  elad sync with head
 1.10.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.10.2.2 03-Sep-2006  yamt sync with head.
 1.10.2.1 24-May-2006  yamt sync with head.
 1.12.8.2 22-Sep-2006  riz Pull up following revision(s) (requested by tsutsui in ticket #170):
sys/arch/sparc64/conf/GENERIC: revision 1.63
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.55
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.54
sys/arch/next68k/conf/GENERIC: revision 1.105
sys/arch/ews4800mips/conf/GENERIC: revision 1.12
sys/arch/arc/conf/GENERIC: revision 1.142
sys/arch/sun3/conf/GENERIC3X: revision 1.91
sys/arch/amd64/conf/GENERIC: revision 1.105
sys/arch/sun2/conf/GENERIC: revision 1.58
sys/arch/amiga/conf/GENERIC.in: revision 1.55
sys/arch/mac68k/conf/GENERIC: revision 1.175
sys/arch/acorn26/conf/GENERIC: revision 1.46
sys/arch/shark/conf/GENERIC: revision 1.65
sys/arch/cesfic/conf/GENERIC: revision 1.45
sys/arch/sandpoint/conf/GENERIC: revision 1.36
sys/arch/iyonix/conf/GENERIC: revision 1.32
sys/arch/mvme68k/conf/GENERIC: revision 1.69
sys/arch/evbarm/conf/ARMADILLO210: revision 1.3
sys/arch/vax/conf/GENERIC: revision 1.154
sys/arch/mipsco/conf/GENERIC: revision 1.61
sys/arch/evbarm/conf/ARMADILLO9: revision 1.14
sys/arch/cobalt/conf/GENERIC: revision 1.103
sys/arch/ofppc/conf/GENERIC: revision 1.94
sys/arch/hp700/conf/GENERIC: revision 1.69
sys/arch/playstation2/conf/GENERIC: revision 1.8
sys/arch/dreamcast/conf/GENERIC: revision 1.73
sys/arch/news68k/conf/GENERIC: revision 1.81
sys/arch/macppc/conf/GENERIC: revision 1.234
sys/arch/hp300/conf/GENERIC: revision 1.134
sys/arch/mmeye/conf/GENERIC: revision 1.83
sys/arch/ibmnws/conf/GENERIC: revision 1.26
sys/arch/cats/conf/GENERIC: revision 1.109
sys/arch/sparc/conf/GENERIC: revision 1.191
sys/arch/pdp10/conf/GENERIC: revision 1.27
sys/arch/acorn32/conf/GENERIC: revision 1.75
sys/arch/luna68k/conf/GENERIC: revision 1.74
sys/arch/bebox/conf/GENERIC: revision 1.101
sys/arch/pmax/conf/GENERIC: revision 1.148
sys/arch/x68k/conf/GENERIC: revision 1.130
sys/arch/sun3/conf/GENERIC: revision 1.134
sys/arch/prep/conf/GENERIC: revision 1.126
sys/arch/alpha/conf/GENERIC: revision 1.293
sys/arch/newsmips/conf/GENERIC: revision 1.94
sys/arch/netwinder/conf/GENERIC: revision 1.83
sys/arch/hpcsh/conf/GENERIC: revision 1.69
sys/arch/sbmips/conf/GENERIC: revision 1.55
sys/arch/pc532/conf/GENERIC: revision 1.65
sys/arch/hpcmips/conf/GENERIC: revision 1.192
Remove obsolete #options VERIFIED_EXEC, found by grep(1).
 1.12.8.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.12.6.5 21-Jan-2008  yamt sync with head
 1.12.6.4 03-Sep-2007  yamt sync with head.
 1.12.6.3 30-Dec-2006  yamt sync with head.
 1.12.6.2 21-Jun-2006  yamt sync with head.
 1.12.6.1 19-Apr-2006  yamt file ARMADILLO9 was added on branch yamt-lazymbuf on 2006-06-21 14:50:33 +0000
 1.15.14.1 11-Jul-2007  mjf Sync with head.
 1.15.12.1 10-Apr-2007  ad Sync with head.
 1.15.8.1 24-Mar-2007  yamt sync with head.
 1.16.28.2 20-Jan-2008  bouyer Sync with HEAD
 1.16.28.1 02-Jan-2008  bouyer Sync with HEAD
 1.16.22.1 18-Feb-2008  mjf Sync with HEAD.
 1.16.16.2 23-Mar-2008  matt sync with HEAD
 1.16.16.1 09-Jan-2008  matt sync with HEAD
 1.16.12.1 28-Feb-2008  rjs Sync with HEAD.
 1.18.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.18.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.18.10.3 11-Aug-2010  yamt sync with head.
 1.18.10.2 11-Mar-2010  yamt sync with head
 1.18.10.1 04-May-2009  yamt sync with head.
 1.18.8.1 04-Jun-2008  yamt sync with head
 1.18.6.4 17-Jan-2009  mjf Sync with HEAD.
 1.18.6.3 28-Sep-2008  mjf Sync with HEAD.
 1.18.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.18.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.19.2.1 03-Jul-2008  simonb Sync with head.
 1.20.2.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.20.2.1 19-Oct-2008  haad Sync with HEAD.
 1.21.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.21.2.1 19-Jan-2009  skrll 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.3 21-Apr-2011  rmind sync with head
 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.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.3 29-Apr-2012  mrg sync to latest -current.
 1.31.2.2 11-Mar-2012  mrg sync to latest -current
 1.31.2.1 18-Feb-2012  mrg merge to -current.
 1.32.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.37.2.4 03-Dec-2017  jdolecek update from HEAD
 1.37.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.37.2.2 23-Jun-2013  tls resync from head
 1.37.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.42.2.1 28-Aug-2013  rmind sync with head
 1.43.4.1 10-Aug-2014  tls Rebase.
 1.48.2.3 28-Aug-2017  skrll Sync with HEAD
 1.48.2.2 05-Feb-2017  skrll Sync with HEAD
 1.48.2.1 22-Sep-2015  skrll Sync with HEAD
 1.49.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.49.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.52.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.55.2.4 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.55.2.3 28-Jul-2018  pgoyette Sync with HEAD
 1.55.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.55.2.1 21-May-2018  pgoyette Sync with HEAD
 1.58.2.3 21-Apr-2020  martin Sync with HEAD
 1.58.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.58.2.1 10-Jun-2019  christos Sync with HEAD
 1.60.6.1 25-Jan-2020  ad Sync with head.
 1.60.4.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.61.4.1 20-Apr-2020  bouyer Sync with HEAD
 1.65.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.67.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.40 16-Feb-2024  skrll Retire BCM53XX_CONSOLE_EARLY in favour of EARLYCONS
 1.39 07-Aug-2022  simonb branches: 1.39.4;
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 29-Sep-2020  jmcneill Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime
detection instead of ifdefs where required.
 1.37 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.36 13-Jun-2020  ad Comment out "options PMAPCOUNTERS". It adds much overhead and is mostly of
interest to people hacking on the VM system or pmap. Proposed on port-arm@.
 1.35 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.34 12-Aug-2019  skrll branches: 1.34.6;
Update for recent a9wdt changes
 1.33 23-Oct-2018  jdolecek branches: 1.33.4;
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.32 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.31 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.30 05-Jun-2018  hkenken branches: 1.30.2;
Rename ARM A9 Global Timer driver name to support fdt.

- Rename a9tmr to arma9tmr.
- Add a9tmr_fdt.c based gtmr_fdt.c.
 1.29 14-Sep-2017  mrg branches: 1.29.2;
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 3.
 1.27 26-Jun-2017  sevan Add a heading to describe the class of device axe(4) is.
 1.26 19-Feb-2017  rin branches: 1.26.6;
PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.25 07-Aug-2015  maxv branches: 1.25.2; 1.25.4;
Remove KMEMSTATS.
 1.24 24-Aug-2014  jnemeth branches: 1.24.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.23 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.22 18-Aug-2014  christos - Enable Wedge support for MBR/BSDLABEL where it was commented out.
- Add apple partition support where it was missing
- Add comments where missing
 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 03-Aug-2014  martin branches: 1.19.2;
Add COMPAT_NETBSD32, following the switch to eabi by default.
 1.18 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.17 21-Feb-2014  matt branches: 1.17.2;
Rearrange KERNEL_BASE_PHYS
 1.16 28-Oct-2013  matt branches: 1.16.2;
Support for the Broadcom BCM56340 iProc based switch.
 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 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.12 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.11 19-Feb-2013  matt Turn on BUSDMA_COUNTERS and BCMETH_COUNTERS.
Add a commented out options for MEMSIZE=256
 1.10 19-Dec-2012  msaitoh Add pseudo-device lockstat
 1.9 17-Oct-2012  matt branches: 1.9.2; 1.9.4;
Make sure the L2 cache is enabled
Restrict the PCIe interface to negotiate at Gen1 speeds.
 1.8 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.7 05-Oct-2012  matt Add vlan and bridge pseudo-devices
 1.6 22-Sep-2012  matt Disable L2 cache for now. Add phys for wm
 1.5 15-Sep-2012  matt Add some PCI devices
 1.4 11-Sep-2012  msaitoh branches: 1.4.2;
Add PUFFS, putter and fss.
 1.3 02-Sep-2012  matt Add ppb/pci
Add arml2cc
 1.2 01-Sep-2012  matt Add DKWEDGE support
Add __HAVE_CPU_COUNTER
 1.1 01-Sep-2012  matt Add support for the BCM95301X development board
 1.4.2.5 03-Dec-2017  jdolecek update from HEAD
 1.4.2.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.2.3 23-Jun-2013  tls resync from head
 1.4.2.2 25-Feb-2013  tls resync with head
 1.4.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.9.4.3 07-Feb-2013  matt Disable UVMHIST
 1.9.4.2 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.9.4.1 17-Oct-2012  matt file BCM5301X was added on branch matt-nb6-plus on 2012-11-28 22:50:05 +0000
 1.9.2.4 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.2.3 23-Jan-2013  yamt sync with head
 1.9.2.2 30-Oct-2012  yamt sync with head
 1.9.2.1 17-Oct-2012  yamt file BCM5301X was added on branch yamt-pagecache on 2012-10-30 17:19:19 +0000
 1.14.2.2 18-May-2014  rmind sync with head
 1.14.2.1 28-Aug-2013  rmind sync with head
 1.16.2.2 15-Feb-2014  matt Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.
 1.16.2.1 28-Oct-2013  matt file BCM5301X was added on branch matt-nb5-mips64 on 2014-02-15 16:18:37 +0000
 1.17.2.1 10-Aug-2014  tls Rebase.
 1.19.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.24.2.2 28-Aug-2017  skrll Sync with HEAD
 1.24.2.1 22-Sep-2015  skrll Sync with HEAD
 1.25.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.25.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.26.6.1 01-Jul-2017  snj Pull up following revision(s) (requested by sevan in ticket #72):
sys/arch/evbarm/conf/GEMINI_SLAVE: revision 1.35
sys/arch/evbarm/conf/N900: revision 1.24
sys/arch/evbarm/conf/GOLDENGATE: revision 1.14
sys/arch/evbarm/conf/GEMINI_MASTER: revision 1.34
sys/arch/evbarm/conf/BEAGLEBONE: revision 1.43
sys/arch/evbarm/conf/BCM56340: revision 1.12
sys/arch/evbarm/conf/GEMINI: revision 1.34
sys/arch/evbarm/conf/BEAGLEBOARDXM: revision 1.24
sys/arch/evbarm/conf/BCM5301X: revision 1.27
sys/arch/evbarm/conf/PANDABOARD: revision 1.22
Add a heading to describe the class of device axe(4) is.
 1.29.2.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.29.2.2 28-Jul-2018  pgoyette Sync with HEAD
 1.29.2.1 25-Jun-2018  pgoyette Sync with HEAD
 1.30.2.3 21-Apr-2020  martin Sync with HEAD
 1.30.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.30.2.1 10-Jun-2019  christos Sync with HEAD
 1.33.4.1 15-Aug-2019  martin Pull up following revision(s) (requested by skrll in ticket #55):

sys/arch/arm/cortex/a9wdt.c: revision 1.10
sys/arch/evbarm/conf/HUMMINGBOARD: revision 1.9
sys/arch/evbarm/conf/GENERIC: revision 1.50
sys/arch/evbarm/conf/NITROGEN6X: revision 1.24
sys/arch/arm/cortex/a9tmr_var.h: revision 1.7
sys/arch/arm/fdt/files.fdt: revision 1.29
sys/arch/arm/amlogic/meson_platform.c: revision 1.12
sys/arch/arm/amlogic/meson8b_pinctrl.c: revision 1.2
sys/arch/arm/amlogic/meson_platform.c: revision 1.13
sys/arch/evbarm/conf/BCM5301X: revision 1.34
sys/arch/arm/dts/meson8b.dtsi: revision 1.6
sys/arch/arm/fdt/a9ptmr_fdt.c: revision 1.1
sys/arch/arm/dts/meson8b.dtsi: revision 1.7
sys/arch/arm/cortex/a9ptmr_var.h: revision 1.1
sys/arch/evbarm/conf/PANDABOARD: revision 1.30
sys/arch/evbarm/conf/DUOVERO: revision 1.14
sys/arch/arm/cortex/a9ptmr.c: revision 1.1
sys/arch/arm/cortex/a9ptmr.c: revision 1.2
sys/arch/arm/fdt/a9wdt_fdt.c: revision 1.1
sys/arch/evbarm/conf/BCM56340: revision 1.19
sys/arch/evbarm/conf/CUBOX-I: revision 1.23
sys/arch/arm/amlogic/meson8b_clkc.c: revision 1.4
sys/arch/evbarm/conf/PARALLELLA: revision 1.7
sys/arch/arm/cortex/files.cortex: revision 1.12
sys/arch/arm/dts/meson8b-odroidc1.dts: revision 1.4
sys/arch/arm/cortex/a9wdt.c: revision 1.9
sys/arch/evbarm/conf/ZEDBOARD: revision 1.6

spaces to tab

-

Add a driver for the A5/A9 Private timer.
While here FDTise the Watchdog driver.

-

Update for recent a9wdt changes
-

Trailing whitespace

-
Updates to get Odroid-C1 in better shape since the last DTS import

-

Various fixes / changes
- don't use prescaler
- improve AB_DEBUG output
- fix a9ptmr_delay to work with a decrementing counter!
Thanks to jmcneill@ for proving I'm an idiot

-

Add eth_rxd3 and eth_rxd2 pinctrl groups

-

Catch up to recent mainline dts changes
 1.34.6.1 20-Apr-2020  bouyer Sync with HEAD
 1.39.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.3 23-May-2020  jmcneill GC unused INSTALL kernel configs.
 1.2 01-May-2014  martin Do not create debug info for *_INSTALL kernels.
 1.1 01-Sep-2012  matt branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.16; 1.1.18;
Add INSTALL variant for BCM5301X
 1.1.18.1 10-Aug-2014  tls Rebase.
 1.1.16.2 15-Feb-2014  matt Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.
 1.1.16.1 01-Sep-2012  matt file BCM5301X_INSTALL was added on branch matt-nb5-mips64 on 2014-02-15 16:18:37 +0000
 1.1.8.1 18-May-2014  rmind sync with head
 1.1.6.2 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.1.6.1 01-Sep-2012  matt file BCM5301X_INSTALL was added on branch matt-nb6-plus on 2012-11-28 22:50:05 +0000
 1.1.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.1.4.2 30-Oct-2012  yamt sync with head
 1.1.4.1 01-Sep-2012  yamt file BCM5301X_INSTALL was added on branch yamt-pagecache on 2012-10-30 17:19:19 +0000
 1.1.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.23 16-Feb-2024  skrll Retire BCM53XX_CONSOLE_EARLY in favour of EARLYCONS
 1.22 07-Aug-2022  simonb branches: 1.22.4;
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.21 29-Sep-2020  jmcneill Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime
detection instead of ifdefs where required.
 1.20 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.19 11-Aug-2019  skrll branches: 1.19.6;
Update for recent a9wdt changes
 1.18 23-Oct-2018  jdolecek branches: 1.18.4;
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.17 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.16 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.15 05-Jun-2018  hkenken branches: 1.15.2;
Rename ARM A9 Global Timer driver name to support fdt.

- Rename a9tmr to arma9tmr.
- Add a9tmr_fdt.c based gtmr_fdt.c.
 1.14 14-Sep-2017  mrg branches: 1.14.2;
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.13 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.12 26-Jun-2017  sevan Add a heading to describe the class of device axe(4) is.
 1.11 19-Feb-2017  rin branches: 1.11.6;
PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.10 07-Aug-2015  maxv branches: 1.10.2; 1.10.4;
Remove KMEMSTATS.
 1.9 24-Aug-2014  jnemeth branches: 1.9.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.8 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.7 18-Aug-2014  christos branches: 1.7.2;
- Enable Wedge support for MBR/BSDLABEL where it was commented out.
- Add apple partition support where it was missing
- Add comments where missing
 1.6 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.5 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.4 03-Aug-2014  martin branches: 1.4.2;
Add COMPAT_NETBSD32, following the switch to eabi by default.
 1.3 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.2 21-Feb-2014  matt branches: 1.2.2; 1.2.4; 1.2.6;
Rearrange KERNEL_BASE_PHYS
 1.1 28-Oct-2013  matt branches: 1.1.2;
Support for the Broadcom BCM56340 iProc based switch.
 1.1.2.2 15-Feb-2014  matt Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.
 1.1.2.1 28-Oct-2013  matt file BCM56340 was added on branch matt-nb5-mips64 on 2014-02-15 16:18:37 +0000
 1.2.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.2.6.1 21-Feb-2014  yamt file BCM56340 was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 21-Feb-2014  rmind file BCM56340 was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.2.2.1 10-Aug-2014  tls Rebase.
 1.4.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.7.2.3 03-Dec-2017  jdolecek update from HEAD
 1.7.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7.2.1 18-Aug-2014  tls file BCM56340 was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.9.2.2 28-Aug-2017  skrll Sync with HEAD
 1.9.2.1 22-Sep-2015  skrll Sync with HEAD
 1.10.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.10.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.11.6.1 01-Jul-2017  snj Pull up following revision(s) (requested by sevan in ticket #72):
sys/arch/evbarm/conf/GEMINI_SLAVE: revision 1.35
sys/arch/evbarm/conf/N900: revision 1.24
sys/arch/evbarm/conf/GOLDENGATE: revision 1.14
sys/arch/evbarm/conf/GEMINI_MASTER: revision 1.34
sys/arch/evbarm/conf/BEAGLEBONE: revision 1.43
sys/arch/evbarm/conf/BCM56340: revision 1.12
sys/arch/evbarm/conf/GEMINI: revision 1.34
sys/arch/evbarm/conf/BEAGLEBOARDXM: revision 1.24
sys/arch/evbarm/conf/BCM5301X: revision 1.27
sys/arch/evbarm/conf/PANDABOARD: revision 1.22
Add a heading to describe the class of device axe(4) is.
 1.14.2.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.14.2.2 28-Jul-2018  pgoyette Sync with HEAD
 1.14.2.1 25-Jun-2018  pgoyette Sync with HEAD
 1.15.2.3 21-Apr-2020  martin Sync with HEAD
 1.15.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.15.2.1 10-Jun-2019  christos Sync with HEAD
 1.18.4.1 15-Aug-2019  martin Pull up following revision(s) (requested by skrll in ticket #55):

sys/arch/arm/cortex/a9wdt.c: revision 1.10
sys/arch/evbarm/conf/HUMMINGBOARD: revision 1.9
sys/arch/evbarm/conf/GENERIC: revision 1.50
sys/arch/evbarm/conf/NITROGEN6X: revision 1.24
sys/arch/arm/cortex/a9tmr_var.h: revision 1.7
sys/arch/arm/fdt/files.fdt: revision 1.29
sys/arch/arm/amlogic/meson_platform.c: revision 1.12
sys/arch/arm/amlogic/meson8b_pinctrl.c: revision 1.2
sys/arch/arm/amlogic/meson_platform.c: revision 1.13
sys/arch/evbarm/conf/BCM5301X: revision 1.34
sys/arch/arm/dts/meson8b.dtsi: revision 1.6
sys/arch/arm/fdt/a9ptmr_fdt.c: revision 1.1
sys/arch/arm/dts/meson8b.dtsi: revision 1.7
sys/arch/arm/cortex/a9ptmr_var.h: revision 1.1
sys/arch/evbarm/conf/PANDABOARD: revision 1.30
sys/arch/evbarm/conf/DUOVERO: revision 1.14
sys/arch/arm/cortex/a9ptmr.c: revision 1.1
sys/arch/arm/cortex/a9ptmr.c: revision 1.2
sys/arch/arm/fdt/a9wdt_fdt.c: revision 1.1
sys/arch/evbarm/conf/BCM56340: revision 1.19
sys/arch/evbarm/conf/CUBOX-I: revision 1.23
sys/arch/arm/amlogic/meson8b_clkc.c: revision 1.4
sys/arch/evbarm/conf/PARALLELLA: revision 1.7
sys/arch/arm/cortex/files.cortex: revision 1.12
sys/arch/arm/dts/meson8b-odroidc1.dts: revision 1.4
sys/arch/arm/cortex/a9wdt.c: revision 1.9
sys/arch/evbarm/conf/ZEDBOARD: revision 1.6

spaces to tab

-

Add a driver for the A5/A9 Private timer.
While here FDTise the Watchdog driver.

-

Update for recent a9wdt changes
-

Trailing whitespace

-
Updates to get Odroid-C1 in better shape since the last DTS import

-

Various fixes / changes
- don't use prescaler
- improve AB_DEBUG output
- fix a9ptmr_delay to work with a decrementing counter!
Thanks to jmcneill@ for proving I'm an idiot

-

Add eth_rxd3 and eth_rxd2 pinctrl groups

-

Catch up to recent mainline dts changes
 1.19.6.1 20-Apr-2020  bouyer Sync with HEAD
 1.22.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.3 23-May-2020  jmcneill GC unused INSTALL kernel configs.
 1.2 01-May-2014  martin branches: 1.2.2; 1.2.4; 1.2.8;
Do not create debug info for *_INSTALL kernels.
 1.1 28-Oct-2013  matt branches: 1.1.2; 1.1.4;
Support for the Broadcom BCM56340 iProc based switch.
 1.1.4.1 10-Aug-2014  tls Rebase.
 1.1.2.2 15-Feb-2014  matt Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.
 1.1.2.1 28-Oct-2013  matt file BCM56340_INSTALL was added on branch matt-nb5-mips64 on 2014-02-15 16:18:37 +0000
 1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.8.1 01-May-2014  tls file BCM56340_INSTALL was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.2.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.4.1 01-May-2014  yamt file BCM56340_INSTALL was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.2.2.2 18-May-2014  rmind sync with head
 1.2.2.1 01-May-2014  rmind file BCM56340_INSTALL was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.66 30-Oct-2019  jmcneill Remove BEAGLEBOARD kernel (supported by GENERIC now)
 1.65 06-Feb-2019  rin branches: 1.65.4;
Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.64 24-Oct-2017  sevan branches: 1.64.4;
Switch BEAGLEBOARD config over to using GENERIC.common.
Remove duplicates already defined in GENERIC.common.
 1.63 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.62 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.61 19-Feb-2017  rin branches: 1.61.6;
PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.60 12-Aug-2015  maxv branches: 1.60.2; 1.60.4;
Remove KMEMSTATS.
 1.59 11-Oct-2014  uebayasi branches: 1.59.2;
Device midi attachment where the evil usbdevices.config is included.
 1.58 30-Aug-2014  kiyohara Pad L4 WAKEUP to 1M, like omap2_reg.h.
 1.57 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.56 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.55 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.54 03-Aug-2014  martin Add COMPAT_NETBSD32, following the switch to eabi by default.
 1.53 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.52 05-Apr-2014  khorben Fixed a typo
 1.51 30-Jun-2013  rmind branches: 1.51.4;
G/C PFIL_HOOKS from the kernel configs.
 1.50 16-Jun-2013  matt branches: 1.50.2;
adapt am335x memprobe so it can be used by omap4/omap5.
Fill in the reference clock (omap_sys_clk) when determining speed.
Make sure memory controller are mapped.
Make sure to map console PA in bootstrap page table.
 1.49 05-Jun-2013  christos remove obsolete networking options
 1.48 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.47 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.46 21-Feb-2013  macallan add WSDISPLAY_COMPAT_PCVT
 1.45 09-Feb-2013  jmcneill console device selection is done at runtime now
 1.44 24-Jan-2013  jmcneill bump SYMTAB_SPACE
 1.43 22-Jan-2013  jmcneill use usbdevices.config
 1.42 15-Jan-2013  jmcneill add kernfs and procfs, support BEAGLEBOARD.local
 1.41 11-Jan-2013  he With the recent enhancement of omapfb, wsdisplay* devices appear
to now be required, so follow suit to fix the build.
 1.40 09-Jan-2013  macallan add omapdma, also re-enable omapfb since it no longer unconditionally hogs
the console
 1.39 01-Jan-2013  jmcneill add OMAP3 SCM (temp sensor)
 1.38 31-Dec-2012  jmcneill add tps65950 driver
 1.37 31-Dec-2012  jmcneill add I2C support
 1.36 28-Dec-2012  jmcneill enable WDT2 (MPU) for watchdog instead of WDT3 (IVA2). remove WDT1, it doesnt exist on OMAP3530
 1.35 19-Dec-2012  msaitoh Add pseudo-device lockstat
 1.34 13-Dec-2012  matt MEMSIZE is now optional on BEAGLEBOARD.
 1.33 12-Dec-2012  matt Add ukphy for axe
 1.32 12-Dec-2012  matt Disable omapfb/wsdisplay until they stop stealing the console
Enable EHCI and devices.
 1.31 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.30 17-Sep-2012  msaitoh Comment out "pseudo-device md" as other config files.
It fixes BEAGLEBOARD_INSTALL's compile error.
 1.29 11-Sep-2012  msaitoh branches: 1.29.2;
Add PUFFS, putter and fss.
 1.28 12-Jul-2012  matt Add sdhc
Add comment about flash usage
 1.27 05-Jun-2012  abs 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.26 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.25 09-Feb-2012  matt branches: 1.25.2;
Bump SYMTAB_SPACE
 1.24 18-Dec-2011  dholland 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 28-Jul-2011  uebayasi branches: 1.22.2;
Bump SYMTAB_SPACE.
 1.21 30-Jun-2011  wiz dependant -> dependent
 1.20 15-Jun-2011  ober Revert symspace back to 3 megs so that beagleboards boots again.
 1.19 12-Apr-2011  ahoka branches: 1.19.2;
add NAND_BBT
 1.18 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.17 06-Mar-2011  jakllsch Bump SYMTAB_SPACE for the many other evbarm kernels that also need it increased.
 1.16 06-Mar-2011  jakllsch Remove trailing spaces.
 1.15 26-Feb-2011  ahoka Import the Flash and NAND subsytem code contributed by the University
of Szeged, Hungary.

The commit includes:
- Flash layer, which gives a common API to access flash devices
- NAND controller subsystem for the flash layer
- An example OMAP driver which is used on BeagleBoard or alike ARM boards
 1.14 04-Jan-2011  matt branches: 1.14.2; 1.14.4;
Turn off VERBOSE_ARM_INIT
 1.13 23-Nov-2010  hannken Remove unused count from pseudo-device md.
 1.12 08-Sep-2010  ahoka Remove the unintentional parts of the last commit.
 1.11 31-Aug-2010  macallan enable omapfb and related stuff
 1.10 28-Aug-2010  ahoka Add basic support for PRCM in omap devices, and use it to cold reset
the cpu in cpu_reboot();

Note: the driver only supports the cold reset action at the moment.

Enable it in BEAGLEBOARD
 1.9 19-Jun-2010  matt Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of
CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8.
CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined.
Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb
instructions.

Test booted to root device prompt on a Beagleboard.
All ARM kernels successfully test built.
 1.8 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.7 05-Dec-2009  pooka branches: 1.7.2; 1.7.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.6 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.5 06-Mar-2009  joerg branches: 1.5.2;
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.4 24-Nov-2008  ad branches: 1.4.4; 1.4.6; 1.4.8;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.2 22-Oct-2008  matt branches: 1.2.2;
Don't enable L4 emul. Add some usb stuff.
 1.1 22-Oct-2008  matt Initial BEAGLEBOARD support. Compile tested only so far.
 1.2.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.2.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.4.8.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.4.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.4.6.1 24-Nov-2008  mjf file BEAGLEBOARD was added on branch mjf-devfs2 on 2009-01-17 13:27:57 +0000
 1.4.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.4.4.1 24-Nov-2008  haad file BEAGLEBOARD was added on branch haad-dm on 2008-12-13 01:13:06 +0000
 1.5.2.5 09-Oct-2010  yamt sync with head
 1.5.2.4 11-Aug-2010  yamt sync with head.
 1.5.2.3 11-Mar-2010  yamt sync with head
 1.5.2.2 04-May-2009  yamt sync with head.
 1.5.2.1 06-Mar-2009  yamt file BEAGLEBOARD was added on branch yamt-nfs-mp on 2009-05-04 08:10:56 +0000
 1.7.4.4 21-Apr-2011  rmind sync with head
 1.7.4.3 05-Mar-2011  rmind sync with head
 1.7.4.2 03-Jul-2010  rmind sync with head
 1.7.4.1 30-May-2010  rmind sync with head
 1.7.2.3 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.7.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.7.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.14.4.2 05-Mar-2011  bouyer Sync with HEAD
 1.14.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.14.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.19.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.22.2.5 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.4 23-Jan-2013  yamt sync with head
 1.22.2.3 16-Jan-2013  yamt sync with (a bit old) head
 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.2 29-Apr-2012  mrg sync to latest -current.
 1.23.2.1 18-Feb-2012  mrg merge to -current.
 1.25.2.1 12-Jun-2012  riz branches: 1.25.2.1.2;
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.25.2.1.2.1 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.29.2.5 03-Dec-2017  jdolecek update from HEAD
 1.29.2.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.29.2.3 23-Jun-2013  tls resync from head
 1.29.2.2 25-Feb-2013  tls resync with head
 1.29.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.50.2.2 18-May-2014  rmind sync with head
 1.50.2.1 28-Aug-2013  rmind sync with head
 1.51.4.1 10-Aug-2014  tls Rebase.
 1.59.2.2 28-Aug-2017  skrll Sync with HEAD
 1.59.2.1 22-Sep-2015  skrll Sync with HEAD
 1.60.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.60.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.61.6.3 18-Apr-2018  martin Requested by skrll in ticket #60:
sys/arch/amd64/conf/GENERIC
sys/arch/amd64/conf/XEN3_DOM0
sys/arch/amd64/conf/XEN3_DOMU
sys/arch/cobalt/conf/GENERIC
sys/arch/evbarm/conf/BEAGLEBONE
sys/arch/evbarm/conf/BEAGLEBOARD
sys/arch/evbarm/conf/BEAGLEBOARDXM
sys/arch/evbarm/conf/GENERIC.common
sys/arch/i386/conf/GENERIC
sys/arch/i386/conf/XEN3_DOM0
sys/arch/i386/conf/XEN3_DOMU
sys/arch/mvmeppc/conf/GENERIC
sys/arch/shark/conf/GENERIC
sys/arch/sparc64/conf/GENERIC
sys/arch/zaurus/conf/GENERIC

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


Re-enable option DIAGNOSTIC for now, will remove it again later.
 1.61.6.1 05-Jul-2017  martin Remove options DIAGNOSTIC/DEBUG and PAX debug options.
Requested by snj in #60.
 1.64.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.64.4.1 10-Jun-2019  christos Sync with HEAD
 1.65.4.1 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.29 31-Oct-2019  jmcneill Remove BEAGLEBOARDXM kernel (supported by GENERIC now)
 1.28 23-Oct-2018  jdolecek branches: 1.28.4;
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.27 24-Oct-2017  sevan branches: 1.27.2; 1.27.4;
Switch BEAGLEBOARDXM config over to using GENERIC.common.
Remove duplicates already defined in GENERIC.common.
 1.26 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.25 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.24 26-Jun-2017  sevan Add a heading to describe the class of device axe(4) is.
 1.23 19-Feb-2017  rin branches: 1.23.6;
PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.22 05-Oct-2016  kiyohara branches: 1.22.2;
Comment-out don't matched sdhc. omap's sdhc not support TI_DM37XX now. However Overo FireSTORM(DM3730) work fine with OVERO(OMAP_3530 only).
 1.21 24-Jun-2016  skrll branches: 1.21.2;
Don't define {USB,[EO]HCI,UHUB}_DEBUG when there is no usb
 1.20 12-Aug-2015  maxv Remove KMEMSTATS.
 1.19 11-Oct-2014  uebayasi branches: 1.19.2;
Don't enable wscons options w/o related devices.
 1.18 30-Aug-2014  kiyohara Pad L4 WAKEUP to 1M, like omap2_reg.h.
 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 03-Aug-2014  martin Add COMPAT_NETBSD32, following the switch to eabi by default.
 1.13 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.12 30-Jun-2013  rmind branches: 1.12.4;
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 19-Dec-2012  msaitoh Add pseudo-device lockstat
 1.7 17-Oct-2012  apb branches: 1.7.2; 1.7.4;
Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.6 11-Sep-2012  msaitoh branches: 1.6.2;
Add PUFFS, putter and fss.
 1.5 05-Sep-2012  matt Modify USB entries (still commented out)
 1.4 23-Aug-2012  matt More changes for BEAGLEBOARDXM. The kernel gets all the way to usermode
and the installer will run (nothing to install to but ...)
 1.3 22-Aug-2012  matt Remove NAND since it isn't present on the board.
 1.2 22-Aug-2012  matt Fix console address
 1.1 22-Aug-2012  matt First pass as supporting the TI DM37XX which is used in the BeagleBoard-XM.
(compile tested but hasn't been run on an actual board).
 1.6.2.5 03-Dec-2017  jdolecek update from HEAD
 1.6.2.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.2.3 23-Jun-2013  tls resync from head
 1.6.2.2 25-Feb-2013  tls resync with head
 1.6.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.7.4.2 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.7.4.1 17-Oct-2012  matt file BEAGLEBOARDXM was added on branch matt-nb6-plus on 2012-11-28 22:50:06 +0000
 1.7.2.4 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.3 23-Jan-2013  yamt sync with head
 1.7.2.2 30-Oct-2012  yamt sync with head
 1.7.2.1 17-Oct-2012  yamt file BEAGLEBOARDXM was added on branch yamt-pagecache on 2012-10-30 17:19:19 +0000
 1.11.2.1 28-Aug-2013  rmind sync with head
 1.12.4.1 10-Aug-2014  tls Rebase.
 1.19.2.4 28-Aug-2017  skrll Sync with HEAD
 1.19.2.3 05-Dec-2016  skrll Sync with HEAD
 1.19.2.2 09-Jul-2016  skrll Sync with HEAD
 1.19.2.1 22-Sep-2015  skrll Sync with HEAD
 1.21.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.21.2.1 04-Nov-2016  pgoyette Sync with HEAD
 1.22.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.23.6.4 18-Apr-2018  martin Requested by skrll in ticket #60:
sys/arch/amd64/conf/GENERIC
sys/arch/amd64/conf/XEN3_DOM0
sys/arch/amd64/conf/XEN3_DOMU
sys/arch/cobalt/conf/GENERIC
sys/arch/evbarm/conf/BEAGLEBONE
sys/arch/evbarm/conf/BEAGLEBOARD
sys/arch/evbarm/conf/BEAGLEBOARDXM
sys/arch/evbarm/conf/GENERIC.common
sys/arch/i386/conf/GENERIC
sys/arch/i386/conf/XEN3_DOM0
sys/arch/i386/conf/XEN3_DOMU
sys/arch/mvmeppc/conf/GENERIC
sys/arch/shark/conf/GENERIC
sys/arch/sparc64/conf/GENERIC
sys/arch/zaurus/conf/GENERIC

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


Re-enable option DIAGNOSTIC for now, will remove it again later.
 1.23.6.2 05-Jul-2017  martin Remove options DIAGNOSTIC/DEBUG and PAX debug options.
Requested by snj in #60.
 1.23.6.1 01-Jul-2017  snj Pull up following revision(s) (requested by sevan in ticket #72):
sys/arch/evbarm/conf/GEMINI_SLAVE: revision 1.35
sys/arch/evbarm/conf/N900: revision 1.24
sys/arch/evbarm/conf/GOLDENGATE: revision 1.14
sys/arch/evbarm/conf/GEMINI_MASTER: revision 1.34
sys/arch/evbarm/conf/BEAGLEBONE: revision 1.43
sys/arch/evbarm/conf/BCM56340: revision 1.12
sys/arch/evbarm/conf/GEMINI: revision 1.34
sys/arch/evbarm/conf/BEAGLEBOARDXM: revision 1.24
sys/arch/evbarm/conf/BCM5301X: revision 1.27
sys/arch/evbarm/conf/PANDABOARD: revision 1.22
Add a heading to describe the class of device axe(4) is.
 1.27.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.27.4.1 10-Jun-2019  christos Sync with HEAD
 1.27.2.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.28.4.1 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.3 31-Oct-2019  jmcneill Remove BEAGLEBOARDXM kernel (supported by GENERIC now)
 1.2 01-May-2014  martin branches: 1.2.28; 1.2.32;
Do not create debug info for *_INSTALL kernels.
 1.1 23-Aug-2012  matt branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.16;
More changes for BEAGLEBOARDXM. The kernel gets all the way to usermode
and the installer will run (nothing to install to but ...)
 1.1.16.1 10-Aug-2014  tls Rebase.
 1.1.8.1 18-May-2014  rmind sync with head
 1.1.6.2 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.1.6.1 23-Aug-2012  matt file BEAGLEBOARDXM_INSTALL was added on branch matt-nb6-plus on 2012-11-28 22:50:06 +0000
 1.1.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.1.4.2 30-Oct-2012  yamt sync with head
 1.1.4.1 23-Aug-2012  yamt file BEAGLEBOARDXM_INSTALL was added on branch yamt-pagecache on 2012-10-30 17:19:19 +0000
 1.1.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.32.1 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3 30-Oct-2019  jmcneill Remove BEAGLEBOARD kernel (supported by GENERIC now)
 1.2 01-May-2014  martin branches: 1.2.28; 1.2.32;
Do not create debug info for *_INSTALL kernels.
 1.1 29-Aug-2012  matt branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.16;
Add an INSTALL variant for BEAGLEBOARD.
 1.1.16.1 10-Aug-2014  tls Rebase.
 1.1.8.1 18-May-2014  rmind sync with head
 1.1.6.2 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.1.6.1 29-Aug-2012  matt file BEAGLEBOARD_INSTALL was added on branch matt-nb6-plus on 2012-11-28 22:50:06 +0000
 1.1.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.1.4.2 30-Oct-2012  yamt sync with head
 1.1.4.1 29-Aug-2012  yamt file BEAGLEBOARD_INSTALL was added on branch yamt-pagecache on 2012-10-30 17:19:19 +0000
 1.1.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.32.1 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.49 28-Oct-2019  jmcneill Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).
 1.48 18-May-2019  skrll branches: 1.48.2;
Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.47 06-Feb-2019  rin Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.46 13-Nov-2018  mlelstv use generic usbdevices.config
 1.45 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.44 28-Jun-2018  thorpej branches: 1.44.2;
Use the "flags" config directive modifier to specify seeprom size
(a pre-existing capability in seeprom driver) now that "size" is no
longer a valid locator for i2c.
 1.43 26-Jun-2017  sevan branches: 1.43.4;
Add a heading to describe the class of device axe(4) is.
 1.42 09-May-2017  sevan branches: 1.42.2;
Allow gpio children for any parent which offers the gpiobus attribute.
Resolves issue with gpiosim(4)
gpiosim0: simulating 64 pins
gpiobus at gpiosim0 not configured

Reviewed by pgoyette
 1.41 25-Apr-2017  sevan branches: 1.41.2;
Switch BEAGLEBONE config over to using GENERIC.common.
Remove duplicates already defined in GENERIC.common.
 1.40 30-Mar-2017  sevan While KDTRACE_HOOKS is enabled by default in GENERIC.common, the BEAGLEBONE
config does not make use of this config file yet.
Revert previous change (r1.39).
 1.39 22-Mar-2017  sevan KDTRACE_HOOKS is enabled by default in GENERIC.common, remove references in
individual config files.
 1.38 18-Mar-2017  sevan Build with DTrace support by default.
To activate, define the relevant modules in /etc/modules.conf.
For example (incomplete list):
solaris
dtrace
dtrace_sdt
dtrace_fbt
dtrace_lockstat
dtrace_profile
dtrace_syscall

Reviewed by christos
 1.37 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.36 04-Jul-2016  kiyohara branches: 1.36.2; 1.36.4;
AM335x's sdhc@obio use offset 0x100.
Oops this space maybe use HL registers? OMAP4430 use this space.
 1.35 04-Jul-2016  kiyohara Attach edma and tiotg at mainbus instead of obio0.
And splits obio0 to obio[012], like OMAP3530.
 1.34 02-Nov-2015  jmcneill enable GPIO
 1.33 12-Aug-2015  maxv Remove KMEMSTATS.
 1.32 06-Jun-2015  jmcneill enable trng driver
 1.31 14-Apr-2015  bouyer Add the edma controller, and enable DMA for sdhc0 and sdhc1
 1.30 04-Dec-2014  riz Enable nullfs, wedges for BEAGLEBONE
 1.29 11-Oct-2014  uebayasi branches: 1.29.2;
No wsdisplay options without wsdisplay.
 1.28 18-Sep-2014  wiz Add commented out KDTRACE_HOOKS line.
 1.27 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.26 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.25 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.24 03-Aug-2014  martin branches: 1.24.2;
Add COMPAT_NETBSD32, following the switch to eabi by default.
 1.23 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.22 19-Jul-2014  bouyer Fix uhidev entries (sync with i386)
 1.21 16-Jul-2014  bouyer Add a commented out tifb and associated wsdisplay entry; mark the
driver as experimental and point out that video mode is hardcoded.
Add tiotg, mark as experimental but I think it's good enough to have
it in by default.
 1.20 16-Aug-2013  jmcneill branches: 1.20.2;
Hardwire ld0 -> sdmmc0 and ld1 -> sdmmc1. Support local configuration in
BEAGLEBONE.local
 1.19 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.18 28-Jun-2013  matt branches: 1.18.2;
Add drvctl
 1.17 28-Jun-2013  matt Remove -d from BOOT_ARGS
Remove HWCLOCK definitions
 1.16 17-Jun-2013  matt Turn off VERBOSE_INIT_ARM (which was turned on in last commit).
 1.15 16-Jun-2013  matt adapt am335x memprobe so it can be used by omap4/omap5.
Fill in the reference clock (omap_sys_clk) when determining speed.
Make sure memory controller are mapped.
Make sure to map console PA in bootstrap page table.
 1.14 05-Jun-2013  christos remove obsolete networking options
 1.13 03-May-2013  jakllsch Enable file-system EXT2FS.
 1.12 30-Apr-2013  matt comment out MEMSIZE (now that we probe memory size)
Add second sdhc controller for beaglebone black
 1.11 25-Apr-2013  rkujawa Add tps65217pmic to BEAGLEBONE config.
 1.10 17-Apr-2013  bouyer Add sitaracm0 for the control module, tiiic0 for the I2C0 module and
seeprom for the on-board eeprom.
 1.9 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.8 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.7 03-Jan-2013  jakllsch Add driver for TI CPSW Ethernet on TI AM335x SoCs.

Portions of this driver are derived from FreeBSD's cpsw(4).

Developed and tested on a BeagleBone.
 1.6 29-Dec-2012  riz Enable the watchdog driver on BeagleBone.
 1.5 19-Dec-2012  msaitoh Add pseudo-device lockstat
 1.4 11-Dec-2012  riastradh Hack up the BEAGLEBONE config and add a BEAGLEBONE_INSTALL.

This is a total mess right now, and BEAGLEBONE_INSTALL isn't useful
except to boot ramdisks for testing, but this hash of a config works
to get my beaglebone booted into sysinst, at least.
 1.3 17-Oct-2012  apb branches: 1.3.2; 1.3.4;
Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.2 11-Sep-2012  msaitoh branches: 1.2.2;
Add PUFFS, putter and fss.
 1.1 20-Aug-2012  matt Inital config file BEAGLEBONE
 1.2.2.5 03-Dec-2017  jdolecek update from HEAD
 1.2.2.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.2.3 23-Jun-2013  tls resync from head
 1.2.2.2 25-Feb-2013  tls resync with head
 1.2.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.3.4.2 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.3.4.1 17-Oct-2012  matt file BEAGLEBONE was added on branch matt-nb6-plus on 2012-11-28 22:50:07 +0000
 1.3.2.5 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.3.2.4 23-Jan-2013  yamt sync with head
 1.3.2.3 16-Jan-2013  yamt sync with (a bit old) head
 1.3.2.2 30-Oct-2012  yamt sync with head
 1.3.2.1 17-Oct-2012  yamt file BEAGLEBONE was added on branch yamt-pagecache on 2012-10-30 17:19:19 +0000
 1.18.2.1 28-Aug-2013  rmind sync with head
 1.20.2.1 10-Aug-2014  tls Rebase.
 1.24.2.2 10-Jun-2015  snj Pull up following revision(s) (requested by jmcneill in ticket #830):
sys/arch/arm/omap/am335x_prcm.h: revision 1.9
sys/arch/arm/omap/am335x_trngreg.h: revision 1.1
sys/arch/arm/omap/am335x_trng.c: revision 1.1
sys/arch/arm/omap/files.omap2: revision 1.31
sys/arch/arm/omap/omap2_reg.h: revision 1.30
sys/arch/evbarm/conf/BEAGLEBONE: revision 1.32
Add driver for AM335x TRNG module.
--
enable trng driver
 1.24.2.1 19-Apr-2015  msaitoh Pull up following revision(s) (requested by bouyer in ticket #704):
sys/arch/arm/omap/omap_edma.c: revision 1.1
sys/arch/arm/omap/omap_edma.h: revision 1.1
sys/arch/arm/omap/files.omap2: revision 1.30
sys/arch/arm/omap/omap2_obiovar.h: revision 1.3
sys/arch/arm/omap/omap3_sdhc.c: revision 1.16
sys/arch/arm/omap/omap2_reg.h: revision 1.29
sys/arch/evbarm/conf/BEAGLEBONE: revision 1.31
sys/arch/arm/omap/omap2_obio.c: revision 1.22
- Add a driver for the Enhanced Direct Memory Access controller found
in the AM335x SoC. Written by Jared D. McNeill, with some final debug by me.
- Supports only DMA (not QDMA) yet, and there's no support for DMA event
matrix yet (this means that only primary DMA events can be used)
- Add support for DMA transfers. From Jared D. McNeill, with final debug by
me. With this I can get nearly 20MB/s from my sdcard on the BB black at 1Ghz
(not bad for a 50Mhz 4-bits bus), and still 15MB/s on the BB white at
low speed (275Mhz).
- Add the edma controller, and enable DMA for sdhc0 and sdhc1
 1.29.2.6 28-Aug-2017  skrll Sync with HEAD
 1.29.2.5 09-Jul-2016  skrll Sync with HEAD
 1.29.2.4 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.29.2.3 22-Sep-2015  skrll Sync with HEAD
 1.29.2.2 06-Jun-2015  skrll Sync with HEAD
 1.29.2.1 06-Apr-2015  skrll Sync with HEAD
 1.36.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.36.2.2 26-Apr-2017  pgoyette Sync with HEAD
 1.36.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.41.2.1 11-May-2017  pgoyette Sync with HEAD
 1.42.2.4 18-Apr-2018  martin Requested by skrll in ticket #60:
sys/arch/amd64/conf/GENERIC
sys/arch/amd64/conf/XEN3_DOM0
sys/arch/amd64/conf/XEN3_DOMU
sys/arch/cobalt/conf/GENERIC
sys/arch/evbarm/conf/BEAGLEBONE
sys/arch/evbarm/conf/BEAGLEBOARD
sys/arch/evbarm/conf/BEAGLEBOARDXM
sys/arch/evbarm/conf/GENERIC.common
sys/arch/i386/conf/GENERIC
sys/arch/i386/conf/XEN3_DOM0
sys/arch/i386/conf/XEN3_DOMU
sys/arch/mvmeppc/conf/GENERIC
sys/arch/shark/conf/GENERIC
sys/arch/sparc64/conf/GENERIC
sys/arch/zaurus/conf/GENERIC

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


Re-enable option DIAGNOSTIC for now, will remove it again later.
 1.42.2.2 05-Jul-2017  martin Remove options DIAGNOSTIC/DEBUG and PAX debug options.
Requested by snj in #60.
 1.42.2.1 01-Jul-2017  snj Pull up following revision(s) (requested by sevan in ticket #72):
sys/arch/evbarm/conf/GEMINI_SLAVE: revision 1.35
sys/arch/evbarm/conf/N900: revision 1.24
sys/arch/evbarm/conf/GOLDENGATE: revision 1.14
sys/arch/evbarm/conf/GEMINI_MASTER: revision 1.34
sys/arch/evbarm/conf/BEAGLEBONE: revision 1.43
sys/arch/evbarm/conf/BCM56340: revision 1.12
sys/arch/evbarm/conf/GEMINI: revision 1.34
sys/arch/evbarm/conf/BEAGLEBOARDXM: revision 1.24
sys/arch/evbarm/conf/BCM5301X: revision 1.27
sys/arch/evbarm/conf/PANDABOARD: revision 1.22
Add a heading to describe the class of device axe(4) is.
 1.43.4.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.43.4.1 28-Jul-2018  pgoyette Sync with HEAD
 1.44.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.44.2.1 10-Jun-2019  christos Sync with HEAD
 1.48.2.1 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.3 28-Oct-2019  jmcneill Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).
 1.2 01-May-2014  martin branches: 1.2.28; 1.2.32;
Do not create debug info for *_INSTALL kernels.
 1.1 11-Dec-2012  riastradh branches: 1.1.2; 1.1.4; 1.1.6; 1.1.14;
Hack up the BEAGLEBONE config and add a BEAGLEBONE_INSTALL.

This is a total mess right now, and BEAGLEBONE_INSTALL isn't useful
except to boot ramdisks for testing, but this hash of a config works
to get my beaglebone booted into sysinst, at least.
 1.1.14.1 10-Aug-2014  tls Rebase.
 1.1.6.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.2 25-Feb-2013  tls resync with head
 1.1.6.1 11-Dec-2012  tls file BEAGLEBONE_INSTALL was added on branch tls-maxphys on 2013-02-25 00:28:34 +0000
 1.1.4.1 18-May-2014  rmind sync with head
 1.1.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.1.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.1.2.1 11-Dec-2012  yamt file BEAGLEBONE_INSTALL was added on branch yamt-pagecache on 2013-01-16 05:32:52 +0000
 1.2.32.1 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.22 08-Apr-2018  jmcneill Remove old Allwinner port.
 1.21 20-Mar-2017  skrll branches: 1.21.12; 1.21.14;
Disable DIAGNOSTIC - it is already enabled in GENERIC.common
 1.20 13-Dec-2016  christos branches: 1.20.2;
wildcard speaker attachments, now that we can handle many of them.
 1.19 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.18 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.17 17-Oct-2015  bouyer branches: 1.17.2;
Implement CPU frequency switching for A20.
This requires adjusting the CPU voltage, so enable the axp20x driver for
A20 boards.
In evbarm/awin/awin_machdep.c, the DCDC powering up the CPU cores needs to
be defined for each board. The board machine-dependant code (at this time,
only awin_machdep.c) has to provide a awin_set_mpu_volt() function
which calls the right PMU driver to change the CPU core voltage.

The CPU frequency/voltage table in awin_board.c comes from various
sources: linux kernel, device tree and fex scripts, and experiments on
olimex lime2 and cubieboard 2.
The following sysctls are provided (compatible with estd):
machdep.frequency.min,machdep.frequency.max: writable lower and upper
bounds of the useable frequencies. Affects machdep.frequency.available.
Lower bound defaults to 700Mhz, as does linux.
Upper bound defaults to 960Mhz, which is the boot frequency
on the boards I tested. There is a 1008Mhz entry available,
but requires an out of spec CPU voltage (more than 1.4V) so it's
not available by default.
machdep.frequency.available: list of available frequencies. This is
the CPU frequency/voltage table, bound by machdep.frequency.{min,max}.
machdep.frequency.current: current CPU speed. Write a new value to change
the CPU speed, only values from machdep.frequency.available are
accepted.
 1.16 11-Aug-2015  riz Use GENERIC.common
 1.15 08-Aug-2015  tnn add commented out entries for com ports that are physically routed
 1.14 21-Apr-2015  matt No need for CPU_CORTEXA7 since it's implied by ALLWINNER_A20
 1.13 23-Nov-2014  snj branches: 1.13.2;
Fix pasto: BPI.local, not CUBIEBOARD.local
 1.12 15-Nov-2014  jmcneill enable awinir, cir
 1.11 12-Nov-2014  jmcneill add awinhdmiaudio
 1.10 10-Nov-2014  skrll enable awinhdmi, awintcon, awindebe, genfb, wsmux, wsfont and
with VCONS_DRAW_INTR
 1.9 05-Nov-2014  skrll Add awincnt at awinio (64 bit timer counter)
 1.8 05-Nov-2014  skrll Enable MULTIPROCESSOR
 1.7 24-Oct-2014  jmcneill A20 is a Cortex-A7, so set CPUFLAGS to match
 1.6 24-Oct-2014  jmcneill disable axp20x for now, it seems after a while we get "send STOP failed" from i2c bus and then things go from bad to worse
 1.5 24-Oct-2014  skrll BPI is CORTEX A7 and Allwinner A20
 1.4 19-Oct-2014  skrll More stuff works
 1.3 11-Oct-2014  uebayasi Device midi attachment where the evil usbdevices.config is included.
 1.2 08-Sep-2014  skrll branches: 1.2.2;
Add awinrtc. Hi Jared.
 1.1 07-Sep-2014  skrll Add a Banana Pi kernel config and fixup mmc0detect assignment for BPI.
 1.2.2.8 25-Nov-2014  martin Pull up following revision(s) (requested by snj in ticket #261):
sys/arch/evbarm/conf/BPI: revision 1.13
Fix pasto: BPI.local, not CUBIEBOARD.local
 1.2.2.7 16-Nov-2014  martin Pull up following revision(s) (requested by jmcneill in ticket #241):
sys/arch/evbarm/conf/BPI: revision 1.12
sys/arch/arm/allwinner/awin_ir.c: revision 1.2
sys/arch/arm/allwinner/awin_ir.c: revision 1.3
sys/arch/arm/allwinner/awin_ir.c: revision 1.4
sys/arch/evbarm/conf/CUBIEBOARD: revision 1.35
sys/arch/arm/allwinner/awin_reg.h: revision 1.50
sys/arch/arm/allwinner/awin_reg.h: revision 1.51
Fix CIR setup. Works on A31 now.
hide a debug printf
add A20 IR support
enable awinir, cir
 1.2.2.6 14-Nov-2014  martin Pull up following revision(s) (requested by jmcneill in ticket #214):
sys/arch/evbarm/conf/BPI: revision 1.11
sys/arch/arm/allwinner/awin_hdmi.c: revision 1.10
sys/arch/arm/allwinner/awin_hdmiaudio.c: revision 1.1
sys/arch/arm/allwinner/awin_hdmiaudio.c: revision 1.2
sys/arch/arm/allwinner/awin_hdmiaudio.c: revision 1.3
sys/arch/evbarm/conf/CUBIEBOARD: revision 1.34
sys/arch/arm/allwinner/awin_io.c: revision 1.28
sys/arch/arm/allwinner/awin_reg.h: revision 1.48
sys/arch/arm/allwinner/awin_debe.c: revision 1.5
sys/arch/arm/allwinner/awin_dma_a10.c: revision 1.3
sys/arch/evbarm/conf/HUMMINGBIRD_A31: revision 1.19
sys/arch/arm/allwinner/files.awin: revision 1.24
sys/arch/arm/allwinner/awin_board.c: revision 1.28
sys/arch/arm/allwinner/awin_hdmi.c: revision 1.7
sys/arch/arm/allwinner/awin_hdmi.c: revision 1.8
HDMI audio driver for Allwinner boards.
 1.2.2.5 14-Nov-2014  martin Pull up following revision(s) (requested by jmcneill in ticket #210):
sys/arch/arm/allwinner/awin_board.c: revisions 1.26-1.27
sys/arch/arm/allwinner/awin_debe.c: revisions 1.1-1.6
sys/arch/arm/allwinner/awin_fb.c: revisions 1.1-1.4
sys/arch/arm/allwinner/awin_hdmi.c: revisions 1.3-1.6,1.9-1.12
sys/arch/arm/allwinner/awin_io.c: revision 1.27
sys/arch/arm/allwinner/awin_reg.h: revisions 1.46-1.47,1.49
sys/arch/arm/allwinner/awin_tcon.c: revisions 1.1-1.5
sys/arch/arm/allwinner/awin_var.h: revisions 1.20-1.22
sys/arch/arm/allwinner/files.awin: revisions 1.22-1.23,1.25
sys/arch/evbarm/awin/awin_machdep.c: revision 1.26
sys/arch/evbarm/conf/BPI: revision 1.10
sys/arch/evbarm/conf/CUBIEBOARD: revision 1.32
sys/arch/evbarm/conf/HUMMINGBIRD_A31: revisions 1.17-1.18
sys/dev/wscons/wsconsio.h: revision 1.109

HDMI framebuffer for Allwinner boards.
 1.2.2.4 12-Nov-2014  martin Pull up following revision(s) (requested by skrll in ticket #222):
etc/etc.evbarm/Makefile.inc 1.64
sys/arch/evbarm/conf/BPI 1.2,1.4,1.6-1.7,1.9
sys/arch/evbarm/conf/BPI_INSTALL 1.1
sys/arch/evbarm/conf/CUBIEBOARD 1.18-1.30
sys/arch/evbarm/conf/CUBIETRUCK 1.4,1.6
sys/arch/evbarm/conf/mk.awin 1.4
sys/arch/evbarm/conf/std.awin 1.4 (via patch)
sys/conf/files 1.1104
sys/dev/usb/motg.c 1.9-1.12
sys/dev/usb/motgreg.h 1.2-1.4
Allow attachment glue to override the number of endpoints
-
options MOTG_ALLWINNER to select the awin specific reg layout
options MOTG_ALLWINNER
-
Instead of polluting motgreg.h with AllWinner specific registers (things
were getting out of hand), move the AllWinner reg definitions to
arch/arm/allwinner/awin_otgreg.h and include that instead of
dev/usb/motgreg.h when MOTG_ALLWINNER is defined.
let the bus driver override fifo size
-
If the bus driver supplies a fifo size and dynfifo is true, use it
-
Various kernel config fixes.
 1.2.2.3 09-Nov-2014  martin Pull up following revision(s) (requested by skrll in ticket #188):
sys/arch/arm/include/arm32/pmap.h: revision 1.136
sys/arch/arm/include/armreg.h: revision 1.100
sys/arch/arm/cortex/gic.c: revision 1.11
sys/arch/arm/arm32/db_interface.c: revision 1.54
sys/arch/arm/include/armreg.h: revision 1.101
sys/arch/arm/cortex/gic.c: revision 1.12
sys/arch/arm/arm32/arm32_machdep.c: revision 1.107
sys/arch/arm/arm/cpufunc_asm_armv7.S: revision 1.19
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.20
sys/arch/evbarm/conf/BPI: revision 1.5
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.21
sys/arch/arm/arm32/pmap.c: revision 1.306
sys/arch/arm/arm32/db_machdep.c: revision 1.22
sys/arch/arm/arm32/arm32_tlb.c: revision 1.3
sys/arch/arm/arm/undefined.c: revision 1.55
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.22
sys/arch/arm/arm32/pmap.c: revision 1.307
sys/arch/arm/arm32/arm32_tlb.c: revision 1.4
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.23
sys/arch/arm/arm32/arm32_tlb.c: revision 1.5
sys/arch/evbarm/conf/BPI: revision 1.8
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.24
sys/arch/arm/arm32/arm32_tlb.c: revision 1.6
sys/arch/arm/arm32/arm32_tlb.c: revision 1.7
sys/arch/evbarm/conf/CUBIETRUCK: revision 1.5
sys/arch/arm/pic/pic.c: revision 1.23
sys/arch/arm/pic/pic.c: revision 1.24
sys/arch/arm/pic/picvar.h: revision 1.11
sys/arch/arm/arm/cpufunc_asm_armv7.S: revision 1.20
sys/arch/arm/mainbus/cpu_mainbus.c: revision 1.16
sys/arch/arm/arm32/pmap.c: revision 1.298
sys/arch/arm/arm/cpufunc_asm_arm11.S: revision 1.17
sys/arch/arm/arm/cpufunc_asm_pj4b.S: revision 1.5
sys/arch/arm/arm32/pmap.c: revision 1.310
sys/arch/arm/arm32/pmap.c: revision 1.311
sys/arch/arm/arm32/arm32_kvminit.c: revision 1.32
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.19
sys/arch/arm/arm32/arm32_boot.c: revision 1.10
sys/arch/arm/arm/ast.c: revision 1.25
sys/arch/arm/include/armreg.h: revision 1.98
sys/uvm/pmap/pmap_tlb.c: revision 1.10
sys/arch/arm/arm32/arm32_boot.c: revision 1.8
sys/arch/arm/arm32/arm32_boot.c: revision 1.9
sys/arch/arm/arm/arm_machdep.c: revision 1.43
Various ARM MP fixes.
 1.2.2.2 10-Sep-2014  martin Pull up following revision(s) (requested by skrll in ticket #82):
sys/arch/evbarm/awin/awin_start.S: revision 1.1
sys/arch/evbarm/conf/mk.cubie: file removal
sys/arch/evbarm/conf/std.awin: revision 1.1
sys/arch/evbarm/cubie/genassym.cf: file removal
sys/arch/evbarm/conf/CUBIEBOARD: revision 1.17
sys/arch/evbarm/conf/BPI: revision 1.1
sys/arch/evbarm/awin/genassym.cf: revision 1.1
sys/arch/evbarm/awin/platform.h: revision 1.1
sys/arch/evbarm/conf/files.awin: revision 1.1
sys/arch/evbarm/conf/mk.cubie: revision 1.4
sys/arch/evbarm/conf/CUBIETRUCK: revision 1.3
sys/arch/evbarm/cubie/cubie_machdep.c: revision 1.21
sys/arch/evbarm/awin/awin_machdep.c: revision 1.1
sys/arch/evbarm/awin/awin_machdep.c: revision 1.3
sys/arch/evbarm/awin/awin_machdep.c: revision 1.4
sys/arch/evbarm/conf/std.cubie: file removal
sys/arch/evbarm/conf/mk.awin: revision 1.1
sys/arch/evbarm/conf/mk.awin: revision 1.2
sys/arch/evbarm/cubie/cubie_machdep.c: file removal
sys/arch/evbarm/cubie/cubie_start.S: file removal
sys/arch/evbarm/cubie/platform.h: file removal
sys/arch/evbarm/conf/files.cubie: file removal

Move away from "cubie" to generic "awin" and introduce a BOARDTYPE
variable. This allows other boards to use the cubie code.

Add a Banana Pi kernel config and fixup mmc0detect assignment for BPI.
 1.2.2.1 08-Sep-2014  martin file BPI was added on branch netbsd-7 on 2014-09-10 09:37:51 +0000
 1.13.2.5 28-Aug-2017  skrll Sync with HEAD
 1.13.2.4 05-Feb-2017  skrll Sync with HEAD
 1.13.2.3 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.13.2.2 22-Sep-2015  skrll Sync with HEAD
 1.13.2.1 06-Jun-2015  skrll Sync with HEAD
 1.17.2.2 26-Apr-2017  pgoyette Sync with HEAD
 1.17.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.20.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.21.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.21.12.2 03-Dec-2017  jdolecek update from HEAD
 1.21.12.1 20-Mar-2017  jdolecek file BPI was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.2 17-Mar-2019  jmcneill Remove unused install kernels.
 1.1 07-Sep-2014  skrll branches: 1.1.2; 1.1.20; 1.1.24;
Add BPI to the list of kernels to build.
 1.1.24.1 10-Jun-2019  christos Sync with HEAD
 1.1.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.20.1 07-Sep-2014  jdolecek file BPI_INSTALL was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.2.2 12-Nov-2014  martin Pull up following revision(s) (requested by skrll in ticket #222):
etc/etc.evbarm/Makefile.inc 1.64
sys/arch/evbarm/conf/BPI 1.2,1.4,1.6-1.7,1.9
sys/arch/evbarm/conf/BPI_INSTALL 1.1
sys/arch/evbarm/conf/CUBIEBOARD 1.18-1.30
sys/arch/evbarm/conf/CUBIETRUCK 1.4,1.6
sys/arch/evbarm/conf/mk.awin 1.4
sys/arch/evbarm/conf/std.awin 1.4 (via patch)
sys/conf/files 1.1104
sys/dev/usb/motg.c 1.9-1.12
sys/dev/usb/motgreg.h 1.2-1.4
Allow attachment glue to override the number of endpoints
-
options MOTG_ALLWINNER to select the awin specific reg layout
options MOTG_ALLWINNER
-
Instead of polluting motgreg.h with AllWinner specific registers (things
were getting out of hand), move the AllWinner reg definitions to
arch/arm/allwinner/awin_otgreg.h and include that instead of
dev/usb/motgreg.h when MOTG_ALLWINNER is defined.
let the bus driver override fifo size
-
If the bus driver supplies a fifo size and dynfifo is true, use it
-
Various kernel config fixes.
 1.1.2.1 07-Sep-2014  martin file BPI_INSTALL was added on branch netbsd-7 on 2014-11-12 19:54:46 +0000
 1.52 07-Aug-2022  simonb branches: 1.52.4;
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.51 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.50 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.49 21-Aug-2019  msaitoh branches: 1.49.6;
Fix typo (s/contoller/controller/).
 1.48 01-Aug-2018  maxv branches: 1.48.4;
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.47 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.46 14-Sep-2017  mrg branches: 1.46.2; 1.46.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.45 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.44 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.43 07-Aug-2015  maxv branches: 1.43.2; 1.43.4;
Remove KMEMSTATS.
 1.42 23-Aug-2014  dholland branches: 1.42.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.41 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.40 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.39 03-Aug-2014  martin Add COMPAT_NETBSD32, following the switch to eabi by default.
 1.38 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.37 25-Jul-2014  joerg Bump SYMTAB_SPACE for clang build.
 1.36 30-Jun-2013  rmind branches: 1.36.4;
G/C PFIL_HOOKS from the kernel configs.
 1.35 05-Jun-2013  christos branches: 1.35.2;
remove obsolete networking options
 1.34 27-Apr-2013  christos the bogus number police
 1.33 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.32 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.31 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.30 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.29 11-Sep-2012  msaitoh branches: 1.29.2;
Add PUFFS, putter and fss.
 1.28 01-Sep-2012  matt Bump up SYMTAB_SPACE
 1.27 29-Aug-2012  skrll Typo in comment
 1.26 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.25 10-Mar-2012  joerg P1003_1B_SEMAPHORE is no longer optional.
 1.24 18-Dec-2011  dholland 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 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.20 06-Mar-2011  jakllsch Bump SYMTAB_SPACE for the many other evbarm kernels that also need it increased.
 1.19 23-Nov-2010  hannken branches: 1.19.2; 1.19.4;
Remove unused count from pseudo-device md.
 1.18 28-Oct-2010  briggs Bump SYMTAB_SPACE for a few configurations.
 1.17 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.16 08-Feb-2010  joerg branches: 1.16.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.15 05-Dec-2009  pooka branches: 1.15.2;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.14 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.13 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.12 14-Dec-2008  he branches: 1.12.2;
Bump SYMTAB_SPACE so that it fits again.
 1.11 24-Nov-2008  ad Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.9 31-Jul-2008  simonb branches: 1.9.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.8 27-Jun-2008  he branches: 1.8.2;
Bump SYMTAB_SPACE so that it fits again.
 1.7 30-May-2008  tsutsui branches: 1.7.2;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.6 19-Jan-2008  chris branches: 1.6.6; 1.6.8; 1.6.10; 1.6.12;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.5 06-Jan-2008  matt Increase SYMTAB_SPACE because of more kernel bloat.
 1.4 17-Oct-2007  garbled branches: 1.4.2; 1.4.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.3 13-May-2007  he branches: 1.3.6; 1.3.10;
Bump SYMTAB_SPACE so that it fits again.
 1.2 11-Nov-2006  he branches: 1.2.2; 1.2.6; 1.2.8; 1.2.10; 1.2.14; 1.2.16; 1.2.22;
Add a netbsd-sd0 kernel, so that the corresponding gzimg can be built.
 1.1 08-Nov-2006  scw Add support for the Certance CP-3100.

"The Certance CP3100 product family provides high-end disk-to-disk-to-tape
(D2D2T) functionality for small-to-medium businesses."

To software, the unit is very similar to the IQ80321 and IQ31244 eval
boards from Intel. As such, we share almost all of their code.

Onboard hardware:
- IOP321 XScale CPU. Core clock is 600MHz.
- 256MB SDRAM (not sure if that's true for all)
- Four-port Intel i31244 SATA controller. One port is connected to the
internal disk. The remaining three are available on the back-panel.
- Dual GigE ports on the back panel, using an Intel i82546EB controller.
- Two Symbios Logic 53c1010 SCSI controllers, one in host mode the other
in target mode. Both SCSI busses are available on the back panel.
Note that NetBSD does not support SCSI target mode.
- 8MB of NOR Flash, containing a fairly vanilla Redboot together with
a minimal compressed Linux image.
- Some front-panel LEDS (not supported).
- Serial console.

Contributed by Wasabi Systems, Inc.
 1.2.22.1 22-May-2007  matt Update to HEAD.
 1.2.16.1 11-Jul-2007  mjf Sync with head.
 1.2.14.1 27-May-2007  ad Sync with head.
 1.2.10.1 17-May-2007  yamt sync with head.
 1.2.8.4 21-Jan-2008  yamt sync with head
 1.2.8.3 03-Sep-2007  yamt sync with head.
 1.2.8.2 30-Dec-2006  yamt sync with head.
 1.2.8.1 11-Nov-2006  yamt file CP3100 was added on branch yamt-lazymbuf on 2006-12-30 20:45:48 +0000
 1.2.6.2 10-Dec-2006  yamt sync with head.
 1.2.6.1 11-Nov-2006  yamt file CP3100 was added on branch yamt-splraiseipl on 2006-12-10 07:15:52 +0000
 1.2.2.2 18-Nov-2006  ad Sync with head.
 1.2.2.1 11-Nov-2006  ad file CP3100 was added on branch newlock2 on 2006-11-18 21:29:10 +0000
 1.3.10.3 23-Mar-2008  matt sync with HEAD
 1.3.10.2 09-Jan-2008  matt sync with HEAD
 1.3.10.1 06-Nov-2007  matt sync with HEAD
 1.3.6.1 28-Feb-2008  rjs Sync with HEAD.
 1.4.8.2 20-Jan-2008  bouyer Sync with HEAD
 1.4.8.1 08-Jan-2008  bouyer Sync with HEAD
 1.4.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.6.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.6.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.6.10.3 11-Aug-2010  yamt sync with head.
 1.6.10.2 11-Mar-2010  yamt sync with head
 1.6.10.1 04-May-2009  yamt sync with head.
 1.6.8.1 04-Jun-2008  yamt sync with head
 1.6.6.4 17-Jan-2009  mjf Sync with HEAD.
 1.6.6.3 28-Sep-2008  mjf Sync with HEAD.
 1.6.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.6.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.2.1 03-Jul-2008  simonb Sync with head.
 1.8.2.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.8.2.1 19-Oct-2008  haad Sync with HEAD.
 1.9.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.9.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.12.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.15.2.2 06-Nov-2010  uebayasi Sync with HEAD.
 1.15.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.16.2.3 21-Apr-2011  rmind sync with head
 1.16.2.2 05-Mar-2011  rmind sync with head
 1.16.2.1 30-May-2010  rmind sync with head
 1.19.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.19.2.1 06-Jun-2011  jruoho Sync with HEAD.
 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.3 29-Apr-2012  mrg sync to latest -current.
 1.23.2.2 11-Mar-2012  mrg sync to latest -current
 1.23.2.1 18-Feb-2012  mrg merge to -current.
 1.29.2.4 03-Dec-2017  jdolecek update from HEAD
 1.29.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.29.2.2 23-Jun-2013  tls resync from head
 1.29.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.35.2.1 28-Aug-2013  rmind sync with head
 1.36.4.1 10-Aug-2014  tls Rebase.
 1.42.2.2 28-Aug-2017  skrll Sync with HEAD
 1.42.2.1 22-Sep-2015  skrll Sync with HEAD
 1.43.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.43.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.46.4.3 21-Apr-2020  martin Sync with HEAD
 1.46.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.46.4.1 10-Jun-2019  christos Sync with HEAD
 1.46.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.46.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.48.4.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.49.6.1 20-Apr-2020  bouyer Sync with HEAD
 1.52.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.2 02-May-2014  dogcow as suggested by gimpy et al, "no config" the netbsd-device kernels.
Reduces `build.sh release` by about a gig.
 1.1 09-Nov-2006  scw branches: 1.1.2; 1.1.6; 1.1.8; 1.1.96; 1.1.106; 1.1.112; 1.1.122;
Add an install kernel for CP3100.
 1.1.122.1 10-Aug-2014  tls Rebase.
 1.1.112.1 18-May-2014  rmind sync with head
 1.1.106.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.96.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.8.2 30-Dec-2006  yamt sync with head.
 1.1.8.1 09-Nov-2006  yamt file CP3100_INSTALL was added on branch yamt-lazymbuf on 2006-12-30 20:45:48 +0000
 1.1.6.2 10-Dec-2006  yamt sync with head.
 1.1.6.1 09-Nov-2006  yamt file CP3100_INSTALL was added on branch yamt-splraiseipl on 2006-12-10 07:15:52 +0000
 1.1.2.2 18-Nov-2006  ad Sync with head.
 1.1.2.1 09-Nov-2006  ad file CP3100_INSTALL was added on branch newlock2 on 2006-11-18 21:29:10 +0000
 1.50 08-Apr-2018  jmcneill Remove old Allwinner port.
 1.49 13-Dec-2016  christos branches: 1.49.2; 1.49.14;
wildcard speaker attachments, now that we can handle many of them.
 1.48 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.47 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.46 25-Apr-2016  bouyer branches: 1.46.2;
Add a driver for the lradc device found in allwinner SoCs.
The events are reported as hotkeys press/release to sysmon_power(9).
The levels and associated event names are configured in the fex script
(the channels remain disabled if no appropriate fex script is provided).
 1.45 19-Dec-2015  skrll Tweak CPUFLAGS to cover all CPUs
 1.44 16-Nov-2015  bouyer Remove USB HID entries, they're already in usbdevices.config
 1.43 15-Nov-2015  bouyer Add genfb1, awindebe1, and awintcon1. These will attach if the fex
script request them.
While there add USB HID, keyboard, mouse and touchscreen.
If you have a display you'll most proabbly want input devices too.
 1.42 17-Oct-2015  bouyer Implement CPU frequency switching for A20.
This requires adjusting the CPU voltage, so enable the axp20x driver for
A20 boards.
In evbarm/awin/awin_machdep.c, the DCDC powering up the CPU cores needs to
be defined for each board. The board machine-dependant code (at this time,
only awin_machdep.c) has to provide a awin_set_mpu_volt() function
which calls the right PMU driver to change the CPU core voltage.

The CPU frequency/voltage table in awin_board.c comes from various
sources: linux kernel, device tree and fex scripts, and experiments on
olimex lime2 and cubieboard 2.
The following sysctls are provided (compatible with estd):
machdep.frequency.min,machdep.frequency.max: writable lower and upper
bounds of the useable frequencies. Affects machdep.frequency.available.
Lower bound defaults to 700Mhz, as does linux.
Upper bound defaults to 960Mhz, which is the boot frequency
on the boards I tested. There is a 1008Mhz entry available,
but requires an out of spec CPU voltage (more than 1.4V) so it's
not available by default.
machdep.frequency.available: list of available frequencies. This is
the CPU frequency/voltage table, bound by machdep.frequency.{min,max}.
machdep.frequency.current: current CPU speed. Write a new value to change
the CPU speed, only values from machdep.frequency.available are
accepted.
 1.41 29-Apr-2015  martin Add options COPY_SYMTAB to make module loading (and /dev/ksyms) work again.
 1.40 20-Apr-2015  matt Comment out __HAVE_PREEMPTION
 1.39 19-Apr-2015  matt Remove options CPU_CORTEX* since options ALLWINNER_* will now define them.
Use GENERIC.common for CUBIEBOARD (and BPI and CUBIETRUCK)
 1.38 13-Feb-2015  joerg Both ext2 and iso9660 are useful when dealing with external devices, so
include them.
 1.37 16-Nov-2014  martin branches: 1.37.2;
Enable puffs
 1.36 16-Nov-2014  martin Enable vnd and putter pseudo devices.
 1.35 15-Nov-2014  jmcneill enable awinir, cir
 1.34 12-Nov-2014  jmcneill add awinhdmiaudio
 1.33 11-Nov-2014  skrll One awincnt0 is enough
 1.32 10-Nov-2014  jmcneill enable awinhdmi, awintcon, awindebe, genfb, wsmux, wsfont
 1.31 05-Nov-2014  martin Add awincnt at awinio (64 bit timer counter)
 1.30 05-Nov-2014  jmcneill add MULTIPROCESSOR, awincnt
 1.29 24-Oct-2014  jmcneill disable axp20x for now, it seems after a while we get "send STOP failed" from i2c bus and then things go from bad to worse
 1.28 15-Oct-2014  jmcneill motg works now
 1.27 11-Oct-2014  uebayasi Device midi attachment where the evil usbdevices.config is included.
 1.26 13-Sep-2014  jmcneill add motg (commented out)
 1.25 09-Sep-2014  jmcneill add axp20x
 1.24 09-Sep-2014  jmcneill add BUFQ_PRIOCSCAN
 1.23 08-Sep-2014  rjs Add rgephy.
 1.22 07-Sep-2014  jmcneill add awinrtc
 1.21 06-Sep-2014  jmcneill remove duplicate awindma entry
 1.20 06-Sep-2014  jmcneill enable audio driver now that it works
 1.19 06-Sep-2014  jmcneill add awindma
 1.18 04-Sep-2014  jmcneill add (commented out) awinac driver
 1.17 31-Aug-2014  matt Move away from cubie to awin since "cubie" will actually work on non-cubie
boards. Let the config file specify what board is being built for.
 1.16 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.15 18-Aug-2014  christos branches: 1.15.2;
- Enable Wedge support for MBR/BSDLABEL where it was commented out.
- Add apple partition support where it was missing
- Add comments where missing
 1.14 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.13 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.12 03-Aug-2014  martin branches: 1.12.2;
Add COMPAT_NETBSD32, following the switch to eabi by default.
 1.11 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.10 26-Feb-2014  matt branches: 1.10.2; 1.10.4; 1.10.6; 1.10.8;
Add awge
bump symtab space.
 1.9 25-Feb-2014  jmcneill enable MMC driver
 1.8 08-Sep-2013  matt Rename awinfe to awe and awinge to awge.
Allow properties in awinio0 to disable devices.
Use such a property to disable probing of gige.
 1.7 08-Sep-2013  matt Add rlphy
 1.6 07-Sep-2013  matt Reenable OHCI
 1.5 07-Sep-2013  matt Only configure awiniic0 for now
 1.4 07-Sep-2013  matt Comment out ohci
 1.3 07-Sep-2013  matt Add AWIN_CONSOLE_EARLY and comment out sdhc
 1.2 04-Sep-2013  matt Very very very prelimnary support for cubieboard 1 & 2 based on the
Allwinner A10 & A20 SoCs. It links and that's about all it does.
Many drivers are stubs with autoconf glue.
com, ahcisata, sdhc, usb might have a chance of working.
 1.1 03-Sep-2013  matt Prelimary config goo for CubieBoard 1 & 2
(config is happy with it)
 1.10.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.10.8.1 26-Feb-2014  yamt file CUBIEBOARD was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.10.6.2 18-May-2014  rmind sync with head
 1.10.6.1 26-Feb-2014  rmind file CUBIEBOARD was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.10.4.1 10-Aug-2014  tls Rebase.
 1.10.2.2 24-Mar-2014  matt Add cubie from HEAD
 1.10.2.1 26-Feb-2014  matt file CUBIEBOARD was added on branch matt-nb5-mips64 on 2014-03-24 18:46:38 +0000
 1.12.2.6 26-Feb-2016  snj Pull up following revision(s) (requested by skrll in ticket #1107):
external/broadcom/rpi-firmware/dist/LICENCE.broadcom: revision 1.2
external/broadcom/rpi-firmware/dist/bootcode.bin: revision 1.8
external/broadcom/rpi-firmware/dist/fixup.dat: revision 1.8
external/broadcom/rpi-firmware/dist/fixup_cd.dat: revision 1.8
external/broadcom/rpi-firmware/dist/start.elf: revision 1.8
external/broadcom/rpi-firmware/dist/start_cd.elf: revision 1.8
sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.29
sys/arch/arm/broadcom/bcm2835_gpio.c: revision 1.3
sys/arch/arm/broadcom/bcm2835_gpio_subr.c: revision 1.4
sys/arch/arm/broadcom/bcm2835_space.c: revision 1.9, 1.10
sys/arch/arm/broadcom/bcm2835reg.h: patch
sys/arch/arm/cortex/a9_mpsubr.S: revisions 1.45, 1.46
sys/arch/evbarm/conf/CUBIEBOARD: revision 1.45
sys/arch/evbarm/conf/std.awin: revision 1.9
sys/arch/evbarm/rpi/rpi2_start.S: revision 1.3
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.68
Check for hypervisor mode in cortex_init and exit if the cpu started
there.
Needed by latest RPI firmware.
--
Fix up bus_space_map for latest RPI firmware which now passes the FB
address in the mailbox properties as a bus address.
--
Update RPI firmware to version after the following commit
commit 224c75602b8bae1a9e942b4f1c7ed3aa8e0f0ec8
Author: popcornmix<popcornmix@gmail.com>
Date: Tue Dec 8 14:48:57 2015 +0000
--
Deal with kernel builds where virtualisation isn't available
--
Tweak CPUFLAGS to cover all CPUs
--
Fix up bcm283[56] bus_space(4) to really use bus addresses for
peripherals, etc
Simplifies the code in various places and uses the abstraction in
more places. (bcm2835_gpio_subr.c still doesn't)
 1.12.2.5 16-Nov-2014  martin Pull up following revision(s) (requested by jmcneill in ticket #241):
sys/arch/evbarm/conf/BPI: revision 1.12
sys/arch/arm/allwinner/awin_ir.c: revision 1.2
sys/arch/arm/allwinner/awin_ir.c: revision 1.3
sys/arch/arm/allwinner/awin_ir.c: revision 1.4
sys/arch/evbarm/conf/CUBIEBOARD: revision 1.35
sys/arch/arm/allwinner/awin_reg.h: revision 1.50
sys/arch/arm/allwinner/awin_reg.h: revision 1.51
Fix CIR setup. Works on A31 now.
hide a debug printf
add A20 IR support
enable awinir, cir
 1.12.2.4 14-Nov-2014  martin Pull up following revision(s) (requested by jmcneill in ticket #214):
sys/arch/evbarm/conf/BPI: revision 1.11
sys/arch/arm/allwinner/awin_hdmi.c: revision 1.10
sys/arch/arm/allwinner/awin_hdmiaudio.c: revision 1.1
sys/arch/arm/allwinner/awin_hdmiaudio.c: revision 1.2
sys/arch/arm/allwinner/awin_hdmiaudio.c: revision 1.3
sys/arch/evbarm/conf/CUBIEBOARD: revision 1.34
sys/arch/arm/allwinner/awin_io.c: revision 1.28
sys/arch/arm/allwinner/awin_reg.h: revision 1.48
sys/arch/arm/allwinner/awin_debe.c: revision 1.5
sys/arch/arm/allwinner/awin_dma_a10.c: revision 1.3
sys/arch/evbarm/conf/HUMMINGBIRD_A31: revision 1.19
sys/arch/arm/allwinner/files.awin: revision 1.24
sys/arch/arm/allwinner/awin_board.c: revision 1.28
sys/arch/arm/allwinner/awin_hdmi.c: revision 1.7
sys/arch/arm/allwinner/awin_hdmi.c: revision 1.8
HDMI audio driver for Allwinner boards.
 1.12.2.3 14-Nov-2014  martin Pull up following revision(s) (requested by jmcneill in ticket #210):
sys/arch/arm/allwinner/awin_board.c: revisions 1.26-1.27
sys/arch/arm/allwinner/awin_debe.c: revisions 1.1-1.6
sys/arch/arm/allwinner/awin_fb.c: revisions 1.1-1.4
sys/arch/arm/allwinner/awin_hdmi.c: revisions 1.3-1.6,1.9-1.12
sys/arch/arm/allwinner/awin_io.c: revision 1.27
sys/arch/arm/allwinner/awin_reg.h: revisions 1.46-1.47,1.49
sys/arch/arm/allwinner/awin_tcon.c: revisions 1.1-1.5
sys/arch/arm/allwinner/awin_var.h: revisions 1.20-1.22
sys/arch/arm/allwinner/files.awin: revisions 1.22-1.23,1.25
sys/arch/evbarm/awin/awin_machdep.c: revision 1.26
sys/arch/evbarm/conf/BPI: revision 1.10
sys/arch/evbarm/conf/CUBIEBOARD: revision 1.32
sys/arch/evbarm/conf/HUMMINGBIRD_A31: revisions 1.17-1.18
sys/dev/wscons/wsconsio.h: revision 1.109

HDMI framebuffer for Allwinner boards.
 1.12.2.2 12-Nov-2014  martin Pull up following revision(s) (requested by skrll in ticket #222):
etc/etc.evbarm/Makefile.inc 1.64
sys/arch/evbarm/conf/BPI 1.2,1.4,1.6-1.7,1.9
sys/arch/evbarm/conf/BPI_INSTALL 1.1
sys/arch/evbarm/conf/CUBIEBOARD 1.18-1.30
sys/arch/evbarm/conf/CUBIETRUCK 1.4,1.6
sys/arch/evbarm/conf/mk.awin 1.4
sys/arch/evbarm/conf/std.awin 1.4 (via patch)
sys/conf/files 1.1104
sys/dev/usb/motg.c 1.9-1.12
sys/dev/usb/motgreg.h 1.2-1.4
Allow attachment glue to override the number of endpoints
-
options MOTG_ALLWINNER to select the awin specific reg layout
options MOTG_ALLWINNER
-
Instead of polluting motgreg.h with AllWinner specific registers (things
were getting out of hand), move the AllWinner reg definitions to
arch/arm/allwinner/awin_otgreg.h and include that instead of
dev/usb/motgreg.h when MOTG_ALLWINNER is defined.
let the bus driver override fifo size
-
If the bus driver supplies a fifo size and dynfifo is true, use it
-
Various kernel config fixes.
 1.12.2.1 10-Sep-2014  martin Pull up following revision(s) (requested by skrll in ticket #82):
sys/arch/evbarm/awin/awin_start.S: revision 1.1
sys/arch/evbarm/conf/mk.cubie: file removal
sys/arch/evbarm/conf/std.awin: revision 1.1
sys/arch/evbarm/cubie/genassym.cf: file removal
sys/arch/evbarm/conf/CUBIEBOARD: revision 1.17
sys/arch/evbarm/conf/BPI: revision 1.1
sys/arch/evbarm/awin/genassym.cf: revision 1.1
sys/arch/evbarm/awin/platform.h: revision 1.1
sys/arch/evbarm/conf/files.awin: revision 1.1
sys/arch/evbarm/conf/mk.cubie: revision 1.4
sys/arch/evbarm/conf/CUBIETRUCK: revision 1.3
sys/arch/evbarm/cubie/cubie_machdep.c: revision 1.21
sys/arch/evbarm/awin/awin_machdep.c: revision 1.1
sys/arch/evbarm/awin/awin_machdep.c: revision 1.3
sys/arch/evbarm/awin/awin_machdep.c: revision 1.4
sys/arch/evbarm/conf/std.cubie: file removal
sys/arch/evbarm/conf/mk.awin: revision 1.1
sys/arch/evbarm/conf/mk.awin: revision 1.2
sys/arch/evbarm/cubie/cubie_machdep.c: file removal
sys/arch/evbarm/cubie/cubie_start.S: file removal
sys/arch/evbarm/cubie/platform.h: file removal
sys/arch/evbarm/conf/files.cubie: file removal

Move away from "cubie" to generic "awin" and introduce a BOARDTYPE
variable. This allows other boards to use the cubie code.

Add a Banana Pi kernel config and fixup mmc0detect assignment for BPI.
 1.15.2.3 03-Dec-2017  jdolecek update from HEAD
 1.15.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.15.2.1 18-Aug-2014  tls file CUBIEBOARD was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.37.2.5 05-Feb-2017  skrll Sync with HEAD
 1.37.2.4 29-May-2016  skrll Sync with HEAD
 1.37.2.3 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.37.2.2 06-Jun-2015  skrll Sync with HEAD
 1.37.2.1 06-Apr-2015  skrll Sync with HEAD
 1.46.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.49.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.49.2.1 18-Apr-2017  bouyer Include options CAN and canloop pseudo-device by default.
Add awincan0 device to CUBIEBOARD
 1.4 12-Aug-2018  skrll G/C
 1.3 19-Apr-2015  matt branches: 1.3.16; 1.3.18;
Remove options CPU_CORTEX* since options ALLWINNER_* will now define them.
Use GENERIC.common for CUBIEBOARD (and BPI and CUBIETRUCK)
 1.2 01-May-2014  martin branches: 1.2.2; 1.2.4; 1.2.8; 1.2.10;
Do not create debug info for *_INSTALL kernels.
 1.1 07-Sep-2013  matt branches: 1.1.2; 1.1.4;
Add an INSTALL kernel for CUBIEBOARD
 1.1.4.1 10-Aug-2014  tls Rebase.
 1.1.2.2 24-Mar-2014  matt Add cubie from HEAD
 1.1.2.1 07-Sep-2013  matt file CUBIEBOARD_INSTALL was added on branch matt-nb5-mips64 on 2014-03-24 18:46:38 +0000
 1.2.10.1 06-Jun-2015  skrll Sync with HEAD
 1.2.8.3 03-Dec-2017  jdolecek update from HEAD
 1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.8.1 01-May-2014  tls file CUBIEBOARD_INSTALL was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.2.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.4.1 01-May-2014  yamt file CUBIEBOARD_INSTALL was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.2.2.2 18-May-2014  rmind sync with head
 1.2.2.1 01-May-2014  rmind file CUBIEBOARD_INSTALL was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.3.18.1 10-Jun-2019  christos Sync with HEAD
 1.3.16.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.12 08-Apr-2018  jmcneill Remove old Allwinner port.
 1.11 28-May-2017  martin branches: 1.11.8;
Revert previous, the needed signals are not easily accessible on
CUBIETRUCK
 1.10 28-May-2017  martin Add (commented out) can bus options, CUBIETRUCK is also A20 based.
 1.9 27-Dec-2015  macallan add awiniic* and tve
 1.8 01-Jun-2015  matt cinclude CUBIEBOARD.local
 1.7 19-Apr-2015  matt Remove options CPU_CORTEX* since options ALLWINNER_* will now define them.
Use GENERIC.common for CUBIEBOARD (and BPI and CUBIETRUCK)
 1.6 05-Nov-2014  martin branches: 1.6.2;
Remove MULTIPROCESSOR, it is now in CUBIEBOARD
 1.5 05-Nov-2014  martin Enable MULTIPROCESSOR
 1.4 24-Oct-2014  jmcneill A20 is a Cortex-A7, so set CPUFLAGS to match; disbale ALLWINNER_A10 and CPU_CORTEXA8 options
 1.3 31-Aug-2014  matt Move away from cubie to awin since "cubie" will actually work on non-cubie
boards. Let the config file specify what board is being built for.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
Add COMPAT_NETBSD32, following the switch to eabi by default.
 1.1 11-Apr-2014  matt branches: 1.1.2; 1.1.4;
Add a kernel for the CUBIETRUCK (CUBIEBOARD3). Allow direct mapping of all
memory (but for now allow the memory mapped above KERNEL_BASE to used for
poolpages).
 1.1.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 11-Apr-2014  yamt file CUBIETRUCK was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.1.2.2 18-May-2014  rmind sync with head
 1.1.2.1 11-Apr-2014  rmind file CUBIETRUCK was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.2.6.3 03-Dec-2017  jdolecek update from HEAD
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file CUBIETRUCK was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.2.4.3 12-Nov-2014  martin Pull up following revision(s) (requested by skrll in ticket #222):
etc/etc.evbarm/Makefile.inc 1.64
sys/arch/evbarm/conf/BPI 1.2,1.4,1.6-1.7,1.9
sys/arch/evbarm/conf/BPI_INSTALL 1.1
sys/arch/evbarm/conf/CUBIEBOARD 1.18-1.30
sys/arch/evbarm/conf/CUBIETRUCK 1.4,1.6
sys/arch/evbarm/conf/mk.awin 1.4
sys/arch/evbarm/conf/std.awin 1.4 (via patch)
sys/conf/files 1.1104
sys/dev/usb/motg.c 1.9-1.12
sys/dev/usb/motgreg.h 1.2-1.4
Allow attachment glue to override the number of endpoints
-
options MOTG_ALLWINNER to select the awin specific reg layout
options MOTG_ALLWINNER
-
Instead of polluting motgreg.h with AllWinner specific registers (things
were getting out of hand), move the AllWinner reg definitions to
arch/arm/allwinner/awin_otgreg.h and include that instead of
dev/usb/motgreg.h when MOTG_ALLWINNER is defined.
let the bus driver override fifo size
-
If the bus driver supplies a fifo size and dynfifo is true, use it
-
Various kernel config fixes.
 1.2.4.2 09-Nov-2014  martin Pull up following revision(s) (requested by skrll in ticket #188):
sys/arch/arm/include/arm32/pmap.h: revision 1.136
sys/arch/arm/include/armreg.h: revision 1.100
sys/arch/arm/cortex/gic.c: revision 1.11
sys/arch/arm/arm32/db_interface.c: revision 1.54
sys/arch/arm/include/armreg.h: revision 1.101
sys/arch/arm/cortex/gic.c: revision 1.12
sys/arch/arm/arm32/arm32_machdep.c: revision 1.107
sys/arch/arm/arm/cpufunc_asm_armv7.S: revision 1.19
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.20
sys/arch/evbarm/conf/BPI: revision 1.5
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.21
sys/arch/arm/arm32/pmap.c: revision 1.306
sys/arch/arm/arm32/db_machdep.c: revision 1.22
sys/arch/arm/arm32/arm32_tlb.c: revision 1.3
sys/arch/arm/arm/undefined.c: revision 1.55
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.22
sys/arch/arm/arm32/pmap.c: revision 1.307
sys/arch/arm/arm32/arm32_tlb.c: revision 1.4
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.23
sys/arch/arm/arm32/arm32_tlb.c: revision 1.5
sys/arch/evbarm/conf/BPI: revision 1.8
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.24
sys/arch/arm/arm32/arm32_tlb.c: revision 1.6
sys/arch/arm/arm32/arm32_tlb.c: revision 1.7
sys/arch/evbarm/conf/CUBIETRUCK: revision 1.5
sys/arch/arm/pic/pic.c: revision 1.23
sys/arch/arm/pic/pic.c: revision 1.24
sys/arch/arm/pic/picvar.h: revision 1.11
sys/arch/arm/arm/cpufunc_asm_armv7.S: revision 1.20
sys/arch/arm/mainbus/cpu_mainbus.c: revision 1.16
sys/arch/arm/arm32/pmap.c: revision 1.298
sys/arch/arm/arm/cpufunc_asm_arm11.S: revision 1.17
sys/arch/arm/arm/cpufunc_asm_pj4b.S: revision 1.5
sys/arch/arm/arm32/pmap.c: revision 1.310
sys/arch/arm/arm32/pmap.c: revision 1.311
sys/arch/arm/arm32/arm32_kvminit.c: revision 1.32
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.19
sys/arch/arm/arm32/arm32_boot.c: revision 1.10
sys/arch/arm/arm/ast.c: revision 1.25
sys/arch/arm/include/armreg.h: revision 1.98
sys/uvm/pmap/pmap_tlb.c: revision 1.10
sys/arch/arm/arm32/arm32_boot.c: revision 1.8
sys/arch/arm/arm32/arm32_boot.c: revision 1.9
sys/arch/arm/arm/arm_machdep.c: revision 1.43
Various ARM MP fixes.
 1.2.4.1 10-Sep-2014  martin Pull up following revision(s) (requested by skrll in ticket #82):
sys/arch/evbarm/awin/awin_start.S: revision 1.1
sys/arch/evbarm/conf/mk.cubie: file removal
sys/arch/evbarm/conf/std.awin: revision 1.1
sys/arch/evbarm/cubie/genassym.cf: file removal
sys/arch/evbarm/conf/CUBIEBOARD: revision 1.17
sys/arch/evbarm/conf/BPI: revision 1.1
sys/arch/evbarm/awin/genassym.cf: revision 1.1
sys/arch/evbarm/awin/platform.h: revision 1.1
sys/arch/evbarm/conf/files.awin: revision 1.1
sys/arch/evbarm/conf/mk.cubie: revision 1.4
sys/arch/evbarm/conf/CUBIETRUCK: revision 1.3
sys/arch/evbarm/cubie/cubie_machdep.c: revision 1.21
sys/arch/evbarm/awin/awin_machdep.c: revision 1.1
sys/arch/evbarm/awin/awin_machdep.c: revision 1.3
sys/arch/evbarm/awin/awin_machdep.c: revision 1.4
sys/arch/evbarm/conf/std.cubie: file removal
sys/arch/evbarm/conf/mk.awin: revision 1.1
sys/arch/evbarm/conf/mk.awin: revision 1.2
sys/arch/evbarm/cubie/cubie_machdep.c: file removal
sys/arch/evbarm/cubie/cubie_start.S: file removal
sys/arch/evbarm/cubie/platform.h: file removal
sys/arch/evbarm/conf/files.cubie: file removal

Move away from "cubie" to generic "awin" and introduce a BOARDTYPE
variable. This allows other boards to use the cubie code.

Add a Banana Pi kernel config and fixup mmc0detect assignment for BPI.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file CUBIETRUCK was added on branch tls-earlyentropy on 2014-08-10 06:53:54 +0000
 1.6.2.2 19-Mar-2016  skrll Sync with HEAD
 1.6.2.1 06-Jun-2015  skrll Sync with HEAD
 1.11.8.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.2 17-Mar-2019  jmcneill Remove unused install kernels.
 1.1 11-Apr-2014  matt branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10; 1.1.36;
Add a kernel for the CUBIETRUCK (CUBIEBOARD3). Allow direct mapping of all
memory (but for now allow the memory mapped above KERNEL_BASE to used for
poolpages).
 1.1.36.1 10-Jun-2019  christos Sync with HEAD
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 11-Apr-2014  tls file CUBIETRUCK_INSTALL was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.1.6.2 10-Aug-2014  tls Rebase.
 1.1.6.1 11-Apr-2014  tls file CUBIETRUCK_INSTALL was added on branch tls-earlyentropy on 2014-08-10 06:53:54 +0000
 1.1.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 11-Apr-2014  yamt file CUBIETRUCK_INSTALL was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.1.2.2 18-May-2014  rmind sync with head
 1.1.2.1 11-Apr-2014  rmind file CUBIETRUCK_INSTALL was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.23 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.22 14-Jan-2024  andvar Comment out sequencer pseudo-device, it requires midi* or audio* device defined.

Fixes build for CUBOX kernel config.
 1.21 07-Aug-2022  simonb branches: 1.21.4;
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.20 20-Jan-2021  nia do not enable kernel OSS compat in configs without compat_linux

perhaps kernel OSS compat can be merged into compat_linux to avoid
further confusion
 1.19 27-Sep-2020  roy branches: 1.19.2;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.18 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.17 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.16 25-Mar-2020  jdolecek branches: 1.16.2;
remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.15 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.14 26-Apr-2019  sevan branches: 1.14.2; 1.14.4;
Use veriexec.config to reduce duplication
 1.13 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.12 25-Aug-2018  maxv Retire NDIS. It appears that it has never worked, after 13 years it was
still marked as "experimental", and nowadays it may be one more obstacle
to MPification of the network stack.

Discussed on tech-net@.
 1.11 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.10 21-Jul-2018  maya Remove comment mentioning an i386 problem from non-x86 kernel configs.
(they all say BROKEN in the next comment too)
 1.9 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.8 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.7 07-Jun-2018  thorpej branches: 1.7.2;
Revert changes that pinned-down i2c parent specs. The i2c subsystem
has been enhanced to make this unnecessary.
 1.6 15-May-2018  thorpej Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.
 1.5 14-Sep-2017  mrg branches: 1.5.2; 1.5.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.4 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

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

ok riastradh
 1.3 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.2 19-Feb-2017  rin branches: 1.2.2;
PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.1 07-Jan-2017  kiyohara branches: 1.1.2; 1.1.4;
Support SolidRun Cubox.
 1.1.4.3 28-Aug-2017  skrll Sync with HEAD
 1.1.4.2 05-Feb-2017  skrll Sync with HEAD
 1.1.4.1 07-Jan-2017  skrll file CUBOX was added on branch nick-nhusb on 2017-02-05 13:40:07 +0000
 1.1.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.2.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.2.2.1 19-Feb-2017  pgoyette file CUBOX was added on branch pgoyette-localcount on 2017-03-20 06:57:13 +0000
 1.5.4.5 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.5.4.4 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.5.4.3 28-Jul-2018  pgoyette Sync with HEAD
 1.5.4.2 25-Jun-2018  pgoyette Sync with HEAD
 1.5.4.1 21-May-2018  pgoyette Sync with HEAD
 1.5.2.2 03-Dec-2017  jdolecek update from HEAD
 1.5.2.1 14-Sep-2017  jdolecek file CUBOX was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.7.2.3 21-Apr-2020  martin Sync with HEAD
 1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.14.4.1 25-Jan-2020  ad Sync with head.
 1.14.2.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.16.2.1 20-Apr-2020  bouyer Sync with HEAD
 1.19.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.21.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.27 23-May-2020  skrll imx6 kernels are part of GENERIC now
 1.26 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.25 25-Mar-2020  jdolecek branches: 1.25.2;
remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.24 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.23 11-Aug-2019  skrll branches: 1.23.2;
Update for recent a9wdt changes
 1.22 29-Jul-2019  martin branches: 1.22.2;
The CUBOX-I boards have Cortex-A9 cpus, so force -march=armv7-a
when compiling this kernel.
 1.21 24-Jul-2019  hkenken Modified i.MX GPIO control module and PCIe module.

+ Add imxpcie.c
imx PCIe common driver
 1.20 26-Apr-2019  sevan Use veriexec.config to reduce duplication
 1.19 19-Dec-2018  skrll Remove CONS_OVERRIDE - it's an i386 option
 1.18 25-Aug-2018  maxv Retire NDIS. It appears that it has never worked, after 13 years it was
still marked as "experimental", and nowadays it may be one more obstacle
to MPification of the network stack.

Discussed on tech-net@.
 1.17 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.16 21-Jul-2018  maya Remove comment mentioning an i386 problem from non-x86 kernel configs.
(they all say BROKEN in the next comment too)
 1.15 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.14 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.13 05-Jun-2018  hkenken branches: 1.13.2;
Rename ARM A9 Global Timer driver name to support fdt.

- Rename a9tmr to arma9tmr.
- Add a9tmr_fdt.c based gtmr_fdt.c.
 1.12 09-Nov-2017  hkenken branches: 1.12.2; 1.12.4;
- Add imxusbphy driver for i.MX6.
- Clean up CCM (Clock driver).
Add imx6_ccm_analog_read/write() functions.
 1.11 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.10 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

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

ok riastradh
 1.9 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.8 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.7 26-Nov-2016  christos branches: 1.7.2;
mention PAX_SEGVGUARD dependency on FILEASSOC
 1.6 07-Aug-2016  christos rename ifmpls to mpls, so we don't have if_ifmpls...
 1.5 31-Dec-2015  ryo branches: 1.5.2;
add support iMX6 uSDHC
- some UHS-I/SDR104 card are not stable
- eMMC doesn't work yet
 1.4 08-Aug-2015  maxv Remove KMEMSTATS.
 1.3 30-Jul-2015  ryo - setup iomux before attach console
- define EVBARM_BOARDTYPE in each config file
- add iomux settings for UART1
- add some iomux definitions
 1.2 11-Oct-2014  uebayasi branches: 1.2.2;
Device midi attachment where the evil usbdevices.config is included.
 1.1 06-Oct-2014  ryo * add imxsnvs (rtc)
* add CUBOX-I config
 1.2.2.5 28-Aug-2017  skrll Sync with HEAD
 1.2.2.4 05-Dec-2016  skrll Sync with HEAD
 1.2.2.3 05-Oct-2016  skrll Sync with HEAD
 1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.2.2.1 22-Sep-2015  skrll Sync with HEAD
 1.5.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.5.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.12.4.4 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.12.4.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.12.4.2 28-Jul-2018  pgoyette Sync with HEAD
 1.12.4.1 25-Jun-2018  pgoyette Sync with HEAD
 1.12.2.2 03-Dec-2017  jdolecek update from HEAD
 1.12.2.1 09-Nov-2017  jdolecek file CUBOX-I was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.13.2.4 21-Apr-2020  martin Sync with HEAD
 1.13.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.13.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.13.2.1 10-Jun-2019  christos Sync with HEAD
 1.22.2.2 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.22.2.1 15-Aug-2019  martin Pull up following revision(s) (requested by skrll in ticket #55):

sys/arch/arm/cortex/a9wdt.c: revision 1.10
sys/arch/evbarm/conf/HUMMINGBOARD: revision 1.9
sys/arch/evbarm/conf/GENERIC: revision 1.50
sys/arch/evbarm/conf/NITROGEN6X: revision 1.24
sys/arch/arm/cortex/a9tmr_var.h: revision 1.7
sys/arch/arm/fdt/files.fdt: revision 1.29
sys/arch/arm/amlogic/meson_platform.c: revision 1.12
sys/arch/arm/amlogic/meson8b_pinctrl.c: revision 1.2
sys/arch/arm/amlogic/meson_platform.c: revision 1.13
sys/arch/evbarm/conf/BCM5301X: revision 1.34
sys/arch/arm/dts/meson8b.dtsi: revision 1.6
sys/arch/arm/fdt/a9ptmr_fdt.c: revision 1.1
sys/arch/arm/dts/meson8b.dtsi: revision 1.7
sys/arch/arm/cortex/a9ptmr_var.h: revision 1.1
sys/arch/evbarm/conf/PANDABOARD: revision 1.30
sys/arch/evbarm/conf/DUOVERO: revision 1.14
sys/arch/arm/cortex/a9ptmr.c: revision 1.1
sys/arch/arm/cortex/a9ptmr.c: revision 1.2
sys/arch/arm/fdt/a9wdt_fdt.c: revision 1.1
sys/arch/evbarm/conf/BCM56340: revision 1.19
sys/arch/evbarm/conf/CUBOX-I: revision 1.23
sys/arch/arm/amlogic/meson8b_clkc.c: revision 1.4
sys/arch/evbarm/conf/PARALLELLA: revision 1.7
sys/arch/arm/cortex/files.cortex: revision 1.12
sys/arch/arm/dts/meson8b-odroidc1.dts: revision 1.4
sys/arch/arm/cortex/a9wdt.c: revision 1.9
sys/arch/evbarm/conf/ZEDBOARD: revision 1.6

spaces to tab

-

Add a driver for the A5/A9 Private timer.
While here FDTise the Watchdog driver.

-

Update for recent a9wdt changes
-

Trailing whitespace

-
Updates to get Odroid-C1 in better shape since the last DTS import

-

Various fixes / changes
- don't use prescaler
- improve AB_DEBUG output
- fix a9ptmr_delay to work with a decrementing counter!
Thanks to jmcneill@ for proving I'm an idiot

-

Add eth_rxd3 and eth_rxd2 pinctrl groups

-

Catch up to recent mainline dts changes
 1.23.2.1 25-Jan-2020  ad Sync with head.
 1.25.2.1 20-Apr-2020  bouyer Sync with HEAD
 1.2 23-May-2020  jmcneill GC unused INSTALL kernel configs.
 1.1 18-Jul-2015  matt branches: 1.1.2; 1.1.18;
Add install kernel for cubox-i
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 18-Jul-2015  jdolecek file CUBOX-I_INSTALL was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.2.1 18-Jul-2015  skrll file CUBOX-I_INSTALL was added on branch nick-nhusb on 2015-09-22 12:05:40 +0000
 1.2 23-May-2020  jmcneill GC unused INSTALL kernel configs.
 1.1 08-Jan-2017  christos branches: 1.1.4; 1.1.6; 1.1.18;
need this for the build
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 08-Jan-2017  jdolecek file CUBOX_INSTALL was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.6.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.6.1 08-Jan-2017  pgoyette file CUBOX_INSTALL was added on branch pgoyette-localcount on 2017-03-20 06:57:13 +0000
 1.1.4.2 05-Feb-2017  skrll Sync with HEAD
 1.1.4.1 08-Jan-2017  skrll file CUBOX_INSTALL was added on branch nick-nhusb on 2017-02-05 13:40:07 +0000
 1.2 30-Oct-2019  jmcneill Remove DEVKIT8000 kernel (GENERIC should work now)
 1.1 08-Sep-2010  ahoka branches: 1.1.2; 1.1.4; 1.1.10; 1.1.66; 1.1.70;
config for devkit8000 boards (currently beagle conf + dme)
config glue for devkit8000 ethernet
 1.1.70.1 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.1.66.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.10.2 05-Mar-2011  rmind sync with head
 1.1.10.1 08-Sep-2010  rmind file DEVKIT8000 was added on branch rmind-uvmplock on 2011-03-05 20:50:02 +0000
 1.1.4.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.1.4.1 08-Sep-2010  uebayasi file DEVKIT8000 was added on branch uebayasi-xip on 2010-10-22 07:21:13 +0000
 1.1.2.2 09-Oct-2010  yamt sync with head
 1.1.2.1 08-Sep-2010  yamt file DEVKIT8000 was added on branch yamt-nfs-mp on 2010-10-09 03:31:43 +0000
 1.14 18-Apr-2020  skrll branches: 1.14.20;
PMAP_DEBUG has been deleted on arm
 1.13 03-Jan-2020  thorpej branches: 1.13.6;
Eliminate all of the #ifdefs for the "strtc" driver. Define model
properties (similar to what the "dsrtc" driver does), and provide
DT compat strings corresponding to those models. Allow config flags
to specify the model for non-FDT platforms (also like "dsrtc").
 1.12 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.11 07-Jun-2018  thorpej branches: 1.11.2;
Revert changes that pinned-down i2c parent specs. The i2c subsystem
has been enhanced to make this unnecessary.
 1.10 15-May-2018  thorpej Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.
 1.9 25-Nov-2017  christos branches: 1.9.2;
comment out duplicate options and unknown devices
 1.8 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.7 17-Aug-2014  joerg branches: 1.7.2;
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.6 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.5 09-Sep-2012  msaitoh branches: 1.5.2; 1.5.12;
Split DEBUG="-g -Ox" into DEBUG="-g" and COPTS="-Ox".
 1.4 09-Feb-2012  matt Bump SYMTAB_SPACE
 1.3 06-Mar-2011  jakllsch branches: 1.3.4; 1.3.8;
Bump SYMTAB_SPACE for the many other evbarm kernels that also need it increased.
 1.2 10-Oct-2010  kiyohara branches: 1.2.2; 1.2.4; 1.2.8;
Add strtc(ST M41T80 Real-Time Clock).
 1.1 02-Oct-2010  kiyohara branches: 1.1.2;
Add support Marvell Sheevaplug.
Add some NAS on Marvell SoC.
 1.1.2.2 09-Oct-2010  yamt sync with head
 1.1.2.1 02-Oct-2010  yamt file DNS323 was added on branch yamt-nfs-mp on 2010-10-09 03:31:43 +0000
 1.2.8.3 21-Apr-2011  rmind sync with head
 1.2.8.2 05-Mar-2011  rmind sync with head
 1.2.8.1 10-Oct-2010  rmind file DNS323 was added on branch rmind-uvmplock on 2011-03-05 20:50:02 +0000
 1.2.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.2.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.2.2.1 10-Oct-2010  uebayasi file DNS323 was added on branch uebayasi-xip on 2010-10-22 07:21:14 +0000
 1.3.8.1 18-Feb-2012  mrg merge to -current.
 1.3.4.2 30-Oct-2012  yamt sync with head
 1.3.4.1 17-Apr-2012  yamt sync with head
 1.5.12.1 10-Aug-2014  tls Rebase.
 1.5.2.2 03-Dec-2017  jdolecek update from HEAD
 1.5.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7.2.1 22-Sep-2015  skrll Sync with HEAD
 1.9.2.3 28-Jul-2018  pgoyette Sync with HEAD
 1.9.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.9.2.1 21-May-2018  pgoyette Sync with HEAD
 1.11.2.3 21-Apr-2020  martin Sync with HEAD
 1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.6.1 20-Apr-2020  bouyer Sync with HEAD
 1.14.20.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.25 29-Oct-2022  jmcneill Remove support for OMAP based Gumstix platforms.

These changes are to prepare for the removal of arch/arm/omap. Support
for Xscale based Gumstix platforms remains.

(If someone wants to resurrect DuoVero and Pepper platforms, it's best
to do that in the GENERIC kernel using FDT.)
 1.24 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.23 20-Jan-2021  nia do not enable kernel OSS compat in configs without compat_linux

perhaps kernel OSS compat can be merged into compat_linux to avoid
further confusion
 1.22 29-Sep-2020  jmcneill branches: 1.22.2;
Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime
detection instead of ifdefs where required.
 1.21 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.20 16-Aug-2020  jdolecek make COMPAT_LINUX option disabled by default

leave the option enabled only in amd64/i386 ALL kernels to make
sure it continues to be compilable also when included in kernel
 1.19 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.18 13-Jun-2020  ad Comment out "options PMAPCOUNTERS". It adds much overhead and is mostly of
interest to people hacking on the VM system or pmap. Proposed on port-arm@.
 1.17 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.16 25-Mar-2020  jdolecek branches: 1.16.2;
remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.15 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.14 11-Aug-2019  skrll branches: 1.14.2;
Update for recent a9wdt changes
 1.13 26-Apr-2019  sevan branches: 1.13.2;
Use veriexec.config to reduce duplication
 1.12 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.11 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.10 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.9 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.8 05-Jun-2018  hkenken branches: 1.8.2;
Rename ARM A9 Global Timer driver name to support fdt.

- Rename a9tmr to arma9tmr.
- Add a9tmr_fdt.c based gtmr_fdt.c.
 1.7 13-Mar-2018  ryo fix build error. add options __HAVE_CPU_UAREA_ALLOC_IDLELWP for MULTIPROCESSOR
 1.6 14-Sep-2017  mrg branches: 1.6.2; 1.6.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.5 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

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

ok riastradh
 1.4 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.3 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.2 26-Nov-2016  christos branches: 1.2.2; 1.2.4;
mention PAX_SEGVGUARD dependency on FILEASSOC
 1.1 15-Oct-2016  kiyohara branches: 1.1.2;
Add Gumstix Inc's Pepper and DuoVero.
 1.1.2.4 20-Mar-2017  pgoyette Sync with HEAD
 1.1.2.3 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.2.2 04-Nov-2016  pgoyette Sync with HEAD
 1.1.2.1 15-Oct-2016  pgoyette file DUOVERO was added on branch pgoyette-localcount on 2016-11-04 14:49:00 +0000
 1.2.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.2.2.3 28-Aug-2017  skrll Sync with HEAD
 1.2.2.2 05-Dec-2016  skrll Sync with HEAD
 1.2.2.1 26-Nov-2016  skrll file DUOVERO was added on branch nick-nhusb on 2016-12-05 10:54:51 +0000
 1.6.4.5 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.6.4.4 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.6.4.3 28-Jul-2018  pgoyette Sync with HEAD
 1.6.4.2 25-Jun-2018  pgoyette Sync with HEAD
 1.6.4.1 15-Mar-2018  pgoyette Synch with HEAD
 1.6.2.2 03-Dec-2017  jdolecek update from HEAD
 1.6.2.1 14-Sep-2017  jdolecek file DUOVERO was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.8.2.4 21-Apr-2020  martin Sync with HEAD
 1.8.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.2.1 15-Aug-2019  martin Pull up following revision(s) (requested by skrll in ticket #55):

sys/arch/arm/cortex/a9wdt.c: revision 1.10
sys/arch/evbarm/conf/HUMMINGBOARD: revision 1.9
sys/arch/evbarm/conf/GENERIC: revision 1.50
sys/arch/evbarm/conf/NITROGEN6X: revision 1.24
sys/arch/arm/cortex/a9tmr_var.h: revision 1.7
sys/arch/arm/fdt/files.fdt: revision 1.29
sys/arch/arm/amlogic/meson_platform.c: revision 1.12
sys/arch/arm/amlogic/meson8b_pinctrl.c: revision 1.2
sys/arch/arm/amlogic/meson_platform.c: revision 1.13
sys/arch/evbarm/conf/BCM5301X: revision 1.34
sys/arch/arm/dts/meson8b.dtsi: revision 1.6
sys/arch/arm/fdt/a9ptmr_fdt.c: revision 1.1
sys/arch/arm/dts/meson8b.dtsi: revision 1.7
sys/arch/arm/cortex/a9ptmr_var.h: revision 1.1
sys/arch/evbarm/conf/PANDABOARD: revision 1.30
sys/arch/evbarm/conf/DUOVERO: revision 1.14
sys/arch/arm/cortex/a9ptmr.c: revision 1.1
sys/arch/arm/cortex/a9ptmr.c: revision 1.2
sys/arch/arm/fdt/a9wdt_fdt.c: revision 1.1
sys/arch/evbarm/conf/BCM56340: revision 1.19
sys/arch/evbarm/conf/CUBOX-I: revision 1.23
sys/arch/arm/amlogic/meson8b_clkc.c: revision 1.4
sys/arch/evbarm/conf/PARALLELLA: revision 1.7
sys/arch/arm/cortex/files.cortex: revision 1.12
sys/arch/arm/dts/meson8b-odroidc1.dts: revision 1.4
sys/arch/arm/cortex/a9wdt.c: revision 1.9
sys/arch/evbarm/conf/ZEDBOARD: revision 1.6

spaces to tab

-

Add a driver for the A5/A9 Private timer.
While here FDTise the Watchdog driver.

-

Update for recent a9wdt changes
-

Trailing whitespace

-
Updates to get Odroid-C1 in better shape since the last DTS import

-

Various fixes / changes
- don't use prescaler
- improve AB_DEBUG output
- fix a9ptmr_delay to work with a decrementing counter!
Thanks to jmcneill@ for proving I'm an idiot

-

Add eth_rxd3 and eth_rxd2 pinctrl groups

-

Catch up to recent mainline dts changes
 1.14.2.1 25-Jan-2020  ad Sync with head.
 1.16.2.1 20-Apr-2020  bouyer Sync with HEAD
 1.22.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.37 31-Mar-2019  jmcneill Remove EXYNOS kernel config.
 1.36 06-Feb-2019  rin Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.35 19-Oct-2018  skrll Sort dts files
 1.34 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.33 11-Sep-2018  jmcneill Add Exynos5 SMP support.
 1.32 19-Aug-2018  skrll Some changes to bring back exynos4 support and make exynos5 support more
modern/generic

- Provide a exynos_platform_early_putchar based on CONSADDR and remove
EXYNOS_CONSOLE_EARLY
- Provide devmaps for exynos4 and exynos5
- Simplify exynos_bootstrap
- Update exynos_start.S to use exynos_platform_early_putchar - this
needs a fix in a9_subr.S for arm_cpuinit to save lr in a callee save
register and not use ip. Maybe this change is safe now, but too much
testing required to commit it now.
 1.31 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.30 05-Jul-2018  jmcneill Replace sscom with a much simpler uart driver. The simpler driver is 1/4th
the size and has the added benefit of not freezing when an arrow key is
pressed.
 1.29 04-Jul-2018  jmcneill Add expwm, pwmfan
 1.28 03-Jul-2018  jmcneill Enable Exynos USB support
 1.27 02-Jul-2018  jmcneill Attach mct early. Do not attach gtmr to mct.

XXX gtmr still needed for setstatclock symbol
 1.26 01-Jul-2018  jmcneill Remove chipid and sysmmu drivers
 1.25 30-Jun-2018  jmcneill Attach simplebus on pass 0
 1.24 30-Jun-2018  jmcneill cpus: use fdt_add_bus
 1.23 30-Jun-2018  jmcneill Allow nodes to attach child devices using the same sorting rules as used
by the simplebus driver.
 1.22 20-Jun-2017  skrll branches: 1.22.4; 1.22.6; 1.22.8;
Add exynos5410-smdk5410.dts to DTS list
 1.21 20-Jun-2017  jmcneill Add Exynos 5410 clock controller driver.
 1.20 20-Jun-2017  skrll Add exynos5410-odroidxu.dts to DTS list
 1.19 19-Jun-2017  jmcneill Disable exyortc for now, it doesn't work.
 1.18 18-Jun-2017  jmcneill Build exynos5422 .dtb files with this kernel.
 1.17 11-Jun-2017  jmcneill Simplify MCT; just enable it and then attach an ARMv7 generic timer.
 1.16 11-Jun-2017  jmcneill - Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
 1.15 10-Jun-2017  jmcneill Get the EXYNOS kernel building again with recent FDT changes. Untested.
 1.14 16-Apr-2017  jmcneill branches: 1.14.4;
typo fix
 1.13 14-Apr-2017  jmcneill Remove simplebus driver and allow fdtbus to attach directly to itself.
 1.12 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.11 19-Aug-2016  maxv branches: 1.11.2;
Remove the last references to KMEMSTATS.
 1.10 05-Jan-2016  marty branches: 1.10.2;
FDT: Interrupts -- add support for interrupt maps

The mct on exynos uses an interrupt map so we add support now. Devices
represent their interrupts either through a combination of interrupt-parent
and interrupts properties, where the 'interrupts' property is an array of
one or more interrupt specifiers; or through a combination of an
interrupt-parent that points to an interrupt-map, where the interrupt-map
contains 2 or more entries consisting of an index, a pointer to an
interrupt-controller, and a specifier for that controller.

This code adds the ability to walk the interrupt-map and return a specifier.
Unfortunately, the addition requires changing the interface to the
interrupt-controllers' _establish and _intstr functions, so this check in
contains a rototill of the three existing fdt interrupt controllers to use
the new interface.
 1.9 27-Dec-2015  jmcneill wildcard attachments to fdtbus
 1.8 27-Dec-2015  marty branches: 1.8.2;
XU4 USB snapshot: Reorganize source files

This is just a skeleton, not a set of drivers, but the pieces are now
more or less in the right places.
 1.7 26-Dec-2015  jmcneill add dwcmmc
 1.6 21-Dec-2015  marty XU4 FDT final checkpoint

step N of N: get rid of baggage by removing whole files. What's left is in
approximately the same shape as when the FDT update started, that is mostly
broken. What's missing is most of the 76 devices recognized in the dtd. In
other words, This is barely the start of a port.

Next up, gpio then i2c, followed either by straightening out usb or getting
the sdhc driver to work -- both probably require getting the interrupt
combiner to work first. A large chunk of work is left to do on the clocks.
I barely got them attaching to fdt and didn't do anything to take advantage
of the information in the dtd.

None of the other existing drivers, such as they are, properly request gpios,
i2c or clocks, and, of course power domains are off the table.
 1.5 21-Dec-2015  marty XU4 FDT Last drivers converted

There is a minimum conversion on the clock driver.

The USB driver needs reordering and is broken, but it was broken before.

Next up: tactical nuclear weapons
 1.4 21-Dec-2015  marty XU4 FDT checkpoint

It is rather amazing that XU4 gets as far as it does, given how much of this
code simply doesn't work. Focusing now on getting everything converted to
FDT. Next up USB and clocks. After that nuke everything that's not needed
and start the port in earnest.
 1.3 19-Dec-2015  marty XU4 GPIO FDT broken snapshot

This is broken. exynos_gpio_bank_config and the call to it are wrong, and
the acquire function doesn't work.

But I'm in over my head and I need to discuss this:

There is a problem with the dtd: it doesn't have addresses for the individual
gpios. Do I add the addresses to it, or go back to the old version where I
have them hard coded in the driver.

There is a problem with creating the gpio device entries: I suspect I really
need to treat the pinctrl devices as busses and create the gpios as attached
to those busses, but I'm not familiar with how to do that in NetBSD. At the
minimum, a pointer to a similar situation would give me code to follow.
This is different than the usual bus attachment in that the gpios aren't
devices in the dtd (they don't have "compatible" properties) so they don't
get an attach routine called. An alternative to generating the bus
attachments might be to add "compatible" properties to the GPIO entries
in the dtd. so that they do get attached in the normal way.

If I'm going to modify the DTD, then it should be checked in, so a decision
on where to check them in would be nice, even if it does mean spreading them
all over because of license issues. (This DTD is GPL v2)
 1.2 17-Dec-2015  marty XU4 FDT sscon

This is a mess and I don't understand why part of it works, but it passes
the basic test.

There has to be some better way to get the info that I'm grabbing from the
exynos_uarts[] array.

I'm not sure how to deal with VA != PA when the DTB contains physical rather
than virtual addresses. This is going to be an issue for all of the drivers.
 1.1 15-Dec-2015  marty EXYNOS - change ODROID-XU4 to EXYNOS

EXYNOS will be a generic fdt kernel, so signify that with the name change,
as requested by Nick.
 1.8.2.5 28-Aug-2017  skrll Sync with HEAD
 1.8.2.4 05-Oct-2016  skrll Sync with HEAD
 1.8.2.3 19-Mar-2016  skrll Sync with HEAD
 1.8.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.8.2.1 27-Dec-2015  skrll file EXYNOS was added on branch nick-nhusb on 2015-12-27 12:09:34 +0000
 1.10.2.2 26-Apr-2017  pgoyette Sync with HEAD
 1.10.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.11.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.14.4.1 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.22.8.1 10-Jun-2019  christos Sync with HEAD
 1.22.6.4 20-Oct-2018  pgoyette Sync with head
 1.22.6.3 30-Sep-2018  pgoyette Ssync with HEAD
 1.22.6.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.22.6.1 28-Jul-2018  pgoyette Sync with HEAD
 1.22.4.2 03-Dec-2017  jdolecek update from HEAD
 1.22.4.1 20-Jun-2017  jdolecek file EXYNOS was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.2 31-Mar-2019  jmcneill Remove EXYNOS kernel config.
 1.1 15-Dec-2015  marty branches: 1.1.2; 1.1.18; 1.1.22;
EXYNOS - change ODROID-XU4 to EXYNOS

EXYNOS will be a generic fdt kernel, so signify that with the name change,
as requested by Nick.
 1.1.22.1 10-Jun-2019  christos Sync with HEAD
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 15-Dec-2015  jdolecek file EXYNOS_INSTALL was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.2.1 15-Dec-2015  skrll file EXYNOS_INSTALL was added on branch nick-nhusb on 2015-12-27 12:09:34 +0000
 1.40 07-Aug-2022  simonb branches: 1.40.4;
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.39 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.38 23-Oct-2018  jdolecek branches: 1.38.4; 1.38.10;
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.37 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.36 14-Sep-2017  mrg branches: 1.36.2; 1.36.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.35 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.34 26-Jun-2017  sevan Add a heading to describe the class of device axe(4) is.
 1.33 19-Feb-2017  rin branches: 1.33.6;
PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.32 07-Aug-2015  maxv branches: 1.32.2; 1.32.4;
Remove KMEMSTATS.
 1.31 23-Aug-2014  dholland branches: 1.31.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.30 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.29 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.28 03-Aug-2014  martin Add COMPAT_NETBSD32, following the switch to eabi by default.
 1.27 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.26 30-Jun-2013  rmind branches: 1.26.4;
G/C PFIL_HOOKS from the kernel configs.
 1.25 05-Jun-2013  christos branches: 1.25.2;
remove obsolete networking options
 1.24 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.23 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.22 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.21 11-Sep-2012  msaitoh branches: 1.21.2;
Add PUFFS, putter and fss.
 1.20 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.19 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.18 22-Nov-2011  tls branches: 1.18.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.17 30-Jun-2011  wiz branches: 1.17.2;
dependant -> dependent
 1.16 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.15 06-Mar-2011  jakllsch Remove trailing spaces.
 1.14 16-Apr-2010  pooka branches: 1.14.2; 1.14.4;
Remove unused count (invariably "4") from pseudo-device fss.
 1.13 05-Dec-2009  pooka branches: 1.13.2; 1.13.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.12 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.11 06-Mar-2009  joerg branches: 1.11.2;
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.10 24-Nov-2008  ad branches: 1.10.4; 1.10.6; 1.10.8;
Remove softdep, pass 1. We are focused on improving journalling.

Proposed on tech-kern@.
 1.9 13-Nov-2008  cliff add option GEMINI_BUSBASE to define kernel offset between
kernel physical addr and (DMA master) bus addr
 1.8 13-Nov-2008  cliff - comment out wdc, atabus, wd by default; can turn these on if/when wanted.
- add "wm" interface and "makphy"
 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  cliff - add option GEMINI_SINGLE for single-core system model
- add "re" interface to GEMINI configuration
 1.5 09-Nov-2008  cliff - use option GEMINI_MASTER to pick up clock, icu
- ATADEBUG now here but commented out
- deconfigure timer#1 now that system clock and stat clock are combined
- add umass and wd for use w/ ehci
- uncomment wdc0, wd1; add atabus and wd* for use w/ wdc
- warning the gzipped binary GEMINI kernel image will not fit in a 1MB flash area, even gzipped
 1.4 30-Oct-2008  matt No need for md.
 1.3 28-Oct-2008  matt Enable making netbsd.gdb
 1.2 24-Oct-2008  matt branches: 1.2.2;
Add ehci/usb support.
 1.1 24-Oct-2008  matt Add support for Cortina Systems SL3516 eval board.
 1.2.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.2.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.10.8.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.10.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.10.6.1 24-Nov-2008  mjf file GEMINI was added on branch mjf-devfs2 on 2009-01-17 13:27:57 +0000
 1.10.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.10.4.1 24-Nov-2008  haad file GEMINI was added on branch haad-dm on 2008-12-13 01:13:06 +0000
 1.11.2.4 11-Aug-2010  yamt sync with head.
 1.11.2.3 11-Mar-2010  yamt sync with head
 1.11.2.2 04-May-2009  yamt sync with head.
 1.11.2.1 06-Mar-2009  yamt file GEMINI was added on branch yamt-nfs-mp on 2009-05-04 08:10:56 +0000
 1.13.4.2 21-Apr-2011  rmind sync with head
 1.13.4.1 30-May-2010  rmind sync with head
 1.13.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.14.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.14.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.17.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.17.2.2 30-Oct-2012  yamt sync with head
 1.17.2.1 17-Apr-2012  yamt sync with head
 1.18.2.2 29-Apr-2012  mrg sync to latest -current.
 1.18.2.1 18-Feb-2012  mrg merge to -current.
 1.21.2.4 03-Dec-2017  jdolecek update from HEAD
 1.21.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.21.2.2 23-Jun-2013  tls resync from head
 1.21.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.4.1 10-Aug-2014  tls Rebase.
 1.31.2.2 28-Aug-2017  skrll Sync with HEAD
 1.31.2.1 22-Sep-2015  skrll Sync with HEAD
 1.32.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.32.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.33.6.1 01-Jul-2017  snj Pull up following revision(s) (requested by sevan in ticket #72):
sys/arch/evbarm/conf/GEMINI_SLAVE: revision 1.35
sys/arch/evbarm/conf/N900: revision 1.24
sys/arch/evbarm/conf/GOLDENGATE: revision 1.14
sys/arch/evbarm/conf/GEMINI_MASTER: revision 1.34
sys/arch/evbarm/conf/BEAGLEBONE: revision 1.43
sys/arch/evbarm/conf/BCM56340: revision 1.12
sys/arch/evbarm/conf/GEMINI: revision 1.34
sys/arch/evbarm/conf/BEAGLEBOARDXM: revision 1.24
sys/arch/evbarm/conf/BCM5301X: revision 1.27
sys/arch/evbarm/conf/PANDABOARD: revision 1.22
Add a heading to describe the class of device axe(4) is.
 1.36.4.2 21-Apr-2020  martin Sync with HEAD
 1.36.4.1 10-Jun-2019  christos Sync with HEAD
 1.36.2.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.36.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.38.10.1 20-Apr-2020  bouyer Sync with HEAD
 1.38.4.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.40.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.2 01-May-2014  martin Do not create debug info for *_INSTALL kernels.
 1.1 30-Oct-2008  cliff branches: 1.1.6; 1.1.8; 1.1.10; 1.1.16; 1.1.34; 1.1.44; 1.1.50; 1.1.60;
add INSTALL configuration variant for GEMINI platform
 1.1.60.1 10-Aug-2014  tls Rebase.
 1.1.50.1 18-May-2014  rmind sync with head
 1.1.44.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.34.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.16.2 04-May-2009  yamt sync with head.
 1.1.16.1 30-Oct-2008  yamt file GEMINI_INSTALL was added on branch yamt-nfs-mp on 2009-05-04 08:10:56 +0000
 1.1.10.2 19-Jan-2009  skrll Sync with HEAD.
 1.1.10.1 30-Oct-2008  skrll file GEMINI_INSTALL was added on branch nick-hppapmap on 2009-01-19 13:16:03 +0000
 1.1.8.2 17-Jan-2009  mjf Sync with HEAD.
 1.1.8.1 30-Oct-2008  mjf file GEMINI_INSTALL was added on branch mjf-devfs2 on 2009-01-17 13:27:57 +0000
 1.1.6.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.1.6.1 30-Oct-2008  haad file GEMINI_INSTALL was added on branch haad-dm on 2008-12-13 01:13:06 +0000
 1.39 07-Aug-2022  simonb branches: 1.39.4;
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 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.37 12-Jul-2018  maxv branches: 1.37.4; 1.37.10;
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.36 14-Sep-2017  mrg branches: 1.36.2; 1.36.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.35 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.34 26-Jun-2017  sevan Add a heading to describe the class of device axe(4) is.
 1.33 19-Feb-2017  rin branches: 1.33.6;
PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.32 07-Aug-2015  maxv branches: 1.32.2; 1.32.4;
Remove KMEMSTATS.
 1.31 23-Aug-2014  dholland branches: 1.31.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.30 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.29 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.28 03-Aug-2014  martin Add COMPAT_NETBSD32, following the switch to eabi by default.
 1.27 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.26 30-Jun-2013  rmind branches: 1.26.4;
G/C PFIL_HOOKS from the kernel configs.
 1.25 05-Jun-2013  christos branches: 1.25.2;
remove obsolete networking options
 1.24 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.23 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.22 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.21 11-Sep-2012  msaitoh branches: 1.21.2;
Add PUFFS, putter and fss.
 1.20 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.19 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.18 22-Nov-2011  tls branches: 1.18.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.17 30-Jun-2011  wiz branches: 1.17.2;
dependant -> dependent
 1.16 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.15 06-Mar-2011  jakllsch Remove trailing spaces.
 1.14 23-Nov-2010  hannken branches: 1.14.2; 1.14.4;
Remove unused count from pseudo-device md.
 1.13 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.12 05-Dec-2009  pooka branches: 1.12.2; 1.12.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.11 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.10 06-Mar-2009  joerg branches: 1.10.2;
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.9 06-Feb-2009  jym branches: 1.9.2;
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.8 06-Dec-2008  cliff branches: 1.8.4; 1.8.6; 1.8.8;
add gemini pseudo-nic and support code.
 1.7 24-Nov-2008  ad Remove softdep, pass 1. We are focused on improving journalling.

Proposed on tech-kern@.
 1.6 20-Nov-2008  cliff add gpio driver
 1.5 20-Nov-2008  cliff add driver for low level inter-processor-interrupt
provides functions for establish/disestablish IPI ISR,
and function to signal IPI to the other CPU.
 1.4 13-Nov-2008  cliff add option GEMINI_BUSBASE to define kernel offset between
kernel physical addr and (DMA master) bus addr
 1.3 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.2 10-Nov-2008  cliff master cpu does not need LPC stuff, comment out for now
 1.1 09-Nov-2008  cliff these kernel configs are lmeant to be used to create flashable memory disk rooted
embedded kernels using non-SMP master/slave dual core division of resources.
still very much in progress at this time.
 1.8.8.4 28-Apr-2009  skrll Sync with HEAD.
 1.8.8.3 03-Mar-2009  skrll Sync with HEAD.
 1.8.8.2 19-Jan-2009  skrll Sync with HEAD.
 1.8.8.1 06-Dec-2008  skrll file GEMINI_MASTER was added on branch nick-hppapmap on 2009-01-19 13:16:03 +0000
 1.8.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.8.6.1 06-Dec-2008  mjf file GEMINI_MASTER was added on branch mjf-devfs2 on 2009-01-17 13:27:57 +0000
 1.8.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.8.4.1 06-Dec-2008  haad file GEMINI_MASTER was added on branch haad-dm on 2008-12-13 01:13:06 +0000
 1.9.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.10.2.4 11-Aug-2010  yamt sync with head.
 1.10.2.3 11-Mar-2010  yamt sync with head
 1.10.2.2 04-May-2009  yamt sync with head.
 1.10.2.1 06-Mar-2009  yamt file GEMINI_MASTER was added on branch yamt-nfs-mp on 2009-05-04 08:10:56 +0000
 1.12.4.3 21-Apr-2011  rmind sync with head
 1.12.4.2 05-Mar-2011  rmind sync with head
 1.12.4.1 30-May-2010  rmind sync with head
 1.12.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.14.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.14.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.17.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.17.2.2 30-Oct-2012  yamt sync with head
 1.17.2.1 17-Apr-2012  yamt sync with head
 1.18.2.2 29-Apr-2012  mrg sync to latest -current.
 1.18.2.1 18-Feb-2012  mrg merge to -current.
 1.21.2.4 03-Dec-2017  jdolecek update from HEAD
 1.21.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.21.2.2 23-Jun-2013  tls resync from head
 1.21.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.4.1 10-Aug-2014  tls Rebase.
 1.31.2.2 28-Aug-2017  skrll Sync with HEAD
 1.31.2.1 22-Sep-2015  skrll Sync with HEAD
 1.32.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.32.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.33.6.1 01-Jul-2017  snj Pull up following revision(s) (requested by sevan in ticket #72):
sys/arch/evbarm/conf/GEMINI_SLAVE: revision 1.35
sys/arch/evbarm/conf/N900: revision 1.24
sys/arch/evbarm/conf/GOLDENGATE: revision 1.14
sys/arch/evbarm/conf/GEMINI_MASTER: revision 1.34
sys/arch/evbarm/conf/BEAGLEBONE: revision 1.43
sys/arch/evbarm/conf/BCM56340: revision 1.12
sys/arch/evbarm/conf/GEMINI: revision 1.34
sys/arch/evbarm/conf/BEAGLEBOARDXM: revision 1.24
sys/arch/evbarm/conf/BCM5301X: revision 1.27
sys/arch/evbarm/conf/PANDABOARD: revision 1.22
Add a heading to describe the class of device axe(4) is.
 1.36.4.2 21-Apr-2020  martin Sync with HEAD
 1.36.4.1 10-Jun-2019  christos Sync with HEAD
 1.36.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.37.10.1 20-Apr-2020  bouyer Sync with HEAD
 1.37.4.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.39.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.40 07-Aug-2022  simonb branches: 1.40.4;
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.39 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.38 12-Jul-2018  maxv branches: 1.38.4; 1.38.10;
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.37 14-Sep-2017  mrg branches: 1.37.2; 1.37.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.36 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.35 26-Jun-2017  sevan Add a heading to describe the class of device axe(4) is.
 1.34 19-Feb-2017  rin branches: 1.34.6;
PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.33 21-Aug-2015  uebayasi branches: 1.33.2; 1.33.4;
Add `pseudo-device ksyms' where `options DDB' is used, because
config(1)/config(5) can't handle module dependency correctly at this
moment.

(This is another proof that shared file definition (`file xxx.c a|b')
is a bad idea.)
 1.32 07-Aug-2015  maxv Remove KMEMSTATS.
 1.31 23-Aug-2014  dholland branches: 1.31.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.30 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.29 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.28 03-Aug-2014  martin Add COMPAT_NETBSD32, following the switch to eabi by default.
 1.27 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.26 30-Jun-2013  rmind branches: 1.26.4;
G/C PFIL_HOOKS from the kernel configs.
 1.25 05-Jun-2013  christos branches: 1.25.2;
remove obsolete networking options
 1.24 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.23 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.22 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.21 11-Sep-2012  msaitoh branches: 1.21.2;
Add PUFFS, putter and fss.
 1.20 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.19 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.18 22-Nov-2011  tls branches: 1.18.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.17 30-Jun-2011  wiz branches: 1.17.2;
dependant -> dependent
 1.16 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.15 06-Mar-2011  jakllsch Remove trailing spaces.
 1.14 23-Nov-2010  hannken branches: 1.14.2; 1.14.4;
Remove unused count from pseudo-device md.
 1.13 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.12 05-Dec-2009  pooka branches: 1.12.2; 1.12.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.11 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.10 06-Mar-2009  joerg branches: 1.10.2;
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.9 06-Feb-2009  jym branches: 1.9.2;
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.8 06-Dec-2008  cliff branches: 1.8.4; 1.8.6; 1.8.8;
add gemini pseudo-nic and support code.
 1.7 24-Nov-2008  ad Remove softdep, pass 1. We are focused on improving journalling.

Proposed on tech-kern@.
 1.6 20-Nov-2008  cliff add driver for low level inter-processor-interrupt
provides functions for establish/disestablish IPI ISR,
and function to signal IPI to the other CPU.
 1.5 13-Nov-2008  cliff add option GEMINI_BUSBASE to define kernel offset between
kernel physical addr and (DMA master) bus addr
 1.4 13-Nov-2008  cliff - add "wm" interface and "makphy"
- add "re" interface and "rgephy"
 1.3 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.2 10-Nov-2008  cliff - slave CPU using LPC UART or console
- don't use VERBOSE_INIT_ARM
- dont configure obio UART
- using intr -1 for now, causes callout interrupt polling
can use that until serirq from 8712 works
 1.1 09-Nov-2008  cliff these kernel configs are lmeant to be used to create flashable memory disk rooted
embedded kernels using non-SMP master/slave dual core division of resources.
still very much in progress at this time.
 1.8.8.4 28-Apr-2009  skrll Sync with HEAD.
 1.8.8.3 03-Mar-2009  skrll Sync with HEAD.
 1.8.8.2 19-Jan-2009  skrll Sync with HEAD.
 1.8.8.1 06-Dec-2008  skrll file GEMINI_SLAVE was added on branch nick-hppapmap on 2009-01-19 13:16:03 +0000
 1.8.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.8.6.1 06-Dec-2008  mjf file GEMINI_SLAVE was added on branch mjf-devfs2 on 2009-01-17 13:27:57 +0000
 1.8.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.8.4.1 06-Dec-2008  haad file GEMINI_SLAVE was added on branch haad-dm on 2008-12-13 01:13:06 +0000
 1.9.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.10.2.4 11-Aug-2010  yamt sync with head.
 1.10.2.3 11-Mar-2010  yamt sync with head
 1.10.2.2 04-May-2009  yamt sync with head.
 1.10.2.1 06-Mar-2009  yamt file GEMINI_SLAVE was added on branch yamt-nfs-mp on 2009-05-04 08:10:56 +0000
 1.12.4.3 21-Apr-2011  rmind sync with head
 1.12.4.2 05-Mar-2011  rmind sync with head
 1.12.4.1 30-May-2010  rmind sync with head
 1.12.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.14.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.14.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.17.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.17.2.2 30-Oct-2012  yamt sync with head
 1.17.2.1 17-Apr-2012  yamt sync with head
 1.18.2.2 29-Apr-2012  mrg sync to latest -current.
 1.18.2.1 18-Feb-2012  mrg merge to -current.
 1.21.2.4 03-Dec-2017  jdolecek update from HEAD
 1.21.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.21.2.2 23-Jun-2013  tls resync from head
 1.21.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.4.1 10-Aug-2014  tls Rebase.
 1.31.2.2 28-Aug-2017  skrll Sync with HEAD
 1.31.2.1 22-Sep-2015  skrll Sync with HEAD
 1.33.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.33.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.34.6.1 01-Jul-2017  snj Pull up following revision(s) (requested by sevan in ticket #72):
sys/arch/evbarm/conf/GEMINI_SLAVE: revision 1.35
sys/arch/evbarm/conf/N900: revision 1.24
sys/arch/evbarm/conf/GOLDENGATE: revision 1.14
sys/arch/evbarm/conf/GEMINI_MASTER: revision 1.34
sys/arch/evbarm/conf/BEAGLEBONE: revision 1.43
sys/arch/evbarm/conf/BCM56340: revision 1.12
sys/arch/evbarm/conf/GEMINI: revision 1.34
sys/arch/evbarm/conf/BEAGLEBOARDXM: revision 1.24
sys/arch/evbarm/conf/BCM5301X: revision 1.27
sys/arch/evbarm/conf/PANDABOARD: revision 1.22
Add a heading to describe the class of device axe(4) is.
 1.37.4.2 21-Apr-2020  martin Sync with HEAD
 1.37.4.1 10-Jun-2019  christos Sync with HEAD
 1.37.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.38.10.1 20-Apr-2020  bouyer Sync with HEAD
 1.38.4.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.40.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.125 09-Oct-2025  skrll Add the beginnings of a GENERIC_V5 kernel that targets armv5 boards and
uses FDT.

In this first iteration some support is added for OLinuXino boards.

Thanks to Yuri Honegger for doing the vast majority of the work.
 1.124 07-Sep-2025  thorpej Attach the AC100 RTC as a separate child device node.

XXX This driver doesn't really work without FDT.
 1.123 03-Apr-2025  bouyer Add gscan(4), a driver for USB to CAN bus adapters.
This driver supports the Geschwister Schneider USB to CAN adapter, and
clones supported by the open-source candleLight firmware.

Add gscan to evbarm GENERIC (which already supports CAN family and the
sunxican(4) driver by default), and to amd64 ALL.
 1.122 27-Mar-2025  riastradh virtio(4): Consolidate kernel configs.

No functional change intended.

Leave `# XXX ?' comments where I don't know why the driver in
question is excluded. (Typical reason is that PAGE_SIZE is not 4096
but I didn't investigate -- if you do investigate, please either
update the comment if you determine a reason, or enable the driver if
you don't.)

PR kern/59211: vio9p(4): missing from various GENERICs and MAKEDEVs
 1.121 16-Jul-2024  riastradh viocon(4): Add to various kernel configs.
 1.120 15-Jul-2023  riastradh branches: 1.120.6;
evbarm: Enable HEARTBEAT option in GENERIC and GENERIC64 kernels.
 1.119 04-May-2023  bouyer experimental IMX6SX support:
- add options SOC_IMX6SX
- add imx6sxccm device

tested on a UDOO Neo Full board.
known to work:
- uart (console)
- sdmmc0
- ethernet (enet0)

known to not work:
- USB (device not detected).

needs a modified device tree at this time (add arm,cortex-a9-twd-timer entry
copied from the imx6qdl dtsi); for unkown reason the imx6sx.dtsi file lacks
an entry for the a9ptmr although it is present in the soc (and, from what I
understood, in all cortex A9 SoCs).
 1.118 25-Feb-2023  skrll Restore the ability to have EARLYCONS work for the QEMU virt after
SOC_VIRT got removed.
 1.117 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.116 09-Feb-2023  abs Ensure GENERIC.local is always at the end of GENERIC

Where a GENERIC config had an existing inclusion of GENERIC.local,
ensure it is always at the end of the file, with a consistent
comment:

# Pull in optional local configuration
cinclude "arch/landisk/conf/GENERIC.local"

This allows GENERIC.local to correctly override all options

(This pass does not affect any GENERIC which did not already have
an include of GENERIC.local)
 1.115 11-Nov-2022  jmcneill branches: 1.115.2;
Add support for Xilinx 7-series ADC.

The temperature and voltage sensors are exposed with sysmon:

# envstat -d zynqxadc0
Current CritMax WarnMax WarnMin CritMin Unit
temperature: 67.426 degC
vccint: 1.010 V
vccaux: 1.801 V
vp/vn: 0.011 V
vrefp: 1.250 V
vrefn: 0.004 V
vccbram: 1.009 V
vccpint: 1.009 V
vccpaux: 1.799 V
vcco_ddr: 1.500 V
 1.114 05-Nov-2022  jmcneill Add cdnsiic and lmtemp
 1.113 31-Oct-2022  jmcneill Add micphy(4)
 1.112 29-Oct-2022  jmcneill No need for SOC_VIRT, the default arm platform will take care of things.
 1.111 28-Oct-2022  jmcneill Remove commented out reference to zynqslcr driver that doesn't exist.
 1.110 27-Oct-2022  jmcneill Add driver for Zynq GPIO controller.
 1.109 25-Oct-2022  jmcneill Add basic Zynq-7000 PS clock subsystem driver.

PR# kern/57068
 1.108 28-Jun-2022  skrll branches: 1.108.2;
Add support for Lichee Pi Zero from Rui-Xiang Guo on port-arm
 1.107 02-Apr-2022  skrll Update to support EFI runtime outside the kernel virtual address space
by creating an EFI RT pmap that can be activated / deactivated when
required.

Adds support for EFI RT to ARM_MMU_EXTENDED (ASID) 32-bit Arm machines.

On Arm64 the usage of pmapboot_enter is reduced and the mappings are
created much later in the boot process -- now in cpu_startup_hook.
Backward compatiblity for KVA mapped RT from old bootaa64.efi is
maintained.

Adding support to other platforms should be easier as a result.
 1.106 21-Mar-2022  jmcneill hdaudio: Obsolete HDAUDIO_ENABLE_DISPLAYPORT and HDAUDIO_ENABLE_HDMI

Enable display port and HDMI devices by default rather than making this
a compile time option.
 1.105 28-Jan-2022  jakllsch drop WSDISPLAY_CUSTOM_BORDER, it's currently only used by vga(4) which isn't used on evbarm
 1.104 27-Jan-2022  jakllsch enable WSDISPLAY_CUSTOM_BORDER and WSDISPLAY_CUSTOM_OUTPUT to match i386 GENERIC
 1.103 13-Nov-2021  jmcneill Add rkpwm, rkspi
 1.102 13-Nov-2021  jmcneill add rkv1crypto
 1.101 12-Nov-2021  jmcneill arm: rockchip: Add support for RK3288 SoC.

The Rockchip RK3288 is a quad core Cortex-A17 SoC.
 1.100 26-Aug-2021  thorpej Add dsrtc* at iic?
 1.99 26-Jun-2021  nia move pad to GENERIC.common
 1.98 26-Jun-2021  nia Add pad(4) to arm kernels
 1.97 05-May-2021  jmcneill Add support for Allwinner V3s, from Rui-Xiang Guo.
 1.96 28-Apr-2021  bad enable sun8icrypto on Allwinner H3 too.

Allwinner H3 needs a slower mod clock according to the Linux driver.

tested on NanoPi R1.

thanks jmcneill@ and riastradh@ for advice.

XXX pullup-9
 1.95 08-Mar-2021  mlelstv branches: 1.95.4;
Add bluetooth also to 32bit kernel.
 1.94 08-Mar-2021  mlelstv early console for pico-pi-imx7
 1.93 31-Jan-2021  skrll Sort the EARLYCONS entries. NFCI.
 1.92 31-Jan-2021  skrll Remove duplicate EARLYCONS=imx entry (both are commented out)
 1.91 27-Jan-2021  skrll Add verbose output options commented out.
 1.90 29-Dec-2020  thorpej Add pcaiicmux.
 1.89 23-Dec-2020  skrll Deduplicate and group the USB stuff. Spotted by uwe@
 1.88 23-Dec-2020  skrll Tidyup the i.MX SoC support by

- Moving the FDTised code to sys/arch/arm/nxp to match the
sys/arch/{cpu}/{vendor} convention
- FDTise some more drivers
- Secure Non-Volatile Storage
- watchdog driver
- On chip OTP
- Match fsl,imx6dl
- Add some more drivers to GENERIC that will be supported by i.MX 6
boards
 1.87 23-Dec-2020  skrll More sorting
 1.86 23-Dec-2020  skrll <space><tab> consistency
 1.85 23-Dec-2020  skrll Sort some devices under each driver type
 1.84 23-Dec-2020  thorpej Add support for i2c-mux-gpio and i2c-mux-pinctrl I2C mux virtual
controllers.
 1.83 29-Sep-2020  jmcneill branches: 1.83.2;
Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime
detection instead of ifdefs where required.
 1.82 12-Jul-2020  skrll Add KUBSAN commented out.
 1.81 10-Jul-2020  skrll Add support for KASAN on ARMv[67]

Thanks to maxv for many pointers and reviews.
 1.80 10-Jun-2020  jmcneill FDT-ize i.MX7. I don't have a board so this has only been tested on QEMU.
 1.79 08-Jun-2020  jmcneill Add smscphy(4)
 1.78 20-May-2020  hkenken i.MX support merged into GENERIC kernel.
 1.77 18-May-2020  jmcneill Separate devicetree .dts -> .dtb building from kernel builds. They are now
part of a separate set, "dtb.tgz", and only built when MKDTB=yes. This
defaults to yes for earmv[67]* and aarch64, and no everywhere else.
 1.76 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.75 28-Mar-2020  isaki branches: 1.75.2;
Reduce default AUDIO_BLK_MS from 40msec to 10msec on all platform except m68k
(m68k uses 40msec default as before). And remove the option from GENERIC.
- It's not good idea to set such parameter in individual GENERICs.
- 4msec is (probably no problem for most modern real hardware but)
too aggressive to be default.
- 10msec is too severe for antique machines but it's hard to draw a line.
 1.74 15-Mar-2020  skrll Remove duplicate ehci @ fdt
 1.73 06-Feb-2020  mrg add MIDI sequencer device. now midiplay works on usb midi devices.
 1.72 26-Jan-2020  mrg enable bwfm at sdio.

known to now work on pinebook pro and banana pi m2 zero.
 1.71 25-Jan-2020  jmcneill Follow amd64 and set AUDIO_BLK_MS=4 by default
 1.70 04-Jan-2020  skrll branches: 1.70.2;
Supported SoC DTS audit
 1.69 04-Jan-2020  skrll sort DTS
 1.68 29-Nov-2019  jmcneill Add tiwdt
 1.67 03-Nov-2019  jmcneill Add tdahdmi, tilcdc, tifb
 1.66 01-Nov-2019  jmcneill Attach tiusb before the default pass since it adds a bus to reduce kernel output
 1.65 01-Nov-2019  jmcneill Add tigpmc, omapnand
 1.64 31-Oct-2019  jmcneill Add omapfb to FDT-ized TI port.
 1.63 30-Oct-2019  jmcneill Add twl, usbnopphy, tiusb, tiusbtll
 1.62 29-Oct-2019  jmcneill Add OMAP3 support.
 1.61 29-Oct-2019  jmcneill Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c
 1.60 28-Oct-2019  jmcneill Add tirng
 1.59 28-Oct-2019  jmcneill Add tigpio
 1.58 28-Oct-2019  jmcneill Enable TI AM335x DVFS support
 1.57 27-Oct-2019  jmcneill Add tiiic, tps65217pmic
 1.56 27-Oct-2019  jmcneill Add support for TI AM335x
 1.55 26-Oct-2019  jmcneill Do not search 64-bit directories for dts files
 1.54 08-Oct-2019  bad Add sun8i-h3-nanopi-duo2.dts and sun8i-h3-nanopi-r1.dts.

The former is untested.
 1.53 06-Oct-2019  skrll Disable tegradrm for now as it causes random crashes
 1.52 05-Sep-2019  bouyer Add spiflash support in GENERIC
Add a dts enabling spi0 and attaching the SPI flash for newer lime2-emmc
boards.
 1.51 14-Aug-2019  skrll Add a meson6_timer driver and provide a timecounter
 1.50 13-Aug-2019  skrll Updates to get Odroid-C1 in better shape since the last DTS import
 1.49 03-Aug-2019  tnn sun4ispi* at fdt?
 1.48 25-Jul-2019  skrll branches: 1.48.2;
More Whitespace
 1.47 25-Jul-2019  skrll Whitespace
 1.46 25-Jul-2019  skrll Remove a duplicate psci* at fdt?
 1.45 25-Jul-2019  jmcneill Replace the HDAUDIO_32BIT_ACCESS option with a runtime option. Set it for
tegra_hdaudio, but not for the pci attachment. Add hdaudio@pci to GENERIC64
 1.44 23-Jul-2019  jmcneill Attach uarts on pass 4, matching GENERIC64
 1.43 07-Jul-2019  skrll Bump MSGBUFSIZE
 1.42 07-Jul-2019  skrll Enable tegradrm and tegrafb now that jmcneill has fixed it
 1.41 22-Jun-2019  skrll Rename watchdog -> bcmpmwdog and sdhost to bcmsdhost
 1.40 14-Jun-2019  tnn add sunxihstimer* at fdt?
 1.39 13-Jun-2019  jmcneill add ahcisata at pci
 1.38 11-Jun-2019  skrll Initial commit of FDTised Xilinx Zynq-7000 support. Tested with

qemu-system-arm -M xilinx-zynq-a9 -dtb zynq-zed.dtb -kernel netbsd.ub \
-serial /dev/null -serial stdio

Based on a set of diffs/files from rjs@

sys/arch/arm/zynq is kept in place to allow existing kernels (e.g.
ZEDBOARD and PARALLELLA) to continue to build/work during the transition,
but eventually sys/arch/arm/zynq will be deleted.
 1.37 06-Jun-2019  jmcneill Attach sunxi dma controllers earlier.
 1.36 05-Jun-2019  thorpej Add a device tree for the Banana Pi BPI-P2 Zero. This device is
based on the BPI-M2 Zero, with a couple of small changes:
- On-board Ethernet (with optional PoE support)
- On-board eMMC.
- Card-detect for the SD card slot is wired up a little differently.

Kindly tested by Dima Veselov.
 1.35 28-May-2019  jmcneill Add sun9iusbclk, sun9iusbphy
 1.34 27-May-2019  jmcneill Add sun8iapbclk, sun9icpusclk, ac100ic
 1.33 26-May-2019  jmcneill Increase I2C_MAX_ADDR to 0xfff for sunxi RSB
 1.32 25-May-2019  jmcneill Add bcm2837-rpi-3-a-plus.dts, sun8i-h3-mapleboard-mp130.dts
 1.31 28-Apr-2019  jmcneill Add pcihost at fdt, qemufwcfg at fdt, nvme at pci, and virtio at pci
 1.30 13-Apr-2019  jmcneill Remove sun50i support from 32-bit GENERIC.
 1.29 07-Apr-2019  jmcneill Explicitly include bold8x16 and bold16x32 fonts
 1.28 31-Mar-2019  jmcneill Remove references to Exynos 4412 and 5410 (ports to these SoCs are incomplete)
 1.27 09-Mar-2019  skrll Sort DTS
 1.26 06-Mar-2019  jakllsch Enable WSDISPLAY_SCROLLSUPPORT in evbarm GENERICs.
 1.25 05-Mar-2019  jmcneill Add meson8b-ec100.dts, sun8i-h3-bananapi-m2-plus-v1.2.dts, sun8i-h3-orangepi-zero-plus2.dts, tegra124-apalis-v1.2-eval.dts
 1.24 05-Mar-2019  jmcneill Add DTS for Raspberry Pi Compute Module 3 IO board V3.0
 1.23 25-Feb-2019  jmcneill Add support for Amlogic S905 (Meson GXBB) SoCs.
 1.22 20-Jan-2019  jmcneill Add mesonrtc
 1.21 20-Jan-2019  jmcneill Add mesonsdhc
 1.20 19-Jan-2019  jmcneill Add WSDISPLAY_MULTICONS
 1.19 19-Jan-2019  jmcneill Add support for (FDT-ized) Amlogic Meson8b.
 1.18 17-Jan-2019  jmcneill Add exynos5422-odroidhc1.dts
 1.17 05-Jan-2019  skrll Add some comments around EARLYCONS
 1.16 05-Jan-2019  aymeric Rename the DE0 Nano SoC dts file to its new linux/uboot name
 1.15 03-Jan-2019  jmcneill Attach sunxirsb earlier so axppmic regulators are available for usbphy
 1.14 22-Nov-2018  aymeric Switch the DE0 Nano SoC to the GENERIC kernel.
 1.13 05-Nov-2018  skrll Merge in VIRT now that qemu in pkgsrc can support it
 1.12 31-Oct-2018  skrll Turn off DIAGNOSTIC and DEBUG by default
 1.11 30-Oct-2018  skrll Merge SUNXI completely into GENERIC
 1.10 30-Oct-2018  skrll Merge EXYNOS into GENERIC completely. GENERIC nows boots on ODROID-XU4
 1.9 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.8 18-Oct-2018  skrll Trailing whitespace
 1.7 23-Aug-2018  skrll WIP checkpoint
 1.6 19-Aug-2018  skrll Commit work in progress GENERIC configuration without the other necessary
changes at this point
 1.5 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.4 30-Jun-2018  jmcneill Attach simplebus on pass 0
 1.3 30-Jun-2018  jmcneill cpus: use fdt_add_bus
 1.2 30-Jun-2018  jmcneill Allow nodes to attach child devices using the same sorting rules as used
by the simplebus driver.
 1.1 01-Apr-2018  ryo branches: 1.1.2; 1.1.4;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1.4.3 21-Apr-2020  martin Sync with HEAD
 1.1.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.2.8 26-Jan-2019  pgoyette Sync with HEAD
 1.1.2.7 18-Jan-2019  pgoyette Synch with HEAD
 1.1.2.6 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.2.5 20-Oct-2018  pgoyette Sync with head
 1.1.2.4 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.2.3 28-Jul-2018  pgoyette Sync with HEAD
 1.1.2.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.2.1 01-Apr-2018  pgoyette file GENERIC was added on branch pgoyette-compat on 2018-04-07 04:12:12 +0000
 1.48.2.8 18-May-2020  martin Pull up following revision(s) (requested by isaki in ticket #911):

sys/dev/audio/audiodef.h: revision 1.13
sys/dev/audio/audiodef.h: revision 1.14
sys/arch/sparc/include/param.h: revision 1.74
sys/arch/evbarm/conf/GENERIC64: revision 1.148
sys/arch/sh3/include/param.h: revision 1.25
sys/arch/evbarm/conf/GENERIC: revision 1.75
sys/arch/m68k/include/param.h: revision 1.23
sys/arch/amd64/conf/GENERIC: revision 1.564
sys/arch/hppa/include/param.h: revision 1.27
sys/dev/audio/audio.c: revision 1.68
sys/arch/vax/include/param.h: revision 1.63
sys/dev/audio/audio.c: revision 1.69

Reduce default AUDIO_BLK_MS from 40msec to 10msec on all platform except m68k
(m68k uses 40msec default as before). And remove the option from GENERIC.

- It's not good idea to set such parameter in individual GENERICs.
- 4msec is (probably no problem for most modern real hardware but)
too aggressive to be default.
- 10msec is too severe for antique machines but it's hard to draw a line.

Set AUDIO_BLK_MS 40 msec on other old(slow) architectures not only m68k.

Thanks tsutsui@ for comment about architecture choice.
And move it from audiodef.h to audio.c as suggested by joerg@.


Move machine dependent AUDIO_BLK_MS default value to <machine/param.h>.
If the port has __AUDIO_BLK_MS in <machine/param.h>, it will be used.

Otherwise the default value (currently 10 msec) defined in audio.c will
be used. This mechanism is for very old ports which cannot satisfactorily
handle 10 msec block. Currently hppa, m68k, sh3, sparc(!64) and vax are.

For port maintainers, if general models in your port cannot satisfactorily
handle 10 msec block, please consider to define your suitable longer period
(40 msec would be a good first choice).

But please don't be eager to make the default value shorter.
<machine/param.h> was discussed in source-changes-d. It's better than
ifdef storm, or adding 60+ new header files in every arch/*/include/
directories for this. Thanks mrg@, ad@, and everyone.
http://mail-index.netbsd.org/source-changes-d/2020/05/01/msg012572.html
 1.48.2.7 02-Apr-2020  martin Pull up following revision(s) (requested by mrg in ticket #817):

sys/arch/evbarm/conf/GENERIC: revision 1.73
sys/arch/evbarm/conf/GENERIC64: revision 1.136

add MIDI sequencer device. now midiplay works on usb midi devices.
 1.48.2.6 27-Jan-2020  martin Pull up following revision(s) (requested by nia in ticket #657):

sys/dev/files.audio: revision 1.13
sys/dev/files.audio: revision 1.14
sys/arch/amd64/conf/GENERIC: revision 1.559
sys/arch/evbarm/conf/GENERIC: revision 1.71
sys/arch/evbarm/conf/GENERIC64: revision 1.134
sys/dev/audio/audiodef.h: revision 1.8

Set AUDIO_BLK_MS=4 - unlikely to cause significant overhead on non-m68k.

Several of us have been setting this in /etc/sysctl.conf for months, to
get better performance from applications that require synced audio, etc.
It's also mentioned as a good value with low overhead on most archs here:
href="https://mail-index.netbsd.org/tech-kern/2019/12/07/msg025830.html

We could probably go lower, but this is low enough to make most/all
software run well, removing frame drops. It's also low enough to get
emulators/mednafen to stop complaining in the console.

defopt AUDIO_BLK_MS

Follow amd64 and set AUDIO_BLK_MS=4 by default

defopt -> defparam (oops)
 1.48.2.5 08-Dec-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #499):

sys/arch/arm/ti/ti_wdt.c: revision 1.1
sys/arch/arm/ti/am3_prcm.c: revision 1.12
sys/arch/arm/ti/files.ti: revision 1.21
sys/arch/evbarm/conf/GENERIC: revision 1.68

Add TI OMAP watchdog timer driver.
Add tiwdt
 1.48.2.4 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.48.2.3 17-Oct-2019  martin Pull up following revision(s) (requested by bad in ticket #341):

sys/arch/evbarm/conf/GENERIC: revision 1.54
sys/arch/arm/dts/sun8i-h3-nanopi-r1.dts: revision 1.1
sys/arch/arm/dts/sun8i-h3-nanopi-r1.dts: revision 1.2
sys/arch/arm/dts/sun8i-h3-nanopi-duo2.dts: revision 1.1

Add sun8i-h3-nanopi-r1.dts and sun8i-h3-nanopi-duo2.dts.

From https://github.com/armbian/build/blob/master/patch/kernel/sunxi-next/xxx-add-nanopi-r1-and-duo2.patch
Cherry pick a few changes from the armbian u-boot patch.

Makes my NanoPi R1 boot reliably.

From https://github.com/armbian/build/blob/master/patch/u-boot/u-boot-sunxi/add-nano+pi-r1-and-duo2.patch
Add sun8i-h3-nanopi-duo2.dts and sun8i-h3-nanopi-r1.dts.

The former is untested.
 1.48.2.2 06-Oct-2019  martin Pull up following revision(s) (requested by skrll in ticket #290):

sys/arch/evbarm/conf/GENERIC: revision 1.53

Disable tegradrm for now as it causes random crashes
 1.48.2.1 15-Aug-2019  martin Pull up following revision(s) (requested by skrll in ticket #55):

sys/arch/arm/cortex/a9wdt.c: revision 1.10
sys/arch/evbarm/conf/HUMMINGBOARD: revision 1.9
sys/arch/evbarm/conf/GENERIC: revision 1.50
sys/arch/evbarm/conf/NITROGEN6X: revision 1.24
sys/arch/arm/cortex/a9tmr_var.h: revision 1.7
sys/arch/arm/fdt/files.fdt: revision 1.29
sys/arch/arm/amlogic/meson_platform.c: revision 1.12
sys/arch/arm/amlogic/meson8b_pinctrl.c: revision 1.2
sys/arch/arm/amlogic/meson_platform.c: revision 1.13
sys/arch/evbarm/conf/BCM5301X: revision 1.34
sys/arch/arm/dts/meson8b.dtsi: revision 1.6
sys/arch/arm/fdt/a9ptmr_fdt.c: revision 1.1
sys/arch/arm/dts/meson8b.dtsi: revision 1.7
sys/arch/arm/cortex/a9ptmr_var.h: revision 1.1
sys/arch/evbarm/conf/PANDABOARD: revision 1.30
sys/arch/evbarm/conf/DUOVERO: revision 1.14
sys/arch/arm/cortex/a9ptmr.c: revision 1.1
sys/arch/arm/cortex/a9ptmr.c: revision 1.2
sys/arch/arm/fdt/a9wdt_fdt.c: revision 1.1
sys/arch/evbarm/conf/BCM56340: revision 1.19
sys/arch/evbarm/conf/CUBOX-I: revision 1.23
sys/arch/arm/amlogic/meson8b_clkc.c: revision 1.4
sys/arch/evbarm/conf/PARALLELLA: revision 1.7
sys/arch/arm/cortex/files.cortex: revision 1.12
sys/arch/arm/dts/meson8b-odroidc1.dts: revision 1.4
sys/arch/arm/cortex/a9wdt.c: revision 1.9
sys/arch/evbarm/conf/ZEDBOARD: revision 1.6

spaces to tab

-

Add a driver for the A5/A9 Private timer.
While here FDTise the Watchdog driver.

-

Update for recent a9wdt changes
-

Trailing whitespace

-
Updates to get Odroid-C1 in better shape since the last DTS import

-

Various fixes / changes
- don't use prescaler
- improve AB_DEBUG output
- fix a9ptmr_delay to work with a decrementing counter!
Thanks to jmcneill@ for proving I'm an idiot

-

Add eth_rxd3 and eth_rxd2 pinctrl groups

-

Catch up to recent mainline dts changes
 1.70.2.2 29-Feb-2020  ad Sync with head.
 1.70.2.1 25-Jan-2020  ad Sync with head.
 1.75.2.1 20-Apr-2020  bouyer Sync with HEAD
 1.83.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.83.2.1 03-Jan-2021  thorpej Sync w/ HEAD.
 1.95.4.1 13-May-2021  thorpej Sync with HEAD.
 1.108.2.1 02-Oct-2022  bouyer Update config for new DRM world.
 1.115.2.1 28-May-2023  martin Pull up following revision(s) (requested by bouyer in ticket #182):

sys/arch/arm/nxp/imx6_platform.c: revision 1.8 (via patch)
sys/arch/arm/nxp/imx6_platform.c: revision 1.9 (via patch)
sys/arch/arm/nxp/imx6_ccmvar.h: revision 1.2
sys/arch/arm/nxp/imx6_ccmvar.h: revision 1.3
distrib/sets/lists/dtb/ad.earmv7hf: revision 1.10
sys/arch/arm/nxp/imx6sx_clk.c: revision 1.1
sys/arch/arm/nxp/imx6_ccm.c: revision 1.3
sys/arch/arm/nxp/imx6sx_clk.c: revision 1.2
sys/arch/arm/nxp/imx6_ccm.c: revision 1.4
sys/arch/arm/nxp/imx6sx_clk.c: revision 1.3
sys/arch/arm/nxp/imx6_spi.c: revision 1.8
sys/arch/arm/nxp/imx_sdhc.c: revision 1.8
sys/arch/arm/imx/imxusb.c: revision 1.19
sys/arch/arm/nxp/imx6_usb.c: revision 1.7
sys/arch/arm/nxp/imx6_usb.c: revision 1.8
sys/arch/arm/nxp/files.imx: revision 1.3
sys/arch/arm/nxp/imx6_clk.c: revision 1.5
sys/arch/arm/nxp/imx6_clk.c: revision 1.6
sys/arch/arm/nxp/imx6_reg.h: revision 1.2
sys/arch/arm/nxp/imx6_gpc.c: revision 1.4
sys/arch/arm/imx/imx23_usb.c: revision 1.6
sys/dtb/arm/Makefile: revision 1.6
sys/arch/arm/imx/imxusbvar.h: revision 1.7
sys/arch/evbarm/conf/GENERIC: revision 1.119
sys/arch/arm/nxp/imx6_ccmreg.h: revision 1.2
sys/arch/arm/nxp/imx6_iomux.c: revision 1.3
sys/arch/arm/nxp/imx6_usbphy.c: revision 1.3
sys/arch/arm/nxp/imx6_pcie.c: revision 1.7

In preparation of imx6sx support, move imx6q-specific definitions from
imx6_ccm.c to imx6_clk.c, and prefix with IMX6Q/imx6q:
- Clock IDs and related struct imx_clock_id
- Clock Parents and Divider Tables
- struct imx6_clk
and related static functions

Add a pointer to struct imx6_clk, and it's size to imx6ccm_softc

Pass a pointer to imx6ccm_softc to all functions from imx6_ccm.c
NFCI

i.mx6sx CPU support in the CCM module: the clock tree si different from
the i.mx6q
- move i.mx6q-specific functions and data to imx6_clk.c
- add i.mx6sx specific imx6sx_clk.c
- add a imx6sxccm device
i.mx6sx platform support:
- the i.mx6sx has a third AIPS, so KERNEL_IO_IOREG map has to be larger
- the uart clock is at 24Mhz instead of 80.

Add i.mx6sx compatible entries to drivers that should work as is.

Fix typo, preventing i2c4 from attaching
remove commented out entries, leftover from the imx6q ccm code.
introduce imx6sx_platform_bootstrap(), which calls imx_platform_bootstrap()
and then checks for an "arm,cortex-a9-twd-timer" compatible entry in the
fdt. If not present, create one so that a9ptmr will attach.
We need this entry as this is the only timer we support for this platform,
but the upstream imx6sx.dtsi is missing the entry for it (and all A9 CPUs
have it anyway).

Thanks to Jared McNeill for advices and review.

Also build dtb files for CONFIG_SOC_IMX6SX


experimental IMX6SX support:
- add options SOC_IMX6SX
- add imx6sxccm device
tested on a UDOO Neo Full board.

known to work:
- uart (console)
- sdmmc0
- ethernet (enet0)
known to not work:
- USB (device not detected).

needs a modified device tree at this time (add arm,cortex-a9-twd-timer entry
copied from the imx6qdl dtsi); for unkown reason the imx6sx.dtsi file lacks
an entry for the a9ptmr although it is present in the soc (and, from what I
understood, in all cortex A9 SoCs).

Add imx6sx dtb files

The i.mx6sx has 2 OTG and one host-only USB controller, while the 6q has
only one OTG.

Add a "uintptr_t data" argument to all sc_*_md_hook callbacks, which
gets the sc_md_hook_data value when called.

In imx6_usb.c use this to pass the number of OTG controllers to the callbacks.
imx6_usb_init() can then properly call init_otg() or init_h1() for unit 1.

In imx6_usb_attach(), test if there is a vbus-supply property in the fdt,
and enable the regulator if present.

Now the USB port of the UDOO Neo works.
 1.120.6.1 02-Aug-2025  perseant Sync with HEAD
 1.55 09-Oct-2025  skrll Add the beginnings of a GENERIC_V5 kernel that targets armv5 boards and
uses FDT.

In this first iteration some support is added for OLinuXino boards.

Thanks to Yuri Honegger for doing the vast majority of the work.
 1.54 07-Nov-2024  msaitoh Add SYSCTL_INCLUDE_DESCR to evbarm/conf/GENERIC.common.
 1.53 11-Aug-2024  skrll Improve a comment.
 1.52 29-Jan-2024  christos branches: 1.52.2;
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.51 06-Feb-2023  simonb Enable UFS_DIRHASH (missed with previous change) and UFS_EXTATTR
(mistakenly commented out with previous change).
 1.50 29-Sep-2022  riastradh branches: 1.50.4;
swwdog(4): Add to GENERIC kernels.

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

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

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

PR kern/29702
 1.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 25-Mar-2022  jmcneill evbarm: Enable USERCONF option
 1.47 26-Jun-2021  nia move pad to GENERIC.common
 1.46 18-Jan-2021  nia branches: 1.46.4;
disable compat_ossaudio, it's not useful without compat_linux

when running netbsd binaries we use userspace libossaudio instead.

"oh. plz undo then. badly named option" - jmcneill
 1.45 16-Jan-2021  jmcneill Add VND_COMPRESSION option
 1.44 16-Jan-2021  jmcneill Add PPP_BSDCOMP, PPP_DEFLATE, PPP_FILTER options
 1.43 16-Jan-2021  jmcneill Add UFS_ACL and UFS_EXTATTR options
 1.42 16-Jan-2021  jmcneill Add QUOTA and QUOTA2 options
 1.41 16-Jan-2021  jmcneill Add COMPAT_OSSAUDIO
 1.40 22-Dec-2020  uwe evbarm: GENERIC.common - g/c the commented out copy of pseudo-device fss.
 1.39 27-Sep-2020  roy branches: 1.39.2;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.38 17-Aug-2020  mrg enable raidframe.
 1.37 13-Jun-2020  ad Comment out "options PMAPCOUNTERS". It adds much overhead and is mostly of
interest to people hacking on the VM system or pmap. Proposed on port-arm@.
 1.36 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.35 27-Feb-2020  riastradh branches: 1.35.4;
Add cgd to evbarm GENERIC.common.
 1.34 21-Jul-2019  rin branches: 1.34.2; 1.34.4;
Enable DISKLABEL_EI, which is useful for machines that support both endian.
 1.33 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.32 26-Dec-2018  skrll Add BUSDMA_COUNTERS
 1.31 10-Nov-2018  martin Add options NTP and enable clockctl.
 1.30 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.29 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.28 01-Apr-2018  ryo branches: 1.28.2;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.27 10-Jan-2018  jakllsch branches: 1.27.2;
Revert previous. I misunderstood how it now works.
 1.26 10-Jan-2018  jakllsch Add COMPAT_70 via compat_netbsd70.conf.
 1.25 10-Jan-2018  jmcneill add pseudo-device ipsecif
 1.24 28-Nov-2017  skrll branches: 1.24.2;

+gif
 1.23 12-Oct-2017  skrll Trailing whitespace
 1.22 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.21 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

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

ok riastradh
 1.20 10-Aug-2017  jakllsch enable 'options NTP'
 1.19 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.18 22-Mar-2017  skrll branches: 1.18.6;
Drop INSECURE - expect /etc/modules.conf for dtrace
 1.17 20-Mar-2017  skrll +KDTRACE_HOOKS and INSECURE
 1.16 20-Mar-2017  skrll convert spaces to tab
 1.15 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.14 26-Nov-2016  christos branches: 1.14.2;
mention PAX_SEGVGUARD dependency on FILEASSOC
 1.13 21-May-2016  christos branches: 1.13.2;
Add various security options; enables PaX ASLR/MPROTECT
 1.12 12-Nov-2015  jmcneill enable NFSSERVER (mostly to silence module warning)
 1.11 05-Nov-2015  skrll Enable DIAGNOSTIC
 1.10 20-Aug-2015  riz options FFS_EI, and options IPSEC for GENERIC.common . No objections
when raised on port-arm, and only affects those boards including this
file.

Tested on BPI and ODROID-C1
 1.9 07-Aug-2015  maxv Remove KMEMSTATS.
 1.8 22-Jul-2015  skrll Trailing whitespace.
 1.7 20-Apr-2015  jmcneill Add pseudo-devices crypto, swcrypto, bridge, vlan, ppp, pppoe, tun, tap,
gre, and npf.
 1.6 19-Apr-2015  matt Add JIT options and DKWEDGE_{AUTODISCOVER,GPT}
 1.5 18-Apr-2015  skrll Enable COMPAT_NETBSD32
 1.4 12-Apr-2015  jmcneill replace NFS_BOOT_BOOTP with NFS_BOOT_DHCP
 1.3 11-Apr-2015  matt options<space><tab>
 1.2 03-Apr-2015  jmcneill branches: 1.2.2;
use conf/filesystems.config
 1.1 03-Apr-2015  jmcneill Move common non-device stuff to GENERIC.common. Simplify board configs,
and let them all share common settings.
 1.2.2.8 28-Aug-2017  skrll Sync with HEAD
 1.2.2.7 05-Dec-2016  skrll Sync with HEAD
 1.2.2.6 29-May-2016  skrll Sync with HEAD
 1.2.2.5 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.2.2.4 22-Sep-2015  skrll Sync with HEAD
 1.2.2.3 06-Jun-2015  skrll Sync with HEAD
 1.2.2.2 06-Apr-2015  skrll Sync with HEAD
 1.2.2.1 03-Apr-2015  skrll file GENERIC.common was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.13.2.3 26-Apr-2017  pgoyette Sync with HEAD
 1.13.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.13.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.14.2.2 21-Apr-2017  bouyer Sync with HEAD
 1.14.2.1 18-Apr-2017  bouyer Include options CAN and canloop pseudo-device by default.
Add awincan0 device to CUBIEBOARD
 1.18.6.4 18-Apr-2018  martin Requested by skrll in ticket #60:
sys/arch/amd64/conf/GENERIC
sys/arch/amd64/conf/XEN3_DOM0
sys/arch/amd64/conf/XEN3_DOMU
sys/arch/cobalt/conf/GENERIC
sys/arch/evbarm/conf/BEAGLEBONE
sys/arch/evbarm/conf/BEAGLEBOARD
sys/arch/evbarm/conf/BEAGLEBOARDXM
sys/arch/evbarm/conf/GENERIC.common
sys/arch/i386/conf/GENERIC
sys/arch/i386/conf/XEN3_DOM0
sys/arch/i386/conf/XEN3_DOMU
sys/arch/mvmeppc/conf/GENERIC
sys/arch/shark/conf/GENERIC
sys/arch/sparc64/conf/GENERIC
sys/arch/zaurus/conf/GENERIC

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


Re-enable option DIAGNOSTIC for now, will remove it again later.
 1.18.6.2 14-Aug-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #207):
sys/arch/evbarm/conf/GENERIC.common: revision 1.20
enable 'options NTP'
 1.18.6.1 05-Jul-2017  martin Remove options DIAGNOSTIC/DEBUG and PAX debug options.
Requested by snj in #60.
 1.24.2.2 03-Dec-2017  jdolecek update from HEAD
 1.24.2.1 28-Nov-2017  jdolecek file GENERIC.common was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.27.2.4 18-Jan-2019  pgoyette Synch with HEAD
 1.27.2.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.27.2.2 28-Jul-2018  pgoyette Sync with HEAD
 1.27.2.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.28.2.4 21-Apr-2020  martin Sync with HEAD
 1.28.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.28.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.28.2.1 10-Jun-2019  christos Sync with HEAD
 1.34.4.1 29-Feb-2020  ad Sync with head.
 1.34.2.2 13-Aug-2020  martin Pull up following revision(s) (requested by nia in ticket #1047):

sys/arch/evbarm/conf/GENERIC.common: revision 1.35

Add cgd to evbarm GENERIC.common.
 1.34.2.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.35.4.1 20-Apr-2020  bouyer Sync with HEAD
 1.39.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.39.2.1 03-Jan-2021  thorpej Sync w/ HEAD.
 1.46.4.1 01-Aug-2021  thorpej Sync with HEAD.
 1.50.4.2 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.50.4.1 08-Feb-2023  martin Pull up following revision(s) (requested by simonb in ticket #70):

sys/arch/evbarm/conf/GENERIC.common: revision 1.51

Enable UFS_DIRHASH (missed with previous change) and UFS_EXTATTR
(mistakenly commented out with previous change).
 1.52.2.1 02-Aug-2025  perseant Sync with HEAD
 1.229 09-Oct-2025  skrll Add the beginnings of a GENERIC_V5 kernel that targets armv5 boards and
uses FDT.

In this first iteration some support is added for OLinuXino boards.

Thanks to Yuri Honegger for doing the vast majority of the work.
 1.228 05-Aug-2025  skrll Add Amlogic Meson I2C.
 1.227 04-Aug-2025  skrll Add a port of the FreeBSD driver for the VMware PV SCSI controller found
in VMware's ESXi product.

Tested on ESXi/Arm such that an installation from ISO succeeds and boots.
 1.226 04-Jul-2025  andvar branches: 1.226.2;
s/Cryptograhic/Cryptographic/ in comment.
 1.225 03-Jun-2025  rjs Add disabled entries for USB-C on RK3399.
 1.224 27-Mar-2025  riastradh evbarm/GENERIC64: Enable vio9p(4).

Tested under qemu.

PR kern/59211: vio9p(4): missing from various GENERICs and MAKEDEVs
 1.223 27-Mar-2025  riastradh virtio(4): Consolidate kernel configs.

No functional change intended.

Leave `# XXX ?' comments where I don't know why the driver in
question is excluded. (Typical reason is that PAGE_SIZE is not 4096
but I didn't investigate -- if you do investigate, please either
update the comment if you determine a reason, or enable the driver if
you don't.)

PR kern/59211: vio9p(4): missing from various GENERICs and MAKEDEVs
 1.222 30-Dec-2024  jmcneill arm64: Add support for Snapdragon X1E battery and charger sensors.

This is a port of a set of drivers from OpenBSD, adapted to use ACPI
instead of FDT bindings. These drivers are required to boot firmware on
the application DSP which is required to read sensors. This is an impressive
collection of work on the OpenBSD side -- big thank you to Patrick for writing
this code and his help with this porting effort.

Firmware is signed and as a result may be board specific. The qcompas(4)
driver looks for firmware files in qcompas/<subsystem> where <subsystem> is
the string returned by the _SUB method on the ADSP device node. For example,
on Lenovo ThinkPad T14s Gen 6 the subsystem ID is "233817AA".

The files "qcadsp8380.mbn" and "adsp_dtbs.elf" must be placed in
this directory to read sensor data. These files can be obtained by
downloading the appropriate OEM drivers for Windows.

When everything is online, the sensors are reported by sysmon_envsys and
the charger creates a sysmon_pswitch of type PSWITCH_TYPE_ACADAPTER. The
goal is to match the acpiacad(4) and acpibat(4) behaviour as much as possible.

XXX Firmware loading sometimes fails, still looking into this. When this
happens, sensors are not registered.

[battery]
design voltage: 0.000 V
voltage: 12.980 V
design cap: 58.000 Wh
last full cap: 59.810 Wh
charge: 59.740 2.000% 8.998% Wh (99.88%)
charge rate: N/A
discharge rate: N/A
charging: FALSE
charge state: NORMAL
discharge cycles: 4 0 0 0 0 none
temperature: 30.230 degC
[charger]
connected: TRUE
 1.221 09-Dec-2024  jmcneill enable ikbd(4)
 1.220 08-Dec-2024  jmcneill arm64: Add qcomiic, qcomgpio, ihidev, ims
 1.219 27-Aug-2024  riastradh amd64, evbarm, i386: Add acpivmgenid(4) to GENERIC.

PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork
 1.218 16-Jul-2024  riastradh viocon(4): Add to various kernel configs.
 1.217 30-Jun-2024  jmcneill Add example EARLYCONS entry for Ampere Altra/Altra Max
 1.216 17-May-2024  nia branches: 1.216.2;
Add some "simpler" PCI audio devices to aarch64's GENERIC64

These serve as alternatives to hdaudio. Tested in QEMU.
 1.215 09-May-2024  pho port-arm/58194: Resurrect vmt(4) from bitrot

On this architecture vmt(4) used to search for a node "/hypervisor" in the
FDT and probed the VMware hypervisor call only when the node was
found. However, things appear to have changed and VMware no longer provides
the FDT node.

Since vmt(4) doesn't actually need to read anything from FDT, and the
hypervisor call logically resides in virtual CPUs themselves, it would be
better to attach it directly to cpu, just like how it's probed on x86.
 1.214 11-Oct-2023  rin aarch64/GENERIC64: Add ixl(4)

Works just fine for little-endian on LX2K with UEFI firmware.

Not tested for big-endian yet; attach fails on ROCKPro64 due to
host controller problem.

OK yamaguchi@
 1.213 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.212 15-Jul-2023  riastradh evbarm: Enable HEARTBEAT option in GENERIC and GENERIC64 kernels.
 1.211 16-Apr-2023  jmcneill DesignWare watchdog ACPI attach glue
 1.210 25-Feb-2023  skrll Restore the ability to have EARLYCONS work for the QEMU virt after
SOC_VIRT got removed.
 1.209 11-Feb-2023  mrg add siisata(4). been running for ages on a rockpro64.
 1.208 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.207 24-Dec-2022  nia PR port-arm/57044 allow vcaudio on RPI 4 to attach when booting with EFI
 1.206 29-Oct-2022  jmcneill branches: 1.206.2;
No need for SOC_VIRT, the default arm platform will take care of things.
 1.205 23-Aug-2022  ryo add eqos(4) for RK3588
 1.204 23-Aug-2022  ryo Add initial support for RK3588 SoC (CRU and IOMUX)
 1.203 20-Aug-2022  martin config cosmetics (avoid a warning from config(1):
no need to repeat COMPAT_NETBSD32, we get that from GENERIC.common
already (where it is used for aout support, but here it means elf32
support). Add a comment explaining what goes on.
 1.202 13-Aug-2022  jmcneill aarch64: Add tpm driver to GENERIC64 kernel.
 1.201 10-May-2022  skrll Add a driver for the Apple RTKit based System Management Controller
found on M1 SoCs. From OpenBSD.
 1.200 10-May-2022  skrll Add a driver for the Apple M1 I2C controller. From OpenBSD.
 1.199 07-May-2022  skrll Add support for Apple silicon NVME. Ported from OpenBSD.
 1.198 27-Apr-2022  skrll Add support for the mailbox that provides a communications channel with
additional cores integrated in Apple Silicon.

Also, add an implementation for the protocol to communicate with
coprocessors running firmware based Apple's RTKit OS.

From OpenBSD.
 1.197 27-Apr-2022  skrll Add a driver for the Apple GPIO controller found in Apple silicon.

Derived from the OpenBSD driver.
 1.196 27-Apr-2022  skrll Add support for the power domain controller found in Apple silicon
machines.
 1.195 21-Mar-2022  jmcneill hdaudio: Obsolete HDAUDIO_ENABLE_DISPLAYPORT and HDAUDIO_ENABLE_HDMI

Enable display port and HDMI devices by default rather than making this
a compile time option.
 1.194 31-Jan-2022  ryo add support Hardware updates to Access flag and Dirty state (FEAT_HAFDBS)

- The DBM bit of the PTE is now used to determine if it is writable, and
the AF bit is treated entirely as a reference bit. A valid PTE is always
treated as readable. There can be no valid PTE that is not readable.
- LX_BLKPAG_OS_{READ,WRITE} are used only for debugging purposes,
and has been superseded by LX_BLKPAG_AF and LX_BLKPAG_DBM.
- Improve comment

The need for reference/modify emulation has been eliminated,
and access/permission faults have been reduced, however,
there has been little change in overall performance.
 1.193 28-Jan-2022  jakllsch drop WSDISPLAY_CUSTOM_BORDER, it's currently only used by vga(4) which isn't used on evbarm
 1.192 27-Jan-2022  jakllsch enable WSDISPLAY_CUSTOM_BORDER and WSDISPLAY_CUSTOM_OUTPUT to match i386 GENERIC
 1.191 09-Jan-2022  jmcneill dwcmmc: Add ACPI attach support
 1.190 03-Jan-2022  jmcneill Add driver for DesignWare Ethernet Quality-of-Service controller.
 1.189 24-Dec-2021  jmcneill Add ohci at acpi bindings. No known PNP IDs for this, so match using _CLS
and the PCI class/subclass/interface codes. Maybe this will take off.
 1.188 27-Nov-2021  ryo add options COMPAT_LINUX32 (commented out)
 1.187 10-Oct-2021  jmcneill efi: Add /dev/efi character device

Introduce a /dev/efi character device that provides a means for accessing
UEFI RT variable services from userland. Compatible with the FreeBSD ioctl
interface for ease of porting their libefivar and associated tools.

The ioctl interface is defined in sys/efiio.h.

To enable support for this on an arch, the kernel needs `pseudo-device efi`
and the MD EFI implementation needs to register its backend by calling
efi_ops_register(). This commit includes an implementation for Arm.
 1.186 23-Sep-2021  ryo add support COMPAT_LINUX for aarch64
 1.185 13-Sep-2021  jmcneill Add support for Apple M1 debug UART.
 1.184 07-Sep-2021  msaitoh space+tab
 1.183 30-Aug-2021  jmcneill Add initial support for Apple M1.

Currently supported devices:
- Interrupt controller
- IOMMU
- PCIe (USB3 and ethernet)
- Reboot via watchdog
- Framebuffer console
 1.182 26-Aug-2021  thorpej Add dsrtc* at iic?
 1.181 19-Aug-2021  msaitoh Indent.
 1.180 18-Aug-2021  msaitoh It's time to add ixg(4) and ixv(4).
 1.179 26-Jun-2021  nia move pad to GENERIC.common
 1.178 26-Jun-2021  nia Add pad(4) to arm kernels
 1.177 01-Mar-2021  jakllsch branches: 1.177.4;
enable rge(4) on x86 and evbarm64
 1.176 27-Jan-2021  skrll Add verbose output options commented out.
 1.175 24-Jan-2021  jmcneill Add support for NXP Layerscape I2C controllers.
 1.174 21-Jan-2021  nia add vcaudio (intentionally this time)

gives working audio output on rpi3 without needing to run a 32-bit image.
 1.173 21-Jan-2021  nia remove accidental additions
 1.172 21-Jan-2021  nia add a commented out compat_ossaudio wherever there's compat_linux

requested by mrg
 1.171 10-Jan-2021  jmcneill Disable nouveau for now. It can cause long pauses at boot and sometimes
fails to initialize the display at all.
 1.170 01-Jan-2021  ryo Add support for Amlogic S922X(meson-g12b) SoCs
 1.169 29-Dec-2020  thorpej Add pcaiicmux.
 1.168 23-Dec-2020  thorpej Add support for i2c-mux-gpio and i2c-mux-pinctrl I2C mux virtual
controllers.
 1.167 13-Dec-2020  jmcneill SBBR says that the CPPC interface should be used on AArch64 instead of
P-states and T-states. Enable acpipcc and acpicppc, and disable acpicpu.
 1.166 07-Dec-2020  jmcneill acpicpu: Add support for ACPI P-states and T-states on Arm.
 1.165 28-Oct-2020  rin branches: 1.165.2;
Add smscphy(4) found on some RPI models.
 1.164 27-Oct-2020  ryo move vmt(4) from MD to MI, and add support vmt on aarch64. tested on ESXi-Arm Fling

- move from sys/arch/x86/x86/{vmt.c,vmtreg.h,vmtvar.h} to sys/dev/vmt/{vmt_subr.c,vmtreg.h,vmtvar.h},
and split the attach part of the cpufeaturebus and fdt
- add aarch64 vmware backdoor op
- add include guard to vmt{reg,var}.h
- Yet there is still some little-endian dependency. it needs to be fixed in order to work properly on aarch64eb
 1.163 15-Oct-2020  ryo add vmx(4) driver. tested on ESXi-Arm
 1.162 29-Sep-2020  jmcneill Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime
detection instead of ifdefs where required.
 1.161 02-Aug-2020  maxv Add support for Privileged Access Never (ARMv8.1-PAN).

PAN provides the same functionality as SMAP on x86: it forbids kernel
access to userland pages when PSTATE.PAN=1, and allows such accesses when
PSTATE.PAN=0.

We clear SCTLR_SPAN, to guarantee that PAN=1 each time the kernel is
entered. We catch PAN faults and panic right away without further
processing. In copyin, copyout, etc, we temporarily authorize access to
userland pages.

PAN is a very useful exploit mitigation. Reviewed by ryo@, thanks. Tested
on Qemu. Enabled by default.
 1.160 16-Jul-2020  skrll pmapboot_enter simplication
- bootpage_alloc in asm becomes pmapboot_pagealloc in C
- PMAPBOOT_ENTER_NOBLOCK is removed as it's not used
- PMAPBOOT_ENTER_NOOVERWRITE is removed as it's now always on
- physpage_allocator argument is removed as it's always
pmapboot_pagealloc
- Support for EARLYCONS without CONSADDR is removed so that the identity
map for CONSADDR is always known.

For the assembly files:
2 files changed, 40 insertions(+), 89 deletions(-)

LGTM ryo
 1.159 18-May-2020  jmcneill Separate devicetree .dts -> .dtb building from kernel builds. They are now
part of a separate set, "dtb.tgz", and only built when MKDTB=yes. This
defaults to yes for earmv[67]* and aarch64, and no everywhere else.
 1.158 17-May-2020  riastradh Rockchip crypto engine RNG driver.

As found on the rk3288 and rk3399. This driver only supports the
TRNG, not the rest of the crypto engine, although it uses the AES unit
to do a self-test at attach time to verify that the engine works.

There seem to be two versions of the Rockchip crypto engine, v1 and
v2; this one is for v1. Can't name a driver `rkcryptov1' so we'll
clumsily call it `rkv1crypto' instead to leave room for `rkv2crypto'
later on.

The crypto binding derived from the Rockchip BSP Linux kernel, in the
location it appears on the rk3399, is in rk3399-crypto.dtsi, since
there doesn't seem to be a better place to put it at the moment among
this twisty maze of inclusions, all different.
 1.157 13-May-2020  jmcneill Enable nouveaufb
 1.156 25-Apr-2020  jmcneill Add (commented out) nouveaufb
 1.155 25-Apr-2020  jmcneill Add acpiacad, acpibat, acpifan, acpitz
 1.154 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.153 18-Apr-2020  skrll Trailing whitespace
 1.152 13-Apr-2020  maxv Add KUBSAN.
 1.151 13-Apr-2020  maxv Add support for Branch Target Identification (BTI).

On the executable pages that have the GP (Guarded Page) bit, the semantic
of the "br" and "blr" instructions is changed: the CPU expects the first
instruction of the jump/call target to be "bti", and faults if it isn't.

We add the GP bit on the kernel .text pages (and incidentally the .rodata
pages, but we don't care). The compiler adds a "bti c" instruction at the
beginning of each C function. We modify the ENTRY() macros to manually add
"bti c" in the asm functions.

cpuswitch.S needs a specific change: with "br x27" the CPU expects "bti j",
which is bad because the functions begin with "bti c"; switch to "br x16",
for the CPU to accept "bti c".

BTI helps defend against JOP/COP. Tested on Qemu.
 1.150 12-Apr-2020  maxv Add support for Pointer Authentication (PAC).

We use the "pac-ret" option, to sign the return instruction pointer on
function entry, and authenticate it on function exit. This acts as a
mitigation against ROP.

The authentication uses a per-lwp (secret) I-A key stored in the 128bit
APIAKey register and part of the lwp context. During lwp creation, the
kernel generates a random key, and during context switches, it installs
the key of the target lwp on the CPU.

Userland cannot read the APIAKey register directly. However, it can sign
its pointers with it, because the register is architecturally shared
between userland and the kernel. Although part of the CPU design, it is
a bit of an undesired behavior, because it allows to forge valid kernel
pointers from userland. To avoid that, we don't share the key with
userland, and rather switch it in EL0<->EL1 transitions. This means that
when userland executes, a different key is loaded in APIAKey than the one
the kernel uses. For now the userland key is a fixed 128bit zero value.

The DDB stack unwinder is changed to strip the authentication code from
the pointers in lr.

Two problems are known:

* Currently the idlelwps' keys are not really secret. This is because
the RNG is not yet available when we spawn these lwps. Not overly
important, but would be nice to fix with UEFI RNG.
* The key switching in EL0<->EL1 transitions is not the most optimized
code on the planet. Instead of checking aarch64_pac_enabled, it would
be better to hot-patch the code at boot time, but there currently is
no hot-patch support on aarch64.

Tested on Qemu.
 1.149 31-Mar-2020  jmcneill branches: 1.149.2;
Add ACPI support.
 1.148 28-Mar-2020  isaki Reduce default AUDIO_BLK_MS from 40msec to 10msec on all platform except m68k
(m68k uses 40msec default as before). And remove the option from GENERIC.
- It's not good idea to set such parameter in individual GENERICs.
- 4msec is (probably no problem for most modern real hardware but)
too aggressive to be default.
- 10msec is too severe for antique machines but it's hard to draw a line.
 1.147 27-Mar-2020  thorpej Attach sunxirtc in pass4; it's required by mmcpwrseq on some boards.
 1.146 18-Mar-2020  jmcneill Add radeon, radeondrmkmsfb
 1.145 18-Mar-2020  nisimura sort Ethernet devices for ease to read
 1.144 18-Mar-2020  nisimura add SC2A11 sniemmc and sniiic devices
 1.143 18-Mar-2020  nisimura add ACPI attachment glue
 1.142 16-Mar-2020  nisimura redo the commit correctly
 1.141 16-Mar-2020  nisimura include files.sociox for generic64
 1.140 22-Feb-2020  jmcneill Add brgphy
 1.139 22-Feb-2020  jmcneill Add ACPI glue for Broadcom GENETv5
 1.138 22-Feb-2020  jmcneill Add support for Broadcom GENET v5 ethernet controller as found on the
Raspberry Pi 4 (BCM2711).
 1.137 20-Feb-2020  jmcneill Attach bcmgpio before devices that may need it
 1.136 06-Feb-2020  mrg add MIDI sequencer device. now midiplay works on usb midi devices.
 1.135 26-Jan-2020  mrg enable bwfm at sdio.

known to now work on pinebook pro and banana pi m2 zero.
 1.134 25-Jan-2020  jmcneill Follow amd64 and set AUDIO_BLK_MS=4 by default
 1.133 15-Jan-2020  jmcneill Add imxi2c
 1.132 15-Jan-2020  jmcneill Add support for NXP i.MX 8M Dual/8M QuadLite/8M Quad family SoCs.
 1.131 12-Jan-2020  riastradh Enable sun8icrypto in GENERIC64.

But set its entropy estimate to zero until we have a better idea of
how it works. Can't really hurt this way unless sun8icrypto is
maliciously dependent on all other inputs to the entropy pool, which
seems unlikely.
 1.130 04-Jan-2020  skrll branches: 1.130.2;
Add DTS files for new boards for the SOCs we support
 1.129 04-Jan-2020  skrll Sort DTS
 1.128 04-Jan-2020  jmcneill Attach psci as early as possible. This allows other power controllers to
register their own poweroff / reset callbacks with a higher preference.
 1.127 04-Jan-2020  skrll Add bcm2711-rpi-4-b.dts
 1.126 03-Jan-2020  jmcneill add cwfg
 1.125 02-Jan-2020  ryo add aq(4). tested on rockpro64.
 1.124 02-Jan-2020  jmcneill add es8316, simpleamp
 1.123 01-Jan-2020  jmcneill Attach mmcpwrseq resource earlier
 1.122 01-Jan-2020  jmcneill + rk3399-pinebook-pro.dts
 1.121 30-Dec-2019  jmcneill Add bcmmbox at acpi
 1.120 29-Dec-2019  jmcneill Add sdhc at acpi
 1.119 25-Dec-2019  skrll Add EARLYCONS=bcm2711 example (commented out)
 1.118 19-Dec-2019  jakllsch enable panel at fdt drivers
 1.117 19-Dec-2019  jakllsch add anxdp(4)
 1.116 09-Dec-2019  riastradh Draft driver for Allwinner Crypto Engine.

Found on, e.g., the Pinebook.

Only used for TRNG at the moment, but hooking it up to opencrypto(9)
shouldn't be too hard if anyone still cares about that these days.

The distribution of the alleged TRNG is very nonuniform distributed
seems to alternate between toward runs with exceptionally high
fractions of 0 bits and runs with exceptionally high fractions of 1
bits -- initially all my samples were mostly 0's, and then all my
samples were mostly 1's, and now I'm seeing more oscillation between
these runs.

So I've wired it up as RND_TYPE_UNKNOWN, not RND_TYPE_RNG (it will
immediately flunk our rngtest and be disabled), and I estimated it to
provide at most one bit of entropy per byte of data -- which may
still be optimistic. I also added a sysctl node hw.sun8icryptoN.rng
to read out 1024-byte samples for analysis, and I left the driver
commented out in GENERIC64 for now.

(If anyone has contacts at Allwinner who can tell us about how the
alleged TRNG is supposed to work, please let me know!)
 1.115 17-Nov-2019  jmcneill Add sun6ispi
 1.114 17-Nov-2019  jmcneill Add spdiftx
 1.113 16-Nov-2019  jmcneill Add rki2s
 1.112 14-Nov-2019  jmcneill Enable Rockchip display support
 1.111 10-Nov-2019  mrg add mpt(4) SCSI controller support (seen plugged into a rockpro64.)
 1.110 09-Nov-2019  jmcneill Add (commented out) Rockchip display support
 1.109 19-Oct-2019  tnn evbarm: add dwcwdt(4) to GENERIC64
 1.108 01-Oct-2019  jmcneill Increase maxusers to 64 for 64-bit kernels
 1.107 21-Sep-2019  jmcneill Add support for Mellanox 5th generation ethernet devices. This driver
supports the ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, and
ConnectX-6 EN adapters.

Driver ported from OpenBSD.
 1.106 02-Sep-2019  skrll Add (commented out) UVMHIST options
 1.105 13-Aug-2019  tnn include the spiflash driver in the stock 64-bit kernel

As it can be attached via fdt now. For Rockpro64.
 1.104 05-Aug-2019  tnn rkspi* at fdt?
 1.103 25-Jul-2019  jmcneill branches: 1.103.2;
Replace the HDAUDIO_32BIT_ACCESS option with a runtime option. Set it for
tegra_hdaudio, but not for the pci attachment. Add hdaudio@pci to GENERIC64
 1.102 16-Jul-2019  jmcneill Add wm(4)
 1.101 12-Jul-2019  skrll Add a couple of spaces to do the <space><tab> thing
 1.100 22-Jun-2019  skrll Rename watchdog -> bcmpmwdog and sdhost to bcmsdhost
 1.99 15-Jun-2019  maxv Add KASAN_PANIC, an option to turn KASAN warning into kernel panics,
requested by Siddharth. While here clarify a little.
 1.98 13-Jun-2019  jmcneill add ahcisata at pci
 1.97 12-Jun-2019  jmcneill Add rkpcie, rkpciephy
 1.96 06-Jun-2019  jmcneill Attach sunxi dma controllers earlier.
 1.95 31-May-2019  jmcneill Comment out VERBOSE_INIT_ARM
 1.94 26-May-2019  jmcneill Increase I2C_MAX_ADDR to 0xfff for sunxi RSB
 1.93 25-May-2019  jmcneill Add bcm2837-rpi-3-a-plus.dts, meson-gxl-s805x-libretech-ac.dts,
meson-gxl-s905d-phicomm-n1.dts, rk3399-gru-scarlet-inx.dts,
rk3399-gru-scarlet-kd.dts, rk3399-nanopc-t4.dts, rk3399-nanopi-m4.dts,
rk3399-rock-pi-4.dts, sun50i-a64-amarula-relic.dts,
sun50i-a64-pine64-lts.dts, sun50i-h5-emlid-neutis-n5-devboard.dts,
sun50i-h6-orangepi-lite2.dts, tegra210-p2894-0050-a08.dts.
 1.92 01-May-2019  jmcneill Add rkpwm and pwmfan
 1.91 26-Apr-2019  mrg implement TSADC driver for rockchip RK3328 and RK3399. so far, only
tested on RK3399 but the RK3328 looks mostly the same and has a good
chance of working too.

add clock entries for "clk_tsadc" and "pclk_tsadc" to cru.

exports "CPU" and "GPU" temp sensors. these currently limited to 5
degC resolution but can be reduced to sub 1 degC resolution with some
interpolation.

todo list:

- handle setting various temp values
- add interpolation between the 5degC intervals in sample data
- handle DT trips/temp value defaults
- interrupts aren't triggered (test by lowering warn/crit values),
and once they work, make the interrupt do something
- test on RK3328, and port to other rockchips (will require moving
some part into per-chipset sections, such as code<->temp tables)


thanks to jmcneill for help.
 1.90 21-Apr-2019  jmcneill Add mesonrng
 1.89 21-Apr-2019  jmcneill Add driver for Meson GX EE-domain watchdog timer.
 1.88 21-Apr-2019  jmcneill Add support for Meson GXL internal PHY.
 1.87 19-Apr-2019  jmcneill Remove qsphy(4), this 20+ year old PHY driver accidentally attaches to the Meson GXL internal PHY
 1.86 19-Apr-2019  jmcneill Add support for Amlogic Meson GXL family SoCs.
 1.85 07-Apr-2019  jmcneill Explicitly include bold8x16 and bold16x32 fonts
 1.84 17-Mar-2019  skrll G/C
 1.83 10-Mar-2019  jmcneill Add support for Rockchip eMMC PHY
 1.82 06-Mar-2019  jakllsch Enable WSDISPLAY_SCROLLSUPPORT in evbarm GENERICs.
 1.81 05-Mar-2019  jmcneill Add bcm2837-rpi-cm3-io3.dts, rk3399-ficus.dts, rk3399-gru-bob.dts, rk3399-roc-pc.dts, rk3399-rock960.dts, sun50i-h5-bananapi-m2-plus-v1.2.dts, sun50i-h5-bananapi-m2-plus.dts, sun50i-h6-orangepi-one-plus.dts
 1.80 25-Feb-2019  jmcneill Add support for Amlogic S905 (Meson GXBB) SoCs.
 1.79 08-Feb-2019  macallan move sunxide2ccu to pass 3, now it works on my H5
from jmcneill@
 1.78 03-Feb-2019  jmcneill Add anxedp
 1.77 30-Jan-2019  jmcneill Enable Allwinner A64 display pipeline
 1.76 30-Jan-2019  jmcneill Add Allwinner A64 display pipeline drivers (commented out for now)
 1.75 22-Jan-2019  jmcneill Add drivers for DE2 bus and clock controllers.
 1.74 22-Jan-2019  jmcneill Add sunxisramc
 1.73 03-Jan-2019  jmcneill Attach sunxirsb earlier so axppmic regulators are available for usbphy
 1.72 30-Dec-2018  skrll Disable DEBUG by default.

Comment out DIAGNOSTIC while where are it's already defined by
GENERIC.common
 1.71 28-Dec-2018  mrg turn on INCLUDE_CONFIG_FILE.
 1.70 21-Dec-2018  jmcneill Add com at acpi
 1.69 30-Nov-2018  jmcneill Add ena at pci
 1.68 30-Nov-2018  jmcneill Add puc at pci and com at puc
 1.67 29-Nov-2018  jmcneill Add nvme at pci
 1.66 23-Nov-2018  skrll Enable CPU_THUNDERX
 1.65 18-Nov-2018  jmcneill Add virtio at pci, scsibus at scsi, and sd at scsibus
 1.64 18-Nov-2018  skrll Add CPU_THUNDERX which sets COHERENCY_UNIT and CACHE_LINE_SIZE to 128
 1.63 18-Nov-2018  skrll Trailing whitespace
 1.62 01-Nov-2018  maxv Add kASan support for aarch64. Stack tracking needs more investigation
and will come in a separate commit.

Reviewed by ryo@ jmcneill@ skrll@.
 1.61 28-Oct-2018  jmcneill Add support for EFI runtime services on aarch64.
 1.60 26-Oct-2018  jmcneill Add xhci at acpi
 1.59 26-Oct-2018  jmcneill Add ehci at acpi
 1.58 24-Oct-2018  jmcneill Add sbsawdt at acpi
 1.57 22-Oct-2018  jmcneill Add acpiged at acpi
 1.56 21-Oct-2018  jmcneill Add gicvthree at acpi
 1.55 21-Oct-2018  jmcneill Add acpibut at acpi, acpilid at acpi
 1.54 21-Oct-2018  jmcneill Add virtio at acpi
 1.53 21-Oct-2018  jmcneill Add qemufwcfg at acpi
 1.52 19-Oct-2018  jakllsch Add amdccp(4) driver for AMD Cryptographic Coprocessor, as found on the
A11xx Opterons. Driver currently provides RNG service only.
 1.51 17-Oct-2018  jmcneill Add dwiic at acpi
 1.50 16-Oct-2018  skrll Add SOC_THUNDERX (commented out for now as it changes COHERENCY_UNIT)
 1.49 15-Oct-2018  jmcneill Add plgpio at acpi
 1.48 15-Oct-2018  jmcneill Rename pl061gpio to plgpio and split the device logic from the FDT glue.
 1.47 15-Oct-2018  jmcneill Add acpipchb
 1.46 12-Oct-2018  jmcneill Add ahcisata at acpi
 1.45 12-Oct-2018  jmcneill Add basic ACPI support
 1.44 12-Oct-2018  ryo add initial support of COMPAT_NETBSD32 on AArch64.
arm ELF32 EABI binaries could be execute in AArch32 state on AArch64. A32 THUMB mode is not supported yet.
 1.43 03-Oct-2018  skrll Sort the SOC_ list
 1.42 03-Oct-2018  skrll Add commented out Cavium CN88XX ThunderX EARLYCONS and CONSADDR
 1.41 30-Sep-2018  jmcneill Add qemufwcfg
 1.40 30-Sep-2018  jmcneill Add plrtc
 1.39 29-Sep-2018  jmcneill Add virtio
 1.38 26-Sep-2018  jakllsch Add dwiic(4) and spdmem(4).
 1.37 15-Sep-2018  jmcneill Enable msk(4)
 1.36 15-Sep-2018  jmcneill Enable WSDISPLAY_MULTICONS
 1.35 08-Sep-2018  jmcneill Add pl061gpio, pcihost, mskc/msk (commented out), ehci@pci, ohci@pci, and xhci@pci
 1.34 02-Sep-2018  jmcneill Add rkpmic
 1.33 29-Aug-2018  jmcneill Add (commented out) EARLYCONS entry for rk3399
 1.32 29-Aug-2018  jmcneill Add fan53555reg
 1.31 12-Aug-2018  jmcneill Add rk3399-rockpro64.dts
 1.30 12-Aug-2018  jmcneill Enable support for GICv3 and Rockchip RK3399
 1.29 15-Jul-2018  jmcneill add pseudo-device tprof (fix build)
 1.28 15-Jul-2018  jmcneill Add armpmu
 1.27 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.26 09-Jul-2018  jmcneill Enable options MULTIPROCESSOR
 1.25 01-Jul-2018  jmcneill Add rkiic
 1.24 01-Jul-2018  skrll Add bcm2835-rpi-zero-w.dts and bcm2837-rpi-3-b-plus.dts as appropriate

PR/53284 - Support RPI3B+,RPI0W,RPI2-1.2
 1.23 30-Jun-2018  jmcneill Attach simplebus on pass 0
 1.22 30-Jun-2018  jmcneill cpus: use fdt_add_bus
 1.21 30-Jun-2018  jmcneill Allow nodes to attach child devices using the same sorting rules as used
by the simplebus driver.
 1.20 30-Jun-2018  jmcneill add syscon
 1.19 27-Jun-2018  jmcneill branches: 1.19.2;
dts: add sun50i-h5-libretech-all-h3-cc.dts
 1.18 16-Jun-2018  jmcneill Comment out EARLYCONS
 1.17 16-Jun-2018  jmcneill Add initial support for Rockchip RK3328 SoC.
 1.16 14-Jun-2018  jmcneill Add support for QEMU ARM Virtual Machine ("virt").
 1.15 10-May-2018  jmcneill Add ausoc, sun8icodec, a64codec, sunxii2s
 1.14 10-May-2018  jmcneill whitespace fix
 1.13 06-May-2018  jmcneill Add sunxipwm, pwmbacklight
 1.12 05-May-2018  jmcneill Add sun50ia64rccu
 1.11 04-May-2018  jmcneill Rename axp806pmic to axppmic, and add support for AXP803.
 1.10 03-May-2018  jmcneill Add axp806pmic, axp806reg
 1.9 02-May-2018  jmcneill Add sunxinmi
 1.8 02-May-2018  jmcneill Add sun50ih6rccu
 1.7 02-May-2018  jmcneill add pcf8563rtc
 1.6 02-May-2018  jmcneill Add sunxiusb3phy
 1.5 01-May-2018  jmcneill Enable Allwinner H6 support
 1.4 28-Apr-2018  jmcneill Enable motg
 1.3 28-Apr-2018  jmcneill Enable Allwinner SID and thermal sensor controller
 1.2 28-Apr-2018  jmcneill Add sun50i-a64-teres-i.dts, sun50i-h5-orangepi-zero-plus.dts
 1.1 01-Apr-2018  ryo branches: 1.1.2;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1.2.13 26-Jan-2019  pgoyette Sync with HEAD
 1.1.2.12 18-Jan-2019  pgoyette Synch with HEAD
 1.1.2.11 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.1.2.10 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.2.9 20-Oct-2018  pgoyette Sync with head
 1.1.2.8 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.2.7 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.2.6 28-Jul-2018  pgoyette Sync with HEAD
 1.1.2.5 25-Jun-2018  pgoyette Sync with HEAD
 1.1.2.4 21-May-2018  pgoyette Sync with HEAD
 1.1.2.3 02-May-2018  pgoyette Synch with HEAD
 1.1.2.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.2.1 01-Apr-2018  pgoyette file GENERIC64 was added on branch pgoyette-compat on 2018-04-07 04:12:12 +0000
 1.19.2.3 21-Apr-2020  martin Sync with HEAD
 1.19.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.19.2.1 10-Jun-2019  christos Sync with HEAD
 1.103.2.13 07-Jul-2020  martin Pull up following revision(s) (requested by jmcneill in ticket #980):

sys/dev/pci/if_aq.c: revision 1.4
sys/dev/pci/if_aq.c: revision 1.5
sys/arch/amd64/conf/GENERIC: revision 1.553
sys/dev/pci/files.pci: revision 1.419
sys/arch/amd64/conf/XEN3_DOM0: revision 1.170
sys/dev/pci/if_aq.c: revision 1.9
share/man/man4/Makefile: revision 1.693
sys/dev/pci/pcidevs: revision 1.1411
share/man/man4/aq.4: revision 1.1
share/man/man4/aq.4: revision 1.3
sys/arch/i386/conf/ALL: revision 1.479
share/man/man4/aq.4: revision 1.4
sys/dev/pci/if_aq.c: revision 1.10
sys/dev/pci/files.pci: revision 1.421
sys/dev/pci/if_aq.c: revision 1.11
sys/dev/pci/if_aq.c: revision 1.12
sys/dev/pci/if_aq.c: revision 1.13
sys/dev/pci/if_aq.c: revision 1.14
sys/dev/pci/if_aq.c: revision 1.15
sys/dev/pci/if_aq.c: revision 1.16
sys/dev/pci/pcidevs: revision 1.1408
sys/arch/amd64/conf/ALL: revision 1.135
sys/net/ethertypes.h: revision 1.19
sys/arch/i386/conf/GENERIC: revision 1.1218
distrib/sets/lists/man/mi: revision 1.1668
sys/dev/pci/if_aq.c: revision 1.1
sys/dev/pci/if_aq.c: revision 1.2
sys/dev/pci/pcidevs: revision 1.1395
sys/dev/pci/if_aq.c: revision 1.3
sys/arch/evbarm/conf/GENERIC64: revision 1.125

Add the ETHERTYPE_QINQ for 802.1ad VLAN stacking

add Aquantia AQC 10G network adapters
add support Aquantia AQC seriese 10G network adapters.

this driver is based on the FreeBSD version https://github.com/Aquantia/aqtion-freebsd ,
but drastically rewritten for NetBSD.

add aq(4)

Add Aquantia AQC100, AQC100S and D100.

add support VLAN HW filter

set/clear IFF_OACTIVE flag only on txring 0

make counters per queue

support internal PHY temperature sensor

Found by kUBSan:
- Use unsigned to avoid undefined behavior in aq_hw_init().
- Cast to unsigned to avoid undefined behavior in aq_set_mac_addr().

fix descriptions of register map in comment

return the ifmedia active status correctly even while the link is not up after attach.
pointed out by msaitoh@. thanks.

On FIBRE devices, there are times when linkstat interrupt doesn't occur?
reported from Andrius V. thanks.
- use polling instead of linkstat interrupt when FIBRE
- add AQ_FORCE_POLL_LINKSTAT options (not by default)

sort product table, and tabify

add support AQC100S and D100.
not tested, but they are probably the same as the AQC100.
 1.103.2.12 18-May-2020  martin Pull up following revision(s) (requested by riastradh in ticket #913):

sys/arch/arm/dts/rk3399-crypto.dtsi: revision 1.1
sys/arch/arm/rockchip/rk_v1crypto.c: revision 1.1
sys/arch/arm/rockchip/rk_v1crypto.c: revision 1.2 (plus patch)
sys/arch/arm/rockchip/rk_v1crypto.h: revision 1.1
sys/arch/arm/dts/rk3399-pinebook-pro.dts: revision 1.3
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.20
sys/arch/evbarm/conf/GENERIC64: revision 1.158
sys/arch/arm/dts/rk3399-rockpro64.dts: revision 1.11
sys/arch/arm/rockchip/files.rockchip: revision 1.24

Rockchip crypto engine RNG driver.

As found on the rk3288 and rk3399. This driver only supports the
TRNG, not the rest of the crypto engine, although it uses the AES unit
to do a self-test at attach time to verify that the engine works.
There seem to be two versions of the Rockchip crypto engine, v1 and
v2; this one is for v1. Can't name a driver `rkcryptov1' so we'll
clumsily call it `rkv1crypto' instead to leave room for `rkv2crypto'
later on.

The crypto binding derived from the Rockchip BSP Linux kernel, in the
location it appears on the rk3399, is in rk3399-crypto.dtsi, since
there doesn't seem to be a better place to put it at the moment among
this twisty maze of inclusions, all different.

Use rnd_add_data_sync from the callback.

(Doesn't make a difference in HEAD but this is the stated API
contract and it matters if we want to pull this up.)

Prime the pool on attach.
 1.103.2.11 18-May-2020  martin Pull up following revision(s) (requested by riastradh in ticket #912):

sys/arch/arm/dts/sun50i-a64.dtsi: revision 1.14
sys/arch/evbarm/conf/GENERIC64: revision 1.116
sys/arch/evbarm/conf/GENERIC64: revision 1.131
sys/arch/arm/sunxi/sun50i_a64_ccu.c: revision 1.21
sys/arch/arm/sunxi/sun50i_a64_ccu.c: revision 1.22
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.10
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.11
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.12
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.1
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.2
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.3
sys/arch/arm/sunxi/sun8i_crypto.h: revision 1.1
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.4
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.5
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.6
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.7
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.8
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.67

Add crypto engine clock

Add SUNXI_CCU_NM_ROUND_DOWN to CE clock, fix pll parents to use 2X outputs

Add crypto engine block.

Draft driver for Allwinner Crypto Engine.
Found on, e.g., the Pinebook.

Only used for TRNG at the moment, but hooking it up to opencrypto(9)
shouldn't be too hard if anyone still cares about that these days.

The distribution of the alleged TRNG is very nonuniform distributed
seems to alternate between toward runs with exceptionally high
fractions of 0 bits and runs with exceptionally high fractions of 1
bits -- initially all my samples were mostly 0's, and then all my
samples were mostly 1's, and now I'm seeing more oscillation between
these runs.

So I've wired it up as RND_TYPE_UNKNOWN, not RND_TYPE_RNG (it will
immediately flunk our rngtest and be disabled), and I estimated it to
provide at most one bit of entropy per byte of data -- which may
still be optimistic. I also added a sysctl node hw.sun8icryptoN.rng
to read out 1024-byte samples for analysis, and I left the driver
commented out in GENERIC64 for now.
(If anyone has contacts at Allwinner who can tell us about how the
alleged TRNG is supposed to work, please let me know!)

Reduce some duplicated bus_dma clutter.

Factor out some of the self-test logic used for debugging.

Add missing bus_dmamap_sync(POSTWRITE) while here.

Make sure ERESTART doesn't come flying out to userland.
I picked ERESTART to mean `all channels are occupied' because that's
what opencrypto(9) uses to decide whether to queue a request, but
it's not appropriate for sysctl(2) to return that.

Avoid a race between interruption and reacquisition of lock.
Otherwise, we would have leaked the memory in this case.

Tidy up comments.

Oops -- forgot to kmem_free.

Fix typo -- acknowledge interrupts _and_ errors.

Reduce entropy estimate for sun8icrypto TRNG.

NIST's SP800-90B entropy estimation tools put it at no more than .08
bits of entropy per byte of data(!), so estimate 100 bits of data per
bit of entropy. This is probably not conservative enough -- the NIST
tools were written without knowledge of how this alleged TRNG works!
Knowledge of the physics of how the TRNG is supposed to work could
probably enable a better job at predicting the outputs.
While here, bump the size of data we can sample directly with sysctl
to 4096 bytes.

Enable sun8icrypto in GENERIC64.

But set its entropy estimate to zero until we have a better idea of
how it works. Can't really hurt this way unless sun8icrypto is
maliciously dependent on all other inputs to the entropy pool, which
seems unlikely.

Fix (presently harmless) psato.

Don't overwrite cy_root_node; use cy_trng_node as intended.

Fix previous brainfart.

Don't use the uninitialized trng node as the root node -- derp.
Instead, use the root node as the root node, and initialize the trng
node here.
 1.103.2.10 18-May-2020  martin Pull up following revision(s) (requested by isaki in ticket #911):

sys/dev/audio/audiodef.h: revision 1.13
sys/dev/audio/audiodef.h: revision 1.14
sys/arch/sparc/include/param.h: revision 1.74
sys/arch/evbarm/conf/GENERIC64: revision 1.148
sys/arch/sh3/include/param.h: revision 1.25
sys/arch/evbarm/conf/GENERIC: revision 1.75
sys/arch/m68k/include/param.h: revision 1.23
sys/arch/amd64/conf/GENERIC: revision 1.564
sys/arch/hppa/include/param.h: revision 1.27
sys/dev/audio/audio.c: revision 1.68
sys/arch/vax/include/param.h: revision 1.63
sys/dev/audio/audio.c: revision 1.69

Reduce default AUDIO_BLK_MS from 40msec to 10msec on all platform except m68k
(m68k uses 40msec default as before). And remove the option from GENERIC.

- It's not good idea to set such parameter in individual GENERICs.
- 4msec is (probably no problem for most modern real hardware but)
too aggressive to be default.
- 10msec is too severe for antique machines but it's hard to draw a line.

Set AUDIO_BLK_MS 40 msec on other old(slow) architectures not only m68k.

Thanks tsutsui@ for comment about architecture choice.
And move it from audiodef.h to audio.c as suggested by joerg@.


Move machine dependent AUDIO_BLK_MS default value to <machine/param.h>.
If the port has __AUDIO_BLK_MS in <machine/param.h>, it will be used.

Otherwise the default value (currently 10 msec) defined in audio.c will
be used. This mechanism is for very old ports which cannot satisfactorily
handle 10 msec block. Currently hppa, m68k, sh3, sparc(!64) and vax are.

For port maintainers, if general models in your port cannot satisfactorily
handle 10 msec block, please consider to define your suitable longer period
(40 msec would be a good first choice).

But please don't be eager to make the default value shorter.
<machine/param.h> was discussed in source-changes-d. It's better than
ifdef storm, or adding 60+ new header files in every arch/*/include/
directories for this. Thanks mrg@, ad@, and everyone.
http://mail-index.netbsd.org/source-changes-d/2020/05/01/msg012572.html
 1.103.2.9 02-Apr-2020  martin Pull up following revision(s) (requested by mrg in ticket #817):

sys/arch/evbarm/conf/GENERIC: revision 1.73
sys/arch/evbarm/conf/GENERIC64: revision 1.136

add MIDI sequencer device. now midiplay works on usb midi devices.
 1.103.2.8 27-Jan-2020  martin Pull up following revision(s) (requested by nia in ticket #657):

sys/dev/files.audio: revision 1.13
sys/dev/files.audio: revision 1.14
sys/arch/amd64/conf/GENERIC: revision 1.559
sys/arch/evbarm/conf/GENERIC: revision 1.71
sys/arch/evbarm/conf/GENERIC64: revision 1.134
sys/dev/audio/audiodef.h: revision 1.8

Set AUDIO_BLK_MS=4 - unlikely to cause significant overhead on non-m68k.

Several of us have been setting this in /etc/sysctl.conf for months, to
get better performance from applications that require synced audio, etc.
It's also mentioned as a good value with low overhead on most archs here:
href="https://mail-index.netbsd.org/tech-kern/2019/12/07/msg025830.html

We could probably go lower, but this is low enough to make most/all
software run well, removing frame drops. It's also low enough to get
emulators/mednafen to stop complaining in the console.

defopt AUDIO_BLK_MS

Follow amd64 and set AUDIO_BLK_MS=4 by default

defopt -> defparam (oops)
 1.103.2.7 21-Jan-2020  martin Pull up following revision(s) (requested by mrg in ticket #616):

sys/dev/ic/anx_dp.c: revision 1.2
sys/arch/evbarm/conf/GENERIC64: revision 1.126
sys/dev/ic/anx_dp.h: revision 1.1
sys/arch/evbarm/conf/GENERIC64: revision 1.128
sys/dev/ic/anx_dp.h: revision 1.2
sys/dev/fdt/dwcmmc_fdt.c: revision 1.9
sys/dev/i2c/cwfg.c: revision 1.1
sys/conf/files: revision 1.1247
sys/dev/fdt/pwm_backlight.c: revision 1.5
sys/dev/fdt/pwm_backlight.c: revision 1.6
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.14
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.15
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.16
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.17
sys/dev/ic/dwc_mmc.c: revision 1.20
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.18
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.19
sys/dev/usb/usbdevs: revision 1.775
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.4
sys/dev/fdt/simple_amplifier.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.105
sys/arch/evbarm/conf/GENERIC64: revision 1.117
sys/arch/evbarm/conf/GENERIC64: revision 1.118
sys/dev/i2c/files.i2c: revision 1.107
sys/dev/fdt/files.fdt: revision 1.49
sys/arch/arm/rockchip/rk_anxdp.c: revision 1.1
sys/dev/ic/dwc_mmc_var.h: revision 1.9
sys/dev/i2c/rkpmic.c: revision 1.4
sys/arch/arm/rockchip/rk_anxdp.c: revision 1.2
sys/dev/i2c/rkpmic.c: revision 1.5
sys/dev/i2c/rkpmic.c: revision 1.6
sys/arch/arm/rockchip/rk_vop.c: revision 1.4
sys/arch/arm/rockchip/rk_vop.c: revision 1.5
sys/dev/i2c/rkpmic.c: revision 1.8
sys/arch/arm/dts/rk3399-pinebook-pro.dts: revision 1.1
sys/dev/usb/ums.c: revision 1.96 (via patch)
sys/arch/arm/rockchip/rk_pwm.c: revision 1.3
sys/arch/arm/dts/rk3399-pinebook-pro.dts: revision 1.2
sys/dev/i2c/es8316ac.c: revision 1.1
sys/dev/fdt/dwcmmc_fdt.c: revision 1.10
sys/dev/i2c/es8316ac.c: revision 1.2
sys/dev/fdt/fdt_panel.c: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.18
sys/dev/fdt/fdt_panel.c: revision 1.2
sys/dev/ic/dwc_mmc.c: revision 1.19
sys/arch/arm/dts/rk3399-rockpro64.dts: revision 1.10
sys/dev/fdt/fdt_port.c: revision 1.5
sys/dev/ic/dwc_mmc_var.h: revision 1.10
sys/dev/fdt/fdt_port.c: revision 1.6
sys/arch/evbarm/conf/GENERIC64: revision 1.122
sys/dev/ic/dwc_mmc_var.h: revision 1.11
sys/dev/fdt/files.fdt: revision 1.50
sys/arch/evbarm/conf/GENERIC64: revision 1.123
sys/arch/arm/rockchip/rk_i2s.c: revision 1.2
sys/arch/arm/rockchip/files.rockchip: revision 1.23
sys/arch/evbarm/conf/GENERIC64: revision 1.124
sys/dev/ic/anx_dp.c: revision 1.1

rkpmic: add RTC support; register w/ todr(9)
rkpmic: correct delay
Add support for SDIO interrupts.
fix copy/paste error in mux_pll_src_cpll_gpll_ppll_parents[]
add RK3399 eDP clocks
add RK3399 DisplayPort clocks
style fix/KNF
rk3399_cru: implement dclk_vop0_frac and dclk_vop1_frac
Move drm_encoder from rkvop(4) to the SoC-layer output pipe drivers (rk_dwhdmi).
rkvop: set stride using virtual framebuffer width instead of display mode
rk3399_cru: Reparent dclk_vop[01] to gpll via dclk_vop[01]_frac.
The previous source of dclk_vop[01] was vpll via dclk_vop[01]_div.
vpll is apparently used directly as a pixel clock source for the
HDMI PHY, and we don't want the other VOP's dclk changing out from
under it because we can't handle finding a replacement clock source
with the right rate yet.
gpll happens to run at 594MHz, which works well as a basis for pixel
clocks.
Linux suggests that the source clock of the fractional divider needs
to be more than twenty times greater than the resulting clock (or some
intermediate clock?) for output stability. This may not be the case
with 594MHz and the common pixel clocks I see used by displays in my
area of the wild, but it works for now.
add Analogix DisplayPort core driver
add Rockchip (RK3399) glue for Analogix DisplayPort core
add anxdp(4)
Add another panel@fdt driver, this time for DRM-style panels.
To do: migrate away from other panel driver.
enable panel at fdt drivers
paper over the rkpwm get_conf function that otherwise doesn't seem to
let things work
add template bits for optional eDP panel on RockPro64
Abort panel driver attach if required regulator is missing.
Add clk provider
Add Pinebook Pro dts, from Manjaro Linux.
https://gitlab.manjaro.org/tsys/linux-pinebook-pro/blob/877ca0e7283596f37845de50dc36bff5b88b91e1/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+ rk3399-pinebook-pro.dts
Attach mmcpwrseq resource earlier
dwcmmc improvements:
- Use mmcpwrseq resources if available
- Only set 4- or 8-bit mode if specified in the dt properties
- Add quirk for implementations with inverted power enable logic
- Support switching signal voltage between 1.8V and 3.3V
- Fix a clock divider issue on Rockchip SoCs
Fix performance regression with previous
Quiet chatty printfs
No need to print all supported levels at attach, print the range and total number of steps
Disable SPI for now (rkspi driver hangs at boot)
Add driver for simple-audio-amplifier binding
Add driver for Everest Semi ES8316 Low Power Audio CODEC
add es8316, simpleamp
Avoid sleeping while the audio intr lock is held.
If the rockchip,system-power-controller property is present, try to power off with the PMIC
Add HAILUCK keyboard (product 1e)
Add a quirk for the HAILUCK USB keyboard / touchpad device with product 1e.
The keyboard does not function properly unless the touchpad's intr endpoint
is active.
Add driver for CellWise CW2015 Fuel Gauge IC.
add cwfg
Emit PMFE_DISPLAY_{ON,OFF} events in response to DPMS requests.
If the backlight node does not have an enable gpio, set the lowest duty
cycle to turn the display off instead.
Attach psci as early as possible. This allows other power controllers to
register their own poweroff / reset callbacks with a higher preference.
Add 2000 MHz to available armclkb rates
Remove debug printfs
 1.103.2.6 20-Nov-2019  martin Pull up following revision(s) (requested by tnn in ticket #458):

sys/arch/arm/rockchip/rk3399_cru.c: revision 1.9
sys/arch/arm/rockchip/rk_spi.c: revision 1.1
sys/arch/evbarm/conf/GENERIC64: revision 1.104
sys/arch/arm/rockchip/files.rockchip: revision 1.20

rk3399_cru: add definitions for SPI clocks

rk_spi: Rockchip SPI driver

Match only on RK3399 for now, but should work on RK3328 as well with
the proper CRU support. If you can, please test and enable for RK3328.

rkspi* at fdt?
 1.103.2.5 18-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #439):

sys/arch/evbarm/conf/GENERIC64: revision 1.115
sys/arch/arm/sunxi/sun50i_a64_ccu.c: revision 1.15

Add SPI clocks
Add sun6ispi
 1.103.2.4 18-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #438):

sys/dev/fdt/spdif_tx.c: revision 1.1
sys/arch/evbarm/conf/GENERIC64: revision 1.114
sys/dev/fdt/files.fdt: revision 1.48

Add driver for dummy spdif transmitter bindings.
Add spdiftx
 1.103.2.3 16-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #427):

sys/dev/ic/dw_hdmi_phy.c: revision 1.2
sys/dev/ic/dw_hdmi.c: revision 1.4
sys/dev/fdt/ausoc.c: revision 1.5
sys/dev/ic/dw_hdmi.h: revision 1.2
sys/dev/ic/dw_hdmi.h: revision 1.3
sys/dev/ic/dw_hdmi.h: revision 1.4
sys/conf/files: revision 1.1242
sys/dev/fdt/fdtvar.h: revision 1.57
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.11
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.12
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.13
sys/arch/evbarm/conf/GENERIC64: revision 1.110
sys/arch/arm/rockchip/rk_drm.c: revision 1.1
sys/arch/arm/rockchip/rk_drm.c: revision 1.2
sys/arch/evbarm/conf/GENERIC64: revision 1.112
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.1
sys/dev/fdt/fdt_clock.c: revision 1.10
sys/arch/evbarm/conf/GENERIC64: revision 1.113
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.2
sys/arch/arm/rockchip/rk_drm.h: revision 1.1
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.3
sys/arch/arm/rockchip/rk_fb.c: revision 1.1
sys/arch/arm/dts/rk3399-rockpro64.dts: revision 1.9
sys/arch/arm/rockchip/rk_vop.c: revision 1.1
sys/arch/arm/rockchip/rk_vop.c: revision 1.2
sys/arch/arm/rockchip/rk_i2c.c: revision 1.6
sys/arch/arm/rockchip/rk_cru.h: revision 1.6
sys/arch/arm/rockchip/rk_cru.h: revision 1.7
sys/arch/arm/rockchip/rk_cru_composite.c: revision 1.4
sys/arch/arm/rockchip/rk_cru_composite.c: revision 1.5
sys/arch/arm/rockchip/files.rockchip: revision 1.21
sys/arch/arm/rockchip/rk_i2s.c: revision 1.1
sys/arch/arm/rockchip/files.rockchip: revision 1.22
sys/dev/ic/dw_hdmi.c: revision 1.2
sys/dev/ic/dw_hdmi_phy.c: revision 1.1
sys/dev/ic/dw_hdmi.c: revision 1.3

Support reads of more than 32 bytes in a single xfer.

Add support for internal DesignWare HDMI PHYs

Add fdtbus_clock_enable and fdtbus_clock_enable_index shortcuts

Add HDMI and VOP clocks

WIP display driver for Rockchip RK3399

Add (commented out) Rockchip display support

Select the correct MPLL and PHY settings for the requested pixel clock
Force DCLK_VOP0/1 dividers to 1 and select closest match when setting PLL
rates.

Fix typo in phy config table

Fix a few swapped fields

Remove debug output

Enable Rockchip display support

Set sysclk rate at set_format time, so the link set_format callback can read the new sysclk

Add I2S audio input support.
Add software volume controls.
Add support for I2S clocks.
Add driver for Rockchip I2S/PCM controller.
Enable HDMI audio on ROCKPro64
Add rki2s
Add audio support
 1.103.2.2 03-Oct-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #273):

sys/arch/evbarm/conf/files.evbarm: revision 1.33
sys/arch/evbarm/conf/GENERIC64: revision 1.108

Increase maxusers to 64 for 64-bit kernels
 1.103.2.1 23-Sep-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #230):

sys/dev/pci/files.pci: revision 1.415
distrib/sets/lists/man/mi: revision 1.1655
sys/dev/pci/if_mcx.c: revision 1.1
share/man/man4/Makefile: revision 1.683
share/man/man4/mcx.4: revision 1.1
sys/arch/evbarm/conf/GENERIC64: revision 1.107
sys/dev/pci/files.pci: revision 1.414

Add support for Mellanox 5th generation ethernet devices. This driver
supports the ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, and
ConnectX-6 EN adapters.

Driver ported from OpenBSD.

add mcx attachment.

Correct mcx comment, drop mii dependency
 1.130.2.3 29-Feb-2020  ad Sync with head.
 1.130.2.2 25-Jan-2020  ad Sync with head.
 1.130.2.1 17-Jan-2020  ad Sync with head.
 1.149.2.1 20-Apr-2020  bouyer Sync with HEAD
 1.165.2.3 03-Apr-2021  thorpej Sync with HEAD.
 1.165.2.2 03-Jan-2021  thorpej Sync w/ HEAD.
 1.165.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.177.4.1 01-Aug-2021  thorpej Sync with HEAD.
 1.206.2.6 08-Aug-2025  martin Pull up following revision(s) (requested by skrll in ticket #1148):

sys/arch/evbarm/conf/GENERIC64: revision 1.227
sys/dev/pci/files.pci: revision 1.451
sys/dev/pci/pvscsi.c: revision 1.1
sys/dev/pci/pvscsi.c: revision 1.2
sys/dev/pci/pvscsi.h: revision 1.1
sys/arch/amd64/conf/GENERIC: revision 1.617

Add a port of the FreeBSD driver for the VMware PV SCSI controller found
in VMware's ESXi product.

Tested on ESXi/Arm such that an installation from ISO succeeds and boots.

Add the barrier that a comment describes.
 1.206.2.5 09-Oct-2024  martin Pull up following revision(s) (requested by riastradh in ticket #939):

distrib/sets/lists/debug/module.md.amd64: revision 1.18
sys/modules/Makefile: revision 1.292
lib/libc/gen/arc4random.c: revision 1.34
lib/libc/gen/arc4random.c: revision 1.35
lib/libc/gen/arc4random.c: revision 1.36
lib/libc/gen/arc4random.c: revision 1.37
sys/kern/kern_entropy.c: revision 1.70
lib/libc/gen/arc4random.c: revision 1.38
sys/kern/kern_entropy.c: revision 1.71
lib/libc/gen/getentropy.3: revision 1.8
distrib/sets/lists/modules/md.amd64: revision 1.103
share/man/man4/rnd.4: revision 1.42
share/man/man4/rnd.4: revision 1.44
lib/libc/include/arc4random.h: revision 1.1
distrib/sets/lists/man/mi: revision 1.1786
sys/arch/i386/conf/GENERIC: revision 1.1258
sys/modules/acpivmgenid/acpivmgenid.ioconf: revision 1.1
sys/arch/amd64/conf/ALL: revision 1.190
distrib/sets/lists/debug/mi: revision 1.446
sys/arch/i386/conf/ALL: revision 1.521
lib/libc/gen/Makefile.inc: revision 1.219
distrib/sets/lists/debug/module.md.i386: revision 1.12
sys/dev/acpi/acpi_vmgenid.c: revision 1.1
sys/dev/acpi/acpi_vmgenid.c: revision 1.2
lib/libc/include/reentrant.h: revision 1.22
sys/arch/evbarm/conf/GENERIC64: revision 1.219
share/man/man4/Makefile: revision 1.735
distrib/sets/lists/modules/md.i386: revision 1.100
distrib/sets/lists/tests/mi: revision 1.1334
lib/libc/gen/arc4random.3: revision 1.22
sys/dev/acpi/files.acpi: revision 1.133
lib/libc/gen/arc4random.3: revision 1.23
tests/lib/libc/gen/t_arc4random.c: revision 1.1
sys/sys/entropy.h: revision 1.6
sys/arch/amd64/conf/GENERIC: revision 1.614
sys/modules/acpivmgenid/Makefile: revision 1.1
share/man/man4/acpivmgenid.4: revision 1.1
lib/libc/gen/Makefile.inc: revision 1.220
tests/lib/libc/gen/Makefile: revision 1.56
share/man/man4/acpivmgenid.4: revision 1.2
share/man/man4/acpivmgenid.4: revision 1.3

(all via patch)

Catch up with all the lint warnings since exit on warning was disabled.

Disable 'missing header declaration' and 'nested extern' warnings for now.
acpivmgenid(4): New driver for virtual machine generation ID.

Added to amd64/ALL and i386/ALL kernel configurations, and made
available as a loadable module acpivmgenid.kmod on x86, for now.
TBD: Add to all ACPI-supporting GENERIC kernels.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

entropy(9): Factor out subroutines to reset and gather entropy.
`Reset' means we keep the data in the pool, but assume it had zero
entropy. `Gather' means we request samples from all on-demand
sources and wait for the synchronous ones to complete.

No functional change intended, other than to expose new symbols --
just preparation to expose these to acpivmgenid(4), so it can use
these when the VM host notifies us that we, the guest, have been
cloned.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

acpivmgenid(4): Reset and gather entropy on VM clone notification.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

arc4random(3): Reseed if system entropy epoch changes.
This can happen, for example, if the system is a VM instance, and the
VM is cloned.

This incurs the cost of a system call on every arc4random call, which
is unfortunate, but
1. we don't currently have a (machine-independent) mechanism for
exposing a read-only page to userland shared by the kernel to
enable a cheaper access path to the entropy epoch; and
2. the algorithm here -- a simple application of ChaCha -- is likely
also a bottleneck and could be much cheaper by
(a) using sys/crypto/chacha for machine-dependent vectorized
ChaCha code, and
(b) filling a buffer (somewhere between a cipher block and a page)
in a batch at a time, instead of running ChaCha to generate
only 32 bytes at a time.
So although this might be a performance hit, the security benefit is
worthwhile and we have a clear path to do better than reversing the
performance hit later.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

acpivmgenid(4): Nix BUGS that have been squashed.
Reference kern.entropy.epoch for the remaining bug (which is a
performance issue, not a security issue).
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

entropy(9): Allow unprivileged reads of sysctl kern.entropy.epoch.

Applications need this in order to know when to reseed. (We should
also expose it through a page shared read-only with userland for
cheaper access, but until we do, let's let applications get at it
through sysctl.)
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

arc4random.c: Fix test program.

This isn't wired up anywhere, but let's reduce the bitrot. It was
helpful in reminding me that kern.entropy.epoch was, for reasons I
can't remember, restricted to privileged access.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

amd64, evbarm, i386: Add acpivmgenid(4) to GENERIC.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

rnd(4): Document kern.entropy.epoch is unprivileged and elaborate.
Cross-reference acpivmgenid(4).
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

arc4random(3): Note that arc4random respects kern.entropy.epoch.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork
Add debug info for new acpivmgenid module

arc4random(3): Add automatic tests.

This verifies that:
- arc4random zeroes its state and reseeds itself on fork
- arc4random reseeds itself on entropy consolidation (e.g., VM clone)
- arc4random falls back to global state if it can't allocate local
state because address space limits cause mmap to fail

NOTE: This adds a new libc symbol __arc4random_global, but it's in
the reserved namespace and only used by t_arc4random, so no libc
minor bump.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

getentropy(3): Note intent to reseed on VM clone, and caveats.

Tidy markup and pacify some mandoc -Tlint complaints while here.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

Bump dates on man pages recently updated to mention VM clones.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

arc4random(3): Pacify some of lint's complaints.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

arc4random: suppress another lint warning
 1.206.2.4 17-Jun-2024  martin Pull up following revision(s) (requested by nia in ticket #698):

sys/arch/evbarm/conf/GENERIC64: revision 1.216

Add some "simpler" PCI audio devices to aarch64's GENERIC64

These serve as alternatives to hdaudio. Tested in QEMU.
 1.206.2.3 14-Oct-2023  martin Pull up following revision(s) (requested by yamaguchi in ticket #409):

sys/dev/pci/if_ixl.c: revision 1.90
sys/dev/pci/if_ixl.c: revision 1.91
sys/dev/pci/if_ixl.c: revision 1.92
sys/dev/pci/if_ixl.c: revision 1.93
sys/arch/evbarm/conf/GENERIC64: revision 1.214

ixl(4): skip getting link status if the last command is running

ixl(4): use cv_broadcast to wakeup ioctl and workqueue context.
Commands may be issued at the same time from the both context.

ixl(4): update link status in workqueue

ixl(4): Print device info on attach
Without PCIVERBOSE option:
ixl0 at pci1 dev 0 function 0: vendor 8086 product 1572 (rev. 0x01)
With PCIVERBOSE option:
ixl0 at pci1 dev 0 function 0: Intel XL710 SFP+ Ethernet (SFI) (rev. 0x01)
OK yamaguchi@

aarch64/GENERIC64: Add ixl(4)
Works just fine for little-endian on LX2K with UEFI firmware.
Not tested for big-endian yet; attach fails on ROCKPro64 due to
host controller problem.
OK yamaguchi@
 1.206.2.2 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.206.2.1 26-Dec-2022  martin Pull up following revision(s) (requested by nia in ticket #23):

sys/arch/evbarm/conf/GENERIC64: revision 1.207

PR port-arm/57044 allow vcaudio on RPI 4 to attach when booting with EFI
 1.216.2.2 02-Aug-2025  perseant Sync with HEAD
 1.216.2.1 01-Jul-2024  perseant Sync with HEAD.
 1.226.2.1 08-Aug-2025  martin Pull up following revision(s) (requested by skrll in ticket #6):

sys/arch/evbarm/conf/GENERIC64: revision 1.227
sys/dev/pci/files.pci: revision 1.451
sys/dev/pci/pvscsi.c: revision 1.1
sys/dev/pci/pvscsi.c: revision 1.2
sys/dev/pci/pvscsi.h: revision 1.1
sys/arch/amd64/conf/GENERIC: revision 1.617

Add a port of the FreeBSD driver for the VMware PV SCSI controller found
in VMware's ESXi product.

Tested on ESXi/Arm such that an installation from ISO succeeds and boots.

Add the barrier that a comment describes.
 1.1 03-Nov-2022  skrll Provide MI PMAP support on AARCH64
 1.2 31-Mar-2019  jmcneill Remove GENERIC_USERMODE kernel config (this has never worked)
 1.1 10-Nov-2013  jmcneill branches: 1.1.4; 1.1.6; 1.1.10; 1.1.36;
add usermode kernel config
 1.1.36.1 10-Jun-2019  christos Sync with HEAD
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 10-Nov-2013  tls file GENERIC_USERMODE was added on branch tls-maxphys on 2014-08-20 00:02:53 +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 10-Nov-2013  yamt file GENERIC_USERMODE was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 10-Nov-2013  rmind file GENERIC_USERMODE was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.1 09-Oct-2025  skrll Add the beginnings of a GENERIC_V5 kernel that targets armv5 boards and
uses FDT.

In this first iteration some support is added for OLinuXino boards.

Thanks to Yuri Honegger for doing the vast majority of the work.
 1.20 13-Sep-2018  skrll G/C GOLDENGATE
 1.19 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.18 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.17 05-Jun-2018  hkenken branches: 1.17.2;
Rename ARM A9 Global Timer driver name to support fdt.

- Rename a9tmr to arma9tmr.
- Add a9tmr_fdt.c based gtmr_fdt.c.
 1.16 14-Sep-2017  mrg branches: 1.16.2;
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.15 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.14 26-Jun-2017  sevan Add a heading to describe the class of device axe(4) is.
 1.13 19-Feb-2017  rin branches: 1.13.6;
PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.12 07-Aug-2015  maxv branches: 1.12.2; 1.12.4;
Remove KMEMSTATS.
 1.11 23-Aug-2014  dholland branches: 1.11.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.10 18-Aug-2014  christos - Enable Wedge support for MBR/BSDLABEL where it was commented out.
- Add apple partition support where it was missing
- Add comments where missing
 1.9 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.8 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.7 03-Aug-2014  martin Add COMPAT_NETBSD32, following the switch to eabi by default.
 1.6 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.5 30-Jun-2013  rmind branches: 1.5.4; 1.5.6;
G/C PFIL_HOOKS from the kernel configs.
 1.4 05-Jun-2013  christos branches: 1.4.2;
remove obsolete networking options
 1.3 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.2 19-Feb-2013  matt branches: 1.2.4;
fix C&P error
 1.1 19-Feb-2013  matt More Cortina CS75xx files.
 1.2.4.5 03-Dec-2017  jdolecek update from HEAD
 1.2.4.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.4.3 23-Jun-2013  tls resync from head
 1.2.4.2 25-Feb-2013  tls resync with head
 1.2.4.1 19-Feb-2013  tls file GOLDENGATE was added on branch tls-maxphys on 2013-02-25 00:28:34 +0000
 1.4.2.1 28-Aug-2013  rmind sync with head
 1.5.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.5.6.1 30-Jun-2013  yamt file GOLDENGATE was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.5.4.1 10-Aug-2014  tls Rebase.
 1.11.2.2 28-Aug-2017  skrll Sync with HEAD
 1.11.2.1 22-Sep-2015  skrll Sync with HEAD
 1.12.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.12.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.13.6.1 01-Jul-2017  snj Pull up following revision(s) (requested by sevan in ticket #72):
sys/arch/evbarm/conf/GEMINI_SLAVE: revision 1.35
sys/arch/evbarm/conf/N900: revision 1.24
sys/arch/evbarm/conf/GOLDENGATE: revision 1.14
sys/arch/evbarm/conf/GEMINI_MASTER: revision 1.34
sys/arch/evbarm/conf/BEAGLEBONE: revision 1.43
sys/arch/evbarm/conf/BCM56340: revision 1.12
sys/arch/evbarm/conf/GEMINI: revision 1.34
sys/arch/evbarm/conf/BEAGLEBOARDXM: revision 1.24
sys/arch/evbarm/conf/BCM5301X: revision 1.27
sys/arch/evbarm/conf/PANDABOARD: revision 1.22
Add a heading to describe the class of device axe(4) is.
 1.16.2.3 30-Sep-2018  pgoyette Ssync with HEAD
 1.16.2.2 28-Jul-2018  pgoyette Sync with HEAD
 1.16.2.1 25-Jun-2018  pgoyette Sync with HEAD
 1.17.2.1 10-Jun-2019  christos Sync with HEAD
 1.3 14-Sep-2018  skrll Some tweet told me I missed this.
 1.2 01-May-2014  martin branches: 1.2.2; 1.2.28; 1.2.30;
Do not create debug info for *_INSTALL kernels.
 1.1 19-Feb-2013  matt branches: 1.1.2; 1.1.4; 1.1.12;
More Cortina CS75xx files.
 1.1.12.1 10-Aug-2014  tls Rebase.
 1.1.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 19-Feb-2013  tls file GOLDENGATE_INSTALL was added on branch tls-maxphys on 2013-02-25 00:28:34 +0000
 1.1.2.1 18-May-2014  rmind sync with head
 1.2.30.1 10-Jun-2019  christos Sync with HEAD
 1.2.28.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.2.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.2.2.1 01-May-2014  yamt file GOLDENGATE_INSTALL was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.111 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.110 07-Aug-2022  simonb branches: 1.110.4;
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.109 24-May-2022  andvar fix various typos in comment, documentation and log messages.
 1.108 20-Jan-2021  nia do not enable kernel OSS compat in configs without compat_linux

perhaps kernel OSS compat can be merged into compat_linux to avoid
further confusion
 1.107 27-Sep-2020  roy branches: 1.107.2;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.106 16-Aug-2020  jdolecek make COMPAT_LINUX option disabled by default

leave the option enabled only in amd64/i386 ALL kernels to make
sure it continues to be compilable also when included in kernel
 1.105 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.104 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.103 25-Mar-2020  jdolecek branches: 1.103.2;
remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.102 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.101 21-Aug-2019  msaitoh branches: 1.101.2;
Fix typo (s/contoller/controller/).
 1.100 26-Apr-2019  sevan Use veriexec.config to reduce duplication
 1.99 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.98 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.97 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.96 07-Jun-2018  thorpej branches: 1.96.2;
Revert changes that pinned-down i2c parent specs. The i2c subsystem
has been enhanced to make this unnecessary.
 1.95 15-May-2018  thorpej Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.
 1.94 14-Sep-2017  mrg branches: 1.94.2;
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.93 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

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

ok riastradh
 1.92 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.91 16-Jun-2017  pgoyette Add gpio support for Xscale

From Stephan Meisenger in PR/52163
 1.90 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.89 13-Dec-2016  christos branches: 1.89.2;
wildcard speaker attachments, now that we can handle many of them.
 1.88 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.87 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.86 26-Nov-2016  christos mention PAX_SEGVGUARD dependency on FILEASSOC
 1.85 08-Aug-2015  maxv branches: 1.85.2;
Remove KMEMSTATS.
 1.84 23-Aug-2014  dholland branches: 1.84.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.83 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.82 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.81 03-Aug-2014  martin Add COMPAT_NETBSD32, following the switch to eabi by default.
 1.80 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.79 13-Aug-2013  pgoyette branches: 1.79.2;
Bump SYMTAB_SPACE

> arm--netbsdelf-eabi-dbsym: symbol table (786048 bytes) too big for buffer (78603 2 bytes)
> Increase options SYMTAB_SPACE in your kernel config
 1.78 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.77 08-Jun-2013  htodd branches: 1.77.2;
Comment out IPSEC in GUMSTIX like the rest.
 1.76 05-Jun-2013  christos remove obsolete networking options
 1.75 27-Apr-2013  christos more bogus number removal
 1.74 27-Apr-2013  christos the bogus number police
 1.73 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.72 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.71 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.70 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.69 15-Sep-2012  kiyohara Add malo@pcmcia.
 1.68 09-Sep-2012  msaitoh branches: 1.68.2;
Split DEBUG="-g -Ox" into DEBUG="-g" and COPTS="-Ox".
 1.67 29-Aug-2012  skrll Typo in comment
 1.66 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.65 10-Mar-2012  joerg P1003_1B_SEMAPHORE is no longer optional.
 1.64 09-Feb-2012  matt Bump SYMTAB_SPACE
 1.63 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.62 18-Dec-2011  kiyohara SYMTAB_SPACE.
 1.61 22-Nov-2011  tls branches: 1.61.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.60 30-Sep-2011  he branches: 1.60.2;
Bump SYMTAB_SPACE so that the symbol table fits again.
 1.59 02-Sep-2011  he Bump SYMTAB_SPACE so that it fits again.
 1.58 23-Jul-2011  jakllsch Enable or note aubtfwl(4) wherever ubt(4) is enabled or noted.
 1.57 15-May-2011  he Bump SYMTAB_SPACE so that the contents fits again.
 1.56 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.55 06-Mar-2011  jakllsch Bump SYMTAB_SPACE for the many other evbarm kernels that also need it increased.
 1.54 23-Nov-2010  hannken branches: 1.54.2; 1.54.4;
Remove unused count from pseudo-device md.
 1.53 23-Sep-2010  kiyohara + Remove crypto, swcrypto. No need.
+ Enable tap. It needs Bluetooth PAN.
+ Enable bridge for PAN/netDUO.
+ Enable dmoverio.
 1.52 28-Aug-2010  kiyohara Fix typo.
 1.51 10-Jul-2010  kiyohara Support Overo (Gumstix inc).
+ This commit supports basically.
+ Expansion boards not support yet. And MicroSD, Wifi, Bluetooth too.
 1.50 10-Jul-2010  kiyohara Add disabled option PPPOE_SERVER.
 1.49 22-May-2010  plunky add btmagic(4) where other Bluetooth drivers are listed
 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 15-Mar-2010  kiyohara branches: 1.46.2;
More SYMTAB_SPACE.
Enable wsmux for udl.
 1.45 07-Mar-2010  kiyohara Add options GUMSTIX_NETBSD_ARGS_CONSOLE and GUMSTIX_NETBSD_ARGS_BUSHEADER.
Can specify arg 'console='(*new*) and 'busheader=' from u-boot. These args
use dynamically configuration.
Also change function name. s/_line/_liner/.
 1.44 07-Mar-2010  kiyohara Assorted spelling/capitalization fixes from Igor Sobrado in PR kern/22595.
 1.43 03-Jan-2010  kiyohara branches: 1.43.2;
Add udl(4). Tested on verdex-pro and LCD-8000U.
 1.42 07-Dec-2009  kiyohara Remove null-line.
 1.41 06-Dec-2009  kiyohara Add ukphy(4).
 1.40 06-Dec-2009  kiyohara Add drvctl.
Update some bluetooth related comments.
Remove some white-spaces.
 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 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.37 09-Aug-2009  kiyohara Support verdex and verdex-pro.
And
+ Support LCD controller.
+ Support SMSC LAN 9117 Ethernet controller.
+ Comment outed 'options GXIO_DEFAULT_EXPANSION'. As for verdex-pro being
sold now, this option becomes obstructive.
+ Remove some usb devices in GUMSTIX.
+ Update GUMSTIX.

Also
Fix ARM ABI in gumstix_start.S. Thanks Brett Slager <bds at ifgd.net>.
Calculate RAM size in gumstix_start.S.
 1.36 21-Apr-2009  nonaka Added SD/MMC support from OpenBSD.
tested on i386, amd64 at current-users ML by pgoyette@.
tested on zaurus by myself.
 1.35 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.34 06-Feb-2009  jym branches: 1.34.2;
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.33 29-Jan-2009  nonaka Oops, sdmmc related device must be commented out.
 1.32 29-Jan-2009  nonaka Increase SYMTAB_SPACE.
 1.31 24-Nov-2008  ad Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.29 19-Oct-2008  joerg branches: 1.29.2; 1.29.4;
Add u3g entries in kernels that have ugensa as well.
 1.28 31-Jul-2008  simonb Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.27 24-Jun-2008  kiyohara branches: 1.27.2;
Change SYMTAB_SPACE=400000 from 380000.
 1.26 14-May-2008  matt branches: 1.26.2;
Back out SD/MMC inclusion which shouldn't have been comitted.
 1.25 09-May-2008  matt Add KERNEL_BASE_EXT=0xc0000000 to those plaforms that need it.
Note that armv6 and later systems will use 0x80000000 as the kernel start
so they can use the split TTBs in armv6 and later.
 1.24 27-Jan-2008  kiyohara branches: 1.24.6; 1.24.10; 1.24.12;
Update and add some options/devices.
 1.23 06-Jan-2008  matt Increase SYMTAB_SPACE because of more kernel bloat.
 1.22 31-Dec-2007  ad Remove systrace. Ok core@.
 1.21 02-Dec-2007  kiyohara branches: 1.21.6;
Add bcsp(4).
 1.20 17-Oct-2007  garbled branches: 1.20.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.19 16-Sep-2007  kiyohara + Add comment at btuart.
+ Add INCLUDE_CONFIG_FILE and UFS_DIRHASH.
+ Add white space at file-system and enabled some file-system.
+ Comment-outed un-major devices.
+ Add stuirda, uchcom, ugensa.
 1.18 21-Aug-2007  kiyohara branches: 1.18.2;
Replace white-space to Tab.
 1.17 21-Aug-2007  kiyohara Add gxiic and iic. However not test yet because I don't have I2C-LSI and
can't connect it.
 1.16 21-Aug-2007  kiyohara Add option GXIO_DEFAULT_EXPANSION. This option is default 'netCF'.
Remove white-spaces.
 1.15 20-Aug-2007  kiyohara Add btbc(4).
 1.14 12-Jul-2007  kiyohara branches: 1.14.4; 1.14.6; 1.14.8;
s/Gumstix, Inc./Gumstix. Inc./
Sync to i386's GENERIC 1.837
 1.13 20-Apr-2007  kiyohara branches: 1.13.2;
+ Add file-system HFSP (commented out).
+ Add pxartc and lcd(commented out) and pxaudc and pxamci (commented out).
lcd and pxamci not support yet.
+ Remove slhci.
+ Change name of expansion bords the console-{hw,st} from waysmall-{hw,st}.
Because The gumstix Co. changed the name.
 1.12 20-Apr-2007  kiyohara Change to use pxapcic from sa11xx_pcic.
Support multiple socket. But not tested.
 1.11 14-Mar-2007  drochner 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.10 01-Mar-2007  kiyohara branches: 1.10.2; 1.10.4;
Reorder.
 1.9 20-Feb-2007  kiyohara Remove IPKDB, not need.
Indentation at cpu and mainbus.
 1.8 20-Feb-2007  kiyohara Remove white-space.
Indentation.
 1.7 20-Feb-2007  kiyohara Add btuart.
 1.6 18-Jan-2007  kiyohara branches: 1.6.2;
Sorry...
btuart not yet.
 1.5 18-Jan-2007  kiyohara Support com*.
Add options GXIO_BLUETOOTH_ON_HWUART, but not yet btuart.
Cleanup some configurations.
 1.4 17-Dec-2006  nonaka branches: 1.4.2;
Bump up SYMTAB_SPACE.
 1.3 25-Oct-2006  he branches: 1.3.2;
Bump SYMTAB_SPACE so that it fits again.
Hm, this port doesn't error out the build if it doesn't...
 1.2 17-Oct-2006  kiyohara branches: 1.2.2;
Comment out slhci* at pcmcia, because testing now.
 1.1 16-Oct-2006  kiyohara Add initial support for the PXA255-based gumstix board.
 1.2.2.4 18-Dec-2006  yamt sync with head.
 1.2.2.3 10-Dec-2006  yamt sync with head.
 1.2.2.2 22-Oct-2006  yamt sync with head
 1.2.2.1 17-Oct-2006  yamt file GUMSTIX was added on branch yamt-splraiseipl on 2006-10-22 06:04:36 +0000
 1.3.2.4 01-Feb-2007  ad Sync with head.
 1.3.2.3 12-Jan-2007  ad Sync with head.
 1.3.2.2 18-Nov-2006  ad Sync with head.
 1.3.2.1 25-Oct-2006  ad file GUMSTIX was added on branch newlock2 on 2006-11-18 21:29:10 +0000
 1.4.2.8 04-Feb-2008  yamt sync with head.
 1.4.2.7 21-Jan-2008  yamt sync with head
 1.4.2.6 07-Dec-2007  yamt sync with head
 1.4.2.5 27-Oct-2007  yamt sync with head.
 1.4.2.4 03-Sep-2007  yamt sync with head.
 1.4.2.3 26-Feb-2007  yamt sync with head.
 1.4.2.2 30-Dec-2006  yamt sync with head.
 1.4.2.1 17-Dec-2006  yamt file GUMSTIX was added on branch yamt-lazymbuf on 2006-12-30 20:45:48 +0000
 1.6.2.4 07-May-2007  yamt sync with head.
 1.6.2.3 24-Mar-2007  yamt sync with head.
 1.6.2.2 12-Mar-2007  rmind Sync with HEAD.
 1.6.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.10.4.1 11-Jul-2007  mjf Sync with head.
 1.10.2.6 03-Dec-2007  ad Sync with HEAD.
 1.10.2.5 09-Oct-2007  ad Sync with head.
 1.10.2.4 20-Aug-2007  ad Sync with HEAD.
 1.10.2.3 15-Jul-2007  ad Sync with head.
 1.10.2.2 27-May-2007  ad Sync with head.
 1.10.2.1 10-Apr-2007  ad Sync with head.
 1.13.2.1 03-Oct-2007  garbled Sync with HEAD
 1.14.8.3 03-Dec-2007  joerg Sync with HEAD.
 1.14.8.2 02-Oct-2007  joerg Sync with HEAD.
 1.14.8.1 03-Sep-2007  jmcneill Sync with HEAD.
 1.14.6.3 28-Feb-2008  rjs Sync with HEAD.
 1.14.6.2 26-Dec-2007  rjs Sync with HEAD.
 1.14.6.1 01-Nov-2007  rjs Sync with HEAD.
 1.14.4.1 03-Sep-2007  skrll Sync with HEAD.
 1.18.2.4 23-Mar-2008  matt sync with HEAD
 1.18.2.3 09-Jan-2008  matt sync with HEAD
 1.18.2.2 09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.18.2.1 06-Nov-2007  matt sync with HEAD
 1.20.2.2 18-Feb-2008  mjf Sync with HEAD.
 1.20.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.21.6.2 08-Jan-2008  bouyer Sync with HEAD
 1.21.6.1 02-Jan-2008  bouyer Sync with HEAD
 1.24.12.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.24.10.5 09-Oct-2010  yamt sync with head
 1.24.10.4 11-Aug-2010  yamt sync with head.
 1.24.10.3 11-Mar-2010  yamt sync with head
 1.24.10.2 19-Aug-2009  yamt sync with head.
 1.24.10.1 04-May-2009  yamt sync with head.
 1.24.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.24.6.2 28-Sep-2008  mjf Sync with HEAD.
 1.24.6.1 29-Jun-2008  mjf Sync with HEAD.
 1.26.2.1 27-Jun-2008  simonb Sync with head.
 1.27.2.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.27.2.1 19-Oct-2008  haad Sync with HEAD.
 1.29.4.1 21-Nov-2010  riz 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.29.2.3 28-Apr-2009  skrll Sync with HEAD.
 1.29.2.2 03-Mar-2009  skrll Sync with HEAD.
 1.29.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.34.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.43.2.3 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.43.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.43.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.46.2.4 31-May-2011  rmind sync with head
 1.46.2.3 21-Apr-2011  rmind sync with head
 1.46.2.2 05-Mar-2011  rmind sync with head
 1.46.2.1 30-May-2010  rmind sync with head
 1.54.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.54.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.60.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.60.2.2 30-Oct-2012  yamt sync with head
 1.60.2.1 17-Apr-2012  yamt sync with head
 1.61.2.3 29-Apr-2012  mrg sync to latest -current.
 1.61.2.2 11-Mar-2012  mrg sync to latest -current
 1.61.2.1 18-Feb-2012  mrg merge to -current.
 1.68.2.4 03-Dec-2017  jdolecek update from HEAD
 1.68.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.68.2.2 23-Jun-2013  tls resync from head
 1.68.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.77.2.1 28-Aug-2013  rmind sync with head
 1.79.2.1 10-Aug-2014  tls Rebase.
 1.84.2.4 28-Aug-2017  skrll Sync with HEAD
 1.84.2.3 05-Feb-2017  skrll Sync with HEAD
 1.84.2.2 05-Dec-2016  skrll Sync with HEAD
 1.84.2.1 22-Sep-2015  skrll Sync with HEAD
 1.85.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.85.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.89.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.94.2.5 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.94.2.4 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.94.2.3 28-Jul-2018  pgoyette Sync with HEAD
 1.94.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.94.2.1 21-May-2018  pgoyette Sync with HEAD
 1.96.2.4 21-Apr-2020  martin Sync with HEAD
 1.96.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.96.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.96.2.1 10-Jun-2019  christos Sync with HEAD
 1.101.2.1 25-Jan-2020  ad Sync with head.
 1.103.2.1 20-Apr-2020  bouyer Sync with HEAD
 1.107.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.110.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.5 02-May-2014  dogcow as suggested by gimpy et al, "no config" the netbsd-device kernels.
Reduces `build.sh release` by about a gig.
 1.4 01-May-2014  martin Do not create debug info for *_INSTALL kernels.
 1.3 09-Aug-2009  kiyohara branches: 1.3.12; 1.3.22; 1.3.26; 1.3.36;
Support verdex and verdex-pro.
And
+ Support LCD controller.
+ Support SMSC LAN 9117 Ethernet controller.
+ Comment outed 'options GXIO_DEFAULT_EXPANSION'. As for verdex-pro being
sold now, this option becomes obstructive.
+ Remove some usb devices in GUMSTIX.
+ Update GUMSTIX.

Also
Fix ARM ABI in gumstix_start.S. Thanks Brett Slager <bds at ifgd.net>.
Calculate RAM size in gumstix_start.S.
 1.2 19-Feb-2007  briggs branches: 1.2.46;
GUMSTIX and INSTALL both want to include pseudo-device md, so undefine it
in between for now. Why does GUMSTIX need md?
 1.1 16-Oct-2006  kiyohara branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10;
Add initial support for the PXA255-based gumstix board.
 1.1.10.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.1.8.3 26-Feb-2007  yamt sync with head.
 1.1.8.2 30-Dec-2006  yamt sync with head.
 1.1.8.1 16-Oct-2006  yamt file GUMSTIX_INSTALL was added on branch yamt-lazymbuf on 2006-12-30 20:45:48 +0000
 1.1.4.2 18-Nov-2006  ad Sync with head.
 1.1.4.1 16-Oct-2006  ad file GUMSTIX_INSTALL was added on branch newlock2 on 2006-11-18 21:29:10 +0000
 1.1.2.2 22-Oct-2006  yamt sync with head
 1.1.2.1 16-Oct-2006  yamt file GUMSTIX_INSTALL was added on branch yamt-splraiseipl on 2006-10-22 06:04:36 +0000
 1.2.46.1 19-Aug-2009  yamt sync with head.
 1.3.36.1 10-Aug-2014  tls Rebase.
 1.3.26.1 18-May-2014  rmind sync with head
 1.3.22.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.12.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.10 29-Oct-2022  jmcneill Remove support for TI OMAP-L138 based Hawkboard.

This change is part of arch/arm/omap removal.
 1.9 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.8 14-Sep-2017  mrg branches: 1.8.8;
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.7 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.6 21-Aug-2015  uebayasi branches: 1.6.2; 1.6.4;
Add `pseudo-device ksyms' where `options DDB' is used, because
config(1)/config(5) can't handle module dependency correctly at this
moment.

(This is another proof that shared file definition (`file xxx.c a|b')
is a bad idea.)
 1.5 23-Aug-2014  dholland branches: 1.5.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.4 17-Aug-2014  joerg branches: 1.4.2;
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.3 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.2 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.1 02-Oct-2013  matt branches: 1.1.2; 1.1.4; 1.1.6;
Add support for OMAP1-183 base hawkboard (HAWK) from Sughosh Ganu.
Minor cleanup (adding $NetBSD to headers, __KERNEL_RCSID to C files, etc).
 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 02-Oct-2013  yamt file HAWK was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 02-Oct-2013  rmind file HAWK was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.1.2.1 10-Aug-2014  tls Rebase.
 1.4.2.3 03-Dec-2017  jdolecek update from HEAD
 1.4.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.2.1 17-Aug-2014  tls file HAWK was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.5.2.2 28-Aug-2017  skrll Sync with HEAD
 1.5.2.1 22-Sep-2015  skrll Sync with HEAD
 1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.8.8.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.68 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.67 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.66 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.65 20-Jan-2021  nia branches: 1.65.4;
do not enable kernel OSS compat in configs without compat_linux

perhaps kernel OSS compat can be merged into compat_linux to avoid
further confusion
 1.64 27-Sep-2020  roy branches: 1.64.2;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.63 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.62 16-May-2020  maya 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.61 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.60 25-Mar-2020  jdolecek branches: 1.60.2;
remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.59 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.58 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.57 26-Apr-2019  sevan branches: 1.57.4;
Use veriexec.config to reduce duplication
 1.56 06-Feb-2019  rin Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.55 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.54 25-Aug-2018  rin Add (commented out) mue(4) to where appropriate.
Also add MII/PHY drivers for USB NICs if missing.
 1.53 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.52 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.51 14-Sep-2017  mrg branches: 1.51.2; 1.51.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.50 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.49 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.48 13-Dec-2016  christos branches: 1.48.2;
wildcard speaker attachments, now that we can handle many of them.
 1.47 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.46 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.45 19-Mar-2016  gdt branches: 1.45.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.44 12-Aug-2015  maxv Remove KMEMSTATS.
 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 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.39 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.38 30-Jun-2013  rmind branches: 1.38.4;
G/C PFIL_HOOKS from the kernel configs.
 1.37 05-Jun-2013  christos branches: 1.37.2;
remove obsolete networking options
 1.36 27-Apr-2013  christos the bogus number police
 1.35 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.34 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.33 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.32 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.31 11-Sep-2012  msaitoh branches: 1.31.2;
Add PUFFS, putter and fss.
 1.30 01-Sep-2012  jakllsch 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.29 01-Sep-2012  matt Bump up SYMTAB_SPACE
 1.28 29-Aug-2012  skrll Typo in comment
 1.27 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.26 10-Mar-2012  joerg P1003_1B_SEMAPHORE is no longer optional.
 1.25 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.24 22-Nov-2011  tls branches: 1.24.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.23 30-Jun-2011  wiz branches: 1.23.2;
dependant -> dependent
 1.22 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.21 06-Mar-2011  jakllsch Bump SYMTAB_SPACE.
 1.20 23-Nov-2010  hannken branches: 1.20.2; 1.20.4;
Remove unused count from pseudo-device md.
 1.19 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.18 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.17 07-Mar-2010  plunky branches: 1.17.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.16 05-Dec-2009  pooka branches: 1.16.2;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.15 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.14 06-Mar-2009  joerg Remove SHMMAXPGS from all kernel configs. Dynamically compute the
initial limit as 1/4 of the physical memory. Ensure the limit is at
least 1024 pages, the old default on most platforms.
 1.13 24-Nov-2008  ad branches: 1.13.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.11 31-Jul-2008  simonb branches: 1.11.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.10 30-May-2008  tsutsui branches: 1.10.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.9 19-Jan-2008  chris branches: 1.9.6; 1.9.8; 1.9.10; 1.9.12;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.8 31-Dec-2007  ad Remove systrace. Ok core@.
 1.7 14-Mar-2007  drochner branches: 1.7.12; 1.7.16; 1.7.22; 1.7.28;
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.6 11-Nov-2006  jmmv branches: 1.6.4; 1.6.8; 1.6.10;
Remove tmpfs's experimental status. OK'ed by core@.
 1.5 26-Aug-2006  christos branches: 1.5.2; 1.5.4; 1.5.6;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.4 14-Aug-2006  skrll s/adpater/adapter/

Prompted by PR/34195
 1.3 12-Aug-2006  christos Disable SYSTRACE by default on all kernels (discussed with core)
 1.2 26-Jul-2006  cube branches: 1.2.2;
Remove "atapibus* at umass?" and "scsibus* at umass?" when there is
already an attachment to the interface attribute (atapi and scsi).

Part of PR#34085, although it is the contrary to what the submitter
suggests (which shows that having both in a config file can be confusing).
 1.1 16-Apr-2006  nonaka branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10; 1.1.14;
A port of NetBSD to the I-O DATA HDL-G "Giga LANDISK".

Please refer to following URL for this machine.
http://www.iodata.com/products/products.php?cat=HNP&sc=HDL&ts=2&tsc=14&sc=HDL&pId=HDL-G400U
 1.1.14.5 21-Jan-2008  yamt sync with head
 1.1.14.4 03-Sep-2007  yamt sync with head.
 1.1.14.3 30-Dec-2006  yamt sync with head.
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 16-Apr-2006  yamt file HDL_G was added on branch yamt-lazymbuf on 2006-06-21 14:50:33 +0000
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 16-Apr-2006  tron file HDL_G was added on branch peter-altq on 2006-05-24 15:47:54 +0000
 1.1.8.4 03-Sep-2006  yamt sync with head.
 1.1.8.3 11-Aug-2006  yamt sync with head
 1.1.8.2 24-May-2006  yamt sync with head.
 1.1.8.1 16-Apr-2006  yamt file HDL_G was added on branch yamt-pdpolicy on 2006-05-24 10:56:40 +0000
 1.1.4.2 22-Apr-2006  simonb Sync with head.
 1.1.4.1 16-Apr-2006  simonb file HDL_G was added on branch simonb-timecounters on 2006-04-22 11:37:22 +0000
 1.1.2.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.2.1 16-Apr-2006  elad file HDL_G was added on branch elad-kernelauth on 2006-04-19 02:32:21 +0000
 1.2.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.5.6.1 10-Dec-2006  yamt sync with head.
 1.5.4.2 09-Sep-2006  rpaulo sync with head
 1.5.4.1 26-Aug-2006  rpaulo file HDL_G was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:40 +0000
 1.5.2.1 18-Nov-2006  ad Sync with head.
 1.6.10.1 11-Jul-2007  mjf Sync with head.
 1.6.8.1 10-Apr-2007  ad Sync with head.
 1.6.4.1 24-Mar-2007  yamt sync with head.
 1.7.28.2 20-Jan-2008  bouyer Sync with HEAD
 1.7.28.1 02-Jan-2008  bouyer Sync with HEAD
 1.7.22.1 18-Feb-2008  mjf Sync with HEAD.
 1.7.16.2 23-Mar-2008  matt sync with HEAD
 1.7.16.1 09-Jan-2008  matt sync with HEAD
 1.7.12.1 28-Feb-2008  rjs Sync with HEAD.
 1.9.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.9.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.9.10.3 11-Aug-2010  yamt sync with head.
 1.9.10.2 11-Mar-2010  yamt sync with head
 1.9.10.1 04-May-2009  yamt sync with head.
 1.9.8.1 04-Jun-2008  yamt sync with head
 1.9.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.9.6.2 28-Sep-2008  mjf Sync with HEAD.
 1.9.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.10.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.10.4.1 19-Oct-2008  haad Sync with HEAD.
 1.11.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.11.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.13.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.16.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.16.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.17.2.3 21-Apr-2011  rmind sync with head
 1.17.2.2 05-Mar-2011  rmind sync with head
 1.17.2.1 30-May-2010  rmind sync with head
 1.20.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.20.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.23.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.23.2.2 30-Oct-2012  yamt sync with head
 1.23.2.1 17-Apr-2012  yamt sync with head
 1.24.2.3 29-Apr-2012  mrg sync to latest -current.
 1.24.2.2 11-Mar-2012  mrg sync to latest -current
 1.24.2.1 18-Feb-2012  mrg merge to -current.
 1.31.2.4 03-Dec-2017  jdolecek update from HEAD
 1.31.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.31.2.2 23-Jun-2013  tls resync from head
 1.31.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.37.2.1 28-Aug-2013  rmind sync with head
 1.38.4.1 10-Aug-2014  tls Rebase.
 1.43.2.4 28-Aug-2017  skrll Sync with HEAD
 1.43.2.3 05-Feb-2017  skrll Sync with HEAD
 1.43.2.2 22-Apr-2016  skrll Sync with HEAD
 1.43.2.1 22-Sep-2015  skrll Sync with HEAD
 1.45.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.45.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.48.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.51.4.3 21-Apr-2020  martin Sync with HEAD
 1.51.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.51.4.1 10-Jun-2019  christos Sync with HEAD
 1.51.2.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.51.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.51.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.57.4.2 29-Feb-2020  ad Sync with head.
 1.57.4.1 25-Jan-2020  ad Sync with head.
 1.60.2.1 20-Apr-2020  bouyer Sync with HEAD
 1.64.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.65.4.1 01-Aug-2021  thorpej Sync with HEAD.
 1.55 19-Mar-2025  jakllsch Remove last traces of 'options LKM' from kernel config files.
 1.54 29-Jan-2024  christos branches: 1.54.2;
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.53 07-Aug-2022  simonb branches: 1.53.4;
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.52 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.51 20-Jan-2021  nia branches: 1.51.4;
do not enable kernel OSS compat in configs without compat_linux

perhaps kernel OSS compat can be merged into compat_linux to avoid
further confusion
 1.50 27-Sep-2020  roy branches: 1.50.2;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.49 16-Aug-2020  jdolecek make COMPAT_LINUX option disabled by default

leave the option enabled only in amd64/i386 ALL kernels to make
sure it continues to be compilable also when included in kernel
 1.48 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.47 16-May-2020  maya 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.46 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.45 25-Mar-2020  jdolecek branches: 1.45.2;
remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.44 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.43 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.42 26-Apr-2019  sevan branches: 1.42.2; 1.42.4;
Use veriexec.config to reduce duplication
 1.41 06-Feb-2019  rin Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.40 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.39 25-Aug-2018  rin Add (commented out) mue(4) to where appropriate.
Also add MII/PHY drivers for USB NICs if missing.
 1.38 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.37 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.36 13-Mar-2018  ryo branches: 1.36.2;
fix build error. need midi* for umidi
 1.35 14-Sep-2017  mrg branches: 1.35.2;
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.34 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

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

ok riastradh
 1.33 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.32 24-May-2017  christos rename u3ginit driver to umodeswitch
 1.31 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.30 13-Dec-2016  christos branches: 1.30.2;
wildcard speaker attachments, now that we can handle many of them.
 1.29 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.28 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.27 26-Nov-2016  christos mention PAX_SEGVGUARD dependency on FILEASSOC
 1.26 19-Mar-2016  gdt branches: 1.26.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.25 08-Aug-2015  maxv Remove KMEMSTATS.
 1.24 17-Oct-2014  martin branches: 1.24.2;
Fix the names of the (commented out) Kirwood L2 cache options.
 1.23 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.22 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.21 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.20 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.19 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.18 30-Jun-2013  rmind branches: 1.18.4;
G/C PFIL_HOOKS from the kernel configs.
 1.17 16-Jun-2013  tsutsui branches: 1.17.2;
Use "-mtune-arm9e" for CPUFLAGS rather than "-march=armv5te".
The latter seems to cause problems around USB xfers (but not 100% sure).
 1.16 16-Jun-2013  tsutsui Enable MFS, CD9660, NULLFS, and UDF (for misc build work).
 1.15 16-Jun-2013  tsutsui Add and enable BUFQ options.
 1.14 05-Jun-2013  christos remove obsolete networking options
 1.13 27-Apr-2013  christos more bogus number removal
 1.12 27-Apr-2013  christos the bogus number police
 1.11 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 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 Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.7 11-Sep-2012  msaitoh branches: 1.7.2;
Add PUFFS, putter and fss.
 1.6 09-Sep-2012  msaitoh Split DEBUG="-g -Ox" into DEBUG="-g" and COPTS="-Ox".
 1.5 01-Sep-2012  jakllsch 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.4 29-Aug-2012  skrll Typo in comment
 1.3 23-Aug-2012  kiyohara Remove obsolated file-system PORTAL.
 1.2 05-Jun-2012  abs 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.1 31-Mar-2012  tsutsui branches: 1.1.2; 1.1.4;
Add a config file for HP t5325 Thin Client (mostly taken from SHEEVAPLUG).
http://h50146.www5.hp.com/products/thinclient/t5325/

Demonstrated on NetBSD booth at Open Source Conference 2012 Ehime.
http://www.netbsd.org/gallery/events.html#opensourceconf2012-ehime
 1.1.4.4 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.4.3 30-Oct-2012  yamt sync with head
 1.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 31-Mar-2012  yamt file HPT5325 was added on branch yamt-pagecache on 2012-04-17 00:06:13 +0000
 1.1.2.2 05-Apr-2012  mrg sync to latest -current.
 1.1.2.1 31-Mar-2012  mrg file HPT5325 was added on branch jmcneill-usbmp on 2012-04-05 21:33:13 +0000
 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.17.2.1 28-Aug-2013  rmind sync with head
 1.18.4.1 10-Aug-2014  tls Rebase.
 1.24.2.5 28-Aug-2017  skrll Sync with HEAD
 1.24.2.4 05-Feb-2017  skrll Sync with HEAD
 1.24.2.3 05-Dec-2016  skrll Sync with HEAD
 1.24.2.2 22-Apr-2016  skrll Sync with HEAD
 1.24.2.1 22-Sep-2015  skrll Sync with HEAD
 1.26.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.26.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.30.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.35.2.4 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.35.2.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.35.2.2 28-Jul-2018  pgoyette Sync with HEAD
 1.35.2.1 15-Mar-2018  pgoyette Synch with HEAD
 1.36.2.3 21-Apr-2020  martin Sync with HEAD
 1.36.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.36.2.1 10-Jun-2019  christos Sync with HEAD
 1.42.4.2 29-Feb-2020  ad Sync with head.
 1.42.4.1 25-Jan-2020  ad Sync with head.
 1.42.2.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.45.2.1 20-Apr-2020  bouyer Sync with HEAD
 1.50.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.51.4.1 01-Aug-2021  thorpej Sync with HEAD.
 1.53.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.54.2.1 02-Aug-2025  perseant Sync with HEAD
 1.29 11-Oct-2017  jmcneill Remove HUMMINGBIRD_A31 kernel config (supported by SUNXI kernel now)
 1.28 20-Mar-2017  skrll Disable DIAGNOSTIC - it is already enabled in GENERIC.common
 1.27 13-Dec-2016  christos branches: 1.27.2;
wildcard speaker attachments, now that we can handle many of them.
 1.26 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.25 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.24 19-Apr-2015  matt branches: 1.24.2;
Remove CPU_CORTEXA7 since ALLWINNER_A31 implies it
 1.23 03-Apr-2015  jmcneill Move common non-device stuff to GENERIC.common. Simplify board configs,
and let them all share common settings.
 1.22 13-Feb-2015  joerg Both ext2 and iso9660 are useful when dealing with external devices, so
include them.
 1.21 08-Feb-2015  joerg Include vnd, fss and putter
 1.20 23-Nov-2014  jmcneill branches: 1.20.2;
The SoC RTC works on this board but does not seem to be hooked up to the
battery. Thankfully, there is a PCF8563 attached to TWI2 at address 51h,
so use that instead.
 1.19 11-Nov-2014  jmcneill branches: 1.19.2;
enable awinhdmiaudio
 1.18 10-Nov-2014  jmcneill enable VCONS_DRAW_INTR
 1.17 09-Nov-2014  jmcneill add awintcon, awindebe, genfb, wsdisplay, wsmux, wsfont
 1.16 08-Nov-2014  jmcneill add awinhdmi
 1.15 05-Nov-2014  jmcneill enable awincnt
 1.14 05-Nov-2014  jmcneill enable MULTIPROCESSOR
 1.13 02-Nov-2014  jmcneill add awinir and cir
 1.12 20-Oct-2014  jmcneill get rid of VERBOSE_INIT_ARM
 1.11 19-Oct-2014  jmcneill enable awge
 1.10 14-Oct-2014  jmcneill override CPUFLAGS and build with -mcpu=cortex-a7
 1.9 13-Oct-2014  jmcneill enable awinac
 1.8 13-Oct-2014  jmcneill enable awindma
 1.7 12-Oct-2014  jmcneill add P2WI; lock down TWI0 as iic0 and P2WI as iic1; add AXP221 driver
 1.6 12-Oct-2014  jmcneill A31 needs a different DMA controller driver, disable awindma and awinac for now
 1.5 12-Oct-2014  jmcneill enable ehci, ohci, and USB device drivers
 1.4 11-Oct-2014  jmcneill disable MULTIPROCESSOR for now
 1.3 11-Oct-2014  jmcneill dont pull in CUBIEBOARD kernel config since this is quite a bit different from the A10/A20 boards
 1.2 10-Oct-2014  jmcneill add AWIN_GPIO_IGNORE_FW, remove no motg0
 1.1 10-Oct-2014  jmcneill Add Merrii Hummingbird A31 board specific info + kernel config.
 1.19.2.5 25-Nov-2014  snj Pull up following revision(s) (requested by jmcneill in ticket #257):
sys/arch/arm/allwinner/awin_twi.c: revision 1.5
sys/arch/arm/allwinner/awin_reg.h: revision 1.53
sys/arch/evbarm/conf/HUMMINGBIRD_A31: revision 1.20
sys/dev/i2c/gttwsi_core.c: revision 1.2
sys/dev/i2c/gttwsivar.h: revision 1.2
On Allwinner A31 you need to set the CONTROL_IFLG bit to clear it. Add
a "iflg-rwc" property to enable this behaviour.
--
Don't assume that U-Boot has enabled the TWI clock. Also, for A31, set
the "iflg-rwc" device property for gttwsi.
--
The SoC RTC works on this board but does not seem to be hooked up to the
battery. Thankfully, there is a PCF8563 attached to TWI2 at address 51h,
so use that instead.
 1.19.2.4 14-Nov-2014  snj Pull up following revision(s) (requested by jmcneill in ticket #237):
sys/arch/evbarm/conf/HUMMINGBIRD_A31: revision 1.16, 1.19
add awinhdmi
--
enable awinhdmiaudio
 1.19.2.3 14-Nov-2014  martin Pull up following revision(s) (requested by jmcneill in ticket #210):
sys/arch/arm/allwinner/awin_board.c: revisions 1.26-1.27
sys/arch/arm/allwinner/awin_debe.c: revisions 1.1-1.6
sys/arch/arm/allwinner/awin_fb.c: revisions 1.1-1.4
sys/arch/arm/allwinner/awin_hdmi.c: revisions 1.3-1.6,1.9-1.12
sys/arch/arm/allwinner/awin_io.c: revision 1.27
sys/arch/arm/allwinner/awin_reg.h: revisions 1.46-1.47,1.49
sys/arch/arm/allwinner/awin_tcon.c: revisions 1.1-1.5
sys/arch/arm/allwinner/awin_var.h: revisions 1.20-1.22
sys/arch/arm/allwinner/files.awin: revisions 1.22-1.23,1.25
sys/arch/evbarm/awin/awin_machdep.c: revision 1.26
sys/arch/evbarm/conf/BPI: revision 1.10
sys/arch/evbarm/conf/CUBIEBOARD: revision 1.32
sys/arch/evbarm/conf/HUMMINGBIRD_A31: revisions 1.17-1.18
sys/dev/wscons/wsconsio.h: revision 1.109

HDMI framebuffer for Allwinner boards.
 1.19.2.2 14-Nov-2014  martin Pull up following revision(s) (requested by skrll in ticket #230):
sys/dev/i2c/axp22x.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revisions 1.65-1.66
sys/arch/evbarm/conf/HUMMINGBIRD_A31: revisions 1.1-1.15
sys/arch/evbarm/conf/HUMMINGBIRD_A31_INSTALL: revisions 1.1-1.3
sys/dev/i2c/axp22x.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.57

Add Merrii Hummingbird A31 board kernels.
Add AXP22x Power Management Unit driver.
 1.19.2.1 11-Nov-2014  martin file HUMMINGBIRD_A31 was added on branch netbsd-7 on 2014-11-14 10:04:40 +0000
 1.20.2.4 28-Aug-2017  skrll Sync with HEAD
 1.20.2.3 05-Feb-2017  skrll Sync with HEAD
 1.20.2.2 06-Jun-2015  skrll Sync with HEAD
 1.20.2.1 06-Apr-2015  skrll Sync with HEAD
 1.24.2.2 26-Apr-2017  pgoyette Sync with HEAD
 1.24.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.27.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.4 11-Oct-2017  jmcneill Remove HUMMINGBIRD_A31 kernel config (supported by SUNXI kernel now)
 1.3 14-Oct-2014  htodd branches: 1.3.2;
Fix build.
 1.2 14-Oct-2014  jmcneill do as other allwinner boards and dont use sshramdisk
 1.1 14-Oct-2014  uebayasi INSTALL kernel for HUMMINGBIRD_A31. Blindly copied from RPI. Good enough
to fix build release.
 1.3.2.2 14-Nov-2014  martin Pull up following revision(s) (requested by skrll in ticket #230):
sys/dev/i2c/axp22x.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revisions 1.65-1.66
sys/arch/evbarm/conf/HUMMINGBIRD_A31: revisions 1.1-1.15
sys/arch/evbarm/conf/HUMMINGBIRD_A31_INSTALL: revisions 1.1-1.3
sys/dev/i2c/axp22x.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.57

Add Merrii Hummingbird A31 board kernels.
Add AXP22x Power Management Unit driver.
 1.3.2.1 14-Oct-2014  martin file HUMMINGBIRD_A31_INSTALL was added on branch netbsd-7 on 2014-11-14 10:04:40 +0000
 1.12 23-May-2020  skrll imx6 kernels are part of GENERIC now
 1.11 23-May-2020  rin Deduplicate "options IMXUARTCONSOLE".
 1.10 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.9 11-Aug-2019  skrll branches: 1.9.6;
Update for recent a9wdt changes
 1.8 24-Jul-2019  hkenken branches: 1.8.2;
Modified i.MX GPIO control module and PCIe module.

+ Add imxpcie.c
imx PCIe common driver
 1.7 06-Feb-2019  rin Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.6 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.5 17-Oct-2018  skrll options<space><tab>
 1.4 05-Jun-2018  hkenken branches: 1.4.2;
Rename ARM A9 Global Timer driver name to support fdt.

- Rename a9tmr to arma9tmr.
- Add a9tmr_fdt.c based gtmr_fdt.c.
 1.3 25-Nov-2017  christos branches: 1.3.2; 1.3.4;
comment out duplicate options and unknown devices
 1.2 09-Nov-2017  hkenken - Add imxusbphy driver for i.MX6.
- Clean up CCM (Clock driver).
Add imx6_ccm_analog_read/write() functions.
 1.1 24-Nov-2016  hkenken branches: 1.1.2; 1.1.4;
Add support imx6 PCIe controller.
 1.1.4.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.4.1 24-Nov-2016  pgoyette file HUMMINGBOARD was added on branch pgoyette-localcount on 2017-01-07 08:56:13 +0000
 1.1.2.2 05-Dec-2016  skrll Sync with HEAD
 1.1.2.1 24-Nov-2016  skrll file HUMMINGBOARD was added on branch nick-nhusb on 2016-12-05 10:54:52 +0000
 1.3.4.2 20-Oct-2018  pgoyette Sync with head
 1.3.4.1 25-Jun-2018  pgoyette Sync with HEAD
 1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.3.2.1 25-Nov-2017  jdolecek file HUMMINGBOARD was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.4.2.3 21-Apr-2020  martin Sync with HEAD
 1.4.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.8.2.1 15-Aug-2019  martin Pull up following revision(s) (requested by skrll in ticket #55):

sys/arch/arm/cortex/a9wdt.c: revision 1.10
sys/arch/evbarm/conf/HUMMINGBOARD: revision 1.9
sys/arch/evbarm/conf/GENERIC: revision 1.50
sys/arch/evbarm/conf/NITROGEN6X: revision 1.24
sys/arch/arm/cortex/a9tmr_var.h: revision 1.7
sys/arch/arm/fdt/files.fdt: revision 1.29
sys/arch/arm/amlogic/meson_platform.c: revision 1.12
sys/arch/arm/amlogic/meson8b_pinctrl.c: revision 1.2
sys/arch/arm/amlogic/meson_platform.c: revision 1.13
sys/arch/evbarm/conf/BCM5301X: revision 1.34
sys/arch/arm/dts/meson8b.dtsi: revision 1.6
sys/arch/arm/fdt/a9ptmr_fdt.c: revision 1.1
sys/arch/arm/dts/meson8b.dtsi: revision 1.7
sys/arch/arm/cortex/a9ptmr_var.h: revision 1.1
sys/arch/evbarm/conf/PANDABOARD: revision 1.30
sys/arch/evbarm/conf/DUOVERO: revision 1.14
sys/arch/arm/cortex/a9ptmr.c: revision 1.1
sys/arch/arm/cortex/a9ptmr.c: revision 1.2
sys/arch/arm/fdt/a9wdt_fdt.c: revision 1.1
sys/arch/evbarm/conf/BCM56340: revision 1.19
sys/arch/evbarm/conf/CUBOX-I: revision 1.23
sys/arch/arm/amlogic/meson8b_clkc.c: revision 1.4
sys/arch/evbarm/conf/PARALLELLA: revision 1.7
sys/arch/arm/cortex/files.cortex: revision 1.12
sys/arch/arm/dts/meson8b-odroidc1.dts: revision 1.4
sys/arch/arm/cortex/a9wdt.c: revision 1.9
sys/arch/evbarm/conf/ZEDBOARD: revision 1.6

spaces to tab

-

Add a driver for the A5/A9 Private timer.
While here FDTise the Watchdog driver.

-

Update for recent a9wdt changes
-

Trailing whitespace

-
Updates to get Odroid-C1 in better shape since the last DTS import

-

Various fixes / changes
- don't use prescaler
- improve AB_DEBUG output
- fix a9ptmr_delay to work with a decrementing counter!
Thanks to jmcneill@ for proving I'm an idiot

-

Add eth_rxd3 and eth_rxd2 pinctrl groups

-

Catch up to recent mainline dts changes
 1.9.6.1 20-Apr-2020  bouyer Sync with HEAD
 1.36 03-Nov-2019  jmcneill OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.
 1.35 18-May-2019  skrll branches: 1.35.2;
Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.34 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.33 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.32 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.31 14-Sep-2017  mrg branches: 1.31.2; 1.31.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.30 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.29 27-Feb-2017  chs fix the build of this kernel config by adding the omapscm driver.
turn on options for dtrace, turn off USB debugging.
 1.28 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.27 12-Aug-2015  maxv branches: 1.27.2; 1.27.4;
Remove KMEMSTATS.
 1.26 30-Aug-2014  kiyohara branches: 1.26.2;
Pad L4 WAKEUP to 1M, like omap2_reg.h.
 1.25 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.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 10-Aug-2014  chs add missing omapdma.
 1.22 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.21 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.20 12-Aug-2013  matt branches: 1.20.2;
Add omapiic
 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 27-Apr-2013  christos more bogus number removal
 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 19-Dec-2012  msaitoh Add pseudo-device lockstat
 1.13 11-Sep-2012  msaitoh branches: 1.13.2;
Add PUFFS, putter and fss.
 1.12 05-Sep-2012  matt modify USB entries (still commented out).
 1.11 04-Sep-2012  matt Make reset work on beagle again.
Add nand (not yet working) and prcm to IGEPV2.
Add smsh to IGEPV2 (use attachment from gumstix).
Turn on a few options for IGEPV2.
 1.10 23-Aug-2012  kiyohara Remove obsolated file-system PORTAL.
 1.9 31-Mar-2012  tsutsui Remove obsolete System V semaphores and share memory limit options
(SEMMNI, SEMMNS, SEMUME and SHMMAXPGS).
 1.8 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.7 22-Nov-2011  tls branches: 1.7.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.6 30-Jun-2011  wiz branches: 1.6.2;
dependant -> dependent
 1.5 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.4 06-Mar-2011  jakllsch Bump SYMTAB_SPACE for the many other evbarm kernels that also need it increased.
 1.3 06-Mar-2011  jakllsch Remove trailing spaces.
 1.2 23-Nov-2010  hannken branches: 1.2.2; 1.2.4;
Remove unused count from pseudo-device md.
 1.1 16-Jun-2010  jmcneill branches: 1.1.2; 1.1.4; 1.1.6;
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530

Apply patch from PR, with build fixes. ok skrll, matt
 1.1.6.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.1.6.1 16-Jun-2010  uebayasi file IGEPV2 was added on branch uebayasi-xip on 2010-08-17 06:44:15 +0000
 1.1.4.2 11-Aug-2010  yamt sync with head.
 1.1.4.1 16-Jun-2010  yamt file IGEPV2 was added on branch yamt-nfs-mp on 2010-08-11 22:51:50 +0000
 1.1.2.4 21-Apr-2011  rmind sync with head
 1.1.2.3 05-Mar-2011  rmind sync with head
 1.1.2.2 03-Jul-2010  rmind sync with head
 1.1.2.1 16-Jun-2010  rmind file IGEPV2 was added on branch rmind-uvmplock on 2010-07-03 01:19:16 +0000
 1.2.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.2.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.6.2.4 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.3 23-Jan-2013  yamt sync with head
 1.6.2.2 30-Oct-2012  yamt sync with head
 1.6.2.1 17-Apr-2012  yamt sync with head
 1.7.2.2 05-Apr-2012  mrg sync to latest -current.
 1.7.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 25-Feb-2013  tls resync with head
 1.18.2.1 28-Aug-2013  rmind sync with head
 1.20.2.1 10-Aug-2014  tls Rebase.
 1.26.2.2 28-Aug-2017  skrll Sync with HEAD
 1.26.2.1 22-Sep-2015  skrll Sync with HEAD
 1.27.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.27.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.31.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.31.4.1 10-Jun-2019  christos Sync with HEAD
 1.31.2.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.31.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.35.2.2 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.35.2.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.7 20-May-2020  hkenken i.MX support merged into GENERIC kernel.
 1.6 18-May-2020  jmcneill Separate devicetree .dts -> .dtb building from kernel builds. They are now
part of a separate set, "dtb.tgz", and only built when MKDTB=yes. This
defaults to yes for earmv[67]* and aarch64, and no everywhere else.
 1.5 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.4 19-Aug-2019  hkenken branches: 1.4.6; 1.4.8;
Add support SPI driver for i.MX6.
 1.3 12-Aug-2019  skrll Add a9ptmr
 1.2 30-Jul-2019  hkenken Add IIC support.
 1.1 24-Jul-2019  hkenken Add support for device tree.

+ CCM (clk)
+ COM (uart)
+ GPIO
+ IOMUX (pin control)
+ PCIe
+ SDHC
+ USB Host
+ USB phy
 1.4.8.3 21-Apr-2020  martin Sync with HEAD
 1.4.8.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.8.1 19-Aug-2019  martin file IMX was added on branch phil-wifi on 2020-04-13 08:03:42 +0000
 1.4.6.1 20-Apr-2020  bouyer Sync with HEAD
 1.20 09-Oct-2025  skrll Add the beginnings of a GENERIC_V5 kernel that targets armv5 boards and
uses FDT.

In this first iteration some support is added for OLinuXino boards.

Thanks to Yuri Honegger for doing the vast majority of the work.
 1.19 28-Nov-2020  skrll Fix build by renaming the pinctrl driver
 1.18 06-Feb-2019  rin branches: 1.18.12;
Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.17 14-Sep-2017  mrg branches: 1.17.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.16 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.15 13-Dec-2016  christos branches: 1.15.2;
wildcard speaker attachments, now that we can handle many of them.
 1.14 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.13 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.12 21-Aug-2015  uebayasi branches: 1.12.2;
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.11 10-Jan-2015  jmcneill Petri Laakso <petri.laakso@asd.fi>
- New audio driver
- Add new devices rtc and digfilt
- Use BOOT_ARGS if defined in kernel configuration
 1.10 11-Oct-2014  uebayasi branches: 1.10.2;
Device midi attachment where the evil usbdevices.config is included.
 1.9 24-Aug-2014  jnemeth Create an "options MODULAR_DEFAULT_AUTOLOAD" config option and add
it to all kernel configs that contain "options MODULAR". This
option turns on module autoloading by default (which is the current
default). This allows people who don't want module autoloading on
by default to disable it by simply removing/commentting this line.
 1.8 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.7 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.6 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.5 03-Aug-2014  martin branches: 1.5.2;
Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.4 07-Oct-2013  matt branches: 1.4.2;
iMX233/OLinuXino changes from Petri Laskso.
See http://mail-index.netbsd.org/port-arm/2013/10/07/msg002042.html
 1.3 03-Mar-2013  jkunz branches: 1.3.6;
Contribution from Petri Laakso:
- DMA driver stub code replaced with working code.
- Add support to multi block DMA in ssp driver.
 1.2 16-Dec-2012  jkunz branches: 1.2.2; 1.2.6;
Contribution from Petri Laakso: Initial support for SD card controller.
iMX233-OLinuXino can now boot and run from its own SD card.
 1.1 20-Nov-2012  jkunz Add initial support for Olimex iMX233 based OLinuXino boards.
https://www.olimex.com/Products/OLinuXino/iMX233/
Contributed by Petri Laakso.
 1.2.6.5 03-Dec-2017  jdolecek update from HEAD
 1.2.6.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.3 23-Jun-2013  tls resync from head
 1.2.6.2 25-Feb-2013  tls resync with head
 1.2.6.1 16-Dec-2012  tls file IMX23_OLINUXINO was added on branch tls-maxphys on 2013-02-25 00:28:34 +0000
 1.2.2.4 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.2.3 23-Jan-2013  yamt sync with head
 1.2.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.2.2.1 16-Dec-2012  yamt file IMX23_OLINUXINO was added on branch yamt-pagecache on 2013-01-16 05:32:52 +0000
 1.3.6.1 18-May-2014  rmind sync with head
 1.4.2.1 10-Aug-2014  tls Rebase.
 1.5.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.10.2.4 28-Aug-2017  skrll Sync with HEAD
 1.10.2.3 05-Feb-2017  skrll Sync with HEAD
 1.10.2.2 22-Sep-2015  skrll Sync with HEAD
 1.10.2.1 06-Apr-2015  skrll Sync with HEAD
 1.12.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.12.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.15.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.17.4.1 10-Jun-2019  christos Sync with HEAD
 1.18.12.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.3 23-May-2020  jmcneill GC unused INSTALL kernel configs.
 1.2 01-May-2014  martin branches: 1.2.2; 1.2.4; 1.2.8;
Do not create debug info for *_INSTALL kernels.
 1.1 07-Oct-2013  matt branches: 1.1.2;
iMX233/OLinuXino changes from Petri Laskso.
See http://mail-index.netbsd.org/port-arm/2013/10/07/msg002042.html
 1.1.2.1 10-Aug-2014  tls Rebase.
 1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.8.1 01-May-2014  tls file IMX23_OLINUXINO_INSTALL was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.2.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.4.1 01-May-2014  yamt file IMX23_OLINUXINO_INSTALL was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.2.2.2 18-May-2014  rmind sync with head
 1.2.2.1 01-May-2014  rmind file IMX23_OLINUXINO_INSTALL was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.36 07-Aug-2022  simonb branches: 1.36.4;
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.35 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.34 14-Jul-2018  maxv branches: 1.34.10;
Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.33 14-Sep-2017  mrg branches: 1.33.2; 1.33.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.32 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 2.
 1.31 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.30 07-Aug-2015  maxv branches: 1.30.2; 1.30.4;
Remove the KMEMSTATS option. It no longer exists.
 1.29 23-Aug-2014  dholland branches: 1.29.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.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 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.25 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.24 30-Jun-2013  rmind branches: 1.24.4;
G/C PFIL_HOOKS from the kernel configs.
 1.23 05-Jun-2013  christos branches: 1.23.2;
remove obsolete networking options
 1.22 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.21 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.20 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.19 11-Sep-2012  msaitoh branches: 1.19.2;
Add PUFFS, putter and fss.
 1.18 01-Sep-2012  matt Bump up SYMTAB_SPACE
 1.17 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.16 18-Dec-2011  dholland 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-Mar-2011  jakllsch Bump SYMTAB_SPACE for the many other evbarm kernels that also need it increased.
 1.11 23-Nov-2010  hannken branches: 1.11.2; 1.11.4;
Remove unused count from pseudo-device md.
 1.10 15-Nov-2010  bsh add an option for system clock frequency (used by timer driver)
 1.9 05-Dec-2009  pooka branches: 1.9.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.8 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 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 27-Apr-2008  matt branches: 1.2.2;
Merge kernel changes in matt-armv6 to HEAD.
 1.1 29-Aug-2007  matt branches: 1.1.2; 1.1.20; 1.1.22; 1.1.24;
file IMX31LITE was initially added on branch matt-armv6.
 1.1.24.3 11-Mar-2010  yamt sync with head
 1.1.24.2 04-May-2009  yamt sync with head.
 1.1.24.1 16-May-2008  yamt sync with head.
 1.1.22.2 04-Jun-2008  yamt sync with head
 1.1.22.1 18-May-2008  yamt sync with head.
 1.1.20.3 17-Jan-2009  mjf Sync with HEAD.
 1.1.20.2 28-Sep-2008  mjf Sync with HEAD.
 1.1.20.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.2.5 28-Jan-2008  matt Given the that there are only 4 IPLs (ignoring soft IPLs), a number of
cleanups can be done:
Remove _SPL_* aliases.
Don't store irqmasks in ci_cpl, just make it an ipl level.
Add fast softint switching support.
 1.1.2.4 29-Oct-2007  matt Add intr locators for devices.
 1.1.2.3 11-Sep-2007  matt More support for Freescale i.MX31 DEV LITE KIT
 1.1.2.2 06-Sep-2007  matt Add options KERNEL_BASE_EXT
 1.1.2.1 29-Aug-2007  matt Initial IMX31LITE configury
 1.2.2.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.2.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 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.4.2 21-Apr-2011  rmind sync with head
 1.9.4.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.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.2 29-Apr-2012  mrg sync to latest -current.
 1.15.2.1 18-Feb-2012  mrg merge to -current.
 1.19.2.4 03-Dec-2017  jdolecek update from HEAD
 1.19.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.19.2.2 23-Jun-2013  tls resync from head
 1.19.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.23.2.1 28-Aug-2013  rmind sync with head
 1.24.4.1 10-Aug-2014  tls Rebase.
 1.29.2.2 28-Aug-2017  skrll Sync with HEAD
 1.29.2.1 22-Sep-2015  skrll Sync with HEAD
 1.30.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.30.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.33.4.2 21-Apr-2020  martin Sync with HEAD
 1.33.4.1 10-Jun-2019  christos Sync with HEAD
 1.33.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.34.10.1 20-Apr-2020  bouyer Sync with HEAD
 1.36.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.17 23-May-2020  skrll imx6 kernels are part of GENERIC now
 1.16 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.15 25-Mar-2020  jdolecek branches: 1.15.2;
remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.14 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.13 24-Jul-2019  hkenken branches: 1.13.2; 1.13.4;
Modified i.MX GPIO control module and PCIe module.

+ Add imxpcie.c
imx PCIe common driver
 1.12 26-Apr-2019  sevan Use veriexec.config to reduce duplication
 1.11 19-Dec-2018  skrll Remove CONS_OVERRIDE - it's an i386 option
 1.10 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.9 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.8 21-Jul-2018  maya Remove comment mentioning an i386 problem from non-x86 kernel configs.
(they all say BROKEN in the next comment too)
 1.7 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.6 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.5 09-Nov-2017  hkenken branches: 1.5.2; 1.5.4; 1.5.6;
- Add imxusbphy driver for i.MX6.
- Clean up CCM (Clock driver).
Add imx6_ccm_analog_read/write() functions.
 1.4 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.3 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

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

ok riastradh
 1.2 29-Jul-2017  maxv branches: 1.2.2;
Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.1 09-Jun-2017  ryo add support for i.MX6UltraLite, and
ConnectCore for iMX6UL Starter Board.
 1.2.2.2 28-Aug-2017  skrll Sync with HEAD
 1.2.2.1 29-Jul-2017  skrll file IMX6UL-STARTER was added on branch nick-nhusb on 2017-08-28 17:51:34 +0000
 1.5.6.4 21-Apr-2020  martin Sync with HEAD
 1.5.6.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.5.6.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.5.6.1 10-Jun-2019  christos Sync with HEAD
 1.5.4.4 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.5.4.3 20-Oct-2018  pgoyette Sync with head
 1.5.4.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.5.4.1 28-Jul-2018  pgoyette Sync with HEAD
 1.5.2.2 03-Dec-2017  jdolecek update from HEAD
 1.5.2.1 09-Nov-2017  jdolecek file IMX6UL-STARTER was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.13.4.1 25-Jan-2020  ad Sync with head.
 1.13.2.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.15.2.1 20-Apr-2020  bouyer Sync with HEAD
 1.2 23-May-2020  jmcneill GC unused INSTALL kernel configs.
 1.1 09-Jun-2017  ryo branches: 1.1.4; 1.1.6;
add support for i.MX6UltraLite, and
ConnectCore for iMX6UL Starter Board.
 1.1.6.2 03-Dec-2017  jdolecek update from HEAD
 1.1.6.1 09-Jun-2017  jdolecek file IMX6UL-STARTER_INSTALL was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.4.2 28-Aug-2017  skrll Sync with HEAD
 1.1.4.1 09-Jun-2017  skrll file IMX6UL-STARTER_INSTALL was added on branch nick-nhusb on 2017-08-28 17:51:34 +0000
 1.7 02-Mar-2014  joerg Bump sshramdisk size to 3800k, reserve 4MB in the install kernel.
 1.6 28-Jun-2013  matt branches: 1.6.2;
Use a multiple of 256 for the size.
 1.5 28-Jun-2013  htodd Bump MEMORY_DISK_ROOT_SIZE to fix build.
 1.4 28-Jun-2013  matt Bump memory disk to 3.5MB
 1.3 23-Nov-2010  hannken branches: 1.3.8; 1.3.18;
Remove unused count from pseudo-device md.
 1.2 06-Feb-2009  jym branches: 1.2.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.1 08-Apr-2003  thorpej branches: 1.1.108; 1.1.116;
Factor out common INSTALL kernel config fragments into a new INSTALL
file. Add INSTALL kernels for the ADI BRH, IQ80310, and IQ80321.
 1.1.116.1 03-Mar-2009  skrll Sync with HEAD.
 1.1.108.1 04-May-2009  yamt sync with head.
 1.2.6.1 05-Mar-2011  rmind sync with head
 1.3.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.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.6.2.1 18-May-2014  rmind sync with head
 1.86 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.85 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.84 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.83 14-Sep-2017  mrg branches: 1.83.4; 1.83.14;
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.82 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.81 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.80 12-Aug-2015  maxv branches: 1.80.2; 1.80.4;
Remove KMEMSTATS.
 1.79 23-Aug-2014  dholland branches: 1.79.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.78 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.77 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.76 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.75 30-Jun-2013  rmind branches: 1.75.4;
G/C PFIL_HOOKS from the kernel configs.
 1.74 05-Jun-2013  christos branches: 1.74.2;
remove obsolete networking options
 1.73 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.72 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.71 12-Dec-2012  matt Add -mfpu=vfp to CPUFLAGS
 1.70 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.69 11-Sep-2012  msaitoh branches: 1.69.2;
Add PUFFS, putter and fss.
 1.68 01-Sep-2012  matt Bump up SYMTAB_SPACE
 1.67 17-Aug-2012  abs 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.66 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.65 06-Apr-2012  bsh avoid warning with options PLCOM_DEBUG for INTEGRATOR.
 1.64 18-Dec-2011  dholland branches: 1.64.2;
WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.63 22-Nov-2011  tls branches: 1.63.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.62 30-Jun-2011  wiz branches: 1.62.2;
dependant -> dependent
 1.61 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.60 06-Mar-2011  jakllsch Bump SYMTAB_SPACE.
 1.59 23-Nov-2010  hannken branches: 1.59.2; 1.59.4;
Remove unused count from pseudo-device md.
 1.58 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.57 05-Dec-2009  pooka branches: 1.57.2; 1.57.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.56 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.55 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.54 24-Nov-2008  ad branches: 1.54.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.52 31-Jul-2008  simonb branches: 1.52.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.51 30-May-2008  tsutsui branches: 1.51.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.50 27-Apr-2008  matt branches: 1.50.2;
Merge kernel changes in matt-armv6 to HEAD.
 1.49 15-Mar-2008  rearnsha branches: 1.49.2; 1.49.4;
Allow use of the VFP.
 1.48 19-Jan-2008  chris branches: 1.48.2; 1.48.6;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.47 26-Aug-2006  christos branches: 1.47.28; 1.47.32; 1.47.38; 1.47.46;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.46 05-Feb-2006  cube branches: 1.46.2;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.45 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.44 07-Dec-2005  tsutsui branches: 1.44.2; 1.44.4; 1.44.6;
Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.43 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.42 19-Aug-2005  christos 64 bit inode changes.
 1.41 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.40 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.39 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.38 03-Jun-2005  rearnsha branches: 1.38.2;
Enable use of the CM1136J-s core module on the Integrator.
 1.37 03-Jun-2005  rearnsha Disable some debugging options, add space for the symbol table.
 1.36 25-Feb-2005  simonb branches: 1.36.2;
Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.35 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.34 11-Feb-2005  dsl Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
 1.33 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.32 24-Nov-2004  bouyer branches: 1.32.4; 1.32.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.31 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.30 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.29 07-Aug-2004  rearnsha Add fixed configs for fxp0 and sd0 booting.
 1.28 07-Aug-2004  rearnsha Support probing the compact PCI bus.
 1.27 07-Aug-2004  rearnsha Set CPUFLAGS not COPTS
 1.26 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.25 13-Feb-2004  wiz branches: 1.25.2;
Uppercase CPU, plural is CPUs.
 1.24 14-Dec-2003  thorpej Remove piixide, since these boards will never, ever have one.
 1.23 14-Dec-2003  thorpej Split the Intel i31244 SATA controller ("Artisea") driver out of piixide
into its own driver (artsata).
 1.22 13-Dec-2003  thorpej Remove the IDE controllers that only exist in southbridge chips (which
none of these boards have).

XXX piixide stays for now, because that's where the Intel i31244 SATA
controller is. That will change, eventually.
 1.21 13-Dec-2003  thorpej Collapse the atabus declaration into "atabus* at ata? channel ?".
 1.20 13-Dec-2003  thorpej Split out the Silicon Image SATALink support into its own driver,
"satalink".
 1.19 08-Oct-2003  bouyer Add new per-chip pciide drivers.
 1.18 08-Oct-2003  bouyer Add atabus
 1.17 13-Sep-2003  chris Add COMPAT_16 to most arm based kernels. Mainly in preperation for doing
SA_SIGINFO work.
 1.16 06-Sep-2003  rearnsha config option is now CPU_ARM10.
 1.15 06-Sep-2003  rearnsha Default all builds to not have debug information. Significantly
reduces disk space needed for a make release, especially if using
dwarf2 debug.
 1.14 23-May-2003  thorpej branches: 1.14.2;
Add ksyms.
 1.13 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.12 17-Jun-2002  lukem Enable "pseudo-device clockctl" in all kernels, except
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
 1.11 25-Apr-2002  atatat branches: 1.11.2; 1.11.4;
Add the INCLUDE_CONFIG_FILE option to all config files. In config
files that are generic (ie, GENERIC, GENERICSBC, GENERIC32, ALL, or
ALPHA), it is uncommented.
 1.10 17-Apr-2002  mycroft Switch from de to tlp by default.
 1.9 16-Apr-2002  wiz Remove last(?) traces of pmsi.
 1.8 12-Apr-2002  gmcgarry Add commented-out USERCONF option. Mainly useful for install media
and can be optionally enabled based on miniroot and ramdisk size
requirements.
 1.7 02-Apr-2002  lukem Rename MEMORY_DISK_SIZE (formerly MINIROOTSIZE) to MEMORY_DISK_ROOT_SIZE,
which was suggested by Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> as
being more consistent with what it's controlling...
 1.6 10-Mar-2002  lukem * rename MINIROOTSIZE to MEMORY_DISK_SIZE, so that all md(4) options
are now consistently named
* fold opt_mdsize.h into opt_md.h
 1.5 27-Jan-2002  jdolecek add options PIPE_SOCKETPAIR to individual kernel configs
the option is commented out on everything but kernels I was able
to recognize as INSTALL-like or ones for small memory machines
 1.4 20-Nov-2001  lukem branches: 1.4.2;
cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""
 1.3 04-Nov-2001  thorpej branches: 1.3.2; 1.3.4;
Don't require INTEGRATOR or INTEGRATOR_FPGA options. Made possible
by files.<board>.
 1.2 29-Oct-2001  rearnsha Garbage collect some early debug hacks that should not have been
committed in the first place and prevent linking.
 1.1 27-Oct-2001  rearnsha Configuration for Integrator boards.
 1.3.4.7 18-Oct-2002  nathanw Catch up to -current.
 1.3.4.6 20-Jun-2002  nathanw Catch up to -current.
 1.3.4.5 17-Apr-2002  nathanw Catch up to -current.
 1.3.4.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.3.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.3.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.3.4.1 04-Nov-2001  nathanw file INTEGRATOR was added on branch nathanw_sa on 2002-01-08 00:24:10 +0000
 1.3.2.2 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.3.2.1 04-Nov-2001  thorpej file INTEGRATOR was added on branch thorpej-mips-cache on 2001-11-12 21:16:48 +0000
 1.4.2.7 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.4.2.6 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.4.2.5 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.2.4 16-Mar-2002  jdolecek Catch up with -current.
 1.4.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.4.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.2.1 20-Nov-2001  thorpej file INTEGRATOR was added on branch kqueue on 2002-01-10 19:42:00 +0000
 1.11.4.1 01-Aug-2002  lukem Pull up revision 1.12 (requested by lukem in ticket #312):
Enable "pseudo-device clockctl" in all kernels, except
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
 1.11.2.1 14-Jul-2002  gehenna catch up with -current.
 1.14.2.11 11-Dec-2005  christos Sync with head.
 1.14.2.10 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.14.2.9 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.14.2.8 15-Feb-2005  skrll Sync with HEAD.
 1.14.2.7 04-Feb-2005  skrll Sync with HEAD.
 1.14.2.6 29-Nov-2004  skrll Sync with HEAD.
 1.14.2.5 14-Nov-2004  skrll Sync with HEAD.
 1.14.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.14.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.14.2.2 12-Aug-2004  skrll Sync with HEAD.
 1.14.2.1 03-Aug-2004  skrll Sync with HEAD
 1.25.2.1 15-Jul-2004  he branches: 1.25.2.1.2;
Pull up revision 1.26 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.25.2.1.2.1 02-Apr-2005  he Pull up revision 1.32 (requested by bouyer in ticket #1019):
Add pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) series of
controllers.
 1.32.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.32.6.1 12-Feb-2005  yamt sync with head.
 1.32.4.1 29-Apr-2005  kent sync with -current
 1.36.2.1 18-Jul-2005  riz Pull up revision 1.39 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.38.2.4 17-Mar-2008  yamt sync with head.
 1.38.2.3 21-Jan-2008  yamt sync with head
 1.38.2.2 30-Dec-2006  yamt sync with head.
 1.38.2.1 21-Jun-2006  yamt sync with head.
 1.44.6.1 22-Apr-2006  simonb Sync with head.
 1.44.4.1 09-Sep-2006  rpaulo sync with head
 1.44.2.1 18-Feb-2006  yamt sync with head.
 1.46.2.1 03-Sep-2006  yamt sync with head.
 1.47.46.1 20-Jan-2008  bouyer Sync with HEAD
 1.47.38.1 18-Feb-2008  mjf Sync with HEAD.
 1.47.32.2 23-Mar-2008  matt sync with HEAD
 1.47.32.1 09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.47.28.1 28-Feb-2008  rjs Sync with HEAD.
 1.48.6.4 17-Jan-2009  mjf Sync with HEAD.
 1.48.6.3 28-Sep-2008  mjf Sync with HEAD.
 1.48.6.2 02-Jun-2008  mjf Sync with HEAD.
 1.48.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.48.2.1 24-Mar-2008  keiichi sync with head.
 1.49.4.4 11-Aug-2010  yamt sync with head.
 1.49.4.3 11-Mar-2010  yamt sync with head
 1.49.4.2 04-May-2009  yamt sync with head.
 1.49.4.1 16-May-2008  yamt sync with head.
 1.49.2.2 04-Jun-2008  yamt sync with head
 1.49.2.1 18-May-2008  yamt sync with head.
 1.50.2.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.50.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.51.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.51.4.1 19-Oct-2008  haad Sync with HEAD.
 1.52.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.52.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.54.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.57.4.3 21-Apr-2011  rmind sync with head
 1.57.4.2 05-Mar-2011  rmind sync with head
 1.57.4.1 30-May-2010  rmind sync with head
 1.57.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.59.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.59.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.62.2.4 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.62.2.3 16-Jan-2013  yamt sync with (a bit old) head
 1.62.2.2 30-Oct-2012  yamt sync with head
 1.62.2.1 17-Apr-2012  yamt sync with head
 1.63.2.2 29-Apr-2012  mrg sync to latest -current.
 1.63.2.1 18-Feb-2012  mrg merge to -current.
 1.64.2.1 09-Aug-2012  jdc Pull up revisions:
src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4
src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65
src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40
src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14
src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11
src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2
src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108
src/sys/arch/arm/arm32/cpu.c revision 1.79
src/sys/arch/arm/include/armreg.h revisions 1.49,1.54
src/sys/arch/arm/arm32/pmap.c revision 1.229
src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77
src/sys/arch/arm/include/cpu.h revision 1.64
src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3
src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1
src/sys/arch/arm/conf/files.arm revision 1.106
src/sys/arch/arm/include/cpufunc.h revision 1.57
src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24
src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8
src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4
src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69
src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1
src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1
src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1
src/sys/arch/evbarm/Makefile revision 1.9
src/sys/arch/evbarm/conf/RPI revision 1.1
src/sys/arch/evbarm/conf/files.rpi revision 1.1
src/sys/arch/evbarm/conf/mk.rpi revision 1.1
src/sys/arch/evbarm/conf/std.rpi revision 1.1
src/sys/arch/evbarm/rpi/genassym.cf revision 1.1
src/sys/arch/evbarm/rpi/rpi.h revision 1.1
src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1
src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2
src/etc/etc.evbarm/Makefile.inc revision 1.28
(requested by skrll in ticket #454).

don't mix #define<TAB> and #define<SPACE> in a file.

avoid warning with options PLCOM_DEBUG for INTEGRATOR.

Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.

Replace the simple_lock with a kmutex_t. Update the locking to match
com(4) in the few places it didn't already.

DOH. Replace a line that got accidently deleted in the last commit.

device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t

Add the 'Z' to the 1176 cpu product name.

ok matt@

Fix locking botch introduced in 1.36.

Fix a KASSERT. From/OK'ed by matt@

Fix racy softint dispatch that lead to KASSERT(si->si_active) in
softint_execute

Discussed with matt@. "Looks good to me"

Add the documented ARM11[37]6 Auxiliary control register defines.

Add support for the ARM1176JZS

Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).

Provide a method for attachments to specify capabilites.

Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.

Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.

Add RPI to KERNEL_SETS

Remove #if 0 code.
 1.69.2.5 03-Dec-2017  jdolecek update from HEAD
 1.69.2.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.69.2.3 23-Jun-2013  tls resync from head
 1.69.2.2 25-Feb-2013  tls resync with head
 1.69.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.74.2.1 28-Aug-2013  rmind sync with head
 1.75.4.1 10-Aug-2014  tls Rebase.
 1.79.2.2 28-Aug-2017  skrll Sync with HEAD
 1.79.2.1 22-Sep-2015  skrll Sync with HEAD
 1.80.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.80.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.83.14.1 20-Apr-2020  bouyer Sync with HEAD
 1.83.4.1 21-Apr-2020  martin Sync with HEAD
 1.17 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.16 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.15 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.14 14-Sep-2017  mrg branches: 1.14.4; 1.14.14;
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.13 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 2.
 1.12 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.11 07-Aug-2015  maxv branches: 1.11.2; 1.11.4;
Remove KMEMSTATS.
 1.10 27-Jan-2015  jmcneill enable plmmc(4)
 1.9 23-Aug-2014  dholland branches: 1.9.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.8 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.7 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.6 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.5 30-Jun-2013  rmind branches: 1.5.4; 1.5.6;
G/C PFIL_HOOKS from the kernel configs.
 1.4 05-Jun-2013  christos branches: 1.4.2;
remove obsolete networking options
 1.3 14-Mar-2013  joerg Include tmpfs.
 1.2 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.1 19-Feb-2013  skrll branches: 1.1.4;
Add support for the ARM Integrator/CP from Sergio L�pez.

The code hasn't been tested on real hardware, but INTEGRATOR_CP config
is useful for QEMU which supports it.
 1.1.4.5 03-Dec-2017  jdolecek update from HEAD
 1.1.4.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.3 23-Jun-2013  tls resync from head
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 19-Feb-2013  tls file INTEGRATOR_CP was added on branch tls-maxphys on 2013-02-25 00:28:34 +0000
 1.4.2.1 28-Aug-2013  rmind sync with head
 1.5.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.5.6.1 30-Jun-2013  yamt file INTEGRATOR_CP was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.5.4.1 10-Aug-2014  tls Rebase.
 1.9.2.3 28-Aug-2017  skrll Sync with HEAD
 1.9.2.2 22-Sep-2015  skrll Sync with HEAD
 1.9.2.1 06-Apr-2015  skrll Sync with HEAD
 1.11.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.11.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.14.14.1 20-Apr-2020  bouyer Sync with HEAD
 1.14.4.1 21-Apr-2020  martin Sync with HEAD
 1.1 27-Jan-2015  jmcneill branches: 1.1.2; 1.1.18;
add install kernel for INTEGRATOR_CP
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 27-Jan-2015  jdolecek file INTEGRATOR_CP_INSTALL was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.2.2 06-Apr-2015  skrll Sync with HEAD
 1.1.2.1 27-Jan-2015  skrll file INTEGRATOR_CP_INSTALL was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.2 02-May-2014  dogcow as suggested by gimpy et al, "no config" the netbsd-device kernels.
Reduces `build.sh release` by about a gig.
 1.1 08-Apr-2003  thorpej branches: 1.1.142; 1.1.152; 1.1.158; 1.1.168;
Factor out common INSTALL kernel config fragments into a new INSTALL
file. Add INSTALL kernels for the ADI BRH, IQ80310, and IQ80321.
 1.1.168.1 10-Aug-2014  tls Rebase.
 1.1.158.1 18-May-2014  rmind sync with head
 1.1.152.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.142.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.77 07-Aug-2022  simonb branches: 1.77.4;
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.76 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.75 03-Jan-2020  thorpej branches: 1.75.6;
Eliminate all of the #ifdefs for the "strtc" driver. Define model
properties (similar to what the "dsrtc" driver does), and provide
DT compat strings corresponding to those models. Allow config flags
to specify the model for non-FDT platforms (also like "dsrtc").
 1.74 12-Jul-2018  maxv branches: 1.74.4;
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.73 14-Sep-2017  mrg branches: 1.73.2; 1.73.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.72 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.71 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.70 07-Aug-2015  maxv branches: 1.70.2; 1.70.4;
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 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.65 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.64 30-Jun-2013  rmind branches: 1.64.4;
G/C PFIL_HOOKS from the kernel configs.
 1.63 05-Jun-2013  christos branches: 1.63.2;
remove obsolete networking options
 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 11-Sep-2012  msaitoh branches: 1.59.2;
Add PUFFS, putter and fss.
 1.58 01-Sep-2012  matt Bump up SYMTAB_SPACE
 1.57 29-Aug-2012  skrll Typo in comment
 1.56 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.55 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.54 22-Nov-2011  tls branches: 1.54.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.53 30-Jun-2011  wiz branches: 1.53.2;
dependant -> dependent
 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 06-Mar-2011  jakllsch Bump SYMTAB_SPACE for the many other evbarm kernels that also need it increased.
 1.50 06-Mar-2011  jakllsch Remove trailing spaces.
 1.49 23-Nov-2010  hannken branches: 1.49.2; 1.49.4;
Remove unused count from pseudo-device md.
 1.48 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.47 05-Dec-2009  pooka branches: 1.47.2; 1.47.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.46 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.45 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.44 09-Jan-2009  briggs branches: 1.44.2;
Enable lmtemp0/1.
 1.43 09-Jan-2009  briggs Enable the M41ST84 RTC.
 1.42 24-Nov-2008  ad Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.40 31-Jul-2008  simonb branches: 1.40.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.39 30-May-2008  tsutsui branches: 1.39.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.38 19-Jan-2008  chris branches: 1.38.6; 1.38.8; 1.38.10; 1.38.12;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.37 26-Aug-2006  christos branches: 1.37.28; 1.37.32; 1.37.38; 1.37.46;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.36 05-Feb-2006  cube branches: 1.36.2;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.35 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.34 07-Dec-2005  tsutsui branches: 1.34.2; 1.34.4; 1.34.6;
Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.33 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.32 19-Aug-2005  christos 64 bit inode changes.
 1.31 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.30 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.29 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.28 25-Feb-2005  simonb branches: 1.28.2; 1.28.4;
Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.27 19-Feb-2005  rearnsha Add on-board CompactFlash device.
 1.26 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.25 12-Feb-2005  rearnsha Document the types and addresses of the IIC devices
(Disabled, beacuse they seem to be non-functional at present).
 1.24 12-Feb-2005  rearnsha ... but make it's filesystem type FFS (not NFS :-).
 1.23 12-Feb-2005  rearnsha Build a kernel variant with root on wd0.
 1.22 12-Feb-2005  rearnsha Bump the symtab space
 1.21 12-Feb-2005  rearnsha Redboot defaults to a console speed of 115200 baud on this board.
 1.20 11-Feb-2005  dsl Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
 1.19 31-Jan-2005  hannken Add file system snapshots to kernel configs.

- Ffs internal snapshots get compiled in unconditionally.

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

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
 1.18 24-Nov-2004  bouyer branches: 1.18.4; 1.18.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.17 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.16 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.15 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.14 13-Feb-2004  wiz branches: 1.14.2;
Uppercase CPU where appropriate.
 1.13 14-Dec-2003  thorpej Remove piixide, since these boards will never, ever have one.
 1.12 14-Dec-2003  thorpej Split the Intel i31244 SATA controller ("Artisea") driver out of piixide
into its own driver (artsata).
 1.11 13-Dec-2003  thorpej Remove the IDE controllers that only exist in southbridge chips (which
none of these boards have).

XXX piixide stays for now, because that's where the Intel i31244 SATA
controller is. That will change, eventually.
 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  thorpej Add support for the i80312 and i80321 I2C controllers.
 1.5 13-Sep-2003  chris Add COMPAT_16 to most arm based kernels. Mainly in preperation for doing
SA_SIGINFO work.
 1.4 06-Sep-2003  rearnsha Default all builds to not have debug information. Significantly
reduces disk space needed for a make release, especially if using
dwarf2 debug.
 1.3 14-Jun-2003  thorpej branches: 1.3.2;
Use CPUFLAGS rather than COPTS to pass -mcpu=xscale.
 1.2 23-May-2003  thorpej Add ksyms.
 1.1 14-May-2003  thorpej Add support for the Intel IQ31244 reference board, based on the i80321
I/O processor and the i31244 PCI-X S-ATA controller.

The IQ31244 is almost identical to the IQ80321, from software's
perspective, so we share much of the code.
 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 04-Feb-2005  skrll Sync with HEAD.
 1.3.2.5 29-Nov-2004  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.14.2.1 15-Jul-2004  he branches: 1.14.2.1.2;
Pull up revision 1.15 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.14.2.1.2.1 02-Apr-2005  he Pull up revision 1.18 (requested by bouyer in ticket #1019):
Add pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) series of
controllers.
 1.18.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.18.6.1 12-Feb-2005  yamt sync with head.
 1.18.4.1 29-Apr-2005  kent sync with -current
 1.28.4.3 21-Jan-2008  yamt sync with head
 1.28.4.2 30-Dec-2006  yamt sync with head.
 1.28.4.1 21-Jun-2006  yamt sync with head.
 1.28.2.1 18-Jul-2005  riz Pull up revision 1.29 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.34.6.1 22-Apr-2006  simonb Sync with head.
 1.34.4.1 09-Sep-2006  rpaulo sync with head
 1.34.2.1 18-Feb-2006  yamt sync with head.
 1.36.2.1 03-Sep-2006  yamt sync with head.
 1.37.46.1 20-Jan-2008  bouyer Sync with HEAD
 1.37.38.1 18-Feb-2008  mjf Sync with HEAD.
 1.37.32.1 23-Mar-2008  matt sync with HEAD
 1.37.28.1 28-Feb-2008  rjs 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.40.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.40.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.44.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.47.4.3 21-Apr-2011  rmind sync with head
 1.47.4.2 05-Mar-2011  rmind sync with head
 1.47.4.1 30-May-2010  rmind sync with head
 1.47.2.1 30-Apr-2010  uebayasi 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.53.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.53.2.2 30-Oct-2012  yamt sync with head
 1.53.2.1 17-Apr-2012  yamt sync with head
 1.54.2.2 29-Apr-2012  mrg sync to latest -current.
 1.54.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.63.2.1 28-Aug-2013  rmind sync with head
 1.64.4.1 10-Aug-2014  tls Rebase.
 1.69.2.2 28-Aug-2017  skrll Sync with HEAD
 1.69.2.1 22-Sep-2015  skrll Sync with HEAD
 1.70.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.70.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.73.4.3 21-Apr-2020  martin 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 28-Jul-2018  pgoyette Sync with HEAD
 1.74.4.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.75.6.1 20-Apr-2020  bouyer Sync with HEAD
 1.77.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.93 07-Aug-2022  simonb branches: 1.93.4;
UFS/LFS dirhash:
- Enable UFS_DIRHASH if the architecture or kernel model specific config
file can use 128MB of RAM or more.
- Remove experimental tag from UFS_DIRHASH; it's been with RUMP kernel
and by a number of NetBSD developers for years.
- Add LFS_DIRHASH if LFS was enabled.
- Be somewhat consistent with FS options order.
 1.92 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.91 14-Sep-2017  mrg branches: 1.91.4; 1.91.8; 1.91.14;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.90 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.89 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.88 07-Aug-2015  maxv branches: 1.88.2; 1.88.4;
Remove KMEMSTATS.
 1.87 23-Aug-2014  dholland branches: 1.87.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.86 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.85 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.84 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.83 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.82 30-Jun-2013  rmind branches: 1.82.4;
G/C PFIL_HOOKS from the kernel configs.
 1.81 05-Jun-2013  christos branches: 1.81.2;
remove obsolete networking options
 1.80 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.79 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.78 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.77 11-Sep-2012  msaitoh branches: 1.77.2;
Add PUFFS, putter and fss.
 1.76 01-Sep-2012  matt Bump up SYMTAB_SPACE
 1.75 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.74 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.73 22-Nov-2011  tls branches: 1.73.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.72 30-Jun-2011  wiz branches: 1.72.2;
dependant -> dependent
 1.71 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.70 06-Mar-2011  jakllsch Bump SYMTAB_SPACE.
 1.69 23-Nov-2010  hannken branches: 1.69.2; 1.69.4;
Remove unused count from pseudo-device md.
 1.68 28-Oct-2010  briggs Bump SYMTAB_SPACE for a few configurations.
 1.67 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.66 05-Dec-2009  pooka branches: 1.66.2; 1.66.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.65 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.64 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.63 24-Nov-2008  ad branches: 1.63.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.61 31-Jul-2008  simonb branches: 1.61.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.60 30-May-2008  tsutsui branches: 1.60.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.59 27-Apr-2008  matt branches: 1.59.2;
Merge kernel changes in matt-armv6 to HEAD.
 1.58 19-Jan-2008  chris branches: 1.58.6; 1.58.8; 1.58.10;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.57 06-Jan-2008  matt Increase SYMTAB_SPACE because of more kernel bloat.
 1.56 17-Oct-2007  garbled branches: 1.56.2; 1.56.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.55 13-May-2007  he branches: 1.55.6; 1.55.10;
Bump SYMTAB_SPACE so that it fits again.
 1.54 26-Aug-2006  christos branches: 1.54.8; 1.54.12; 1.54.14; 1.54.20;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.53 14-Apr-2006  simonb Bump SYMTAB_SPACE.
 1.52 05-Feb-2006  cube branches: 1.52.2; 1.52.4; 1.52.6;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.51 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.50 07-Dec-2005  tsutsui branches: 1.50.2; 1.50.4; 1.50.6;
Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.49 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.48 19-Aug-2005  christos 64 bit inode changes.
 1.47 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.46 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.45 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.44 25-Feb-2005  simonb branches: 1.44.2; 1.44.4;
Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.43 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.42 11-Feb-2005  dsl Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
 1.41 31-Jan-2005  hannken Add file system snapshots to kernel configs.

- Ffs internal snapshots get compiled in unconditionally.

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

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
 1.40 24-Nov-2004  bouyer branches: 1.40.4; 1.40.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.39 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.38 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.37 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.36 13-Feb-2004  wiz branches: 1.36.2;
Uppercase CPU where appropriate.
 1.35 14-Dec-2003  thorpej Remove piixide, since these boards will never, ever have one.
 1.34 14-Dec-2003  thorpej Split the Intel i31244 SATA controller ("Artisea") driver out of piixide
into its own driver (artsata).
 1.33 13-Dec-2003  thorpej Remove the IDE controllers that only exist in southbridge chips (which
none of these boards have).

XXX piixide stays for now, because that's where the Intel i31244 SATA
controller is. That will change, eventually.
 1.32 13-Dec-2003  thorpej Collapse the atabus declaration into "atabus* at ata? channel ?".
 1.31 13-Dec-2003  thorpej Split out the Silicon Image SATALink support into its own driver,
"satalink".
 1.30 09-Dec-2003  he Bump SYMTAB_SPACE so that the symbol table fits again.
 1.29 08-Oct-2003  bouyer Add new per-chip pciide drivers.
 1.28 08-Oct-2003  bouyer Add atabus
 1.27 06-Oct-2003  thorpej Add support for the i80312 and i80321 I2C controllers.
 1.26 13-Sep-2003  chris Add COMPAT_16 to most arm based kernels. Mainly in preperation for doing
SA_SIGINFO work.
 1.25 06-Sep-2003  rearnsha Default all builds to not have debug information. Significantly
reduces disk space needed for a make release, especially if using
dwarf2 debug.
 1.24 14-Jun-2003  thorpej branches: 1.24.2;
Use CPUFLAGS rather than COPTS to pass -mcpu=xscale.
 1.23 23-May-2003  thorpej Add ksyms.
 1.22 16-Apr-2003  thorpej Add mpt(4).
 1.21 08-Apr-2003  thorpej Add a selection of storage devices, and also build netbsd-sd0 and
netbsd-wd0 kernels.
 1.20 03-Oct-2002  thorpej Use indirect configuration for on-board devices (i.e. those things
attached to "obio") on the IQ80310 and IQ80321. It makes more sense
to do it this way for this type of system (the goal being to encapsulate
as much information about the board as possible into one file).
 1.19 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.18 20-Aug-2002  briggs Disable coalesced writes on IOP310-based systems.
 1.17 07-Aug-2002  thorpej Use -mcpu=xscale.
 1.16 17-Jun-2002  lukem Enable "pseudo-device clockctl" in all kernels, except
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
 1.15 25-Apr-2002  atatat branches: 1.15.2; 1.15.4;
Add the INCLUDE_CONFIG_FILE option to all config files. In config
files that are generic (ie, GENERIC, GENERICSBC, GENERIC32, ALL, or
ALPHA), it is uncommented.
 1.14 25-Apr-2002  briggs XSCALE_CCLKCFG should not be set in std.iq80310. Set IQ80310 to use
XSCALE_CCLKCFG=9 (733MHz) and TEAMASA_NPWR to use XSCALE_CCLKCFG=7 (600MHz)
as that's what the part on the board is rated for.
 1.13 12-Apr-2002  gmcgarry Add commented-out USERCONF option. Mainly useful for install media
and can be optionally enabled based on miniroot and ramdisk size
requirements.
 1.12 02-Apr-2002  lukem Rename MEMORY_DISK_SIZE (formerly MINIROOTSIZE) to MEMORY_DISK_ROOT_SIZE,
which was suggested by Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> as
being more consistent with what it's controlling...
 1.11 26-Mar-2002  thorpej Restructure a few things in order to support other XScale core
I/O processors:
* The i80200 and the i80321 have the same CPU ID, so split the
CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321
options, and don't let them both be defined at the same time.
XXX May want to revisit this in the future.
* Split some registers common between the i80200 and i80321 into
<arm/xscale/xscalereg.h>.
* Rename a few existing functions.
 1.10 10-Mar-2002  lukem * rename MINIROOTSIZE to MEMORY_DISK_SIZE, so that all md(4) options
are now consistently named
* fold opt_mdsize.h into opt_md.h
 1.9 27-Jan-2002  jdolecek branches: 1.9.2;
add options PIPE_SOCKETPAIR to individual kernel configs
the option is commented out on everything but kernels I was able
to recognize as INSTALL-like or ones for small memory machines
 1.8 18-Jan-2002  thorpej Document the CONUNIT and CONSPEED config options.
 1.7 16-Jan-2002  thorpej Since we build with DDB by default, build with SYMTAB_SPACE by default,
as well.
 1.6 30-Nov-2001  thorpej - Comment-out EXT2FS, MSDOSFS.
- Uncomment FDESC, KERNFS, PROCFS,
- Add commented-out DEBUG.
- Hard-wire the location of some of the on-board PCI devices.
- Also build a "netbsd-fxp0" with the root FS hard-wired to
the on-board Ethernet.
 1.5 20-Nov-2001  lukem cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""
 1.4 10-Nov-2001  thorpej branches: 1.4.2;
Delete an option that doesn't really exist.
 1.3 10-Nov-2001  thorpej Add VERBOSE_INIT_ARM and SYMTAB_SPACE options (commented out). Add
devices: iopxs (i80312 Companion I/O), pci, ppb, fxp, inphy, ukphy.
 1.2 07-Nov-2001  thorpej Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
 1.1 05-Sep-2001  matt branches: 1.1.4;
more evbarm files (very incomplete).
 1.1.4.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.4.2.9 18-Oct-2002  nathanw Catch up to -current.
 1.4.2.8 27-Aug-2002  thorpej Sync with -current.
 1.4.2.7 13-Aug-2002  nathanw Catch up to -current.
 1.4.2.6 20-Jun-2002  nathanw Catch up to -current.
 1.4.2.5 17-Apr-2002  nathanw Catch up to -current.
 1.4.2.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.4.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.4.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.4.2.1 10-Nov-2001  nathanw file IQ80310 was added on branch nathanw_sa on 2002-01-08 00:24:11 +0000
 1.9.2.6 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.9.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.9.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.9.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.9.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.9.2.1 27-Jan-2002  jdolecek file IQ80310 was added on branch kqueue on 2002-02-11 20:07:41 +0000
 1.15.4.2 16-Nov-2002  he Pull up revision 1.17 (requested by thorpej in ticket #637):
Use -mcpu=xscale.
 1.15.4.1 01-Aug-2002  lukem Pull up revision 1.16 (requested by lukem in ticket #312):
Enable "pseudo-device clockctl" in all kernels, except
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
 1.15.2.2 30-Aug-2002  gehenna catch up with -current.
 1.15.2.1 14-Jul-2002  gehenna catch up with -current.
 1.24.2.10 11-Dec-2005  christos Sync with head.
 1.24.2.9 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.24.2.8 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.24.2.7 15-Feb-2005  skrll Sync with HEAD.
 1.24.2.6 04-Feb-2005  skrll Sync with HEAD.
 1.24.2.5 29-Nov-2004  skrll Sync with HEAD.
 1.24.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.24.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.24.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.24.2.1 03-Aug-2004  skrll Sync with HEAD
 1.36.2.1 15-Jul-2004  he branches: 1.36.2.1.2;
Pull up revision 1.37 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.36.2.1.2.1 02-Apr-2005  he Pull up revision 1.40 (requested by bouyer in ticket #1019):
Add pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) series of
controllers.
 1.40.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.40.6.1 12-Feb-2005  yamt sync with head.
 1.40.4.1 29-Apr-2005  kent sync with -current
 1.44.4.4 21-Jan-2008  yamt sync with head
 1.44.4.3 03-Sep-2007  yamt sync with head.
 1.44.4.2 30-Dec-2006  yamt sync with head.
 1.44.4.1 21-Jun-2006  yamt sync with head.
 1.44.2.1 18-Jul-2005  riz Pull up revision 1.45 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.50.6.1 22-Apr-2006  simonb Sync with head.
 1.50.4.1 09-Sep-2006  rpaulo sync with head
 1.50.2.1 18-Feb-2006  yamt sync with head.
 1.52.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.52.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.52.2.2 03-Sep-2006  yamt sync with head.
 1.52.2.1 24-May-2006  yamt sync with head.
 1.54.20.1 22-May-2007  matt Update to HEAD.
 1.54.14.1 11-Jul-2007  mjf Sync with head.
 1.54.12.1 27-May-2007  ad Sync with head.
 1.54.8.1 17-May-2007  yamt sync with head.
 1.55.10.4 23-Mar-2008  matt sync with HEAD
 1.55.10.3 09-Jan-2008  matt sync with HEAD
 1.55.10.2 09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.55.10.1 06-Nov-2007  matt sync with HEAD
 1.55.6.1 28-Feb-2008  rjs Sync with HEAD.
 1.56.8.2 20-Jan-2008  bouyer Sync with HEAD
 1.56.8.1 08-Jan-2008  bouyer Sync with HEAD
 1.56.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.58.10.4 11-Aug-2010  yamt sync with head.
 1.58.10.3 11-Mar-2010  yamt sync with head
 1.58.10.2 04-May-2009  yamt sync with head.
 1.58.10.1 16-May-2008  yamt sync with head.
 1.58.8.2 04-Jun-2008  yamt sync with head
 1.58.8.1 18-May-2008  yamt sync with head.
 1.58.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.58.6.2 28-Sep-2008  mjf Sync with HEAD.
 1.58.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.59.2.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.59.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.60.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.60.4.1 19-Oct-2008  haad Sync with HEAD.
 1.61.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.61.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.63.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.66.4.3 21-Apr-2011  rmind sync with head
 1.66.4.2 05-Mar-2011  rmind sync with head
 1.66.4.1 30-May-2010  rmind sync with head
 1.66.2.2 06-Nov-2010  uebayasi Sync with HEAD.
 1.66.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.69.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.69.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.72.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.72.2.2 30-Oct-2012  yamt sync with head
 1.72.2.1 17-Apr-2012  yamt sync with head
 1.73.2.2 29-Apr-2012  mrg sync to latest -current.
 1.73.2.1 18-Feb-2012  mrg merge to -current.
 1.77.2.4 03-Dec-2017  jdolecek update from HEAD
 1.77.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.77.2.2 23-Jun-2013  tls resync from head
 1.77.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.81.2.1 28-Aug-2013  rmind sync with head
 1.82.4.1 10-Aug-2014  tls Rebase.
 1.87.2.2 28-Aug-2017  skrll Sync with HEAD
 1.87.2.1 22-Sep-2015  skrll Sync with HEAD
 1.88.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.88.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.91.14.1 20-Apr-2020  bouyer Sync with HEAD
 1.91.8.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.91.4.1 21-Apr-2020  martin Sync with HEAD
 1.93.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.2 09-Feb-2012  matt Bump SYMTAB_SPACE
 1.1 08-Apr-2003  thorpej branches: 1.1.142; 1.1.146;
Factor out common INSTALL kernel config fragments into a new INSTALL
file. Add INSTALL kernels for the ADI BRH, IQ80310, and IQ80321.
 1.1.146.1 18-Feb-2012  mrg merge to -current.
 1.1.142.1 17-Apr-2012  yamt sync with head
 1.91 07-Aug-2022  simonb branches: 1.91.4;
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.90 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.89 12-Jul-2018  maxv branches: 1.89.4; 1.89.10;
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.88 14-Sep-2017  mrg branches: 1.88.2; 1.88.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.87 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.86 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.85 07-Aug-2015  maxv branches: 1.85.2; 1.85.4;
Remove KMEMSTATS.
 1.84 23-Aug-2014  dholland branches: 1.84.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.83 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.82 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.81 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.80 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.79 30-Jun-2013  rmind branches: 1.79.4;
G/C PFIL_HOOKS from the kernel configs.
 1.78 05-Jun-2013  christos branches: 1.78.2;
remove obsolete networking options
 1.77 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.76 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.75 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.74 11-Sep-2012  msaitoh branches: 1.74.2;
Add PUFFS, putter and fss.
 1.73 29-Aug-2012  skrll Typo in comment
 1.72 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.71 09-Feb-2012  matt Bump SYMTAB_SPACE
 1.70 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.69 22-Nov-2011  tls branches: 1.69.2;

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

This fixes build breaks on several ports. Thanks to Havard Eidnes for
pointing them out.
 1.68 30-Jun-2011  wiz branches: 1.68.2;
dependant -> dependent
 1.67 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.66 06-Mar-2011  jakllsch Bump SYMTAB_SPACE for the many other evbarm kernels that also need it increased.
 1.65 06-Mar-2011  jakllsch Bump SYMTAB_SPACE.
 1.64 23-Nov-2010  hannken branches: 1.64.2; 1.64.4;
Remove unused count from pseudo-device md.
 1.63 28-Oct-2010  briggs Bump SYMTAB_SPACE for a few configurations.
 1.62 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.61 05-Dec-2009  pooka branches: 1.61.2; 1.61.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.60 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.59 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.58 24-Nov-2008  ad branches: 1.58.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.56 31-Jul-2008  simonb branches: 1.56.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.55 27-Jun-2008  he branches: 1.55.2;
Bump SYMTAB_SPACE so that it fits again.
 1.54 30-May-2008  tsutsui branches: 1.54.2;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.53 19-Jan-2008  chris branches: 1.53.6; 1.53.8; 1.53.10; 1.53.12;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.52 06-Jan-2008  matt Increase SYMTAB_SPACE because of more kernel bloat.
 1.51 17-Oct-2007  garbled branches: 1.51.2; 1.51.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.50 13-May-2007  he branches: 1.50.6; 1.50.10;
Bump SYMTAB_SPACE so that it fits again.
 1.49 26-Aug-2006  christos branches: 1.49.8; 1.49.12; 1.49.14; 1.49.20;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.48 05-Feb-2006  cube branches: 1.48.2;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.47 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.46 14-Dec-2005  briggs branches: 1.46.2; 1.46.4; 1.46.6;
Bump SYMTAB_SPACE.
 1.45 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.44 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.43 19-Aug-2005  christos 64 bit inode changes.
 1.42 31-Jul-2005  yamt revert "defflag VMSWAP" changes for now.
there seems to be far more people who don't want to edit
their kernel config files than i thought.
 1.41 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.40 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.39 25-Feb-2005  simonb branches: 1.39.2; 1.39.4;
Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.38 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.37 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.36 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.35 24-Nov-2004  bouyer branches: 1.35.4; 1.35.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.34 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.33 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.32 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.31 13-Feb-2004  wiz branches: 1.31.2;
Uppercase CPU where appropriate.
 1.30 14-Dec-2003  thorpej Remove piixide, since these boards will never, ever have one.
 1.29 14-Dec-2003  thorpej Split the Intel i31244 SATA controller ("Artisea") driver out of piixide
into its own driver (artsata).
 1.28 13-Dec-2003  thorpej Remove the IDE controllers that only exist in southbridge chips (which
none of these boards have).

XXX piixide stays for now, because that's where the Intel i31244 SATA
controller is. That will change, eventually.
 1.27 13-Dec-2003  thorpej Collapse the atabus declaration into "atabus* at ata? channel ?".
 1.26 13-Dec-2003  thorpej Split out the Silicon Image SATALink support into its own driver,
"satalink".
 1.25 09-Dec-2003  he Bump SYMTAB_SPACE so that the symbol table fits again.
 1.24 08-Oct-2003  bouyer Add new per-chip pciide drivers.
 1.23 08-Oct-2003  bouyer Add atabus
 1.22 06-Oct-2003  thorpej Add support for the i80312 and i80321 I2C controllers.
 1.21 13-Sep-2003  chris Add COMPAT_16 to most arm based kernels. Mainly in preperation for doing
SA_SIGINFO work.
 1.20 11-Sep-2003  briggs We need a little more symtab space.
 1.19 06-Sep-2003  rearnsha Default all builds to not have debug information. Significantly
reduces disk space needed for a make release, especially if using
dwarf2 debug.
 1.18 14-Jun-2003  thorpej branches: 1.18.2;
Use CPUFLAGS rather than COPTS to pass -mcpu=xscale.
 1.17 23-May-2003  thorpej Add ksyms.
 1.16 16-Apr-2003  thorpej Add mpt(4).
 1.15 08-Apr-2003  thorpej Add a selection of storage devices, and also build netbsd-sd0 and
netbsd-wd0 kernels.
 1.14 03-Oct-2002  thorpej Use indirect configuration for on-board devices (i.e. those things
attached to "obio") on the IQ80310 and IQ80321. It makes more sense
to do it this way for this type of system (the goal being to encapsulate
as much information about the board as possible into one file).
 1.13 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.12 29-Aug-2002  thorpej Put PERFCTRS under "Development and Debugging options".
 1.11 18-Aug-2002  briggs We do not need HZ=512 here, for sure.
 1.10 17-Aug-2002  briggs Add a new option EVBARM_BOARDTYPE to differentiate between different
evbarm ports. Inline _splraise/_spllower/splx for i80321 and iq80310
for more performance.
 1.9 07-Aug-2002  thorpej Add iopaau, swdmover (commented out), and dmoverio.
 1.8 07-Aug-2002  thorpej Use -mcpu=xscale.
 1.7 29-Jul-2002  thorpej Add iopwdog (i80321 built-in watchdog timer), fxp, and inphy.
 1.6 17-Jun-2002  lukem branches: 1.6.2;
Enable "pseudo-device clockctl" in all kernels, except
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
 1.5 25-Apr-2002  atatat branches: 1.5.2; 1.5.4;
Add the INCLUDE_CONFIG_FILE option to all config files. In config
files that are generic (ie, GENERIC, GENERICSBC, GENERIC32, ALL, or
ALPHA), it is uncommented.
 1.4 12-Apr-2002  gmcgarry Add commented-out USERCONF option. Mainly useful for install media
and can be optionally enabled based on miniroot and ramdisk size
requirements.
 1.3 02-Apr-2002  lukem Rename MEMORY_DISK_SIZE (formerly MINIROOTSIZE) to MEMORY_DISK_ROOT_SIZE,
which was suggested by Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> as
being more consistent with what it's controlling...
 1.2 29-Mar-2002  thorpej branches: 1.2.2;
Add a netbsd-wm0 kernel config.
 1.1 27-Mar-2002  thorpej Kernel configuration file for the IQ80321 eval board.
 1.2.2.9 18-Oct-2002  nathanw Catch up to -current.
 1.2.2.8 29-Aug-2002  thorpej Sync with -current, comment out PERFCTRS.
 1.2.2.7 19-Aug-2002  thorpej Partial (ARM only) sync with trunk -- significant performance improvements
for XScale-based systems.
 1.2.2.6 13-Aug-2002  nathanw Catch up to -current.
 1.2.2.5 01-Aug-2002  nathanw Catch up to -current.
 1.2.2.4 20-Jun-2002  nathanw Catch up to -current.
 1.2.2.3 17-Apr-2002  nathanw Catch up to -current.
 1.2.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.2.1 29-Mar-2002  nathanw file IQ80321 was added on branch nathanw_sa on 2002-04-01 07:39:45 +0000
 1.5.4.3 16-Nov-2002  he Pull up revision 1.8 (requested by thorpej in ticket #637):
Use -mcpu=xscale.
 1.5.4.2 11-Nov-2002  he Pull up revision 1.7 (requested by thorpej in ticket #576):
Add iopwdog (i80321 built-in watchdog timer), fxp, and
inphy.
 1.5.4.1 01-Aug-2002  lukem Pull up revision 1.6 (requested by lukem in ticket #312):
Enable "pseudo-device clockctl" in all kernels, except
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
 1.5.2.3 31-Aug-2002  gehenna catch up with -current.
 1.5.2.2 30-Aug-2002  gehenna catch up with -current.
 1.5.2.1 14-Jul-2002  gehenna catch up with -current.
 1.6.2.4 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.6.2.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.6.2.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.2.1 17-Jun-2002  jdolecek file IQ80321 was added on branch kqueue on 2002-06-23 17:35:37 +0000
 1.18.2.10 11-Dec-2005  christos Sync with head.
 1.18.2.9 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.18.2.8 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.18.2.7 15-Feb-2005  skrll Sync with HEAD.
 1.18.2.6 04-Feb-2005  skrll Sync with HEAD.
 1.18.2.5 29-Nov-2004  skrll Sync with HEAD.
 1.18.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.18.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.18.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.18.2.1 03-Aug-2004  skrll Sync with HEAD
 1.31.2.1 15-Jul-2004  he branches: 1.31.2.1.2;
Pull up revision 1.32 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.31.2.1.2.1 02-Apr-2005  he Pull up revision 1.35 (requested by bouyer in ticket #1019):
Add pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) series of
controllers.
 1.35.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.35.6.1 12-Feb-2005  yamt sync with head.
 1.35.4.1 29-Apr-2005  kent sync with -current
 1.39.4.4 21-Jan-2008  yamt sync with head
 1.39.4.3 03-Sep-2007  yamt sync with head.
 1.39.4.2 30-Dec-2006  yamt sync with head.
 1.39.4.1 21-Jun-2006  yamt sync with head.
 1.39.2.1 18-Jul-2005  riz Pull up revision 1.40 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.46.6.1 22-Apr-2006  simonb Sync with head.
 1.46.4.1 09-Sep-2006  rpaulo sync with head
 1.46.2.1 18-Feb-2006  yamt sync with head.
 1.48.2.1 03-Sep-2006  yamt sync with head.
 1.49.20.1 22-May-2007  matt Update to HEAD.
 1.49.14.1 11-Jul-2007  mjf Sync with head.
 1.49.12.1 27-May-2007  ad Sync with head.
 1.49.8.1 17-May-2007  yamt sync with head.
 1.50.10.3 23-Mar-2008  matt sync with HEAD
 1.50.10.2 09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.50.10.1 06-Nov-2007  matt sync with HEAD
 1.50.6.1 28-Feb-2008  rjs Sync with HEAD.
 1.51.8.2 20-Jan-2008  bouyer Sync with HEAD
 1.51.8.1 08-Jan-2008  bouyer Sync with HEAD
 1.51.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.53.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.53.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.53.10.3 11-Aug-2010  yamt sync with head.
 1.53.10.2 11-Mar-2010  yamt sync with head
 1.53.10.1 04-May-2009  yamt sync with head.
 1.53.8.1 04-Jun-2008  yamt sync with head
 1.53.6.4 17-Jan-2009  mjf Sync with HEAD.
 1.53.6.3 28-Sep-2008  mjf Sync with HEAD.
 1.53.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.53.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.54.2.1 03-Jul-2008  simonb Sync with head.
 1.55.2.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.55.2.1 19-Oct-2008  haad Sync with HEAD.
 1.56.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.56.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.58.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.61.4.3 21-Apr-2011  rmind sync with head
 1.61.4.2 05-Mar-2011  rmind sync with head
 1.61.4.1 30-May-2010  rmind sync with head
 1.61.2.2 06-Nov-2010  uebayasi Sync with HEAD.
 1.61.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.64.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.64.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.68.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.68.2.2 30-Oct-2012  yamt sync with head
 1.68.2.1 17-Apr-2012  yamt sync with head
 1.69.2.2 29-Apr-2012  mrg sync to latest -current.
 1.69.2.1 18-Feb-2012  mrg merge to -current.
 1.74.2.4 03-Dec-2017  jdolecek update from HEAD
 1.74.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.74.2.2 23-Jun-2013  tls resync from head
 1.74.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.78.2.1 28-Aug-2013  rmind sync with head
 1.79.4.1 10-Aug-2014  tls Rebase.
 1.84.2.2 28-Aug-2017  skrll Sync with HEAD
 1.84.2.1 22-Sep-2015  skrll Sync with HEAD
 1.85.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.85.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.88.4.2 21-Apr-2020  martin Sync with HEAD
 1.88.4.1 10-Jun-2019  christos Sync with HEAD
 1.88.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.89.10.1 20-Apr-2020  bouyer Sync with HEAD
 1.89.4.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.91.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.2 09-Feb-2012  matt Bump SYMTAB_SPACE
 1.1 08-Apr-2003  thorpej branches: 1.1.142; 1.1.146;
Factor out common INSTALL kernel config fragments into a new INSTALL
file. Add INSTALL kernels for the ADI BRH, IQ80310, and IQ80321.
 1.1.146.1 18-Feb-2012  mrg merge to -current.
 1.1.142.1 17-Apr-2012  yamt sync with head
 1.61 07-Aug-2022  simonb branches: 1.61.4;
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.60 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.59 25-Jan-2020  thorpej branches: 1.59.4;
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.58 20-Jan-2020  thorpej Remove FDDI support.
 1.57 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.56 12-Dec-2018  maxv branches: 1.56.4; 1.56.6;
Remove references to "lmc" in the kernel configurations.
 1.55 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.54 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.53 14-Sep-2017  mrg branches: 1.53.2; 1.53.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.52 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.51 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.50 12-Aug-2015  maxv branches: 1.50.2; 1.50.4;
Remove KMEMSTATS.
 1.49 23-Aug-2014  dholland branches: 1.49.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.48 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.47 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.46 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.45 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.44 30-Jun-2013  rmind branches: 1.44.4;
G/C PFIL_HOOKS from the kernel configs.
 1.43 05-Jun-2013  christos branches: 1.43.2;
remove obsolete networking options
 1.42 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.41 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.40 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.39 11-Sep-2012  msaitoh branches: 1.39.2;
Add PUFFS, putter and fss.
 1.38 01-Sep-2012  matt Bump up SYMTAB_SPACE
 1.37 29-Aug-2012  skrll Typo in comment
 1.36 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.35 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.34 22-Nov-2011  tls branches: 1.34.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.33 30-Jun-2011  wiz branches: 1.33.2;
dependant -> dependent
 1.32 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.31 06-Mar-2011  jakllsch Bump SYMTAB_SPACE for the many other evbarm kernels that also need it increased.
 1.30 23-Nov-2010  hannken branches: 1.30.2; 1.30.4;
Remove unused count from pseudo-device md.
 1.29 05-Dec-2009  pooka branches: 1.29.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.28 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.27 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.26 24-Nov-2008  ad branches: 1.26.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.24 31-Jul-2008  simonb branches: 1.24.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.23 30-May-2008  tsutsui branches: 1.23.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.22 19-Jan-2008  chris branches: 1.22.6; 1.22.8; 1.22.10; 1.22.12;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.21 08-Jan-2008  matt More kernels SYMTAB_SPACE increased.
 1.20 10-Dec-2006  scw branches: 1.20.20; 1.20.24; 1.20.30; 1.20.36;
Add watchdog and NPE Ethernet support. The latter is not well tested
on IXDP425 since the PHYs fail to probe my board. This may be due to
an incompatibility between the stepping A0 CPU and the microcode.

Additionally, the MAC addresses are not configured by Redboot, so more
work is needed in this area.
 1.19 26-Aug-2006  christos branches: 1.19.2; 1.19.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.18 05-Feb-2006  cube branches: 1.18.2;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.17 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.16 07-Dec-2005  tsutsui branches: 1.16.2; 1.16.4; 1.16.6;
Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.15 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.14 19-Aug-2005  christos 64 bit inode changes.
 1.13 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.12 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.11 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.10 25-Feb-2005  simonb branches: 1.10.2; 1.10.4;
Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.9 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.8 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.7 10-Nov-2004  christos branches: 1.7.4; 1.7.6;
Add COMPAT_BSDPTY to the rest of the config files.
 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 branches: 1.5.2;
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.4 06-Apr-2004  ross * Bump up SYMTAB_SPACE slightly.
* Use the correct board name.
 1.3 23-Oct-2003  scw branches: 1.3.2;
- Make the compile-time selection of ixdp425 vs. zao425 actually work.
- Flesh out cpu_reboot() to jump to Redboot via cpu_reset().
(See XXX comment in code regarding a problem with this).
 1.2 08-Oct-2003  scw Make it easier to support different types of IXP425 board:

- Move board-specific PCI/GPIO initialisation to its rightful place.

- Handle clearing down latched GPIO interrupts in a board-independent way.

- Use MI com(4) driver for on-chip UARTs.

- Misc. tidying up.

Tested on IXDP425.
 1.1 25-Sep-2003  ichiro pci bus support
 1.3.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.5.2.9 11-Dec-2005  christos Sync with head.
 1.5.2.8 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.2.7 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.5.2.6 15-Feb-2005  skrll Sync with HEAD.
 1.5.2.5 14-Nov-2004  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 15-Jul-2004  skrll file IXDP425 was added on branch ktrace-lwp on 2004-08-03 10:33:54 +0000
 1.7.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.7.6.1 12-Feb-2005  yamt sync with head.
 1.7.4.1 29-Apr-2005  kent sync with -current
 1.10.4.3 21-Jan-2008  yamt sync with head
 1.10.4.2 30-Dec-2006  yamt sync with head.
 1.10.4.1 21-Jun-2006  yamt sync with head.
 1.10.2.1 18-Jul-2005  riz Pull up revision 1.11 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.16.6.1 22-Apr-2006  simonb Sync with head.
 1.16.4.1 09-Sep-2006  rpaulo sync with head
 1.16.2.1 18-Feb-2006  yamt sync with head.
 1.18.2.1 03-Sep-2006  yamt sync with head.
 1.19.4.1 18-Dec-2006  yamt sync with head.
 1.19.2.1 12-Jan-2007  ad Sync with head.
 1.20.36.2 20-Jan-2008  bouyer Sync with HEAD
 1.20.36.1 08-Jan-2008  bouyer Sync with HEAD
 1.20.30.1 18-Feb-2008  mjf Sync with HEAD.
 1.20.24.2 23-Mar-2008  matt sync with HEAD
 1.20.24.1 09-Jan-2008  matt sync with HEAD
 1.20.20.1 28-Feb-2008  rjs Sync with HEAD.
 1.22.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.22.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.22.10.2 11-Mar-2010  yamt sync with head
 1.22.10.1 04-May-2009  yamt sync with head.
 1.22.8.1 04-Jun-2008  yamt sync with head
 1.22.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.22.6.2 28-Sep-2008  mjf Sync with HEAD.
 1.22.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.23.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.23.4.1 19-Oct-2008  haad Sync with HEAD.
 1.24.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.24.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.4.2 21-Apr-2011  rmind sync with head
 1.29.4.1 05-Mar-2011  rmind sync with head
 1.30.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.30.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.33.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.33.2.2 30-Oct-2012  yamt sync with head
 1.33.2.1 17-Apr-2012  yamt sync with head
 1.34.2.2 29-Apr-2012  mrg sync to latest -current.
 1.34.2.1 18-Feb-2012  mrg merge to -current.
 1.39.2.4 03-Dec-2017  jdolecek update from HEAD
 1.39.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.39.2.2 23-Jun-2013  tls resync from head
 1.39.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.43.2.1 28-Aug-2013  rmind sync with head
 1.44.4.1 10-Aug-2014  tls Rebase.
 1.49.2.2 28-Aug-2017  skrll Sync with HEAD
 1.49.2.1 22-Sep-2015  skrll Sync with HEAD
 1.50.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.50.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.53.4.3 21-Apr-2020  martin Sync with HEAD
 1.53.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.53.4.1 10-Jun-2019  christos Sync with HEAD
 1.53.2.3 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.53.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.53.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.56.6.1 25-Jan-2020  ad Sync with head.
 1.56.4.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.59.4.1 20-Apr-2020  bouyer Sync with HEAD
 1.61.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.66 07-Aug-2022  simonb branches: 1.66.4;
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.65 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.64 14-Sep-2017  mrg branches: 1.64.4; 1.64.14;
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.63 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 2.
 1.62 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.61 07-Aug-2015  maxv branches: 1.61.2; 1.61.4;
Remove the KMEMSTATS option. It no longer exists.
 1.60 23-Aug-2014  dholland branches: 1.60.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.59 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.58 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.57 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.56 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.55 30-Jun-2013  rmind branches: 1.55.4;
G/C PFIL_HOOKS from the kernel configs.
 1.54 05-Jun-2013  christos branches: 1.54.2;
remove obsolete networking options
 1.53 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.52 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.51 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.50 11-Sep-2012  msaitoh branches: 1.50.2;
Add PUFFS, putter and fss.
 1.49 01-Sep-2012  matt Bump up SYMTAB_SPACE
 1.48 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.47 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.46 22-Nov-2011  tls branches: 1.46.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.45 30-Jun-2011  wiz branches: 1.45.2;
dependant -> dependent
 1.44 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.43 06-Mar-2011  jakllsch Remove trailing spaces.
 1.42 06-Mar-2011  jakllsch Bump SYMTAB_SPACE.
 1.41 23-Nov-2010  hannken branches: 1.41.2; 1.41.4;
Remove unused count from pseudo-device md.
 1.40 05-Dec-2009  pooka branches: 1.40.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.39 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 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 30-May-2008  tsutsui branches: 1.34.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.33 15-Apr-2008  dogcow branches: 1.33.2; 1.33.4; 1.33.6;
reinstate SYMTAB_SPACE (but with a large enough size this time.)
 1.32 13-Apr-2008  dogcow Fix "symtable too small" error by removing smaller-than-default SYMTAB_SPACE.
 1.31 19-Jan-2008  chris branches: 1.31.6;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.30 18-Jan-2008  he Increase SYMTAB_SPACE to 270000 so that the symbol table fits again.
 1.29 01-Dec-2007  marty branches: 1.29.6;
Increase SYMTAB_SPACE to 264000 so the release kernel will compile
 1.28 17-Oct-2007  garbled branches: 1.28.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.27 18-Aug-2007  he branches: 1.27.2;
Bump the symbol table size so that it fits again.
 1.26 13-May-2007  he branches: 1.26.4; 1.26.6; 1.26.8;
Bump SYMTAB_SPACE so that it fits again.
 1.25 26-Aug-2006  christos branches: 1.25.8; 1.25.12; 1.25.14; 1.25.20;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.24 05-Feb-2006  cube branches: 1.24.2;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.23 04-Feb-2006  he Bump SYMTAB_SPACE to make it fit again.
 1.22 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.21 07-Dec-2005  tsutsui branches: 1.21.2; 1.21.4; 1.21.6;
Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.20 05-Dec-2005  he Bump SYMTAB_SPACE so that the symbol table fits again.
 1.19 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.18 19-Aug-2005  christos 64 bit inode changes.
 1.17 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.16 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.15 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.14 25-Feb-2005  simonb branches: 1.14.2; 1.14.4;
Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.13 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.12 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.11 10-Nov-2004  christos branches: 1.11.4; 1.11.6;
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 07-Aug-2004  rearnsha Set CPUFLAGS not COPTS
 1.8 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.7 13-Sep-2003  chris branches: 1.7.2;
Add COMPAT_16 to most arm based kernels. Mainly in preperation for doing
SA_SIGINFO work.
 1.6 06-Sep-2003  rearnsha Default all builds to not have debug information. Significantly
reduces disk space needed for a make release, especially if using
dwarf2 debug.
 1.5 23-May-2003  thorpej branches: 1.5.2;
Add ksyms.
 1.4 27-Feb-2003  igy locator should use physical addresses
 1.3 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.2 15-Jul-2002  ichiro branches: 1.2.2; 1.2.4; 1.2.6;
add configuration file
Netwise APlication Platform Board
 1.1 15-Jul-2002  ichiro add support ixp12x0 eva-board "IXM1200"
 1.2.6.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.2.6.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.6.1 15-Jul-2002  jdolecek file IXM1200 was added on branch kqueue on 2002-09-06 08:33:56 +0000
 1.2.4.3 18-Oct-2002  nathanw Catch up to -current.
 1.2.4.2 01-Aug-2002  nathanw Catch up to -current.
 1.2.4.1 15-Jul-2002  nathanw file IXM1200 was added on branch nathanw_sa on 2002-08-01 02:41:31 +0000
 1.2.2.2 21-Jul-2002  gehenna catch up with -current.
 1.2.2.1 15-Jul-2002  gehenna file IXM1200 was added on branch gehenna-devsw on 2002-07-21 13:00:33 +0000
 1.5.2.9 11-Dec-2005  christos Sync with head.
 1.5.2.8 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.2.7 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.5.2.6 15-Feb-2005  skrll Sync with HEAD.
 1.5.2.5 14-Nov-2004  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 12-Aug-2004  skrll Sync with HEAD.
 1.5.2.1 03-Aug-2004  skrll Sync with HEAD
 1.7.2.1 15-Jul-2004  he Pull up revision 1.8 (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.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.11.6.1 12-Feb-2005  yamt sync with head.
 1.11.4.1 29-Apr-2005  kent sync with -current
 1.14.4.5 21-Jan-2008  yamt sync with head
 1.14.4.4 07-Dec-2007  yamt sync with head
 1.14.4.3 03-Sep-2007  yamt sync with head.
 1.14.4.2 30-Dec-2006  yamt sync with head.
 1.14.4.1 21-Jun-2006  yamt sync with head.
 1.14.2.1 18-Jul-2005  riz Pull up revision 1.15 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.21.6.1 22-Apr-2006  simonb Sync with head.
 1.21.4.1 09-Sep-2006  rpaulo sync with head
 1.21.2.1 18-Feb-2006  yamt sync with head.
 1.24.2.1 03-Sep-2006  yamt sync with head.
 1.25.20.2 03-Oct-2007  garbled Sync with HEAD
 1.25.20.1 22-May-2007  matt Update to HEAD.
 1.25.14.1 11-Jul-2007  mjf Sync with head.
 1.25.12.3 03-Dec-2007  ad Sync with HEAD.
 1.25.12.2 20-Aug-2007  ad Sync with HEAD.
 1.25.12.1 27-May-2007  ad Sync with head.
 1.25.8.1 17-May-2007  yamt sync with head.
 1.26.8.2 03-Dec-2007  joerg Sync with HEAD.
 1.26.8.1 03-Sep-2007  jmcneill Sync with HEAD.
 1.26.6.3 28-Feb-2008  rjs Sync with HEAD.
 1.26.6.2 26-Dec-2007  rjs Sync with HEAD.
 1.26.6.1 01-Nov-2007  rjs Sync with HEAD.
 1.26.4.1 03-Sep-2007  skrll Sync with HEAD.
 1.27.2.4 23-Mar-2008  matt sync with HEAD
 1.27.2.3 27-Jan-2008  cliff IXM1200 gets more SYMTAB_SPACE so can make.
 1.27.2.2 09-Jan-2008  matt sync with HEAD
 1.27.2.1 06-Nov-2007  matt sync with HEAD
 1.28.2.2 18-Feb-2008  mjf Sync with HEAD.
 1.28.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.29.6.2 20-Jan-2008  bouyer Sync with HEAD
 1.29.6.1 19-Jan-2008  bouyer Sync with HEAD
 1.31.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.31.6.2 28-Sep-2008  mjf Sync with HEAD.
 1.31.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.33.6.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.33.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.33.4.2 11-Mar-2010  yamt sync with head
 1.33.4.1 04-May-2009  yamt sync with head.
 1.33.2.1 04-Jun-2008  yamt sync with head
 1.34.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.34.4.1 19-Oct-2008  haad 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.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.45.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.45.2.2 30-Oct-2012  yamt sync with head
 1.45.2.1 17-Apr-2012  yamt sync with head
 1.46.2.2 29-Apr-2012  mrg sync to latest -current.
 1.46.2.1 18-Feb-2012  mrg merge to -current.
 1.50.2.4 03-Dec-2017  jdolecek update from HEAD
 1.50.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.50.2.2 23-Jun-2013  tls resync from head
 1.50.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.54.2.1 28-Aug-2013  rmind sync with head
 1.55.4.1 10-Aug-2014  tls Rebase.
 1.60.2.2 28-Aug-2017  skrll Sync with HEAD
 1.60.2.1 22-Sep-2015  skrll Sync with HEAD
 1.61.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.61.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.64.14.1 20-Apr-2020  bouyer Sync with HEAD
 1.64.4.1 21-Apr-2020  martin Sync with HEAD
 1.66.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.10 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.9 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.8 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.7 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.6 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.5 18-Apr-2020  skrll Trailing whitespace
 1.4 25-Mar-2020  jdolecek branches: 1.4.2;
remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.3 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.2 26-Apr-2019  sevan branches: 1.2.2; 1.2.6;
Use veriexec.config to reduce duplication
 1.1 14-Feb-2019  macallan move arch/iyonix into evbarm - it's got less machine specific code than most
evbarm/*...
does not quite work yet, but I don't want it to accumulate more differences
to what's in arch/iyonix
 1.2.6.1 25-Jan-2020  ad Sync with head.
 1.2.2.4 21-Apr-2020  martin Sync with HEAD
 1.2.2.3 08-Apr-2020  martin Merge changes from current as of 20200406
 1.2.2.2 10-Jun-2019  christos Sync with HEAD
 1.2.2.1 26-Apr-2019  christos file IYONIX was added on branch phil-wifi on 2019-06-10 22:06:04 +0000
 1.4.2.1 20-Apr-2020  bouyer Sync with HEAD
 1.43 13-Dec-2015  jmcneill Remove JETSONTK1 and NYAN-BIG kernels, add a new unified kernel named TEGRA.
 1.42 13-Dec-2015  jmcneill Use fdt for device enumeration.
 1.41 21-Nov-2015  jmcneill enable tegrasoctherm
 1.40 21-Nov-2015  jmcneill Add FUSE driver, use it to determine maximum CPU frequency for the board.
Retire CPUFREQ_BOOT option and always use highest available CPU frequency.
 1.39 19-Nov-2015  jmcneill Remove HOST1X and AHB_A2 from pmap_devmap
 1.38 18-Nov-2015  jakllsch Add support for the AR5BHB63 ath(4) (the only ath(4) in Half Mini Card
form that isn't supported by athn(4)).
 1.37 11-Nov-2015  jakllsch enable cd(4) in JETSONTK1
 1.36 11-Nov-2015  jmcneill enable as3722pmic
 1.35 09-Nov-2015  jmcneill Port the Tegra (2D) display drivers to the DRM framework.

tegradrm0 at tegraio0
tegrafb0 at tegradrm0
tegrafb0: framebuffer at 0x9b000000, size 1280x720, depth 32, stride 5120
wsdisplay0 at tegrafb0 kbdmux 1
wsmux1: connecting to wsdisplay0
wsdisplay0: screen 0-3 added (default, vt100 emulation)
tegradrm0: info: registered panic notifier
tegradrm0: initialized tegra 0.1.0 20151108 on minor 0

Same features as before (fb console, X wsfb driver works) with the addition
of being able to use xf86-video-modesetting and xrandr to switch video
modes at runtime.
 1.34 30-Oct-2015  jmcneill initialize phy for the third EHCI controller
 1.33 21-Oct-2015  jmcneill Split out USB PHY support out of the ehci glue and into a separate driver.
 1.32 17-Oct-2015  jmcneill add nouveau, commented out for now
 1.31 02-Aug-2015  jmcneill enable eMMC
 1.30 01-Aug-2015  jmcneill Enable tegracec and hdmicec
 1.29 26-Jul-2015  jmcneill disable DEBUG and LOCKDEBUG
 1.28 31-May-2015  jmcneill enable MULTIPROCESSOR
 1.27 30-May-2015  jmcneill attach gpiobutton to power button pin
 1.26 30-May-2015  jmcneill add HDAUDIOVERBOSE
 1.25 30-May-2015  jmcneill enable hdaudio
 1.24 30-May-2015  jmcneill Tegra K1 Watchdog support.
 1.23 29-May-2015  jmcneill Replace ath with athn, and attach gpiorfkill to GPIO X7
 1.22 18-May-2015  jmcneill Power-on Host1x subsystem
 1.21 18-May-2015  jmcneill Work in progress HDMI / framebuffer support for Tegra K1.
 1.20 16-May-2015  jmcneill add ddc at iic3 (HDMI DDC)
 1.19 15-May-2015  jmcneill enable SATA, maybe it will inspire someone to fix it
 1.18 15-May-2015  jmcneill enable XUSB PADCTL
 1.17 13-May-2015  jmcneill select max cpu frequency (~2.3GHz) at boot
 1.16 12-May-2015  jmcneill add titemp
 1.15 11-May-2015  jmcneill add ath@pci (mini-PCIe expansion slot)
 1.14 10-May-2015  jmcneill add tegrai2c (I2C[12345]) and seeprom on I2C1
 1.13 10-May-2015  jmcneill half-attached sdhc breaks reset for some reason, so disable eMMC until we fix it
 1.12 07-May-2015  jmcneill enable tegrampio
 1.11 05-May-2015  jmcneill Tegra K1 RTC driver.
 1.10 03-May-2015  jmcneill disable MULTIPROCESSOR for now
 1.9 03-May-2015  jmcneill Add Tegra K1 PCIE support.
 1.8 02-May-2015  jmcneill jetsontk1 specific gpio setup for sdhc
 1.7 02-May-2015  jmcneill enable tegragpio
 1.6 28-Apr-2015  jmcneill Add a basic driver for the Clock and Reset controller, use it to determine
CPU frequency.
 1.5 27-Apr-2015  jmcneill disable sata and hda until we learn how to power them up
 1.4 18-Apr-2015  skrll Typo
 1.3 03-Apr-2015  jmcneill branches: 1.3.2;
Move common non-device stuff to GENERIC.common. Simplify board configs,
and let them all share common settings.
 1.2 31-Mar-2015  riz Spell "Independent" correctly in cargo-culted comments.
 1.1 29-Mar-2015  jmcneill NVIDIA Tegra K1 support, work in progress.
 1.3.2.5 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.3.2.4 22-Sep-2015  skrll Sync with HEAD
 1.3.2.3 06-Jun-2015  skrll Sync with HEAD
 1.3.2.2 06-Apr-2015  skrll Sync with HEAD
 1.3.2.1 03-Apr-2015  skrll file JETSONTK1 was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.2 13-Dec-2015  jmcneill Remove JETSONTK1 and NYAN-BIG kernels, add a new unified kernel named TEGRA.
 1.1 14-May-2015  jmcneill branches: 1.1.2;
add INSTALL kernel for JETSONTK1
 1.1.2.3 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.2.2 06-Jun-2015  skrll Sync with HEAD
 1.1.2.1 14-May-2015  skrll file JETSONTK1_INSTALL was added on branch nick-nhusb on 2015-06-06 14:39:58 +0000
 1.15 09-Oct-2025  skrll Add the beginnings of a GENERIC_V5 kernel that targets armv5 boards and
uses FDT.

In this first iteration some support is added for OLinuXino boards.

Thanks to Yuri Honegger for doing the vast majority of the work.
 1.14 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.13 30-Dec-2022  andvar s/Cotroller/Controller/
 1.12 29-Sep-2020  jmcneill Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime
detection instead of ifdefs where required.
 1.11 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.10 24-Jul-2019  hkenken branches: 1.10.8;
Modified i.MX GPIO control module and PCIe module.

+ Add imxpcie.c
imx PCIe common driver
 1.9 06-Feb-2019  rin Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.8 20-Mar-2017  skrll branches: 1.8.14;
Disable DIAGNOSTIC - it is already enabled in GENERIC.common
 1.7 10-Apr-2015  hkenken branches: 1.7.2; 1.7.4;
include "GENERIC.common"
 1.6 11-Oct-2014  uebayasi branches: 1.6.2;
Device midi attachment where the evil usbdevices.config is included.
 1.5 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.4 16-Aug-2014  apb branches: 1.4.2;
Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.3 03-Aug-2014  martin branches: 1.3.2;
Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.2 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.1 25-Jul-2014  hkenken Initial commit of support for Kobo touch. (i.MX507 or i.MX508)
(http://www.kobo.com)
 1.3.2.2 10-Aug-2014  tls Rebase.
 1.3.2.1 03-Aug-2014  tls file KOBO was added on branch tls-earlyentropy on 2014-08-10 06:53:54 +0000
 1.4.2.3 03-Dec-2017  jdolecek update from HEAD
 1.4.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.2.1 16-Aug-2014  tls file KOBO was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.6.2.2 28-Aug-2017  skrll Sync with HEAD
 1.6.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.2.1 26-Apr-2017  pgoyette Sync with HEAD
 1.8.14.3 21-Apr-2020  martin Sync with HEAD
 1.8.14.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.8.14.1 10-Jun-2019  christos Sync with HEAD
 1.10.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.2 23-May-2020  jmcneill GC unused INSTALL kernel configs.
 1.1 25-Jul-2014  hkenken branches: 1.1.2; 1.1.6;
Initial commit of support for Kobo touch. (i.MX507 or i.MX508)
(http://www.kobo.com)
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 25-Jul-2014  tls file KOBO_INSTALL was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 25-Jul-2014  tls file KOBO_INSTALL was added on branch tls-earlyentropy on 2014-08-10 06:53:54 +0000
 1.15 30-Aug-2021  rin branches: 1.15.4;
PR port-arm/56380

Disable PAX_ASLR for now, until the problem is fixed.
 1.14 30-Aug-2021  rin Add nvme(4). (This machine has a PCIe x1 slot!)

It works just fine, instead of broken on-board mvsata(4).
 1.13 30-Aug-2021  rin CPU is arm926ej-s, not xscale.
 1.12 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.11 12-Jul-2018  maxv branches: 1.11.10;
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.10 07-Jun-2018  thorpej branches: 1.10.2;
Revert changes that pinned-down i2c parent specs. The i2c subsystem
has been enhanced to make this unnecessary.
 1.9 15-May-2018  thorpej Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.
 1.8 18-Jul-2015  htodd branches: 1.8.16;
DDB is already defined in the included file.
 1.7 17-Aug-2014  joerg branches: 1.7.2;
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.6 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.5 30-Jan-2013  he branches: 1.5.10;
Also build a kernel with root on wd0 to avoid query for location of
root file system on boot.
 1.4 09-Sep-2012  msaitoh branches: 1.4.2;
Split DEBUG="-g -Ox" into DEBUG="-g" and COPTS="-Ox".
 1.3 09-Feb-2012  matt Bump SYMTAB_SPACE
 1.2 06-Mar-2011  jakllsch branches: 1.2.4; 1.2.8;
Bump SYMTAB_SPACE for the many other evbarm kernels that also need it increased.
 1.1 02-Oct-2010  kiyohara branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10;
Add support Marvell Sheevaplug.
Add some NAS on Marvell SoC.
 1.1.10.3 21-Apr-2011  rmind sync with head
 1.1.10.2 05-Mar-2011  rmind sync with head
 1.1.10.1 02-Oct-2010  rmind file KUROBOX_PRO was added on branch rmind-uvmplock on 2011-03-05 20:50:03 +0000
 1.1.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.4.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.1.4.1 02-Oct-2010  uebayasi file KUROBOX_PRO was added on branch uebayasi-xip on 2010-10-22 07:21:14 +0000
 1.1.2.2 09-Oct-2010  yamt sync with head
 1.1.2.1 02-Oct-2010  yamt file KUROBOX_PRO was added on branch yamt-nfs-mp on 2010-10-09 03:31:43 +0000
 1.2.8.1 18-Feb-2012  mrg merge to -current.
 1.2.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.2.4.2 30-Oct-2012  yamt sync with head
 1.2.4.1 17-Apr-2012  yamt sync with head
 1.4.2.3 03-Dec-2017  jdolecek update from HEAD
 1.4.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.2.1 25-Feb-2013  tls resync with head
 1.5.10.1 10-Aug-2014  tls Rebase.
 1.7.2.1 22-Sep-2015  skrll Sync with HEAD
 1.8.16.3 28-Jul-2018  pgoyette Sync with HEAD
 1.8.16.2 25-Jun-2018  pgoyette Sync with HEAD
 1.8.16.1 21-May-2018  pgoyette Sync with HEAD
 1.10.2.2 21-Apr-2020  martin Sync with HEAD
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.11.10.1 20-Apr-2020  bouyer Sync with HEAD
 1.15.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.3 02-May-2014  dogcow branches: 1.3.2;
as suggested by gimpy et al, "no config" the netbsd-device kernels.
Reduces `build.sh release` by about a gig.
 1.2 01-May-2014  martin Do not create debug info for *_INSTALL kernels.
 1.1 30-Jan-2013  he branches: 1.1.2; 1.1.4; 1.1.12;
Add an install kernel for KUROBOX_PRO.
 1.1.12.1 10-Aug-2014  tls Rebase.
 1.1.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 30-Jan-2013  tls file KUROBOX_PRO_INSTALL was added on branch tls-maxphys on 2013-02-25 00:28:34 +0000
 1.1.2.1 18-May-2014  rmind sync with head
 1.3.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.3.2.1 02-May-2014  yamt file KUROBOX_PRO_INSTALL was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.5 18-Apr-2020  skrll branches: 1.5.20;
PMAP_DEBUG has been deleted on arm
 1.4 12-Jul-2018  maxv branches: 1.4.10;
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.3 07-Jun-2018  thorpej branches: 1.3.2;
Revert changes that pinned-down i2c parent specs. The i2c subsystem
has been enhanced to make this unnecessary.
 1.2 15-May-2018  thorpej Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.
 1.1 12-Jul-2016  kiyohara branches: 1.1.4; 1.1.18; 1.1.20;
Add 'KURONAS x4' configuration.
 1.1.20.3 28-Jul-2018  pgoyette Sync with HEAD
 1.1.20.2 25-Jun-2018  pgoyette Sync with HEAD
 1.1.20.1 21-May-2018  pgoyette Sync with HEAD
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 12-Jul-2016  jdolecek file KURONAS_X4 was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.4.2 05-Oct-2016  skrll Sync with HEAD
 1.1.4.1 12-Jul-2016  skrll file KURONAS_X4 was added on branch nick-nhusb on 2016-10-05 20:55:26 +0000
 1.3.2.2 21-Apr-2020  martin Sync with HEAD
 1.3.2.1 10-Jun-2019  christos Sync with HEAD
 1.4.10.1 20-Apr-2020  bouyer Sync with HEAD
 1.5.20.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.63 07-Aug-2022  simonb branches: 1.63.4;
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.62 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.61 19-Jan-2020  thorpej branches: 1.61.4;
Remove Token Ring support.
 1.60 14-Sep-2017  mrg branches: 1.60.4; 1.60.8; 1.60.10;
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.59 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.58 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.57 13-Dec-2016  christos branches: 1.57.2;
wildcard speaker attachments, now that we can handle many of them.
 1.56 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.55 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.54 07-Aug-2015  maxv branches: 1.54.2;
Remove KMEMSTATS.
 1.53 23-Aug-2014  dholland branches: 1.53.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.52 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.51 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.50 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.49 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.48 30-Jun-2013  rmind branches: 1.48.4;
G/C PFIL_HOOKS from the kernel configs.
 1.47 05-Jun-2013  christos branches: 1.47.2;
remove obsolete networking options
 1.46 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.45 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.44 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.43 11-Sep-2012  msaitoh branches: 1.43.2;
Add PUFFS, putter and fss.
 1.42 17-Aug-2012  abs 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.41 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.40 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.39 22-Nov-2011  tls branches: 1.39.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.38 30-Jun-2011  wiz branches: 1.38.2;
dependant -> dependent
 1.37 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.36 06-Mar-2011  jakllsch Remove trailing spaces.
 1.35 23-Nov-2010  hannken branches: 1.35.2; 1.35.4;
Remove unused count from pseudo-device md.
 1.34 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.33 05-Dec-2009  pooka branches: 1.33.2; 1.33.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.32 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.31 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.30 03-Jan-2009  christos branches: 1.30.2;
remove esl (KIYOHARA Takashi)
 1.29 24-Nov-2008  ad Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.27 31-Jul-2008  simonb branches: 1.27.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.26 30-May-2008  tsutsui branches: 1.26.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.25 19-Jan-2008  chris branches: 1.25.6; 1.25.8; 1.25.10; 1.25.12;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.24 26-Aug-2006  christos branches: 1.24.28; 1.24.32; 1.24.38; 1.24.46;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.23 05-Feb-2006  cube branches: 1.23.2;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.22 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.21 07-Dec-2005  tsutsui branches: 1.21.2; 1.21.4; 1.21.6;
Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.20 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.19 19-Aug-2005  christos 64 bit inode changes.
 1.18 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.17 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.16 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.15 04-Jul-2005  bsh branches: 1.15.2;
option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA2[57]0.
 1.14 13-Apr-2005  scw Add support for the DMA and AC97 controllers on PXA2x0, and enable them
on the Lubbock evaluation board.

Many thanks to Hiroyuki Bessho for testing this driver with the new
aurateconv interface, as I no longer have access to the hardware.

Contributed by Wasabi Systems, Inc.
 1.13 26-Feb-2005  bsh branches: 1.13.2;
fix xi@pcmcia configuration
 1.12 25-Feb-2005  simonb 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 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.8 10-Nov-2004  christos branches: 1.8.4; 1.8.6;
Add COMPAT_BSDPTY to the rest of the config files.
 1.7 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.6 06-Apr-2004  bsh enable PS/2 mouse support.

Thanks to Ben Harris' pckbport, pms driver now attaches to sackbc
very cleanly.
 1.5 08-Oct-2003  bouyer Add atabus
 1.4 13-Sep-2003  chris Add COMPAT_16 to most arm based kernels. Mainly in preperation for doing
SA_SIGINFO work.
 1.3 06-Sep-2003  rearnsha Default all builds to not have debug information. Significantly
reduces disk space needed for a make release, especially if using
dwarf2 debug.
 1.2 09-Aug-2003  bsh enable LCD, PCMCIA, CF and PS/2 keyboard.
 1.1 18-Jun-2003  bsh branches: 1.1.2;
MD part for Intel Lubbock (DBPXA250).

built-in UART and on-board ethernet are supported for now.
LCD, PCMCIA, CF, PS/2, AC97 will follow shortly.
 1.1.2.8 11-Dec-2005  christos Sync with head.
 1.1.2.7 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.2.6 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.5 15-Feb-2005  skrll Sync with HEAD.
 1.1.2.4 04-Feb-2005  skrll Sync with HEAD.
 1.1.2.3 14-Nov-2004  skrll Sync with HEAD.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.8.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.8.6.1 12-Feb-2005  yamt sync with head.
 1.8.4.1 29-Apr-2005  kent sync with -current
 1.13.2.1 18-Jul-2005  riz Pull up revision 1.16 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.15.2.3 21-Jan-2008  yamt sync with head
 1.15.2.2 30-Dec-2006  yamt sync with head.
 1.15.2.1 21-Jun-2006  yamt sync with head.
 1.21.6.1 22-Apr-2006  simonb Sync with head.
 1.21.4.1 09-Sep-2006  rpaulo sync with head
 1.21.2.1 18-Feb-2006  yamt sync with head.
 1.23.2.1 03-Sep-2006  yamt sync with head.
 1.24.46.1 20-Jan-2008  bouyer Sync with HEAD
 1.24.38.1 18-Feb-2008  mjf Sync with HEAD.
 1.24.32.1 23-Mar-2008  matt sync with HEAD
 1.24.28.1 28-Feb-2008  rjs Sync with HEAD.
 1.25.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.25.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.25.10.3 11-Aug-2010  yamt sync with head.
 1.25.10.2 11-Mar-2010  yamt sync with head
 1.25.10.1 04-May-2009  yamt sync with head.
 1.25.8.1 04-Jun-2008  yamt sync with head
 1.25.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.25.6.2 28-Sep-2008  mjf Sync with HEAD.
 1.25.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.26.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.26.4.1 19-Oct-2008  haad Sync with HEAD.
 1.27.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.27.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.30.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.33.4.3 21-Apr-2011  rmind sync with head
 1.33.4.2 05-Mar-2011  rmind sync with head
 1.33.4.1 30-May-2010  rmind sync with head
 1.33.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.35.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.35.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.38.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.38.2.2 30-Oct-2012  yamt sync with head
 1.38.2.1 17-Apr-2012  yamt sync with head
 1.39.2.2 29-Apr-2012  mrg sync to latest -current.
 1.39.2.1 18-Feb-2012  mrg merge to -current.
 1.43.2.4 03-Dec-2017  jdolecek update from HEAD
 1.43.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.43.2.2 23-Jun-2013  tls resync from head
 1.43.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.47.2.1 28-Aug-2013  rmind sync with head
 1.48.4.1 10-Aug-2014  tls Rebase.
 1.53.2.3 28-Aug-2017  skrll Sync with HEAD
 1.53.2.2 05-Feb-2017  skrll Sync with HEAD
 1.53.2.1 22-Sep-2015  skrll Sync with HEAD
 1.54.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.54.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.57.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.60.10.1 25-Jan-2020  ad Sync with head.
 1.60.8.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.60.4.2 21-Apr-2020  martin Sync with HEAD
 1.60.4.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.61.4.1 20-Apr-2020  bouyer Sync with HEAD
 1.63.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.44 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.43 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.42 30-Aug-2021  rin Enable FFS_EI and DISKLABEL_EI as this SoC supports both endians now.
 1.41 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.40 16-Aug-2020  jdolecek make COMPAT_LINUX option disabled by default

leave the option enabled only in amd64/i386 ALL kernels to make
sure it continues to be compilable also when included in kernel
 1.39 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.38 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.37 18-Apr-2020  skrll Trailing whitespace
 1.36 25-Mar-2020  jdolecek branches: 1.36.2;
remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.35 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.34 26-Apr-2019  sevan branches: 1.34.4;
Use veriexec.config to reduce duplication
 1.33 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.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 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.30 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.29 17-Feb-2018  sevan branches: 1.29.2; 1.29.4;
With the introduction of ddb.dumpstack which is enabled by default, we no longer
need to explicitly set DDB_COMMANDONENTER to run a trace.
 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 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

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

ok riastradh
 1.26 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.25 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.24 26-Nov-2016  christos branches: 1.24.2;
mention PAX_SEGVGUARD dependency on FILEASSOC
 1.23 12-Aug-2015  maxv branches: 1.23.2;
Remove KMEMSTATS.
 1.22 16-Jul-2015  reinoud Update MARVELL_NAS to allow it to execute 6.X userland and fix obvious
obmissions.

The config file itself would benefit from rewriting it to use GENERIC.common
but i haven't dug into that yet.
 1.21 23-Aug-2014  dholland branches: 1.21.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.20 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.19 21-May-2014  zafer fix typo.
 1.18 05-Oct-2013  kiyohara branches: 1.18.2;
Change some comments and coment-outed options.
 1.17 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.16 05-Jun-2013  christos branches: 1.16.2;
remove obsolete networking options
 1.15 15-May-2013  reinoud Add (arbitrary) USB serial port support.
XXX why aren't other classes of USB devices added?
 1.14 27-Apr-2013  christos more bogus number removal
 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 29-Aug-2012  skrll branches: 1.9.2;
Typo in comment
 1.8 27-Jul-2012  kiyohara Enable mvcesa.
Also enable idmac in SHEEVAPLUG.
 1.7 31-Mar-2012  tsutsui Remove obsolete System V semaphores and share memory limit options
(SEMMNI, SEMMNS, SEMUME and SHMMAXPGS).
 1.6 10-Mar-2012  joerg P1003_1B_SEMAPHORE is no longer optional.
 1.5 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.4 22-Nov-2011  tls branches: 1.4.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.3 06-Mar-2011  bouyer branches: 1.3.4;
merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
 1.2 23-Nov-2010  hannken branches: 1.2.2; 1.2.4; 1.2.6;
Remove unused count from pseudo-device md.
 1.1 02-Oct-2010  kiyohara branches: 1.1.2; 1.1.4;
Add support Marvell Sheevaplug.
Add some NAS on Marvell SoC.
 1.1.4.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.1.4.1 02-Oct-2010  uebayasi file MARVELL_NAS was added on branch uebayasi-xip on 2010-10-22 07:21:14 +0000
 1.1.2.2 09-Oct-2010  yamt sync with head
 1.1.2.1 02-Oct-2010  yamt file MARVELL_NAS was added on branch yamt-nfs-mp on 2010-10-09 03:31:43 +0000
 1.2.6.3 21-Apr-2011  rmind sync with head
 1.2.6.2 05-Mar-2011  rmind sync with head
 1.2.6.1 23-Nov-2010  rmind file MARVELL_NAS was added on branch rmind-uvmplock on 2011-03-05 20:50:03 +0000
 1.2.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.2.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.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.3.4.2 30-Oct-2012  yamt sync with head
 1.3.4.1 17-Apr-2012  yamt sync with head
 1.4.2.3 05-Apr-2012  mrg sync to latest -current.
 1.4.2.2 11-Mar-2012  mrg sync to latest -current
 1.4.2.1 18-Feb-2012  mrg merge to -current.
 1.9.2.3 03-Dec-2017  jdolecek update from HEAD
 1.9.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.2.1 23-Jun-2013  tls resync from head
 1.16.2.2 18-May-2014  rmind sync with head
 1.16.2.1 28-Aug-2013  rmind sync with head
 1.18.2.1 10-Aug-2014  tls Rebase.
 1.21.2.3 28-Aug-2017  skrll Sync with HEAD
 1.21.2.2 05-Dec-2016  skrll Sync with HEAD
 1.21.2.1 22-Sep-2015  skrll Sync with HEAD
 1.23.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.23.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.24.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.29.4.3 21-Apr-2020  martin Sync with HEAD
 1.29.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.29.4.1 10-Jun-2019  christos Sync with HEAD
 1.29.2.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.29.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.29.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.34.4.1 25-Jan-2020  ad Sync with head.
 1.36.2.1 20-Apr-2020  bouyer Sync with HEAD
 1.35 19-Mar-2025  jakllsch Remove last traces of 'options LKM' from kernel config files.
 1.34 07-Aug-2022  simonb branches: 1.34.10;
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.33 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.32 27-Sep-2020  roy branches: 1.32.6;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.31 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.30 16-May-2020  maya 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 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.28 29-Jan-2020  maya branches: 1.28.4;
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.27 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.26 06-Feb-2019  rin branches: 1.26.6;
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 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.22 14-Sep-2017  mrg branches: 1.22.2; 1.22.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.21 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.20 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.19 13-Dec-2016  christos branches: 1.19.2;
wildcard speaker attachments, now that we can handle many of them.
 1.18 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.17 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.16 12-Aug-2015  maxv branches: 1.16.2;
Remove KMEMSTATS.
 1.15 31-Mar-2015  riz Spell "Independent" correctly in cargo-culted comments.
 1.14 23-Aug-2014  dholland branches: 1.14.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.13 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.12 30-Jun-2013  rmind branches: 1.12.4;
G/C PFIL_HOOKS from the kernel configs.
 1.11 05-Jun-2013  christos branches: 1.11.2;
remove obsolete networking options
 1.10 27-Apr-2013  christos more bogus number removal
 1.9 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.8 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.7 11-Sep-2012  msaitoh branches: 1.7.2;
Add PUFFS, putter and fss.
 1.6 23-Aug-2012  kiyohara Remove obsolated file-system PORTAL.
 1.5 17-Aug-2012  abs 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.4 08-Aug-2012  nisimura let MINI2440 kernel to have bpf(4) for DHCP.
 1.3 31-Mar-2012  tsutsui branches: 1.3.2;
Remove obsolete System V semaphores and share memory limit options
(SEMMNI, SEMMNS, SEMUME and SHMMAXPGS).
 1.2 07-Feb-2012  nisimura branches: 1.2.4;

- add missing time-of-day clock support.
- add option WAPBL and disable VERBOSE_INIT_ARM.

Ok by releng.
 1.1 30-Jan-2012  nisimura Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.2.4.3 05-Apr-2012  mrg sync to latest -current.
 1.2.4.2 18-Feb-2012  mrg merge to -current.
 1.2.4.1 07-Feb-2012  mrg file MINI2440 was added on branch jmcneill-usbmp on 2012-02-18 07:31:48 +0000
 1.3.2.4 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.3.2.3 30-Oct-2012  yamt sync with head
 1.3.2.2 17-Apr-2012  yamt sync with head
 1.3.2.1 31-Mar-2012  yamt file MINI2440 was added on branch yamt-pagecache on 2012-04-17 00:06:13 +0000
 1.7.2.3 03-Dec-2017  jdolecek update from HEAD
 1.7.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7.2.1 23-Jun-2013  tls resync from head
 1.11.2.1 28-Aug-2013  rmind sync with head
 1.12.4.1 10-Aug-2014  tls Rebase.
 1.14.2.4 28-Aug-2017  skrll Sync with HEAD
 1.14.2.3 05-Feb-2017  skrll Sync with HEAD
 1.14.2.2 22-Sep-2015  skrll Sync with HEAD
 1.14.2.1 06-Apr-2015  skrll Sync with HEAD
 1.16.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.16.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.19.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.22.4.3 21-Apr-2020  martin Sync with HEAD
 1.22.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.22.4.1 10-Jun-2019  christos Sync with HEAD
 1.22.2.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.22.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.26.6.2 29-Feb-2020  ad Sync with head.
 1.26.6.1 25-Jan-2020  ad Sync with head.
 1.28.4.1 20-Apr-2020  bouyer Sync with HEAD
 1.32.6.1 01-Aug-2021  thorpej Sync with HEAD.
 1.34.10.1 02-Aug-2025  perseant Sync with HEAD
 1.1 30-Jan-2012  nisimura branches: 1.1.4; 1.1.6;

Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.1.6.2 17-Apr-2012  yamt sync with head
 1.1.6.1 30-Jan-2012  yamt file MINI2440_INSTALL was added on branch yamt-pagecache on 2012-04-17 00:06:13 +0000
 1.1.4.2 18-Feb-2012  mrg merge to -current.
 1.1.4.1 30-Jan-2012  mrg file MINI2440_INSTALL was added on branch jmcneill-usbmp on 2012-02-18 07:31:48 +0000
 1.5 30-Aug-2014  kiyohara Move options __HAVE_MM_MD_DIRECT_MAPPED_PHYS from MIRABOX to ARMADAXP.
It is must required.
 1.4 06-Apr-2014  matt branches: 1.4.2; 1.4.4; 1.4.8;
Move kernel to load at 16MB since the first 14MB is reserved for use by
u-boot. Support direct-mapped memory since the 1GB can fit in the space
between KERNEL_BASE and KERNEL_VM_BASE.
 1.3 18-Mar-2014  matt branches: 1.3.2;
Comment out VERBOSE_INIT_ARM
 1.2 18-Mar-2014  matt Base on ARMADAXP, not SHEEVAPLUG.
Simplify.
Support FPU_VFP
 1.1 15-Mar-2014  kiyohara Support GlobalScale MiraBox.
 1.3.2.1 10-Aug-2014  tls Rebase.
 1.4.8.3 03-Dec-2017  jdolecek update from HEAD
 1.4.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.8.1 06-Apr-2014  tls file MIRABOX was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.4.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.4.4.1 06-Apr-2014  yamt file MIRABOX was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.4.2.2 18-May-2014  rmind sync with head
 1.4.2.1 06-Apr-2014  rmind file MIRABOX was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.2 23-May-2020  jmcneill GC unused INSTALL kernel configs.
 1.1 15-Mar-2014  matt branches: 1.1.4; 1.1.6; 1.1.10;
Add install kernel for MIRABOX
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 15-Mar-2014  tls file MIRABOX_INSTALL was added on branch tls-maxphys on 2014-08-20 00:02:53 +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 15-Mar-2014  yamt file MIRABOX_INSTALL was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 15-Mar-2014  rmind file MIRABOX_INSTALL was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.56 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.55 07-Aug-2022  simonb branches: 1.55.4;
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.54 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.53 27-Sep-2020  roy branches: 1.53.6;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.52 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.51 16-May-2020  maya 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.50 25-Mar-2020  jdolecek remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.49 24-Mar-2020  sevan g/c UGEN_BULK_RA_WB which is not a supported option
 1.48 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.47 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.46 26-Apr-2019  sevan branches: 1.46.4;
Use veriexec.config to reduce duplication
 1.45 06-Feb-2019  rin Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.44 19-Dec-2018  skrll Remove CONS_OVERRIDE - it's an i386 option
 1.43 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.42 25-Aug-2018  rin Add (commented out) mue(4) to where appropriate.
Also add MII/PHY drivers for USB NICs if missing.
 1.41 25-Aug-2018  maxv Retire NDIS. It appears that it has never worked, after 13 years it was
still marked as "experimental", and nowadays it may be one more obstacle
to MPification of the network stack.

Discussed on tech-net@.
 1.40 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.39 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.38 28-Jun-2018  thorpej branches: 1.38.2;
Use the "flags" config directive modifier to specify seeprom size
(a pre-existing capability in seeprom driver) now that "size" is no
longer a valid locator for i2c.
 1.37 23-Jun-2018  maya Remove commented out MATH_EMULATE from kernel configs that got it
by copying an older i386 config.
 1.36 07-Jun-2018  thorpej Revert changes that pinned-down i2c parent specs. The i2c subsystem
has been enhanced to make this unnecessary.
 1.35 15-May-2018  thorpej Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.
 1.34 23-Jan-2018  sevan branches: 1.34.2;
Alternate buffer queue strategies no longer considered experimental, update
or add new description for files missed out in the previous run.
 1.33 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.32 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

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

ok riastradh
 1.31 09-Aug-2017  maxv Remove references to svr4 and ibcs2, they are not supported here.
 1.30 01-Aug-2017  maxv Remove references to compat_freebsd when it is not supported.
 1.29 01-Aug-2017  riastradh Remove commented vestiges of bygone compat options.

COMPAT_MACH, COMPAT_DARWIN, EXEC_MACHO, and COMPAT_PECOFF were all
removed ages ago.
 1.28 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.27 19-Feb-2017  rin branches: 1.27.6;
PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.26 13-Dec-2016  christos branches: 1.26.2;
wildcard speaker attachments, now that we can handle many of them.
 1.25 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.24 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.23 26-Nov-2016  christos mention PAX_SEGVGUARD dependency on FILEASSOC
 1.22 25-Oct-2015  khorben branches: 1.22.2;
Remove references to SPLASHSCREEN_PROGRESS

To my knowledge this feature is no longer supported at the moment. The
manual page for wsdisplay(4) should probably also be updated to reflect
this situation.
 1.21 26-Sep-2015  maxv Remove KMEMSTATS. Normally it's ok now.
 1.20 23-Aug-2014  dholland branches: 1.20.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.19 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.18 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.17 24-Mar-2014  szptvlfn branches: 1.17.2;
fix manual section numbering of sysctl.
thanks wiz@
 1.16 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.15 05-Jun-2013  christos branches: 1.15.2;
remove obsolete networking options
 1.14 27-Apr-2013  christos more bogus number removal
 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 11-Sep-2012  msaitoh branches: 1.9.2;
Add PUFFS, putter and fss.
 1.8 09-Sep-2012  msaitoh Split DEBUG="-g -Ox" into DEBUG="-g" and COPTS="-Ox".
 1.7 01-Sep-2012  jakllsch 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.6 05-Jun-2012  abs 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.5 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.4 10-Mar-2012  joerg P1003_1B_SEMAPHORE is no longer optional.
 1.3 18-Dec-2011  dholland branches: 1.3.2;
WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.2 22-Nov-2011  tls branches: 1.2.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.1 04-Nov-2011  aymeric branches: 1.1.2;
preliminary support for the Propox MMnet1002 board
http://www.propox.com/products/t_232.html
 1.1.2.5 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.2.4 30-Oct-2012  yamt sync with head
 1.1.2.3 17-Apr-2012  yamt sync with head
 1.1.2.2 10-Nov-2011  yamt sync with head
 1.1.2.1 04-Nov-2011  yamt file MMNET_GENERIC was added on branch yamt-pagecache on 2011-11-10 14:31:39 +0000
 1.2.2.3 29-Apr-2012  mrg sync to latest -current.
 1.2.2.2 11-Mar-2012  mrg sync to latest -current
 1.2.2.1 18-Feb-2012  mrg merge to -current.
 1.3.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.9.2.3 03-Dec-2017  jdolecek update from HEAD
 1.9.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.2.1 23-Jun-2013  tls resync from head
 1.15.2.2 18-May-2014  rmind sync with head
 1.15.2.1 28-Aug-2013  rmind sync with head
 1.17.2.1 10-Aug-2014  tls Rebase.
 1.20.2.4 28-Aug-2017  skrll Sync with HEAD
 1.20.2.3 05-Feb-2017  skrll Sync with HEAD
 1.20.2.2 05-Dec-2016  skrll Sync with HEAD
 1.20.2.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.22.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.22.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.26.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.27.6.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.34.2.6 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.34.2.5 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.34.2.4 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.34.2.3 28-Jul-2018  pgoyette Sync with HEAD
 1.34.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.34.2.1 21-May-2018  pgoyette Sync with HEAD
 1.38.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.38.2.1 10-Jun-2019  christos Sync with HEAD
 1.46.4.2 29-Feb-2020  ad Sync with head.
 1.46.4.1 25-Jan-2020  ad Sync with head.
 1.53.6.1 01-Aug-2021  thorpej Sync with HEAD.
 1.55.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.1 10-Nov-2007  matt branches: 1.1.2;
file MPCSA was initially added on branch matt-nb4-arm.
 1.1.2.2 10-Nov-2007  matt Remove bogus config file.
 1.1.2.1 10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 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 branches: 1.76.4;
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 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.74 27-Sep-2020  roy branches: 1.74.6;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.73 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.72 16-May-2020  maya 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.71 25-Mar-2020  jdolecek remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.70 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.69 19-Jan-2020  thorpej Remove Token Ring support.
 1.68 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.67 26-Apr-2019  sevan branches: 1.67.4;
Use veriexec.config to reduce duplication
 1.66 06-Feb-2019  rin Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.65 19-Dec-2018  skrll Remove CONS_OVERRIDE - it's an i386 option
 1.64 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.63 25-Aug-2018  rin Add (commented out) mue(4) to where appropriate.
Also add MII/PHY drivers for USB NICs if missing.
 1.62 25-Aug-2018  maxv Retire NDIS. It appears that it has never worked, after 13 years it was
still marked as "experimental", and nowadays it may be one more obstacle
to MPification of the network stack.

Discussed on tech-net@.
 1.61 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.60 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.59 28-Jun-2018  thorpej branches: 1.59.2;
Use the "flags" config directive modifier to specify seeprom size
(a pre-existing capability in seeprom driver) now that "size" is no
longer a valid locator for i2c.
 1.58 23-Jun-2018  maya Remove commented out MATH_EMULATE from kernel configs that got it
by copying an older i386 config.
 1.57 07-Jun-2018  thorpej Revert changes that pinned-down i2c parent specs. The i2c subsystem
has been enhanced to make this unnecessary.
 1.56 15-May-2018  thorpej Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.
 1.55 23-Jan-2018  sevan branches: 1.55.2;
Alternate buffer queue strategies no longer considered experimental, update
or add new description for files missed out in the previous run.
 1.54 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.53 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

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

ok riastradh
 1.52 09-Aug-2017  maxv Remove references to svr4 and ibcs2, they are not supported here.
 1.51 01-Aug-2017  maxv Remove references to compat_freebsd when it is not supported.
 1.50 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.49 19-Feb-2017  rin branches: 1.49.6;
PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.48 13-Dec-2016  christos branches: 1.48.2;
wildcard speaker attachments, now that we can handle many of them.
 1.47 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.46 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.45 26-Nov-2016  christos mention PAX_SEGVGUARD dependency on FILEASSOC
 1.44 26-Sep-2015  maxv branches: 1.44.2;
Remove KMEMSTATS. Normally it's ok now.
 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 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.40 24-Mar-2014  szptvlfn branches: 1.40.2;
fix manual section numbering of sysctl.
thanks wiz@
 1.39 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.38 05-Jun-2013  christos branches: 1.38.2;
remove obsolete networking options
 1.37 27-Apr-2013  christos more bogus number removal
 1.36 27-Apr-2013  christos the bogus number police
 1.35 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.34 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.33 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.32 11-Sep-2012  msaitoh branches: 1.32.2;
Add PUFFS, putter and fss.
 1.31 09-Sep-2012  msaitoh Split DEBUG="-g -Ox" into DEBUG="-g" and COPTS="-Ox".
 1.30 01-Sep-2012  jakllsch 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.29 05-Jun-2012  abs 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.28 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.27 10-Mar-2012  joerg P1003_1B_SEMAPHORE is no longer optional.
 1.26 09-Feb-2012  matt branches: 1.26.2;
Bump SYMTAB_SPACE
 1.25 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.24 22-Nov-2011  tls branches: 1.24.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.23 20-Nov-2011  jakllsch Recent changes to the at91 code enable this kernel config to build after
the hypothetical ds1672rtc(4) is commented out and symtab space is bumped.
Fixes PR#43834.
 1.22 23-Jul-2011  jakllsch branches: 1.22.2;
Enable or note aubtfwl(4) wherever ubt(4) is enabled or noted.
 1.21 26-Apr-2011  joerg Remove PECOFF/Win32 emulation.
 1.20 26-Apr-2011  joerg Remove Darwin, MACH and Mach-O support.
 1.19 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.18 06-Feb-2011  jmcneill - add support for using compressed images as splash images
- retire SPLASHSCREEN_PROGRESS and SPLASHSCREEN_IMAGE options
 1.17 23-Nov-2010  hannken branches: 1.17.2; 1.17.4;
Remove unused count from pseudo-device md.
 1.16 22-May-2010  plunky add btmagic(4) where other Bluetooth drivers are listed
 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 23-Dec-2009  pooka branches: 1.12.2;
unifdef -D UGEN_BULK_RA_WB

Default behaviour unchanged, the feature must still be explicitly
enabled for a ugen fd.
 1.11 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.10 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.9 03-Jan-2009  christos branches: 1.9.2;
remove esl (KIYOHARA Takashi)
 1.8 23-Dec-2008  tsutsui Remove obsolete options SYSTRACE.
 1.7 24-Nov-2008  ad 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 07-Oct-2008  pgoyette branches: 1.5.2; 1.5.4;
Move all platforms to new dbCool driver in preparation for removal of
chip-specific drivers
 1.4 20-Sep-2008  tsutsui Remove obsolete options I2OVERBOSE.
 1.3 31-Jul-2008  simonb branches: 1.3.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.2 03-Jul-2008  matt branches: 1.2.2;
Add AT91 support. (XXX need to finish timecounter support).
 1.1 10-Nov-2007  matt branches: 1.1.2; 1.1.16; 1.1.20; 1.1.22;
file MPCSA_GENERIC was initially added on branch matt-nb4-arm.
 1.1.22.1 03-Jul-2008  simonb Sync with head.
 1.1.20.3 11-Aug-2010  yamt sync with head.
 1.1.20.2 11-Mar-2010  yamt sync with head
 1.1.20.1 04-May-2009  yamt sync with head.
 1.1.16.2 17-Jan-2009  mjf Sync with HEAD.
 1.1.16.1 28-Sep-2008  mjf Sync with HEAD.
 1.1.2.1 10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.2.2.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.2.2.1 19-Oct-2008  haad Sync with HEAD.
 1.3.2.3 10-Oct-2008  skrll Sync with HEAD.
 1.3.2.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.3.2.1 31-Jul-2008  wrstuden file MPCSA_GENERIC was added on branch wrstuden-revivesa on 2008-09-18 04:33:23 +0000
 1.5.4.2 21-Nov-2010  riz 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.5.4.1 27-Dec-2008  snj Pull up following revision(s) (requested by tsutsui in ticket #208):
sys/arch/evbarm/conf/MPCSA_GENERIC: revision 1.8
sys/arch/dreamcast/conf/GENERIC: revision 1.89
Remove obsolete options SYSTRACE.
 1.5.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.5.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.9.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.12.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.12.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.13.2.4 31-May-2011  rmind 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.4.2 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.17.4.1 08-Feb-2011  bouyer Sync with HEAD
 1.17.2.1 06-Jun-2011  jruoho Sync with HEAD.
 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.24.2.3 29-Apr-2012  mrg sync to latest -current.
 1.24.2.2 11-Mar-2012  mrg sync to latest -current
 1.24.2.1 18-Feb-2012  mrg merge to -current.
 1.26.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.32.2.3 03-Dec-2017  jdolecek update from HEAD
 1.32.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.32.2.1 23-Jun-2013  tls resync from head
 1.38.2.2 18-May-2014  rmind sync with head
 1.38.2.1 28-Aug-2013  rmind sync with head
 1.40.2.1 10-Aug-2014  tls Rebase.
 1.43.2.4 28-Aug-2017  skrll Sync with HEAD
 1.43.2.3 05-Feb-2017  skrll Sync with HEAD
 1.43.2.2 05-Dec-2016  skrll Sync with HEAD
 1.43.2.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.44.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.44.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.48.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.49.6.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.55.2.6 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.55.2.5 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.55.2.4 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.55.2.3 28-Jul-2018  pgoyette Sync with HEAD
 1.55.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.55.2.1 21-May-2018  pgoyette Sync with HEAD
 1.59.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.59.2.1 10-Jun-2019  christos Sync with HEAD
 1.67.4.2 29-Feb-2020  ad Sync with head.
 1.67.4.1 25-Jan-2020  ad Sync with head.
 1.74.6.1 01-Aug-2021  thorpej Sync with HEAD.
 1.76.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.1 13-Dec-2017  matt branches: 1.1.2;
file MTKATLAS was initially added on branch matt-nb8-mediatek.
 1.1.2.1 13-Dec-2017  matt Add Mediatek ATLAS configury
 1.1 13-Dec-2017  matt branches: 1.1.2;
file MTKATLAS_INSTALL was initially added on branch matt-nb8-mediatek.
 1.1.2.1 13-Dec-2017  matt Add Mediatek ATLAS configury
 1.47 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.46 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.45 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.44 16-Aug-2020  jdolecek make COMPAT_LINUX option disabled by default

leave the option enabled only in amd64/i386 ALL kernels to make
sure it continues to be compilable also when included in kernel
 1.43 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.42 25-Mar-2020  jdolecek remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.41 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.40 26-Apr-2019  sevan branches: 1.40.4;
Use veriexec.config to reduce duplication
 1.39 06-Feb-2019  rin Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.38 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.37 07-Jun-2018  thorpej branches: 1.37.2;
Revert changes that pinned-down i2c parent specs. The i2c subsystem
has been enhanced to make this unnecessary.
 1.36 15-May-2018  thorpej Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.
 1.35 23-Jan-2018  sevan branches: 1.35.2;
Alternate buffer queue strategies no longer considered experimental, update
or add new description for files missed out in the previous run.
 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 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

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

ok riastradh
 1.32 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.31 19-Feb-2017  rin branches: 1.31.6;
PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.30 13-Dec-2016  christos branches: 1.30.2;
wildcard speaker attachments, now that we can handle many of them.
 1.29 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.28 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.27 26-Nov-2016  christos mention PAX_SEGVGUARD dependency on FILEASSOC
 1.26 12-Aug-2015  maxv branches: 1.26.2;
Remove KMEMSTATS.
 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 18-Aug-2014  christos - Enable Wedge support for MBR/BSDLABEL where it was commented out.
- Add apple partition support where it was missing
- Add comments where missing
 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 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.20 07-May-2014  jakllsch Adjust "options " whitespace to be consistent.
 1.19 19-Dec-2013  joerg branches: 1.19.2;
Make SYMTAB_SPACE a plain number, the expression creates invalid syntax
constructs with Clang.
 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 27-Apr-2013  christos more bogus number removal
 1.15 27-Apr-2013  christos the bogus number police
 1.14 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.13 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.12 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.11 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.10 03-Sep-2012  msaitoh branches: 1.10.2;
Bump SYMTAB_SPACE.
The automatic SYMTAB_SPACE adustment doesn't work with this style of
definition.
 1.9 29-Aug-2012  skrll Typo in comment
 1.8 31-Mar-2012  tsutsui Remove obsolete System V semaphores and share memory limit options
(SEMMNI, SEMMNS, SEMUME and SHMMAXPGS).
 1.7 10-Mar-2012  joerg P1003_1B_SEMAPHORE is no longer optional.
 1.6 15-Feb-2012  jakllsch Add 4KiB more of SYMTAB_SPACE to fix MV2120_INSTALL build.
 1.5 14-Feb-2012  jakllsch Bump MV2120 SYMTAB_SPACE.
Add kernels variants for root on the primary partitions of "Drive 1".
Add MV2120 to evbarm release.
 1.4 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.3 30-Nov-2011  jakllsch branches: 1.3.2;
Trim down MV2120:
- comment pci(4)-related drivers
- comment dmover(4)-related drivers
- optimize for size
- add 5.0 compat
- misc and cosmetics
 1.2 22-Nov-2011  tls 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.1 20-Jul-2011  jakllsch branches: 1.1.2;
Add support for HP Media Vault MV2100/MV5100 series Marvell Orion board.
 1.1.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.1.2.2 30-Oct-2012  yamt sync with head
 1.1.2.1 17-Apr-2012  yamt sync with head
 1.3.2.3 05-Apr-2012  mrg sync to latest -current.
 1.3.2.2 11-Mar-2012  mrg sync to latest -current
 1.3.2.1 18-Feb-2012  mrg merge to -current.
 1.10.2.4 03-Dec-2017  jdolecek update from HEAD
 1.10.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.10.2.2 23-Jun-2013  tls resync from head
 1.10.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.17.2.2 18-May-2014  rmind sync with head
 1.17.2.1 28-Aug-2013  rmind sync with head
 1.19.2.1 10-Aug-2014  tls Rebase.
 1.25.2.4 28-Aug-2017  skrll Sync with HEAD
 1.25.2.3 05-Feb-2017  skrll Sync with HEAD
 1.25.2.2 05-Dec-2016  skrll Sync with HEAD
 1.25.2.1 22-Sep-2015  skrll Sync with HEAD
 1.26.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.26.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.30.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.31.6.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.35.2.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.35.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.35.2.1 21-May-2018  pgoyette Sync with HEAD
 1.37.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.37.2.1 10-Jun-2019  christos Sync with HEAD
 1.40.4.1 25-Jan-2020  ad Sync with head.
 1.3 02-May-2014  dogcow as suggested by gimpy et al, "no config" the netbsd-device kernels.
Reduces `build.sh release` by about a gig.
 1.2 01-May-2014  martin Do not create debug info for *_INSTALL kernels.
 1.1 14-Feb-2012  jakllsch branches: 1.1.4; 1.1.6; 1.1.10; 1.1.14; 1.1.24;
Bump MV2120 SYMTAB_SPACE.
Add kernels variants for root on the primary partitions of "Drive 1".
Add MV2120 to evbarm release.
 1.1.24.1 10-Aug-2014  tls Rebase.
 1.1.14.1 18-May-2014  rmind sync with head
 1.1.10.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.3 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.2 17-Apr-2012  yamt sync with head
 1.1.6.1 14-Feb-2012  yamt file MV2120_INSTALL was added on branch yamt-pagecache on 2012-04-17 00:06:13 +0000
 1.1.4.2 18-Feb-2012  mrg merge to -current.
 1.1.4.1 14-Feb-2012  mrg file MV2120_INSTALL was added on branch jmcneill-usbmp on 2012-02-18 07:31:49 +0000
 1.35 21-Mar-2021  skrll -DKERNEL_BASE_VOFFSET= has annoyed me for the last time...

Introduce KERNEL_VOFFSET_RUNTIME which prevents the addition of
-DKERNEL_BASE_VOFFSET= to the command line and use it on the
__HAVE_GENERIC_START kernels which do runtime calculation of the
offset.
 1.34 25-Aug-2015  uebayasi branches: 1.34.30; 1.34.32;
Print a message when creating a temporary ldscript.
 1.33 24-Aug-2015  uebayasi Define ${LINKSCRIPT} in one place.
 1.32 20-Aug-2015  uebayasi Clean up ${LINKSCRIPT} and ${KERNLDSCRIPT}.
 1.31 15-Nov-2014  uebayasi branches: 1.31.2;
Use LINKSCRIPT.
 1.30 11-Apr-2014  matt Supply CPP define KERNEL_BASE_VOFFSET which is the physical to virtual
offset of the kernel.
 1.29 29-Mar-2014  matt branches: 1.29.2;
Define KERNEL_BASES_EQUAL is KERNEL_BASE_VIRT == KERNEL_BASE_PHYS
 1.28 21-Feb-2014  matt Match *INSTALL* (so we can match *INSTALL.MP)
 1.27 09-Aug-2013  matt ldscript doesn't need -Ttext
 1.26 04-Aug-2013  matt use the proper make symbols for adding an ldscript
 1.25 10-Jul-2013  matt If using mdsetimage to install a ramdisk install, add the ramdisk to SYSTEM_DEP
so the kernel will be relinked and the new ramdisk installed.
 1.24 28-Jun-2013  matt branches: 1.24.2;
Add RAMDISKNAME to allow a config to override the default name (ramdisk).
 1.23 19-Mar-2013  garbled Add a new installer image for Raspberry PI to evbarm

Includes the following major changes:

1) Add new configmenu item to sysinst to allow creation of users at
post-install time.
2) Add an sshramdisk type to evbarm, which is a ramdisk with sshd
enabled, allowing users to install on a headless PI by sshing to the
device with the account "sysinst" password "netbsd" to begin the
installation. (Note, neither the account, nor the ssh setup are copied to
the finalized installation image)
3) Change mkimage to build a boot-only image, without the root filesystems.

Much of the sshramdisk code could be reused on other ports easily.
 1.22 16-Feb-2012  matt branches: 1.22.2;
If we are building an INSTALL kernel and the ramdisk.fs exists in the object
tree, insert it into the kernel. This needs to be done before the board
frag so it written into the kernel before the uboot images are created.
 1.21 06-Mar-2011  jakllsch branches: 1.21.4; 1.21.8; 1.21.12;
Remove trailing spaces.
 1.20 31-Jan-2011  matt Change to use TOOL_MKUBOOTIMAGE
Make sure we cleanup everything.
gemini now has its own genassym.cf
 1.19 25-Oct-2008  apb branches: 1.19.12; 1.19.16; 1.19.22; 1.19.24;
Use ${TOOL_SED} instead if plain sed in Makefiles.
 1.18 27-Apr-2008  matt branches: 1.18.6;
Merge kernel changes in matt-armv6 to HEAD.
 1.17 24-Nov-2005  dbj branches: 1.17.50; 1.17.74; 1.17.76; 1.17.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.16 03-Jan-2003  thorpej branches: 1.16.2; 1.16.8; 1.16.18; 1.16.24;
Split board-specific Makefile fragments into their own files.
 1.15 03-Jan-2003  thorpej Use the common linker script for all evbarm platforms.
 1.14 20-Nov-2002  bsh add three boards.

lubbock (PXA250, Xscale)
g4250ebx (PXA250, Xscale)
SMDK2800 (S3C2800, ARM920T)
 1.13 15-Jul-2002  ichiro add support ixp12x0 eva-board "IXM1200"
 1.12 08-Jul-2002  rearnsha Use the Integrator ldscript and build .bin and .srec versions of the
kernel.
 1.11 27-Mar-2002  thorpej branches: 1.11.2;
Support for the Intel IQ80321 eval board for the i80321 I/O Processor.
 1.10 03-Mar-2002  thorpej * Add support for running the IQ80310 kernel where KERNEL_BASE !=
physical memory start. Garbage-collect some cruft while here.
* Move the kernel up to 0xc0000000, giving a 1G/3G kernel/user split.
* Adjust the Integrator startup code accordingly.
 1.9 02-Mar-2002  thorpej Move the DBSYM bits up in the file.
 1.8 22-Feb-2002  thorpej Also generate flat binary kernels for the IQ80310.
 1.7 30-Jan-2002  thorpej New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.6 09-Dec-2001  atatat branches: 1.6.2;
Roll the rest of the ports over to the new MI kernel build machinery.
Any problems reported by testers have been fixed, and massive
cross-compiling of kernels has shown that any problems that remain
with actually building kernels are not related to this.
 1.5 27-Nov-2001  thorpej Move interrupt-related stuff out of the generic 32-bit ARM genassym.cf
and into platform-specific genassym.cf files.
 1.4 20-Nov-2001  lukem cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""
 1.3 09-Nov-2001  thorpej branches: 1.3.2; 1.3.4;
Eval boards usually don't have boot loaders. If we're lucky, we
have firmware that understands ELF. We're usually stuck with S-Records.
To make life easier, attempt to stuff kernel symbols into the image
with dbsym(8).

If the kernel doesn't have SYMTAB_SPACE, or if the SYMTAB_SPACE is too
small, the kernel build continues as normal; this is just a convenience
measure.
 1.2 06-Nov-2001  thorpej If BOARDTYPE == iq80310, make an S-records version of the kernel
as well.
 1.1 27-Oct-2001  rearnsha Integrator boards need a special start-up file to reposition the
kernel image.
 1.3.4.7 03-Jan-2003  thorpej Sync with HEAD.
 1.3.4.6 11-Dec-2002  thorpej Sync with HEAD.
 1.3.4.5 01-Aug-2002  nathanw Catch up to -current.
 1.3.4.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.3.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.3.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.3.4.1 09-Nov-2001  nathanw file Makefile.evbarm.inc was added on branch nathanw_sa on 2002-01-08 00:24:11 +0000
 1.3.2.2 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.3.2.1 09-Nov-2001  thorpej file Makefile.evbarm.inc was added on branch thorpej-mips-cache on 2001-11-12 21:16:49 +0000
 1.6.2.6 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.6.2.5 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.2.4 16-Mar-2002  jdolecek Catch up with -current.
 1.6.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.6.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.6.2.1 09-Dec-2001  thorpej file Makefile.evbarm.inc was added on branch kqueue on 2002-01-10 19:42:00 +0000
 1.11.2.2 21-Jul-2002  gehenna catch up with -current.
 1.11.2.1 16-Jul-2002  gehenna catch up with -current.
 1.16.24.1 29-Nov-2005  yamt sync with head.
 1.16.18.1 21-Jun-2006  yamt sync with head.
 1.16.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.16.2.1 11-Dec-2005  christos Sync with head.
 1.17.78.2 04-May-2009  yamt sync with head.
 1.17.78.1 16-May-2008  yamt sync with head.
 1.17.76.1 18-May-2008  yamt sync with head.
 1.17.74.2 17-Jan-2009  mjf Sync with HEAD.
 1.17.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.17.50.1 11-Sep-2007  matt More support for Freescale i.MX31 DEV LITE KIT
 1.18.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.19.24.1 08-Feb-2011  bouyer Sync with HEAD
 1.19.22.1 06-Jun-2011  jruoho Sync with HEAD.
 1.19.16.2 21-Apr-2011  rmind sync with head
 1.19.16.1 05-Mar-2011  rmind sync with head
 1.19.12.2 24-Mar-2014  matt Add cubie from HEAD
 1.19.12.1 15-Feb-2014  matt Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.
 1.21.12.1 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.21.8.1 18-Feb-2012  mrg merge to -current.
 1.21.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.21.4.1 17-Apr-2012  yamt sync with head
 1.22.2.3 03-Dec-2017  jdolecek update from HEAD
 1.22.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.22.2.1 23-Jun-2013  tls resync from head
 1.24.2.2 18-May-2014  rmind sync with head
 1.24.2.1 28-Aug-2013  rmind sync with head
 1.29.2.1 10-Aug-2014  tls Rebase.
 1.31.2.1 22-Sep-2015  skrll Sync with HEAD
 1.34.32.1 03-Apr-2021  thorpej Sync with HEAD.
 1.34.30.1 03-Apr-2021  thorpej Sync with HEAD.
 1.38 29-Oct-2022  jmcneill Retire arch/evbarm/beagle.

A few more kernel configs go away:

- OMAP5EVM and PANDABOARD likely never worked to begin with.
- N900 and VTC100 are TI AM335x based, which is supported by GENERIC.
 1.37 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.36 29-Sep-2020  jmcneill Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime
detection instead of ifdefs where required.
 1.35 13-Jun-2020  ad Comment out "options PMAPCOUNTERS". It adds much overhead and is mostly of
interest to people hacking on the VM system or pmap. Proposed on port-arm@.
 1.34 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.33 03-Nov-2019  jmcneill branches: 1.33.6;
Only one instance of twl(4) is needed
 1.32 02-Nov-2019  martin Replace tps65950pm with twl (the former has been removed)
 1.31 18-May-2019  skrll branches: 1.31.2;
Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.30 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.29 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.28 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.27 13-Mar-2018  ryo branches: 1.27.2;
fix build error. if no usb, don't define USB_DEBUG
 1.26 14-Sep-2017  mrg branches: 1.26.2;
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.25 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.24 26-Jun-2017  sevan Add a heading to describe the class of device axe(4) is.
 1.23 19-Feb-2017  rin branches: 1.23.6;
PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.22 12-Aug-2015  maxv branches: 1.22.2; 1.22.4;
Remove KMEMSTATS.
 1.21 30-Aug-2014  kiyohara branches: 1.21.2;
Pad L4 WAKEUP to 1M, like omap2_reg.h.
 1.20 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.19 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.18 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.17 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.16 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.15 30-Jun-2013  rmind branches: 1.15.4;
G/C PFIL_HOOKS from the kernel configs.
 1.14 05-Jun-2013  christos branches: 1.14.2;
remove obsolete networking options
 1.13 06-May-2013  khorben branches: 1.13.2;
Added two drivers for the Nokia N900 smartphone, n900_audjck(4) and
n900_prxmty(4), to detect the insertion of audio jacks and obstruction of
the front light sensor, respectively.

Tested on my own device.
 1.12 06-May-2013  khorben Boot on the MicroSD card slot by default.

Tested on my Nokia N900 smartphone. This is the only way currently
supported on this device at the moment anyway (that I know of).
 1.11 20-Apr-2013  khorben Imported the n900cambtn(4), n900camcvr(4) and n900kbdsld(4) drivers for the
Nokia N900, all attaching to the GPIO bus, respectively handling:
- the camera button (focus and capture)
- the camera cover slide;
- the keypad slide.
 1.10 17-Apr-2013  khorben Imported n900lckbtn(4), a driver for the lock button on the Nokia N900
smartphone. Currently reporting events via a hotkey, named after the driver
instance.

Tasted and approved.
 1.9 17-Apr-2013  khorben Disable com0 for the time being, so that the console defaults to the framebuffer.
 1.8 14-Apr-2013  khorben Imported n900acad(4), a driver for the Nokia N900 reporting the charging
status through sysmon_envsys(9).

XXX need a better way to locate the interrupt (documented)
 1.7 13-Mar-2013  khorben Set the N900 kernel on par with the latest improvements related to the
BEAGLEBOARD. Tested on a Nokia N900; BEAGLEBOARD still builds.
 1.6 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.5 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.4 20-Dec-2012  khorben branches: 1.4.2; 1.4.6;
MEMSIZE is now optional on N900 as well.
 1.3 20-Dec-2012  khorben Added the lockstat pseudo-device
 1.2 11-Dec-2012  khorben Added kernel option OMAP_3430 to allow easy differentiation between the
BEAGLEBOARD and N900 kernels; otherwise no real change.

Resulting N900 kernel tested with no visible regression.

<gimpy> go for it
 1.1 07-Dec-2012  khorben This adds a kernel configuration file for the Nokia N900 smartphone. It
is heavily based on the one for the Beagleboard (as documented first by
rhaamo).

The kernel boots properly and then asks for the root device. The
default partitions for flash memory are based on what's expected on a
stock N900 device.

ok mrg@, after initial review on port-arm@ a few weeks ago.
 1.4.6.5 03-Dec-2017  jdolecek update from HEAD
 1.4.6.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.3 23-Jun-2013  tls resync from head
 1.4.6.2 25-Feb-2013  tls resync with head
 1.4.6.1 20-Dec-2012  tls file N900 was added on branch tls-maxphys on 2013-02-25 00:28:34 +0000
 1.4.2.4 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.3 23-Jan-2013  yamt sync with head
 1.4.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.4.2.1 20-Dec-2012  yamt file N900 was added on branch yamt-pagecache on 2013-01-16 05:32:52 +0000
 1.13.2.6 16-May-2013  khorben Attaching the lp5523led(4) LED driver to the I2C bus.

Tested on my Nokia N900 smartphone.
 1.13.2.5 12-May-2013  khorben Added keyboard support for the TPS65950 companion chip.

Tested on the Nokia N900 (multi-user)
 1.13.2.4 12-May-2013  khorben Added GPIO support to the TPS65950 companion chip. I haven't been able to
test it properly thus far unfortunately.

XXX Implement level-triggered interrupts.
 1.13.2.3 11-May-2013  khorben Beginning to handle interrupts from the TPS65950 companion chip.
 1.13.2.2 11-May-2013  khorben Let the device drivers on the GPIO bus use the interrupt locator.
 1.13.2.1 11-May-2013  khorben Enable support for the SPI bus
 1.14.2.1 28-Aug-2013  rmind sync with head
 1.15.4.1 10-Aug-2014  tls Rebase.
 1.21.2.2 28-Aug-2017  skrll Sync with HEAD
 1.21.2.1 22-Sep-2015  skrll Sync with HEAD
 1.22.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.22.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.23.6.1 01-Jul-2017  snj Pull up following revision(s) (requested by sevan in ticket #72):
sys/arch/evbarm/conf/GEMINI_SLAVE: revision 1.35
sys/arch/evbarm/conf/N900: revision 1.24
sys/arch/evbarm/conf/GOLDENGATE: revision 1.14
sys/arch/evbarm/conf/GEMINI_MASTER: revision 1.34
sys/arch/evbarm/conf/BEAGLEBONE: revision 1.43
sys/arch/evbarm/conf/BCM56340: revision 1.12
sys/arch/evbarm/conf/GEMINI: revision 1.34
sys/arch/evbarm/conf/BEAGLEBOARDXM: revision 1.24
sys/arch/evbarm/conf/BCM5301X: revision 1.27
sys/arch/evbarm/conf/PANDABOARD: revision 1.22
Add a heading to describe the class of device axe(4) is.
 1.26.2.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.26.2.2 28-Jul-2018  pgoyette Sync with HEAD
 1.26.2.1 15-Mar-2018  pgoyette Synch with HEAD
 1.27.2.3 21-Apr-2020  martin Sync with HEAD
 1.27.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.27.2.1 10-Jun-2019  christos Sync with HEAD
 1.31.2.2 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.31.2.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.33.6.1 20-Apr-2020  bouyer Sync with HEAD
 1.5 22-Nov-2018  aymeric Switch the DE0 Nano SoC to the GENERIC kernel.
 1.4 02-Nov-2018  aymeric Make early console work.
 1.3 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.2 14-Oct-2018  aymeric Attach dwcwdt
 1.1 19-Sep-2018  aymeric branches: 1.1.2;
Add support for the DE0 NanoSoC board.

It's Cyclone V based and thus includes a dual-core Cortex A9 @925MHz.
Most standard peripherals are supported (USB, SDCard, Ethernet) and
no unusual peripheral is supported yet (FPGA, GPIO, ...)
 1.1.2.4 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.2.3 20-Oct-2018  pgoyette Sync with head
 1.1.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.2.1 19-Sep-2018  pgoyette file NANOSOC was added on branch pgoyette-compat on 2018-09-30 01:45:40 +0000
 1.62 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.61 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.60 14-Sep-2017  mrg branches: 1.60.4; 1.60.14;
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.59 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 2.
 1.58 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.57 07-Aug-2015  maxv branches: 1.57.2; 1.57.4;
Remove the KMEMSTATS option. It no longer exists.
 1.56 23-Aug-2014  dholland branches: 1.56.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.55 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.54 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.53 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.52 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.51 30-Jun-2013  rmind branches: 1.51.4;
G/C PFIL_HOOKS from the kernel configs.
 1.50 05-Jun-2013  christos branches: 1.50.2;
remove obsolete networking options
 1.49 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.48 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.47 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.46 11-Sep-2012  msaitoh branches: 1.46.2;
Add PUFFS, putter and fss.
 1.45 01-Sep-2012  matt Bump up SYMTAB_SPACE
 1.44 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.43 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.42 22-Nov-2011  tls branches: 1.42.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.41 30-Jun-2011  wiz branches: 1.41.2;
dependant -> dependent
 1.40 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.39 06-Mar-2011  jakllsch Bump SYMTAB_SPACE for the many other evbarm kernels that also need it increased.
 1.38 06-Mar-2011  jakllsch Remove trailing spaces.
 1.37 16-Dec-2010  uebayasi branches: 1.37.2; 1.37.4;
Bump SYMTAB_SPACE.
 1.36 23-Nov-2010  hannken Remove unused count from pseudo-device md.
 1.35 05-Dec-2009  pooka branches: 1.35.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.34 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.33 14-Apr-2009  marty Increase SYMTABLE_SIZE so it'll compile again.
 1.32 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.31 24-Nov-2008  ad branches: 1.31.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.29 31-Jul-2008  simonb branches: 1.29.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.28 30-May-2008  tsutsui branches: 1.28.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.27 19-Jan-2008  chris branches: 1.27.6; 1.27.8; 1.27.10; 1.27.12;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.26 08-Jan-2008  matt More kernels SYMTAB_SPACE increased.
 1.25 26-Aug-2006  christos branches: 1.25.28; 1.25.32; 1.25.38; 1.25.46;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.24 05-Feb-2006  cube branches: 1.24.2;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.23 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.22 07-Dec-2005  tsutsui branches: 1.22.2; 1.22.4; 1.22.6;
Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.21 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.20 19-Aug-2005  christos 64 bit inode changes.
 1.19 31-Jul-2005  yamt revert "defflag VMSWAP" changes for now.
there seems to be far more people who don't want to edit
their kernel config files than i thought.
 1.18 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.17 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.16 25-Feb-2005  simonb branches: 1.16.2; 1.16.4;
Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.15 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.14 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.13 10-Nov-2004  christos branches: 1.13.4; 1.13.6;
Add COMPAT_BSDPTY to the rest of the config files.
 1.12 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.11 07-Aug-2004  rearnsha Set CPUFLAGS not COPTS
 1.10 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.9 13-Feb-2004  wiz branches: 1.9.2;
Uppercase CPU, plural is CPUs.
 1.8 13-Sep-2003  chris Add COMPAT_16 to most arm based kernels. Mainly in preperation for doing
SA_SIGINFO work.
 1.7 06-Sep-2003  rearnsha Default all builds to not have debug information. Significantly
reduces disk space needed for a make release, especially if using
dwarf2 debug.
 1.6 23-May-2003  thorpej branches: 1.6.2;
Add ksyms.
 1.5 22-Feb-2003  igy correct physical/virtual address handling

- to identify device instance, using hardware address.
- when console accesses device, using statically mapped address.
- when tty accesses device, using handler given by bus_space_map().
 1.4 08-Dec-2002  ichiro delete unneed pmap for LED and Clock
 1.3 02-Dec-2002  ichiro add NAPPI_MD config file
 1.2 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.1 15-Jul-2002  ichiro branches: 1.1.2; 1.1.4; 1.1.6;
add configuration file
Netwise APlication Platform Board
 1.1.6.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.6.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.6.1 15-Jul-2002  jdolecek file NAPPI was added on branch kqueue on 2002-09-06 08:33:58 +0000
 1.1.4.4 11-Dec-2002  thorpej Sync with HEAD.
 1.1.4.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.4.2 01-Aug-2002  nathanw Catch up to -current.
 1.1.4.1 15-Jul-2002  nathanw file NAPPI was added on branch nathanw_sa on 2002-08-01 02:41:31 +0000
 1.1.2.2 21-Jul-2002  gehenna catch up with -current.
 1.1.2.1 15-Jul-2002  gehenna file NAPPI was added on branch gehenna-devsw on 2002-07-21 13:00:34 +0000
 1.6.2.9 11-Dec-2005  christos Sync with head.
 1.6.2.8 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.6.2.7 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.6.2.6 15-Feb-2005  skrll Sync with HEAD.
 1.6.2.5 14-Nov-2004  skrll Sync with HEAD.
 1.6.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.6.2.2 12-Aug-2004  skrll Sync with HEAD.
 1.6.2.1 03-Aug-2004  skrll Sync with HEAD
 1.9.2.1 15-Jul-2004  he Pull up revision 1.10 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.13.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.13.6.1 12-Feb-2005  yamt sync with head.
 1.13.4.1 29-Apr-2005  kent sync with -current
 1.16.4.3 21-Jan-2008  yamt sync with head
 1.16.4.2 30-Dec-2006  yamt sync with head.
 1.16.4.1 21-Jun-2006  yamt sync with head.
 1.16.2.1 18-Jul-2005  riz Pull up revision 1.17 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.22.6.1 22-Apr-2006  simonb Sync with head.
 1.22.4.1 09-Sep-2006  rpaulo sync with head
 1.22.2.1 18-Feb-2006  yamt sync with head.
 1.24.2.1 03-Sep-2006  yamt sync with head.
 1.25.46.2 20-Jan-2008  bouyer Sync with HEAD
 1.25.46.1 08-Jan-2008  bouyer Sync with HEAD
 1.25.38.1 18-Feb-2008  mjf Sync with HEAD.
 1.25.32.2 23-Mar-2008  matt sync with HEAD
 1.25.32.1 09-Jan-2008  matt sync with HEAD
 1.25.28.1 28-Feb-2008  rjs Sync with HEAD.
 1.27.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.27.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.27.10.2 11-Mar-2010  yamt sync with head
 1.27.10.1 04-May-2009  yamt sync with head.
 1.27.8.1 04-Jun-2008  yamt sync with head
 1.27.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.27.6.2 28-Sep-2008  mjf Sync with HEAD.
 1.27.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.28.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.28.4.1 19-Oct-2008  haad Sync with HEAD.
 1.29.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.29.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.31.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.35.4.2 21-Apr-2011  rmind sync with head
 1.35.4.1 05-Mar-2011  rmind sync with head
 1.37.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.37.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.41.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.41.2.2 30-Oct-2012  yamt sync with head
 1.41.2.1 17-Apr-2012  yamt sync with head
 1.42.2.2 29-Apr-2012  mrg sync to latest -current.
 1.42.2.1 18-Feb-2012  mrg merge to -current.
 1.46.2.4 03-Dec-2017  jdolecek update from HEAD
 1.46.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.46.2.2 23-Jun-2013  tls resync from head
 1.46.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.50.2.1 28-Aug-2013  rmind sync with head
 1.51.4.1 10-Aug-2014  tls Rebase.
 1.56.2.2 28-Aug-2017  skrll Sync with HEAD
 1.56.2.1 22-Sep-2015  skrll Sync with HEAD
 1.57.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.57.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.60.14.1 20-Apr-2020  bouyer Sync with HEAD
 1.60.4.1 21-Apr-2020  martin Sync with HEAD
 1.4 19-May-2020  rin Fix outdated or misleading comments for MEMORY_DISK_ROOT_SIZE.
No functional changes.
 1.3 23-Nov-2010  hannken Remove unused count from pseudo-device md.
 1.2 06-Feb-2009  jym branches: 1.2.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.1 02-Dec-2002  ichiro branches: 1.1.2; 1.1.114; 1.1.122;
add NAPPI_MD config file
 1.1.122.1 03-Mar-2009  skrll Sync with HEAD.
 1.1.114.1 04-May-2009  yamt sync with head.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 02-Dec-2002  thorpej file NAPPI_MD was added on branch nathanw_sa on 2002-12-11 05:58:30 +0000
 1.2.6.1 05-Mar-2011  rmind sync with head
 1.44 09-Oct-2025  skrll Add the beginnings of a GENERIC_V5 kernel that targets armv5 boards and
uses FDT.

In this first iteration some support is added for OLinuXino boards.

Thanks to Yuri Honegger for doing the vast majority of the work.
 1.43 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.42 30-Dec-2022  andvar s/Cotroller/Controller/
 1.41 29-Sep-2020  jmcneill Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime
detection instead of ifdefs where required.
 1.40 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.39 25-Jul-2019  skrll branches: 1.39.8;
Partially undo previous so NETWALKER_INSTALL compiles
 1.38 24-Jul-2019  hkenken Modified i.MX GPIO control module and PCIe module.

+ Add imxpcie.c
imx PCIe common driver
 1.37 06-Feb-2019  rin Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.36 07-Aug-2017  hkenken branches: 1.36.4;
Add support Microchip SST25VF016B.
- Fixed imxspi send and receive bugs.
 1.35 21-Dec-2015  hkenken Rewritten to take advantage of genfb(4).
 1.34 01-May-2015  hkenken remove DIAGNOSTIC
 1.33 10-Apr-2015  hkenken include "GENERIC.common"
 1.32 11-Oct-2014  uebayasi branches: 1.32.2;
Device midi attachment where the evil usbdevices.config is included.
 1.31 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.30 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.29 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.28 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.27 06-May-2014  hkenken Add support for LCD Backlight control on NetWalker.
+ use imxpwm driver (PWM control driver for i.MX)
 1.26 06-May-2014  hkenken Imported pwrbtn and lidsw drivers for NetWalker. Those attached to GPIO bus.
+ power button
+ lid close switch
 1.25 29-Mar-2014  hkenken branches: 1.25.2;
Add optical joystick support for NetWalker.
+ OJ6SH-T25 (Sharp "Optical TOUCH CRUISER" sensor)
+ 2 Mouse buttons (GPIO)
 1.24 24-Mar-2014  szptvlfn fix manual section numbering of sysctl.
thanks wiz@
 1.23 07-Mar-2014  hkenken modified NetWalker kernel config
* add ARM_HAS_VBAR, FPU_VFP etc.
 1.22 23-Jan-2014  hkenken use ukbd_cnattach()
 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 11-Sep-2012  msaitoh branches: 1.16.2;
Add PUFFS, putter and fss.
 1.15 09-Sep-2012  msaitoh Split DEBUG="-g -Ox" into DEBUG="-g" and COPTS="-Ox".
 1.14 23-Aug-2012  kiyohara Remove obsolated file-system PORTAL.
 1.13 05-Jun-2012  abs 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.12 19-Apr-2012  bsh support SD/MMC on Netwalker.
 1.11 17-Apr-2012  bsh Support i.MX51's LCD framebuffer on Netwalker.
from Kenichi Hashimoto.
 1.10 17-Apr-2012  bsh driver for i.MX51 Clock Controller Module.
from Kenichi Hashimoto.

Currently used only to get peripheral clock frequencies.
 1.9 17-Apr-2012  bsh fix comment
 1.8 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 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 30-Nov-2010  bsh branches: 1.3.2; 1.3.4; 1.3.6;
Support USB on NetWalker.
 1.2 23-Nov-2010  hannken Remove unused count from pseudo-device md.
 1.1 13-Nov-2010  bsh branches: 1.1.2;
Sharp NetWalker PC-Z1 support by SHIMIZU Ryo, Hashimoto Kenichi, and me.
http://www.sharp.co.jp/netwalker/
 1.1.2.2 15-Nov-2010  uebayasi Sync with HEAD.
 1.1.2.1 13-Nov-2010  uebayasi file NETWALKER was added on branch uebayasi-xip on 2010-11-15 14:38:23 +0000
 1.3.6.3 21-Apr-2011  rmind sync with head
 1.3.6.2 05-Mar-2011  rmind sync with head
 1.3.6.1 30-Nov-2010  rmind file NETWALKER was added on branch rmind-uvmplock on 2011-03-05 20:50:03 +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.4 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.3 30-Oct-2012  yamt sync with head
 1.5.2.2 23-May-2012  yamt sync with head.
 1.5.2.1 17-Apr-2012  yamt sync with head
 1.6.2.2 29-Apr-2012  mrg sync to latest -current.
 1.6.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.2 18-May-2014  rmind sync with head
 1.20.2.1 28-Aug-2013  rmind sync with head
 1.25.2.1 10-Aug-2014  tls Rebase.
 1.32.2.3 28-Aug-2017  skrll Sync with HEAD
 1.32.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.32.2.1 06-Jun-2015  skrll Sync with HEAD
 1.36.4.3 21-Apr-2020  martin Sync with HEAD
 1.36.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.36.4.1 10-Jun-2019  christos Sync with HEAD
 1.39.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.4 23-May-2020  jmcneill GC unused INSTALL kernel configs.
 1.3 02-May-2014  dogcow branches: 1.3.2; 1.3.4; 1.3.8;
as suggested by gimpy et al, "no config" the netbsd-device kernels.
Reduces `build.sh release` by about a gig.
 1.2 01-May-2014  martin Do not create debug info for *_INSTALL kernels.
 1.1 08-Mar-2014  hkenken branches: 1.1.2;
add NETWALKER_INSTALL
 1.1.2.1 10-Aug-2014  tls Rebase.
 1.3.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.8.1 02-May-2014  tls file NETWALKER_INSTALL was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.3.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.3.4.1 02-May-2014  yamt file NETWALKER_INSTALL was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.3.2.2 18-May-2014  rmind sync with head
 1.3.2.1 02-May-2014  rmind file NETWALKER_INSTALL was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.3 15-Apr-2012  bsh fix comment.
remove trailing whitespace.
 1.2 23-Nov-2010  hannken branches: 1.2.6; 1.2.10; 1.2.14;
Remove unused count from pseudo-device md.
 1.1 13-Nov-2010  bsh branches: 1.1.2;
Sharp NetWalker PC-Z1 support by SHIMIZU Ryo, Hashimoto Kenichi, and me.
http://www.sharp.co.jp/netwalker/
 1.1.2.2 15-Nov-2010  uebayasi Sync with HEAD.
 1.1.2.1 13-Nov-2010  uebayasi file NETWALKER_MD was added on branch uebayasi-xip on 2010-11-15 14:38:23 +0000
 1.2.14.1 29-Apr-2012  mrg sync to latest -current.
 1.2.10.1 17-Apr-2012  yamt sync with head
 1.2.6.2 05-Mar-2011  rmind sync with head
 1.2.6.1 23-Nov-2010  rmind file NETWALKER_MD was added on branch rmind-uvmplock on 2011-03-05 20:50:03 +0000
 1.25 23-May-2020  skrll imx6 kernels are part of GENERIC now
 1.24 11-Aug-2019  skrll Update for recent a9wdt changes
 1.23 24-Jul-2019  hkenken branches: 1.23.2;
Modified i.MX GPIO control module and PCIe module.

+ Add imxpcie.c
imx PCIe common driver
 1.22 26-Apr-2019  sevan Use veriexec.config to reduce duplication
 1.21 19-Dec-2018  skrll Remove CONS_OVERRIDE - it's an i386 option
 1.20 25-Aug-2018  maxv Retire NDIS. It appears that it has never worked, after 13 years it was
still marked as "experimental", and nowadays it may be one more obstacle
to MPification of the network stack.

Discussed on tech-net@.
 1.19 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.18 21-Jul-2018  maya Remove comment mentioning an i386 problem from non-x86 kernel configs.
(they all say BROKEN in the next comment too)
 1.17 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.16 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.15 05-Jun-2018  hkenken branches: 1.15.2;
Rename ARM A9 Global Timer driver name to support fdt.

- Rename a9tmr to arma9tmr.
- Add a9tmr_fdt.c based gtmr_fdt.c.
 1.14 09-Nov-2017  hkenken branches: 1.14.2; 1.14.4;
- Add imxusbphy driver for i.MX6.
- Clean up CCM (Clock driver).
Add imx6_ccm_analog_read/write() functions.
 1.13 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.12 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

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

ok riastradh
 1.11 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.10 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.9 26-Nov-2016  christos branches: 1.9.2;
mention PAX_SEGVGUARD dependency on FILEASSOC
 1.8 07-Aug-2016  christos rename ifmpls to mpls, so we don't have if_ifmpls...
 1.7 31-Dec-2015  ryo branches: 1.7.2;
add support iMX6 uSDHC
- some UHS-I/SDR104 card are not stable
- eMMC doesn't work yet
 1.6 12-Aug-2015  maxv Remove KMEMSTATS.
 1.5 30-Jul-2015  ryo - setup iomux before attach console
- define EVBARM_BOARDTYPE in each config file
- add iomux settings for UART1
- add some iomux definitions
 1.4 11-Oct-2014  uebayasi branches: 1.4.2;
Device midi attachment where the evil usbdevices.config is included.
 1.3 06-Oct-2014  ryo * add imxsnvs (rtc)
* add CUBOX-I config
 1.2 27-Sep-2014  matt Add INSTALL kernel. Fix .ub generation.
 1.1 25-Sep-2014  ryo add support i.MX6 and NITROGEN6X evaluation board
 1.4.2.5 28-Aug-2017  skrll Sync with HEAD
 1.4.2.4 05-Dec-2016  skrll Sync with HEAD
 1.4.2.3 05-Oct-2016  skrll Sync with HEAD
 1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.4.2.1 22-Sep-2015  skrll Sync with HEAD
 1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.14.4.4 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.14.4.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.14.4.2 28-Jul-2018  pgoyette Sync with HEAD
 1.14.4.1 25-Jun-2018  pgoyette Sync with HEAD
 1.14.2.2 03-Dec-2017  jdolecek update from HEAD
 1.14.2.1 09-Nov-2017  jdolecek file NITROGEN6X was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.15.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.15.2.1 10-Jun-2019  christos Sync with HEAD
 1.23.2.1 15-Aug-2019  martin Pull up following revision(s) (requested by skrll in ticket #55):

sys/arch/arm/cortex/a9wdt.c: revision 1.10
sys/arch/evbarm/conf/HUMMINGBOARD: revision 1.9
sys/arch/evbarm/conf/GENERIC: revision 1.50
sys/arch/evbarm/conf/NITROGEN6X: revision 1.24
sys/arch/arm/cortex/a9tmr_var.h: revision 1.7
sys/arch/arm/fdt/files.fdt: revision 1.29
sys/arch/arm/amlogic/meson_platform.c: revision 1.12
sys/arch/arm/amlogic/meson8b_pinctrl.c: revision 1.2
sys/arch/arm/amlogic/meson_platform.c: revision 1.13
sys/arch/evbarm/conf/BCM5301X: revision 1.34
sys/arch/arm/dts/meson8b.dtsi: revision 1.6
sys/arch/arm/fdt/a9ptmr_fdt.c: revision 1.1
sys/arch/arm/dts/meson8b.dtsi: revision 1.7
sys/arch/arm/cortex/a9ptmr_var.h: revision 1.1
sys/arch/evbarm/conf/PANDABOARD: revision 1.30
sys/arch/evbarm/conf/DUOVERO: revision 1.14
sys/arch/arm/cortex/a9ptmr.c: revision 1.1
sys/arch/arm/cortex/a9ptmr.c: revision 1.2
sys/arch/arm/fdt/a9wdt_fdt.c: revision 1.1
sys/arch/evbarm/conf/BCM56340: revision 1.19
sys/arch/evbarm/conf/CUBOX-I: revision 1.23
sys/arch/arm/amlogic/meson8b_clkc.c: revision 1.4
sys/arch/evbarm/conf/PARALLELLA: revision 1.7
sys/arch/arm/cortex/files.cortex: revision 1.12
sys/arch/arm/dts/meson8b-odroidc1.dts: revision 1.4
sys/arch/arm/cortex/a9wdt.c: revision 1.9
sys/arch/evbarm/conf/ZEDBOARD: revision 1.6

spaces to tab

-

Add a driver for the A5/A9 Private timer.
While here FDTise the Watchdog driver.

-

Update for recent a9wdt changes
-

Trailing whitespace

-
Updates to get Odroid-C1 in better shape since the last DTS import

-

Various fixes / changes
- don't use prescaler
- improve AB_DEBUG output
- fix a9ptmr_delay to work with a decrementing counter!
Thanks to jmcneill@ for proving I'm an idiot

-

Add eth_rxd3 and eth_rxd2 pinctrl groups

-

Catch up to recent mainline dts changes
 1.2 23-May-2020  jmcneill GC unused INSTALL kernel configs.
 1.1 27-Sep-2014  matt branches: 1.1.18;
Add INSTALL kernel. Fix .ub generation.
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 27-Sep-2014  jdolecek file NITROGEN6X_INSTALL was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.54 01-Aug-2023  rin NSLU2: Remove workaround for now-fixed PR toolchain/57146
 1.53 17-Jun-2023  rin Relocate FFS_NO_SNAPSHOT to where it should be...
 1.52 17-Jun-2023  rin Sprinkle FFS_NO_SNAPSHOT and -fno-unwind-tables to reduce
memory footprint.
 1.51 17-Jun-2023  rin Build NSLU2 kernel with NOCTF="yes" as workaround for
PR toolchain/57146, which I'm working on :).

Now kernel image fits within its reserved VA range again.
 1.50 07-Aug-2022  simonb branches: 1.50.4;
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.49 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.48 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.47 06-Feb-2019  rin branches: 1.47.10;
Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 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 25-Aug-2018  rin Add (commented out) mue(4) to where appropriate.
Also add MII/PHY drivers for USB NICs if missing.
 1.44 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.43 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.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 07-Aug-2015  maxv branches: 1.39.2; 1.39.4;
Remove KMEMSTATS.
 1.38 23-Aug-2014  dholland branches: 1.38.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.37 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.36 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.35 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.34 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.33 30-Jun-2013  rmind branches: 1.33.4;
G/C PFIL_HOOKS from the kernel configs.
 1.32 27-Apr-2013  christos branches: 1.32.4;
the bogus number police
 1.31 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.30 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.29 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.28 14-Oct-2012  msaitoh Add PTYFS
 1.27 11-Sep-2012  msaitoh branches: 1.27.2;
Add PUFFS, putter and fss.
 1.26 01-Sep-2012  jakllsch 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.25 01-Sep-2012  matt Bump up SYMTAB_SPACE
 1.24 29-Aug-2012  skrll Typo in comment
 1.23 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.22 09-Feb-2012  matt branches: 1.22.2;
Bump SYMTAB_SPACE
 1.21 22-Nov-2011  tls branches: 1.21.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.20 30-Jun-2011  wiz branches: 1.20.2;
dependant -> dependent
 1.19 17-May-2011  dyoung Increase SYMTAB_SPACE to fix compilation of these kernels.
 1.18 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.17 23-Nov-2010  hannken branches: 1.17.2; 1.17.4;
Remove unused count from pseudo-device md.
 1.16 05-Dec-2009  pooka branches: 1.16.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.15 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.14 06-Mar-2009  joerg Remove SHMMAXPGS from all kernel configs. Dynamically compute the
initial limit as 1/4 of the physical memory. Ensure the limit is at
least 1024 pages, the old default on most platforms.
 1.13 24-Nov-2008  ad branches: 1.13.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.11 30-May-2008  tsutsui branches: 1.11.4; 1.11.6;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.10 19-Jan-2008  chris branches: 1.10.6; 1.10.8; 1.10.10; 1.10.12;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.9 08-Jan-2008  matt More kernels SYMTAB_SPACE increased.
 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 08-Jul-2007  scw branches: 1.7.6; 1.7.10;
Bump SYMTAB_SPACE
 1.6 14-Mar-2007  drochner branches: 1.6.6;
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 10-Dec-2006  scw branches: 1.5.2; 1.5.6; 1.5.8;
Add NPE Ethernet and watchdog support.

Ethernet is enabled by default, but will be non-functional without
a microcode image from Intel. See arch/arm/xscale/ixp425-fw.README.
 1.4 02-Oct-2006  chs remove MALLOC_NOINLINE, it doesn't do anything anymore.
 1.3 26-Aug-2006  christos branches: 1.3.2; 1.3.4; 1.3.6;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.2 04-Mar-2006  scw branches: 1.2.2; 1.2.8; 1.2.14;
Override the default timer frequency. Turns out the NSLU2's timers are
clocked at exactly 66.0MHz.
 1.1 28-Feb-2006  scw branches: 1.1.2;
A port of NetBSD to the Linksys NSLU2 (a.k.a. "Slug").

The NSLU2 (Network Storage Link for USB 2.0 Disk Drives) is a small, *cheap*
NAS device consisting of an Intel IXP420 (Xscale) CPU, a 10/100mbit Ethernet
port, and two USB 2.0 ports. It has 32MB of SDRAM and 8MB of Flash memory,
and runs RedBoot/Linux out of the box. Now it can also run NetBSD.
 1.1.2.2 01-Mar-2006  yamt sync with head.
 1.1.2.1 28-Feb-2006  yamt file NSLU2 was added on branch yamt-uio_vmspace on 2006-03-01 09:27:46 +0000
 1.2.14.5 21-Jan-2008  yamt sync with head
 1.2.14.4 03-Sep-2007  yamt sync with head.
 1.2.14.3 30-Dec-2006  yamt sync with head.
 1.2.14.2 21-Jun-2006  yamt sync with head.
 1.2.14.1 04-Mar-2006  yamt file NSLU2 was added on branch yamt-lazymbuf on 2006-06-21 14:50:33 +0000
 1.2.8.2 22-Apr-2006  simonb Sync with head.
 1.2.8.1 04-Mar-2006  simonb file NSLU2 was added on branch simonb-timecounters on 2006-04-22 11:37:22 +0000
 1.2.2.1 03-Sep-2006  yamt sync with head.
 1.3.6.2 18-Dec-2006  yamt sync with head.
 1.3.6.1 22-Oct-2006  yamt sync with head
 1.3.4.2 09-Sep-2006  rpaulo sync with head
 1.3.4.1 26-Aug-2006  rpaulo file NSLU2 was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:40 +0000
 1.3.2.2 12-Jan-2007  ad Sync with head.
 1.3.2.1 18-Nov-2006  ad Sync with head.
 1.5.8.1 11-Jul-2007  mjf Sync with head.
 1.5.6.2 15-Jul-2007  ad Sync with head.
 1.5.6.1 10-Apr-2007  ad Sync with head.
 1.5.2.1 24-Mar-2007  yamt sync with head.
 1.6.6.1 03-Oct-2007  garbled Sync with HEAD
 1.7.10.3 23-Mar-2008  matt sync with HEAD
 1.7.10.2 09-Jan-2008  matt sync with HEAD
 1.7.10.1 06-Nov-2007  matt sync with HEAD
 1.7.6.1 28-Feb-2008  rjs Sync with HEAD.
 1.8.8.2 20-Jan-2008  bouyer Sync with HEAD
 1.8.8.1 08-Jan-2008  bouyer Sync with HEAD
 1.8.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.10.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.10.10.2 11-Mar-2010  yamt sync with head
 1.10.10.1 04-May-2009  yamt sync with head.
 1.10.8.1 04-Jun-2008  yamt sync with head
 1.10.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.10.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.11.6.2 28-Apr-2009  skrll Sync with HEAD.
 1.11.6.1 19-Jan-2009  skrll Sync with HEAD.
 1.11.4.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.13.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.16.4.3 31-May-2011  rmind sync with head
 1.16.4.2 21-Apr-2011  rmind sync with head
 1.16.4.1 05-Mar-2011  rmind sync with head
 1.17.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.17.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.20.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.20.2.2 30-Oct-2012  yamt sync with head
 1.20.2.1 17-Apr-2012  yamt sync with head
 1.21.2.2 29-Apr-2012  mrg sync to latest -current.
 1.21.2.1 18-Feb-2012  mrg merge to -current.
 1.22.2.1 05-Jan-2013  riz sys/arch/evbarm/conf/NSLU2 1.28 via patch

Enable PTYFS in NSLU2 kernel.
[msaitoh, ticket #767]
 1.27.2.4 03-Dec-2017  jdolecek update from HEAD
 1.27.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.27.2.2 23-Jun-2013  tls resync from head
 1.27.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.32.4.1 28-Aug-2013  rmind sync with head
 1.33.4.1 10-Aug-2014  tls Rebase.
 1.38.2.2 28-Aug-2017  skrll Sync with HEAD
 1.38.2.1 22-Sep-2015  skrll Sync with HEAD
 1.39.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.39.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.42.4.2 21-Apr-2020  martin Sync with HEAD
 1.42.4.1 10-Jun-2019  christos Sync with HEAD
 1.42.2.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.42.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.42.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.47.10.1 20-Apr-2020  bouyer Sync with HEAD
 1.50.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.4 13-Dec-2015  jmcneill Remove JETSONTK1 and NYAN-BIG kernels, add a new unified kernel named TEGRA.
 1.3 21-Nov-2015  jmcneill Add FUSE driver, use it to determine maximum CPU frequency for the board.
Retire CPUFREQ_BOOT option and always use highest available CPU frequency.
 1.2 09-Nov-2015  jmcneill Port the Tegra (2D) display drivers to the DRM framework.

tegradrm0 at tegraio0
tegrafb0 at tegradrm0
tegrafb0: framebuffer at 0x9b000000, size 1280x720, depth 32, stride 5120
wsdisplay0 at tegrafb0 kbdmux 1
wsmux1: connecting to wsdisplay0
wsdisplay0: screen 0-3 added (default, vt100 emulation)
tegradrm0: info: registered panic notifier
tegradrm0: initialized tegra 0.1.0 20151108 on minor 0

Same features as before (fb console, X wsfb driver works) with the addition
of being able to use xf86-video-modesetting and xrandr to switch video
modes at runtime.
 1.1 22-Aug-2015  jmcneill branches: 1.1.2;
Add kernel config for Tegra K1 "Nyan Big" board, as found in the Acer
Chromebook 13 (CB5-311).
 1.1.2.3 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.2.1 22-Aug-2015  skrll file NYAN-BIG was added on branch nick-nhusb on 2015-09-22 12:05:40 +0000
 1.12 26-Sep-2014  reinoud Rename ODROID to ODROID-XU
 1.11 21-Sep-2014  reinoud Re-enable OHCI since the Exynos5 SoC OHCI hang has been fixed
 1.10 19-Sep-2014  reinoud Update ODROID config, disabling ohci for now since it won't attach
 1.9 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.8 18-Aug-2014  christos branches: 1.8.2;
- Enable Wedge support for MBR/BSDLABEL where it was commented out.
- Add apple partition support where it was missing
- Add comments where missing
 1.7 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.6 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.5 03-Aug-2014  martin branches: 1.5.2; 1.5.4;
Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.4 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.3 06-Jun-2014  reinoud Add gpio, i2c and USB devices to ODROID and clean it up a bit too.

Since its a SoC, some devices might just as well move to std.odroid but are
kept here for now.

I got confirmation from Hardkernel, the company that creates the Odroid's that
*all* Samsung SoC's that are used in products other than Samsungs own have the
trustzone firmware mandatory. Its also part of the bootloading step and
Hardkernel has to digitally sign part of the bootloaders to be allowed to have
it boot at all.
 1.2 05-May-2014  reinoud branches: 1.2.2; 1.2.4;
exywdt -> exyowdt
 1.1 13-Apr-2014  matt Add initial support for the ODROID-XU and ODROID-U3.
Still a work in progress. Started by nick and reinoud.
 1.2.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.4.1 05-May-2014  yamt file ODROID was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.2.2.2 18-May-2014  rmind sync with head
 1.2.2.1 05-May-2014  rmind file ODROID was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.5.4.1 04-Jan-2015  martin Pull up the following revisions, requested by skrll in #373:

sys/arch/arm/samsung/exynos4_loc.c 1.10-1.11
sys/arch/arm/samsung/exynos4_reg.h 1.8-1.13
sys/arch/arm/samsung/exynos5_loc.c 1.8-1.12
sys/arch/arm/samsung/exynos5_reg.h 1.11-1.20
sys/arch/arm/samsung/exynos_gpio.c 1.7-1.12
sys/arch/arm/samsung/exynos_i2c.c 1.2-1.3
sys/arch/arm/samsung/exynos_intr.h 1.2
sys/arch/arm/samsung/exynos_io.c 1.7-1.8
sys/arch/arm/samsung/exynos_io.h 1.5-1.6
sys/arch/arm/samsung/exynos_reg.h 1.8-1.13
sys/arch/arm/samsung/exynos_smc.S 1.2-1.3
sys/arch/arm/samsung/exynos_soc.c 1.15-1.27
sys/arch/arm/samsung/exynos_usb.c 1.8-1.13
sys/arch/arm/samsung/exynos_var.h 1.13-1.18
sys/arch/arm/samsung/exynos_wdt.c 1.5
sys/arch/arm/samsung/mct.c 1.4-1.5
sys/arch/arm/samsung/mct_reg.h 1.2
sys/arch/arm/samsung/mct_var.h 1.3
sys/arch/arm/samsung/smc.h 1.2
sys/arch/arm/samsung/sscom.c 1.7
sys/arch/evbarm/odroid/odroid_machdep.c 1.25-1.39
sys/arch/evbarm/odroid/odroid_start.S 1.4-1.6
sys/arch/evbarm/conf/std.odroid 1.3-1.5
sys/arch/evbarm/conf/ODROID delete
sys/arch/evbarm/conf/ODROID-U 1.10-1.17
sys/arch/evbarm/conf/ODROID_INSTALL delete
sys/arch/evbarm/conf/ODROID-XU 1.1-1.4

Improve ODROID support.
 1.5.2.2 10-Aug-2014  tls Rebase.
 1.5.2.1 03-Aug-2014  tls file ODROID was added on branch tls-earlyentropy on 2014-08-10 06:53:55 +0000
 1.8.2.3 03-Dec-2017  jdolecek update from HEAD
 1.8.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.2.1 18-Aug-2014  tls file ODROID was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.25 20-Jan-2019  skrll Another kernel bites te dust.

Remove ODROID-C1 as it is now replaced by GENERIC. Thanks jmcneill.
 1.24 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.23 05-Jun-2018  hkenken branches: 1.23.2;
Rename ARM A9 Global Timer driver name to support fdt.

- Rename a9tmr to arma9tmr.
- Add a9tmr_fdt.c based gtmr_fdt.c.
 1.22 20-Mar-2017  skrll branches: 1.22.12; 1.22.14;
Disable DIAGNOSTIC - it is already enabled in GENERIC.common
 1.21 29-Nov-2015  jmcneill branches: 1.21.2; 1.21.4;
Retire CPUFREQ option, instead just pick the highest available frequency
at boot. Update the list of supported frequencies to match the list of dvfs
frequencies from the meson8b dts, capped at 1.5GHz. The highest available
frequency is changed from 1512MHz to 1536MHz.
 1.20 08-Aug-2015  jmcneill We have two SD controllers with different capabilities. Use the fast "SDHC"
controller for the card that the bootloader marked as the boot device,
and the slower "SDIO" controller for the other card if present.

The controller to slot mappings can be wired down in the kernel config
with the "port" locator if necessary.
 1.19 08-Aug-2015  jmcneill Enable eMMC on the SDIO controller.
 1.18 25-Apr-2015  jmcneill Add Amlogic GPIO driver.
 1.17 17-Apr-2015  jmcneill port number is required
 1.16 03-Apr-2015  jmcneill branches: 1.16.2;
Move common non-device stuff to GENERIC.common. Simplify board configs,
and let them all share common settings.
 1.15 03-Apr-2015  jmcneill comment out DDB_COMMANDONENTER
 1.14 31-Mar-2015  riz Spell "Independent" correctly in cargo-culted comments.
 1.13 22-Mar-2015  jmcneill Add Amlogic RTC driver, from Anon Ymous
 1.12 21-Mar-2015  jmcneill branches: 1.12.2;
Basic framebuffer console support. Work in progress.
 1.11 18-Mar-2015  jmcneill disable DEBUG, LOCKDEBUG, VERBOSE_INIT_ARM
 1.10 17-Mar-2015  jmcneill Add CPUFREQ option to set boot CPU frequency. ODROID-C1 is advertised
as quad-core 1.5GHz but boots up at 1.2GHz; add CPUFREQ=1512 to config
and make sure to set the correct speed before attaching CPUs.

The speed can still be scaled down with machdep.cpu sysctls.
 1.9 16-Mar-2015  jmcneill add ODROID-C1 install kernel
 1.8 08-Mar-2015  jmcneill enable amlogicsdhc
 1.7 07-Mar-2015  jmcneill add amlogicrng, add commented-out genfb placeholder
 1.6 04-Mar-2015  jmcneill ODROID-C1 onboard ethernet support.
 1.5 01-Mar-2015  jmcneill auto-detect RAM size
 1.4 01-Mar-2015  jmcneill ODROID-C1 SMP support.
 1.3 28-Feb-2015  jmcneill add dwctwo and usb devices
 1.2 27-Feb-2015  jmcneill Add basic serial console support.
 1.1 07-Feb-2015  jmcneill Work-in-progress Odroid-C1 support.
 1.12.2.6 30-Apr-2015  snj Pull up following revision(s) (requested by jmcneill in ticket #723):
sys/arch/arm/amlogic/amlogic_crureg.h: revisions 1.9, 1.10
sys/arch/arm/amlogic/amlogic_gpio.c: revision 1.1
sys/arch/arm/amlogic/amlogic_io.c: revision 1.11
sys/arch/arm/amlogic/amlogic_reg.h: revision 1.11
sys/arch/arm/amlogic/files.amlogic: revision 1.12
sys/arch/evbarm/conf/ODROID-C1: revision 1.18
Add Amlogic GPIO driver.
 1.12.2.5 23-Apr-2015  snj Pull up following revision(s) (requested by jmcneill in ticket #714):
sys/arch/arm/amlogic/amlogic_sdhc.c: revisions 1.4-1.6
sys/arch/evbarm/conf/ODROID-C1: revision 1.17
port number is required
--
The Amlogic SDHC controller doesn't support SG DMA. When we advertise
DMA but not SG DMA support, the sdmmc layer breaks up transfers into
multiple PAGE_SIZE (8KB here) transfers.

Remove the DMA capability flag and do transfers through a MAXPHYS-sized
buffer instead. This lets us do larger transfers and even with the memcpy,
still a significant win for performance.

Before: 134217728 bytes transferred in 15.301 secs (8771827 bytes/sec)
After: 134217728 bytes transferred in 8.834 secs (15193313 bytes/sec)
--
fix size of dmamem map
 1.12.2.4 06-Apr-2015  snj Pull up following revision(s) (requested by jmcneill in ticket #660):
sys/arch/evbarm/conf/ODROID-C1: revision 1.15
comment out DDB_COMMANDONENTER
 1.12.2.3 25-Mar-2015  snj Pull up following revision(s) (requested by jmcneill in ticket #639):
sys/arch/arm/amlogic/amlogic_intr.h: revision 1.6
sys/arch/arm/amlogic/amlogic_io.c: revision 1.8
sys/arch/arm/amlogic/amlogic_reg.h: revision 1.10
sys/arch/arm/amlogic/amlogic_rtc.c: revision 1.1
sys/arch/arm/amlogic/amlogic_rtcreg.h: revision 1.1
sys/arch/arm/amlogic/files.amlogic: revision 1.9
sys/arch/evbarm/conf/ODROID-C1: revision 1.13
Add Amlogic RTC driver, from Anon Ymous
 1.12.2.2 21-Mar-2015  snj Pull up following revision(s) (requested by jmcneill in ticket #598):
sys/arch/arm/amlogic/amlogic_board.c: up to revision 1.9
sys/arch/arm/amlogic/amlogic_canvasreg.h: revision 1.1
sys/arch/arm/amlogic/amlogic_com.c: up to revision 1.4
sys/arch/arm/amlogic/amlogic_comreg.h: up to revision 1.3
sys/arch/arm/amlogic/amlogic_comvar.h: revision 1.1
sys/arch/arm/amlogic/amlogic_cpufreq.c: up to revision 1.2
sys/arch/arm/amlogic/amlogic_crureg.h: up to revision 1.7
sys/arch/arm/amlogic/amlogic_dwctwo.c: up to revision 1.2
sys/arch/arm/amlogic/amlogic_genfb.c: revision 1.1
sys/arch/arm/amlogic/amlogic_gmac.c: up to revision 1.2
sys/arch/arm/amlogic/amlogic_hdmireg.h: revision 1.1
sys/arch/arm/amlogic/amlogic_intr.h: up to revision 1.5
sys/arch/arm/amlogic/amlogic_io.c: up to revision 1.7
sys/arch/arm/amlogic/amlogic_reg.h: up to revision 1.9
sys/arch/arm/amlogic/amlogic_rng.c: revision 1.1
sys/arch/arm/amlogic/amlogic_sdhc.c: up to revision 1.3
sys/arch/arm/amlogic/amlogic_sdhcreg.h: revision 1.1
sys/arch/arm/amlogic/amlogic_space.c: revision 1.1
sys/arch/arm/amlogic/amlogic_var.h: up to revision 1.8
sys/arch/arm/amlogic/amlogic_vpureg.h: revision 1.1
sys/arch/arm/arm/bootconfig.c: revisions 1.7-1.8
sys/arch/arm/conf/files.arm: revision 1.129
sys/arch/arm/cortex/pl310.c: revisions 1.16-1.17
sys/arch/arm/cortex/a9_mpsubr.S: revisions 1.25-1.29
sys/arch/arm/cortex/a9tmr.c: revisions 1.8-1.12
sys/arch/arm/cortex/a9tmr_var.h: revision 1.4
sys/arch/arm/cortex/a9wdt.c: revisions 1.3-1.4
sys/arch/arm/cortex/armperiph.c: revisions 1.5-1.7
sys/arch/arm/arm/cpufunc.c: revision 1.151
sys/arch/arm/include/bootconfig.h: revision 1.7
sys/arch/arm/include/locore.h: revision 1.19
sys/arch/evbarm/amlogic/amlogic_machdep.c: up to revision 1.17
sys/arch/evbarm/amlogic/amlogic_start.S: up to revision 1.2
sys/arch/evbarm/amlogic/genassym.cf: revision 1.1
sys/arch/evbarm/amlogic/platform.h: revision 1.1
sys/arch/evbarm/conf/files.amlogic: up to revision 1.8
sys/arch/evbarm/conf/std.amlogic: up to revision 1.2
sys/arch/evbarm/conf/mk.amlogic: revision 1.1
sys/arch/evbarm/conf/ODROID-C1: up to revision 1.12
sys/arch/evarm/conf/ODROID-C1_INSTALL: revision 1.1
Don't use not as a variable since it's reserved in C++.
--
clean the a9 l2 cache before turning it on.
--
Add Cortex-A17 support
--
Fix CORTEXA17 support
--
Let the "cbar" device property override the cbar value, to work around
broken bootloaders
--
add a helper to update a9tmr frequency
--
detach and re-attach timecounter when updating freq, and reinit timer on
each cpu
--
fix typo
--
add BOOTOPT_TYPE_MACADDR for parsing mac address parameters
--
make sure we set ACTLR.SMP=1 for CPU_CORTEXA5 in !MP case, ok matt@
--
According to the Cortex-A5 TRM, the CBAR register is not implemented and
always reads as 0x00000000. Add ARM_CBAR option to set this in kernel
config.
--
skip a TLBIALL on Cortex-A5 that stops my odroid-c1 from booting, ok matt
--
match on Cortex-A5
--
match on Cortex-A5
--
allow arml2cc to be used on Cortex-A5 if the "offset" property is specified
--
print "A5" instead of "A9" at attach time if running on a Cortex-A5
--
Improve inline asm around dsb/dmb/isb:
- always use volatile and mark them as memory barrier
- use the common version from locore.h in all places not included from
userland
--
Work-in-progress Odroid-C1 support.
--
no need to override ARM_CBAR, remove unused COM_16750 option
--
Add basic serial console support.
--
add dwctwo and usb devices
--
ODROID-C1 SMP support.
--
auto-detect RAM size
--
ODROID-C1 onboard ethernet support.
--
add amlogicrng, add commented-out genfb placeholder
--
enable amlogicsdhc
--
add ODROID-C1 install kernel
--
Add CPUFREQ option to set boot CPU frequency. ODROID-C1 is advertised
as quad-core 1.5GHz but boots up at 1.2GHz; add CPUFREQ=1512 to config
and make sure to set the correct speed before attaching CPUs.
The speed can still be scaled down with machdep.cpu sysctls.
--
disable DEBUG, LOCKDEBUG, VERBOSE_INIT_ARM
--
Basic framebuffer console support. Work in progress.
 1.12.2.1 21-Mar-2015  snj file ODROID-C1 was added on branch netbsd-7 on 2015-03-21 08:51:18 +0000
 1.16.2.6 28-Aug-2017  skrll Sync with HEAD
 1.16.2.5 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.16.2.4 22-Sep-2015  skrll Sync with HEAD
 1.16.2.3 06-Jun-2015  skrll Sync with HEAD
 1.16.2.2 06-Apr-2015  skrll Sync with HEAD
 1.16.2.1 03-Apr-2015  skrll file ODROID-C1 was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.21.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.21.2.1 26-Apr-2017  pgoyette Sync with HEAD
 1.22.14.3 26-Jan-2019  pgoyette Sync with HEAD
 1.22.14.2 20-Oct-2018  pgoyette Sync with head
 1.22.14.1 25-Jun-2018  pgoyette Sync with HEAD
 1.22.12.2 03-Dec-2017  jdolecek update from HEAD
 1.22.12.1 20-Mar-2017  jdolecek file ODROID-C1 was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.23.2.1 10-Jun-2019  christos Sync with HEAD
 1.2 02-Mar-2019  jmcneill ODROID-C1 kernel is no more
 1.1 16-Mar-2015  jmcneill branches: 1.1.2; 1.1.4; 1.1.20; 1.1.24;
add ODROID-C1 install kernel
 1.1.24.1 10-Jun-2019  christos Sync with HEAD
 1.1.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.20.1 16-Mar-2015  jdolecek file ODROID-C1_INSTALL was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.4.2 06-Apr-2015  skrll Sync with HEAD
 1.1.4.1 16-Mar-2015  skrll file ODROID-C1_INSTALL was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.1.2.2 21-Mar-2015  snj Pull up following revision(s) (requested by jmcneill in ticket #598):
sys/arch/arm/amlogic/amlogic_board.c: up to revision 1.9
sys/arch/arm/amlogic/amlogic_canvasreg.h: revision 1.1
sys/arch/arm/amlogic/amlogic_com.c: up to revision 1.4
sys/arch/arm/amlogic/amlogic_comreg.h: up to revision 1.3
sys/arch/arm/amlogic/amlogic_comvar.h: revision 1.1
sys/arch/arm/amlogic/amlogic_cpufreq.c: up to revision 1.2
sys/arch/arm/amlogic/amlogic_crureg.h: up to revision 1.7
sys/arch/arm/amlogic/amlogic_dwctwo.c: up to revision 1.2
sys/arch/arm/amlogic/amlogic_genfb.c: revision 1.1
sys/arch/arm/amlogic/amlogic_gmac.c: up to revision 1.2
sys/arch/arm/amlogic/amlogic_hdmireg.h: revision 1.1
sys/arch/arm/amlogic/amlogic_intr.h: up to revision 1.5
sys/arch/arm/amlogic/amlogic_io.c: up to revision 1.7
sys/arch/arm/amlogic/amlogic_reg.h: up to revision 1.9
sys/arch/arm/amlogic/amlogic_rng.c: revision 1.1
sys/arch/arm/amlogic/amlogic_sdhc.c: up to revision 1.3
sys/arch/arm/amlogic/amlogic_sdhcreg.h: revision 1.1
sys/arch/arm/amlogic/amlogic_space.c: revision 1.1
sys/arch/arm/amlogic/amlogic_var.h: up to revision 1.8
sys/arch/arm/amlogic/amlogic_vpureg.h: revision 1.1
sys/arch/arm/arm/bootconfig.c: revisions 1.7-1.8
sys/arch/arm/conf/files.arm: revision 1.129
sys/arch/arm/cortex/pl310.c: revisions 1.16-1.17
sys/arch/arm/cortex/a9_mpsubr.S: revisions 1.25-1.29
sys/arch/arm/cortex/a9tmr.c: revisions 1.8-1.12
sys/arch/arm/cortex/a9tmr_var.h: revision 1.4
sys/arch/arm/cortex/a9wdt.c: revisions 1.3-1.4
sys/arch/arm/cortex/armperiph.c: revisions 1.5-1.7
sys/arch/arm/arm/cpufunc.c: revision 1.151
sys/arch/arm/include/bootconfig.h: revision 1.7
sys/arch/arm/include/locore.h: revision 1.19
sys/arch/evbarm/amlogic/amlogic_machdep.c: up to revision 1.17
sys/arch/evbarm/amlogic/amlogic_start.S: up to revision 1.2
sys/arch/evbarm/amlogic/genassym.cf: revision 1.1
sys/arch/evbarm/amlogic/platform.h: revision 1.1
sys/arch/evbarm/conf/files.amlogic: up to revision 1.8
sys/arch/evbarm/conf/std.amlogic: up to revision 1.2
sys/arch/evbarm/conf/mk.amlogic: revision 1.1
sys/arch/evbarm/conf/ODROID-C1: up to revision 1.12
sys/arch/evarm/conf/ODROID-C1_INSTALL: revision 1.1
Don't use not as a variable since it's reserved in C++.
--
clean the a9 l2 cache before turning it on.
--
Add Cortex-A17 support
--
Fix CORTEXA17 support
--
Let the "cbar" device property override the cbar value, to work around
broken bootloaders
--
add a helper to update a9tmr frequency
--
detach and re-attach timecounter when updating freq, and reinit timer on
each cpu
--
fix typo
--
add BOOTOPT_TYPE_MACADDR for parsing mac address parameters
--
make sure we set ACTLR.SMP=1 for CPU_CORTEXA5 in !MP case, ok matt@
--
According to the Cortex-A5 TRM, the CBAR register is not implemented and
always reads as 0x00000000. Add ARM_CBAR option to set this in kernel
config.
--
skip a TLBIALL on Cortex-A5 that stops my odroid-c1 from booting, ok matt
--
match on Cortex-A5
--
match on Cortex-A5
--
allow arml2cc to be used on Cortex-A5 if the "offset" property is specified
--
print "A5" instead of "A9" at attach time if running on a Cortex-A5
--
Improve inline asm around dsb/dmb/isb:
- always use volatile and mark them as memory barrier
- use the common version from locore.h in all places not included from
userland
--
Work-in-progress Odroid-C1 support.
--
no need to override ARM_CBAR, remove unused COM_16750 option
--
Add basic serial console support.
--
add dwctwo and usb devices
--
ODROID-C1 SMP support.
--
auto-detect RAM size
--
ODROID-C1 onboard ethernet support.
--
add amlogicrng, add commented-out genfb placeholder
--
enable amlogicsdhc
--
add ODROID-C1 install kernel
--
Add CPUFREQ option to set boot CPU frequency. ODROID-C1 is advertised
as quad-core 1.5GHz but boots up at 1.2GHz; add CPUFREQ=1512 to config
and make sure to set the correct speed before attaching CPUs.
The speed can still be scaled down with machdep.cpu sysctls.
--
disable DEBUG, LOCKDEBUG, VERBOSE_INIT_ARM
--
Basic framebuffer console support. Work in progress.
 1.1.2.1 16-Mar-2015  snj file ODROID-C1_INSTALL was added on branch netbsd-7 on 2015-03-21 08:51:18 +0000
 1.21 11-Jun-2017  jmcneill Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
 1.20 19-Feb-2017  rin branches: 1.20.6;
PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.19 29-Oct-2015  mrg branches: 1.19.2; 1.19.4;
eliminate USBHIST as a define/option. it was entangled with USB_DEBUG
and only referenced a handful of times. rename any usage in configs.

fixes recent build problems i introduced with the previous files.usb
change.
 1.18 07-Aug-2015  maxv Remove KMEMSTATS.
 1.17 11-Oct-2014  uebayasi branches: 1.17.2;
Device midi attachment where the evil usbdevices.config is included.
 1.16 26-Sep-2014  reinoud Split the two kernels to include only support for the device it describes
 1.15 26-Sep-2014  reinoud Add USBHIST_SIZE option
 1.14 19-Sep-2014  reinoud Cleanup ODROID-U config
 1.13 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.12 18-Aug-2014  christos branches: 1.12.2;
- Enable Wedge support for MBR/BSDLABEL where it was commented out.
- Add apple partition support where it was missing
- Add comments where missing
 1.11 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.10 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.9 03-Aug-2014  martin branches: 1.9.2; 1.9.4;
Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.8 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.7 06-Jun-2014  reinoud Add gpio, i2c and USB devices to ODROID and clean it up a bit too.

Since its a SoC, some devices might just as well move to std.odroid but are
kept here for now.

I got confirmation from Hardkernel, the company that creates the Odroid's that
*all* Samsung SoC's that are used in products other than Samsungs own have the
trustzone firmware mandatory. Its also part of the bootloading step and
Hardkernel has to digitally sign part of the bootloaders to be allowed to have
it boot at all.
 1.6 21-May-2014  reinoud branches: 1.6.2;
Add i2c as standard for ODROID-U
 1.5 09-May-2014  reinoud branches: 1.5.2;
Implement gpio framework for the Samsung Exynos series.

Note that only the Exynos4 gpio registers are defined now and provision is
taken to allow for seamlessness adding of Exynos5 values.
 1.4 05-May-2014  reinoud exywdt -> exyowdt
 1.3 29-Apr-2014  reinoud Commit initial USB adapter support and associated DMA tags
 1.2 19-Apr-2014  reinoud Enable the exywdt watchdog since its now implemented and remove the
VERBOSE_INIT_ARM; its debugging is not needed normally.
 1.1 13-Apr-2014  reinoud Split off Odroid-U* kernel from combined config file
 1.5.2.2 18-May-2014  rmind sync with head
 1.5.2.1 09-May-2014  rmind file ODROID-U was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.6.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.6.2.1 21-May-2014  yamt file ODROID-U was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.9.4.1 04-Jan-2015  martin Pull up the following revisions, requested by skrll in #373:

sys/arch/arm/samsung/exynos4_loc.c 1.10-1.11
sys/arch/arm/samsung/exynos4_reg.h 1.8-1.13
sys/arch/arm/samsung/exynos5_loc.c 1.8-1.12
sys/arch/arm/samsung/exynos5_reg.h 1.11-1.20
sys/arch/arm/samsung/exynos_gpio.c 1.7-1.12
sys/arch/arm/samsung/exynos_i2c.c 1.2-1.3
sys/arch/arm/samsung/exynos_intr.h 1.2
sys/arch/arm/samsung/exynos_io.c 1.7-1.8
sys/arch/arm/samsung/exynos_io.h 1.5-1.6
sys/arch/arm/samsung/exynos_reg.h 1.8-1.13
sys/arch/arm/samsung/exynos_smc.S 1.2-1.3
sys/arch/arm/samsung/exynos_soc.c 1.15-1.27
sys/arch/arm/samsung/exynos_usb.c 1.8-1.13
sys/arch/arm/samsung/exynos_var.h 1.13-1.18
sys/arch/arm/samsung/exynos_wdt.c 1.5
sys/arch/arm/samsung/mct.c 1.4-1.5
sys/arch/arm/samsung/mct_reg.h 1.2
sys/arch/arm/samsung/mct_var.h 1.3
sys/arch/arm/samsung/smc.h 1.2
sys/arch/arm/samsung/sscom.c 1.7
sys/arch/evbarm/odroid/odroid_machdep.c 1.25-1.39
sys/arch/evbarm/odroid/odroid_start.S 1.4-1.6
sys/arch/evbarm/conf/std.odroid 1.3-1.5
sys/arch/evbarm/conf/ODROID delete
sys/arch/evbarm/conf/ODROID-U 1.10-1.17
sys/arch/evbarm/conf/ODROID_INSTALL delete
sys/arch/evbarm/conf/ODROID-XU 1.1-1.4

Improve ODROID support.
 1.9.2.2 10-Aug-2014  tls Rebase.
 1.9.2.1 03-Aug-2014  tls file ODROID-U was added on branch tls-earlyentropy on 2014-08-10 06:53:55 +0000
 1.12.2.3 03-Dec-2017  jdolecek update from HEAD
 1.12.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.12.2.1 18-Aug-2014  tls file ODROID-U was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.17.2.3 28-Aug-2017  skrll Sync with HEAD
 1.17.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.17.2.1 22-Sep-2015  skrll Sync with HEAD
 1.19.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.19.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.20.6.1 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.8 11-Jun-2017  jmcneill Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
 1.7 19-Feb-2017  rin branches: 1.7.6;
PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.6 29-Oct-2015  mrg branches: 1.6.2; 1.6.4;
eliminate USBHIST as a define/option. it was entangled with USB_DEBUG
and only referenced a handful of times. rename any usage in configs.

fixes recent build problems i introduced with the previous files.usb
change.
 1.5 07-Aug-2015  maxv Remove KMEMSTATS.
 1.4 11-Oct-2014  uebayasi branches: 1.4.2; 1.4.4;
Device midi attachment where the evil usbdevices.config is included.
 1.3 02-Oct-2014  skrll Fix reinoud-ification.

My odroid-xu has console again.
 1.2 26-Sep-2014  reinoud Split the two kernels to include only support for the device it describes
 1.1 26-Sep-2014  reinoud Rename ODROID to ODROID-XU
 1.4.4.2 04-Jan-2015  martin Pull up the following revisions, requested by skrll in #373:

sys/arch/arm/samsung/exynos4_loc.c 1.10-1.11
sys/arch/arm/samsung/exynos4_reg.h 1.8-1.13
sys/arch/arm/samsung/exynos5_loc.c 1.8-1.12
sys/arch/arm/samsung/exynos5_reg.h 1.11-1.20
sys/arch/arm/samsung/exynos_gpio.c 1.7-1.12
sys/arch/arm/samsung/exynos_i2c.c 1.2-1.3
sys/arch/arm/samsung/exynos_intr.h 1.2
sys/arch/arm/samsung/exynos_io.c 1.7-1.8
sys/arch/arm/samsung/exynos_io.h 1.5-1.6
sys/arch/arm/samsung/exynos_reg.h 1.8-1.13
sys/arch/arm/samsung/exynos_smc.S 1.2-1.3
sys/arch/arm/samsung/exynos_soc.c 1.15-1.27
sys/arch/arm/samsung/exynos_usb.c 1.8-1.13
sys/arch/arm/samsung/exynos_var.h 1.13-1.18
sys/arch/arm/samsung/exynos_wdt.c 1.5
sys/arch/arm/samsung/mct.c 1.4-1.5
sys/arch/arm/samsung/mct_reg.h 1.2
sys/arch/arm/samsung/mct_var.h 1.3
sys/arch/arm/samsung/smc.h 1.2
sys/arch/arm/samsung/sscom.c 1.7
sys/arch/evbarm/odroid/odroid_machdep.c 1.25-1.39
sys/arch/evbarm/odroid/odroid_start.S 1.4-1.6
sys/arch/evbarm/conf/std.odroid 1.3-1.5
sys/arch/evbarm/conf/ODROID delete
sys/arch/evbarm/conf/ODROID-U 1.10-1.17
sys/arch/evbarm/conf/ODROID_INSTALL delete
sys/arch/evbarm/conf/ODROID-XU 1.1-1.4

Improve ODROID support.
 1.4.4.1 11-Oct-2014  martin file ODROID-XU was added on branch netbsd-7 on 2015-01-04 11:19:00 +0000
 1.4.2.3 28-Aug-2017  skrll Sync with HEAD
 1.4.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.4.2.1 22-Sep-2015  skrll Sync with HEAD
 1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.7.6.1 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.6 15-Dec-2015  marty EXYNOS - change ODROID-XU4 to EXYNOS

EXYNOS will be a generic fdt kernel, so signify that with the name change,
as requested by Nick.
 1.5 14-Dec-2015  marty XU4 FDT Enable the minimum device tree

This enables the use of FDT on the XU4 but doesn't add any drivers. However,
with this check in, XU4 becomes useless without a device tree blob from the
Linux tree, which isn't checked in anywhere.
 1.4 14-Dec-2015  marty enable the watch dog

This will work only if the patch to sysmon_wdog.c to convert it to
MODULE_CLASS_DRIVER is installed. Symptom of failure is a crash in
lockdebug because of an uninitialized mutex.
 1.3 06-Dec-2015  marty Reorganize Exynos code step 1 of N

create config files that use evbarm/exynos rather than evbarm/odroid for
the machdep portion.

point ODROID-XU4 at those files

add evbarm/exynos/exyos_{start.S, machdep.c} and platform.h that are exynos
5422 specific. -- We'll edit in other exynos platforms once this one
fully works.

This boots the Odroid XU4 to the same point as using evbarm/odroid does, but
with some differences in gpio handling. Everything else should be semantically
equivalent.
 1.2 05-Dec-2015  jmcneill add exy5422clk0
 1.1 14-Nov-2015  marty SNAPSHOT: DOES NOT BOOT

First crack at configuration files for the Hardkernel ODROID XU4.

This kernel hangs attempting to write to the console early in boot.
 1.2 15-Dec-2015  marty EXYNOS - change ODROID-XU4 to EXYNOS

EXYNOS will be a generic fdt kernel, so signify that with the name change,
as requested by Nick.
 1.1 14-Nov-2015  marty SNAPSHOT: DOES NOT BOOT

First crack at configuration files for the Hardkernel ODROID XU4.

This kernel hangs attempting to write to the console early in boot.
 1.2 11-Jun-2017  jmcneill Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
 1.1 26-Sep-2014  reinoud branches: 1.1.2; 1.1.12;
Rename ODROID to ODROID-XU
 1.1.12.1 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.1.2.1 28-Aug-2017  skrll Sync with HEAD
 1.3 26-Sep-2014  reinoud Rename ODROID to ODROID-XU
 1.2 01-May-2014  martin branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; 1.2.10;
Do not create debug info for *_INSTALL kernels.
 1.1 13-Apr-2014  matt Add initial support for the ODROID-XU and ODROID-U3.
Still a work in progress. Started by nick and reinoud.
 1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 01-May-2014  tls file ODROID_INSTALL was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.2.8.1 04-Jan-2015  martin Pull up the following revisions, requested by skrll in #373:

sys/arch/arm/samsung/exynos4_loc.c 1.10-1.11
sys/arch/arm/samsung/exynos4_reg.h 1.8-1.13
sys/arch/arm/samsung/exynos5_loc.c 1.8-1.12
sys/arch/arm/samsung/exynos5_reg.h 1.11-1.20
sys/arch/arm/samsung/exynos_gpio.c 1.7-1.12
sys/arch/arm/samsung/exynos_i2c.c 1.2-1.3
sys/arch/arm/samsung/exynos_intr.h 1.2
sys/arch/arm/samsung/exynos_io.c 1.7-1.8
sys/arch/arm/samsung/exynos_io.h 1.5-1.6
sys/arch/arm/samsung/exynos_reg.h 1.8-1.13
sys/arch/arm/samsung/exynos_smc.S 1.2-1.3
sys/arch/arm/samsung/exynos_soc.c 1.15-1.27
sys/arch/arm/samsung/exynos_usb.c 1.8-1.13
sys/arch/arm/samsung/exynos_var.h 1.13-1.18
sys/arch/arm/samsung/exynos_wdt.c 1.5
sys/arch/arm/samsung/mct.c 1.4-1.5
sys/arch/arm/samsung/mct_reg.h 1.2
sys/arch/arm/samsung/mct_var.h 1.3
sys/arch/arm/samsung/smc.h 1.2
sys/arch/arm/samsung/sscom.c 1.7
sys/arch/evbarm/odroid/odroid_machdep.c 1.25-1.39
sys/arch/evbarm/odroid/odroid_start.S 1.4-1.6
sys/arch/evbarm/conf/std.odroid 1.3-1.5
sys/arch/evbarm/conf/ODROID delete
sys/arch/evbarm/conf/ODROID-U 1.10-1.17
sys/arch/evbarm/conf/ODROID_INSTALL delete
sys/arch/evbarm/conf/ODROID-XU 1.1-1.4

Improve ODROID support.
 1.2.6.2 10-Aug-2014  tls Rebase.
 1.2.6.1 01-May-2014  tls file ODROID_INSTALL was added on branch tls-earlyentropy on 2014-08-10 06:53:55 +0000
 1.2.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.4.1 01-May-2014  yamt file ODROID_INSTALL was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.2.2.2 18-May-2014  rmind sync with head
 1.2.2.1 01-May-2014  rmind file ODROID_INSTALL was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.3 08-Apr-2018  jmcneill Remove old Allwinner port.
 1.2 27-May-2017  bouyer branches: 1.2.8; 1.2.10;
Add options CAN and pseudo-device canloop to ALL kernel configs.
Add the same commented out to i386/amd64 GENERIC and OLIMEXLIME2 (A20-based).
Also add commented out awincan0 in OLIMEXLIME2.
 1.1 03-Jun-2015  jmcneill branches: 1.1.2;
Add kernel config for Olimex A20-OLinuXino-LIME2
 1.1.2.3 28-Aug-2017  skrll Sync with HEAD
 1.1.2.2 06-Jun-2015  skrll Sync with HEAD
 1.1.2.1 03-Jun-2015  skrll file OLIMEXLIME2 was added on branch nick-nhusb on 2015-06-06 14:39:58 +0000
 1.2.10.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.2.8.2 03-Dec-2017  jdolecek update from HEAD
 1.2.8.1 27-May-2017  jdolecek file OLIMEXLIME2 was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.4 29-Mar-2014  matt Remove OMAP5432_EVM to OMAP5EVM. Add install kernel.
 1.3 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.2 18-Jun-2013  matt branches: 1.2.2; 1.2.4;
Turn off direct mapped phys
 1.1 16-Jun-2013  matt Add config for OMAP5432_EVM (omap5 dual cortex-a15)
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 28-Aug-2013  rmind sync with head
 1.2.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.2.2 23-Jun-2013  tls resync from head
 1.2.2.1 18-Jun-2013  tls file OMAP5432_EVM was added on branch tls-maxphys on 2013-06-23 06:20:04 +0000
 1.22 29-Oct-2022  jmcneill Retire arch/evbarm/beagle.

A few more kernel configs go away:

- OMAP5EVM and PANDABOARD likely never worked to begin with.
- N900 and VTC100 are TI AM335x based, which is supported by GENERIC.
 1.21 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.20 29-Sep-2020  jmcneill Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime
detection instead of ifdefs where required.
 1.19 13-Jun-2020  ad Comment out "options PMAPCOUNTERS". It adds much overhead and is mostly of
interest to people hacking on the VM system or pmap. Proposed on port-arm@.
 1.18 23-May-2020  rin Fix typo in comment.
 1.17 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.16 18-May-2019  skrll branches: 1.16.2; 1.16.8;
Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.15 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.14 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.13 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.12 14-Sep-2017  mrg branches: 1.12.2; 1.12.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.11 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.10 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.9 12-Aug-2015  maxv branches: 1.9.2; 1.9.4;
Remove KMEMSTATS.
 1.8 31-Mar-2015  riz Spell "Independent" correctly in cargo-culted comments.
 1.7 23-Aug-2014  dholland branches: 1.7.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.6 17-Aug-2014  joerg branches: 1.6.2;
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.5 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.4 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.3 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.2 30-Mar-2014  matt branches: 1.2.2; 1.2.4; 1.2.6;
Make this MP by default
 1.1 29-Mar-2014  matt Remove OMAP5432_EVM to OMAP5EVM. Add install kernel.
 1.2.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.2.6.1 30-Mar-2014  yamt file OMAP5EVM was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 30-Mar-2014  rmind file OMAP5EVM was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.2.2.1 10-Aug-2014  tls Rebase.
 1.6.2.3 03-Dec-2017  jdolecek update from HEAD
 1.6.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.2.1 17-Aug-2014  tls file OMAP5EVM was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.7.2.3 28-Aug-2017  skrll Sync with HEAD
 1.7.2.2 22-Sep-2015  skrll Sync with HEAD
 1.7.2.1 06-Apr-2015  skrll Sync with HEAD
 1.9.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.9.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.12.4.2 21-Apr-2020  martin Sync with HEAD
 1.12.4.1 10-Jun-2019  christos Sync with HEAD
 1.12.2.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.12.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.16.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.16.2.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.3 23-May-2020  jmcneill GC unused INSTALL kernel configs.
 1.2 01-May-2014  martin branches: 1.2.2; 1.2.4; 1.2.8;
Do not create debug info for *_INSTALL kernels.
 1.1 29-Mar-2014  matt branches: 1.1.2;
Remove OMAP5432_EVM to OMAP5EVM. Add install kernel.
 1.1.2.1 10-Aug-2014  tls Rebase.
 1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.8.1 01-May-2014  tls file OMAP5EVM_INSTALL was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.2.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.4.1 01-May-2014  yamt file OMAP5EVM_INSTALL was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.2.2.2 18-May-2014  rmind sync with head
 1.2.2.1 01-May-2014  rmind file OMAP5EVM_INSTALL was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.47 01-Jun-2025  rin evbarm/OPENBLOCKS_A6: Add A7 support to comment, NFC
 1.46 29-Jan-2024  christos branches: 1.46.2;
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.45 07-Aug-2022  simonb branches: 1.45.4;
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.44 20-May-2022  rin Comment out most of USB devices. Fix boot failure since netbsd-8.

There is an upper limit of kernel size for u-boot, somewhere at ~6MB.
If kernel exceeds this limit, work area of u-boot gets broken.
 1.43 20-Jan-2021  nia do not enable kernel OSS compat in configs without compat_linux

perhaps kernel OSS compat can be merged into compat_linux to avoid
further confusion
 1.42 27-Sep-2020  roy branches: 1.42.2;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.41 16-Aug-2020  jdolecek make COMPAT_LINUX option disabled by default

leave the option enabled only in amd64/i386 ALL kernels to make
sure it continues to be compilable also when included in kernel
 1.40 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.39 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.38 25-Mar-2020  jdolecek branches: 1.38.2;
remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.37 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.36 26-Apr-2019  sevan branches: 1.36.4;
Use veriexec.config to reduce duplication
 1.35 06-Feb-2019  rin Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.34 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.33 25-Aug-2018  rin Add (commented out) mue(4) to where appropriate.
Also add MII/PHY drivers for USB NICs if missing.
 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 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.30 14-Sep-2017  mrg branches: 1.30.2; 1.30.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.29 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

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

ok riastradh
 1.28 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.27 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.26 26-Nov-2016  christos branches: 1.26.2;
mention PAX_SEGVGUARD dependency on FILEASSOC
 1.25 12-Aug-2015  maxv branches: 1.25.2;
Remove KMEMSTATS.
 1.24 17-Oct-2014  martin branches: 1.24.2;
Fix the names of the (commented out) Kirwood L2 cache options.
 1.23 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.22 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.21 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.20 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.19 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.18 03-Jan-2014  kiyohara branches: 1.18.2;
Change wildcard for mvgbe configuration. Don't attach, if clock was disabled.
 1.17 05-Oct-2013  kiyohara Add comment-outed mvgbec1 and mvgbe for A7.
 1.16 05-Oct-2013  kiyohara Cleanup.
 1.15 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.14 05-Jun-2013  christos branches: 1.14.2;
catch the escapees of the IPSEC_NAT_T purge.
 1.13 27-Apr-2013  christos more bogus number removal
 1.12 27-Apr-2013  christos the bogus number police
 1.11 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 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 11-Sep-2012  msaitoh branches: 1.7.2;
Add PUFFS, putter and fss.
 1.6 09-Sep-2012  msaitoh Split DEBUG="-g -Ox" into DEBUG="-g" and COPTS="-Ox".
 1.5 01-Sep-2012  jakllsch 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.4 29-Aug-2012  skrll Typo in comment
 1.3 23-Aug-2012  kiyohara Comment-out md.
 1.2 23-Aug-2012  kiyohara Remove obsolated file-system PORTAL.
 1.1 01-Aug-2012  kiyohara Add OPENBLOCKS_A6 (Plat'Home OpenBlockS A6).
 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 OPENBLOCKS_A6 was added on branch yamt-pagecache on 2012-10-30 17:19:20 +0000
 1.14.2.2 18-May-2014  rmind sync with head
 1.14.2.1 28-Aug-2013  rmind sync with head
 1.18.2.1 10-Aug-2014  tls Rebase.
 1.24.2.3 28-Aug-2017  skrll Sync with HEAD
 1.24.2.2 05-Dec-2016  skrll Sync with HEAD
 1.24.2.1 22-Sep-2015  skrll Sync with HEAD
 1.25.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.25.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.26.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.30.4.3 21-Apr-2020  martin Sync with HEAD
 1.30.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.30.4.1 10-Jun-2019  christos Sync with HEAD
 1.30.2.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.30.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.30.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.36.4.1 25-Jan-2020  ad Sync with head.
 1.38.2.1 20-Apr-2020  bouyer Sync with HEAD
 1.42.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.45.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.46.2.1 02-Aug-2025  perseant Sync with HEAD
 1.36 07-Aug-2022  simonb branches: 1.36.4;
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.35 20-Jan-2021  nia remove compat_ossaudio from kernel modules

this is only useful with compat_linux and gets autoloaded when
compat_linux is loaded, so there's no reason to bake it into kernels
any more.
 1.34 27-Sep-2020  roy branches: 1.34.2;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.33 16-Aug-2020  jdolecek make COMPAT_LINUX option disabled by default

leave the option enabled only in amd64/i386 ALL kernels to make
sure it continues to be compilable also when included in kernel
 1.32 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.31 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.30 25-Mar-2020  jdolecek branches: 1.30.2;
remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.29 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.28 26-Apr-2019  sevan branches: 1.28.4;
Use veriexec.config to reduce duplication
 1.27 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.26 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.25 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.24 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.23 14-Sep-2017  mrg branches: 1.23.2; 1.23.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.22 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

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

ok riastradh
 1.21 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.20 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.19 26-Nov-2016  christos branches: 1.19.2;
mention PAX_SEGVGUARD dependency on FILEASSOC
 1.18 06-Nov-2015  kiyohara branches: 1.18.2;
Add mvsocts.
 1.17 12-Aug-2015  maxv Remove KMEMSTATS.
 1.16 28-Jun-2015  kiyohara Move makphy to after mv{gb,xp}e.
And indents.
 1.15 28-Jun-2015  kiyohara Remove mvsdio. OpenBlocks AX3 not have it.
 1.14 03-Jun-2015  hsuenaga add kernel config of if_mvxpe(new ethernet) and mvxpsec(new cryptographic).
still disabled by default. I need to do more test...
 1.13 30-Aug-2014  kiyohara branches: 1.13.2;
Add options __HAVE_MM_MD_DIRECT_MAPPED_PHYS and set KERNEL_BASE_{EXT,VIRT}.
And support VFP.
 1.12 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.11 17-Aug-2014  joerg branches: 1.11.2;
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.10 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.9 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.8 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.7 15-Mar-2014  kiyohara branches: 1.7.2; 1.7.4; 1.7.6;
Add comment-out-ed FPU options. Armada XP has FPU.
Add comment-out-ed athn.
Change ehci[01] to ehci*. Check the clock gating already supported.
 1.6 15-Mar-2014  kiyohara Support options MVSOC_INTERREGS_PBASE for *old* Armada {XP,370} machines.
 1.5 23-Dec-2013  kiyohara Enable mvgbe and makphy.
 1.4 05-Oct-2013  kiyohara Disable mvgbec and mvgbe.
 1.3 05-Oct-2013  kiyohara Cleanup.
 1.2 05-Oct-2013  kiyohara Add options COM_16750. It is requiring now.
 1.1 30-Sep-2013  kiyohara Add configuration Plat'Home OpenBlocks AX3.
 1.7.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.7.6.1 15-Mar-2014  yamt file OPENBLOCKS_AX3 was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.7.4.2 18-May-2014  rmind sync with head
 1.7.4.1 15-Mar-2014  rmind file OPENBLOCKS_AX3 was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.7.2.1 10-Aug-2014  tls Rebase.
 1.11.2.3 03-Dec-2017  jdolecek update from HEAD
 1.11.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.11.2.1 17-Aug-2014  tls file OPENBLOCKS_AX3 was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.13.2.5 28-Aug-2017  skrll Sync with HEAD
 1.13.2.4 05-Dec-2016  skrll Sync with HEAD
 1.13.2.3 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.13.2.2 22-Sep-2015  skrll Sync with HEAD
 1.13.2.1 06-Jun-2015  skrll Sync with HEAD
 1.18.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.18.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.19.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.23.4.3 21-Apr-2020  martin Sync with HEAD
 1.23.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.23.4.1 10-Jun-2019  christos Sync with HEAD
 1.23.2.4 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.23.2.3 20-Oct-2018  pgoyette Sync with head
 1.23.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.23.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.28.4.1 25-Jan-2020  ad Sync with head.
 1.30.2.1 20-Apr-2020  bouyer Sync with HEAD
 1.34.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.36.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.9 16-Aug-2020  jdolecek make COMPAT_LINUX option disabled by default

leave the option enabled only in amd64/i386 ALL kernels to make
sure it continues to be compilable also when included in kernel
 1.8 25-Nov-2017  christos we don't need manual removals now that config has been fixed
 1.7 21-Nov-2017  christos remove children of mvsdio
 1.6 13-Dec-2015  cyber mvsdio does not work on OPENRD, disable it.
Tested on OpenRD-Client, causes infinite loop during autoconf when enabled.
 1.5 04-Apr-2014  msaitoh branches: 1.5.4; 1.5.6; 1.5.8;
Delete COMPAT_NETBSD32 option
 1.4 03-Dec-2012  msaitoh branches: 1.4.2;
- Delete "no" entries for mvsdio sdmmc sbt and ld. The bug was fixed.
- Delete mvpex, pci, pchb, mvsata, atabus and wd. These are defined in
conf/SHEEVAPLUG
 1.3 26-Oct-2012  msaitoh branches: 1.3.2;
Add PCI stuff.
 1.2 01-Sep-2012  matt branches: 1.2.2;
Bump up SYMTAB_SPACE
 1.1 10-Aug-2012  matt Add config file(s) for OpenRD client.
 1.2.2.4 03-Dec-2017  jdolecek update from HEAD
 1.2.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.2.2 25-Feb-2013  tls resync with head
 1.2.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.3.2.4 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.3.2.3 16-Jan-2013  yamt sync with (a bit old) head
 1.3.2.2 30-Oct-2012  yamt sync with head
 1.3.2.1 26-Oct-2012  yamt file OPENRD was added on branch yamt-pagecache on 2012-10-30 17:19:20 +0000
 1.4.2.1 18-May-2014  rmind sync with head
 1.5.8.1 16-Jan-2016  snj Pull up following revision(s) (requested by cyber in ticket #1061):
sys/arch/evbarm/conf/OPENRD: revision 1.6
mvsdio does not work on OPENRD, disable it.
Tested on OpenRD-Client, causes infinite loop during autoconf when enabled.
 1.5.6.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.5.4.1 16-Jan-2016  snj Pull up following revision(s) (requested by cyber in ticket #1061):
sys/arch/evbarm/conf/OPENRD: revision 1.6
mvsdio does not work on OPENRD, disable it.
Tested on OpenRD-Client, causes infinite loop during autoconf when enabled.
 1.1 10-Aug-2012  matt branches: 1.1.4;
Add config file(s) for OpenRD client.
 1.1.4.2 30-Oct-2012  yamt sync with head
 1.1.4.1 10-Aug-2012  yamt file OPENRD_INSTALL was added on branch yamt-pagecache on 2012-10-30 17:19:20 +0000
 1.36 29-Oct-2022  jmcneill Remove support for TI OMAP 5912 OSK board.

This is part of the arch/arm/omap removal.
 1.35 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.34 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.33 12-Jul-2018  maxv branches: 1.33.4; 1.33.10;
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.32 14-Sep-2017  mrg branches: 1.32.2; 1.32.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.31 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 2.
 1.30 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.29 21-Aug-2015  uebayasi branches: 1.29.2; 1.29.4;
Add `pseudo-device ksyms' where `options DDB' is used, because
config(1)/config(5) can't handle module dependency correctly at this
moment.

(This is another proof that shared file definition (`file xxx.c a|b')
is a bad idea.)
 1.28 07-Aug-2015  maxv Remove the KMEMSTATS option. It no longer exists.
 1.27 23-Aug-2014  dholland branches: 1.27.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.26 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.25 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.24 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.23 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.22 30-Jun-2013  rmind branches: 1.22.4;
G/C PFIL_HOOKS from the kernel configs.
 1.21 05-Jun-2013  christos branches: 1.21.2;
remove obsolete networking options
 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 11-Sep-2012  msaitoh branches: 1.17.2;
Add PUFFS, putter and fss.
 1.16 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 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 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 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.9 05-Dec-2009  pooka branches: 1.9.2; 1.9.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.8 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 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 19-Jan-2008  chris branches: 1.2.6; 1.2.8; 1.2.10; 1.2.12;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.1 06-Jan-2007  christos branches: 1.1.2; 1.1.6; 1.1.8; 1.1.26; 1.1.30; 1.1.36; 1.1.42;
New files from Bucky Katz
 1.1.42.1 20-Jan-2008  bouyer Sync with HEAD
 1.1.36.1 18-Feb-2008  mjf Sync with HEAD.
 1.1.30.1 23-Mar-2008  matt sync with HEAD
 1.1.26.1 28-Feb-2008  rjs Sync with HEAD.
 1.1.8.3 21-Jan-2008  yamt sync with head
 1.1.8.2 26-Feb-2007  yamt sync with head.
 1.1.8.1 06-Jan-2007  yamt file OSK5912 was added on branch yamt-lazymbuf on 2007-02-26 09:06:17 +0000
 1.1.6.2 24-Feb-2007  snj Pull up following revision(s) (requested by matt in ticket #457):
sys/arch/evbarm/conf/OSK5912: revision 1.1
sys/arch/evbarm/osk5912/if_sm_emifs.c: revision 1.1
sys/arch/evbarm/conf/std.osk5912: revision 1.1
sys/arch/evbarm/osk5912/osk5912_machdep.c: revision 1.1
sys/arch/evbarm/conf/mk.osk5912: revision 1.1
sys/arch/evbarm/conf/files.osk5912: revision 1.1
New files from Bucky Katz
 1.1.6.1 06-Jan-2007  snj file OSK5912 was added on branch netbsd-4 on 2007-02-24 19:03:13 +0000
 1.1.2.2 12-Jan-2007  ad Sync with head.
 1.1.2.1 06-Jan-2007  ad file OSK5912 was added on branch newlock2 on 2007-01-12 01:00:46 +0000
 1.2.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.2.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.2.10.3 11-Aug-2010  yamt sync with head.
 1.2.10.2 11-Mar-2010  yamt sync with head
 1.2.10.1 04-May-2009  yamt sync with head.
 1.2.8.1 04-Jun-2008  yamt sync with head
 1.2.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.2.6.2 28-Sep-2008  mjf Sync with HEAD.
 1.2.6.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.4.3 21-Apr-2011  rmind sync with head
 1.9.4.2 05-Mar-2011  rmind 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.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.2 29-Apr-2012  mrg sync to latest -current.
 1.14.2.1 18-Feb-2012  mrg merge to -current.
 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.21.2.1 28-Aug-2013  rmind sync with head
 1.22.4.1 10-Aug-2014  tls Rebase.
 1.27.2.2 28-Aug-2017  skrll Sync with HEAD
 1.27.2.1 22-Sep-2015  skrll Sync with HEAD
 1.29.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.29.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.32.4.2 21-Apr-2020  martin Sync with HEAD
 1.32.4.1 10-Jun-2019  christos Sync with HEAD
 1.32.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.33.10.1 20-Apr-2020  bouyer Sync with HEAD
 1.33.4.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.57 03-Nov-2019  jmcneill OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.
 1.56 02-Nov-2019  martin Replace tps65950pm with twl (the former has been removed)
 1.55 26-Apr-2019  sevan branches: 1.55.2;
Use veriexec.config to reduce duplication
 1.54 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.53 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.52 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.51 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.50 14-Sep-2017  mrg branches: 1.50.2; 1.50.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.49 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

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

ok riastradh
 1.48 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.47 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.46 26-Nov-2016  christos branches: 1.46.2;
mention PAX_SEGVGUARD dependency on FILEASSOC
 1.45 04-Oct-2016  kiyohara Enable com2, sdhc1.
And add flash@nand@omapnand.
And smsh's locator use "cs" instead of "addr".
 1.44 04-Aug-2016  kiyohara Move BOARDTYPE and EVBARM_BOARDTYPE from std.overo to OVERO.
 1.43 26-Sep-2015  maxv branches: 1.43.2;
Remove KMEMSTATS. Normally it's ok now.
 1.42 11-Oct-2014  uebayasi branches: 1.42.2;
No wsdisplay options without wsdisplay.
 1.41 30-Aug-2014  kiyohara Pad L4 WAKEUP to 1M, like omap2_reg.h.
 1.40 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.39 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.38 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.37 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.36 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.35 23-May-2014  kiyohara Call arm32_*_init() and initarm_common().
OVERO work fine. GUMSTIX build only now.
 1.34 05-Apr-2014  khorben Fixed a typo
 1.33 01-Oct-2013  kiyohara branches: 1.33.2;
Add OMAP_MPU_CLOCK_FREQ=13000000.
 1.32 26-Sep-2013  kiyohara Get and calculate some clocks from register.
And change some dpll5 settings for DM37xx. But I don't have it.
Tested EarthSTORM(Sliverlode) only. EHCI works. However clock is bad?
 1.31 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.30 09-Jun-2013  kiyohara branches: 1.30.2;
Add omapdma.
Fix typo. s/expantion/expansion/.
 1.29 05-Jun-2013  christos remove obsolete networking options
 1.28 27-Apr-2013  christos more bogus number removal
 1.27 27-Apr-2013  christos the bogus number police
 1.26 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.25 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.24 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.23 03-Jan-2013  kiyohara Add omapscm, iic and tps65950pm.
 1.22 29-Dec-2012  kiyohara Change size of some devices. from DM37xx and OMAP 35xx datasheet.
Support Overo *STORM. Tested only Overo EarthSTORM(Silverload).
 1.21 24-Dec-2012  kiyohara Enable ehci and umass. (tested only Chestnut43)
Add some comment-outed devices.
Indent and reorder.
 1.20 08-Dec-2012  matt For cortex kernels, also specify -mfpu=neon
 1.19 29-Oct-2012  kiyohara Add sdmmc.
 1.18 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.17 11-Sep-2012  msaitoh branches: 1.17.2;
Add PUFFS, putter and fss.
 1.16 01-Sep-2012  matt Bump SYMTAB_SPACE
Use cortex-a8 since it is a OMAP3530
 1.15 29-Aug-2012  skrll Typo in comment
 1.14 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.13 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.12 10-Mar-2012  joerg P1003_1B_SEMAPHORE is no longer optional.
 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 30-Jun-2011  wiz branches: 1.9.2;
dependant -> dependent
 1.8 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.7 23-Nov-2010  hannken branches: 1.7.2; 1.7.4; 1.7.6;
Remove unused count from pseudo-device md.
 1.6 30-Aug-2010  kiyohara Support prcm@obio1.
 1.5 28-Aug-2010  kiyohara Change size number to hexadecimal.
 1.4 28-Aug-2010  kiyohara Support smsh@gpmc.
tested Chestnut43 only.
 1.3 20-Jul-2010  kiyohara branches: 1.3.2; 1.3.4;
Add CPPFLAGS like to BEAGLEBOAD.
 1.2 20-Jul-2010  kiyohara Remove unexist device(omapnand0).
 1.1 10-Jul-2010  kiyohara Support Overo (Gumstix inc).
+ This commit supports basically.
+ Expansion boards not support yet. And MicroSD, Wifi, Bluetooth too.
 1.3.4.3 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.3.4.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.3.4.1 20-Jul-2010  uebayasi file OVERO was added on branch uebayasi-xip on 2010-08-17 06:44:15 +0000
 1.3.2.3 09-Oct-2010  yamt sync with head
 1.3.2.2 11-Aug-2010  yamt sync with head.
 1.3.2.1 20-Jul-2010  yamt file OVERO was added on branch yamt-nfs-mp on 2010-08-11 22:51:50 +0000
 1.7.6.3 21-Apr-2011  rmind sync with head
 1.7.6.2 05-Mar-2011  rmind sync with head
 1.7.6.1 23-Nov-2010  rmind file OVERO was added on branch rmind-uvmplock on 2011-03-05 20:50:03 +0000
 1.7.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.7.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.9.2.5 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.2.4 23-Jan-2013  yamt sync with head
 1.9.2.3 16-Jan-2013  yamt sync with (a bit old) head
 1.9.2.2 30-Oct-2012  yamt sync with head
 1.9.2.1 17-Apr-2012  yamt sync with head
 1.10.2.3 29-Apr-2012  mrg sync to latest -current.
 1.10.2.2 11-Mar-2012  mrg sync to latest -current
 1.10.2.1 18-Feb-2012  mrg merge to -current.
 1.17.2.5 03-Dec-2017  jdolecek update from HEAD
 1.17.2.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.17.2.3 23-Jun-2013  tls resync from head
 1.17.2.2 25-Feb-2013  tls resync with head
 1.17.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.30.2.2 18-May-2014  rmind sync with head
 1.30.2.1 28-Aug-2013  rmind sync with head
 1.33.2.1 10-Aug-2014  tls Rebase.
 1.42.2.4 28-Aug-2017  skrll Sync with HEAD
 1.42.2.3 05-Dec-2016  skrll Sync with HEAD
 1.42.2.2 05-Oct-2016  skrll Sync with HEAD
 1.42.2.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.43.2.4 20-Mar-2017  pgoyette Sync with HEAD
 1.43.2.3 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.43.2.2 04-Nov-2016  pgoyette Sync with HEAD
 1.43.2.1 06-Aug-2016  pgoyette Sync with HEAD
 1.46.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.50.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.50.4.1 10-Jun-2019  christos Sync with HEAD
 1.50.2.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.50.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.50.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.55.2.1 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.2 03-Nov-2019  jmcneill OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.
 1.1 27-Feb-2015  kiyohara branches: 1.1.2; 1.1.18; 1.1.22; 1.1.26;
Add OVERO_INSTALL.
 1.1.26.1 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.1.22.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 27-Feb-2015  jdolecek file OVERO_INSTALL was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.2.2 06-Apr-2015  skrll Sync with HEAD
 1.1.2.1 27-Feb-2015  skrll file OVERO_INSTALL was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.35 29-Oct-2022  jmcneill Retire arch/evbarm/beagle.

A few more kernel configs go away:

- OMAP5EVM and PANDABOARD likely never worked to begin with.
- N900 and VTC100 are TI AM335x based, which is supported by GENERIC.
 1.34 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.33 29-Sep-2020  jmcneill Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime
detection instead of ifdefs where required.
 1.32 13-Jun-2020  ad Comment out "options PMAPCOUNTERS". It adds much overhead and is mostly of
interest to people hacking on the VM system or pmap. Proposed on port-arm@.
 1.31 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.30 11-Aug-2019  skrll branches: 1.30.6;
Update for recent a9wdt changes
 1.29 18-May-2019  skrll branches: 1.29.2;
Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.28 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.27 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.26 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.25 05-Jun-2018  hkenken branches: 1.25.2;
Rename ARM A9 Global Timer driver name to support fdt.

- Rename a9tmr to arma9tmr.
- Add a9tmr_fdt.c based gtmr_fdt.c.
 1.24 14-Sep-2017  mrg branches: 1.24.2;
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 26-Jun-2017  sevan Add a heading to describe the class of device axe(4) is.
 1.21 19-Feb-2017  rin branches: 1.21.6;
PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.20 04-Aug-2016  kiyohara branches: 1.20.2;
Fix address for omapgpio4.
 1.19 26-Sep-2015  maxv branches: 1.19.2;
Remove KMEMSTATS. Normally it's ok now.
 1.18 31-Mar-2015  riz Spell "Independent" correctly in cargo-culted comments.
 1.17 30-Aug-2014  kiyohara branches: 1.17.2;
Pad L4 WAKEUP to 1M, like omap2_reg.h.
 1.16 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.15 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.14 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.13 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.12 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.11 30-Jun-2013  rmind branches: 1.11.4;
G/C PFIL_HOOKS from the kernel configs.
 1.10 18-Jun-2013  matt branches: 1.10.2;
Fix gpio addresses
Add sdhc
 1.9 16-Jun-2013  matt Fix GPIO locations, comment out clocks
 1.8 05-Jun-2013  christos remove obsolete networking options
 1.7 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.6 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.5 19-Dec-2012  msaitoh Add pseudo-device lockstat
 1.4 17-Oct-2012  apb branches: 1.4.2; 1.4.4;
Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.3 11-Sep-2012  msaitoh branches: 1.3.2;
Add PUFFS, putter and fss.
 1.2 05-Sep-2012  matt Get the PANDABOARD to boot (hangs in USB).
 1.1 01-Sep-2012  matt Initial config for PANDABOARD (doesn't quite work yet).
 1.3.2.5 03-Dec-2017  jdolecek update from HEAD
 1.3.2.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.2.3 23-Jun-2013  tls resync from head
 1.3.2.2 25-Feb-2013  tls resync with head
 1.3.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.4.4.2 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.4.4.1 17-Oct-2012  matt file PANDABOARD was added on branch matt-nb6-plus on 2012-11-28 22:50:08 +0000
 1.4.2.4 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.3 23-Jan-2013  yamt sync with head
 1.4.2.2 30-Oct-2012  yamt sync with head
 1.4.2.1 17-Oct-2012  yamt file PANDABOARD was added on branch yamt-pagecache on 2012-10-30 17:19:20 +0000
 1.10.2.1 28-Aug-2013  rmind sync with head
 1.11.4.1 10-Aug-2014  tls Rebase.
 1.17.2.4 28-Aug-2017  skrll Sync with HEAD
 1.17.2.3 05-Oct-2016  skrll Sync with HEAD
 1.17.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.17.2.1 06-Apr-2015  skrll Sync with HEAD
 1.19.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.19.2.1 06-Aug-2016  pgoyette Sync with HEAD
 1.20.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.21.6.1 01-Jul-2017  snj Pull up following revision(s) (requested by sevan in ticket #72):
sys/arch/evbarm/conf/GEMINI_SLAVE: revision 1.35
sys/arch/evbarm/conf/N900: revision 1.24
sys/arch/evbarm/conf/GOLDENGATE: revision 1.14
sys/arch/evbarm/conf/GEMINI_MASTER: revision 1.34
sys/arch/evbarm/conf/BEAGLEBONE: revision 1.43
sys/arch/evbarm/conf/BCM56340: revision 1.12
sys/arch/evbarm/conf/GEMINI: revision 1.34
sys/arch/evbarm/conf/BEAGLEBOARDXM: revision 1.24
sys/arch/evbarm/conf/BCM5301X: revision 1.27
sys/arch/evbarm/conf/PANDABOARD: revision 1.22
Add a heading to describe the class of device axe(4) is.
 1.24.2.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.24.2.2 28-Jul-2018  pgoyette Sync with HEAD
 1.24.2.1 25-Jun-2018  pgoyette Sync with HEAD
 1.25.2.3 21-Apr-2020  martin Sync with HEAD
 1.25.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.25.2.1 10-Jun-2019  christos Sync with HEAD
 1.29.2.2 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.29.2.1 15-Aug-2019  martin Pull up following revision(s) (requested by skrll in ticket #55):

sys/arch/arm/cortex/a9wdt.c: revision 1.10
sys/arch/evbarm/conf/HUMMINGBOARD: revision 1.9
sys/arch/evbarm/conf/GENERIC: revision 1.50
sys/arch/evbarm/conf/NITROGEN6X: revision 1.24
sys/arch/arm/cortex/a9tmr_var.h: revision 1.7
sys/arch/arm/fdt/files.fdt: revision 1.29
sys/arch/arm/amlogic/meson_platform.c: revision 1.12
sys/arch/arm/amlogic/meson8b_pinctrl.c: revision 1.2
sys/arch/arm/amlogic/meson_platform.c: revision 1.13
sys/arch/evbarm/conf/BCM5301X: revision 1.34
sys/arch/arm/dts/meson8b.dtsi: revision 1.6
sys/arch/arm/fdt/a9ptmr_fdt.c: revision 1.1
sys/arch/arm/dts/meson8b.dtsi: revision 1.7
sys/arch/arm/cortex/a9ptmr_var.h: revision 1.1
sys/arch/evbarm/conf/PANDABOARD: revision 1.30
sys/arch/evbarm/conf/DUOVERO: revision 1.14
sys/arch/arm/cortex/a9ptmr.c: revision 1.1
sys/arch/arm/cortex/a9ptmr.c: revision 1.2
sys/arch/arm/fdt/a9wdt_fdt.c: revision 1.1
sys/arch/evbarm/conf/BCM56340: revision 1.19
sys/arch/evbarm/conf/CUBOX-I: revision 1.23
sys/arch/arm/amlogic/meson8b_clkc.c: revision 1.4
sys/arch/evbarm/conf/PARALLELLA: revision 1.7
sys/arch/arm/cortex/files.cortex: revision 1.12
sys/arch/arm/dts/meson8b-odroidc1.dts: revision 1.4
sys/arch/arm/cortex/a9wdt.c: revision 1.9
sys/arch/evbarm/conf/ZEDBOARD: revision 1.6

spaces to tab

-

Add a driver for the A5/A9 Private timer.
While here FDTise the Watchdog driver.

-

Update for recent a9wdt changes
-

Trailing whitespace

-
Updates to get Odroid-C1 in better shape since the last DTS import

-

Various fixes / changes
- don't use prescaler
- improve AB_DEBUG output
- fix a9ptmr_delay to work with a decrementing counter!
Thanks to jmcneill@ for proving I'm an idiot

-

Add eth_rxd3 and eth_rxd2 pinctrl groups

-

Catch up to recent mainline dts changes
 1.30.6.1 20-Apr-2020  bouyer Sync with HEAD
 1.3 23-May-2020  jmcneill GC unused INSTALL kernel configs.
 1.2 01-May-2014  martin branches: 1.2.2; 1.2.4; 1.2.8;
Do not create debug info for *_INSTALL kernels.
 1.1 29-Mar-2014  matt branches: 1.1.2;
Add install config for PANDABOARD
 1.1.2.1 10-Aug-2014  tls Rebase.
 1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.8.1 01-May-2014  tls file PANDABOARD_INSTALL was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.2.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.4.1 01-May-2014  yamt file PANDABOARD_INSTALL was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.2.2.2 18-May-2014  rmind sync with head
 1.2.2.1 01-May-2014  rmind file PANDABOARD_INSTALL was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.10 28-Oct-2022  jmcneill Retire PARALLELLA and ZEDBOARD kernel configs.

The Zynq-7000 port has been converted to Devicetree and is supported
by the GENERIC kernel now.
 1.9 29-Sep-2020  jmcneill Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime
detection instead of ifdefs where required.
 1.8 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.7 11-Aug-2019  skrll branches: 1.7.6;
Update for recent a9wdt changes
 1.6 06-Feb-2019  rin branches: 1.6.4;
Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.5 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.4 05-Jun-2018  hkenken branches: 1.4.2;
Rename ARM A9 Global Timer driver name to support fdt.

- Rename a9tmr to arma9tmr.
- Add a9tmr_fdt.c based gtmr_fdt.c.
 1.3 25-Nov-2017  christos branches: 1.3.2; 1.3.4;
comment out duplicate options and unknown devices
 1.2 10-Apr-2015  hkenken branches: 1.2.2;
include "GENERIC.common"
 1.1 23-Jan-2015  hkenken branches: 1.1.2;
Initial Zynq (Xilinx) support
Add support for ZedBoard evaluation board and Parallella board.
* cemac(4) Cadence EMAC/GEM(Gigabit) Ethernet Controller driver
based on at91emac
 1.1.2.3 06-Jun-2015  skrll Sync with HEAD
 1.1.2.2 06-Apr-2015  skrll Sync with HEAD
 1.1.2.1 23-Jan-2015  skrll file PARALLELLA was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.2.2.2 11-May-2015  msaitoh Pull up following revision(s) (requested by nonaka in ticket #751):
sys/arch/arm/zynq/zynq_axi.c: revision 1.1
sys/arch/evbarm/conf/files.zynq: revision 1.1
sys/arch/arm/zynq/zynq_uart.c: revision 1.1
sys/arch/evbarm/zynq/genassym.cf: revision 1.1
sys/arch/evbarm/zynq/zynq_start.S: revision 1.1
sys/arch/arm/zynq/zynq_slcrreg.h: revision 1.1
sys/arch/arm/zynq/zynq_usbreg.h: revision 1.1
sys/arch/arm/zynq/zynq7000_uart.c: revision 1.1
sys/arch/arm/zynq/zynq7000_sdhc.c: revision 1.1
sys/arch/arm/zynq/zynq_slcrvar.h: revision 1.1
sys/arch/arm/zynq/zynq_usbvar.h: revision 1.1
sys/arch/evbarm/conf/PARALLELLA_INSTALL: revision 1.1
sys/arch/arm/zynq/zynq_uartreg.h: revision 1.1
sys/arch/evbarm/zynq/platform.h: revision 1.1
sys/arch/evbarm/conf/mk.zynq: revision 1.1
sys/arch/evbarm/conf/files.zedboard: revision 1.1
sys/arch/arm/zynq/zynq7000_usb.c: revision 1.1
sys/dev/cadence/if_cemacvar.h: revision 1.1
sys/arch/arm/zynq/files.zynq: revision 1.1
sys/arch/arm/zynq/zynq_slcr.c: revision 1.1
sys/arch/arm/zynq/zynq7000_intr.h: revision 1.1
sys/arch/arm/conf/majors.arm32: revision 1.36
sys/arch/arm/zynq/zynq_uartvar.h: revision 1.1
sys/arch/evbarm/conf/files.parallella: revision 1.1
sys/arch/arm/zynq/zynq_space.c: revision 1.1
sys/dev/cadence/if_cemac.c: revision 1.1
sys/arch/evbarm/conf/PARALLELLA: revision 1.1
sys/arch/arm/zynq/zynq7000_board.c: revision 1.1
sys/arch/evbarm/Makefile: revision 1.10
sys/arch/evbarm/zynq/zynq_machdep.c: revision 1.1
sys/arch/arm/zynq/zynq7000_reg.h: revision 1.1
sys/arch/evbarm/conf/ZEDBOARD: revision 1.1
sys/dev/cadence/cemacreg.h: revision 1.1
sys/arch/evbarm/conf/std.zynq: revision 1.1
sys/arch/arm/zynq/zynq_dma.c: revision 1.1
sys/arch/arm/zynq/zynq_cemac.c: revision 1.1
sys/arch/arm/zynq/zynq7000_var.h: revision 1.1
sys/arch/evbarm/conf/ZEDBOARD_INSTALL: revision 1.1
sys/arch/arm/zynq/zynq_usb.c: revision 1.1
Initial Zynq (Xilinx) support
Add support for ZedBoard evaluation board and Parallella board.
* cemac(4) Cadence EMAC/GEM(Gigabit) Ethernet Controller driver
based on at91emac
 1.2.2.1 10-Apr-2015  msaitoh file PARALLELLA was added on branch netbsd-7 on 2015-05-11 11:00:33 +0000
 1.3.4.2 20-Oct-2018  pgoyette Sync with head
 1.3.4.1 25-Jun-2018  pgoyette Sync with HEAD
 1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.3.2.1 25-Nov-2017  jdolecek file PARALLELLA was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.4.2.3 21-Apr-2020  martin Sync with HEAD
 1.4.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.6.4.1 15-Aug-2019  martin Pull up following revision(s) (requested by skrll in ticket #55):

sys/arch/arm/cortex/a9wdt.c: revision 1.10
sys/arch/evbarm/conf/HUMMINGBOARD: revision 1.9
sys/arch/evbarm/conf/GENERIC: revision 1.50
sys/arch/evbarm/conf/NITROGEN6X: revision 1.24
sys/arch/arm/cortex/a9tmr_var.h: revision 1.7
sys/arch/arm/fdt/files.fdt: revision 1.29
sys/arch/arm/amlogic/meson_platform.c: revision 1.12
sys/arch/arm/amlogic/meson8b_pinctrl.c: revision 1.2
sys/arch/arm/amlogic/meson_platform.c: revision 1.13
sys/arch/evbarm/conf/BCM5301X: revision 1.34
sys/arch/arm/dts/meson8b.dtsi: revision 1.6
sys/arch/arm/fdt/a9ptmr_fdt.c: revision 1.1
sys/arch/arm/dts/meson8b.dtsi: revision 1.7
sys/arch/arm/cortex/a9ptmr_var.h: revision 1.1
sys/arch/evbarm/conf/PANDABOARD: revision 1.30
sys/arch/evbarm/conf/DUOVERO: revision 1.14
sys/arch/arm/cortex/a9ptmr.c: revision 1.1
sys/arch/arm/cortex/a9ptmr.c: revision 1.2
sys/arch/arm/fdt/a9wdt_fdt.c: revision 1.1
sys/arch/evbarm/conf/BCM56340: revision 1.19
sys/arch/evbarm/conf/CUBOX-I: revision 1.23
sys/arch/arm/amlogic/meson8b_clkc.c: revision 1.4
sys/arch/evbarm/conf/PARALLELLA: revision 1.7
sys/arch/arm/cortex/files.cortex: revision 1.12
sys/arch/arm/dts/meson8b-odroidc1.dts: revision 1.4
sys/arch/arm/cortex/a9wdt.c: revision 1.9
sys/arch/evbarm/conf/ZEDBOARD: revision 1.6

spaces to tab

-

Add a driver for the A5/A9 Private timer.
While here FDTise the Watchdog driver.

-

Update for recent a9wdt changes
-

Trailing whitespace

-
Updates to get Odroid-C1 in better shape since the last DTS import

-

Various fixes / changes
- don't use prescaler
- improve AB_DEBUG output
- fix a9ptmr_delay to work with a decrementing counter!
Thanks to jmcneill@ for proving I'm an idiot

-

Add eth_rxd3 and eth_rxd2 pinctrl groups

-

Catch up to recent mainline dts changes
 1.7.6.1 20-Apr-2020  bouyer Sync with HEAD
 1.2 23-May-2020  jmcneill GC unused INSTALL kernel configs.
 1.1 23-Jan-2015  hkenken branches: 1.1.2; 1.1.4; 1.1.20;
Initial Zynq (Xilinx) support
Add support for ZedBoard evaluation board and Parallella board.
* cemac(4) Cadence EMAC/GEM(Gigabit) Ethernet Controller driver
based on at91emac
 1.1.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.20.1 23-Jan-2015  jdolecek file PARALLELLA_INSTALL was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.4.2 11-May-2015  msaitoh Pull up following revision(s) (requested by nonaka in ticket #751):
sys/arch/arm/zynq/zynq_axi.c: revision 1.1
sys/arch/evbarm/conf/files.zynq: revision 1.1
sys/arch/arm/zynq/zynq_uart.c: revision 1.1
sys/arch/evbarm/zynq/genassym.cf: revision 1.1
sys/arch/evbarm/zynq/zynq_start.S: revision 1.1
sys/arch/arm/zynq/zynq_slcrreg.h: revision 1.1
sys/arch/arm/zynq/zynq_usbreg.h: revision 1.1
sys/arch/arm/zynq/zynq7000_uart.c: revision 1.1
sys/arch/arm/zynq/zynq7000_sdhc.c: revision 1.1
sys/arch/arm/zynq/zynq_slcrvar.h: revision 1.1
sys/arch/arm/zynq/zynq_usbvar.h: revision 1.1
sys/arch/evbarm/conf/PARALLELLA_INSTALL: revision 1.1
sys/arch/arm/zynq/zynq_uartreg.h: revision 1.1
sys/arch/evbarm/zynq/platform.h: revision 1.1
sys/arch/evbarm/conf/mk.zynq: revision 1.1
sys/arch/evbarm/conf/files.zedboard: revision 1.1
sys/arch/arm/zynq/zynq7000_usb.c: revision 1.1
sys/dev/cadence/if_cemacvar.h: revision 1.1
sys/arch/arm/zynq/files.zynq: revision 1.1
sys/arch/arm/zynq/zynq_slcr.c: revision 1.1
sys/arch/arm/zynq/zynq7000_intr.h: revision 1.1
sys/arch/arm/conf/majors.arm32: revision 1.36
sys/arch/arm/zynq/zynq_uartvar.h: revision 1.1
sys/arch/evbarm/conf/files.parallella: revision 1.1
sys/arch/arm/zynq/zynq_space.c: revision 1.1
sys/dev/cadence/if_cemac.c: revision 1.1
sys/arch/evbarm/conf/PARALLELLA: revision 1.1
sys/arch/arm/zynq/zynq7000_board.c: revision 1.1
sys/arch/evbarm/Makefile: revision 1.10
sys/arch/evbarm/zynq/zynq_machdep.c: revision 1.1
sys/arch/arm/zynq/zynq7000_reg.h: revision 1.1
sys/arch/evbarm/conf/ZEDBOARD: revision 1.1
sys/dev/cadence/cemacreg.h: revision 1.1
sys/arch/evbarm/conf/std.zynq: revision 1.1
sys/arch/arm/zynq/zynq_dma.c: revision 1.1
sys/arch/arm/zynq/zynq_cemac.c: revision 1.1
sys/arch/arm/zynq/zynq7000_var.h: revision 1.1
sys/arch/evbarm/conf/ZEDBOARD_INSTALL: revision 1.1
sys/arch/arm/zynq/zynq_usb.c: revision 1.1
Initial Zynq (Xilinx) support
Add support for ZedBoard evaluation board and Parallella board.
* cemac(4) Cadence EMAC/GEM(Gigabit) Ethernet Controller driver
based on at91emac
 1.1.4.1 23-Jan-2015  msaitoh file PARALLELLA_INSTALL was added on branch netbsd-7 on 2015-05-11 11:00:33 +0000
 1.1.2.2 06-Apr-2015  skrll Sync with HEAD
 1.1.2.1 23-Jan-2015  skrll file PARALLELLA_INSTALL was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.23 29-Oct-2022  jmcneill Remove support for OMAP based Gumstix platforms.

These changes are to prepare for the removal of arch/arm/omap. Support
for Xscale based Gumstix platforms remains.

(If someone wants to resurrect DuoVero and Pepper platforms, it's best
to do that in the GENERIC kernel using FDT.)
 1.22 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.21 20-Jan-2021  nia do not enable kernel OSS compat in configs without compat_linux

perhaps kernel OSS compat can be merged into compat_linux to avoid
further confusion
 1.20 29-Sep-2020  jmcneill branches: 1.20.2;
Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime
detection instead of ifdefs where required.
 1.19 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.18 16-Aug-2020  jdolecek make COMPAT_LINUX option disabled by default

leave the option enabled only in amd64/i386 ALL kernels to make
sure it continues to be compilable also when included in kernel
 1.17 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.16 13-Jun-2020  ad Comment out "options PMAPCOUNTERS". It adds much overhead and is mostly of
interest to people hacking on the VM system or pmap. Proposed on port-arm@.
 1.15 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.14 25-Mar-2020  jdolecek branches: 1.14.2;
remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.13 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.12 26-Apr-2019  sevan branches: 1.12.4;
Use veriexec.config to reduce duplication
 1.11 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.10 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.9 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.8 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.7 14-Sep-2017  mrg branches: 1.7.2; 1.7.4; 1.7.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.6 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

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

ok riastradh
 1.5 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.4 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.3 26-Nov-2016  christos branches: 1.3.2; 1.3.4;
mention PAX_SEGVGUARD dependency on FILEASSOC
 1.2 18-Oct-2016  kiyohara branches: 1.2.2;
Enable tifb and wsdisplay.
 1.1 15-Oct-2016  kiyohara Add Gumstix Inc's Pepper and DuoVero.
 1.2.2.4 20-Mar-2017  pgoyette Sync with HEAD
 1.2.2.3 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.2.2.2 04-Nov-2016  pgoyette Sync with HEAD
 1.2.2.1 18-Oct-2016  pgoyette file PEPPER was added on branch pgoyette-localcount on 2016-11-04 14:49:00 +0000
 1.3.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.3.2.3 28-Aug-2017  skrll Sync with HEAD
 1.3.2.2 05-Dec-2016  skrll Sync with HEAD
 1.3.2.1 26-Nov-2016  skrll file PEPPER was added on branch nick-nhusb on 2016-12-05 10:54:52 +0000
 1.7.6.3 21-Apr-2020  martin Sync with HEAD
 1.7.6.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.7.6.1 10-Jun-2019  christos Sync with HEAD
 1.7.4.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.7.4.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.7.4.1 28-Jul-2018  pgoyette Sync with HEAD
 1.7.2.2 03-Dec-2017  jdolecek update from HEAD
 1.7.2.1 14-Sep-2017  jdolecek file PEPPER was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.12.4.1 25-Jan-2020  ad Sync with head.
 1.14.2.1 20-Apr-2020  bouyer Sync with HEAD
 1.20.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.11 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.10 21-Jan-2021  nia branches: 1.10.4;
remove "no options" for compat_ossaudio now it's disabled by default
 1.9 16-Aug-2020  jdolecek branches: 1.9.2;
make COMPAT_LINUX option disabled by default

leave the option enabled only in amd64/i386 ALL kernels to make
sure it continues to be compilable also when included in kernel
 1.8 16-May-2020  maya 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.7 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.6 17-Jan-2020  jklos Remove npf in POGO because it's now in SHEEVAPLUG.
 1.5 01-Aug-2018  maxv branches: 1.5.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.4 25-Nov-2017  christos branches: 1.4.2; 1.4.4; 1.4.6;
comment out duplicate options and unknown devices
 1.3 13-Dec-2016  christos wildcard speaker attachments, now that we can handle many of them.
 1.2 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.1 12-Mar-2016  jklos branches: 1.1.2; 1.1.4;
Add kernel configuration file for PogoPlug Pink, PogoPlug Mobile and
PogoPlug v4. Add conditional because PogoPlug v4 can't run SD interface at
50 MHz.
 1.1.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.2.1 12-Mar-2016  skrll file POGO was added on branch nick-nhusb on 2016-03-19 11:29:58 +0000
 1.4.6.2 08-Apr-2020  martin Merge changes from current as of 20200406
 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 25-Nov-2017  jdolecek file POGO was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.5.6.2 29-Feb-2020  ad Sync with head.
 1.5.6.1 17-Jan-2020  ad Sync with head.
 1.9.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.10.4.1 01-Aug-2021  thorpej Sync with HEAD.
 1.40 24-Feb-2024  andvar Remove OMAP5EVM kernel config from README.evbarm, it was retired a while ago.
 1.39 29-Oct-2022  jmcneill Remove support for TI OMAP 2420 and 2430 eval boards.

This is part of the arch/arm/omap removal.
 1.38 29-Oct-2022  jmcneill Remove support for TI OMAP 5912 OSK board.

This is part of the arch/arm/omap removal.
 1.37 29-Oct-2022  jmcneill Remove support for TI OMAP-L138 based Hawkboard.

This change is part of arch/arm/omap removal.
 1.36 29-Oct-2022  jmcneill Remove support for OMAP based Gumstix platforms.

These changes are to prepare for the removal of arch/arm/omap. Support
for Xscale based Gumstix platforms remains.

(If someone wants to resurrect DuoVero and Pepper platforms, it's best
to do that in the GENERIC kernel using FDT.)
 1.35 29-Oct-2022  jmcneill Retire arch/evbarm/beagle.

A few more kernel configs go away:

- OMAP5EVM and PANDABOARD likely never worked to begin with.
- N900 and VTC100 are TI AM335x based, which is supported by GENERIC.
 1.34 28-Oct-2022  jmcneill Retire PARALLELLA and ZEDBOARD kernel configs.

The Zynq-7000 port has been converted to Devicetree and is supported
by the GENERIC kernel now.
 1.33 26-Jun-2021  rin ARMADILLO-IOT-G3 kernel was gone; it is now supported by GENERIC.
 1.32 05-Nov-2020  rin branches: 1.32.4;
Fix typo; i.M31 --> i.MX31
 1.31 24-May-2020  skrll branches: 1.31.2;
Note GENERIC and GENREIC64
 1.30 23-May-2020  rin Add missing entries.
 1.29 23-May-2020  rin sort
 1.28 23-May-2020  jmcneill GC TOASTER kernel
 1.27 03-Nov-2019  jmcneill OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.
 1.26 03-Nov-2019  jmcneill OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.
 1.25 31-Oct-2019  jmcneill Remove BEAGLEBOARDXM kernel (supported by GENERIC now)
 1.24 30-Oct-2019  jmcneill Remove DEVKIT8000 kernel (GENERIC should work now)
 1.23 30-Oct-2019  jmcneill Remove BEAGLEBOARD kernel (supported by GENERIC now)
 1.22 28-Oct-2019  jmcneill Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).
 1.21 31-Mar-2019  jmcneill branches: 1.21.4;
Remove SUNXI kernel config.
 1.20 31-Mar-2019  jmcneill Remove TEGRA kernel config.
 1.19 02-Mar-2019  jmcneill ODROID-C1 kernel is no more
 1.18 08-Apr-2018  jmcneill branches: 1.18.2;
Remove old Allwinner port.
 1.17 19-Feb-2018  jmcneill branches: 1.17.2;
ROCKCHIP is gone
 1.16 08-Oct-2017  jmcneill Remove ALLWINNER_A80 kernel config; use SUNXI for these boards instead.
 1.15 02-Jul-2017  jmcneill Rename JETSONTK1 to TEGRA, add SUNXI
 1.14 07-Jan-2017  kiyohara Support SolidRun Cubox.
 1.13 15-Oct-2016  kiyohara Add Pepper and DuoVero.
 1.12 12-Jul-2016  kiyohara branches: 1.12.2;
Add VTC100 and KURONAS_X4.
 1.11 10-Apr-2015  hkenken add PARALLELLA and ZEDBOARD
 1.10 29-Mar-2015  jmcneill hey there's a README here! add ALLWINNER_A80, BPI, CUBIEBOARD, CUBIETRUCK, HUMMINGBIRD_A31, JETSONTK1, ODROID-C1, ROCKCHIP configs
 1.9 09-Mar-2015  skrll Note RPI2
 1.8 25-Jul-2014  hkenken branches: 1.8.4;
Initial commit of support for Kobo touch. (i.MX507 or i.MX508)
(http://www.kobo.com)
 1.7 30-Sep-2013  kiyohara branches: 1.7.2;
Add Plat'Home OpenBlocks AX3.
 1.6 29-Dec-2012  kiyohara branches: 1.6.2;
Update for comment of OVERO. It support Overo COMS.
 1.5 07-Dec-2012  khorben This adds a kernel configuration file for the Nokia N900 smartphone. It
is heavily based on the one for the Beagleboard (as documented first by
rhaamo).

The kernel boots properly and then asks for the root device. The
default partitions for flash memory are based on what's expected on a
stock N900 device.

ok mrg@, after initial review on port-arm@ a few weeks ago.
 1.4 01-Sep-2012  matt branches: 1.4.2;
Add some more kernels
 1.3 01-Aug-2012  kiyohara Add OPENBLOCKS_A6 (Plat'Home OpenBlockS A6).
 1.2 26-Jul-2012  tsutsui Note RPI for Raspberry Pi.
 1.1 07-Apr-2012  tsutsui branches: 1.1.2; 1.1.4;
Add a "supported board list" of NetBSD/evbarm with a brief desctiption
of each board. Surveyed for NetBSD port presentation at
Open Source Conference 2012 Ehime.

Thanks to agc@, kiyohara@, and macallan@ for comments.
 1.1.4.2 29-Apr-2012  mrg sync to latest -current.
 1.1.4.1 07-Apr-2012  mrg file README.evbarm was added on branch jmcneill-usbmp on 2012-04-29 23:04:38 +0000
 1.1.2.6 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.2.5 23-Jan-2013  yamt sync with head
 1.1.2.4 16-Jan-2013  yamt sync with (a bit old) head
 1.1.2.3 30-Oct-2012  yamt sync with head
 1.1.2.2 17-Apr-2012  yamt sync with head
 1.1.2.1 07-Apr-2012  yamt file README.evbarm was added on branch yamt-pagecache on 2012-04-17 00:06:13 +0000
 1.4.2.3 03-Dec-2017  jdolecek update from HEAD
 1.4.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.2.1 25-Feb-2013  tls resync with head
 1.6.2.1 18-May-2014  rmind sync with head
 1.7.2.1 10-Aug-2014  tls Rebase.
 1.8.4.6 28-Aug-2017  skrll Sync with HEAD
 1.8.4.5 05-Feb-2017  skrll Sync with HEAD
 1.8.4.4 05-Dec-2016  skrll Sync with HEAD
 1.8.4.3 05-Oct-2016  skrll Sync with HEAD
 1.8.4.2 06-Jun-2015  skrll Sync with HEAD
 1.8.4.1 06-Apr-2015  skrll Sync with HEAD
 1.12.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.12.2.1 04-Nov-2016  pgoyette Sync with HEAD
 1.17.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.18.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.18.2.1 10-Jun-2019  christos Sync with HEAD
 1.21.4.1 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.31.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.32.4.1 01-Aug-2021  thorpej Sync with HEAD.
 1.22 08-Feb-2018  jmcneill Move Rockchip port to the attic. It is not very useful.
 1.21 25-Nov-2017  christos branches: 1.21.2;
comment out duplicate options and unknown devices
 1.20 03-Apr-2015  jmcneill branches: 1.20.2;
Move common non-device stuff to GENERIC.common. Simplify board configs,
and let them all share common settings.
 1.19 31-Mar-2015  riz Spell "Independent" correctly in cargo-culted comments.
 1.18 17-Jan-2015  jmcneill Add Rockchip PX2 support, from FUKAUMI Naoki <fun@naobsd.org>
 1.17 11-Jan-2015  jmcneill looks like hym8563 and pcf8563 are compatible, switch to pcf8563rtc driver
 1.16 11-Jan-2015  jmcneill add hymrtc driver
 1.15 10-Jan-2015  jmcneill add rlphy
 1.14 05-Jan-2015  jmcneill remove rgephy, radxa rock seems to have an smsc phy that works with ukphy
 1.13 04-Jan-2015  jmcneill add rkemac, rgephy, ukphy
 1.12 03-Jan-2015  jmcneill attach rktimer and rkiic early
 1.11 02-Jan-2015  jmcneill add rktimer
 1.10 01-Jan-2015  jmcneill wire down iicN units, add act8846pm at iic1
 1.9 31-Dec-2014  jmcneill fix i2c offsets
 1.8 30-Dec-2014  jmcneill MULTIPROCESSOR works now
 1.7 30-Dec-2014  jmcneill specify irq numbers for rkiic so we can avoid polled mode when possible
 1.6 30-Dec-2014  jmcneill enable rkiic and iic
 1.5 29-Dec-2014  jmcneill something wrong with MP, turn it off for now
 1.4 28-Dec-2014  jmcneill enable MULTIPROCESSOR
 1.3 27-Dec-2014  jmcneill Bring this closer to Allwinner / RPI configs:
Add MSDOSFS, KERNFS, PROCFS, INET6, SYSVMSG, SYSVSEM, SYSVSHM, BUFQ_PRIOCSCAN.
Remove DEBUG, LOCKDEBUG, VERBOSE_INIT_ARM.
Change DDB_ONPANIC from 2 to 1.
Cinclude ROCKCHIP.local
 1.2 27-Dec-2014  jmcneill add dwcmmc
 1.1 26-Dec-2014  jmcneill Initial support for Rockchip RK3066 / RK3188 SoCs, from Hiroshi Tokuda
<tokuda@tokuda.net> on port-arm:

http://mail-index.netbsd.org/port-arm/2014/10/09/msg002651.html
 1.20.2.2 06-Apr-2015  skrll Sync with HEAD
 1.20.2.1 03-Apr-2015  skrll file ROCKCHIP was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.21.2.2 03-Dec-2017  jdolecek update from HEAD
 1.21.2.1 25-Nov-2017  jdolecek file ROCKCHIP was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.97 09-Oct-2025  skrll Add the beginnings of a GENERIC_V5 kernel that targets armv5 boards and
uses FDT.

In this first iteration some support is added for OLinuXino boards.

Thanks to Yuri Honegger for doing the vast majority of the work.
 1.96 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.95 17-Jan-2022  thorpej Re-factor and overhaul the "mcp23s17gpio" driver as "mcpgpio", and
add support for 8-bit and I2C variants of the chip:
- MCP23008 / MCP23S08: 8-bit (I2C / SPI)
- MCP23017 / MCP23S17: 16-bit (I2C / SPI)
- MCP23018 / MCP23S18: 16-bit (I2C / SPI), open-drain outputs

The MCP23x17 and MCP23x18 are essentially identical, software-wise; we
merely report different GPIO pin capabilities (no push-pull output for
MCP23x18). Also, remove the tri-state capability that was previously
advertised by the old version of this driver; these chips have no way
to put the pin into a HI-Z mode.

All 3 I2C versions are supported, but the SPI front-end still only
supports the MCP23S17 for now (SPI autoconfiguration needs an overhaul).

mcp23s17gpio(4) remains present as a link to the new mcpgpio(4) man page.

XXX Still to-do: FDT integration, interrupt suppoort.
 1.94 23-Nov-2020  rin Support EARLYCONS and VERBOSE_INIT_ARM for Raspberry Pi Zero W, for
which mini UART should be used instead of PL011 UART.
 1.93 30-Oct-2020  rin branches: 1.93.2;
Add bigger console font for modern displays.
 1.92 30-Oct-2020  rin Add smscphy(4).
 1.91 18-May-2020  jmcneill Separate devicetree .dts -> .dtb building from kernel builds. They are now
part of a separate set, "dtb.tgz", and only built when MKDTB=yes. This
defaults to yes for earmv[67]* and aarch64, and no everywhere else.
 1.90 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.89 26-Jan-2020  mlelstv branches: 1.89.4;
Add builtin WiFi and Bluetooth.
 1.88 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.87 22-Jun-2019  skrll branches: 1.87.4;
Rename watchdog -> bcmpmwdog and sdhost to bcmsdhost
 1.86 09-Mar-2019  skrll Add DTS for Raspberry Pi Compute Module IO board rev1
 1.85 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.84 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.83 04-Jul-2018  gdt RPI: remove commented-out pseudodevices

Remove a number of commented out pseudodevice lines that are
duplicative with GENERIC.common. Othewise, someone might think it
reasonable to uncomment or add them.

For now, a number of pseudodevices that are not in GENERIC.common
remain, pending comments on the larger-scale rototill.
 1.82 01-Jul-2018  skrll Add bcm2835-rpi-zero-w.dts and bcm2837-rpi-3-b-plus.dts as appropriate

PR/53284 - Support RPI3B+,RPI0W,RPI2-1.2
 1.81 30-Jun-2018  jmcneill Attach simplebus on pass 0
 1.80 30-Jun-2018  jmcneill cpus: use fdt_add_bus
 1.79 30-Jun-2018  jmcneill Allow nodes to attach child devices using the same sorting rules as used
by the simplebus driver.
 1.78 10-Dec-2017  skrll branches: 1.78.2; 1.78.4;
FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.

The kernel image that the RPI firmware boots is now netbsd.img in the
kernel build directory.

XXX fdtbus_get_reg needs reworking
 1.77 05-Nov-2017  skrll Disable USB_DEBUG by default
 1.76 11-Aug-2017  jmcneill attach audio at audiobus (for pad)
 1.75 10-Aug-2017  nat Add bluetooth serial uart devices.

RPI3 on-board bluetooth controller works with the bthfive pseudo-device.
 1.74 30-Jul-2017  jmcneill Add support for BCM2835 AUX UART.
 1.73 30-Jul-2017  jmcneill enable sdhost driver (ok skrll@)
 1.72 30-Jul-2017  jmcneill Add driver for the bcm2835 internal SD controller. On boards with SDIO
Wi-Fi, the internal SD controller is used for the SD card slot and the
Arasan SDHCI controller is used for SDIO.
 1.71 13-Dec-2016  christos wildcard speaker attachments, now that we can handle many of them.
 1.70 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.69 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.68 18-Oct-2016  aymeric add commented out entry to attach Pi Face Real Time Clock
 1.67 22-Apr-2016  christos branches: 1.67.2;
undo unintended commit
 1.66 22-Apr-2016  christos Elide unused variable warnings (Felix Deichmann)
 1.65 04-Oct-2015  skrll Fix commented out USB HC debug options. RPI doesn't have [eo]hci.
 1.64 18-Aug-2015  phx MI driver for the Microchip 3x0x series of SAR analog to digital converters.
 1.63 18-Apr-2015  skrll Remove dmover(9) references
 1.62 18-Apr-2015  skrll Use GENERIC.common
 1.61 14-Mar-2015  jmcneill re-add ARM11_COMPAT_MMU, lost in the rpi2 shuffle
 1.60 28-Feb-2015  skrll Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.

This commit changes the KVA layout of the RPI.
 1.59 08-Nov-2014  skrll branches: 1.59.2;
Move some options into std.rpi
 1.58 12-Oct-2014  macallan add commented out entry for linksprite's RTC module
 1.57 11-Oct-2014  uebayasi Device midi attachment where the evil usbdevices.config is included.
 1.56 03-Oct-2014  skrll Introduce RPI_HWCURSOR and default to off. The existing code causes
problems with vchiq at the moment.
 1.55 25-Sep-2014  jakllsch enable NFS root FS support in RPI
 1.54 22-Sep-2014  skrll Re-enable bcmdmac by popular demand. It works now too.
 1.53 13-Sep-2014  skrll Make emmc use of dma controller optional and disable the bcmdmac for now.

It doesn't work for me.
 1.52 12-Sep-2014  jmcneill enable bcmdmac, now required by sdhc
 1.51 07-Sep-2014  jmcneill add bcmdmac0, commented out until something uses it
 1.50 05-Sep-2014  skrll Copy the list of PHYs from elsewhere.

XXX sys/dev/mii/miidevices.config anyone?
 1.49 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.48 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.47 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.46 03-Aug-2014  martin branches: 1.46.2;
Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.45 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.44 22-Apr-2014  kardel add a driver for BCM2835 obio gpio
 1.43 06-Apr-2014  kardel add Microchip MCP23S17 GPIO driver
(via SPI interface)
 1.42 31-Jan-2014  skrll branches: 1.42.2;
More symbols
 1.41 15-Oct-2013  skrll Switch to dwctwo(4) from dotg(4) for the RaspberryPi port. This brings
DMA support and (initial) isoc transfer support.

Remove URTWN_DOTG_WORKAROUND as dwctwo doesn't appear to need it.
 1.40 12-Aug-2013  matt bump symtab space
 1.39 11-Aug-2013  riz Bump symtab space.
 1.38 07-Aug-2013  skrll Fix stale comment
 1.37 28-Jul-2013  skrll Enable PUFFS
 1.36 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.35 28-Jun-2013  matt branches: 1.35.2;
Make this like all other INSTALL files. Override RAMDISKNAME to sshramdisk
 1.34 05-Jun-2013  christos remove obsolete networking options
 1.33 15-May-2013  reinoud Add missing filesystems in the filesystem list but comment them out.
Add missing KGDB options needed for KGDB working
 1.32 07-May-2013  skrll Enable putter. Shoot me now.
 1.31 17-Apr-2013  reinoud Enable VCONS_DRAW_INTR speeding up the graphic console of the RPi
significantly!
 1.30 25-Mar-2013  jmcneill enable vchiq, add vcaudio and audio drivers
 1.29 24-Mar-2013  jmcneill add drvctl
 1.28 08-Mar-2013  skrll Disable vchiq for now.
 1.27 08-Mar-2013  jmcneill add vchiq0 at obio?
 1.26 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.25 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.24 21-Feb-2013  skrll Add PCVT compat (for X console switching) and SYSCONS for some more
ioctls.
 1.23 25-Jan-2013  jmcneill add bcmrng
 1.22 21-Jan-2013  jakllsch Change the root device to '?' instead of 'ld0a'.
This was overriding the root=device passed in on the kernel command line.
 1.21 11-Jan-2013  skrll Bump SYMTAB_SPACE
 1.20 10-Jan-2013  jmcneill enable framebuffer console driver
 1.19 09-Jan-2013  skrll Enable COMPAT_60
 1.18 09-Jan-2013  skrll Add ukphy
 1.17 09-Jan-2013  skrll Add/enable USB
 1.16 09-Jan-2013  jmcneill pull in RPI.local if it exists
 1.15 09-Jan-2013  jmcneill add genfb, disabled for now
 1.14 08-Jan-2013  jakllsch Add bcmspi(4) and bsciic(4) and subordinate busses.
 1.13 07-Jan-2013  jmcneill add vcmbox driver
 1.12 19-Dec-2012  skrll Add lockstat pseudo-device
 1.11 30-Oct-2012  skrll Comment out VERBOSE_INIT_ARM by default
 1.10 17-Oct-2012  apb branches: 1.10.2;
Add commented out "#options COMPAT_60" to all kernel configuration files
that already had commented out "#options COMPAT_50".
 1.9 03-Oct-2012  skrll Add a bunch of pseudodevices and LOCKDEBUG. All commented out.
 1.8 11-Sep-2012  msaitoh branches: 1.8.2;
Add PUFFS, putter and fss.
 1.7 01-Sep-2012  jakllsch When we do get a working and stable USB HCD,
we'll want to use usbdevices.config.
 1.6 01-Sep-2012  matt Bump up SYMTAB_SPACE
 1.5 20-Aug-2012  skrll Better/different/consistent wscons colours.
 1.4 20-Aug-2012  skrll First pass at a VC mailbox driver.
 1.3 17-Aug-2012  abs Ensure all WSDISPLAY_COMPAT_USL entries have same comment
 1.2 16-Aug-2012  jakllsch What was MEMSIZE is now determined automatically. Remove MEMSIZE.
 1.1 26-Jul-2012  skrll branches: 1.1.2;
Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.
 1.1.2.3 13-Feb-2013  riz Pull up following revision(s) (requested by skrll in ticket #813):

etc/MAKEDEV.tmpl 1.160
etc/etc.evbarm/MAKEDEV.conf 1.9
external/broadcom/rpi-firmware/dist/LICENCE.broadcom 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.2
external/broadcom/rpi-firmware/dist/fixup.dat 1.1
external/broadcom/rpi-firmware/dist/fixup.dat 1.2
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.1
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.2
external/broadcom/rpi-firmware/dist/start.elf 1.1
external/broadcom/rpi-firmware/dist/start.elf 1.2
external/broadcom/rpi-firmware/dist/start_cd.elf 1.1
external/broadcom/rpi-firmware/dist/start_cd.elf 1.2
sys/arch/arm/broadcom/bcm2835_bsc.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_bscreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_dotg.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_emmc.c 1.7 via patch
sys/arch/arm/broadcom/bcm2835_genfb.c 1.4 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_gpioreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_intr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_mbox.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_mbox.h 1.4 via patch
sys/arch/arm/broadcom/bcm2835_obio.c 1.17 via patch
sys/arch/arm/broadcom/bcm2835_pm.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_rng.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_space.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_spi.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_spireg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_tmr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835reg.h 1.10 via patch
sys/arch/arm/broadcom/files.bcm2835 1.14 via patch
sys/arch/evbarm/conf/RPI 1.23 via patch
sys/arch/evbarm/conf/files.rpi 1.3 via patch
sys/arch/evbarm/conf/mk.rpi 1.2 via patch
sys/arch/evbarm/conf/std.rpi 1.4 via patch
sys/arch/evbarm/rpi/rpi_machdep.c 1.34 via patch
sys/arch/evbarm/rpi/rpi_start.S 1.7 via patch
sys/arch/evbarm/rpi/rpi_vcmbox.c 1.2 via patch
sys/arch/evbarm/rpi/vcio.h 1.1 via patch
sys/arch/evbarm/rpi/vcprop.h 1.7 via patch
sys/conf/files patch
sys/dev/sdmmc/sdhc.c 1.43
sys/dev/sdmmc/sdhcvar.h 1.13
sys/dev/usb/dwc_otg.c 1.45 via patch
sys/dev/usb/dwc_otgreg.h 1.5 via patch
sys/dev/usb/dwc_otgvar.h 1.11 via patch
sys/dev/usb/files.usb 1.126 via patch
sys/dev/usb/if_smsc.c 1.7 via patch
sys/dev/usb/if_smscreg.h 1.1 via patch
sys/dev/usb/if_smscvar.h 1.1 via patch
sys/dev/usb/usbdevices.config patch
sys/dev/usb/usbdevs 1.633 via patch
sys/dev/usb/usbdevs.h regen
sys/dev/usb/usbdevs_data.h regen
sys/dev/wscons/wsconsio.h 1.105,1.107 via patch
sys/dev/wscons/wsdisplayvar.h 1.50
sys/dev/wscons/wsdisplay_util.c 1.2
sys/dev/videomode/edid.c 1.12 via patch

Greatly improved Raspberry Pi support. USB and onboard
Ethernet should work.
[skrll, ticket #813]
 1.1.2.2 09-Aug-2012  jdc Pull up revisions:
src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4
src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65
src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40
src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14
src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11
src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2
src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108
src/sys/arch/arm/arm32/cpu.c revision 1.79
src/sys/arch/arm/include/armreg.h revisions 1.49,1.54
src/sys/arch/arm/arm32/pmap.c revision 1.229
src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77
src/sys/arch/arm/include/cpu.h revision 1.64
src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3
src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1
src/sys/arch/arm/conf/files.arm revision 1.106
src/sys/arch/arm/include/cpufunc.h revision 1.57
src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24
src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8
src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4
src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69
src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1
src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1
src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1
src/sys/arch/evbarm/Makefile revision 1.9
src/sys/arch/evbarm/conf/RPI revision 1.1
src/sys/arch/evbarm/conf/files.rpi revision 1.1
src/sys/arch/evbarm/conf/mk.rpi revision 1.1
src/sys/arch/evbarm/conf/std.rpi revision 1.1
src/sys/arch/evbarm/rpi/genassym.cf revision 1.1
src/sys/arch/evbarm/rpi/rpi.h revision 1.1
src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1
src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2
src/etc/etc.evbarm/Makefile.inc revision 1.28
(requested by skrll in ticket #454).

don't mix #define<TAB> and #define<SPACE> in a file.

avoid warning with options PLCOM_DEBUG for INTEGRATOR.

Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.

Replace the simple_lock with a kmutex_t. Update the locking to match
com(4) in the few places it didn't already.

DOH. Replace a line that got accidently deleted in the last commit.

device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t

Add the 'Z' to the 1176 cpu product name.

ok matt@

Fix locking botch introduced in 1.36.

Fix a KASSERT. From/OK'ed by matt@

Fix racy softint dispatch that lead to KASSERT(si->si_active) in
softint_execute

Discussed with matt@. "Looks good to me"

Add the documented ARM11[37]6 Auxiliary control register defines.

Add support for the ARM1176JZS

Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).

Provide a method for attachments to specify capabilites.

Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.

Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.

Add RPI to KERNEL_SETS

Remove #if 0 code.
 1.1.2.1 26-Jul-2012  jdc file RPI was added on branch netbsd-6 on 2012-08-09 06:36:43 +0000
 1.8.2.5 03-Dec-2017  jdolecek update from HEAD
 1.8.2.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.2.3 23-Jun-2013  tls resync from head
 1.8.2.2 25-Feb-2013  tls resync with head
 1.8.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.10.2.5 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.4 23-Jan-2013  yamt sync with head
 1.10.2.3 16-Jan-2013  yamt sync with (a bit old) head
 1.10.2.2 30-Oct-2012  yamt sync with head
 1.10.2.1 17-Oct-2012  yamt file RPI was added on branch yamt-pagecache on 2012-10-30 17:19:20 +0000
 1.35.2.2 18-May-2014  rmind sync with head
 1.35.2.1 28-Aug-2013  rmind sync with head
 1.42.2.1 10-Aug-2014  tls Rebase.
 1.46.2.7 15-Mar-2015  snj Pull up following revision(s) (requested by jmcneill in ticket #593):
sys/arch/evbarm/conf/RPI: revision 1.61
sys/arch/evbarm/conf/RPI2: revision 1.3
re-add ARM11_COMPAT_MMU, lost in the rpi2 shuffle
--
add no options ARM11_COMPAT_MMU
 1.46.2.6 11-Mar-2015  snj Pull up following revision(s) (requested by skrll in ticket #582):
distrib/utils/embedded/conf/rpi.conf: revision 1.27
etc/etc.evbarm/Makefile.inc: revision 1.70
sys/arch/arm/broadcom/bcm2835_intr.c: revision 1.5-1.7
sys/arch/arm/broadcom/bcm2835_obio.c: revision 1.23, 1.24
sys/arch/arm/broadcom/bcm2835_space.c: revision 1.8
sys/arch/arm/broadcom/bcm2835reg.h: revision 1.14
sys/arch/arm/broadcom/bcm2835var.h: revision 1.2
sys/arch/arm/broadcom/files.bcm2835: revision 1.24
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.30
sys/arch/arm/cortex/armperiph.c: revision 1.8, 1.9
sys/arch/arm/cortex/gtmr.c: revision 1.9
sys/arch/arm/cortex/gtmr_var.h: revision 1.5
sys/arch/arm/cortex/mpcore_var.h: revision 1.3
sys/arch/arm/include/cpu.h: revision 1.84
sys/arch/evbarm/conf/RPI2: revision 1.1, 1.2
sys/arch/evbarm/conf/RPI2_INSTALL: revision 1.1
sys/arch/evbarm/conf/RPI: revision 1.59, 1.60
sys/arch/evbarm/conf/mk.rpi: revision 1.4
sys/arch/evbarm/conf/std.rpi: revisions 1.16-1.19 via patch
sys/arch/evbarm/rpi/genassym.cf: revision 1.2
sys/arch/evbarm/rpi/rpi.h: revision 1.4
sys/arch/evbarm/rpi/rpi2_start.S: revision 1.1
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.57, 1.58 via patch
sys/arch/evbarm/rpi/rpi_start.S: revision 1.13
Move some options into std.rpi
--
Add __HAVE_MM_MD_CACHE_ALIASING
Pull up following revision(s) (requested by skrll in ticket #582):
Fix TPIDRPRW_IS_CURLWP builds.
--
A MULTIPROCESSOR kernel requires TPIDRPRW_IS_CURCPU.
--
Use TPIDRPRW_IS_CURLWP as it's a slight code reduction and performance
improvement.
Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.
This commit changes the KVA layout of the RPI.
--
Make this compile where gtmr isn't used.
--
Spin up the non-boot CPUs, but don't allow cpu_boot_secondary_processors
to see them for now.
RPI2 nows works well with only the boot cpu.
--
Appease a KASSERT - will be remove when MULTIPROCESSOR RPI2 is fixed.
--
Add RPI2 to kernels build for both earmv[67].
Use the earmv6 built kernels to create an image that can be used on both
RPI and RPI2
--
Add an RPI2_INSTALL
 1.46.2.5 25-Nov-2014  martin Remove options DEBUG. Requested by skrll in #265
 1.46.2.4 14-Nov-2014  martin Pull up following revision(s) (requested by jakllsch in ticket #235):
sys/arch/evbarm/conf/RPI: revision 1.55
enable NFS root FS support in RPI
 1.46.2.3 03-Oct-2014  martin Pull up following revision(s) (requested by skrll in ticket #126):
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.47
sys/arch/arm/broadcom/bcm2835reg.h: revision 1.12
sys/arch/evbarm/conf/RPI: revision 1.52
sys/arch/evbarm/conf/RPI: revision 1.53
sys/arch/evbarm/conf/RPI: revision 1.54
sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.10
sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.11
sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.12
sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.13
sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.14
sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.15
sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.3
sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.4
sys/arch/arm/broadcom/bcm2835_dmac.h: revision 1.2
sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.5
sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.18
sys/arch/arm/broadcom/bcm2835_dmac.h: revision 1.3
sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.6
sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.7
sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.8
sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.9
sys/arch/arm/broadcom/files.bcm2835: revision 1.23
sys/dev/sdmmc/sdhc.c: revision 1.45
sys/dev/sdmmc/sdhc.c: revision 1.46
sys/dev/sdmmc/sdhc.c: revision 1.47
sys/dev/sdmmc/sdhcvar.h: revision 1.14
Various RPI DMAC and sdhc improvements.
 1.46.2.2 11-Sep-2014  martin Pull up the following changes (requested by skrll, #83):
sys/arch/arm/broadcom/bcm2835_dmac.c 1.1-1.2
sys/arch/arm/broadcom/bcm2835_dmac.h 1.1
sys/arch/arm/broadcom/bcm2835_intr.c 1.4
sys/arch/arm/broadcom/bcm2835_obio.c 1.21
sys/arch/arm/broadcom/bcm2835reg.h 1.11
sys/arch/arm/broadcom/files.bcm2835 1.22
sys/arch/evbarm/conf/RPI 1.51
sys/arch/evbarm/rpi/rpi_machdep.c 1.46

Add bcm2835 dma controller driver.
 1.46.2.1 08-Sep-2014  msaitoh Pull up following revision(s) (requested by skrll in ticket #76):
sys/arch/evbarm/conf/RPI: revision 1.50
Copy the list of PHYs from elsewhere.
XXX sys/dev/mii/miidevices.config anyone?
 1.59.2.7 28-Aug-2017  skrll Sync with HEAD
 1.59.2.6 05-Feb-2017  skrll Sync with HEAD
 1.59.2.5 05-Dec-2016  skrll Sync with HEAD
 1.59.2.4 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.59.2.3 22-Sep-2015  skrll Sync with HEAD
 1.59.2.2 06-Jun-2015  skrll Sync with HEAD
 1.59.2.1 06-Apr-2015  skrll Sync with HEAD
 1.67.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.67.2.1 04-Nov-2016  pgoyette Sync with HEAD
 1.78.4.4 21-Apr-2020  martin Sync with HEAD
 1.78.4.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.78.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.78.4.1 10-Jun-2019  christos Sync with HEAD
 1.78.2.3 20-Oct-2018  pgoyette Sync with head
 1.78.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.78.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.87.4.2 29-Feb-2020  ad Sync with head.
 1.87.4.1 25-Jan-2020  ad Sync with head.
 1.89.4.1 20-Apr-2020  bouyer Sync with HEAD
 1.93.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.12 29-Sep-2020  jmcneill Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime
detection instead of ifdefs where required.
 1.11 18-May-2020  jmcneill Separate devicetree .dts -> .dtb building from kernel builds. They are now
part of a separate set, "dtb.tgz", and only built when MKDTB=yes. This
defaults to yes for earmv[67]* and aarch64, and no everywhere else.
 1.10 06-Feb-2020  skrll Add bcm2837-rpi-3-a-plus.dts to DTS. Requested by logix
 1.9 06-Feb-2020  skrll Sort DTS
 1.8 09-Mar-2019  skrll branches: 1.8.6;
Add DTS for Raspberry Pi Compute Module 3 IO board V3.0
 1.7 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.6 01-Jul-2018  skrll Add bcm2835-rpi-zero-w.dts and bcm2837-rpi-3-b-plus.dts as appropriate

PR/53284 - Support RPI3B+,RPI0W,RPI2-1.2
 1.5 27-Jun-2018  ryo branches: 1.5.2;
on evbarm/RPI,RPI2, VERBOSE_INIT_ARM had broken.

XPUTC() of evbarm/rpi/rpi*_start.S uses bcm283[567]_platform_early_putchar() and it requires stack.
fixed to allocate stack when starting from rpi*_start.S and a9_mpsubr.S if needed.

to work XPUTC(), need to define VERBOSE_INIT_ARM and EARLYCONS option.
 1.4 10-Dec-2017  skrll branches: 1.4.2;
FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.

The kernel image that the RPI firmware boots is now netbsd.img in the
kernel build directory.

XXX fdtbus_get_reg needs reworking
 1.3 14-Mar-2015  jmcneill branches: 1.3.2; 1.3.18;
add no options ARM11_COMPAT_MMU
 1.2 04-Mar-2015  skrll branches: 1.2.2;
Spin up the non-boot CPUs, but don't allow cpu_boot_secondary_processors
to see them for now.

RPI2 nows works well with only the boot cpu.
 1.1 28-Feb-2015  skrll Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.

This commit changes the KVA layout of the RPI.
 1.2.2.3 15-Mar-2015  snj Pull up following revision(s) (requested by jmcneill in ticket #593):
sys/arch/evbarm/conf/RPI: revision 1.61
sys/arch/evbarm/conf/RPI2: revision 1.3
re-add ARM11_COMPAT_MMU, lost in the rpi2 shuffle
--
add no options ARM11_COMPAT_MMU
 1.2.2.2 11-Mar-2015  snj Pull up following revision(s) (requested by skrll in ticket #582):
distrib/utils/embedded/conf/rpi.conf: revision 1.27
etc/etc.evbarm/Makefile.inc: revision 1.70
sys/arch/arm/broadcom/bcm2835_intr.c: revision 1.5-1.7
sys/arch/arm/broadcom/bcm2835_obio.c: revision 1.23, 1.24
sys/arch/arm/broadcom/bcm2835_space.c: revision 1.8
sys/arch/arm/broadcom/bcm2835reg.h: revision 1.14
sys/arch/arm/broadcom/bcm2835var.h: revision 1.2
sys/arch/arm/broadcom/files.bcm2835: revision 1.24
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.30
sys/arch/arm/cortex/armperiph.c: revision 1.8, 1.9
sys/arch/arm/cortex/gtmr.c: revision 1.9
sys/arch/arm/cortex/gtmr_var.h: revision 1.5
sys/arch/arm/cortex/mpcore_var.h: revision 1.3
sys/arch/arm/include/cpu.h: revision 1.84
sys/arch/evbarm/conf/RPI2: revision 1.1, 1.2
sys/arch/evbarm/conf/RPI2_INSTALL: revision 1.1
sys/arch/evbarm/conf/RPI: revision 1.59, 1.60
sys/arch/evbarm/conf/mk.rpi: revision 1.4
sys/arch/evbarm/conf/std.rpi: revisions 1.16-1.19 via patch
sys/arch/evbarm/rpi/genassym.cf: revision 1.2
sys/arch/evbarm/rpi/rpi.h: revision 1.4
sys/arch/evbarm/rpi/rpi2_start.S: revision 1.1
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.57, 1.58 via patch
sys/arch/evbarm/rpi/rpi_start.S: revision 1.13
Move some options into std.rpi
--
Add __HAVE_MM_MD_CACHE_ALIASING
Pull up following revision(s) (requested by skrll in ticket #582):
Fix TPIDRPRW_IS_CURLWP builds.
--
A MULTIPROCESSOR kernel requires TPIDRPRW_IS_CURCPU.
--
Use TPIDRPRW_IS_CURLWP as it's a slight code reduction and performance
improvement.
Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.
This commit changes the KVA layout of the RPI.
--
Make this compile where gtmr isn't used.
--
Spin up the non-boot CPUs, but don't allow cpu_boot_secondary_processors
to see them for now.
RPI2 nows works well with only the boot cpu.
--
Appease a KASSERT - will be remove when MULTIPROCESSOR RPI2 is fixed.
--
Add RPI2 to kernels build for both earmv[67].
Use the earmv6 built kernels to create an image that can be used on both
RPI and RPI2
--
Add an RPI2_INSTALL
 1.2.2.1 04-Mar-2015  snj file RPI2 was added on branch netbsd-7 on 2015-03-11 20:22:56 +0000
 1.3.18.2 03-Dec-2017  jdolecek update from HEAD
 1.3.18.1 14-Mar-2015  jdolecek file RPI2 was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.3.2.2 06-Apr-2015  skrll Sync with HEAD
 1.3.2.1 14-Mar-2015  skrll file RPI2 was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.4.2.2 20-Oct-2018  pgoyette Sync with head
 1.4.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.5.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.5.2.1 10-Jun-2019  christos Sync with HEAD
 1.8.6.1 29-Feb-2020  ad Sync with head.
 1.3 28-Oct-2017  pgoyette branches: 1.3.2;
For some reason this single kernel seems to have outgrown its declared
size as a result of the kernhist(9) changes. Bump the size.

XXX The amount of increase may be excessive - anyone with more detailed
XXX knowledge please feel free to further adjust the value appropriately.
 1.2 29-Dec-2016  skrll branches: 1.2.8;
Bump image size
 1.1 06-Mar-2015  skrll branches: 1.1.2; 1.1.4; 1.1.6;
Add an RPI2_INSTALL
 1.1.6.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.4.3 05-Feb-2017  skrll Sync with HEAD
 1.1.4.2 06-Apr-2015  skrll Sync with HEAD
 1.1.4.1 06-Mar-2015  skrll file RPI2_INSTALL was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.1.2.2 11-Mar-2015  snj Pull up following revision(s) (requested by skrll in ticket #582):
distrib/utils/embedded/conf/rpi.conf: revision 1.27
etc/etc.evbarm/Makefile.inc: revision 1.70
sys/arch/arm/broadcom/bcm2835_intr.c: revision 1.5-1.7
sys/arch/arm/broadcom/bcm2835_obio.c: revision 1.23, 1.24
sys/arch/arm/broadcom/bcm2835_space.c: revision 1.8
sys/arch/arm/broadcom/bcm2835reg.h: revision 1.14
sys/arch/arm/broadcom/bcm2835var.h: revision 1.2
sys/arch/arm/broadcom/files.bcm2835: revision 1.24
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.30
sys/arch/arm/cortex/armperiph.c: revision 1.8, 1.9
sys/arch/arm/cortex/gtmr.c: revision 1.9
sys/arch/arm/cortex/gtmr_var.h: revision 1.5
sys/arch/arm/cortex/mpcore_var.h: revision 1.3
sys/arch/arm/include/cpu.h: revision 1.84
sys/arch/evbarm/conf/RPI2: revision 1.1, 1.2
sys/arch/evbarm/conf/RPI2_INSTALL: revision 1.1
sys/arch/evbarm/conf/RPI: revision 1.59, 1.60
sys/arch/evbarm/conf/mk.rpi: revision 1.4
sys/arch/evbarm/conf/std.rpi: revisions 1.16-1.19 via patch
sys/arch/evbarm/rpi/genassym.cf: revision 1.2
sys/arch/evbarm/rpi/rpi.h: revision 1.4
sys/arch/evbarm/rpi/rpi2_start.S: revision 1.1
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.57, 1.58 via patch
sys/arch/evbarm/rpi/rpi_start.S: revision 1.13
Move some options into std.rpi
--
Add __HAVE_MM_MD_CACHE_ALIASING
Pull up following revision(s) (requested by skrll in ticket #582):
Fix TPIDRPRW_IS_CURLWP builds.
--
A MULTIPROCESSOR kernel requires TPIDRPRW_IS_CURCPU.
--
Use TPIDRPRW_IS_CURLWP as it's a slight code reduction and performance
improvement.
Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.
This commit changes the KVA layout of the RPI.
--
Make this compile where gtmr isn't used.
--
Spin up the non-boot CPUs, but don't allow cpu_boot_secondary_processors
to see them for now.
RPI2 nows works well with only the boot cpu.
--
Appease a KASSERT - will be remove when MULTIPROCESSOR RPI2 is fixed.
--
Add RPI2 to kernels build for both earmv[67].
Use the earmv6 built kernels to create an image that can be used on both
RPI and RPI2
--
Add an RPI2_INSTALL
 1.1.2.1 06-Mar-2015  snj file RPI2_INSTALL was added on branch netbsd-7 on 2015-03-11 20:22:56 +0000
 1.2.8.1 02-Nov-2017  snj Pull up following revision(s) (requested by pgoyette in ticket #335):
share/man/man9/kernhist.9: 1.5-1.8
sys/arch/acorn26/acorn26/pmap.c: 1.39
sys/arch/arm/arm32/fault.c: 1.105 via patch
sys/arch/arm/arm32/pmap.c: 1.350, 1.359
sys/arch/arm/broadcom/bcm2835_bsc.c: 1.7
sys/arch/arm/omap/if_cpsw.c: 1.20
sys/arch/arm/omap/tiotg.c: 1.7
sys/arch/evbarm/conf/RPI2_INSTALL: 1.3
sys/dev/ic/sl811hs.c: 1.98
sys/dev/usb/ehci.c: 1.256
sys/dev/usb/if_axe.c: 1.83
sys/dev/usb/motg.c: 1.18
sys/dev/usb/ohci.c: 1.274
sys/dev/usb/ucom.c: 1.119
sys/dev/usb/uhci.c: 1.277
sys/dev/usb/uhub.c: 1.137
sys/dev/usb/umass.c: 1.160-1.162
sys/dev/usb/umass_quirks.c: 1.100
sys/dev/usb/umass_scsipi.c: 1.55
sys/dev/usb/usb.c: 1.168
sys/dev/usb/usb_mem.c: 1.70
sys/dev/usb/usb_subr.c: 1.221
sys/dev/usb/usbdi.c: 1.175
sys/dev/usb/usbdi_util.c: 1.67-1.70
sys/dev/usb/usbroothub.c: 1.3
sys/dev/usb/xhci.c: 1.75
sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: 1.34
sys/kern/kern_history.c: 1.15
sys/kern/kern_xxx.c: 1.74
sys/kern/vfs_bio.c: 1.275-1.276
sys/miscfs/genfs/genfs_io.c: 1.71
sys/sys/kernhist.h: 1.21
sys/ufs/ffs/ffs_balloc.c: 1.63
sys/ufs/lfs/lfs_vfsops.c: 1.361
sys/ufs/lfs/ulfs_inode.c: 1.21
sys/ufs/lfs/ulfs_vnops.c: 1.52
sys/ufs/ufs/ufs_inode.c: 1.102
sys/ufs/ufs/ufs_vnops.c: 1.239
sys/uvm/pmap/pmap.c: 1.37-1.39
sys/uvm/pmap/pmap_tlb.c: 1.22
sys/uvm/uvm_amap.c: 1.108
sys/uvm/uvm_anon.c: 1.64
sys/uvm/uvm_aobj.c: 1.126
sys/uvm/uvm_bio.c: 1.91
sys/uvm/uvm_device.c: 1.66
sys/uvm/uvm_fault.c: 1.201
sys/uvm/uvm_km.c: 1.144
sys/uvm/uvm_loan.c: 1.85
sys/uvm/uvm_map.c: 1.353
sys/uvm/uvm_page.c: 1.194
sys/uvm/uvm_pager.c: 1.111
sys/uvm/uvm_pdaemon.c: 1.109
sys/uvm/uvm_swap.c: 1.175
sys/uvm/uvm_vnode.c: 1.103
usr.bin/vmstat/vmstat.c: 1.219
Reorder to test for null before null deref in debug code
--
Reorder to test for null before null deref in debug code
--
KNF
--
No need for '\n' in UVMHIST_LOG
--
normalise a BIOHIST log message
--
Update the kernhist(9) kernel history code to address issues identified
in PR kern/52639, as well as some general cleaning-up...
(As proposed on tech-kern@ with additional changes and enhancements.)
Details of changes:
* All history arguments are now stored as uintmax_t values[1], both in
the kernel and in the structures used for exporting the history data
to userland via sysctl(9). This avoids problems on some architectures
where passing a 64-bit (or larger) value to printf(3) can cause it to
process the value as multiple arguments. (This can be particularly
problematic when printf()'s format string is not a literal, since in
that case the compiler cannot know how large each argument should be.)
* Update the data structures used for exporting kernel history data to
include a version number as well as the length of history arguments.
* All [2] existing users of kernhist(9) have had their format strings
updated. Each format specifier now includes an explicit length
modifier 'j' to refer to numeric values of the size of uintmax_t.
* All [2] existing users of kernhist(9) have had their format strings
updated to replace uses of "%p" with "%#jx", and the pointer
arguments are now cast to (uintptr_t) before being subsequently cast
to (uintmax_t). This is needed to avoid compiler warnings about
casting "pointer to integer of a different size."
* All [2] existing users of kernhist(9) have had instances of "%s" or
"%c" format strings replaced with numeric formats; several instances
of mis-match between format string and argument list have been fixed.
* vmstat(1) has been modified to handle the new size of arguments in the
history data as exported by sysctl(9).
* vmstat(1) now provides a warning message if the history requested with
the -u option does not exist (previously, this condition was silently
ignored, with only a single blank line being printed).
* vmstat(1) now checks the version and argument length included in the
data exported via sysctl(9) and exits if they do not match the values
with which vmstat was built.
* The kernhist(9) man-page has been updated to note the additional
requirements imposed on the format strings, along with several other
minor changes and enhancements.
[1] It would have been possible to use an explicit length (for example,
uint64_t) for the history arguments. But that would require another
"rototill" of all the users in the future when we add support for an
architecture that supports a larger size. Also, the printf(3)
format
specifiers for explicitly-sized values, such as "%"PRIu64, are much
more verbose (and less aesthetically appealing, IMHO) than simply
using "%ju".
[2] I've tried very hard to find "all [the] existing users of
kernhist(9)"
but it is possible that I've missed some of them. I would be glad
to
update any stragglers that anyone identifies.
--
For some reason this single kernel seems to have outgrown its declared
size as a result of the kernhist(9) changes. Bump the size.
XXX The amount of increase may be excessive - anyone with more detailed
XXX knowledge please feel free to further adjust the value
appropriately.
--
Misssed one cast of pointer --> uintptr_t in previous kernhist(9) commit
--
And yet another one. :(
--
Use correct mark-up for NetBSD version.
--
More improvements in grammar and readability.
--
Remove a stray '"' (obvious typo) and add a couple of casts that are
probably needed.
--
And replace an instance of "%p" conversion with "%#jx"
--
Whitespace fix. Give Bl tag table a width. Fix Xr.
 1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.3.2.1 28-Oct-2017  jdolecek file RPI2_INSTALL was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.2 01-Jan-2018  christos remove this, it was just to compile-test the drivers.
 1.1 28-Dec-2017  christos XXX: Test for the new two environmental drivers
 1.9 19-Nov-2018  skrll Remove RPI64 in favour of GENERIC64. RPI64 was used during testing.
 1.8 12-Oct-2018  ryo add initial support of COMPAT_NETBSD32 on AArch64.
arm ELF32 EABI binaries could be execute in AArch32 state on AArch64. A32 THUMB mode is not supported yet.
 1.7 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.6 09-Jul-2018  ryo enable options MULTIPROCESSOR
 1.5 01-Jul-2018  skrll Add bcm2835-rpi-zero-w.dts and bcm2837-rpi-3-b-plus.dts as appropriate

PR/53284 - Support RPI3B+,RPI0W,RPI2-1.2
 1.4 30-Jun-2018  jmcneill Attach simplebus on pass 0
 1.3 30-Jun-2018  jmcneill cpus: use fdt_add_bus
 1.2 30-Jun-2018  jmcneill Allow nodes to attach child devices using the same sorting rules as used
by the simplebus driver.
 1.1 01-Apr-2018  ryo branches: 1.1.2; 1.1.4;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.2.6 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.2.5 20-Oct-2018  pgoyette Sync with head
 1.1.2.4 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.2.3 28-Jul-2018  pgoyette Sync with HEAD
 1.1.2.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.2.1 01-Apr-2018  pgoyette file RPI64 was added on branch pgoyette-compat on 2018-04-07 04:12:12 +0000
 1.14 26-Mar-2020  skrll Increase MEMORY_DISK_ROOT_SIZE
 1.13 23-Mar-2020  prlw1 The image size increased.
 1.12 24-Jan-2020  mlelstv Adjust RAM disk size to hold the larger image.
 1.11 22-Nov-2019  martin branches: 1.11.2;
Bump space for ramdisk image
 1.10 09-Apr-2018  christos branches: 1.10.2;
bump...
 1.9 29-Dec-2016  skrll branches: 1.9.8; 1.9.14;
Bump image size
 1.8 23-Feb-2015  joerg branches: 1.8.2;
Give LLVM a bit breathing room for the sshramdisk when building for
generic ARM.
 1.7 16-Feb-2015  skrll Bump memory disk size to fix build.
 1.6 31-Oct-2014  uebayasi branches: 1.6.2;
Bump ramdisk size to embed 13M sshramdisk.
 1.5 14-Aug-2014  joerg LLVM sshramdisk needs 8.9MB, so bump again.
 1.4 14-Aug-2014  martin Bump ramdisk size (since we added loads of firmware to it)
 1.3 01-May-2014  martin branches: 1.3.2; 1.3.4;
Do not create debug info for *_INSTALL kernels.
 1.2 28-Jun-2013  matt branches: 1.2.2; 1.2.6;
Make this like all other INSTALL files. Override RAMDISKNAME to sshramdisk
 1.1 19-Mar-2013  garbled branches: 1.1.6;
Add a new installer image for Raspberry PI to evbarm

Includes the following major changes:

1) Add new configmenu item to sysinst to allow creation of users at
post-install time.
2) Add an sshramdisk type to evbarm, which is a ramdisk with sshd
enabled, allowing users to install on a headless PI by sshing to the
device with the account "sysinst" password "netbsd" to begin the
installation. (Note, neither the account, nor the ssh setup are copied to
the finalized installation image)
3) Change mkimage to build a boot-only image, without the root filesystems.

Much of the sshramdisk code could be reused on other ports easily.
 1.1.6.4 03-Dec-2017  jdolecek update from HEAD
 1.1.6.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.2 23-Jun-2013  tls resync from head
 1.1.6.1 19-Mar-2013  tls file RPI_INSTALL was added on branch tls-maxphys on 2013-06-23 06:20:04 +0000
 1.2.6.1 10-Aug-2014  tls Rebase.
 1.2.2.1 18-May-2014  rmind sync with head
 1.3.4.1 09-May-2015  msaitoh Pull up following revision(s) (requested by snj in ticket #742):

distrib/evbarm/instkernel/sshramdisk/Makefile patch
sys/arch/evbarm/conf/RPI_INSTALL patch

Increase ramdisk size to fix build break.
 1.3.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.3.2.1 01-May-2014  yamt file RPI_INSTALL was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.6.2.2 05-Feb-2017  skrll Sync with HEAD
 1.6.2.1 06-Apr-2015  skrll Sync with HEAD
 1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.9.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.9.8.1 02-Nov-2018  martin Bump size for ramdisk.
 1.10.2.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.11.2.1 25-Jan-2020  ad Sync with head.
 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 branches: 1.75.4;
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 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.73 20-Jan-2021  nia branches: 1.73.4;
do not enable kernel OSS compat in configs without compat_linux

perhaps kernel OSS compat can be merged into compat_linux to avoid
further confusion
 1.72 27-Sep-2020  roy branches: 1.72.2;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.71 16-Aug-2020  jdolecek make COMPAT_LINUX option disabled by default

leave the option enabled only in amd64/i386 ALL kernels to make
sure it continues to be compilable also when included in kernel
 1.70 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.69 16-May-2020  maya 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.68 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.67 25-Mar-2020  jdolecek branches: 1.67.2;
remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.66 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.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;
Use veriexec.config to reduce duplication
 1.63 06-Feb-2019  rin Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.62 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.61 25-Aug-2018  rin Add (commented out) mue(4) to where appropriate.
Also add MII/PHY drivers for USB NICs if missing.
 1.60 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.59 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.58 14-Sep-2017  mrg branches: 1.58.2; 1.58.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.57 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

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

ok riastradh
 1.56 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.55 24-May-2017  christos rename u3ginit driver to umodeswitch
 1.54 22-Mar-2017  sevan KDTRACE_HOOKS is enabled by default in GENERIC.common, remove references in
individual config files.
 1.53 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.52 13-Dec-2016  christos branches: 1.52.2;
wildcard speaker attachments, now that we can handle many of them.
 1.51 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.50 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.49 26-Nov-2016  christos mention PAX_SEGVGUARD dependency on FILEASSOC
 1.48 19-Mar-2016  gdt branches: 1.48.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.47 26-Sep-2015  maxv Remove KMEMSTATS. Normally it's ok now.
 1.46 17-Oct-2014  martin branches: 1.46.2;
Fix the names of the (commented out) Kirwood L2 cache options.
 1.45 14-Oct-2014  htodd Comment out more USB options to to fix build.
 1.44 18-Sep-2014  wiz Add commented out KDTRACE_HOOKS line.
 1.43 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.42 18-Aug-2014  christos - Enable Wedge support for MBR/BSDLABEL where it was commented out.
- Add apple partition support where it was missing
- Add comments where missing
 1.41 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.40 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.39 03-Aug-2014  martin branches: 1.39.2;
Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.38 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.37 25-Jul-2014  joerg Bump SYMTAB_SPACE for clang build.
 1.36 23-Apr-2014  msaitoh Enable pseudo-device ipfilter.
 1.35 05-Oct-2013  kiyohara branches: 1.35.2;
Remove options LKM.
 1.34 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.33 05-Jun-2013  christos branches: 1.33.2;
remove obsolete networking options
 1.32 27-Apr-2013  christos more bogus number removal
 1.31 27-Apr-2013  christos the bogus number police
 1.30 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.29 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.28 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.27 25-Dec-2012  msaitoh Add ukphy.

This change fixes the problem described in:
http://mail-index.netbsd.org/port-arm/2012/12/20/msg001636.html
 1.26 03-Dec-2012  msaitoh - Add MSGBUFSIZE=32768 because 4K is very small
- Add commented out entry for MVGBE_EVENT_COUNTERS
- Comment out COPTS="-O1"
- Enable mvpex, pci and pchb to share with OPENRD
- Enable mvsata to share with DREAMPLUG
- Enable mvsocgpp, gpio, atabus and wd
 1.25 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.24 09-Oct-2012  msaitoh Add {INET,TCP,UDP}_CSUM_COUNTERS and LOCKDEBUG
 1.23 12-Sep-2012  msaitoh branches: 1.23.2;
-O1, enable PUFFS, KTRACE, fss and putter.
 1.22 11-Sep-2012  msaitoh Add PUFFS, putter and fss.
 1.21 09-Sep-2012  msaitoh Split DEBUG="-g -Ox" into DEBUG="-g" and COPTS="-Ox".
 1.20 03-Sep-2012  msaitoh Enable atapibus, cd and sd.
 1.19 01-Sep-2012  jakllsch 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.18 29-Aug-2012  skrll Typo in comment
 1.17 23-Aug-2012  kiyohara Remove obsolated file-system PORTAL.
 1.16 16-Aug-2012  matt Add dkwedge support
 1.15 27-Jul-2012  kiyohara Enable mvcesa.
Also enable idmac in SHEEVAPLUG.
 1.14 31-Mar-2012  tsutsui Remove obsolete System V semaphores and share memory limit options
(SEMMNI, SEMMNS, SEMUME and SHMMAXPGS).
 1.13 10-Mar-2012  joerg P1003_1B_SEMAPHORE is no longer optional.
 1.12 18-Dec-2011  dholland branches: 1.12.2;
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 14-Nov-2011  sekiya Increase SYMTAB_SPACE.
 1.9 23-Jul-2011  jakllsch branches: 1.9.2;
Enable or note aubtfwl(4) wherever ubt(4) is enabled or noted.
 1.8 11-Jul-2011  matt Bump up SYMTAB_SPACE to 700000
 1.7 06-Jun-2011  matt bump SYMTAB_SPACE
 1.6 25-May-2011  dyoung branches: 1.6.2;
Increase SYMTAB_SPACE.
 1.5 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.4 06-Mar-2011  jakllsch Remove trailing spaces.
 1.3 05-Mar-2011  matt branches: 1.3.2;
Add contributed Marvell Kirkwood RTC driver from Brett Slager
Fixes PR 44004
 1.2 23-Nov-2010  hannken branches: 1.2.2; 1.2.4;
Remove unused count from pseudo-device md.
 1.1 02-Oct-2010  kiyohara branches: 1.1.2; 1.1.4;
Add support Marvell Sheevaplug.
Add some NAS on Marvell SoC.
 1.1.4.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.1.4.1 02-Oct-2010  uebayasi file SHEEVAPLUG was added on branch uebayasi-xip on 2010-10-22 07:21:14 +0000
 1.1.2.2 09-Oct-2010  yamt sync with head
 1.1.2.1 02-Oct-2010  yamt file SHEEVAPLUG was added on branch yamt-nfs-mp on 2010-10-09 03:31:43 +0000
 1.2.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.2.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.2.6 12-Jun-2011  rmind sync with head
 1.3.2.5 31-May-2011  rmind sync with head
 1.3.2.4 21-Apr-2011  rmind sync with head
 1.3.2.3 06-Mar-2011  rmind sync with head (and fix few botches with this)
 1.3.2.2 05-Mar-2011  rmind sync with head
 1.3.2.1 05-Mar-2011  rmind file SHEEVAPLUG was added on branch rmind-uvmplock on 2011-03-05 20:50:03 +0000
 1.6.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.9.2.5 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.2.4 23-Jan-2013  yamt sync with head
 1.9.2.3 16-Jan-2013  yamt sync with (a bit old) head
 1.9.2.2 30-Oct-2012  yamt sync with head
 1.9.2.1 17-Apr-2012  yamt sync with head
 1.11.2.3 05-Apr-2012  mrg sync to latest -current.
 1.11.2.2 11-Mar-2012  mrg sync to latest -current
 1.11.2.1 18-Feb-2012  mrg merge to -current.
 1.12.2.1 05-Jan-2013  riz Pull up following revision(s) (requested by msaitoh in ticket #768):
sys/arch/evbarm/conf/SHEEVAPLUG: revision 1.27
Add ukphy.
This change fixes the problem described in:
http://mail-index.netbsd.org/port-arm/2012/12/20/msg001636.html
 1.23.2.5 03-Dec-2017  jdolecek update from HEAD
 1.23.2.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.23.2.3 23-Jun-2013  tls resync from head
 1.23.2.2 25-Feb-2013  tls resync with head
 1.23.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.33.2.2 18-May-2014  rmind sync with head
 1.33.2.1 28-Aug-2013  rmind sync with head
 1.35.2.1 10-Aug-2014  tls Rebase.
 1.39.2.1 11-Apr-2017  martin Pull up following revision(s) (requested by skrll in ticket #1400):
sys/arch/evbarm/conf/SHEEVAPLUG: revision 1.45
sys/arch/evbarm/conf/TWINTAIL: revision 1.65
Comment out more USB options to to fix build.
 1.46.2.5 28-Aug-2017  skrll Sync with HEAD
 1.46.2.4 05-Feb-2017  skrll Sync with HEAD
 1.46.2.3 05-Dec-2016  skrll Sync with HEAD
 1.46.2.2 22-Apr-2016  skrll Sync with HEAD
 1.46.2.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.48.2.3 26-Apr-2017  pgoyette Sync with HEAD
 1.48.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.48.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.52.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.58.4.3 21-Apr-2020  martin Sync with HEAD
 1.58.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.58.4.1 10-Jun-2019  christos Sync with HEAD
 1.58.2.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.58.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.58.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.64.4.2 29-Feb-2020  ad Sync with head.
 1.64.4.1 25-Jan-2020  ad Sync with head.
 1.67.2.1 20-Apr-2020  bouyer Sync with HEAD
 1.72.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.73.4.1 01-Aug-2021  thorpej Sync with HEAD.
 1.75.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.2 01-May-2014  martin Do not create debug info for *_INSTALL kernels.
 1.1 28-Jul-2011  matt branches: 1.1.2; 1.1.12; 1.1.16; 1.1.26;
INSTALL kernel for SheevaPlug
 1.1.26.1 10-Aug-2014  tls Rebase.
 1.1.16.1 18-May-2014  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.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 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.77 27-Sep-2020  roy branches: 1.77.6;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.76 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.75 16-May-2020  maya 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.74 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.73 29-Jan-2020  maya branches: 1.73.4;
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.72 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.71 13-Apr-2019  isaki branches: 1.71.6;
Add drvctl to kernel which has audio device.
audiocfg(1) requires drvctl(4).
 1.70 06-Feb-2019  rin Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.69 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.68 21-Sep-2018  skrll This needs bpfilter for npf
 1.67 25-Aug-2018  rin Add (commented out) mue(4) to where appropriate.
Also add MII/PHY drivers for USB NICs if missing.
 1.66 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.65 14-Sep-2017  mrg branches: 1.65.2; 1.65.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.64 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.63 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.62 13-Dec-2016  christos branches: 1.62.2;
wildcard speaker attachments, now that we can handle many of them.
 1.61 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.60 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.59 19-Mar-2016  gdt branches: 1.59.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.58 12-Aug-2015  maxv Remove KMEMSTATS.
 1.57 23-Aug-2014  dholland branches: 1.57.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.56 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.55 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.54 30-Jun-2013  rmind branches: 1.54.4;
G/C PFIL_HOOKS from the kernel configs.
 1.53 05-Jun-2013  christos branches: 1.53.2;
remove obsolete networking options
 1.52 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.51 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.50 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.49 11-Sep-2012  msaitoh branches: 1.49.2;
Add PUFFS, putter and fss.
 1.48 17-Aug-2012  abs 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.47 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.46 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 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 30-Jun-2011  wiz branches: 1.44.2;
dependant -> dependent
 1.43 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.42 23-Nov-2010  hannken branches: 1.42.2; 1.42.4;
Remove unused count from pseudo-device md.
 1.41 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.40 07-Mar-2010  plunky branches: 1.40.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.39 05-Dec-2009  pooka branches: 1.39.2;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.38 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.37 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.36 24-Nov-2008  ad branches: 1.36.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.34 31-Jul-2008  simonb branches: 1.34.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.33 30-May-2008  tsutsui branches: 1.33.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.32 19-Jan-2008  chris branches: 1.32.6; 1.32.8; 1.32.10; 1.32.12;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.31 14-Mar-2007  drochner branches: 1.31.12; 1.31.16; 1.31.22; 1.31.28;
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.30 26-Aug-2006  christos branches: 1.30.8; 1.30.12; 1.30.14;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.29 14-Aug-2006  skrll s/adpater/adapter/

Prompted by PR/34195
 1.28 05-Feb-2006  cube branches: 1.28.2;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.27 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.26 07-Dec-2005  tsutsui branches: 1.26.2; 1.26.4; 1.26.6;
Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 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 05-Aug-2005  skrll Add (commented out) ucycom to various kernel configs.
 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 add "options VMSWAP" to non INSTALL kernels.
 1.20 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.19 15-Apr-2005  itohy branches: 1.19.2;
Add ukyopon(4).
 1.18 25-Feb-2005  simonb branches: 1.18.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.17 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.16 11-Feb-2005  dsl Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
 1.15 31-Jan-2005  hannken Add file system snapshots to kernel configs.

- Ffs internal snapshots get compiled in unconditionally.

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

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
 1.14 17-Jan-2005  cube branches: 1.14.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.13 10-Nov-2004  christos branches: 1.13.4;
Add COMPAT_BSDPTY to the rest of the config files.
 1.12 23-Oct-2004  augustss s/uax/axe/
 1.11 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.10 07-Aug-2004  rearnsha Set CPUFLAGS not COPTS
 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-Feb-2004  bsh branches: 1.8.2;
add drivers for LCD and keyboard.
 1.7 13-Feb-2004  wiz Uppercase CPU where appropriate.
 1.6 13-Sep-2003  chris Add COMPAT_16 to most arm based kernels. Mainly in preperation for doing
SA_SIGINFO work.
 1.5 06-Sep-2003  rearnsha Default all builds to not have debug information. Significantly
reduces disk space needed for a make release, especially if using
dwarf2 debug.
 1.4 29-Aug-2003  bsh support CS8900A ethernet on SMDK2410.

XXX: SMDK2410 has no EEPROM connected to CS8900A. Currently the only
way to set MAC address is give it via kernel config option.
 1.3 29-Aug-2003  bsh change CPU clock to 200MHz at kernel startup.
 1.2 05-Aug-2003  bsh add and enable USB devices. I've so far tested floppy and CD-R drives,
mice, and smartmedia card readers.
 1.1 31-Jul-2003  bsh the first cut for Samsung SMDK2410 support.
It is an evaluation board for S3C2410.

XXX: not tested much yet.
XXX: smdk2410_machdep.c and smdk2410_start.S are almost identical
to SMDK2800's. One day I'll merge them.
 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.1 21-Jul-2005  riz Pull up revision 1.19 (requested by itohy in ticket #1430):
Add ukyopon(4).
 1.9.2.13 11-Dec-2005  christos Sync with head.
 1.9.2.12 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.9.2.11 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.9.2.10 15-Feb-2005  skrll Sync with HEAD.
 1.9.2.9 04-Feb-2005  skrll Sync with HEAD.
 1.9.2.8 24-Jan-2005  skrll Sync with HEAD.
 1.9.2.7 14-Nov-2004  skrll Sync with HEAD.
 1.9.2.6 02-Nov-2004  skrll Sync with HEAD.
 1.9.2.5 21-Sep-2004  skrll Fix the sync with head I botched.
 1.9.2.4 18-Sep-2004  skrll Sync with HEAD.
 1.9.2.3 12-Aug-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 SMDK2410 was added on branch ktrace-lwp on 2004-08-03 10:33:55 +0000
 1.13.4.1 29-Apr-2005  kent sync with -current
 1.14.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.14.2.1 12-Feb-2005  yamt sync with head.
 1.18.2.2 18-Jul-2005  riz Pull up revision 1.20 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.18.2.1 17-Apr-2005  tron Pull up revision 1.19 (requested by itohy in ticket #160):
Add ukyopon(4).
 1.19.2.4 21-Jan-2008  yamt sync with head
 1.19.2.3 03-Sep-2007  yamt sync with head.
 1.19.2.2 30-Dec-2006  yamt sync with head.
 1.19.2.1 21-Jun-2006  yamt sync with head.
 1.26.6.1 22-Apr-2006  simonb Sync with head.
 1.26.4.1 09-Sep-2006  rpaulo sync with head
 1.26.2.1 18-Feb-2006  yamt sync with head.
 1.28.2.1 03-Sep-2006  yamt sync with head.
 1.30.14.1 11-Jul-2007  mjf Sync with head.
 1.30.12.1 10-Apr-2007  ad Sync with head.
 1.30.8.1 24-Mar-2007  yamt sync with head.
 1.31.28.1 20-Jan-2008  bouyer Sync with HEAD
 1.31.22.1 18-Feb-2008  mjf Sync with HEAD.
 1.31.16.1 23-Mar-2008  matt sync with HEAD
 1.31.12.1 28-Feb-2008  rjs Sync with HEAD.
 1.32.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.32.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.32.10.3 11-Aug-2010  yamt sync with head.
 1.32.10.2 11-Mar-2010  yamt sync with head
 1.32.10.1 04-May-2009  yamt sync with head.
 1.32.8.1 04-Jun-2008  yamt sync with head
 1.32.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.32.6.2 28-Sep-2008  mjf Sync with HEAD.
 1.32.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.33.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.33.4.1 19-Oct-2008  haad Sync with HEAD.
 1.34.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.34.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.36.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.39.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.40.2.3 21-Apr-2011  rmind sync with head
 1.40.2.2 05-Mar-2011  rmind sync with head
 1.40.2.1 30-May-2010  rmind sync with head
 1.42.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.42.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.44.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.44.2.2 30-Oct-2012  yamt sync with head
 1.44.2.1 17-Apr-2012  yamt sync with head
 1.45.2.2 29-Apr-2012  mrg sync to latest -current.
 1.45.2.1 18-Feb-2012  mrg merge to -current.
 1.49.2.4 03-Dec-2017  jdolecek update from HEAD
 1.49.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.49.2.2 23-Jun-2013  tls resync from head
 1.49.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.54.4.1 10-Aug-2014  tls Rebase.
 1.57.2.4 28-Aug-2017  skrll Sync with HEAD
 1.57.2.3 05-Feb-2017  skrll Sync with HEAD
 1.57.2.2 22-Apr-2016  skrll Sync with HEAD
 1.57.2.1 22-Sep-2015  skrll Sync with HEAD
 1.59.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.59.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.62.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.65.4.3 21-Apr-2020  martin Sync with HEAD
 1.65.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.65.4.1 10-Jun-2019  christos Sync with HEAD
 1.65.2.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.65.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.65.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.71.6.2 29-Feb-2020  ad Sync with head.
 1.71.6.1 25-Jan-2020  ad Sync with head.
 1.73.4.1 20-Apr-2020  bouyer Sync with HEAD
 1.77.6.1 01-Aug-2021  thorpej Sync with HEAD.
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 27-Feb-2005  bsh branches: 1.1.2; 1.1.6; 1.1.8;
add install kernels for SMDK2410/2800.
CVS: ----------------------------------------------------------------------
CVS: CVSROOT cvs.NetBSD.org:/cvsroot
CVS: ----------------------------------------------------------------------
CVS: CVSROOT cvs.NetBSD.org:/cvsroot
 1.1.8.2 29-Apr-2005  kent sync with -current
 1.1.8.1 27-Feb-2005  kent file SMDK2410_INSTALL was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.1.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.6.1 27-Feb-2005  yamt file SMDK2410_INSTALL was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.1.2.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.1 27-Feb-2005  skrll file SMDK2410_INSTALL was added on branch ktrace-lwp on 2005-03-04 16:38:14 +0000
 1.66 07-Aug-2022  simonb branches: 1.66.4;
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.65 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.64 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.63 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.62 19-Jan-2020  thorpej branches: 1.62.4;
Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.61 01-Aug-2018  maxv branches: 1.61.4; 1.61.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.60 14-Sep-2017  mrg branches: 1.60.2; 1.60.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.59 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.58 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.57 12-Aug-2015  maxv branches: 1.57.2; 1.57.4;
Remove KMEMSTATS.
 1.56 23-Aug-2014  dholland branches: 1.56.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.55 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.54 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.53 30-Jun-2013  rmind branches: 1.53.4;
G/C PFIL_HOOKS from the kernel configs.
 1.52 05-Jun-2013  christos branches: 1.52.2;
remove obsolete networking options
 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 11-Sep-2012  msaitoh branches: 1.48.2;
Add PUFFS, putter and fss.
 1.47 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.46 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 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 30-Jun-2011  wiz branches: 1.44.2;
dependant -> dependent
 1.43 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.42 23-Nov-2010  hannken branches: 1.42.2; 1.42.4;
Remove unused count from pseudo-device md.
 1.41 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.40 05-Dec-2009  pooka branches: 1.40.2; 1.40.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.39 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 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 30-May-2008  tsutsui branches: 1.34.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.33 19-Jan-2008  chris branches: 1.33.6; 1.33.8; 1.33.10; 1.33.12;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.32 26-Aug-2006  christos branches: 1.32.28; 1.32.32; 1.32.38; 1.32.46;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.31 05-Feb-2006  cube branches: 1.31.2;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.30 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.29 07-Dec-2005  tsutsui branches: 1.29.2; 1.29.4; 1.29.6;
Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.28 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.27 19-Aug-2005  christos 64 bit inode changes.
 1.26 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.25 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.24 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.23 27-Feb-2005  bsh branches: 1.23.2; 1.23.4;
sync pseudo device part with other platforms.
disable pseudo-device md (enabled in SMDK2800_INSTALL)
CVS: ----------------------------------------------------------------------
CVS: CVSROOT cvs.NetBSD.org:/cvsroot
 1.22 25-Feb-2005  simonb Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.21 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.20 11-Feb-2005  dsl Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
 1.19 31-Jan-2005  hannken Add file system snapshots to kernel configs.

- Ffs internal snapshots get compiled in unconditionally.

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

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
 1.18 24-Nov-2004  bouyer branches: 1.18.4; 1.18.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.17 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.16 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.15 07-Aug-2004  rearnsha Set CPUFLAGS not COPTS
 1.14 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.13 13-Feb-2004  wiz branches: 1.13.2;
Uppercase CPU where appropriate.
 1.12 14-Dec-2003  thorpej Remove piixide, since these boards will never, ever have one.
 1.11 14-Dec-2003  thorpej Split the Intel i31244 SATA controller ("Artisea") driver out of piixide
into its own driver (artsata).
 1.10 13-Dec-2003  thorpej Remove the IDE controllers that only exist in southbridge chips (which
none of these boards have).

XXX piixide stays for now, because that's where the Intel i31244 SATA
controller is. That will change, eventually.
 1.9 13-Dec-2003  thorpej Collapse the atabus declaration into "atabus* at ata? channel ?".
 1.8 13-Dec-2003  thorpej Split out the Silicon Image SATALink support into its own driver,
"satalink".
 1.7 08-Oct-2003  bouyer Add new per-chip pciide drivers.
 1.6 08-Oct-2003  bouyer Add atabus
 1.5 13-Sep-2003  chris Add COMPAT_16 to most arm based kernels. Mainly in preperation for doing
SA_SIGINFO work.
 1.4 06-Sep-2003  rearnsha Default all builds to not have debug information. Significantly
reduces disk space needed for a make release, especially if using
dwarf2 debug.
 1.3 23-May-2003  thorpej branches: 1.3.2;
Add ksyms.
 1.2 16-May-2003  bsh SMDK2800 has a 6MHz X'tal.
comment out memory disk options.
 1.1 20-Nov-2002  bsh branches: 1.1.2;
SMDK2800 is an evaluation board for Samsung S3C2800 CPU.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 20-Nov-2002  thorpej file SMDK2800 was added on branch nathanw_sa on 2002-12-11 05:58:30 +0000
 1.3.2.11 11-Dec-2005  christos Sync with head.
 1.3.2.10 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.2.9 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.3.2.8 15-Feb-2005  skrll Sync with HEAD.
 1.3.2.7 04-Feb-2005  skrll Sync with HEAD.
 1.3.2.6 29-Nov-2004  skrll Sync with HEAD.
 1.3.2.5 14-Nov-2004  skrll Sync with HEAD.
 1.3.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.2 12-Aug-2004  skrll Sync with HEAD.
 1.3.2.1 03-Aug-2004  skrll Sync with HEAD
 1.13.2.1 15-Jul-2004  he branches: 1.13.2.1.2;
Pull up revision 1.14 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.13.2.1.2.1 02-Apr-2005  he Pull up revision 1.18 (requested by bouyer in ticket #1019):
Add pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) series of
controllers.
 1.18.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.18.6.1 12-Feb-2005  yamt sync with head.
 1.18.4.1 29-Apr-2005  kent sync with -current
 1.23.4.3 21-Jan-2008  yamt sync with head
 1.23.4.2 30-Dec-2006  yamt sync with head.
 1.23.4.1 21-Jun-2006  yamt sync with head.
 1.23.2.1 18-Jul-2005  riz Pull up revision 1.24 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.29.6.1 22-Apr-2006  simonb Sync with head.
 1.29.4.1 09-Sep-2006  rpaulo sync with head
 1.29.2.1 18-Feb-2006  yamt sync with head.
 1.31.2.1 03-Sep-2006  yamt sync with head.
 1.32.46.1 20-Jan-2008  bouyer Sync with HEAD
 1.32.38.1 18-Feb-2008  mjf Sync with HEAD.
 1.32.32.1 23-Mar-2008  matt sync with HEAD
 1.32.28.1 28-Feb-2008  rjs Sync with HEAD.
 1.33.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.33.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.33.10.3 11-Aug-2010  yamt sync with head.
 1.33.10.2 11-Mar-2010  yamt sync with head
 1.33.10.1 04-May-2009  yamt sync with head.
 1.33.8.1 04-Jun-2008  yamt 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.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.34.4.1 19-Oct-2008  haad 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 21-Apr-2011  rmind sync with head
 1.40.4.2 05-Mar-2011  rmind sync with head
 1.40.4.1 30-May-2010  rmind sync with head
 1.40.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.42.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.42.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.44.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.44.2.2 30-Oct-2012  yamt sync with head
 1.44.2.1 17-Apr-2012  yamt sync with head
 1.45.2.2 29-Apr-2012  mrg sync to latest -current.
 1.45.2.1 18-Feb-2012  mrg merge to -current.
 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.52.2.1 28-Aug-2013  rmind sync with head
 1.53.4.1 10-Aug-2014  tls Rebase.
 1.56.2.2 28-Aug-2017  skrll Sync with HEAD
 1.56.2.1 22-Sep-2015  skrll Sync with HEAD
 1.57.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.57.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.60.4.3 21-Apr-2020  martin Sync with HEAD
 1.60.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.60.4.1 10-Jun-2019  christos Sync with HEAD
 1.60.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.61.6.1 25-Jan-2020  ad Sync with head.
 1.61.4.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.62.4.1 20-Apr-2020  bouyer Sync with HEAD
 1.66.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 27-Feb-2005  bsh branches: 1.1.2; 1.1.6; 1.1.8;
add install kernels for SMDK2410/2800.
CVS: ----------------------------------------------------------------------
CVS: CVSROOT cvs.NetBSD.org:/cvsroot
CVS: ----------------------------------------------------------------------
CVS: CVSROOT cvs.NetBSD.org:/cvsroot
 1.1.8.2 29-Apr-2005  kent sync with -current
 1.1.8.1 27-Feb-2005  kent file SMDK2800_INSTALL was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.1.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.6.1 27-Feb-2005  yamt file SMDK2800_INSTALL was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.1.2.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.1 27-Feb-2005  skrll file SMDK2800_INSTALL was added on branch ktrace-lwp on 2005-03-04 16:38:14 +0000
 1.81 31-Mar-2019  jmcneill Remove SUNXI kernel config.
 1.80 15-Jul-2018  jmcneill Enable armpmu and tprof
 1.79 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.78 30-Jun-2018  jmcneill Attach simplebus on pass 0
 1.77 30-Jun-2018  jmcneill cpus: use fdt_add_bus
 1.76 30-Jun-2018  jmcneill Allow nodes to attach child devices using the same sorting rules as used
by the simplebus driver.
 1.75 30-Jun-2018  jmcneill add syscon
 1.74 27-Jun-2018  jmcneill branches: 1.74.2;
dts: add sun7i-a20-olimex-som-evb-emmc.dts, sun8i-h2-plus-libretech-all-h3-cc.dts, sun50i-h5-libretech-all-h3-cc.dts
 1.73 10-May-2018  jmcneill Add ausoc, sun8icodec, a64codec, sunxii2s
 1.72 06-May-2018  jmcneill Add sunxipwm, pwmbacklight
 1.71 05-May-2018  jmcneill Add sun50ia64rccu
 1.70 04-May-2018  jmcneill Rename axp806pmic to axppmic, and add support for AXP803.
 1.69 03-May-2018  jmcneill Add axp806pmic, axp806reg
 1.68 02-May-2018  jmcneill Add sunxinmi
 1.67 02-May-2018  jmcneill Add sun50ih6rccu
 1.66 02-May-2018  jmcneill Add sunxiusb3phy and xhci
 1.65 01-May-2018  jmcneill Enable Allwinner H6 support
 1.64 28-Apr-2018  jmcneill Add sun7i-a20-olimex-som204-evb-emmc.dts, sun7i-a20-olimex-som204-evb.dts, sun8i-h2-plus-bananapi-m2-zero.dts, sun8i-h2-plus-orangepi-r1.dts, sun8i-h3-libretech-all-h3-cc.dts, sun50i-a64-teres-i.dts, sun50i-h5-orangepi-zero-plus.dts
 1.63 07-Apr-2018  bouyer Move sunxidep to pass5, it has to attach before simplefb
 1.62 07-Apr-2018  bouyer Enable the display engine devices. Note that even if they attaches,
they will be active only if a proper display engine pipeline entry
is present in the device tree.
 1.61 03-Apr-2018  bouyer Add commented out entries for the display drivers.
 1.60 07-Mar-2018  bouyer fdt-ise the allwinner can and lradc drivers.
 1.59 14-Feb-2018  jakllsch branches: 1.59.2;
Adjust Allwinner emac(4) drivers to be compatible with root on NFS.
 1.58 31-Jan-2018  jakllsch Add sun6i SPI driver.

Currently PIO-only.
 1.57 18-Dec-2017  jmcneill Add WSDISPLAY_MULTICONS
 1.56 16-Dec-2017  jmcneill re-enable seeprom(4), my A10 board seems happy with it again
 1.55 03-Dec-2017  jmcneill add H5 dts files
 1.54 30-Nov-2017  jmcneill branches: 1.54.2;
Add sun4i and sun7i DTS files to the build.
 1.53 30-Nov-2017  jmcneill add sun8i-a83t-tbs-a711.dts and sun8i-h3-nanopi-m1-plus.dts
 1.52 13-Nov-2017  jmcneill Enable Allwinner NAND flash support
 1.51 08-Nov-2017  jmcneill add wskbd at gpiokeys
 1.50 29-Oct-2017  jmcneill Create a custom bus space tag and use it to remap registers instead of
relying on options MOTG_ALLWINNER.
 1.49 29-Oct-2017  jmcneill sunxi_twi: provide custom read/write reg callbacks and remove the
GTTWSI_ALLWINNER option from the kernel config
 1.48 29-Oct-2017  jmcneill remove options COM_AWIN and set COM_TYPE_SUNXI in the bus driver instead
 1.47 28-Oct-2017  jmcneill Add new DTS files:
sun8i-a83t-allwinner-h8homlet-v2.dts
sun8i-a83t-bananapi-m3.dts
sun8i-a83t-cubietruck-plus.dts
sun50i-a64-nanopi-a64.dts
sun50i-a64-olinuxino.dts
sun50i-a64-orangepi-win.dts
sun50i-a64-sopine-baseboard.dts
 1.46 22-Oct-2017  jmcneill add mmcpwrseq
 1.45 21-Oct-2017  jmcneill disable seeprom for now, it seems to trigger random boot failures on my A10 board
 1.44 21-Oct-2017  jmcneill Add seeprom(4)
 1.43 20-Oct-2017  jmcneill add sun4iemac
 1.42 11-Oct-2017  jmcneill Add options SOC_SUN50I_H5
 1.41 09-Oct-2017  jmcneill add sunxisramc
 1.40 08-Oct-2017  jmcneill Add A80 (sun9i) support
 1.39 07-Oct-2017  jmcneill add axp22x and pcf8563rtc
 1.38 07-Oct-2017  jmcneill add axp20xreg
 1.37 07-Oct-2017  jmcneill add ahcisata
 1.36 07-Oct-2017  jmcneill add sunxigmacclk, awge, and rlphy
 1.35 06-Oct-2017  jmcneill add A10 and A20 support
 1.34 05-Oct-2017  jmcneill enable sunxisid and sunxithermal
 1.33 02-Oct-2017  jmcneill add cpufreqdt and sy8106a
 1.32 01-Oct-2017  jmcneill Shuffle attach order so CCUs attach before GPIO controllers
 1.31 30-Sep-2017  jmcneill enable sun8ih3rccu
 1.30 10-Sep-2017  jmcneill Add Pinebook support.
 1.29 09-Sep-2017  jmcneill add motg
 1.28 07-Sep-2017  jmcneill Build sun50i-a64 dts files
 1.27 07-Sep-2017  jmcneill Add support for Allwinner A64 SoCs.
 1.26 29-Aug-2017  jmcneill enable axp20x
 1.25 27-Aug-2017  jmcneill branches: 1.25.2;
Add sun4i DMA and audio codec support.
 1.24 27-Aug-2017  jmcneill Add PocketCHIP display and input support.
 1.23 25-Aug-2017  jmcneill Add initial support for Allwinner A13 and R8 SoCs.
 1.22 13-Aug-2017  jmcneill enable gregulator
 1.21 06-Aug-2017  jmcneill Enable H3 audio support
 1.20 05-Aug-2017  jmcneill Enable sun6idma
 1.19 27-Jul-2017  jmcneill Add sun8i-h3-nanopi-neo-air.dts, sun8i-h3-orangepi-one.dts
 1.18 25-Jul-2017  jmcneill Add watchdog timer support.
 1.17 13-Jul-2017  jmcneill branches: 1.17.4;
Build sun8i-h2-plus-orangepi-zero.dts
 1.16 08-Jul-2017  jmcneill Remove pass numbers for ehci/ohci now that the attach order no longer matters
 1.15 08-Jul-2017  jmcneill Add ffclock
 1.14 08-Jul-2017  jmcneill Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
 1.13 08-Jul-2017  jmcneill add gpioleds
 1.12 06-Jul-2017  jmcneill Add support for Allwinner A83T SoC.
 1.11 06-Jul-2017  jmcneill Attach gpio(4) to sunxigpio
 1.10 02-Jul-2017  jmcneill Add P2WI/RSB driver, based on awin_p2wi.c.
 1.9 02-Jul-2017  jmcneill Add basic FDT GPIO support.
 1.8 02-Jul-2017  jmcneill Add basic support for Allwinner A31.
 1.7 01-Jul-2017  jmcneill Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.

This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
 1.6 29-Jun-2017  jmcneill Add RTC driver.
 1.5 29-Jun-2017  jmcneill Add i2c glue.
 1.4 29-Jun-2017  jmcneill Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
 1.3 29-Jun-2017  jmcneill Add USB stuff. Doesn't quite work yet.
 1.2 29-Jun-2017  jmcneill Add H3 MMC support
 1.1 28-Jun-2017  jmcneill Add initial support for Allwinner H3 SoC.
 1.17.4.5 09-Aug-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #200):
sys/arch/arm/sunxi/files.sunxi: 1.15-1.16
sys/arch/arm/sunxi/sun6i_dma.c: 1.1-1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: 1.9-1.10
sys/arch/arm/sunxi/sun8i_h3_codec.c: 1.1-1.2
sys/arch/arm/sunxi/sunxi_ccu.h: 1.8
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: 1.5
sys/arch/arm/sunxi/sunxi_codec.c: 1.1
sys/arch/arm/sunxi/sunxi_codec.h: 1.1
sys/arch/evbarm/conf/SUNXI: 1.20-1.21
Add DMA controller driver for sun6i and later family SoCs.
--
Enable sun6idma
--
add DMA gate
--
Fix burst field encoding, and add a helper function to dump registers
from ddb.
--
Add support for H3 audio PLL and digital audio part.
--
Add support for Allwinner H3 audio codec.
--
Enable H3 audio support
--
h3_codec_pr_write: clear write mode bit after setting it; fixes an issue with output being mutex when skipping tracks in mpg123
 1.17.4.4 26-Jul-2017  martin Pull up following revision(s) (requested by jmcneill in ticket #159):
sys/arch/evbarm/conf/SUNXI: revision 1.18
sys/arch/arm/sunxi/sunxi_wdt.c: revision 1.1
sys/arch/arm/sunxi/files.sunxi: revision 1.14
Add watchdog timer support.
 1.17.4.3 25-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #132):
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.17
Add support for Allwinner H2+ as found in the Orange Pi Zero.
--
Build sun8i-h2-plus-orangepi-zero.dts
 1.17.4.2 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.17.4.1 13-Jul-2017  snj file SUNXI was added on branch netbsd-8 on 2017-07-18 19:13:09 +0000
 1.25.2.2 28-Aug-2017  skrll Sync with HEAD
 1.25.2.1 27-Aug-2017  skrll file SUNXI was added on branch nick-nhusb on 2017-08-28 17:51:34 +0000
 1.54.2.2 03-Dec-2017  jdolecek update from HEAD
 1.54.2.1 30-Nov-2017  jdolecek file SUNXI was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.59.2.6 28-Jul-2018  pgoyette Sync with HEAD
 1.59.2.5 21-May-2018  pgoyette Sync with HEAD
 1.59.2.4 02-May-2018  pgoyette Synch with HEAD
 1.59.2.3 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.59.2.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.59.2.1 15-Mar-2018  pgoyette Synch with HEAD
 1.74.2.1 10-Jun-2019  christos Sync with HEAD
 1.2 05-Jul-2017  jmcneill Remove SUNXI_INSTALL kernel
 1.1 02-Jul-2017  jmcneill Add SUNXI_INSTALL kernel.
 1.97 07-Aug-2022  simonb branches: 1.97.4;
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.96 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.95 12-Jul-2018  maxv branches: 1.95.4; 1.95.10;
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.94 07-Jun-2018  thorpej branches: 1.94.2;
Revert changes that pinned-down i2c parent specs. The i2c subsystem
has been enhanced to make this unnecessary.
 1.93 15-May-2018  thorpej Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.
 1.92 14-Sep-2017  mrg branches: 1.92.2;
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.91 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 2.
 1.90 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.89 07-Aug-2015  maxv branches: 1.89.2; 1.89.4;
Remove the KMEMSTATS option. It no longer exists.
 1.88 23-Aug-2014  dholland branches: 1.88.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.87 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.86 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.85 10-Aug-2014  chs add tmpfs.
 1.84 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.83 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.82 02-Mar-2014  joerg branches: 1.82.2;
Bump SYMTAB_SPACE for clang.
 1.81 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.80 05-Jun-2013  christos branches: 1.80.2;
remove obsolete networking options
 1.79 27-Apr-2013  christos the bogus number police
 1.78 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.77 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.76 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.75 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.74 11-Sep-2012  msaitoh branches: 1.74.2;
Add PUFFS, putter and fss.
 1.73 01-Sep-2012  matt Bump up SYMTAB_SPACE
 1.72 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.71 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.70 22-Nov-2011  tls branches: 1.70.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.69 30-Jun-2011  wiz branches: 1.69.2;
dependant -> dependent
 1.68 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.67 06-Mar-2011  jakllsch Bump SYMTAB_SPACE for the many other evbarm kernels that also need it increased.
 1.66 06-Mar-2011  jakllsch Remove trailing spaces.
 1.65 23-Nov-2010  hannken branches: 1.65.2; 1.65.4;
Remove unused count from pseudo-device md.
 1.64 28-Oct-2010  briggs Bump SYMTAB_SPACE for a few configurations.
 1.63 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.62 05-Dec-2009  pooka branches: 1.62.2; 1.62.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.61 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.60 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.59 24-Nov-2008  ad branches: 1.59.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.57 31-Jul-2008  simonb branches: 1.57.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.56 27-Jun-2008  he branches: 1.56.2;
Bump SYMTAB_SPACE so that it fits again.
 1.55 30-May-2008  tsutsui branches: 1.55.2;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.54 19-Jan-2008  chris branches: 1.54.6; 1.54.8; 1.54.10; 1.54.12;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.53 08-Jan-2008  matt More kernels SYMTAB_SPACE increased.
 1.52 17-Oct-2007  garbled branches: 1.52.2; 1.52.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.51 13-May-2007  he branches: 1.51.6; 1.51.10;
Bump SYMTAB_SPACE so that it fits again.
 1.50 25-Oct-2006  he branches: 1.50.4; 1.50.8; 1.50.10; 1.50.16;
Bump SYMTAB_SPACE so that it fits again.
Hm, this port doesn't error out the build if it doesn't...
 1.49 26-Aug-2006  christos branches: 1.49.2; 1.49.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.48 05-Feb-2006  cube branches: 1.48.2;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.47 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.46 07-Dec-2005  tsutsui branches: 1.46.2; 1.46.4; 1.46.6;
Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.45 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.44 19-Aug-2005  christos 64 bit inode changes.
 1.43 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.42 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.41 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.40 25-Feb-2005  simonb branches: 1.40.2; 1.40.4;
Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.39 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.38 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.37 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.36 10-Nov-2004  christos branches: 1.36.4; 1.36.6;
Add COMPAT_BSDPTY to the rest of the config files.
 1.35 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.34 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.33 13-Feb-2004  wiz branches: 1.33.2;
Uppercase CPU, plural is CPUs.
 1.32 09-Dec-2003  he Bump SYMTAB_SPACE so that the symbol table fits again.
 1.31 20-Oct-2003  briggs As suggested by Jason Thorpe, rename m41t to m41trtc.
 1.30 20-Oct-2003  briggs Add i2c and the m41t00 RTC on the i2c bus.
 1.29 10-Oct-2003  chs increase SYMTAB_SPACE.
 1.28 13-Sep-2003  chris Add COMPAT_16 to most arm based kernels. Mainly in preperation for doing
SA_SIGINFO work.
 1.27 06-Sep-2003  rearnsha Default all builds to not have debug information. Significantly
reduces disk space needed for a make release, especially if using
dwarf2 debug.
 1.26 14-Jun-2003  thorpej branches: 1.26.2;
Use CPUFLAGS rather than COPTS to pass -mcpu=xscale.
 1.25 23-May-2003  thorpej Add ksyms.
 1.24 22-Apr-2003  thorpej Bump SYMTAB_SPACE a little.
 1.23 03-Oct-2002  thorpej Use indirect configuration for on-board devices (i.e. those things
attached to "obio") on the IQ80310 and IQ80321. It makes more sense
to do it this way for this type of system (the goal being to encapsulate
as much information about the board as possible into one file).
 1.22 18-Sep-2002  lukem enable USERCONF by default; it's small and extremely useful to have available.
 1.21 29-Aug-2002  thorpej Put PERFCTRS under "Development and Debugging options".
 1.20 29-Aug-2002  thorpej Don't need SOSEND_LOAN here anymore.
 1.19 20-Aug-2002  briggs Disable coalesced writes on IOP310-based systems.
 1.18 17-Aug-2002  briggs Add a new option EVBARM_BOARDTYPE to differentiate between different
evbarm ports. Inline _splraise/_spllower/splx for i80321 and iq80310
for more performance.
 1.17 07-Aug-2002  thorpej Use -mcpu=xscale.
 1.16 17-Jun-2002  lukem Enable "pseudo-device clockctl" in all kernels, except
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
 1.15 03-May-2002  thorpej branches: 1.15.2; 1.15.4;
Switch to esiop by default (again); it is fully-baked enough to use
in production now.
 1.14 25-Apr-2002  atatat Add the INCLUDE_CONFIG_FILE option to all config files. In config
files that are generic (ie, GENERIC, GENERICSBC, GENERIC32, ALL, or
ALPHA), it is uncommented.
 1.13 25-Apr-2002  briggs XSCALE_CCLKCFG should not be set in std.iq80310. Set IQ80310 to use
XSCALE_CCLKCFG=9 (733MHz) and TEAMASA_NPWR to use XSCALE_CCLKCFG=7 (600MHz)
as that's what the part on the board is rated for.
 1.12 24-Apr-2002  thorpej Go back to siop; esiop isn't fully baked yet.
 1.11 24-Apr-2002  thorpej Use esiop.
 1.10 18-Apr-2002  briggs Enable new option SIOP_SYMLED
 1.9 13-Apr-2002  briggs Enable ext2fs and RAIDframe.
 1.8 12-Apr-2002  thorpej Add a "netbsd-sd0" configuration.
 1.7 12-Apr-2002  gmcgarry Add commented-out USERCONF option. Mainly useful for install media
and can be optionally enabled based on miniroot and ramdisk size
requirements.
 1.6 02-Apr-2002  lukem Rename MEMORY_DISK_SIZE (formerly MINIROOTSIZE) to MEMORY_DISK_ROOT_SIZE,
which was suggested by Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> as
being more consistent with what it's controlling...
 1.5 26-Mar-2002  thorpej Restructure a few things in order to support other XScale core
I/O processors:
* The i80200 and the i80321 have the same CPU ID, so split the
CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321
options, and don't let them both be defined at the same time.
XXX May want to revisit this in the future.
* Split some registers common between the i80200 and i80321 into
<arm/xscale/xscalereg.h>.
* Rename a few existing functions.
 1.4 10-Mar-2002  lukem branches: 1.4.2;
* rename MINIROOTSIZE to MEMORY_DISK_SIZE, so that all md(4) options
are now consistently named
* fold opt_mdsize.h into opt_md.h
 1.3 08-Feb-2002  thorpej branches: 1.3.2;
* No need to specify the console speed anymore; it defaults to the
correct speed if IOP310_TEAMASA_NPWR is defined.
* Just wildcard the "wm" and "siop" devices.
* Comment out raid and ccd for now.
 1.2 08-Feb-2002  briggs finish conversion from TEAMASA_NPWR to IOP310_TEAMASA_NPWR
 1.1 07-Feb-2002  thorpej Add support for the Team ASA Npwr IOP310-based server appliance.
 1.3.2.10 18-Oct-2002  nathanw Catch up to -current.
 1.3.2.9 29-Aug-2002  thorpej Sync with -current, comment out PERFCTRS.
 1.3.2.8 27-Aug-2002  thorpej Sync with -current.
 1.3.2.7 19-Aug-2002  thorpej Partial (ARM only) sync with trunk -- significant performance improvements
for XScale-based systems.
 1.3.2.6 13-Aug-2002  nathanw Catch up to -current.
 1.3.2.5 20-Jun-2002  nathanw Catch up to -current.
 1.3.2.4 17-Apr-2002  nathanw Catch up to -current.
 1.3.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.3.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.3.2.1 08-Feb-2002  nathanw file TEAMASA_NPWR was added on branch nathanw_sa on 2002-02-28 04:09:07 +0000
 1.4.2.5 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.4.2.4 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.4.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.2.2 16-Mar-2002  jdolecek Catch up with -current.
 1.4.2.1 10-Mar-2002  jdolecek file TEAMASA_NPWR was added on branch kqueue on 2002-03-16 15:57:26 +0000
 1.15.4.2 16-Nov-2002  he Pull up revision 1.17 (requested by thorpej in ticket #637):
Use -mcpu=xscale.
 1.15.4.1 01-Aug-2002  lukem Pull up revision 1.16 (requested by lukem in ticket #312):
Enable "pseudo-device clockctl" in all kernels, except
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
 1.15.2.3 31-Aug-2002  gehenna catch up with -current.
 1.15.2.2 30-Aug-2002  gehenna catch up with -current.
 1.15.2.1 14-Jul-2002  gehenna catch up with -current.
 1.26.2.9 11-Dec-2005  christos Sync with head.
 1.26.2.8 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.26.2.7 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.26.2.6 15-Feb-2005  skrll Sync with HEAD.
 1.26.2.5 04-Feb-2005  skrll Sync with HEAD.
 1.26.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.26.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.26.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.26.2.1 03-Aug-2004  skrll Sync with HEAD
 1.33.2.1 15-Jul-2004  he Pull up revision 1.34 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.36.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.36.6.1 12-Feb-2005  yamt sync with head.
 1.36.4.1 29-Apr-2005  kent sync with -current
 1.40.4.4 21-Jan-2008  yamt sync with head
 1.40.4.3 03-Sep-2007  yamt sync with head.
 1.40.4.2 30-Dec-2006  yamt sync with head.
 1.40.4.1 21-Jun-2006  yamt sync with head.
 1.40.2.1 18-Jul-2005  riz Pull up revision 1.41 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.46.6.1 22-Apr-2006  simonb Sync with head.
 1.46.4.1 09-Sep-2006  rpaulo sync with head
 1.46.2.1 18-Feb-2006  yamt sync with head.
 1.48.2.1 03-Sep-2006  yamt sync with head.
 1.49.4.1 10-Dec-2006  yamt sync with head.
 1.49.2.1 18-Nov-2006  ad Sync with head.
 1.50.16.1 22-May-2007  matt Update to HEAD.
 1.50.10.1 11-Jul-2007  mjf Sync with head.
 1.50.8.1 27-May-2007  ad Sync with head.
 1.50.4.1 17-May-2007  yamt sync with head.
 1.51.10.3 23-Mar-2008  matt sync with HEAD
 1.51.10.2 09-Jan-2008  matt sync with HEAD
 1.51.10.1 06-Nov-2007  matt sync with HEAD
 1.51.6.1 28-Feb-2008  rjs Sync with HEAD.
 1.52.8.2 20-Jan-2008  bouyer Sync with HEAD
 1.52.8.1 08-Jan-2008  bouyer Sync with HEAD
 1.52.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.54.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.54.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.54.10.3 11-Aug-2010  yamt sync with head.
 1.54.10.2 11-Mar-2010  yamt sync with head
 1.54.10.1 04-May-2009  yamt sync with head.
 1.54.8.1 04-Jun-2008  yamt sync with head
 1.54.6.4 17-Jan-2009  mjf Sync with HEAD.
 1.54.6.3 28-Sep-2008  mjf Sync with HEAD.
 1.54.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.54.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.55.2.1 03-Jul-2008  simonb Sync with head.
 1.56.2.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.56.2.1 19-Oct-2008  haad Sync with HEAD.
 1.57.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.57.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.59.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.62.4.3 21-Apr-2011  rmind sync with head
 1.62.4.2 05-Mar-2011  rmind sync with head
 1.62.4.1 30-May-2010  rmind sync with head
 1.62.2.2 06-Nov-2010  uebayasi Sync with HEAD.
 1.62.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.65.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.65.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.69.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.69.2.2 30-Oct-2012  yamt sync with head
 1.69.2.1 17-Apr-2012  yamt sync with head
 1.70.2.2 29-Apr-2012  mrg sync to latest -current.
 1.70.2.1 18-Feb-2012  mrg merge to -current.
 1.74.2.4 03-Dec-2017  jdolecek update from HEAD
 1.74.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.74.2.2 23-Jun-2013  tls resync from head
 1.74.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.80.2.2 18-May-2014  rmind sync with head
 1.80.2.1 28-Aug-2013  rmind sync with head
 1.82.2.1 10-Aug-2014  tls Rebase.
 1.88.2.2 28-Aug-2017  skrll Sync with HEAD
 1.88.2.1 22-Sep-2015  skrll Sync with HEAD
 1.89.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.89.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.92.2.3 28-Jul-2018  pgoyette Sync with HEAD
 1.92.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.92.2.1 21-May-2018  pgoyette Sync with HEAD
 1.94.2.2 21-Apr-2020  martin Sync with HEAD
 1.94.2.1 10-Jun-2019  christos Sync with HEAD
 1.95.10.1 20-Apr-2020  bouyer Sync with HEAD
 1.95.4.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.97.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.55 07-Aug-2022  simonb branches: 1.55.4;
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.54 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.53 12-Jul-2018  maxv branches: 1.53.4; 1.53.10;
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.52 14-Sep-2017  mrg branches: 1.52.2; 1.52.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.51 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.50 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.49 07-Aug-2015  maxv branches: 1.49.2; 1.49.4;
Remove KMEMSTATS.
 1.48 23-Aug-2014  dholland branches: 1.48.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.47 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.46 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.45 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.44 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.43 30-Jun-2013  rmind branches: 1.43.4;
G/C PFIL_HOOKS from the kernel configs.
 1.42 05-Jun-2013  christos branches: 1.42.2;
remove obsolete networking options
 1.41 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.40 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.39 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.38 11-Sep-2012  msaitoh branches: 1.38.2;
Add PUFFS, putter and fss.
 1.37 29-Aug-2012  skrll Typo in comment
 1.36 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.35 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.34 22-Nov-2011  tls branches: 1.34.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.33 30-Jun-2011  wiz branches: 1.33.2;
dependant -> dependent
 1.32 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.31 06-Mar-2011  jakllsch Bump SYMTAB_SPACE for the many other evbarm kernels that also need it increased.
 1.30 23-Nov-2010  hannken branches: 1.30.2; 1.30.4;
Remove unused count from pseudo-device md.
 1.29 28-Oct-2010  briggs Bump SYMTAB_SPACE for a few configurations.
 1.28 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.27 05-Dec-2009  pooka branches: 1.27.2; 1.27.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.26 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.25 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.24 24-Nov-2008  ad branches: 1.24.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.22 31-Jul-2008  simonb branches: 1.22.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.21 30-May-2008  tsutsui branches: 1.21.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.20 19-Jan-2008  chris branches: 1.20.6; 1.20.8; 1.20.10; 1.20.12;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.19 08-Jan-2008  matt More kernels SYMTAB_SPACE increased.
 1.18 26-Aug-2006  christos branches: 1.18.28; 1.18.32; 1.18.38; 1.18.46;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.17 05-Feb-2006  cube branches: 1.17.2;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.16 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.15 07-Dec-2005  tsutsui branches: 1.15.2; 1.15.4; 1.15.6;
Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.14 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.13 19-Aug-2005  christos 64 bit inode changes.
 1.12 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.11 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.10 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.9 25-Feb-2005  simonb branches: 1.9.2; 1.9.4;
Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.8 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.7 12-Feb-2005  rearnsha DMA on the i31244 is now enabled by default.
 1.6 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.5 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.4 10-Nov-2004  christos branches: 1.4.4; 1.4.6;
Add COMPAT_BSDPTY to the rest of the config files.
 1.3 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.2 15-Jul-2004  atatat branches: 1.2.2;
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.1 24-Dec-2003  briggs branches: 1.1.2;
Configuration file for the TeamASA NPWR-FC.
XXX - Note that, because the serial interrupt uses the i80321's HPI, this
configuration will not work as-is without some changes in i80321_icu.c.
 1.1.2.1 15-Jul-2004  he Pull up revision 1.2 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 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 14-Nov-2004  skrll Sync with HEAD.
 1.2.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.2 03-Aug-2004  skrll Sync with HEAD
 1.2.2.1 15-Jul-2004  skrll file TEAMASA_NPWR_FC was added on branch ktrace-lwp on 2004-08-03 10:33:55 +0000
 1.4.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.4.6.1 12-Feb-2005  yamt sync with head.
 1.4.4.1 29-Apr-2005  kent sync with -current
 1.9.4.3 21-Jan-2008  yamt sync with head
 1.9.4.2 30-Dec-2006  yamt sync with head.
 1.9.4.1 21-Jun-2006  yamt sync with head.
 1.9.2.1 18-Jul-2005  riz Pull up revision 1.10 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.15.6.1 22-Apr-2006  simonb Sync with head.
 1.15.4.1 09-Sep-2006  rpaulo sync with head
 1.15.2.1 18-Feb-2006  yamt sync with head.
 1.17.2.1 03-Sep-2006  yamt sync with head.
 1.18.46.2 20-Jan-2008  bouyer Sync with HEAD
 1.18.46.1 08-Jan-2008  bouyer Sync with HEAD
 1.18.38.1 18-Feb-2008  mjf Sync with HEAD.
 1.18.32.2 23-Mar-2008  matt sync with HEAD
 1.18.32.1 09-Jan-2008  matt sync with HEAD
 1.18.28.1 28-Feb-2008  rjs Sync with HEAD.
 1.20.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.20.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.20.10.3 11-Aug-2010  yamt sync with head.
 1.20.10.2 11-Mar-2010  yamt sync with head
 1.20.10.1 04-May-2009  yamt sync with head.
 1.20.8.1 04-Jun-2008  yamt sync with head
 1.20.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.20.6.2 28-Sep-2008  mjf Sync with HEAD.
 1.20.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.21.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.21.4.1 19-Oct-2008  haad Sync with HEAD.
 1.22.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.22.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.24.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.27.4.3 21-Apr-2011  rmind sync with head
 1.27.4.2 05-Mar-2011  rmind sync with head
 1.27.4.1 30-May-2010  rmind sync with head
 1.27.2.2 06-Nov-2010  uebayasi Sync with HEAD.
 1.27.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.30.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.30.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.33.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.33.2.2 30-Oct-2012  yamt sync with head
 1.33.2.1 17-Apr-2012  yamt sync with head
 1.34.2.2 29-Apr-2012  mrg sync to latest -current.
 1.34.2.1 18-Feb-2012  mrg merge to -current.
 1.38.2.4 03-Dec-2017  jdolecek update from HEAD
 1.38.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.38.2.2 23-Jun-2013  tls resync from head
 1.38.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.42.2.1 28-Aug-2013  rmind sync with head
 1.43.4.1 10-Aug-2014  tls Rebase.
 1.48.2.2 28-Aug-2017  skrll Sync with HEAD
 1.48.2.1 22-Sep-2015  skrll Sync with HEAD
 1.49.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.49.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.52.4.2 21-Apr-2020  martin Sync with HEAD
 1.52.4.1 10-Jun-2019  christos Sync with HEAD
 1.52.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.53.10.1 20-Apr-2020  bouyer Sync with HEAD
 1.53.4.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.55.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.3 02-May-2014  dogcow as suggested by gimpy et al, "no config" the netbsd-device kernels.
Reduces `build.sh release` by about a gig.
 1.2 08-Apr-2003  thorpej branches: 1.2.142; 1.2.152; 1.2.158; 1.2.168;
Factor out common INSTALL kernel config fragments into a new INSTALL
file. Add INSTALL kernels for the ADI BRH, IQ80310, and IQ80321.
 1.1 13-Apr-2002  thorpej branches: 1.1.2; 1.1.8;
Add an install kernel for the Npwr.
 1.1.8.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.8.1 13-Apr-2002  jdolecek file TEAMASA_NPWR_INSTALL was added on branch kqueue on 2002-06-23 17:35:37 +0000
 1.1.2.2 17-Apr-2002  nathanw Catch up to -current.
 1.1.2.1 13-Apr-2002  nathanw file TEAMASA_NPWR_INSTALL was added on branch nathanw_sa on 2002-04-17 00:02:54 +0000
 1.2.168.1 10-Aug-2014  tls Rebase.
 1.2.158.1 18-May-2014  rmind sync with head
 1.2.152.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.142.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.40 31-Mar-2019  jmcneill Remove TEGRA kernel config.
 1.39 06-Feb-2019  rin Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.38 18-Aug-2018  skrll Note EARLYCONS in comment
 1.37 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.36 30-Jun-2018  jmcneill Attach simplebus on pass 0
 1.35 30-Jun-2018  jmcneill cpus: use fdt_add_bus
 1.34 30-Jun-2018  jmcneill Allow nodes to attach child devices using the same sorting rules as used
by the simplebus driver.
 1.33 26-Sep-2017  jmcneill branches: 1.33.2; 1.33.4; 1.33.6;
More PCIe / XUSBPAD initialization goo for Tegra210.
 1.32 23-Sep-2017  jmcneill add wskbd at gpiokeys
 1.31 22-Sep-2017  jmcneill Enable max77620pmic and tcagpio
 1.30 22-Sep-2017  jmcneill Replace unused mpio driver with a more generic interface for pinmux, and
add Tegra210 pinmux support.
 1.29 19-Sep-2017  jmcneill Add basic tegra210 xusbpad driver, shorten tegra*xusbpad driver names to
tegra*xpad to fit in dv_xname
 1.28 19-Sep-2017  jmcneill The xusbpad driver is tegra 124 specific so split it out into a separate
driver. Add (not yet working) tegra 210 support to the xusb driver.
 1.27 08-Sep-2017  jmcneill Include tegra210 dts files with kernel build
 1.26 21-Jul-2017  jmcneill Add support for NVIDIA Tegra X1.
 1.25 20-Jul-2017  jmcneill Add options SOC_TEGRA210
 1.24 16-Jun-2017  jmcneill Set DTS makeoption in kernel config
 1.23 02-Jun-2017  jmcneill branches: 1.23.2;
Attach Tegra124 DVFS to /cpus/cpu0 now that another driver is claiming the
/cpus node.
 1.22 29-May-2017  jmcneill Remove reference to CONSPEED, this value comes from fdt data
 1.21 29-May-2017  jmcneill Rename armv7fdt to armfdt now that bus space + dma tags are filled in by
platform code.
 1.20 28-May-2017  jmcneill Enumerate CPUs, GIC, and generic timer using FDT data instead of relying
on hard-coded tables in mainbus.
 1.19 29-Apr-2017  jmcneill add tegraapbdma driver
 1.18 26-Apr-2017  jmcneill branches: 1.18.2;
Allow for specifying (optional) pass number locator for devices at fdt.
 1.17 22-Apr-2017  jmcneill Get rid of tegra_cpuinit after scanning fdt and attach the cpufreq support
to the /cpus node. Use regulator API instead of poking directly at the I2C
controller to set voltages.
 1.16 22-Apr-2017  jmcneill add as3722reg
 1.15 21-Apr-2017  jmcneill Setup the console serial port using the /chosen/stdout-path property
instead of the compile-time CONSADDR setting.
 1.14 16-Apr-2017  jmcneill Add fclock(4)
 1.13 14-Apr-2017  jmcneill Remove simplebus driver and allow fdtbus to attach directly to itself.
 1.12 28-Mar-2017  skrll Enable xhci(4)
 1.11 20-Mar-2017  skrll Disable DIAGNOSTIC - it is already enabled in GENERIC.common
 1.10 13-Dec-2016  christos branches: 1.10.2;
wildcard speaker attachments, now that we can handle many of them.
 1.9 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.8 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.7 26-Sep-2016  jakllsch Add xhci(4) attachment glue and firmware handler for Tegra K1 "XUSB"
xHCI controller. Adjustments to tegraxusbpad(4) will be needed
to connect the controller to actual USB ports.
 1.6 22-Dec-2015  jmcneill branches: 1.6.2; 1.6.4;
Switch Tegra over to fdt based clocks and reset controls.
 1.5 16-Dec-2015  jmcneill move options FDT to std.tegra
 1.4 15-Dec-2015  jmcneill remove some commented out entries for static i2c device instances
 1.3 15-Dec-2015  jmcneill wire down ldN to sdmmcN, so disk numbers dont jump around between boots
 1.2 14-Dec-2015  jmcneill add gpiokeys driver
 1.1 13-Dec-2015  jmcneill Remove JETSONTK1 and NYAN-BIG kernels, add a new unified kernel named TEGRA.
 1.6.4.3 26-Apr-2017  pgoyette Sync with HEAD
 1.6.4.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.6.4.1 04-Nov-2016  pgoyette Sync with HEAD
 1.6.2.6 28-Aug-2017  skrll Sync with HEAD
 1.6.2.5 05-Feb-2017  skrll Sync with HEAD
 1.6.2.4 01-Nov-2016  jakllsch Enable xhci(4) in TEGRA. It should have something to do now that the pad
setup exists.
 1.6.2.3 05-Oct-2016  skrll Sync with HEAD
 1.6.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.6.2.1 22-Dec-2015  skrll file TEGRA was added on branch nick-nhusb on 2015-12-27 12:09:34 +0000
 1.10.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.18.2.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.23.2.1 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.33.6.1 10-Jun-2019  christos Sync with HEAD
 1.33.4.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.33.4.1 28-Jul-2018  pgoyette Sync with HEAD
 1.33.2.2 03-Dec-2017  jdolecek update from HEAD
 1.33.2.1 26-Sep-2017  jdolecek file TEGRA was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.2 06-Jul-2017  jmcneill Enable memory disk support in the TEGRA kernel and remove TEGRA_INSTALL.
 1.1 13-Dec-2015  jmcneill branches: 1.1.2;
Remove JETSONTK1 and NYAN-BIG kernels, add a new unified kernel named TEGRA.
 1.1.2.3 28-Aug-2017  skrll Sync with HEAD
 1.1.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.2.1 13-Dec-2015  skrll file TEGRA_INSTALL was added on branch nick-nhusb on 2015-12-27 12:09:34 +0000
 1.7 26-Oct-2019  jmcneill Adapt ti fdt glue to support GENERIC kernel.
 1.6 21-Nov-2018  skrll branches: 1.6.4;
options<space><tab>
 1.5 30-Jun-2018  jmcneill Attach simplebus on pass 0
 1.4 30-Jun-2018  jmcneill cpus: use fdt_add_bus
 1.3 30-Jun-2018  jmcneill Allow nodes to attach child devices using the same sorting rules as used
by the simplebus driver.
 1.2 26-Oct-2017  jmcneill branches: 1.2.2; 1.2.4; 1.2.6;
Add support for enabling modules specified in ti,hwmods property. Very
primitive am3xxx prcm driver added to validate it, needs work.
 1.1 26-Oct-2017  jakllsch Initial FDT support for TI's ARM SoCs.

Currently supports only limited functionality on AM335x.
 1.2.6.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.1 10-Jun-2019  christos Sync with HEAD
 1.2.4.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.2.4.1 28-Jul-2018  pgoyette Sync with HEAD
 1.2.2.2 03-Dec-2017  jdolecek update from HEAD
 1.2.2.1 26-Oct-2017  jdolecek file TI was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.6.4.1 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.44 29-Oct-2022  jmcneill Remove support for TI OMAP 2420 and 2430 eval boards.

This is part of the arch/arm/omap removal.
 1.43 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.42 13-Jun-2020  ad Comment out "options PMAPCOUNTERS". It adds much overhead and is mostly of
interest to people hacking on the VM system or pmap. Proposed on port-arm@.
 1.41 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.40 23-Oct-2018  jdolecek branches: 1.40.4; 1.40.10;
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.39 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.38 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.37 14-Sep-2017  mrg branches: 1.37.2; 1.37.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.36 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.35 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.34 25-Jun-2016  skrll branches: 1.34.2; 1.34.4;
Fix build
 1.33 07-Aug-2015  maxv Remove KMEMSTATS.
 1.32 23-Aug-2014  dholland branches: 1.32.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.31 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.30 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.29 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.28 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.27 19-Dec-2013  joerg branches: 1.27.2;
Bump SYMTAB_SPACE to 600k for clang.
 1.26 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.25 05-Jun-2013  christos branches: 1.25.2;
remove obsolete networking options
 1.24 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.23 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.22 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.21 11-Sep-2012  msaitoh branches: 1.21.2;
Add PUFFS, putter and fss.
 1.20 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.19 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.18 22-Nov-2011  tls branches: 1.18.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.17 30-Jun-2011  wiz branches: 1.17.2;
dependant -> dependent
 1.16 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.15 06-Mar-2011  jakllsch Remove trailing spaces.
 1.14 06-Mar-2011  jakllsch Bump SYMTAB_SPACE.
 1.13 19-Jun-2010  matt branches: 1.13.2; 1.13.4;
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of
CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8.
CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined.
Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb
instructions.

Test booted to root device prompt on a Beagleboard.
All ARM kernels successfully test built.
 1.12 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.11 05-Dec-2009  pooka branches: 1.11.2; 1.11.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.10 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.9 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.8 24-Nov-2008  ad branches: 1.8.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.6 21-Oct-2008  matt branches: 1.6.2;
Add TISDP2420_INSTALL and remove md from TISDP2420
 1.5 27-Aug-2008  matt Cleanup OMAP2 files. Change most omap2430* to omap2_*. This is in
preperation for the OMAP 3530 (OMAP 3) support. Some 3530 definitions
added.
 1.4 31-Jul-2008  simonb 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 27-Apr-2008  matt branches: 1.2.2;
Merge kernel changes in matt-armv6 to HEAD.
 1.1 29-Oct-2007  matt branches: 1.1.2; 1.1.16; 1.1.18; 1.1.20;
file TISDP2420 was initially added on branch matt-armv6.
 1.1.20.4 11-Aug-2010  yamt sync with head.
 1.1.20.3 11-Mar-2010  yamt sync with head
 1.1.20.2 04-May-2009  yamt sync with head.
 1.1.20.1 16-May-2008  yamt sync with head.
 1.1.18.2 04-Jun-2008  yamt sync with head
 1.1.18.1 18-May-2008  yamt sync with head.
 1.1.16.3 17-Jan-2009  mjf Sync with HEAD.
 1.1.16.2 28-Sep-2008  mjf Sync with HEAD.
 1.1.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.2.8 23-Mar-2008  matt sync with HEAD
 1.1.2.7 28-Jan-2008  matt Change MEMSIZE to 64
 1.1.2.6 08-Jan-2008  matt Add pic for omap2. Switch to standard MI intr_* calls.
 1.1.2.5 05-Nov-2007  matt Update sm0 irq.
 1.1.2.4 05-Nov-2007  matt Update gpmc addr to reflect 2420 reality.
 1.1.2.3 04-Nov-2007  matt Define OMAP2 and make OMAP_24[23] generate it. Use that instead of testing
for OMAP_2430 explicitly.
 1.1.2.2 31-Oct-2007  matt Correct irq for sm0 (different between 2420 and 2430).
 1.1.2.1 29-Oct-2007  matt Add support files TI SDP2420/SDP2430 eval board.
 1.2.2.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.2.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 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.6.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.6.2.1 19-Jan-2009  skrll 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.11.4.3 21-Apr-2011  rmind sync with head
 1.11.4.2 03-Jul-2010  rmind sync with head
 1.11.4.1 30-May-2010  rmind 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.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.13.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.17.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.17.2.2 30-Oct-2012  yamt sync with head
 1.17.2.1 17-Apr-2012  yamt sync with head
 1.18.2.2 29-Apr-2012  mrg sync to latest -current.
 1.18.2.1 18-Feb-2012  mrg merge to -current.
 1.21.2.4 03-Dec-2017  jdolecek update from HEAD
 1.21.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.21.2.2 23-Jun-2013  tls resync from head
 1.21.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.25.2.2 18-May-2014  rmind sync with head
 1.25.2.1 28-Aug-2013  rmind sync with head
 1.27.2.1 10-Aug-2014  tls Rebase.
 1.32.2.3 28-Aug-2017  skrll Sync with HEAD
 1.32.2.2 09-Jul-2016  skrll Sync with HEAD
 1.32.2.1 22-Sep-2015  skrll Sync with HEAD
 1.34.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.34.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.37.4.2 21-Apr-2020  martin Sync with HEAD
 1.37.4.1 10-Jun-2019  christos Sync with HEAD
 1.37.2.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.37.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.40.10.1 20-Apr-2020  bouyer Sync with HEAD
 1.40.4.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.3 29-Oct-2022  jmcneill Remove support for TI OMAP 2420 and 2430 eval boards.

This is part of the arch/arm/omap removal.
 1.2 01-May-2014  martin Do not create debug info for *_INSTALL kernels.
 1.1 21-Oct-2008  matt branches: 1.1.8; 1.1.10; 1.1.16; 1.1.34; 1.1.44; 1.1.50; 1.1.60;
Add TISDP2420_INSTALL and remove md from TISDP2420
 1.1.60.1 10-Aug-2014  tls Rebase.
 1.1.50.1 18-May-2014  rmind sync with head
 1.1.44.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.34.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.16.2 04-May-2009  yamt sync with head.
 1.1.16.1 21-Oct-2008  yamt file TISDP2420_INSTALL was added on branch yamt-nfs-mp on 2009-05-04 08:10:57 +0000
 1.1.10.2 17-Jan-2009  mjf Sync with HEAD.
 1.1.10.1 21-Oct-2008  mjf file TISDP2420_INSTALL was added on branch mjf-devfs2 on 2009-01-17 13:27:57 +0000
 1.1.8.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.1.8.1 21-Oct-2008  haad file TISDP2420_INSTALL was added on branch haad-dm on 2008-12-13 01:13:07 +0000
 1.42 29-Oct-2022  jmcneill Remove support for TI OMAP 2420 and 2430 eval boards.

This is part of the arch/arm/omap removal.
 1.41 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.40 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.39 23-Oct-2018  jdolecek branches: 1.39.4; 1.39.10;
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.38 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.37 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.36 14-Sep-2017  mrg branches: 1.36.2; 1.36.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.35 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.34 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.33 07-Aug-2015  maxv branches: 1.33.2; 1.33.4;
Remove KMEMSTATS.
 1.32 23-Aug-2014  dholland branches: 1.32.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.31 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.30 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.29 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.28 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.27 30-Jun-2013  rmind branches: 1.27.4;
G/C PFIL_HOOKS from the kernel configs.
 1.26 05-Jun-2013  christos branches: 1.26.2;
remove obsolete networking options
 1.25 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.24 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.23 26-Dec-2012  matt Bump SYMTAB_SPACE
 1.22 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.21 11-Sep-2012  msaitoh branches: 1.21.2;
Add PUFFS, putter and fss.
 1.20 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.19 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.18 22-Nov-2011  tls branches: 1.18.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.17 30-Jun-2011  wiz branches: 1.17.2;
dependant -> dependent
 1.16 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.15 06-Mar-2011  jakllsch Bump SYMTAB_SPACE for the many other evbarm kernels that also need it increased.
 1.14 06-Mar-2011  jakllsch Remove trailing spaces.
 1.13 23-Nov-2010  hannken branches: 1.13.2; 1.13.4;
Remove unused count from pseudo-device md.
 1.12 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.11 05-Dec-2009  pooka branches: 1.11.2; 1.11.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.10 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.9 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.8 24-Nov-2008  ad branches: 1.8.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.6 30-Oct-2008  matt Switch to new icu/gpio code.
 1.5 27-Aug-2008  matt branches: 1.5.2;
Cleanup OMAP2 files. Change most omap2430* to omap2_*. This is in
preperation for the OMAP 3530 (OMAP 3) support. Some 3530 definitions
added.
 1.4 31-Jul-2008  simonb 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 27-Apr-2008  matt branches: 1.2.2;
Merge kernel changes in matt-armv6 to HEAD.
 1.1 29-Oct-2007  matt branches: 1.1.2; 1.1.6; 1.1.18; 1.1.20; 1.1.22;
file TISDP2430 was initially added on branch matt-armv6.
 1.1.22.4 11-Aug-2010  yamt sync with head.
 1.1.22.3 11-Mar-2010  yamt sync with head
 1.1.22.2 04-May-2009  yamt sync with head.
 1.1.22.1 16-May-2008  yamt sync with head.
 1.1.20.2 04-Jun-2008  yamt sync with head
 1.1.20.1 18-May-2008  yamt sync with head.
 1.1.18.3 17-Jan-2009  mjf Sync with HEAD.
 1.1.18.2 28-Sep-2008  mjf Sync with HEAD.
 1.1.18.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.1.6.1 29-Oct-2007  matt file TISDP2430 was added on branch matt-nb4-arm on 2007-11-10 02:56:54 +0000
 1.1.2.1 29-Oct-2007  matt Add support files TI SDP2420/SDP2430 eval board.
 1.2.2.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.2.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 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.5.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.5.2.1 19-Jan-2009  skrll 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.11.4.3 21-Apr-2011  rmind sync with head
 1.11.4.2 05-Mar-2011  rmind sync with head
 1.11.4.1 30-May-2010  rmind sync with head
 1.11.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.13.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.13.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.17.2.4 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.17.2.3 23-Jan-2013  yamt sync with head
 1.17.2.2 30-Oct-2012  yamt sync with head
 1.17.2.1 17-Apr-2012  yamt sync with head
 1.18.2.2 29-Apr-2012  mrg sync to latest -current.
 1.18.2.1 18-Feb-2012  mrg merge to -current.
 1.21.2.5 03-Dec-2017  jdolecek update from HEAD
 1.21.2.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.21.2.3 23-Jun-2013  tls resync from head
 1.21.2.2 25-Feb-2013  tls resync with head
 1.21.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.26.2.1 28-Aug-2013  rmind sync with head
 1.27.4.1 10-Aug-2014  tls Rebase.
 1.32.2.2 28-Aug-2017  skrll Sync with HEAD
 1.32.2.1 22-Sep-2015  skrll Sync with HEAD
 1.33.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.33.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.36.4.2 21-Apr-2020  martin Sync with HEAD
 1.36.4.1 10-Jun-2019  christos Sync with HEAD
 1.36.2.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.36.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.39.10.1 20-Apr-2020  bouyer Sync with HEAD
 1.39.4.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.4 23-May-2020  jmcneill GC TOASTER kernel
 1.3 06-Mar-2011  jakllsch Remove trailing spaces.
 1.2 11-Dec-2005  christos branches: 1.2.18; 1.2.102; 1.2.108;
merge ktrace-lwp.
 1.1 14-Aug-2005  joff branches: 1.1.6;
The configuration used for the NetBSD/toaster demo by
the NetBSD booth during LinuxWorld Expo 2005.
 1.1.6.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.6.1 14-Aug-2005  skrll file TOASTER was added on branch ktrace-lwp on 2005-11-10 13:55:51 +0000
 1.2.108.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.102.1 21-Apr-2011  rmind sync with head
 1.2.18.2 21-Jun-2006  yamt sync with head.
 1.2.18.1 11-Dec-2005  yamt file TOASTER was added on branch yamt-lazymbuf on 2006-06-21 14:50:33 +0000
 1.78 07-Aug-2022  simonb branches: 1.78.4;
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.77 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.76 16-May-2020  maya branches: 1.76.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.75 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.74 29-Jan-2020  maya branches: 1.74.4;
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.73 06-Feb-2019  rin branches: 1.73.4; 1.73.6;
Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.72 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.71 25-Aug-2018  rin Add (commented out) mue(4) to where appropriate.
Also add MII/PHY drivers for USB NICs if missing.
 1.70 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.69 14-Sep-2017  mrg branches: 1.69.2; 1.69.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.68 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.67 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.66 13-Dec-2016  christos branches: 1.66.2;
wildcard speaker attachments, now that we can handle many of them.
 1.65 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.64 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.63 26-Sep-2015  maxv branches: 1.63.2;
Remove KMEMSTATS. Normally it's ok now.
 1.62 23-Aug-2014  dholland branches: 1.62.2;
Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.61 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.60 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.59 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.58 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.57 30-Jun-2013  rmind branches: 1.57.4;
G/C PFIL_HOOKS from the kernel configs.
 1.56 05-Jun-2013  christos branches: 1.56.2;
remove obsolete networking options
 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 11-Sep-2012  msaitoh branches: 1.52.2;
Add PUFFS, putter and fss.
 1.51 01-Sep-2012  matt Bump up SYMTAB_SPACE
 1.50 29-Aug-2012  skrll Typo in comment
 1.49 05-Jun-2012  abs 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 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 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 22-Nov-2011  tls branches: 1.46.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.45 30-Jun-2011  wiz branches: 1.45.2;
dependant -> dependent
 1.44 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.43 23-Nov-2010  hannken branches: 1.43.2; 1.43.4;
Remove unused count from pseudo-device md.
 1.42 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.41 07-Mar-2010  plunky branches: 1.41.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.40 05-Dec-2009  pooka branches: 1.40.2;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.39 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 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 27-Feb-2009  kenh Improved support for GPIO support on the EP93xx ARM processors.
Specifically:

Support disabling specific pins on specific ports.
Modification of TS7200 kernel config file for GPIO support.
Documentatin for the current and improved GPIO interface (epgpio).
 1.36 19-Dec-2008  kenh branches: 1.36.2;
Trim back kernel configuration to fit within TS7200's memory limitations.
 1.35 24-Nov-2008  ad Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.33 31-Jul-2008  simonb branches: 1.33.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.32 30-May-2008  tsutsui branches: 1.32.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.31 19-Jan-2008  chris branches: 1.31.6; 1.31.8; 1.31.10; 1.31.12;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.30 14-Mar-2007  drochner branches: 1.30.12; 1.30.16; 1.30.22; 1.30.28;
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.29 26-Aug-2006  christos branches: 1.29.8; 1.29.12; 1.29.14;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.28 14-Aug-2006  skrll s/adpater/adapter/

Prompted by PR/34195
 1.27 19-Apr-2006  drochner adjust comments for the new location of wskbdmap_mfii.c,
addresses PR kern/33290 by henry nelson
 1.26 15-Apr-2006  jmmv Remove the getwschar and putwschar accessops from wsdisplay drivers as
requested by uwe@. These were wrong because they were receiving an
emulcookie yet they were accessops (thus having to receive an accesscookie).
Instead, just handle the WSDISPLAYIO_{GET,PUT}WSCHAR ioctls from the
driver's ioctl accessop.

As this reduces the amount of code needed to handle these operations to
two small functions in each driver, remove the WSDISPLAY_CHARFUNCS kernel
option.

Reviewed by, at least, uwe@ and macallan@. No objections in tech-kern@.
 1.25 05-Feb-2006  cube branches: 1.25.2; 1.25.4; 1.25.6;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.24 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.23 07-Dec-2005  tsutsui branches: 1.23.2; 1.23.4; 1.23.6;
Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.22 09-Sep-2005  drochner remove "dev" locators from cardbus device definitions, it doesn't
make sense technically and might be removed
 1.21 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.20 19-Aug-2005  christos 64 bit inode changes.
 1.19 14-Aug-2005  joff Add attachments for the 4 possible configurations of the TS-DIO24 on the
PC104 bus. Also, comment out the tslcd and tskp drivers by default. Enabling them
prohibits end-user use of the GPIO and LCD headers for other things.
 1.18 05-Aug-2005  skrll Add (commented out) ucycom to various kernel configs.
 1.17 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.16 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.15 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.14 15-Apr-2005  itohy branches: 1.14.2;
Add ukyopon(4).
 1.13 18-Feb-2005  dsl branches: 1.13.4;
Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.12 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.11 04-Feb-2005  joff Support a wsdisplay(4) attachment on a tslcd
 1.10 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.9 31-Jan-2005  joff Add support for a 4x4 matrix keypad wskbd connected via the TS-7200 DIO header.
 1.8 24-Jan-2005  joff branches: 1.8.2;
Enable atu, vnd, and kttcp by default
 1.7 09-Jan-2005  joff branches: 1.7.2; 1.7.4;
enable pcic(9) PCMCIA controllers in default kernel
 1.6 08-Jan-2005  joff Support LCD by default on TS-7200
 1.5 08-Jan-2005  joff Support up to 4 TS-ETH10 ethernet boards on the PC/104 bus
 1.4 31-Dec-2004  joff Enable INET6 by default, bump SYMTAB_SPACE
 1.3 27-Dec-2004  joff Add tsrtc to TS-7200 config
 1.2 24-Dec-2004  joff add netbsd-wd0, netbsd-sd0, netbsd-epe0 configurations
 1.1 23-Dec-2004  joff generic kernel configuration for TS-7200 SBC's
 1.7.4.8 11-Dec-2005  christos Sync with head.
 1.7.4.7 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.7.4.6 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.7.4.5 15-Feb-2005  skrll Sync with HEAD.
 1.7.4.4 04-Feb-2005  skrll Sync with HEAD.
 1.7.4.3 24-Jan-2005  skrll Sync with HEAD.
 1.7.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.7.4.1 09-Jan-2005  skrll file TS7200 was added on branch ktrace-lwp on 2005-01-17 19:29:13 +0000
 1.7.2.1 29-Apr-2005  kent sync with -current
 1.8.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.8.2.1 12-Feb-2005  yamt sync with head.
 1.13.4.2 18-Jul-2005  riz Pull up revision 1.15 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.13.4.1 17-Apr-2005  tron Pull up revision 1.14 (requested by itohy in ticket #160):
Add ukyopon(4).
 1.14.2.4 21-Jan-2008  yamt sync with head
 1.14.2.3 03-Sep-2007  yamt sync with head.
 1.14.2.2 30-Dec-2006  yamt sync with head.
 1.14.2.1 21-Jun-2006  yamt sync with head.
 1.23.6.1 22-Apr-2006  simonb Sync with head.
 1.23.4.1 09-Sep-2006  rpaulo sync with head
 1.23.2.1 18-Feb-2006  yamt sync with head.
 1.25.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.25.4.2 11-May-2006  elad sync with head
 1.25.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.25.2.2 03-Sep-2006  yamt sync with head.
 1.25.2.1 24-May-2006  yamt sync with head.
 1.29.14.1 11-Jul-2007  mjf Sync with head.
 1.29.12.1 10-Apr-2007  ad Sync with head.
 1.29.8.1 24-Mar-2007  yamt sync with head.
 1.30.28.1 20-Jan-2008  bouyer Sync with HEAD
 1.30.22.1 18-Feb-2008  mjf Sync with HEAD.
 1.30.16.1 23-Mar-2008  matt sync with HEAD
 1.30.12.1 28-Feb-2008  rjs Sync with HEAD.
 1.31.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.31.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.31.10.3 11-Aug-2010  yamt sync with head.
 1.31.10.2 11-Mar-2010  yamt sync with head
 1.31.10.1 04-May-2009  yamt sync with head.
 1.31.8.1 04-Jun-2008  yamt sync with head
 1.31.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.31.6.2 28-Sep-2008  mjf Sync with HEAD.
 1.31.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.32.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.32.4.1 19-Oct-2008  haad Sync with HEAD.
 1.33.2.3 28-Apr-2009  skrll Sync with HEAD.
 1.33.2.2 03-Mar-2009  skrll Sync with HEAD.
 1.33.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.36.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.40.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.41.2.3 21-Apr-2011  rmind sync with head
 1.41.2.2 05-Mar-2011  rmind sync with head
 1.41.2.1 30-May-2010  rmind sync with head
 1.43.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.43.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.45.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.45.2.2 30-Oct-2012  yamt sync with head
 1.45.2.1 17-Apr-2012  yamt sync with head
 1.46.2.2 29-Apr-2012  mrg sync to latest -current.
 1.46.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.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.56.2.1 28-Aug-2013  rmind sync with head
 1.57.4.1 10-Aug-2014  tls Rebase.
 1.62.2.3 28-Aug-2017  skrll Sync with HEAD
 1.62.2.2 05-Feb-2017  skrll Sync with HEAD
 1.62.2.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.63.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.63.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.66.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.69.4.3 21-Apr-2020  martin Sync with HEAD
 1.69.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.69.4.1 10-Jun-2019  christos Sync with HEAD
 1.69.2.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.69.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.69.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.73.6.1 29-Feb-2020  ad Sync with head.
 1.73.4.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.74.4.1 20-Apr-2020  bouyer Sync with HEAD
 1.76.6.1 01-Aug-2021  thorpej Sync with HEAD.
 1.78.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.3 02-May-2014  dogcow as suggested by gimpy et al, "no config" the netbsd-device kernels.
Reduces `build.sh release` by about a gig.
 1.2 11-Dec-2005  christos branches: 1.2.112; 1.2.122; 1.2.128; 1.2.138;
merge ktrace-lwp.
 1.1 23-Dec-2004  joff branches: 1.1.4;
generic kernel configuration for TS-7200 SBC's
 1.1.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.1 23-Dec-2004  skrll file TS7200_INSTALL was added on branch ktrace-lwp on 2005-01-17 19:29:13 +0000
 1.2.138.1 10-Aug-2014  tls Rebase.
 1.2.128.1 18-May-2014  rmind sync with head
 1.2.122.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.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.3 06-Mar-2011  jakllsch Remove trailing spaces.
 1.2 11-Dec-2005  christos branches: 1.2.18; 1.2.102; 1.2.108;
merge ktrace-lwp.
 1.1 14-Aug-2005  joff branches: 1.1.6;
Since we disabled the LCD and matrix keypads in the default kernel, supply
this configuration which has them both enabled.
 1.1.6.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.6.1 14-Aug-2005  skrll file TS7200_LCD was added on branch ktrace-lwp on 2005-11-10 13:55:51 +0000
 1.2.108.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.102.1 21-Apr-2011  rmind sync with head
 1.2.18.2 21-Jun-2006  yamt sync with head.
 1.2.18.1 11-Dec-2005  yamt file TS7200_LCD was added on branch yamt-lazymbuf on 2006-06-21 14:50:33 +0000
 1.85 07-Aug-2022  simonb branches: 1.85.4;
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.84 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.83 27-Sep-2020  roy branches: 1.83.6;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.82 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.81 19-May-2020  rin Fix comment; MEMORY_DISK_SIZE --> MEMORY_DISK_ROOT_SIZE
 1.80 16-May-2020  maya 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.79 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.78 29-Jan-2020  maya branches: 1.78.4;
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.77 19-Jan-2020  thorpej Remove Token Ring support.
 1.76 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.75 21-Aug-2019  msaitoh branches: 1.75.2;
Fix typo (s/contoller/controller/).
 1.74 23-Oct-2018  jdolecek branches: 1.74.4;
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.73 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.72 14-Sep-2017  mrg branches: 1.72.2; 1.72.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.71 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.70 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.69 13-Dec-2016  christos branches: 1.69.2;
wildcard speaker attachments, now that we can handle many of them.
 1.68 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.67 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.66 26-Sep-2015  maxv branches: 1.66.2;
Remove KMEMSTATS. Normally it's ok now.
 1.65 14-Oct-2014  htodd branches: 1.65.2;
Comment out more USB options to to fix build.
 1.64 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.63 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.62 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.61 03-Aug-2014  martin branches: 1.61.2;
Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.60 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.59 12-Aug-2013  matt branches: 1.59.2;
bump SYMTAB_SPACE
 1.58 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.57 05-Jun-2013  christos branches: 1.57.2;
remove obsolete networking options
 1.56 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.55 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.54 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.53 11-Sep-2012  msaitoh branches: 1.53.2;
Add PUFFS, putter and fss.
 1.52 09-Sep-2012  msaitoh Split DEBUG="-g -Ox" into DEBUG="-g" and COPTS="-Ox".
 1.51 17-Aug-2012  abs 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.50 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.49 04-Apr-2012  bsh support WSDISPLAY_COMPAT_RAWKBD for TWINTAIL's on-board matrix keys.
 1.48 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.47 22-Nov-2011  tls branches: 1.47.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.46 22-Nov-2011  he Bump SYMTAB_SPACE so that the symbol table fits again.
 1.45 30-Sep-2011  he branches: 1.45.2;
Bump SYMTAB_SPACE so that the symbol table fits again.
 1.44 30-Jun-2011  wiz dependant -> dependent
 1.43 07-Jun-2011  he SYMTAB_SPACE is decimal, so fix syntax error introduced by the previous.
 1.42 05-Jun-2011  christos bump symtab space
 1.41 06-Mar-2011  bouyer branches: 1.41.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.40 06-Mar-2011  jakllsch Bump SYMTAB_SPACE for the many other evbarm kernels that also need it increased.
 1.39 06-Mar-2011  jakllsch Remove trailing spaces.
 1.38 23-Nov-2010  hannken branches: 1.38.2; 1.38.4;
Remove unused count from pseudo-device md.
 1.37 28-Oct-2010  briggs Bump SYMTAB_SPACE.
 1.36 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.35 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.34 13-Mar-2010  bsh branches: 1.34.2;
add SD/MMC driver for Twintail based on the driver for Zaurus.
 1.33 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.32 05-Dec-2009  pooka branches: 1.32.2;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.31 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.30 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.29 03-Jan-2009  christos branches: 1.29.2;
remove esl (KIYOHARA Takashi)
 1.28 14-Dec-2008  he Bump SYMTAB_SPACE so that it fits again.
 1.27 24-Nov-2008  ad Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.25 31-Jul-2008  simonb branches: 1.25.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.24 30-May-2008  tsutsui branches: 1.24.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.23 19-Jan-2008  chris branches: 1.23.6; 1.23.8; 1.23.10; 1.23.12;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.22 08-Jan-2008  matt More kernels SYMTAB_SPACE increased.
 1.21 17-Oct-2007  garbled branches: 1.21.2; 1.21.8;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.20 13-May-2007  he branches: 1.20.6; 1.20.10;
Bump SYMTAB_SPACE so that it fits again.
 1.19 14-Mar-2007  drochner branches: 1.19.6;
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.18 18-Dec-2006  nonaka branches: 1.18.2; 1.18.6; 1.18.8;
Bump up SYMTAB_SPACE.
 1.17 25-Oct-2006  he Bump SYMTAB_SPACE so that it fits again.
 1.16 26-Aug-2006  christos branches: 1.16.2; 1.16.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.15 14-Aug-2006  skrll s/adpater/adapter/

Prompted by PR/34195
 1.14 05-Feb-2006  cube branches: 1.14.2;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.13 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.12 17-Dec-2005  tsutsui branches: 1.12.2; 1.12.4; 1.12.6;
Adjust a comment for options FFS_NO_SNAPSHOT.
 1.11 11-Dec-2005  christos merge ktrace-lwp.
 1.10 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.9 19-Aug-2005  christos 64 bit inode changes.
 1.8 05-Aug-2005  skrll Add (commented out) ucycom to various kernel configs.
 1.7 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.6 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.5 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.4 04-Jul-2005  bsh branches: 1.4.2;
option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA2[57]0.
 1.3 07-May-2005  rearnsha Use makeoptions CPUFLAGS not COPTS.
 1.2 15-Apr-2005  itohy branches: 1.2.2;
Add ukyopon(4).
 1.1 26-Feb-2005  bsh branches: 1.1.2; 1.1.4; 1.1.6;
TWINTAIL (official product name is G4255EB) is an evaluation board
with Intel PXA255 processor from Genetec corp. You can get some
information on the board from http://ad.genetec.co.jp/ but only in Japanese.
 1.1.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.6.1 26-Feb-2005  yamt file TWINTAIL was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.1.4.3 18-Jul-2005  riz Pull up revision 1.5 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.1.4.2 09-May-2005  tron Pull up revision 1.3 (requested by rearnsha in ticket #267):
Use makeoptions CPUFLAGS not COPTS.
 1.1.4.1 17-Apr-2005  tron Pull up revision 1.2 (requested by itohy in ticket #160):
Add ukyopon(4).
 1.1.2.3 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.2.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.1 26-Feb-2005  skrll file TWINTAIL was added on branch ktrace-lwp on 2005-03-04 16:38:14 +0000
 1.2.2.2 29-Apr-2005  kent sync with -current
 1.2.2.1 15-Apr-2005  kent file TWINTAIL was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.4.2.4 21-Jan-2008  yamt sync with head
 1.4.2.3 03-Sep-2007  yamt sync with head.
 1.4.2.2 30-Dec-2006  yamt sync with head.
 1.4.2.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.14.2.1 03-Sep-2006  yamt sync with head.
 1.16.4.2 21-Dec-2006  yamt sync with head.
 1.16.4.1 10-Dec-2006  yamt sync with head.
 1.16.2.2 12-Jan-2007  ad Sync with head.
 1.16.2.1 18-Nov-2006  ad Sync with head.
 1.18.8.1 11-Jul-2007  mjf Sync with head.
 1.18.6.2 27-May-2007  ad Sync with head.
 1.18.6.1 10-Apr-2007  ad Sync with head.
 1.18.2.2 17-May-2007  yamt sync with head.
 1.18.2.1 24-Mar-2007  yamt sync with head.
 1.19.6.1 22-May-2007  matt Update to HEAD.
 1.20.10.3 23-Mar-2008  matt sync with HEAD
 1.20.10.2 09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.20.10.1 06-Nov-2007  matt sync with HEAD
 1.20.6.1 28-Feb-2008  rjs Sync with HEAD.
 1.21.8.2 20-Jan-2008  bouyer Sync with HEAD
 1.21.8.1 08-Jan-2008  bouyer Sync with HEAD
 1.21.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.23.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.23.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.23.10.3 11-Aug-2010  yamt sync with head.
 1.23.10.2 11-Mar-2010  yamt sync with head
 1.23.10.1 04-May-2009  yamt sync with head.
 1.23.8.1 04-Jun-2008  yamt sync with head
 1.23.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.23.6.2 28-Sep-2008  mjf Sync with HEAD.
 1.23.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.24.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.24.4.1 19-Oct-2008  haad Sync with HEAD.
 1.25.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.25.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.29.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.32.2.3 06-Nov-2010  uebayasi Sync with HEAD.
 1.32.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.32.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.34.2.4 12-Jun-2011  rmind sync with head
 1.34.2.3 21-Apr-2011  rmind sync with head
 1.34.2.2 05-Mar-2011  rmind sync with head
 1.34.2.1 30-May-2010  rmind sync with head
 1.38.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.38.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.41.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.45.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.45.2.2 30-Oct-2012  yamt sync with head
 1.45.2.1 17-Apr-2012  yamt sync with head
 1.47.2.3 29-Apr-2012  mrg sync to latest -current.
 1.47.2.2 05-Apr-2012  mrg sync to latest -current.
 1.47.2.1 18-Feb-2012  mrg merge to -current.
 1.53.2.4 03-Dec-2017  jdolecek update from HEAD
 1.53.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.53.2.2 23-Jun-2013  tls resync from head
 1.53.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.57.2.1 28-Aug-2013  rmind sync with head
 1.59.2.1 10-Aug-2014  tls Rebase.
 1.61.2.1 11-Apr-2017  martin Pull up following revision(s) (requested by skrll in ticket #1400):
sys/arch/evbarm/conf/SHEEVAPLUG: revision 1.45
sys/arch/evbarm/conf/TWINTAIL: revision 1.65
Comment out more USB options to to fix build.
 1.65.2.3 28-Aug-2017  skrll Sync with HEAD
 1.65.2.2 05-Feb-2017  skrll Sync with HEAD
 1.65.2.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.66.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.66.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.69.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.72.4.4 21-Apr-2020  martin Sync with HEAD
 1.72.4.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.72.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.72.4.1 10-Jun-2019  christos Sync with HEAD
 1.72.2.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.72.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.74.4.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.75.2.2 29-Feb-2020  ad Sync with head.
 1.75.2.1 25-Jan-2020  ad Sync with head.
 1.78.4.1 20-Apr-2020  bouyer Sync with HEAD
 1.83.6.1 01-Aug-2021  thorpej Sync with HEAD.
 1.85.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.4 02-May-2014  dogcow as suggested by gimpy et al, "no config" the netbsd-device kernels.
Reduces `build.sh release` by about a gig.
 1.3 01-May-2014  martin Do not create debug info for *_INSTALL kernels.
 1.2 11-Dec-2005  christos branches: 1.2.112; 1.2.122; 1.2.128; 1.2.138;
merge ktrace-lwp.
 1.1 26-Feb-2005  bsh branches: 1.1.2; 1.1.6; 1.1.8;
TWINTAIL (official product name is G4255EB) is an evaluation board
with Intel PXA255 processor from Genetec corp. You can get some
information on the board from http://ad.genetec.co.jp/ but only in Japanese.
 1.1.8.2 29-Apr-2005  kent sync with -current
 1.1.8.1 26-Feb-2005  kent file TWINTAIL_INSTALL was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.1.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.6.1 26-Feb-2005  yamt file TWINTAIL_INSTALL was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.1.2.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.1 26-Feb-2005  skrll file TWINTAIL_INSTALL was added on branch ktrace-lwp on 2005-03-04 16:38:14 +0000
 1.2.138.1 10-Aug-2014  tls Rebase.
 1.2.128.1 18-May-2014  rmind sync with head
 1.2.122.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.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.25 20-Jan-2019  skrll G/C VEXPRESS_A15
 1.24 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.23 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.22 30-Jun-2018  jmcneill Attach simplebus on pass 0
 1.21 30-Jun-2018  jmcneill cpus: use fdt_add_bus
 1.20 30-Jun-2018  jmcneill Allow nodes to attach child devices using the same sorting rules as used
by the simplebus driver.
 1.19 11-Jun-2018  jakllsch branches: 1.19.2;
fill in vexpress_platform_early_putchar(); make comment about CONSADDR
 1.18 06-Jun-2018  jakllsch Add virtio drivers and potential children thereof.

In part from sparc64 GENERIC.
 1.17 16-Jun-2017  jmcneill branches: 1.17.4; 1.17.6;
Set DTS makeoption in kernel config
 1.16 08-Jun-2017  jmcneill Add plrtc driver
 1.15 08-Jun-2017  jmcneill Enable aaci
 1.14 08-Jun-2017  jmcneill Add aaci at fdt, commented out for now. Driver should work (tm) but QEMU
and my old Thinkpad can't seem to keep up.
 1.13 06-Jun-2017  jmcneill Fix spelling of WS_DEFAULT_FG and WS_KERNEL_FG options.
 1.12 03-Jun-2017  jmcneill branches: 1.12.2;
Add and enable FDT glue for ARM PrimeCell PL050 (KMI) PS2 keyboard/mouse
interface.
 1.11 03-Jun-2017  jmcneill Add framebuffer support.
 1.10 02-Jun-2017  jmcneill Add driver for ARM Motherboard Express uATX system control registers. Use
this to make "poweroff" DTRT in qemu (and hopefully on real hardware too).
 1.9 02-Jun-2017  jmcneill Add SMP support to VEXPRESS_A15 kernel. Enable with '-smp 2' on qemu
command line.
 1.8 02-Jun-2017  jmcneill Switch VEXPRESS_A15 kernel to use FDT and GENERIC.common. The dtb for this
kernel can be found in the sysutils/dtb-arm-vexpress package as
vexpress-v2p-ca15-tc1.dtb
 1.7 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.6 02-Apr-2016  skrll branches: 1.6.2; 1.6.4;
PR/51017: VEXPRESS_A15 doesn't compile

Don't pretend to be anything other than A15
 1.5 27-Nov-2015  skrll EXYNOS_CONSOLE_EARLY doesn't belong here
 1.4 29-Oct-2015  mrg eliminate USBHIST as a define/option. it was entangled with USB_DEBUG
and only referenced a handful of times. rename any usage in configs.

fixes recent build problems i introduced with the previous files.usb
change.
 1.3 07-Aug-2015  maxv Remove KMEMSTATS.
 1.2 11-Feb-2015  ozaki-r branches: 1.2.2;
Remove unexpected code duplications

I don't know why this happened...
 1.1 09-Feb-2015  slp Add configuration file for Versatile Express A15 board.
 1.2.2.6 28-Aug-2017  skrll Sync with HEAD
 1.2.2.5 22-Apr-2016  skrll Sync with HEAD
 1.2.2.4 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.2.2.3 22-Sep-2015  skrll Sync with HEAD
 1.2.2.2 06-Apr-2015  skrll Sync with HEAD
 1.2.2.1 11-Feb-2015  skrll file VEXPRESS_A15 was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.12.2.4 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.12.2.3 10-Jun-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #19):
sys/arch/arm/fdt/files.fdt: revision 1.11
sys/arch/arm/fdt/plrtc_fdt.c: revision 1.1
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.16
sys/conf/files: revision 1.1175
sys/dev/ic/pl031.c: revision 1.1
sys/dev/ic/pl031var.h: revision 1.1
Add driver for ARM PrimeCell PL031 (RTC) Real Time Clock.
--
Add fdt glue for plrtc
--
Add plrtc driver
 1.12.2.2 09-Jun-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #17):
sys/arch/arm/fdt/aaci_fdt.c: revision 1.1
sys/arch/arm/fdt/files.fdt: revision 1.10
sys/arch/evbarm/conf/VEXPRESS_A15: revisions 1.14, 1.15
sys/conf/files: revision 1.1174
sys/dev/ic/pl041.c: revisions 1.1-1.3
sys/dev/ic/pl041var.h: revision 1.1
Add driver for ARM PrimeCell Advanced Audio CODEC interface (PL041).
Don't expect this driver to work on real hardware, but QEMU emulates it.
--
Add fdt glue for ARM PrimeCell Advanced Audio CODEC interface (PL041).
--
Add aaci at fdt, commented out for now. Driver should work (tm) but QEMU
and my old Thinkpad can't seem to keep up.
--
Fix two bugs:
- Inverted test for fifo status in aaci_write_data
- Return success from trigger_output (thanks nat)
--
Enable aaci
--
bus_space_write_multi_4 takes a count, not number of bytes. With this,
audio works in qemu.
 1.12.2.1 06-Jun-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #13):
sys/arch/arm/fdt/plfb_fdt.c: revision 1.2
sys/arch/arm/vexpress/vexpress_platform.c: revision 1.3
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.13
sys/arch/evbarm/fdt/fdt_machdep.c: revisions 1.5, 1.6
sys/dev/ic/pl050.c: revision 1.2
Fix spelling of WS_DEFAULT_FG and WS_KERNEL_FG options.
--
Attach kbd slot to console
--
Allow plfb to be the console device
--
Add support for stdout-path= kernel cmdline option to override the
console device specified in the FDT.
--
Initialize boot_args before bootstrap for the benefit of platform code.
--
Allow 'console=fb' to act as a shortcut on vexpress for
'stdout-path=/smb@08000000/motherboard/iofpga@3,00000000/clcd@1f0000'
 1.17.6.4 26-Jan-2019  pgoyette Sync with HEAD
 1.17.6.3 20-Oct-2018  pgoyette Sync with head
 1.17.6.2 28-Jul-2018  pgoyette Sync with HEAD
 1.17.6.1 25-Jun-2018  pgoyette Sync with HEAD
 1.17.4.2 03-Dec-2017  jdolecek update from HEAD
 1.17.4.1 16-Jun-2017  jdolecek file VEXPRESS_A15 was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.19.2.1 10-Jun-2019  christos Sync with HEAD
 1.44 07-Aug-2022  simonb branches: 1.44.4;
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.43 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.42 12-Jul-2018  maxv branches: 1.42.4; 1.42.10;
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.41 14-Sep-2017  mrg branches: 1.41.2; 1.41.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.40 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 2.
 1.39 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.38 07-Aug-2015  maxv branches: 1.38.2; 1.38.4;
Remove the KMEMSTATS option. It no longer exists.
 1.37 23-Aug-2014  dholland branches: 1.37.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.36 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.35 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.34 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.33 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.32 30-Jun-2013  rmind branches: 1.32.4;
G/C PFIL_HOOKS from the kernel configs.
 1.31 05-Jun-2013  christos branches: 1.31.2;
remove obsolete networking options
 1.30 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.29 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.28 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.27 11-Sep-2012  msaitoh branches: 1.27.2;
Add PUFFS, putter and fss.
 1.26 01-Sep-2012  matt Bump up SYMTAB_SPACE
 1.25 29-Aug-2012  skrll Typo in comment
 1.24 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 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 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.20 23-Nov-2010  hannken branches: 1.20.2; 1.20.4;
Remove unused count from pseudo-device md.
 1.19 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.18 05-Dec-2009  pooka branches: 1.18.2; 1.18.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.17 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.16 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.15 24-Nov-2008  ad branches: 1.15.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.13 30-May-2008  tsutsui branches: 1.13.4; 1.13.6;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.12 19-Jan-2008  chris branches: 1.12.6; 1.12.8; 1.12.10; 1.12.12;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.11 26-Aug-2006  christos branches: 1.11.28; 1.11.32; 1.11.38; 1.11.46;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.10 05-Feb-2006  cube branches: 1.10.2;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.9 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.8 11-Dec-2005  christos branches: 1.8.2; 1.8.4; 1.8.6;
merge ktrace-lwp.
 1.7 19-Aug-2005  christos branches: 1.7.6;
Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.6 19-Aug-2005  christos 64 bit inode changes.
 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 04-Jul-2005  pooka branches: 1.2.2;
Adapt conf for PXA2X0 split to PXA250 and PXA270.
 1.1 06-Jun-2005  pooka Add initial support for the PXA255-based Arcom Viper ARM board.
The system can boot into multiuser, but most of the peripheral
driver attachments are still missing.

Thanks go to Jan Nyman for arranging access to the hardware and to
Steve Woodford for reviewing the code.
 1.2.2.3 21-Jan-2008  yamt sync with head
 1.2.2.2 30-Dec-2006  yamt sync with head.
 1.2.2.1 21-Jun-2006  yamt sync with head.
 1.7.6.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.7.6.1 19-Aug-2005  skrll file VIPER was added on branch ktrace-lwp on 2005-11-10 13:55:51 +0000
 1.8.6.1 22-Apr-2006  simonb Sync with head.
 1.8.4.1 09-Sep-2006  rpaulo sync with head
 1.8.2.1 18-Feb-2006  yamt sync with head.
 1.10.2.1 03-Sep-2006  yamt sync with head.
 1.11.46.1 20-Jan-2008  bouyer Sync with HEAD
 1.11.38.1 18-Feb-2008  mjf Sync with HEAD.
 1.11.32.1 23-Mar-2008  matt sync with HEAD
 1.11.28.1 28-Feb-2008  rjs Sync with HEAD.
 1.12.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.12.10.3 11-Aug-2010  yamt sync with head.
 1.12.10.2 11-Mar-2010  yamt sync with head
 1.12.10.1 04-May-2009  yamt sync with head.
 1.12.8.1 04-Jun-2008  yamt sync with head
 1.12.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.12.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.13.6.2 28-Apr-2009  skrll Sync with HEAD.
 1.13.6.1 19-Jan-2009  skrll Sync with HEAD.
 1.13.4.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.15.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.18.4.3 21-Apr-2011  rmind sync with head
 1.18.4.2 05-Mar-2011  rmind sync with head
 1.18.4.1 30-May-2010  rmind sync with head
 1.18.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.20.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.20.2.1 06-Jun-2011  jruoho Sync with HEAD.
 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 29-Apr-2012  mrg sync to latest -current.
 1.27.2.4 03-Dec-2017  jdolecek update from HEAD
 1.27.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.27.2.2 23-Jun-2013  tls resync from head
 1.27.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.31.2.1 28-Aug-2013  rmind sync with head
 1.32.4.1 10-Aug-2014  tls Rebase.
 1.37.2.2 28-Aug-2017  skrll Sync with HEAD
 1.37.2.1 22-Sep-2015  skrll Sync with HEAD
 1.38.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.38.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.41.4.2 21-Apr-2020  martin Sync with HEAD
 1.41.4.1 10-Jun-2019  christos Sync with HEAD
 1.41.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.42.10.1 20-Apr-2020  bouyer Sync with HEAD
 1.42.4.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.44.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.11 23-May-2020  jmcneill Use GENERIC instead.
 1.10 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.9 18-Oct-2018  skrll branches: 1.9.10;
Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.8 15-Oct-2018  jmcneill Rename pl061gpio to plgpio and split the device logic from the FDT glue.
 1.7 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.6 30-Jun-2018  jmcneill Attach simplebus on pass 0
 1.5 30-Jun-2018  jmcneill cpus: use fdt_add_bus
 1.4 30-Jun-2018  jmcneill Allow nodes to attach child devices using the same sorting rules as used
by the simplebus driver.
 1.3 15-Jun-2018  jakllsch branches: 1.3.2; 1.3.4;
Add basic ARM PL061 GPIO driver with FDT attachment.

Mostly for Qemu 'virt' platform; really needs interrupt support
in gpiokeys(4) and this driver to work efficently and reliably.
 1.2 15-Jun-2018  jakllsch 'virt' platform adjustments:
- support broader CPU model range
- move kernel physical and virtual base to avoid bootloader,
and keep KVA at or above 2GiB
- add relevant drivers
 1.1 14-Jun-2018  jmcneill Add support for QEMU ARM Virtual Machine ("virt").
 1.3.4.2 21-Apr-2020  martin Sync with HEAD
 1.3.4.1 10-Jun-2019  christos Sync with HEAD
 1.3.2.4 20-Oct-2018  pgoyette Sync with head
 1.3.2.3 28-Jul-2018  pgoyette Sync with HEAD
 1.3.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.3.2.1 15-Jun-2018  pgoyette file VIRT was added on branch pgoyette-compat on 2018-06-25 07:25:40 +0000
 1.9.10.1 20-Apr-2020  bouyer Sync with HEAD
 1.26 29-Oct-2022  jmcneill Retire arch/evbarm/beagle.

A few more kernel configs go away:

- OMAP5EVM and PANDABOARD likely never worked to begin with.
- N900 and VTC100 are TI AM335x based, which is supported by GENERIC.
 1.25 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.24 29-Sep-2020  jmcneill Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime
detection instead of ifdefs where required.
 1.23 13-Jun-2020  ad Comment out "options PMAPCOUNTERS". It adds much overhead and is mostly of
interest to people hacking on the VM system or pmap. Proposed on port-arm@.
 1.22 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.21 18-May-2019  skrll branches: 1.21.8;
Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.20 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.19 14-Jul-2018  maxv Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
 1.18 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.17 07-Jun-2018  thorpej branches: 1.17.2;
Revert changes that pinned-down i2c parent specs. The i2c subsystem
has been enhanced to make this unnecessary.
 1.16 15-May-2018  thorpej Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.
 1.15 25-Nov-2017  christos branches: 1.15.2; 1.15.4;
comment out duplicate options and unknown devices
 1.14 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.13 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.12 22-Mar-2017  sevan KDTRACE_HOOKS is enabled by default in GENERIC.common, remove references in
individual config files.
 1.11 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.10 18-Oct-2016  kiyohara branches: 1.10.2;
Remove intrbase and intr from omapgpio.
 1.9 18-Oct-2016  kiyohara Enable tifb and wsdisplay.
 1.8 15-Oct-2016  kiyohara s/at mainbus0/at mainbus?/. And indent.
 1.7 04-Aug-2016  kiyohara Fix description to 'NEXCOM VTC100'.
 1.6 04-Aug-2016  kiyohara Enable tiotg and USB devices.
 1.5 04-Aug-2016  kiyohara Add disabled MOTG_DEBUG and remove ?HCI_DEBUG. Also disable USB_DEBUG.
 1.4 21-Jul-2016  kiyohara Attach atphy instead of ukphy.
 1.3 12-Jul-2016  kiyohara branches: 1.3.2;
Comment-out tiotg. It is not working yet.
Also clean-up and disable usb devices.
 1.2 12-Jul-2016  kiyohara cpsw's intrbase is 40.
 1.1 04-Jul-2016  kiyohara branches: 1.1.2;
Add NEXCOM VTC100.
 1.1.2.5 28-Aug-2017  skrll Sync with HEAD
 1.1.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.2.3 05-Oct-2016  skrll Sync with HEAD
 1.1.2.2 09-Jul-2016  skrll Sync with HEAD
 1.1.2.1 04-Jul-2016  skrll file VTC100 was added on branch nick-nhusb on 2016-07-09 20:24:51 +0000
 1.3.2.5 26-Apr-2017  pgoyette Sync with HEAD
 1.3.2.4 20-Mar-2017  pgoyette Sync with HEAD
 1.3.2.3 04-Nov-2016  pgoyette Sync with HEAD
 1.3.2.2 06-Aug-2016  pgoyette Sync with HEAD
 1.3.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.10.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.15.4.4 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.15.4.3 28-Jul-2018  pgoyette Sync with HEAD
 1.15.4.2 25-Jun-2018  pgoyette Sync with HEAD
 1.15.4.1 21-May-2018  pgoyette Sync with HEAD
 1.15.2.2 03-Dec-2017  jdolecek update from HEAD
 1.15.2.1 25-Nov-2017  jdolecek file VTC100 was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.17.2.2 21-Apr-2020  martin Sync with HEAD
 1.17.2.1 10-Jun-2019  christos Sync with HEAD
 1.21.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.69 07-Aug-2022  simonb branches: 1.69.4;
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.68 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.67 25-Jan-2020  thorpej branches: 1.67.4;
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.66 20-Jan-2020  thorpej Remove FDDI support.
 1.65 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.64 12-Dec-2018  maxv branches: 1.64.4; 1.64.6;
Remove references to "lmc" in the kernel configurations.
 1.63 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.62 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.61 14-Sep-2017  mrg branches: 1.61.2; 1.61.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.60 29-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 3.
 1.59 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.58 12-Aug-2015  maxv branches: 1.58.2; 1.58.4;
Remove KMEMSTATS.
 1.57 23-Aug-2014  dholland branches: 1.57.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.56 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.55 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.54 03-Aug-2014  martin Add COMPAT_NETBSD32 to more kernels (we have too many)
 1.53 27-Jul-2014  dholland "internally consistency checks" -> "internal consistency checks"
 1.52 30-Jun-2013  rmind branches: 1.52.4;
G/C PFIL_HOOKS from the kernel configs.
 1.51 05-Jun-2013  christos branches: 1.51.2;
remove obsolete networking options
 1.50 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.49 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.48 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.47 11-Sep-2012  msaitoh branches: 1.47.2;
Add PUFFS, putter and fss.
 1.46 01-Sep-2012  matt Bump up SYMTAB_SPACE
 1.45 29-Aug-2012  skrll Typo in comment
 1.44 07-Apr-2012  tsutsui Remove obsolete SysV semaphores limit options (SEMMNI, SEMMNS, and SEMUME).
 1.43 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.42 22-Nov-2011  tls branches: 1.42.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.41 30-Jun-2011  wiz branches: 1.41.2;
dependant -> dependent
 1.40 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.39 06-Mar-2011  jakllsch Bump SYMTAB_SPACE for the many other evbarm kernels that also need it increased.
 1.38 23-Nov-2010  hannken branches: 1.38.2; 1.38.4;
Remove unused count from pseudo-device md.
 1.37 05-Dec-2009  pooka branches: 1.37.4;
Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.36 11-Oct-2009  bsh add options COMPAT_50 to all evbarm boards.
 1.35 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.34 24-Nov-2008  ad branches: 1.34.4;
Remove softdep, pass 1. We are focused on improving journalling.

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

Proposed on tech-kern@.
 1.32 31-Jul-2008  simonb branches: 1.32.2;
Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.31 30-May-2008  tsutsui branches: 1.31.4;
Add options COMPAT_40 to files which have options COMPAT_30.
 1.30 19-Jan-2008  chris branches: 1.30.6; 1.30.8; 1.30.10; 1.30.12;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.29 08-Jan-2008  matt More kernels SYMTAB_SPACE increased.
 1.28 14-Mar-2007  drochner branches: 1.28.12; 1.28.16; 1.28.22; 1.28.28;
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.27 26-Aug-2006  christos branches: 1.27.8; 1.27.12; 1.27.14;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.26 05-Feb-2006  cube branches: 1.26.2;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.25 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.24 07-Dec-2005  tsutsui branches: 1.24.2; 1.24.4; 1.24.6;
Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.23 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.22 19-Aug-2005  christos 64 bit inode changes.
 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 25-Feb-2005  simonb branches: 1.18.2; 1.18.4;
Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.17 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.16 11-Feb-2005  dsl Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
 1.15 10-Nov-2004  christos branches: 1.15.4; 1.15.6;
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 23-Oct-2003  scw branches: 1.12.2;
- Make the compile-time selection of ixdp425 vs. zao425 actually work.
- Flesh out cpu_reboot() to jump to Redboot via cpu_reset().
(See XXX comment in code regarding a problem with this).
 1.11 08-Oct-2003  scw Make it easier to support different types of IXP425 board:

- Move board-specific PCI/GPIO initialisation to its rightful place.

- Handle clearing down latched GPIO interrupts in a board-independent way.

- Use MI com(4) driver for on-chip UARTs.

- Misc. tidying up.

Tested on IXDP425.
 1.10 25-Sep-2003  ichiro pci bus support
 1.9 13-Sep-2003  chris Add COMPAT_16 to most arm based kernels. Mainly in preperation for doing
SA_SIGINFO work.
 1.8 06-Sep-2003  rearnsha Default all builds to not have debug information. Significantly
reduces disk space needed for a make release, especially if using
dwarf2 debug.
 1.7 14-Jun-2003  thorpej branches: 1.7.2;
Use CPUFLAGS rather than COPTS to pass -mcpu=xscale.
 1.6 01-Jun-2003  ichiro add unit index of uart
 1.5 31-May-2003  ichiro print description of Console and enable ixpcom0/1 in configuration
 1.4 31-May-2003  ichiro led support for IXDP425/ZAO425
 1.3 24-May-2003  ichiro add IXDP425 PCI interrupt
fix some typo
 1.2 23-May-2003  thorpej Add ksyms.
 1.1 23-May-2003  ichiro support IXP425 Intel Network Processor
running on BigEndian
 1.7.2.8 11-Dec-2005  christos Sync with head.
 1.7.2.7 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.7.2.6 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.7.2.5 15-Feb-2005  skrll Sync with HEAD.
 1.7.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.7.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.2.1 03-Aug-2004  skrll Sync with HEAD
 1.12.2.1 15-Jul-2004  he Pull up revision 1.13 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.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.18.4.4 21-Jan-2008  yamt sync with head
 1.18.4.3 03-Sep-2007  yamt sync with head.
 1.18.4.2 30-Dec-2006  yamt sync with head.
 1.18.4.1 21-Jun-2006  yamt sync with head.
 1.18.2.1 18-Jul-2005  riz Pull up revision 1.19 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.24.6.1 22-Apr-2006  simonb Sync with head.
 1.24.4.1 09-Sep-2006  rpaulo sync with head
 1.24.2.1 18-Feb-2006  yamt sync with head.
 1.26.2.1 03-Sep-2006  yamt sync with head.
 1.27.14.1 11-Jul-2007  mjf Sync with head.
 1.27.12.1 10-Apr-2007  ad Sync with head.
 1.27.8.1 24-Mar-2007  yamt sync with head.
 1.28.28.2 20-Jan-2008  bouyer Sync with HEAD
 1.28.28.1 08-Jan-2008  bouyer Sync with HEAD
 1.28.22.1 18-Feb-2008  mjf Sync with HEAD.
 1.28.16.2 23-Mar-2008  matt sync with HEAD
 1.28.16.1 09-Jan-2008  matt sync with HEAD
 1.28.12.1 28-Feb-2008  rjs Sync with HEAD.
 1.30.12.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.30.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.30.10.2 11-Mar-2010  yamt sync with head
 1.30.10.1 04-May-2009  yamt sync with head.
 1.30.8.1 04-Jun-2008  yamt sync with head
 1.30.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.30.6.2 28-Sep-2008  mjf Sync with HEAD.
 1.30.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.31.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.31.4.1 19-Oct-2008  haad Sync with HEAD.
 1.32.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.32.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.34.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.37.4.2 21-Apr-2011  rmind sync with head
 1.37.4.1 05-Mar-2011  rmind sync with head
 1.38.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.38.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.41.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.41.2.2 30-Oct-2012  yamt sync with head
 1.41.2.1 17-Apr-2012  yamt sync with head
 1.42.2.2 29-Apr-2012  mrg sync to latest -current.
 1.42.2.1 18-Feb-2012  mrg merge to -current.
 1.47.2.4 03-Dec-2017  jdolecek update from HEAD
 1.47.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.47.2.2 23-Jun-2013  tls resync from head
 1.47.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.51.2.1 28-Aug-2013  rmind sync with head
 1.52.4.1 10-Aug-2014  tls Rebase.
 1.57.2.2 28-Aug-2017  skrll Sync with HEAD
 1.57.2.1 22-Sep-2015  skrll Sync with HEAD
 1.58.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.58.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.61.4.3 21-Apr-2020  martin Sync with HEAD
 1.61.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.61.4.1 10-Jun-2019  christos Sync with HEAD
 1.61.2.3 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.61.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.61.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.64.6.1 25-Jan-2020  ad Sync with head.
 1.64.4.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.67.4.1 20-Apr-2020  bouyer Sync with HEAD
 1.69.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.4 19-May-2020  rin Fix outdated or misleading comments for MEMORY_DISK_ROOT_SIZE.
No functional changes.
 1.3 23-Nov-2010  hannken Remove unused count from pseudo-device md.
 1.2 06-Feb-2009  jym branches: 1.2.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.1 23-May-2003  ichiro branches: 1.1.108; 1.1.116;
support IXP425 Intel Network Processor
running on BigEndian
 1.1.116.1 03-Mar-2009  skrll Sync with HEAD.
 1.1.108.1 04-May-2009  yamt sync with head.
 1.2.6.1 05-Mar-2011  rmind sync with head
 1.9 28-Oct-2022  jmcneill Retire PARALLELLA and ZEDBOARD kernel configs.

The Zynq-7000 port has been converted to Devicetree and is supported
by the GENERIC kernel now.
 1.8 29-Sep-2020  jmcneill Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime
detection instead of ifdefs where required.
 1.7 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.6 11-Aug-2019  skrll branches: 1.6.6;
Update for recent a9wdt changes
 1.5 06-Feb-2019  rin branches: 1.5.4;
Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.4 05-Jun-2018  hkenken branches: 1.4.2;
Rename ARM A9 Global Timer driver name to support fdt.

- Rename a9tmr to arma9tmr.
- Add a9tmr_fdt.c based gtmr_fdt.c.
 1.3 25-Nov-2017  christos branches: 1.3.2; 1.3.4;
comment out duplicate options and unknown devices
 1.2 10-Apr-2015  hkenken branches: 1.2.2;
include "GENERIC.common"
 1.1 23-Jan-2015  hkenken branches: 1.1.2;
Initial Zynq (Xilinx) support
Add support for ZedBoard evaluation board and Parallella board.
* cemac(4) Cadence EMAC/GEM(Gigabit) Ethernet Controller driver
based on at91emac
 1.1.2.3 06-Jun-2015  skrll Sync with HEAD
 1.1.2.2 06-Apr-2015  skrll Sync with HEAD
 1.1.2.1 23-Jan-2015  skrll file ZEDBOARD was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.2.2.2 11-May-2015  msaitoh Pull up following revision(s) (requested by nonaka in ticket #751):
sys/arch/arm/zynq/zynq_axi.c: revision 1.1
sys/arch/evbarm/conf/files.zynq: revision 1.1
sys/arch/arm/zynq/zynq_uart.c: revision 1.1
sys/arch/evbarm/zynq/genassym.cf: revision 1.1
sys/arch/evbarm/zynq/zynq_start.S: revision 1.1
sys/arch/arm/zynq/zynq_slcrreg.h: revision 1.1
sys/arch/arm/zynq/zynq_usbreg.h: revision 1.1
sys/arch/arm/zynq/zynq7000_uart.c: revision 1.1
sys/arch/arm/zynq/zynq7000_sdhc.c: revision 1.1
sys/arch/arm/zynq/zynq_slcrvar.h: revision 1.1
sys/arch/arm/zynq/zynq_usbvar.h: revision 1.1
sys/arch/evbarm/conf/PARALLELLA_INSTALL: revision 1.1
sys/arch/arm/zynq/zynq_uartreg.h: revision 1.1
sys/arch/evbarm/zynq/platform.h: revision 1.1
sys/arch/evbarm/conf/mk.zynq: revision 1.1
sys/arch/evbarm/conf/files.zedboard: revision 1.1
sys/arch/arm/zynq/zynq7000_usb.c: revision 1.1
sys/dev/cadence/if_cemacvar.h: revision 1.1
sys/arch/arm/zynq/files.zynq: revision 1.1
sys/arch/arm/zynq/zynq_slcr.c: revision 1.1
sys/arch/arm/zynq/zynq7000_intr.h: revision 1.1
sys/arch/arm/conf/majors.arm32: revision 1.36
sys/arch/arm/zynq/zynq_uartvar.h: revision 1.1
sys/arch/evbarm/conf/files.parallella: revision 1.1
sys/arch/arm/zynq/zynq_space.c: revision 1.1
sys/dev/cadence/if_cemac.c: revision 1.1
sys/arch/evbarm/conf/PARALLELLA: revision 1.1
sys/arch/arm/zynq/zynq7000_board.c: revision 1.1
sys/arch/evbarm/Makefile: revision 1.10
sys/arch/evbarm/zynq/zynq_machdep.c: revision 1.1
sys/arch/arm/zynq/zynq7000_reg.h: revision 1.1
sys/arch/evbarm/conf/ZEDBOARD: revision 1.1
sys/dev/cadence/cemacreg.h: revision 1.1
sys/arch/evbarm/conf/std.zynq: revision 1.1
sys/arch/arm/zynq/zynq_dma.c: revision 1.1
sys/arch/arm/zynq/zynq_cemac.c: revision 1.1
sys/arch/arm/zynq/zynq7000_var.h: revision 1.1
sys/arch/evbarm/conf/ZEDBOARD_INSTALL: revision 1.1
sys/arch/arm/zynq/zynq_usb.c: revision 1.1
Initial Zynq (Xilinx) support
Add support for ZedBoard evaluation board and Parallella board.
* cemac(4) Cadence EMAC/GEM(Gigabit) Ethernet Controller driver
based on at91emac
 1.2.2.1 10-Apr-2015  msaitoh file ZEDBOARD was added on branch netbsd-7 on 2015-05-11 11:00:33 +0000
 1.3.4.1 25-Jun-2018  pgoyette Sync with HEAD
 1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.3.2.1 25-Nov-2017  jdolecek file ZEDBOARD was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.4.2.3 21-Apr-2020  martin Sync with HEAD
 1.4.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.5.4.1 15-Aug-2019  martin Pull up following revision(s) (requested by skrll in ticket #55):

sys/arch/arm/cortex/a9wdt.c: revision 1.10
sys/arch/evbarm/conf/HUMMINGBOARD: revision 1.9
sys/arch/evbarm/conf/GENERIC: revision 1.50
sys/arch/evbarm/conf/NITROGEN6X: revision 1.24
sys/arch/arm/cortex/a9tmr_var.h: revision 1.7
sys/arch/arm/fdt/files.fdt: revision 1.29
sys/arch/arm/amlogic/meson_platform.c: revision 1.12
sys/arch/arm/amlogic/meson8b_pinctrl.c: revision 1.2
sys/arch/arm/amlogic/meson_platform.c: revision 1.13
sys/arch/evbarm/conf/BCM5301X: revision 1.34
sys/arch/arm/dts/meson8b.dtsi: revision 1.6
sys/arch/arm/fdt/a9ptmr_fdt.c: revision 1.1
sys/arch/arm/dts/meson8b.dtsi: revision 1.7
sys/arch/arm/cortex/a9ptmr_var.h: revision 1.1
sys/arch/evbarm/conf/PANDABOARD: revision 1.30
sys/arch/evbarm/conf/DUOVERO: revision 1.14
sys/arch/arm/cortex/a9ptmr.c: revision 1.1
sys/arch/arm/cortex/a9ptmr.c: revision 1.2
sys/arch/arm/fdt/a9wdt_fdt.c: revision 1.1
sys/arch/evbarm/conf/BCM56340: revision 1.19
sys/arch/evbarm/conf/CUBOX-I: revision 1.23
sys/arch/arm/amlogic/meson8b_clkc.c: revision 1.4
sys/arch/evbarm/conf/PARALLELLA: revision 1.7
sys/arch/arm/cortex/files.cortex: revision 1.12
sys/arch/arm/dts/meson8b-odroidc1.dts: revision 1.4
sys/arch/arm/cortex/a9wdt.c: revision 1.9
sys/arch/evbarm/conf/ZEDBOARD: revision 1.6

spaces to tab

-

Add a driver for the A5/A9 Private timer.
While here FDTise the Watchdog driver.

-

Update for recent a9wdt changes
-

Trailing whitespace

-
Updates to get Odroid-C1 in better shape since the last DTS import

-

Various fixes / changes
- don't use prescaler
- improve AB_DEBUG output
- fix a9ptmr_delay to work with a decrementing counter!
Thanks to jmcneill@ for proving I'm an idiot

-

Add eth_rxd3 and eth_rxd2 pinctrl groups

-

Catch up to recent mainline dts changes
 1.6.6.1 20-Apr-2020  bouyer Sync with HEAD
 1.2 23-May-2020  jmcneill GC unused INSTALL kernel configs.
 1.1 23-Jan-2015  hkenken branches: 1.1.2; 1.1.4; 1.1.20;
Initial Zynq (Xilinx) support
Add support for ZedBoard evaluation board and Parallella board.
* cemac(4) Cadence EMAC/GEM(Gigabit) Ethernet Controller driver
based on at91emac
 1.1.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.20.1 23-Jan-2015  jdolecek file ZEDBOARD_INSTALL was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.4.2 11-May-2015  msaitoh Pull up following revision(s) (requested by nonaka in ticket #751):
sys/arch/arm/zynq/zynq_axi.c: revision 1.1
sys/arch/evbarm/conf/files.zynq: revision 1.1
sys/arch/arm/zynq/zynq_uart.c: revision 1.1
sys/arch/evbarm/zynq/genassym.cf: revision 1.1
sys/arch/evbarm/zynq/zynq_start.S: revision 1.1
sys/arch/arm/zynq/zynq_slcrreg.h: revision 1.1
sys/arch/arm/zynq/zynq_usbreg.h: revision 1.1
sys/arch/arm/zynq/zynq7000_uart.c: revision 1.1
sys/arch/arm/zynq/zynq7000_sdhc.c: revision 1.1
sys/arch/arm/zynq/zynq_slcrvar.h: revision 1.1
sys/arch/arm/zynq/zynq_usbvar.h: revision 1.1
sys/arch/evbarm/conf/PARALLELLA_INSTALL: revision 1.1
sys/arch/arm/zynq/zynq_uartreg.h: revision 1.1
sys/arch/evbarm/zynq/platform.h: revision 1.1
sys/arch/evbarm/conf/mk.zynq: revision 1.1
sys/arch/evbarm/conf/files.zedboard: revision 1.1
sys/arch/arm/zynq/zynq7000_usb.c: revision 1.1
sys/dev/cadence/if_cemacvar.h: revision 1.1
sys/arch/arm/zynq/files.zynq: revision 1.1
sys/arch/arm/zynq/zynq_slcr.c: revision 1.1
sys/arch/arm/zynq/zynq7000_intr.h: revision 1.1
sys/arch/arm/conf/majors.arm32: revision 1.36
sys/arch/arm/zynq/zynq_uartvar.h: revision 1.1
sys/arch/evbarm/conf/files.parallella: revision 1.1
sys/arch/arm/zynq/zynq_space.c: revision 1.1
sys/dev/cadence/if_cemac.c: revision 1.1
sys/arch/evbarm/conf/PARALLELLA: revision 1.1
sys/arch/arm/zynq/zynq7000_board.c: revision 1.1
sys/arch/evbarm/Makefile: revision 1.10
sys/arch/evbarm/zynq/zynq_machdep.c: revision 1.1
sys/arch/arm/zynq/zynq7000_reg.h: revision 1.1
sys/arch/evbarm/conf/ZEDBOARD: revision 1.1
sys/dev/cadence/cemacreg.h: revision 1.1
sys/arch/evbarm/conf/std.zynq: revision 1.1
sys/arch/arm/zynq/zynq_dma.c: revision 1.1
sys/arch/arm/zynq/zynq_cemac.c: revision 1.1
sys/arch/arm/zynq/zynq7000_var.h: revision 1.1
sys/arch/evbarm/conf/ZEDBOARD_INSTALL: revision 1.1
sys/arch/arm/zynq/zynq_usb.c: revision 1.1
Initial Zynq (Xilinx) support
Add support for ZedBoard evaluation board and Parallella board.
* cemac(4) Cadence EMAC/GEM(Gigabit) Ethernet Controller driver
based on at91emac
 1.1.4.1 23-Jan-2015  msaitoh file ZEDBOARD_INSTALL was added on branch netbsd-7 on 2015-05-11 11:00:33 +0000
 1.1.2.2 06-Apr-2015  skrll Sync with HEAD
 1.1.2.1 23-Jan-2015  skrll file ZEDBOARD_INSTALL was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.4 03-Dec-2007  ad Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.3 16-Jun-2003  thorpej branches: 1.3.18; 1.3.60; 1.3.76; 1.3.78; 1.3.80; 1.3.86;
Give every obio implementation a size and width locator.
 1.2 15-Jun-2003  thorpej Add an optional "width" locator to the obio bus, specifying the
bus width of the device.
 1.1 25-Jan-2003  thorpej Add support for ADI Engineering's "Big Red Head" i80200 evaluation
and development board, based around their BECC companion chip. Despite
its name, the board can run in big- or little-endian mode (we currently
run only in the latter).
 1.3.86.1 08-Dec-2007  mjf Sync with HEAD.
 1.3.80.1 09-Jan-2008  matt sync with HEAD
 1.3.78.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.3.76.1 26-Dec-2007  rjs Sync with HEAD.
 1.3.60.1 03-Dec-2007  ad Sync with HEAD.
 1.3.18.1 07-Dec-2007  yamt sync with head
 1.1 19-Sep-2018  aymeric branches: 1.1.2; 1.1.6;
Add support for the DE0 NanoSoC board.

It's Cyclone V based and thus includes a dual-core Cortex A9 @925MHz.
Most standard peripherals are supported (USB, SDCard, Ethernet) and
no unusual peripheral is supported yet (FPGA, GPIO, ...)
 1.1.6.2 10-Jun-2019  christos Sync with HEAD
 1.1.6.1 19-Sep-2018  christos file files.altera was added on branch phil-wifi on 2019-06-10 22:06:04 +0000
 1.1.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.2.1 19-Sep-2018  pgoyette file files.altera was added on branch pgoyette-compat on 2018-09-30 01:45:40 +0000
 1.3 20-Jan-2019  skrll Another kernel bites te dust.

Remove ODROID-C1 as it is now replaced by GENERIC. Thanks jmcneill.
 1.2 19-Mar-2018  ryo branches: 1.2.2;
move "defparam opt_machdep.h BOOT_ARGS" to files.evbarm from various places
 1.1 07-Feb-2015  jmcneill branches: 1.1.2; 1.1.4; 1.1.20; 1.1.22;
Work-in-progress Odroid-C1 support.
 1.1.22.2 26-Jan-2019  pgoyette Sync with HEAD
 1.1.22.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.1.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.20.1 07-Feb-2015  jdolecek file files.amlogic was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.4.2 06-Apr-2015  skrll Sync with HEAD
 1.1.4.1 07-Feb-2015  skrll file files.amlogic was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.1.2.2 21-Mar-2015  snj Pull up following revision(s) (requested by jmcneill in ticket #598):
sys/arch/arm/amlogic/amlogic_board.c: up to revision 1.9
sys/arch/arm/amlogic/amlogic_canvasreg.h: revision 1.1
sys/arch/arm/amlogic/amlogic_com.c: up to revision 1.4
sys/arch/arm/amlogic/amlogic_comreg.h: up to revision 1.3
sys/arch/arm/amlogic/amlogic_comvar.h: revision 1.1
sys/arch/arm/amlogic/amlogic_cpufreq.c: up to revision 1.2
sys/arch/arm/amlogic/amlogic_crureg.h: up to revision 1.7
sys/arch/arm/amlogic/amlogic_dwctwo.c: up to revision 1.2
sys/arch/arm/amlogic/amlogic_genfb.c: revision 1.1
sys/arch/arm/amlogic/amlogic_gmac.c: up to revision 1.2
sys/arch/arm/amlogic/amlogic_hdmireg.h: revision 1.1
sys/arch/arm/amlogic/amlogic_intr.h: up to revision 1.5
sys/arch/arm/amlogic/amlogic_io.c: up to revision 1.7
sys/arch/arm/amlogic/amlogic_reg.h: up to revision 1.9
sys/arch/arm/amlogic/amlogic_rng.c: revision 1.1
sys/arch/arm/amlogic/amlogic_sdhc.c: up to revision 1.3
sys/arch/arm/amlogic/amlogic_sdhcreg.h: revision 1.1
sys/arch/arm/amlogic/amlogic_space.c: revision 1.1
sys/arch/arm/amlogic/amlogic_var.h: up to revision 1.8
sys/arch/arm/amlogic/amlogic_vpureg.h: revision 1.1
sys/arch/arm/arm/bootconfig.c: revisions 1.7-1.8
sys/arch/arm/conf/files.arm: revision 1.129
sys/arch/arm/cortex/pl310.c: revisions 1.16-1.17
sys/arch/arm/cortex/a9_mpsubr.S: revisions 1.25-1.29
sys/arch/arm/cortex/a9tmr.c: revisions 1.8-1.12
sys/arch/arm/cortex/a9tmr_var.h: revision 1.4
sys/arch/arm/cortex/a9wdt.c: revisions 1.3-1.4
sys/arch/arm/cortex/armperiph.c: revisions 1.5-1.7
sys/arch/arm/arm/cpufunc.c: revision 1.151
sys/arch/arm/include/bootconfig.h: revision 1.7
sys/arch/arm/include/locore.h: revision 1.19
sys/arch/evbarm/amlogic/amlogic_machdep.c: up to revision 1.17
sys/arch/evbarm/amlogic/amlogic_start.S: up to revision 1.2
sys/arch/evbarm/amlogic/genassym.cf: revision 1.1
sys/arch/evbarm/amlogic/platform.h: revision 1.1
sys/arch/evbarm/conf/files.amlogic: up to revision 1.8
sys/arch/evbarm/conf/std.amlogic: up to revision 1.2
sys/arch/evbarm/conf/mk.amlogic: revision 1.1
sys/arch/evbarm/conf/ODROID-C1: up to revision 1.12
sys/arch/evarm/conf/ODROID-C1_INSTALL: revision 1.1
Don't use not as a variable since it's reserved in C++.
--
clean the a9 l2 cache before turning it on.
--
Add Cortex-A17 support
--
Fix CORTEXA17 support
--
Let the "cbar" device property override the cbar value, to work around
broken bootloaders
--
add a helper to update a9tmr frequency
--
detach and re-attach timecounter when updating freq, and reinit timer on
each cpu
--
fix typo
--
add BOOTOPT_TYPE_MACADDR for parsing mac address parameters
--
make sure we set ACTLR.SMP=1 for CPU_CORTEXA5 in !MP case, ok matt@
--
According to the Cortex-A5 TRM, the CBAR register is not implemented and
always reads as 0x00000000. Add ARM_CBAR option to set this in kernel
config.
--
skip a TLBIALL on Cortex-A5 that stops my odroid-c1 from booting, ok matt
--
match on Cortex-A5
--
match on Cortex-A5
--
allow arml2cc to be used on Cortex-A5 if the "offset" property is specified
--
print "A5" instead of "A9" at attach time if running on a Cortex-A5
--
Improve inline asm around dsb/dmb/isb:
- always use volatile and mark them as memory barrier
- use the common version from locore.h in all places not included from
userland
--
Work-in-progress Odroid-C1 support.
--
no need to override ARM_CBAR, remove unused COM_16750 option
--
Add basic serial console support.
--
add dwctwo and usb devices
--
ODROID-C1 SMP support.
--
auto-detect RAM size
--
ODROID-C1 onboard ethernet support.
--
add amlogicrng, add commented-out genfb placeholder
--
enable amlogicsdhc
--
add ODROID-C1 install kernel
--
Add CPUFREQ option to set boot CPU frequency. ODROID-C1 is advertised
as quad-core 1.5GHz but boots up at 1.2GHz; add CPUFREQ=1512 to config
and make sure to set the correct speed before attaching CPUs.
The speed can still be scaled down with machdep.cpu sysctls.
--
disable DEBUG, LOCKDEBUG, VERBOSE_INIT_ARM
--
Basic framebuffer console support. Work in progress.
 1.1.2.1 07-Feb-2015  snj file files.amlogic was added on branch netbsd-7 on 2015-03-21 08:51:18 +0000
 1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.4 19-Mar-2018  ryo move "defparam opt_machdep.h BOOT_ARGS" to files.evbarm from various places
 1.3 29-Mar-2014  matt branches: 1.3.4; 1.3.30;
remove trailing blank line
 1.2 25-Aug-2013  kiyohara Move mvspi defines into sys/dev/marvell/files.discovery.
 1.1 29-May-2013  rkujawa branches: 1.1.2; 1.1.4;
Add build configuration for Armada XP.

Obtained from Marvell, Semihalf.
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 28-Aug-2013  rmind sync with head
 1.1.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.2.2 23-Jun-2013  tls resync from head
 1.1.2.1 29-May-2013  tls file files.armadaxp was added on branch tls-maxphys on 2013-06-23 06:20:04 +0000
 1.3.30.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.3.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.3.4.1 29-Mar-2014  yamt file files.armadaxp was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.4 17-Mar-2008  kiyohara Clean up for includes of board independent driver.
 1.3 03-Dec-2007  ad branches: 1.3.10; 1.3.14;
Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.2 06-Feb-2006  hamajima branches: 1.2.12; 1.2.26; 1.2.42; 1.2.44; 1.2.46; 1.2.52;
Add support for the Atmark Techno Armadillo-210.
Armadillo-210 is subset model of Armadillo-9.
 1.1 13-Nov-2005  hamajima branches: 1.1.4; 1.1.6; 1.1.8; 1.1.10;
Add initial support for the EP9315-based Atmark Techno Armadillo-9 board.
 1.1.10.1 22-Apr-2006  simonb Sync with head.
 1.1.8.1 09-Sep-2006  rpaulo sync with head
 1.1.6.1 18-Feb-2006  yamt sync with head.
 1.1.4.2 11-Dec-2005  christos Sync with head.
 1.1.4.1 13-Nov-2005  christos file files.armadillo9 was added on branch ktrace-lwp on 2005-12-11 10:28:16 +0000
 1.2.52.1 08-Dec-2007  mjf Sync with HEAD.
 1.2.46.2 23-Mar-2008  matt sync with HEAD
 1.2.46.1 09-Jan-2008  matt sync with HEAD
 1.2.44.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.2.42.1 26-Dec-2007  rjs Sync with HEAD.
 1.2.26.1 03-Dec-2007  ad Sync with HEAD.
 1.2.12.4 24-Mar-2008  yamt sync with head.
 1.2.12.3 07-Dec-2007  yamt sync with head
 1.2.12.2 21-Jun-2006  yamt sync with head.
 1.2.12.1 06-Feb-2006  yamt file files.armadillo9 was added on branch yamt-lazymbuf on 2006-06-21 14:50:33 +0000
 1.3.14.1 03-Apr-2008  mjf Sync with HEAD.
 1.3.10.1 24-Mar-2008  keiichi sync with head.
 1.5 08-Apr-2018  jmcneill Remove old Allwinner port.
 1.4 19-Mar-2018  ryo move "defparam opt_machdep.h BOOT_ARGS" to files.evbarm from various places
 1.3 22-Oct-2014  jmcneill branches: 1.3.18; 1.3.20;
defopt -> defflag
 1.2 22-Oct-2014  jmcneill Add support for GPIO configuration via "FEX" scripts, in an attempt to
keep awin_device_register under control.

Board configuration scripts can be found here:
https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config

You can compile them with the "fex2bin" tool found here:
https://github.com/linux-sunxi/sunxi-tools

To use, copy the compiled FEX to your MS-DOS partition, load it with
U-Boot, and then tell the kernel where to find it with the "sysconfig="
boot option. For example, uEnv.txt on a Cubieboard2 might look like this:

bootargs=root=ld0a sysconfig=0x43000000
uenvcmd=mmc dev 0; mmc rescan; fatload mmc 0:1 43000000 cubieboard2.bin; fatload mmc 0:1 82000000 netbsd.ub; bootm 82000000
 1.1 31-Aug-2014  matt branches: 1.1.2;
Move away from cubie to awin since "cubie" will actually work on non-cubie
boards. Let the config file specify what board is being built for.
 1.1.2.2 10-Sep-2014  martin Pull up following revision(s) (requested by skrll in ticket #82):
sys/arch/evbarm/awin/awin_start.S: revision 1.1
sys/arch/evbarm/conf/mk.cubie: file removal
sys/arch/evbarm/conf/std.awin: revision 1.1
sys/arch/evbarm/cubie/genassym.cf: file removal
sys/arch/evbarm/conf/CUBIEBOARD: revision 1.17
sys/arch/evbarm/conf/BPI: revision 1.1
sys/arch/evbarm/awin/genassym.cf: revision 1.1
sys/arch/evbarm/awin/platform.h: revision 1.1
sys/arch/evbarm/conf/files.awin: revision 1.1
sys/arch/evbarm/conf/mk.cubie: revision 1.4
sys/arch/evbarm/conf/CUBIETRUCK: revision 1.3
sys/arch/evbarm/cubie/cubie_machdep.c: revision 1.21
sys/arch/evbarm/awin/awin_machdep.c: revision 1.1
sys/arch/evbarm/awin/awin_machdep.c: revision 1.3
sys/arch/evbarm/awin/awin_machdep.c: revision 1.4
sys/arch/evbarm/conf/std.cubie: file removal
sys/arch/evbarm/conf/mk.awin: revision 1.1
sys/arch/evbarm/conf/mk.awin: revision 1.2
sys/arch/evbarm/cubie/cubie_machdep.c: file removal
sys/arch/evbarm/cubie/cubie_start.S: file removal
sys/arch/evbarm/cubie/platform.h: file removal
sys/arch/evbarm/conf/files.cubie: file removal

Move away from "cubie" to generic "awin" and introduce a BOARDTYPE
variable. This allows other boards to use the cubie code.

Add a Banana Pi kernel config and fixup mmc0detect assignment for BPI.
 1.1.2.1 31-Aug-2014  martin file files.awin was added on branch netbsd-7 on 2014-09-10 09:37:51 +0000
 1.3.20.2 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.3.20.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.3.18.2 03-Dec-2017  jdolecek update from HEAD
 1.3.18.1 22-Oct-2014  jdolecek file files.awin was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.2 19-Mar-2018  ryo move "defparam opt_machdep.h BOOT_ARGS" to files.evbarm from various places
 1.1 01-Sep-2012  matt branches: 1.1.4; 1.1.6; 1.1.16; 1.1.44;
Add support for the BCM95301X development board
 1.1.44.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.1.16.2 15-Feb-2014  matt Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.
 1.1.16.1 01-Sep-2012  matt file files.bcm53xx was added on branch matt-nb5-mips64 on 2014-02-15 16:18:37 +0000
 1.1.6.2 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.1.6.1 01-Sep-2012  matt file files.bcm53xx was added on branch matt-nb6-plus on 2012-11-28 22:50:08 +0000
 1.1.4.2 30-Oct-2012  yamt sync with head
 1.1.4.1 01-Sep-2012  yamt file files.bcm53xx was added on branch yamt-pagecache on 2012-10-30 17:19:21 +0000
 1.7 29-Oct-2022  jmcneill Retire arch/evbarm/beagle.

A few more kernel configs go away:

- OMAP5EVM and PANDABOARD likely never worked to begin with.
- N900 and VTC100 are TI AM335x based, which is supported by GENERIC.
 1.6 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.5 19-Mar-2018  ryo branches: 1.5.2;
move "defparam opt_machdep.h BOOT_ARGS" to files.evbarm from various places
 1.4 05-Sep-2012  matt branches: 1.4.38;
cortex include moved arm/omap/files.omap2
 1.3 04-Sep-2012  matt Make reset work on beagle again.
Add nand (not yet working) and prcm to IGEPV2.
Add smsh to IGEPV2 (use attachment from gumstix).
Turn on a few options for IGEPV2.
 1.2 01-Sep-2012  matt Switch beagle and marvell to use the new boot/init code.
 1.1 22-Oct-2008  matt branches: 1.1.8; 1.1.10; 1.1.16; 1.1.34; 1.1.42;
Initial BEAGLEBOARD support. Compile tested only so far.
 1.1.42.1 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.1.34.1 30-Oct-2012  yamt sync with head
 1.1.16.2 04-May-2009  yamt sync with head.
 1.1.16.1 22-Oct-2008  yamt file files.beagle was added on branch yamt-nfs-mp on 2009-05-04 08:10:57 +0000
 1.1.10.2 17-Jan-2009  mjf Sync with HEAD.
 1.1.10.1 22-Oct-2008  mjf file files.beagle was added on branch mjf-devfs2 on 2009-01-17 13:27:57 +0000
 1.1.8.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.1.8.1 22-Oct-2008  haad file files.beagle was added on branch haad-dm on 2008-12-13 01:13:07 +0000
 1.4.38.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.4.38.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.5.2.1 10-Jun-2019  christos Sync with HEAD
 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 08-Nov-2006  scw branches: 1.1.2; 1.1.6; 1.1.8; 1.1.14; 1.1.30; 1.1.32; 1.1.34; 1.1.40;
Add support for the Certance CP-3100.

"The Certance CP3100 product family provides high-end disk-to-disk-to-tape
(D2D2T) functionality for small-to-medium businesses."

To software, the unit is very similar to the IQ80321 and IQ31244 eval
boards from Intel. As such, we share almost all of their code.

Onboard hardware:
- IOP321 XScale CPU. Core clock is 600MHz.
- 256MB SDRAM (not sure if that's true for all)
- Four-port Intel i31244 SATA controller. One port is connected to the
internal disk. The remaining three are available on the back-panel.
- Dual GigE ports on the back panel, using an Intel i82546EB controller.
- Two Symbios Logic 53c1010 SCSI controllers, one in host mode the other
in target mode. Both SCSI busses are available on the back panel.
Note that NetBSD does not support SCSI target mode.
- 8MB of NOR Flash, containing a fairly vanilla Redboot together with
a minimal compressed Linux image.
- Some front-panel LEDS (not supported).
- Serial console.

Contributed by Wasabi Systems, Inc.
 1.1.40.1 08-Dec-2007  mjf Sync with HEAD.
 1.1.34.1 09-Jan-2008  matt sync with HEAD
 1.1.32.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.1.30.1 26-Dec-2007  rjs Sync with HEAD.
 1.1.14.1 03-Dec-2007  ad 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 08-Nov-2006  yamt file files.cp3100 was added on branch yamt-lazymbuf on 2006-12-30 20:45:49 +0000
 1.1.6.2 10-Dec-2006  yamt sync with head.
 1.1.6.1 08-Nov-2006  yamt file files.cp3100 was added on branch yamt-splraiseipl on 2006-12-10 07:15:52 +0000
 1.1.2.2 18-Nov-2006  ad Sync with head.
 1.1.2.1 08-Nov-2006  ad file files.cp3100 was added on branch newlock2 on 2006-11-18 21:29:10 +0000
 1.2 31-Aug-2014  matt These have been moved to evbarm/awin or conf/*.awin
 1.1 03-Sep-2013  matt branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10; 1.1.12;
Prelimary config goo for CubieBoard 1 & 2
(config is happy with it)
 1.1.12.3 03-Dec-2017  jdolecek update from HEAD
 1.1.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.12.1 03-Sep-2013  tls file files.cubie was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.1.10.1 10-Sep-2014  martin Pull up following revision(s) (requested by skrll in ticket #82):
sys/arch/evbarm/awin/awin_start.S: revision 1.1
sys/arch/evbarm/conf/mk.cubie: file removal
sys/arch/evbarm/conf/std.awin: revision 1.1
sys/arch/evbarm/cubie/genassym.cf: file removal
sys/arch/evbarm/conf/CUBIEBOARD: revision 1.17
sys/arch/evbarm/conf/BPI: revision 1.1
sys/arch/evbarm/awin/genassym.cf: revision 1.1
sys/arch/evbarm/awin/platform.h: revision 1.1
sys/arch/evbarm/conf/files.awin: revision 1.1
sys/arch/evbarm/conf/mk.cubie: revision 1.4
sys/arch/evbarm/conf/CUBIETRUCK: revision 1.3
sys/arch/evbarm/cubie/cubie_machdep.c: revision 1.21
sys/arch/evbarm/awin/awin_machdep.c: revision 1.1
sys/arch/evbarm/awin/awin_machdep.c: revision 1.3
sys/arch/evbarm/awin/awin_machdep.c: revision 1.4
sys/arch/evbarm/conf/std.cubie: file removal
sys/arch/evbarm/conf/mk.awin: revision 1.1
sys/arch/evbarm/conf/mk.awin: revision 1.2
sys/arch/evbarm/cubie/cubie_machdep.c: file removal
sys/arch/evbarm/cubie/cubie_start.S: file removal
sys/arch/evbarm/cubie/platform.h: file removal
sys/arch/evbarm/conf/files.cubie: file removal

Move away from "cubie" to generic "awin" and introduce a BOARDTYPE
variable. This allows other boards to use the cubie code.

Add a Banana Pi kernel config and fixup mmc0detect assignment for BPI.
 1.1.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.1.8.1 03-Sep-2013  yamt file files.cubie was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.1.6.2 18-May-2014  rmind sync with head
 1.1.6.1 03-Sep-2013  rmind file files.cubie was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.1.2.2 24-Mar-2014  matt Add cubie from HEAD
 1.1.2.1 03-Sep-2013  matt file files.cubie was added on branch matt-nb5-mips64 on 2014-03-24 18:46:38 +0000
 1.2 29-Oct-2022  jmcneill GC unused file
 1.1 08-Sep-2010  ahoka branches: 1.1.2; 1.1.4; 1.1.10;
config for devkit8000 boards (currently beagle conf + dme)
config glue for devkit8000 ethernet
 1.1.10.2 05-Mar-2011  rmind sync with head
 1.1.10.1 08-Sep-2010  rmind file files.devkit8000 was added on branch rmind-uvmplock on 2011-03-05 20:50:04 +0000
 1.1.4.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.1.4.1 08-Sep-2010  uebayasi file files.devkit8000 was added on branch uebayasi-xip on 2010-10-22 07:21:15 +0000
 1.1.2.2 09-Oct-2010  yamt sync with head
 1.1.2.1 08-Sep-2010  yamt file files.devkit8000 was added on branch yamt-nfs-mp on 2010-10-09 03:31:43 +0000
 1.33 01-Oct-2019  jmcneill Increase maxusers to 64 for 64-bit kernels
 1.32 21-Oct-2018  jmcneill branches: 1.32.4;
Add support for PCI MSI using ARM GICv2m.
 1.31 18-Aug-2018  rin Fix a bug introduced in the previous revision;
We don't define arm32 anywhere, and majors.aarch64 is used unconditionally.
 1.30 01-Apr-2018  ryo branches: 1.30.2;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.29 19-Mar-2018  ryo move "defparam opt_machdep.h BOOT_ARGS" to files.evbarm from various places
 1.28 18-Dec-2017  skrll branches: 1.28.2;
Generalise FDT and OFW
 1.27 30-Aug-2017  jmcneill Make opt_fdt.h available for all evbarm kernels.
 1.26 05-Jul-2017  jmcneill Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
 1.25 04-Dec-2014  joerg branches: 1.25.10;
Drop the rest of the ARM specific MBR support.
 1.24 04-Dec-2014  joerg Use MI MBR support code. Fixes disklabel writing problems during
sysinst.
 1.23 12-Aug-2013  matt branches: 1.23.6;
Always include disksubr_xxx
 1.22 23-Sep-2010  kiyohara branches: 1.22.8; 1.22.18; 1.22.22;
Move 'include files.sdmmc' to files.evbarm.
 1.21 17-Mar-2008  kiyohara branches: 1.21.4; 1.21.22; 1.21.24; 1.21.26;
Clean up for includes of board independent driver.
 1.20 20-Feb-2008  drochner branches: 1.20.2; 1.20.6;
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.19 10-Apr-2007  macallan branches: 1.19.10; 1.19.14;
include files.wsfb
 1.18 27-Dec-2005  chs branches: 1.18.26; 1.18.30; 1.18.32;
remove the COM_MPLOCK option. always include the spinlock in the softc
and always call the simple_* locking functions. the locking functions
are compiled out if they are not needed anyway, so a separate option
for this doesn't gain anything.

this also fixes the serial console on my alpha ES40 (which doesn't make much
sense since the com driver should still be under the big lock on alpha,
but whatever).
 1.17 17-Feb-2003  ichiro branches: 1.17.18;
files.ixp12x0
no need device ixpcom in evbarm/conf/files.evbarm move it to
arm/ixp12x0/files.ixp12x0

ixp12x0_com.c:
some fix around address handling
1. Do not call bus_space_map() in ixpcominit(). Calling bus_space_map()
is not safe here, because bus_space_map() calls uvm_km_valloc() but
uvm is not yet initialized.
2. Use dv_unit to determine console instead comparering iobase.
Now you can attach ixpcom0 with physical address like this:
ixpcom* at ixpsip? addr 0x90000000 size 0x4000
Statically mapped address (0xf0000000) is still usable.

ixp12x0_clk:
1. access PLL_CFG register via bus_space
2. Make the delay() working correctly. (bug fix)
3. Start the timer device without interrupt on attach time.
Now delay() called before cpu_initclocks() works fine.

ixp12x0_pci:
1.Mapping PCI type0/1 configuration space to the upper address.
2."PCI I/O Cycle Access" mapping to same virtual address(VA==PA)
but size of this mapping increase to 1MByte because fails
cause couldnt set L2 table.
3.use bus_space address handling in ixp12x0_pci.c.
 1.16 26-Oct-2002  jdolecek now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies
 1.15 06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

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

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

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

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

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

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

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

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

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.14 17-Aug-2002  briggs Add a new option EVBARM_BOARDTYPE to differentiate between different
evbarm ports. Inline _splraise/_spllower/splx for i80321 and iq80310
for more performance.
 1.13 20-Jul-2002  ichiro attach/match separated from ixp12x0_com
Some bug of com driver have been improved.
 1.12 16-Apr-2002  thorpej branches: 1.12.2;
* Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
the magic "files include order" dance in N machine-dependent
configuration definitions.
 1.11 19-Feb-2002  briggs Use the MI md_root
 1.10 30-Jan-2002  thorpej branches: 1.10.2;
New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.9 24-Jan-2002  thorpej Don't need pciide_machdep.c
 1.8 28-Nov-2001  lukem - convert usage of "defopt" to "defflag" where the relevant option does
not support a value (e.g., it's to be used as "options FOO" instead of
"options FOO=xxx"). options that take a value were converted to
defparam recently.
- minor whitespace & formatting cleanups
 1.7 26-Nov-2001  thorpej Move the interrupt-related file declarations into port-specific
config descriptions so that each port choose whether or not to
use it.
 1.6 20-Nov-2001  lukem cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""
 1.5 14-Nov-2001  thorpej We need to declare the "plcom" device in files.evbarm, since a
"plcom.h" header file needs to be generated for conf.c even for
non-Integrator kernels.
 1.4 04-Nov-2001  thorpej branches: 1.4.2;
Garbage-collect a bunch of stuff that's not used/needed in
eval board environments.
 1.3 04-Nov-2001  thorpej Move board-specific config definitions into files.<board>, allowing
each board type to have its own device namespace.
 1.2 27-Oct-2001  rearnsha Add Integrator files.
 1.1 05-Sep-2001  matt branches: 1.1.4;
more evbarm files (very incomplete).
 1.1.4.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.4.2.9 11-Nov-2002  nathanw Catch up to -current
 1.4.2.8 17-Sep-2002  nathanw Catch up to -current.
 1.4.2.7 19-Aug-2002  thorpej Partial (ARM only) sync with trunk -- significant performance improvements
for XScale-based systems.
 1.4.2.6 01-Aug-2002  nathanw Catch up to -current.
 1.4.2.5 20-Jun-2002  nathanw Catch up to -current.
 1.4.2.4 28-Feb-2002  nathanw Catch up to -current.
 1.4.2.3 08-Jan-2002  nathanw Catch up to -current.
 1.4.2.2 14-Nov-2001  thorpej Merge from -current; fixes a header file botch when building
non-Integrator kernels.
 1.4.2.1 04-Nov-2001  thorpej file files.evbarm was added on branch nathanw_sa on 2001-11-14 23:50:02 +0000
 1.10.2.6 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.10.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.10.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.10.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.10.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.10.2.1 30-Jan-2002  jdolecek file files.evbarm was added on branch kqueue on 2002-02-11 20:07:41 +0000
 1.12.2.4 30-Aug-2002  gehenna catch up with -current.
 1.12.2.3 21-Jul-2002  gehenna catch up with -current.
 1.12.2.2 17-May-2002  gehenna Remove old block majors list.
 1.12.2.1 16-May-2002  gehenna Include the list of block/character major numbers.
 1.17.18.4 24-Mar-2008  yamt sync with head.
 1.17.18.3 27-Feb-2008  yamt sync with head.
 1.17.18.2 03-Sep-2007  yamt sync with head.
 1.17.18.1 21-Jun-2006  yamt sync with head.
 1.18.32.1 11-Jul-2007  mjf Sync with head.
 1.18.30.1 10-Apr-2007  ad Sync with head.
 1.18.26.1 15-Apr-2007  yamt sync with head.
 1.19.14.1 23-Mar-2008  matt sync with HEAD
 1.19.10.1 28-Feb-2008  rjs Sync with HEAD.
 1.20.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.20.2.1 24-Mar-2008  keiichi sync with head.
 1.21.26.1 05-Mar-2011  rmind sync with head
 1.21.24.1 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.21.22.1 15-Feb-2014  matt Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.
 1.21.4.1 09-Oct-2010  yamt sync with head
 1.22.22.1 28-Aug-2013  rmind sync with head
 1.22.18.2 03-Dec-2017  jdolecek update from HEAD
 1.22.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.22.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.23.6.2 28-Aug-2017  skrll Sync with HEAD
 1.23.6.1 06-Apr-2015  skrll Sync with HEAD
 1.25.10.1 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.28.2.4 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.28.2.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.28.2.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.28.2.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.30.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.30.2.1 10-Jun-2019  christos Sync with HEAD
 1.32.4.1 03-Oct-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #273):

sys/arch/evbarm/conf/files.evbarm: revision 1.33
sys/arch/evbarm/conf/GENERIC64: revision 1.108

Increase maxusers to 64 for 64-bit kernels
 1.6 31-Mar-2019  jmcneill Remove EXYNOS kernel config.
 1.5 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.4 17-Aug-2018  skrll Fix build the easiest way...

Restructure to allow generic builds will come later.
 1.3 10-Jun-2017  jmcneill branches: 1.3.4; 1.3.6; 1.3.8;
Get the EXYNOS kernel building again with recent FDT changes. Untested.
 1.2 14-Dec-2015  marty branches: 1.2.2; 1.2.12;
XU4 FDT Enable the minimum device tree

This enables the use of FDT on the XU4 but doesn't add any drivers. However,
with this check in, XU4 becomes useless without a device tree blob from the
Linux tree, which isn't checked in anywhere.
 1.1 06-Dec-2015  marty Reorganize Exynos code step 1 of N

create config files that use evbarm/exynos rather than evbarm/odroid for
the machdep portion.

point ODROID-XU4 at those files

add evbarm/exynos/exyos_{start.S, machdep.c} and platform.h that are exynos
5422 specific. -- We'll edit in other exynos platforms once this one
fully works.

This boots the Odroid XU4 to the same point as using evbarm/odroid does, but
with some differences in gpio handling. Everything else should be semantically
equivalent.
 1.2.12.1 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.2.2.3 28-Aug-2017  skrll Sync with HEAD
 1.2.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.2.2.1 14-Dec-2015  skrll file files.exynos was added on branch nick-nhusb on 2015-12-27 12:09:34 +0000
 1.3.8.1 10-Jun-2019  christos Sync with HEAD
 1.3.6.2 20-Oct-2018  pgoyette Sync with head
 1.3.6.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.3.4.2 03-Dec-2017  jdolecek update from HEAD
 1.3.4.1 10-Jun-2017  jdolecek file files.exynos was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.9 06-Sep-2021  jmcneill Instead of requiring drivers to be explicit about their device memory
mapping requirements, move this decision into the fdt layer. This
introduces a new MD function, fdtbus_bus_tag_create, which is responsible
for returning per-node bus_space handles.
 1.8 12-May-2021  thorpej - Define a device call for PCI bus instances to fetch a direct child's
device handle given the device's device/function #s (extracted from
a pcitag_t). Use it to associate the handle with the child device
at config_found() time.
- Implement this device call for ACPI and OpenFirmware.
- Enable the OpenFirmware variant for evbarm FDT, macppc, ofppc, sparc64.
- Obsolete acpi_device_register(); it is no longer needed.
- Obsolete setting the OpenFirmware handle in PCI devices in the
sparc64 device_register(); it is no longer needed.
 1.7 12-Dec-2020  skrll branches: 1.7.4; 1.7.6;
Move evbarm/fdt/fdt_memory.[ch] to sys/dev/fdt and simplify the api and
some operations. This allows other architectures to use it.
 1.6 20-Feb-2020  jmcneill branches: 1.6.6;
Add dma-ranges support.
 1.5 30-Oct-2018  jmcneill branches: 1.5.6;
build fdt_memory.c
 1.4 01-Apr-2018  ryo branches: 1.4.2;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.3 19-Mar-2018  ryo move "defparam opt_machdep.h BOOT_ARGS" to files.evbarm from various places
 1.2 30-Aug-2017  jmcneill branches: 1.2.2; 1.2.4;
Make opt_fdt.h available for all evbarm kernels.
 1.1 30-May-2017  jmcneill branches: 1.1.6;
Rename tegra_machdep.c to fdt_machdep.c now that it no longer has any
Tegra-specific code in it.
 1.1.6.2 28-Aug-2017  skrll Sync with HEAD
 1.1.6.1 30-May-2017  skrll file files.fdt was added on branch nick-nhusb on 2017-08-28 17:51:34 +0000
 1.2.4.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.2.4.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.2.4.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.2.2.2 03-Dec-2017  jdolecek update from HEAD
 1.2.2.1 30-Aug-2017  jdolecek file files.fdt was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.4.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.5.6.1 29-Feb-2020  ad Sync with head.
 1.6.6.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.7.6.1 31-May-2021  cjep sync with head
 1.7.4.1 13-May-2021  thorpej Sync with HEAD.
 1.7 23-Sep-2010  kiyohara Move 'include files.sdmmc' to files.evbarm.
 1.6 13-Mar-2010  bsh branches: 1.6.2;
add SD/MMC driver for Twintail based on the driver for Zaurus.
 1.5 17-Mar-2008  kiyohara branches: 1.5.4; 1.5.24;
Clean up for includes of board independent driver.
 1.4 17-Oct-2007  garbled branches: 1.4.12; 1.4.16;
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.3 15-Jul-2007  dsl branches: 1.3.10;
Remove "" from around option filename.
 1.2 11-Dec-2005  christos branches: 1.2.30; 1.2.38;
merge ktrace-lwp.
 1.1 26-Feb-2005  bsh branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10;
TWINTAIL (official product name is G4255EB) is an evaluation board
with Intel PXA255 processor from Genetec corp. You can get some
information on the board from http://ad.genetec.co.jp/ but only in Japanese.
 1.1.10.2 24-Mar-2008  yamt sync with head.
 1.1.10.1 03-Sep-2007  yamt sync with head.
 1.1.8.2 29-Apr-2005  kent sync with -current
 1.1.8.1 26-Feb-2005  kent file files.g42xxeb was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.1.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.6.1 26-Feb-2005  yamt file files.g42xxeb was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.1.2.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.1 26-Feb-2005  skrll file files.g42xxeb was added on branch ktrace-lwp on 2005-03-04 16:38:14 +0000
 1.2.38.1 03-Oct-2007  garbled Sync with HEAD
 1.2.30.1 20-Aug-2007  ad Sync with HEAD.
 1.3.10.2 23-Mar-2008  matt sync with HEAD
 1.3.10.1 06-Nov-2007  matt sync with HEAD
 1.4.16.1 03-Apr-2008  mjf Sync with HEAD.
 1.4.12.1 24-Mar-2008  keiichi sync with head.
 1.5.24.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.5.24.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.5.4.2 09-Oct-2010  yamt sync with head
 1.5.4.1 11-Aug-2010  yamt sync with head.
 1.6.2.1 05-Mar-2011  rmind sync with head
 1.2 19-Mar-2018  ryo move "defparam opt_machdep.h BOOT_ARGS" to files.evbarm from various places
 1.1 24-Oct-2008  matt branches: 1.1.8; 1.1.10; 1.1.16; 1.1.86;
Add support for Cortina Systems SL3516 eval board.
 1.1.86.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.1.16.2 04-May-2009  yamt sync with head.
 1.1.16.1 24-Oct-2008  yamt file files.gemini was added on branch yamt-nfs-mp on 2009-05-04 08:10:57 +0000
 1.1.10.2 17-Jan-2009  mjf Sync with HEAD.
 1.1.10.1 24-Oct-2008  mjf file files.gemini was added on branch mjf-devfs2 on 2009-01-17 13:27:58 +0000
 1.1.8.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.1.8.1 24-Oct-2008  haad file files.gemini was added on branch haad-dm on 2008-12-13 01:13:07 +0000
 1.14 29-Oct-2022  jmcneill No need for SOC_VIRT, the default arm platform will take care of things.
 1.13 18-Dec-2021  riastradh arm: Need files.acpi for drm to discover NACPICA=0.
 1.12 12-Nov-2021  jmcneill arm: rockchip: Add support for RK3288 SoC.

The Rockchip RK3288 is a quad core Cortex-A17 SoC.
 1.11 23-Dec-2020  skrll Tidyup the i.MX SoC support by

- Moving the FDTised code to sys/arch/arm/nxp to match the
sys/arch/{cpu}/{vendor} convention
- FDTise some more drivers
- Secure Non-Volatile Storage
- watchdog driver
- On chip OTP
- Match fsl,imx6dl
- Add some more drivers to GENERIC that will be supported by i.MX 6
boards
 1.10 20-May-2020  hkenken branches: 1.10.2;
i.MX support merged into GENERIC kernel.
 1.9 26-Oct-2019  jmcneill Adapt ti fdt glue to support GENERIC kernel.
 1.8 15-Sep-2019  bouyer Inlcude external/bsd/sljit/conf/files.sljit, so that it's possible to build
a kernel with options SLJIT
 1.7 11-Jun-2019  skrll branches: 1.7.2;
Initial commit of FDTised Xilinx Zynq-7000 support. Tested with

qemu-system-arm -M xilinx-zynq-a9 -dtb zynq-zed.dtb -kernel netbsd.ub \
-serial /dev/null -serial stdio

Based on a set of diffs/files from rjs@

sys/arch/arm/zynq is kept in place to allow existing kernels (e.g.
ZEDBOARD and PARALLELLA) to continue to build/work during the transition,
but eventually sys/arch/arm/zynq will be deleted.
 1.6 27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.5 19-Jan-2019  jmcneill Add support for (FDT-ized) Amlogic Meson8b.
 1.4 22-Nov-2018  aymeric Switch the DE0 Nano SoC to the GENERIC kernel.
 1.3 05-Nov-2018  skrll Merge in VIRT now that qemu in pkgsrc can support it (missed in previous
commit)
 1.2 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.1 01-Apr-2018  ryo branches: 1.1.2; 1.1.4;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.2.5 26-Jan-2019  pgoyette Sync with HEAD
 1.1.2.4 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.2.3 20-Oct-2018  pgoyette Sync with head
 1.1.2.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.2.1 01-Apr-2018  pgoyette file files.generic was added on branch pgoyette-compat on 2018-04-07 04:12:12 +0000
 1.7.2.2 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.7.2.1 17-Sep-2019  martin Pull up following revision(s) (requested by bouyer in ticket #207):

sys/arch/evbarm/conf/files.generic: revision 1.8

Inlcude external/bsd/sljit/conf/files.sljit, so that it's possible to build
a kernel with options SLJIT
 1.10.2.1 03-Jan-2021  thorpej Sync w/ HEAD.
 1.20 29-Oct-2022  jmcneill No need for SOC_VIRT, the default arm platform will take care of things.
 1.19 13-Sep-2021  jmcneill Add support for Apple M1 debug UART.
 1.18 30-Aug-2021  jmcneill Add initial support for Apple M1.

Currently supported devices:
- Interrupt controller
- IOMMU
- PCIe (USB3 and ethernet)
- Reboot via watchdog
- Framebuffer console
 1.17 23-Dec-2020  skrll Tidyup the i.MX SoC support by

- Moving the FDTised code to sys/arch/arm/nxp to match the
sys/arch/{cpu}/{vendor} convention
- FDTise some more drivers
- Secure Non-Volatile Storage
- watchdog driver
- On chip OTP
- Match fsl,imx6dl
- Add some more drivers to GENERIC that will be supported by i.MX 6
boards
 1.16 16-Mar-2020  nisimura branches: 1.16.4;
include files.sociox for generic64
 1.15 15-Jan-2020  jmcneill Add support for NXP i.MX 8M Dual/8M QuadLite/8M Quad family SoCs.
 1.14 05-Jan-2020  jmcneill branches: 1.14.2;
Make the generic Arm platform available for arm32 as well.
 1.13 05-Jan-2020  jmcneill Add a generic Arm64 platform definition that is used as a fallback.

The generic platform assumes PSCI, a generic timer, pre-initialized UART
clocks, and adds a 4KB entry to the devmap for the console UART device.
 1.12 17-Mar-2019  skrll G/C
 1.11 25-Feb-2019  jmcneill Add support for Amlogic S905 (Meson GXBB) SoCs.
 1.10 27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.9 21-Oct-2018  jmcneill Remove FDT support for AMD Seattle platform. This SoC is supported in ACPI
mode.
 1.8 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.7 12-Oct-2018  jmcneill Pull in ACPI platform support
 1.6 03-Oct-2018  skrll Embryonic Cavium ThunderX support
 1.5 08-Sep-2018  jmcneill Pull in files.seattle
 1.4 26-Aug-2018  rjs Add SLJIT to aarch64.
 1.3 16-Jun-2018  jmcneill branches: 1.3.2;
Add initial support for Rockchip RK3328 SoC.
 1.2 14-Jun-2018  jmcneill Add support for QEMU ARM Virtual Machine ("virt").
 1.1 01-Apr-2018  ryo branches: 1.1.2;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1.2.7 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.2.6 20-Oct-2018  pgoyette Sync with head
 1.1.2.5 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.2.4 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.2.3 25-Jun-2018  pgoyette Sync with HEAD
 1.1.2.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.2.1 01-Apr-2018  pgoyette file files.generic64 was added on branch pgoyette-compat on 2018-04-07 04:12:12 +0000
 1.3.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.3.2.1 10-Jun-2019  christos Sync with HEAD
 1.14.2.1 17-Jan-2020  ad Sync with head.
 1.16.4.1 03-Jan-2021  thorpej Sync w/ HEAD.
 1.1 09-Oct-2025  skrll Add the beginnings of a GENERIC_V5 kernel that targets armv5 boards and
uses FDT.

In this first iteration some support is added for OLinuXino boards.

Thanks to Yuri Honegger for doing the vast majority of the work.
 1.3 13-Sep-2018  skrll G/C GOLDENGATE
 1.2 19-Mar-2018  ryo branches: 1.2.2;
move "defparam opt_machdep.h BOOT_ARGS" to files.evbarm from various places
 1.1 19-Feb-2013  matt branches: 1.1.4; 1.1.14; 1.1.40;
More Cortina CS75xx files.
 1.1.40.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.40.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.1.14.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.14.1 19-Feb-2013  yamt file files.goldengate was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 19-Feb-2013  tls file files.goldengate was added on branch tls-maxphys on 2013-02-25 00:28:34 +0000
 1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.18 23-May-2014  kiyohara Call arm32_*_init() and initarm_common().
OVERO work fine. GUMSTIX build only now.
 1.17 23-Sep-2010  kiyohara branches: 1.17.18; 1.17.32;
Move 'include files.sdmmc' to files.evbarm.
 1.16 10-Jul-2010  kiyohara Support Overo (Gumstix inc).
+ This commit supports basically.
+ Expansion boards not support yet. And MicroSD, Wifi, Bluetooth too.
 1.15 07-Mar-2010  kiyohara branches: 1.15.2;
Add options GUMSTIX_NETBSD_ARGS_CONSOLE and GUMSTIX_NETBSD_ARGS_BUSHEADER.
Can specify arg 'console='(*new*) and 'busheader=' from u-boot. These args
use dynamically configuration.
Also change function name. s/_line/_liner/.
 1.14 09-Aug-2009  kiyohara branches: 1.14.2;
Support verdex and verdex-pro.
And
+ Support LCD controller.
+ Support SMSC LAN 9117 Ethernet controller.
+ Comment outed 'options GXIO_DEFAULT_EXPANSION'. As for verdex-pro being
sold now, this option becomes obstructive.
+ Remove some usb devices in GUMSTIX.
+ Update GUMSTIX.

Also
Fix ARM ABI in gumstix_start.S. Thanks Brett Slager <bds at ifgd.net>.
Calculate RAM size in gumstix_start.S.
 1.13 21-Apr-2009  nonaka Added SD/MMC support from OpenBSD.
tested on i386, amd64 at current-users ML by pgoyette@.
tested on zaurus by myself.
 1.12 14-May-2008  matt branches: 1.12.6; 1.12.12;
Back out SD/MMC inclusion which shouldn't have been comitted.
 1.11 09-May-2008  matt Add KERNEL_BASE_EXT=0xc0000000 to those plaforms that need it.
Note that armv6 and later systems will use 0x80000000 as the kernel start
so they can use the split TTBs in armv6 and later.
 1.10 17-Mar-2008  kiyohara branches: 1.10.2; 1.10.4; 1.10.6;
Clean up for includes of board independent driver.
 1.9 17-Oct-2007  garbled branches: 1.9.12; 1.9.16;
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 21-Aug-2007  kiyohara branches: 1.8.2;
Add gxiic and iic. However not test yet because I don't have I2C-LSI and
can't connect it.
 1.7 21-Aug-2007  kiyohara Add option GXIO_DEFAULT_EXPANSION. This option is default 'netCF'.
Remove white-spaces.
 1.6 12-Jul-2007  kiyohara branches: 1.6.4; 1.6.6; 1.6.8;
This file supports Gumstix. Inc.'s gumstix.
 1.5 20-Apr-2007  kiyohara branches: 1.5.2;
+ Add file-system HFSP (commented out).
+ Add pxartc and lcd(commented out) and pxaudc and pxamci (commented out).
lcd and pxamci not support yet.
+ Remove slhci.
+ Change name of expansion bords the console-{hw,st} from waysmall-{hw,st}.
Because The gumstix Co. changed the name.
 1.4 20-Apr-2007  kiyohara Change to use pxapcic from sa11xx_pcic.
Support multiple socket. But not tested.
 1.3 20-Feb-2007  kiyohara branches: 1.3.4; 1.3.6;
Add btuart.
 1.2 18-Jan-2007  kiyohara branches: 1.2.2;
Support com*.
Add options GXIO_BLUETOOTH_ON_HWUART, but not yet btuart.
Cleanup some configurations.
 1.1 16-Oct-2006  kiyohara branches: 1.1.2; 1.1.4; 1.1.8;
Add initial support for the PXA255-based gumstix board.
 1.1.8.5 24-Mar-2008  yamt sync with head.
 1.1.8.4 03-Sep-2007  yamt sync with head.
 1.1.8.3 26-Feb-2007  yamt sync with head.
 1.1.8.2 30-Dec-2006  yamt sync with head.
 1.1.8.1 16-Oct-2006  yamt file files.gumstix was added on branch yamt-lazymbuf on 2006-12-30 20:45:49 +0000
 1.1.4.3 01-Feb-2007  ad Sync with head.
 1.1.4.2 18-Nov-2006  ad Sync with head.
 1.1.4.1 16-Oct-2006  ad file files.gumstix was added on branch newlock2 on 2006-11-18 21:29:10 +0000
 1.1.2.2 22-Oct-2006  yamt sync with head
 1.1.2.1 16-Oct-2006  yamt file files.gumstix was added on branch yamt-splraiseipl on 2006-10-22 06:04:36 +0000
 1.2.2.2 07-May-2007  yamt 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.3.6.1 11-Jul-2007  mjf Sync with head.
 1.3.4.3 09-Oct-2007  ad Sync with head.
 1.3.4.2 15-Jul-2007  ad Sync with head.
 1.3.4.1 27-May-2007  ad Sync with head.
 1.5.2.1 03-Oct-2007  garbled Sync with HEAD
 1.6.8.1 03-Sep-2007  jmcneill Sync with HEAD.
 1.6.6.1 01-Nov-2007  rjs Sync with HEAD.
 1.6.4.1 03-Sep-2007  skrll Sync with HEAD.
 1.8.2.2 23-Mar-2008  matt sync with HEAD
 1.8.2.1 06-Nov-2007  matt sync with HEAD
 1.9.16.2 02-Jun-2008  mjf Sync with HEAD.
 1.9.16.1 03-Apr-2008  mjf Sync with HEAD.
 1.9.12.1 24-Mar-2008  keiichi sync with head.
 1.10.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.10.4.6 09-Oct-2010  yamt sync with head
 1.10.4.5 11-Aug-2010  yamt sync with head.
 1.10.4.4 11-Mar-2010  yamt sync with head
 1.10.4.3 19-Aug-2009  yamt sync with head.
 1.10.4.2 04-May-2009  yamt sync with head.
 1.10.4.1 16-May-2008  yamt sync with head.
 1.10.2.1 18-May-2008  yamt sync with head.
 1.12.12.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.12.6.1 28-Apr-2009  skrll Sync with HEAD.
 1.14.2.3 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.14.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.14.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.15.2.1 05-Mar-2011  rmind sync with head
 1.17.32.1 10-Aug-2014  tls Rebase.
 1.17.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3 29-Oct-2022  jmcneill Remove support for TI OMAP-L138 based Hawkboard.

This change is part of arch/arm/omap removal.
 1.2 19-Mar-2018  ryo move "defparam opt_machdep.h BOOT_ARGS" to files.evbarm from various places
 1.1 02-Oct-2013  matt branches: 1.1.4; 1.1.6; 1.1.10; 1.1.34;
Add support for OMAP1-183 base hawkboard (HAWK) from Sughosh Ganu.
Minor cleanup (adding $NetBSD to headers, __KERNEL_RCSID to C files, etc).
 1.1.34.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 02-Oct-2013  tls file files.hawk was added on branch tls-maxphys on 2014-08-20 00:02:53 +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 02-Oct-2013  yamt file files.hawk was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 02-Oct-2013  rmind file files.hawk was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 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 18-Dec-2006  nonaka branches: 1.2.6; 1.2.20; 1.2.22; 1.2.24; 1.2.30;
cosmetic
 1.1 16-Apr-2006  nonaka branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10; 1.1.14; 1.1.18; 1.1.20; 1.1.22;
A port of NetBSD to the I-O DATA HDL-G "Giga LANDISK".

Please refer to following URL for this machine.
http://www.iodata.com/products/products.php?cat=HNP&sc=HDL&ts=2&tsc=14&sc=HDL&pId=HDL-G400U
 1.1.22.1 21-Dec-2006  yamt sync with head.
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 16-Apr-2006  rpaulo file files.hdl_g was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:40 +0000
 1.1.18.1 12-Jan-2007  ad Sync with head.
 1.1.14.4 07-Dec-2007  yamt sync with head
 1.1.14.3 30-Dec-2006  yamt sync with head.
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 16-Apr-2006  yamt file files.hdl_g was added on branch yamt-lazymbuf on 2006-06-21 14:50:33 +0000
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 16-Apr-2006  tron file files.hdl_g was added on branch peter-altq on 2006-05-24 15:47:54 +0000
 1.1.8.2 24-May-2006  yamt sync with head.
 1.1.8.1 16-Apr-2006  yamt file files.hdl_g was added on branch yamt-pdpolicy on 2006-05-24 10:56:40 +0000
 1.1.4.2 22-Apr-2006  simonb Sync with head.
 1.1.4.1 16-Apr-2006  simonb file files.hdl_g was added on branch simonb-timecounters on 2006-04-22 11:37:22 +0000
 1.1.2.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.2.1 16-Apr-2006  elad file files.hdl_g was added on branch elad-kernelauth on 2006-04-19 02:32:21 +0000
 1.2.30.1 08-Dec-2007  mjf Sync with HEAD.
 1.2.24.1 09-Jan-2008  matt sync with HEAD
 1.2.22.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.2.20.1 26-Dec-2007  rjs Sync with HEAD.
 1.2.6.1 03-Dec-2007  ad Sync with HEAD.
 1.3 20-May-2020  hkenken i.MX support merged into GENERIC kernel.
 1.2 12-Aug-2019  skrll branches: 1.2.8;
Rearrange so that sys/arch/arm/imx/fdt/files.imx6 can be included by
sys/arch/evbarm/conf/files.generic
 1.1 24-Jul-2019  hkenken Add support for device tree.

+ CCM (clk)
+ COM (uart)
+ GPIO
+ IOMUX (pin control)
+ PCIe
+ SDHC
+ USB Host
+ USB phy
 1.2.8.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.8.1 12-Aug-2019  martin file files.imx was added on branch phil-wifi on 2020-04-13 08:03:42 +0000
 1.5 09-Oct-2025  skrll Add the beginnings of a GENERIC_V5 kernel that targets armv5 boards and
uses FDT.

In this first iteration some support is added for OLinuXino boards.

Thanks to Yuri Honegger for doing the vast majority of the work.
 1.4 19-Mar-2018  ryo move "defparam opt_machdep.h BOOT_ARGS" to files.evbarm from various places
 1.3 10-Jan-2015  jmcneill branches: 1.3.16;
Petri Laakso <petri.laakso@asd.fi>
- New audio driver
- Add new devices rtc and digfilt
- Use BOOT_ARGS if defined in kernel configuration
 1.2 07-Oct-2013  matt branches: 1.2.6;
iMX233/OLinuXino changes from Petri Laskso.
See http://mail-index.netbsd.org/port-arm/2013/10/07/msg002042.html
 1.1 20-Nov-2012  jkunz branches: 1.1.2; 1.1.4; 1.1.6;
Add initial support for Olimex iMX233 based OLinuXino boards.
https://www.olimex.com/Products/OLinuXino/iMX233/
Contributed by Petri Laakso.
 1.1.6.4 03-Dec-2017  jdolecek update from HEAD
 1.1.6.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.2 25-Feb-2013  tls resync with head
 1.1.6.1 20-Nov-2012  tls file files.imx23_olinuxino was added on branch tls-maxphys on 2013-02-25 00:28:34 +0000
 1.1.4.1 18-May-2014  rmind sync with head
 1.1.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.1.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.1.2.1 20-Nov-2012  yamt file files.imx23_olinuxino was added on branch yamt-pagecache on 2013-01-16 05:32:52 +0000
 1.2.6.1 06-Apr-2015  skrll Sync with HEAD
 1.3.16.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.4 19-Mar-2018  ryo move "defparam opt_machdep.h BOOT_ARGS" to files.evbarm from various places
 1.3 13-Nov-2010  bsh branches: 1.3.58;
rename arm/imx/files.imx as files.imx31
 1.2 27-Apr-2008  matt branches: 1.2.22;
Merge kernel changes in matt-armv6 to HEAD.
 1.1 11-Sep-2007  matt branches: 1.1.2; 1.1.20; 1.1.22; 1.1.24;
file files.imx31 was initially added on branch matt-armv6.
 1.1.24.1 16-May-2008  yamt sync with head.
 1.1.22.1 18-May-2008  yamt sync with head.
 1.1.20.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.2.2 16-Apr-2008  cliff remove redundant include of files.pcmcia
 1.1.2.1 11-Sep-2007  matt More support for Freescale i.MX31 DEV LITE KIT
 1.2.22.1 05-Mar-2011  rmind sync with head
 1.3.58.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.3 10-Jul-2020  skrll G/C. OK'ed by jmcnell
 1.2 19-Mar-2018  ryo move "defparam opt_machdep.h BOOT_ARGS" to files.evbarm from various places
 1.1 17-May-2016  ryo branches: 1.1.2; 1.1.18; 1.1.20;
Add initial support for Freescale i.MX7 SoC and
Atmark Techno Armadillo-IoT G3 boards.

Contributed by Internet Initiative Japan Inc.
 1.1.20.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 17-May-2016  jdolecek file files.imx7 was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.2.2 29-May-2016  skrll Sync with HEAD
 1.1.2.1 17-May-2016  skrll file files.imx7 was added on branch nick-nhusb on 2016-05-29 08:44:16 +0000
 1.14 07-Aug-2021  andvar s/configuraiton/configuration/ in comments and man pages.
 1.13 22-Jun-2017  christos we don't support 'no device' so re-define it; it will get both file attachments
but that is not an error.
 1.12 22-Jun-2017  christos XXX: fix conflict with plrtc in sys/conf/files by re-defining.
 1.11 27-Jan-2015  jmcneill branches: 1.11.10;
enable plmmc(4)
 1.10 19-Feb-2013  skrll branches: 1.10.14;
Add support for the ARM Integrator/CP from Sergio L�pez.

The code hasn't been tested on real hardware, but INTEGRATOR_CP config
is useful for QEMU which supports it.
 1.9 13-Jul-2012  skrll branches: 1.9.2;
Remove commented out lines. sys/arch/evbarm/dev/plcom* exists.
 1.8 03-Dec-2007  ad branches: 1.8.52;
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.7 11-Dec-2005  christos branches: 1.7.30; 1.7.46; 1.7.48; 1.7.50; 1.7.56;
merge ktrace-lwp.
 1.6 06-Sep-2003  rearnsha branches: 1.6.16;
Switch to using generic soft interrupts.
 1.5 12-Apr-2002  thorpej branches: 1.5.10;
Use the bus_space_generic bus space ops.
 1.4 30-Jan-2002  thorpej New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.3 14-Nov-2001  thorpej branches: 1.3.2;
We need to declare the "plcom" device in files.evbarm, since a
"plcom.h" header file needs to be generated for conf.c even for
non-Integrator kernels.
 1.2 04-Nov-2001  thorpej branches: 1.2.2; 1.2.4;
Don't require INTEGRATOR or INTEGRATOR_FPGA options. Made possible
by files.<board>.
 1.1 04-Nov-2001  thorpej Move board-specific config definitions into files.<board>, allowing
each board type to have its own device namespace.
 1.2.4.4 17-Apr-2002  nathanw Catch up to -current.
 1.2.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.2.4.2 14-Nov-2001  thorpej Merge from -current; fixes a header file botch when building
non-Integrator kernels.
 1.2.4.1 04-Nov-2001  thorpej file files.integrator was added on branch nathanw_sa on 2001-11-14 23:50:02 +0000
 1.2.2.2 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.2.2.1 04-Nov-2001  thorpej file files.integrator was added on branch thorpej-mips-cache on 2001-11-12 21:16:49 +0000
 1.3.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.3.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.2.1 14-Nov-2001  thorpej file files.integrator was added on branch kqueue on 2002-01-10 19:42:00 +0000
 1.5.10.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.10.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.10.1 03-Aug-2004  skrll Sync with HEAD
 1.6.16.1 07-Dec-2007  yamt sync with head
 1.7.56.1 08-Dec-2007  mjf Sync with HEAD.
 1.7.50.1 09-Jan-2008  matt sync with HEAD
 1.7.48.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.7.46.1 26-Dec-2007  rjs Sync with HEAD.
 1.7.30.1 03-Dec-2007  ad Sync with HEAD.
 1.8.52.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.52.1 30-Oct-2012  yamt sync with head
 1.9.2.2 03-Dec-2017  jdolecek update from HEAD
 1.9.2.1 25-Feb-2013  tls resync with head
 1.10.14.2 28-Aug-2017  skrll Sync with HEAD
 1.10.14.1 06-Apr-2015  skrll Sync with HEAD
 1.11.10.1 05-Jul-2017  snj Pull up following revision(s) (requested by christos in ticket #94):
sys/arch/evbarm/conf/files.integrator: 1.12, 1.13
we don't support 'no device' so re-define it; it will get both file attachments
but that is not an error.
--
XXX: fix conflict with plrtc in sys/conf/files by re-defining.
 1.8 23-Jan-2013  skrll Remove old and never used evbarm/initarm_common. Please use
arm32/arm32_boot.c:initarm_common
 1.7 09-Jan-2009  briggs branches: 1.7.14; 1.7.24;
Allow IQ80321-derived systems to provide an m.d. reboot routine.
Use this on the IQ31244 to force a watchdog reset from the M41ST84
if it's been attached. The generic reset doesn't fully reset the
system whereas the RTC watchdog reset does.
 1.6 03-Dec-2007  ad branches: 1.6.14; 1.6.18; 1.6.26;
Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.5 11-Dec-2005  christos branches: 1.5.30; 1.5.46; 1.5.48; 1.5.50; 1.5.56;
merge ktrace-lwp.
 1.4 19-Feb-2005  rearnsha branches: 1.4.6;
Add on-board CompactFlash device.
 1.3 16-Jun-2003  thorpej branches: 1.3.2; 1.3.10; 1.3.12;
Give every obio implementation a size and width locator.
 1.2 15-Jun-2003  thorpej Add an optional "width" locator to the obio bus, specifying the
bus width of the device.
 1.1 14-May-2003  thorpej Add support for the Intel IQ31244 reference board, based on the i80321
I/O processor and the i31244 PCI-X S-ATA controller.

The IQ31244 is almost identical to the IQ80321, from software's
perspective, so we share much of the code.
 1.3.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.3.10.1 29-Apr-2005  kent sync with -current
 1.3.2.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.4.6.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 09-Dec-2007  jmcneill Sync with HEAD.
 1.5.46.1 26-Dec-2007  rjs Sync with HEAD.
 1.5.30.1 03-Dec-2007  ad Sync with HEAD.
 1.6.26.1 19-Jan-2009  skrll Sync with HEAD.
 1.6.18.1 04-May-2009  yamt sync with head.
 1.6.14.1 17-Jan-2009  mjf Sync with HEAD.
 1.7.24.1 25-Feb-2013  tls resync with head
 1.7.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.12 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.11 16-Jun-2003  thorpej branches: 1.11.18; 1.11.60; 1.11.76; 1.11.78; 1.11.80; 1.11.86;
Give every obio implementation a size and width locator.
 1.10 15-Jun-2003  thorpej Add an optional "width" locator to the obio bus, specifying the
bus width of the device.
 1.9 03-Oct-2002  thorpej Use indirect configuration for on-board devices (i.e. those things
attached to "obio") on the IQ80310 and IQ80321. It makes more sense
to do it this way for this type of system (the goal being to encapsulate
as much information about the board as possible into one file).
 1.8 12-Apr-2002  thorpej Use the bus_space_generic bus space ops.
 1.7 07-Feb-2002  thorpej Add support for the Team ASA Npwr IOP310-based server appliance.
 1.6 30-Jan-2002  thorpej New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.5 24-Jan-2002  thorpej Pull in files.i80200
 1.4 09-Nov-2001  thorpej branches: 1.4.2; 1.4.4; 1.4.6;
PCI interrupt mapping support for the IQ80310.
 1.3 07-Nov-2001  thorpej Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
 1.2 04-Nov-2001  thorpej Don't require the IQ80310 option. Made possible by files.<board>.
 1.1 04-Nov-2001  thorpej Move board-specific config definitions into files.<board>, allowing
each board type to have its own device namespace.
 1.4.6.5 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.6.4 16-Mar-2002  jdolecek Catch up with -current.
 1.4.6.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.4.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.6.1 09-Nov-2001  thorpej file files.iq80310 was added on branch kqueue on 2002-01-10 19:42:01 +0000
 1.4.4.4 18-Oct-2002  nathanw Catch up to -current.
 1.4.4.3 17-Apr-2002  nathanw Catch up to -current.
 1.4.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.4.4.1 09-Nov-2001  nathanw file files.iq80310 was added on branch nathanw_sa on 2002-02-28 04:09:08 +0000
 1.4.2.2 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.4.2.1 09-Nov-2001  thorpej file files.iq80310 was added on branch thorpej-mips-cache on 2001-11-12 21:16:49 +0000
 1.11.86.1 08-Dec-2007  mjf Sync with HEAD.
 1.11.80.1 09-Jan-2008  matt sync with HEAD
 1.11.78.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.11.76.1 26-Dec-2007  rjs Sync with HEAD.
 1.11.60.1 03-Dec-2007  ad Sync with HEAD.
 1.11.18.1 07-Dec-2007  yamt sync with head
 1.9 23-Jan-2013  skrll Remove old and never used evbarm/initarm_common. Please use
arm32/arm32_boot.c:initarm_common
 1.8 03-Dec-2007  ad branches: 1.8.52; 1.8.62;
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.7 16-Jun-2003  thorpej branches: 1.7.18; 1.7.60; 1.7.76; 1.7.78; 1.7.80; 1.7.86;
Give every obio implementation a size and width locator.
 1.6 15-Jun-2003  thorpej Add an optional "width" locator to the obio bus, specifying the
bus width of the device.
 1.5 19-Apr-2003  scw Don't use ARM32_NEW_VM_LAYOUT or initarm_common() for now. It's not
quite ready for prime-time on evbarm.
 1.4 18-Apr-2003  scw Add support for ARM32_PMAP_NEW and ARM32_NEW_VM_LAYOUT to the iq80321 port.
 1.3 03-Oct-2002  thorpej Use indirect configuration for on-board devices (i.e. those things
attached to "obio") on the IQ80310 and IQ80321. It makes more sense
to do it this way for this type of system (the goal being to encapsulate
as much information about the board as possible into one file).
 1.2 12-Apr-2002  thorpej branches: 1.2.6;
Use the bus_space_generic bus space ops.
 1.1 27-Mar-2002  thorpej branches: 1.1.2;
Support for the Intel IQ80321 eval board for the i80321 I/O Processor.
 1.1.2.4 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.3 17-Apr-2002  nathanw Catch up to -current.
 1.1.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.1 27-Mar-2002  nathanw file files.iq80321 was added on branch nathanw_sa on 2002-04-01 07:39:45 +0000
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 12-Apr-2002  jdolecek file files.iq80321 was added on branch kqueue on 2002-06-23 17:35:38 +0000
 1.7.86.1 08-Dec-2007  mjf Sync with HEAD.
 1.7.80.1 09-Jan-2008  matt sync with HEAD
 1.7.78.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.7.76.1 26-Dec-2007  rjs Sync with HEAD.
 1.7.60.1 03-Dec-2007  ad Sync with HEAD.
 1.7.18.1 07-Dec-2007  yamt sync with head
 1.8.62.1 25-Feb-2013  tls resync with head
 1.8.52.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 07-Aug-2022  andvar s/networkproccesor/network processor/
 1.9 23-Jan-2013  skrll Remove old and never used evbarm/initarm_common. Please use
arm32/arm32_boot.c:initarm_common
 1.8 17-Mar-2008  kiyohara branches: 1.8.38; 1.8.48;
Clean up for includes of board independent driver.
 1.7 03-Dec-2007  ad branches: 1.7.10; 1.7.14;
Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.6 11-Dec-2005  christos branches: 1.6.30; 1.6.46; 1.6.48; 1.6.50; 1.6.56;
merge ktrace-lwp.
 1.5 08-Oct-2003  scw branches: 1.5.16;
Make it easier to support different types of IXP425 board:

- Move board-specific PCI/GPIO initialisation to its rightful place.

- Handle clearing down latched GPIO interrupts in a board-independent way.

- Use MI com(4) driver for on-chip UARTs.

- Misc. tidying up.

Tested on IXDP425.
 1.4 25-Sep-2003  ichiro pci bus support
 1.3 31-May-2003  ichiro branches: 1.3.2;
led support for IXDP425/ZAO425
 1.2 24-May-2003  ichiro add IXDP425 PCI interrupt
fix some typo
 1.1 23-May-2003  ichiro support IXP425 Intel Network Processor
running on BigEndian
 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.16.2 24-Mar-2008  yamt sync with head.
 1.5.16.1 07-Dec-2007  yamt sync with head
 1.6.56.1 08-Dec-2007  mjf Sync with HEAD.
 1.6.50.2 23-Mar-2008  matt sync with HEAD
 1.6.50.1 09-Jan-2008  matt sync with HEAD
 1.6.48.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.6.46.1 26-Dec-2007  rjs Sync with HEAD.
 1.6.30.1 03-Dec-2007  ad Sync with HEAD.
 1.7.14.1 03-Apr-2008  mjf Sync with HEAD.
 1.7.10.1 24-Mar-2008  keiichi sync with head.
 1.8.48.1 25-Feb-2013  tls resync with head
 1.8.38.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 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.4 05-May-2003  igy branches: 1.4.18; 1.4.60; 1.4.76; 1.4.78; 1.4.80; 1.4.86;
code cleanup
 1.3 20-Jul-2002  ichiro branches: 1.3.2; 1.3.4; 1.3.6;
attach/match separated from ixp12x0_com
Some bug of com driver have been improved.
 1.2 15-Jul-2002  ichiro delete unneed file
 1.1 15-Jul-2002  ichiro add support ixp12x0 eva-board "IXM1200"
 1.3.6.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.3.6.1 20-Jul-2002  jdolecek file files.ixm1200 was added on branch kqueue on 2002-09-06 08:33:59 +0000
 1.3.4.2 01-Aug-2002  nathanw Catch up to -current.
 1.3.4.1 20-Jul-2002  nathanw file files.ixm1200 was added on branch nathanw_sa on 2002-08-01 02:41:32 +0000
 1.3.2.2 21-Jul-2002  gehenna catch up with -current.
 1.3.2.1 20-Jul-2002  gehenna file files.ixm1200 was added on branch gehenna-devsw on 2002-07-21 13:00:34 +0000
 1.4.86.1 08-Dec-2007  mjf Sync with HEAD.
 1.4.80.1 09-Jan-2008  matt sync with HEAD
 1.4.78.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.4.76.1 26-Dec-2007  rjs Sync with HEAD.
 1.4.60.1 03-Dec-2007  ad Sync with HEAD.
 1.4.18.1 07-Dec-2007  yamt sync with head
 1.1 14-Feb-2019  macallan branches: 1.1.4;
move arch/iyonix into evbarm - it's got less machine specific code than most
evbarm/*...
does not quite work yet, but I don't want it to accumulate more differences
to what's in arch/iyonix
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 14-Feb-2019  christos file files.iyonix was added on branch phil-wifi on 2019-06-10 22:06:05 +0000
 1.3 19-Mar-2018  ryo move "defparam opt_machdep.h BOOT_ARGS" to files.evbarm from various places
 1.2 07-May-2015  hkenken branches: 1.2.16;
use armv7_generic_space
 1.1 25-Jul-2014  hkenken branches: 1.1.2; 1.1.6; 1.1.8;
Initial commit of support for Kobo touch. (i.MX507 or i.MX508)
(http://www.kobo.com)
 1.1.8.1 06-Jun-2015  skrll Sync with HEAD
 1.1.6.3 03-Dec-2017  jdolecek update from HEAD
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 25-Jul-2014  tls file files.kobo was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 25-Jul-2014  tls file files.kobo was added on branch tls-earlyentropy on 2014-08-10 06:53:55 +0000
 1.2.16.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.7 17-Mar-2008  kiyohara Clean up for includes of board independent driver.
 1.6 11-Dec-2005  christos branches: 1.6.50; 1.6.70; 1.6.74;
merge ktrace-lwp.
 1.5 13-Mar-2004  bjh21 branches: 1.5.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.4 09-Aug-2003  bsh add following drivers for Intel Lubbock.
LCD
on-board SA-1111 companion chip
PCMCIA/CF slots
 1.3 08-Aug-2003  bsh add lubbock_pcic.c
 1.2 16-Jun-2003  thorpej branches: 1.2.2;
Give every obio implementation a size and width locator.
 1.1 18-Dec-2002  bsh branches: 1.1.2;
config staff for Lubbock
 1.1.2.2 19-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 18-Dec-2002  thorpej file files.lubbock was added on branch nathanw_sa on 2002-12-19 00:31:38 +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.5.16.1 24-Mar-2008  yamt sync with head.
 1.6.74.1 03-Apr-2008  mjf Sync with HEAD.
 1.6.70.1 24-Mar-2008  keiichi sync with head.
 1.6.50.1 23-Mar-2008  matt sync with HEAD
 1.5 18-Mar-2014  matt Move defparam opt_mvsoc.h to more appropriate place.
 1.4 15-Mar-2014  kiyohara Support options MVSOC_INTERREGS_PBASE for *old* Armada {XP,370} machines.
 1.3 05-Oct-2013  kiyohara Add defparam MVSOC_FIXUP_DEVID to opt_mvsoc.h.
 1.2 01-Sep-2012  matt Switch beagle and marvell to use the new boot/init code.
 1.1 02-Oct-2010  kiyohara branches: 1.1.2; 1.1.4; 1.1.10; 1.1.14;
Add support Marvell Sheevaplug.
Add some NAS on Marvell SoC.
 1.1.14.1 30-Oct-2012  yamt sync with head
 1.1.10.2 05-Mar-2011  rmind sync with head
 1.1.10.1 02-Oct-2010  rmind file files.marvell was added on branch rmind-uvmplock on 2011-03-05 20:50:04 +0000
 1.1.4.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.1.4.1 02-Oct-2010  uebayasi file files.marvell was added on branch uebayasi-xip on 2010-10-22 07:21:15 +0000
 1.1.2.2 09-Oct-2010  yamt sync with head
 1.1.2.1 02-Oct-2010  yamt file files.marvell was added on branch yamt-nfs-mp on 2010-10-09 03:31:43 +0000
 1.2 08-May-2019  isaki Merge isaki-audio2 branch, the overhaul of audio subsystem.
- Interrupt-oriented system rather than thread-oriented.
- Improve stability, quality and performance.
- Split playback and record cleanly. Improve halfduplex support.
- Many bugs are fixed including deadlocks, resource leaks, abuses, etc.
- Simplify audio filter mechanism. The encoding/channels/frequency
conversions are completely handled in the upper layer. So the hard-
ware driver only converts its hardware encoding (if necessary).
- audio_hw_if changes:
- Obsoletes query_encoding and add query_format instead.
- Obsoletes set_params and add set_format instead.
- Remove drain, setfd, mappage.
- The call sequences are changed.
- ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted.
- ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced.
- cleanup config attributes: au*conv and mulaw.
- All hardware drivers should follow it (I've done as much as possible).

Some file paths are changed:
- dev/audio.c -> dev/audio/audio.c (rewritten)
- dev/audiovar.h -> dev/audio/audiovar.h
- dev/audio_dai.h -> dev/audio/audio_dai.h
- dev/audio_if.h -> dev/audio/audio_if.h
- dev/audiobell.c -> dev/audio/audiobell.c
- dev/audiobellvar.h -> dev/audio/audiobellvar.h
- dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
 1.1 30-Jan-2012  nisimura branches: 1.1.4; 1.1.6; 1.1.52; 1.1.54;

Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.1.54.1 05-May-2019  isaki Remove obsoleted au{,rate,vol}conv and mulaw attributes.
audio provides the equivalent of them inseparably.
 1.1.52.1 10-Jun-2019  christos Sync with HEAD
 1.1.6.2 17-Apr-2012  yamt sync with head
 1.1.6.1 30-Jan-2012  yamt file files.mini2440 was added on branch yamt-pagecache on 2012-04-17 00:06:13 +0000
 1.1.4.2 18-Feb-2012  mrg merge to -current.
 1.1.4.1 30-Jan-2012  mrg file files.mini2440 was added on branch jmcneill-usbmp on 2012-02-18 07:31:50 +0000
 1.1 04-Nov-2011  aymeric branches: 1.1.2;
preliminary support for the Propox MMnet1002 board
http://www.propox.com/products/t_232.html
 1.1.2.2 10-Nov-2011  yamt sync with head
 1.1.2.1 04-Nov-2011  yamt file files.mmnet was added on branch yamt-pagecache on 2011-11-10 14:31:39 +0000
 1.2 03-Jul-2008  matt branches: 1.2.4;
Add AT91 support. (XXX need to finish timecounter support).
 1.1 10-Nov-2007  matt branches: 1.1.2; 1.1.16; 1.1.20; 1.1.22;
file files.mpcsa was initially added on branch matt-nb4-arm.
 1.1.22.1 03-Jul-2008  simonb Sync with head.
 1.1.20.1 04-May-2009  yamt sync with head.
 1.1.16.1 28-Sep-2008  mjf Sync with HEAD.
 1.1.2.1 10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.2.4.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.2.4.1 03-Jul-2008  wrstuden file files.mpcsa was added on branch wrstuden-revivesa on 2008-09-18 04:33:24 +0000
 1.1 13-Dec-2017  matt branches: 1.1.2;
file files.mtkatlas was initially added on branch matt-nb8-mediatek.
 1.1.2.1 13-Dec-2017  matt Add Mediatek ATLAS configury
 1.8 29-Oct-2022  jmcneill Retire arch/evbarm/beagle.

A few more kernel configs go away:

- OMAP5EVM and PANDABOARD likely never worked to begin with.
- N900 and VTC100 are TI AM335x based, which is supported by GENERIC.
 1.7 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.6 19-Mar-2018  ryo branches: 1.6.2;
move "defparam opt_machdep.h BOOT_ARGS" to files.evbarm from various places
 1.5 06-May-2013  khorben branches: 1.5.4; 1.5.12; 1.5.38;
Added two drivers for the Nokia N900 smartphone, n900_audjck(4) and
n900_prxmty(4), to detect the insertion of audio jacks and obstruction of
the front light sensor, respectively.

Tested on my own device.
 1.4 20-Apr-2013  khorben Imported the n900cambtn(4), n900camcvr(4) and n900kbdsld(4) drivers for the
Nokia N900, all attaching to the GPIO bus, respectively handling:
- the camera button (focus and capture)
- the camera cover slide;
- the keypad slide.
 1.3 17-Apr-2013  khorben Imported n900lckbtn(4), a driver for the lock button on the Nokia N900
smartphone. Currently reporting events via a hotkey, named after the driver
instance.

Tasted and approved.
 1.2 14-Apr-2013  khorben Imported n900acad(4), a driver for the Nokia N900 reporting the charging
status through sysmon_envsys(9).

XXX need a better way to locate the interrupt (documented)
 1.1 14-Apr-2013  khorben Use a separate file to track the drivers specific to the Nokia N900, which
will likely support quite a few soon.
 1.5.38.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.5.38.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.5.12.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.5.12.1 06-May-2013  yamt file files.n900 was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.5.4.2 23-Jun-2013  tls resync from head
 1.5.4.1 06-May-2013  tls file files.n900 was added on branch tls-maxphys on 2013-06-23 06:20:04 +0000
 1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.11 19-Mar-2018  ryo move "defparam opt_machdep.h BOOT_ARGS" to files.evbarm from various places
 1.10 21-Dec-2015  hkenken branches: 1.10.16;
Rewritten to take advantage of genfb(4).
 1.9 07-May-2015  hkenken use armv7_generic_space
 1.8 06-May-2014  hkenken branches: 1.8.4;
Add needs-flag to netwalker_backlight.
 1.7 06-May-2014  hkenken Add support for LCD Backlight control on NetWalker.
+ use imxpwm driver (PWM control driver for i.MX)
 1.6 06-May-2014  hkenken Imported pwrbtn and lidsw drivers for NetWalker. Those attached to GPIO bus.
+ power button
+ lid close switch
 1.5 29-Mar-2014  hkenken branches: 1.5.2;
Add optical joystick support for NetWalker.
+ OJ6SH-T25 (Sharp "Optical TOUCH CRUISER" sensor)
+ 2 Mouse buttons (GPIO)
 1.4 24-Jan-2014  hkenken use initarm_common()
 1.3 17-Apr-2012  bsh branches: 1.3.2; 1.3.4;
Support i.MX51's LCD framebuffer on Netwalker.
from Kenichi Hashimoto.
 1.2 30-Nov-2010  bsh branches: 1.2.6; 1.2.10; 1.2.14;
Support USB on NetWalker.
 1.1 13-Nov-2010  bsh branches: 1.1.2;
Sharp NetWalker PC-Z1 support by SHIMIZU Ryo, Hashimoto Kenichi, and me.
http://www.sharp.co.jp/netwalker/
 1.1.2.2 15-Nov-2010  uebayasi Sync with HEAD.
 1.1.2.1 13-Nov-2010  uebayasi file files.netwalker was added on branch uebayasi-xip on 2010-11-15 14:38:23 +0000
 1.2.14.1 29-Apr-2012  mrg sync to latest -current.
 1.2.10.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.2.10.1 23-May-2012  yamt sync with head.
 1.2.6.2 05-Mar-2011  rmind sync with head
 1.2.6.1 30-Nov-2010  rmind file files.netwalker was added on branch rmind-uvmplock on 2011-03-05 20:50:04 +0000
 1.3.4.1 18-May-2014  rmind sync with head
 1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.3.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.2.1 10-Aug-2014  tls Rebase.
 1.8.4.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.8.4.1 06-Jun-2015  skrll Sync with HEAD
 1.10.16.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.4 23-May-2020  skrll imx6 kernels are part of GENERIC now
 1.3 19-Mar-2018  ryo move "defparam opt_machdep.h BOOT_ARGS" to files.evbarm from various places
 1.2 30-Jul-2015  ryo branches: 1.2.16; 1.2.18;
- setup iomux before attach console
- define EVBARM_BOARDTYPE in each config file
- add iomux settings for UART1
- add some iomux definitions
 1.1 25-Sep-2014  ryo branches: 1.1.2;
add support i.MX6 and NITROGEN6X evaluation board
 1.1.2.1 22-Sep-2015  skrll Sync with HEAD
 1.2.18.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.2.16.2 03-Dec-2017  jdolecek update from HEAD
 1.2.16.1 30-Jul-2015  jdolecek file files.nitrogen6 was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.3 23-Jan-2013  skrll Remove old and never used evbarm/initarm_common. Please use
arm32/arm32_boot.c:initarm_common
 1.2 03-Dec-2007  ad branches: 1.2.52; 1.2.62;
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 22-Dec-2005  briggs branches: 1.1.18; 1.1.32; 1.1.48; 1.1.50; 1.1.52; 1.1.58;
Add files that have been sitting in my local source tree for almost exactly
two years. Unable to test since I no longer have access to the hardware.
 1.1.58.1 08-Dec-2007  mjf Sync with HEAD.
 1.1.52.1 09-Jan-2008  matt sync with HEAD
 1.1.50.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.1.48.1 26-Dec-2007  rjs Sync with HEAD.
 1.1.32.1 03-Dec-2007  ad Sync with HEAD.
 1.1.18.3 07-Dec-2007  yamt sync with head
 1.1.18.2 21-Jun-2006  yamt sync with head.
 1.1.18.1 22-Dec-2005  yamt file files.npwr_fc was added on branch yamt-lazymbuf on 2006-06-21 14:50:33 +0000
 1.2.62.1 25-Feb-2013  tls resync with head
 1.2.52.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.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 25-Oct-2007  imp branches: 1.2.2;
It is $NetBSD$ not $NetBSD%. Correct this typo.
 1.1 28-Feb-2006  scw branches: 1.1.2; 1.1.10; 1.1.16; 1.1.22; 1.1.32; 1.1.48; 1.1.50; 1.1.52; 1.1.56;
A port of NetBSD to the Linksys NSLU2 (a.k.a. "Slug").

The NSLU2 (Network Storage Link for USB 2.0 Disk Drives) is a small, *cheap*
NAS device consisting of an Intel IXP420 (Xscale) CPU, a 10/100mbit Ethernet
port, and two USB 2.0 ports. It has 32MB of SDRAM and 8MB of Flash memory,
and runs RedBoot/Linux out of the box. Now it can also run NetBSD.
 1.1.56.1 13-Nov-2007  bouyer Sync with HEAD
 1.1.52.2 09-Jan-2008  matt sync with HEAD
 1.1.52.1 06-Nov-2007  matt sync with HEAD
 1.1.50.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.1.50.1 28-Oct-2007  joerg Sync with HEAD.
 1.1.48.2 26-Dec-2007  rjs Sync with HEAD.
 1.1.48.1 01-Nov-2007  rjs Sync with HEAD.
 1.1.32.1 03-Dec-2007  ad Sync with HEAD.
 1.1.22.2 09-Sep-2006  rpaulo sync with head
 1.1.22.1 28-Feb-2006  rpaulo file files.nslu2 was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:40 +0000
 1.1.16.4 07-Dec-2007  yamt sync with head
 1.1.16.3 27-Oct-2007  yamt sync with head.
 1.1.16.2 21-Jun-2006  yamt sync with head.
 1.1.16.1 28-Feb-2006  yamt file files.nslu2 was added on branch yamt-lazymbuf on 2006-06-21 14:50:33 +0000
 1.1.10.2 22-Apr-2006  simonb Sync with head.
 1.1.10.1 28-Feb-2006  simonb file files.nslu2 was added on branch simonb-timecounters on 2006-04-22 11:37:22 +0000
 1.1.2.2 01-Mar-2006  yamt sync with head.
 1.1.2.1 28-Feb-2006  yamt file files.nslu2 was added on branch yamt-uio_vmspace on 2006-03-01 09:27:46 +0000
 1.2.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.2 15-Dec-2015  marty EXYNOS - change ODROID-XU4 to EXYNOS

EXYNOS will be a generic fdt kernel, so signify that with the name change,
as requested by Nick.
 1.1 13-Apr-2014  matt branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10; 1.1.12;
Add initial support for the ODROID-XU and ODROID-U3.
Still a work in progress. Started by nick and reinoud.
 1.1.12.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 13-Apr-2014  tls file files.odroid was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.1.6.2 10-Aug-2014  tls Rebase.
 1.1.6.1 13-Apr-2014  tls file files.odroid was added on branch tls-earlyentropy on 2014-08-10 06:53:55 +0000
 1.1.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 13-Apr-2014  yamt file files.odroid was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.1.2.2 18-May-2014  rmind sync with head
 1.1.2.1 13-Apr-2014  rmind file files.odroid was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.3 29-Oct-2022  jmcneill Remove support for TI OMAP 5912 OSK board.

This is part of the arch/arm/omap removal.
 1.2 19-Mar-2018  ryo move "defparam opt_machdep.h BOOT_ARGS" to files.evbarm from various places
 1.1 06-Jan-2007  christos branches: 1.1.2; 1.1.6; 1.1.8; 1.1.140;
New files from Bucky Katz
 1.1.140.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.1.8.2 26-Feb-2007  yamt sync with head.
 1.1.8.1 06-Jan-2007  yamt file files.osk5912 was added on branch yamt-lazymbuf on 2007-02-26 09:06:17 +0000
 1.1.6.2 24-Feb-2007  snj Pull up following revision(s) (requested by matt in ticket #457):
sys/arch/evbarm/conf/OSK5912: revision 1.1
sys/arch/evbarm/osk5912/if_sm_emifs.c: revision 1.1
sys/arch/evbarm/conf/std.osk5912: revision 1.1
sys/arch/evbarm/osk5912/osk5912_machdep.c: revision 1.1
sys/arch/evbarm/conf/mk.osk5912: revision 1.1
sys/arch/evbarm/conf/files.osk5912: revision 1.1
New files from Bucky Katz
 1.1.6.1 06-Jan-2007  snj file files.osk5912 was added on branch netbsd-4 on 2007-02-24 19:03:14 +0000
 1.1.2.2 12-Jan-2007  ad Sync with head.
 1.1.2.1 06-Jan-2007  ad file files.osk5912 was added on branch newlock2 on 2007-01-12 01:00:46 +0000
 1.6 29-Oct-2022  jmcneill Remove support for OMAP based Gumstix platforms.

These changes are to prepare for the removal of arch/arm/omap. Support
for Xscale based Gumstix platforms remains.

(If someone wants to resurrect DuoVero and Pepper platforms, it's best
to do that in the GENERIC kernel using FDT.)
 1.5 23-May-2014  kiyohara Call arm32_*_init() and initarm_common().
OVERO work fine. GUMSTIX build only now.
 1.4 06-Mar-2011  jakllsch branches: 1.4.14; 1.4.28;
Remove trailing spaces.
 1.3 28-Aug-2010  kiyohara branches: 1.3.2; 1.3.6;
Support smsh@gpmc.
tested Chestnut43 only.
 1.2 10-Jul-2010  kiyohara branches: 1.2.2; 1.2.4;
Remove not exists file.
 1.1 10-Jul-2010  kiyohara Support Overo (Gumstix inc).
+ This commit supports basically.
+ Expansion boards not support yet. And MicroSD, Wifi, Bluetooth too.
 1.2.4.3 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.2.4.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.2.4.1 10-Jul-2010  uebayasi file files.overo was added on branch uebayasi-xip on 2010-08-17 06:44:16 +0000
 1.2.2.3 09-Oct-2010  yamt sync with head
 1.2.2.2 11-Aug-2010  yamt sync with head.
 1.2.2.1 10-Jul-2010  yamt file files.overo was added on branch yamt-nfs-mp on 2010-08-11 22:51:51 +0000
 1.3.6.3 21-Apr-2011  rmind sync with head
 1.3.6.2 05-Mar-2011  rmind sync with head
 1.3.6.1 28-Aug-2010  rmind file files.overo was added on branch rmind-uvmplock on 2011-03-05 20:50:04 +0000
 1.3.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.4.28.1 10-Aug-2014  tls Rebase.
 1.4.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2 28-Oct-2022  jmcneill Retire PARALLELLA and ZEDBOARD kernel configs.

The Zynq-7000 port has been converted to Devicetree and is supported
by the GENERIC kernel now.
 1.1 23-Jan-2015  hkenken branches: 1.1.2; 1.1.4; 1.1.20;
Initial Zynq (Xilinx) support
Add support for ZedBoard evaluation board and Parallella board.
* cemac(4) Cadence EMAC/GEM(Gigabit) Ethernet Controller driver
based on at91emac
 1.1.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.20.1 23-Jan-2015  jdolecek file files.parallella was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.4.2 11-May-2015  msaitoh Pull up following revision(s) (requested by nonaka in ticket #751):
sys/arch/arm/zynq/zynq_axi.c: revision 1.1
sys/arch/evbarm/conf/files.zynq: revision 1.1
sys/arch/arm/zynq/zynq_uart.c: revision 1.1
sys/arch/evbarm/zynq/genassym.cf: revision 1.1
sys/arch/evbarm/zynq/zynq_start.S: revision 1.1
sys/arch/arm/zynq/zynq_slcrreg.h: revision 1.1
sys/arch/arm/zynq/zynq_usbreg.h: revision 1.1
sys/arch/arm/zynq/zynq7000_uart.c: revision 1.1
sys/arch/arm/zynq/zynq7000_sdhc.c: revision 1.1
sys/arch/arm/zynq/zynq_slcrvar.h: revision 1.1
sys/arch/arm/zynq/zynq_usbvar.h: revision 1.1
sys/arch/evbarm/conf/PARALLELLA_INSTALL: revision 1.1
sys/arch/arm/zynq/zynq_uartreg.h: revision 1.1
sys/arch/evbarm/zynq/platform.h: revision 1.1
sys/arch/evbarm/conf/mk.zynq: revision 1.1
sys/arch/evbarm/conf/files.zedboard: revision 1.1
sys/arch/arm/zynq/zynq7000_usb.c: revision 1.1
sys/dev/cadence/if_cemacvar.h: revision 1.1
sys/arch/arm/zynq/files.zynq: revision 1.1
sys/arch/arm/zynq/zynq_slcr.c: revision 1.1
sys/arch/arm/zynq/zynq7000_intr.h: revision 1.1
sys/arch/arm/conf/majors.arm32: revision 1.36
sys/arch/arm/zynq/zynq_uartvar.h: revision 1.1
sys/arch/evbarm/conf/files.parallella: revision 1.1
sys/arch/arm/zynq/zynq_space.c: revision 1.1
sys/dev/cadence/if_cemac.c: revision 1.1
sys/arch/evbarm/conf/PARALLELLA: revision 1.1
sys/arch/arm/zynq/zynq7000_board.c: revision 1.1
sys/arch/evbarm/Makefile: revision 1.10
sys/arch/evbarm/zynq/zynq_machdep.c: revision 1.1
sys/arch/arm/zynq/zynq7000_reg.h: revision 1.1
sys/arch/evbarm/conf/ZEDBOARD: revision 1.1
sys/dev/cadence/cemacreg.h: revision 1.1
sys/arch/evbarm/conf/std.zynq: revision 1.1
sys/arch/arm/zynq/zynq_dma.c: revision 1.1
sys/arch/arm/zynq/zynq_cemac.c: revision 1.1
sys/arch/arm/zynq/zynq7000_var.h: revision 1.1
sys/arch/evbarm/conf/ZEDBOARD_INSTALL: revision 1.1
sys/arch/arm/zynq/zynq_usb.c: revision 1.1
Initial Zynq (Xilinx) support
Add support for ZedBoard evaluation board and Parallella board.
* cemac(4) Cadence EMAC/GEM(Gigabit) Ethernet Controller driver
based on at91emac
 1.1.4.1 23-Jan-2015  msaitoh file files.parallella was added on branch netbsd-7 on 2015-05-11 11:00:33 +0000
 1.1.2.2 06-Apr-2015  skrll Sync with HEAD
 1.1.2.1 23-Jan-2015  skrll file files.parallella was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.2 08-Feb-2018  jmcneill Move Rockchip port to the attic. It is not very useful.
 1.1 26-Dec-2014  jmcneill branches: 1.1.2; 1.1.18;
Initial support for Rockchip RK3066 / RK3188 SoCs, from Hiroshi Tokuda
<tokuda@tokuda.net> on port-arm:

http://mail-index.netbsd.org/port-arm/2014/10/09/msg002651.html
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 26-Dec-2014  jdolecek file files.rockchip was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.2.2 06-Apr-2015  skrll Sync with HEAD
 1.1.2.1 26-Dec-2014  skrll file files.rockchip was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.12 20-Feb-2020  rin Pull in arm_generic_dma.c to RPI kernel for arm_generic_dma_tag, which is
required by fdt_dma_machdep.c.
 1.11 18-Oct-2018  skrll branches: 1.11.6;
Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.10 01-Apr-2018  ryo branches: 1.10.2;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.9 10-Dec-2017  skrll branches: 1.9.2;
FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.

The kernel image that the RPI firmware boots is now netbsd.img in the
kernel build directory.

XXX fdtbus_get_reg needs reworking
 1.8 20-May-2016  christos gcc can't compute the large initializer in rpi_release_mem,
so disable stack protector.
 1.7 03-Oct-2014  skrll branches: 1.7.2;
Introduce RPI_HWCURSOR and default to off. The existing code causes
problems with vchiq at the moment.
 1.6 30-Sep-2014  macallan add vcprop_subr.c, should have went with previous commit :/
 1.5 25-Jul-2014  jmcneill bump VCPROP_MAXCMDLINE to 1024, use this instead of MAX_BOOT_STRING for sizing boot_args, and allow for overriding VCPROP_MAXCMDLINE in kernel config. Fixes cmdline parsing with newer firmware (required for B+)
 1.4 05-Sep-2013  skrll branches: 1.4.2;
Whitespace
 1.3 07-Jan-2013  jmcneill branches: 1.3.2;
add support for rpi temperature sensor
 1.2 01-Sep-2012  skrll branches: 1.2.2; 1.2.4;
Switch RaspberryPI to use the new boot/init code.
 1.1 26-Jul-2012  skrll branches: 1.1.2;
Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.
 1.1.2.3 13-Feb-2013  riz Pull up following revision(s) (requested by skrll in ticket #813):

etc/MAKEDEV.tmpl 1.160
etc/etc.evbarm/MAKEDEV.conf 1.9
external/broadcom/rpi-firmware/dist/LICENCE.broadcom 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.2
external/broadcom/rpi-firmware/dist/fixup.dat 1.1
external/broadcom/rpi-firmware/dist/fixup.dat 1.2
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.1
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.2
external/broadcom/rpi-firmware/dist/start.elf 1.1
external/broadcom/rpi-firmware/dist/start.elf 1.2
external/broadcom/rpi-firmware/dist/start_cd.elf 1.1
external/broadcom/rpi-firmware/dist/start_cd.elf 1.2
sys/arch/arm/broadcom/bcm2835_bsc.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_bscreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_dotg.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_emmc.c 1.7 via patch
sys/arch/arm/broadcom/bcm2835_genfb.c 1.4 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_gpioreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_intr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_mbox.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_mbox.h 1.4 via patch
sys/arch/arm/broadcom/bcm2835_obio.c 1.17 via patch
sys/arch/arm/broadcom/bcm2835_pm.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_rng.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_space.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_spi.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_spireg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_tmr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835reg.h 1.10 via patch
sys/arch/arm/broadcom/files.bcm2835 1.14 via patch
sys/arch/evbarm/conf/RPI 1.23 via patch
sys/arch/evbarm/conf/files.rpi 1.3 via patch
sys/arch/evbarm/conf/mk.rpi 1.2 via patch
sys/arch/evbarm/conf/std.rpi 1.4 via patch
sys/arch/evbarm/rpi/rpi_machdep.c 1.34 via patch
sys/arch/evbarm/rpi/rpi_start.S 1.7 via patch
sys/arch/evbarm/rpi/rpi_vcmbox.c 1.2 via patch
sys/arch/evbarm/rpi/vcio.h 1.1 via patch
sys/arch/evbarm/rpi/vcprop.h 1.7 via patch
sys/conf/files patch
sys/dev/sdmmc/sdhc.c 1.43
sys/dev/sdmmc/sdhcvar.h 1.13
sys/dev/usb/dwc_otg.c 1.45 via patch
sys/dev/usb/dwc_otgreg.h 1.5 via patch
sys/dev/usb/dwc_otgvar.h 1.11 via patch
sys/dev/usb/files.usb 1.126 via patch
sys/dev/usb/if_smsc.c 1.7 via patch
sys/dev/usb/if_smscreg.h 1.1 via patch
sys/dev/usb/if_smscvar.h 1.1 via patch
sys/dev/usb/usbdevices.config patch
sys/dev/usb/usbdevs 1.633 via patch
sys/dev/usb/usbdevs.h regen
sys/dev/usb/usbdevs_data.h regen
sys/dev/wscons/wsconsio.h 1.105,1.107 via patch
sys/dev/wscons/wsdisplayvar.h 1.50
sys/dev/wscons/wsdisplay_util.c 1.2
sys/dev/videomode/edid.c 1.12 via patch

Greatly improved Raspberry Pi support. USB and onboard
Ethernet should work.
[skrll, ticket #813]
 1.1.2.2 09-Aug-2012  jdc Pull up revisions:
src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4
src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65
src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40
src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14
src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11
src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2
src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108
src/sys/arch/arm/arm32/cpu.c revision 1.79
src/sys/arch/arm/include/armreg.h revisions 1.49,1.54
src/sys/arch/arm/arm32/pmap.c revision 1.229
src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77
src/sys/arch/arm/include/cpu.h revision 1.64
src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3
src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1
src/sys/arch/arm/conf/files.arm revision 1.106
src/sys/arch/arm/include/cpufunc.h revision 1.57
src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24
src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8
src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4
src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69
src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1
src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1
src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1
src/sys/arch/evbarm/Makefile revision 1.9
src/sys/arch/evbarm/conf/RPI revision 1.1
src/sys/arch/evbarm/conf/files.rpi revision 1.1
src/sys/arch/evbarm/conf/mk.rpi revision 1.1
src/sys/arch/evbarm/conf/std.rpi revision 1.1
src/sys/arch/evbarm/rpi/genassym.cf revision 1.1
src/sys/arch/evbarm/rpi/rpi.h revision 1.1
src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1
src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2
src/etc/etc.evbarm/Makefile.inc revision 1.28
(requested by skrll in ticket #454).

don't mix #define<TAB> and #define<SPACE> in a file.

avoid warning with options PLCOM_DEBUG for INTEGRATOR.

Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.

Replace the simple_lock with a kmutex_t. Update the locking to match
com(4) in the few places it didn't already.

DOH. Replace a line that got accidently deleted in the last commit.

device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t

Add the 'Z' to the 1176 cpu product name.

ok matt@

Fix locking botch introduced in 1.36.

Fix a KASSERT. From/OK'ed by matt@

Fix racy softint dispatch that lead to KASSERT(si->si_active) in
softint_execute

Discussed with matt@. "Looks good to me"

Add the documented ARM11[37]6 Auxiliary control register defines.

Add support for the ARM1176JZS

Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).

Provide a method for attachments to specify capabilites.

Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.

Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.

Add RPI to KERNEL_SETS

Remove #if 0 code.
 1.1.2.1 26-Jul-2012  jdc file files.rpi was added on branch netbsd-6 on 2012-08-09 06:36:43 +0000
 1.2.4.4 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.4.3 23-Jan-2013  yamt sync with head
 1.2.4.2 30-Oct-2012  yamt sync with head
 1.2.4.1 01-Sep-2012  yamt file files.rpi was added on branch yamt-pagecache on 2012-10-30 17:19:21 +0000
 1.2.2.3 03-Dec-2017  jdolecek update from HEAD
 1.2.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.2.1 25-Feb-2013  tls resync with head
 1.3.2.1 18-May-2014  rmind sync with head
 1.4.2.1 10-Aug-2014  tls Rebase.
 1.7.2.1 29-May-2016  skrll Sync with HEAD
 1.9.2.2 20-Oct-2018  pgoyette Sync with head
 1.9.2.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.11.6.1 29-Feb-2020  ad Sync with head.
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 14-Feb-2004  bsh branches: 1.4.4;
add drivers for LCD and keyboard.
 1.3 29-Aug-2003  bsh support CS8900A ethernet on SMDK2410.

XXX: SMDK2410 has no EEPROM connected to CS8900A. Currently the only
way to set MAC address is give it via kernel config option.
 1.2 29-Aug-2003  bsh add option SMDK2XX0_CLOCK_CONFIG to change CPU clock at kernel startup.
 1.1 31-Jul-2003  bsh the first cut for Samsung SMDK2410 support.
It is an evaluation board for S3C2410.

XXX: not tested much yet.
XXX: smdk2410_machdep.c and smdk2410_start.S are almost identical
to SMDK2800's. One day I'll merge them.
 1.4.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.4.4.2 03-Aug-2004  skrll Sync with HEAD
 1.4.4.1 14-Feb-2004  skrll file files.smdk2410 was added on branch ktrace-lwp on 2004-08-03 10:33:55 +0000
 1.1 20-Nov-2002  bsh branches: 1.1.2;
SMDK2800 is an evaluation board for Samsung S3C2800 CPU.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 20-Nov-2002  thorpej file files.smdk2800 was added on branch nathanw_sa on 2002-12-11 05:58:30 +0000
 1.4 31-Mar-2019  jmcneill Remove SUNXI kernel config.
 1.3 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.2 01-Apr-2018  ryo branches: 1.2.2;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1 28-Jun-2017  jmcneill branches: 1.1.4; 1.1.6; 1.1.8; 1.1.10;
Add initial support for Allwinner H3 SoC.
 1.1.10.2 20-Oct-2018  pgoyette Sync with head
 1.1.10.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.8.2 03-Dec-2017  jdolecek update from HEAD
 1.1.8.1 28-Jun-2017  jdolecek file files.sunxi was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.6.2 28-Aug-2017  skrll Sync with HEAD
 1.1.6.1 28-Jun-2017  skrll file files.sunxi was added on branch nick-nhusb on 2017-08-28 17:51:34 +0000
 1.1.4.2 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.1.4.1 28-Jun-2017  snj file files.sunxi was added on branch netbsd-8 on 2017-07-18 19:13:09 +0000
 1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.6 31-Mar-2019  jmcneill Remove TEGRA kernel config.
 1.5 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.4 01-Apr-2018  ryo branches: 1.4.2;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.3 30-May-2017  jmcneill branches: 1.3.8; 1.3.10;
Rename tegra_machdep.c to fdt_machdep.c now that it no longer has any
Tegra-specific code in it.
 1.2 13-Dec-2015  jmcneill Use fdt for device enumeration.
 1.1 29-Mar-2015  jmcneill branches: 1.1.2;
NVIDIA Tegra K1 support, work in progress.
 1.1.2.4 28-Aug-2017  skrll Sync with HEAD
 1.1.2.3 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.2.2 06-Apr-2015  skrll Sync with HEAD
 1.1.2.1 29-Mar-2015  skrll file files.tegra was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.3.10.2 20-Oct-2018  pgoyette Sync with head
 1.3.10.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.3.8.2 03-Dec-2017  jdolecek update from HEAD
 1.3.8.1 30-May-2017  jdolecek file files.tegra was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.3 26-Oct-2019  jmcneill Adapt ti fdt glue to support GENERIC kernel.
 1.2 21-Nov-2018  skrll branches: 1.2.4;
Make TI compile and convert TI to generic start

Compile tested only (obviously)
 1.1 26-Oct-2017  jakllsch branches: 1.1.2; 1.1.4; 1.1.6;
Initial FDT support for TI's ARM SoCs.

Currently supports only limited functionality on AM335x.
 1.1.6.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.1 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 26-Oct-2017  jdolecek file files.ti was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.2.4.1 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.5 29-Oct-2022  jmcneill Remove support for TI OMAP 2420 and 2430 eval boards.

This is part of the arch/arm/omap removal.
 1.4 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.3 19-Mar-2018  ryo branches: 1.3.2;
move "defparam opt_machdep.h BOOT_ARGS" to files.evbarm from various places
 1.2 27-Apr-2008  matt branches: 1.2.86;
Merge kernel changes in matt-armv6 to HEAD.
 1.1 29-Oct-2007  matt branches: 1.1.2; 1.1.6; 1.1.18; 1.1.20; 1.1.22;
file files.tisdp24xx was initially added on branch matt-armv6.
 1.1.22.1 16-May-2008  yamt sync with head.
 1.1.20.1 18-May-2008  yamt sync with head.
 1.1.18.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.1.6.1 29-Oct-2007  matt file files.tisdp24xx was added on branch matt-nb4-arm on 2007-11-10 02:56:55 +0000
 1.1.2.2 21-Mar-2008  matt Put CONS* in opt_com.h
 1.1.2.1 29-Oct-2007  matt Add support files TI SDP2420/SDP2430 eval board.
 1.2.86.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.2.86.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.3.2.1 10-Jun-2019  christos Sync with HEAD
 1.12 23-May-2020  jmcneill GC toastersensors driver
 1.11 17-Mar-2008  kiyohara Clean up for includes of board independent driver.
 1.10 03-Dec-2007  ad branches: 1.10.10; 1.10.14;
Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.9 11-Dec-2005  christos branches: 1.9.30; 1.9.46; 1.9.48; 1.9.50; 1.9.56;
merge ktrace-lwp.
 1.8 14-Aug-2005  joff add toastersensors device
 1.7 04-Feb-2005  joff branches: 1.7.6;
Support a wsdisplay(4) attachment on a tslcd
 1.6 31-Jan-2005  joff Add support for a 4x4 matrix keypad wskbd connected via the TS-7200 DIO header.
 1.5 09-Jan-2005  joff branches: 1.5.2; 1.5.4; 1.5.6;
Allow for pcic(9) attachments on the ISA bus
 1.4 08-Jan-2005  joff Add tslcd device
 1.3 27-Dec-2004  joff Add tsrtc to TS-7200 config
 1.2 26-Dec-2004  joff support watchdog timer on TS-7200 CPLD
 1.1 23-Dec-2004  joff build configuration metadata for TS-7200 SBC
 1.5.6.1 12-Feb-2005  yamt sync with head.
 1.5.4.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.4.3 04-Feb-2005  skrll Sync with HEAD.
 1.5.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.5.4.1 09-Jan-2005  skrll file files.tsarm was added on branch ktrace-lwp on 2005-01-17 19:29:13 +0000
 1.5.2.1 29-Apr-2005  kent sync with -current
 1.7.6.3 24-Mar-2008  yamt sync with head.
 1.7.6.2 07-Dec-2007  yamt sync with head
 1.7.6.1 21-Jun-2006  yamt sync with head.
 1.9.56.1 08-Dec-2007  mjf Sync with HEAD.
 1.9.50.2 23-Mar-2008  matt sync with HEAD
 1.9.50.1 09-Jan-2008  matt sync with HEAD
 1.9.48.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.9.46.1 26-Dec-2007  rjs Sync with HEAD.
 1.9.30.1 03-Dec-2007  ad Sync with HEAD.
 1.10.14.1 03-Apr-2008  mjf Sync with HEAD.
 1.10.10.1 24-Mar-2008  keiichi sync with head.
 1.5 20-Jan-2019  skrll G/C
 1.4 11-Aug-2018  jmcneill Fix VEXPRESS_A15 build
 1.3 02-Jun-2017  jmcneill branches: 1.3.8; 1.3.10; 1.3.12;
Switch VEXPRESS_A15 kernel to use FDT and GENERIC.common. The dtb for this
kernel can be found in the sysutils/dtb-arm-vexpress package as
vexpress-v2p-ca15-tc1.dtb
 1.2 11-Feb-2015  ozaki-r branches: 1.2.2;
Remove unexpected code duplications

I don't know why this happened...
 1.1 09-Feb-2015  slp Add support for Versatile Express A15 board.

This has not been tested with real hardware, just with the software
model emulated by QEMU.
 1.2.2.3 28-Aug-2017  skrll Sync with HEAD
 1.2.2.2 06-Apr-2015  skrll Sync with HEAD
 1.2.2.1 11-Feb-2015  skrll file files.vexpress was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.3.12.1 10-Jun-2019  christos Sync with HEAD
 1.3.10.2 26-Jan-2019  pgoyette Sync with HEAD
 1.3.10.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.3.8.2 03-Dec-2017  jdolecek update from HEAD
 1.3.8.1 02-Jun-2017  jdolecek file files.vexpress was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 06-Jun-2005  pooka branches: 1.1.8;
Add initial support for the PXA255-based Arcom Viper ARM board.
The system can boot into multiuser, but most of the peripheral
driver attachments are still missing.

Thanks go to Jan Nyman for arranging access to the hardware and to
Steve Woodford for reviewing the code.
 1.1.8.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.8.1 06-Jun-2005  skrll file files.viper was added on branch ktrace-lwp on 2005-11-10 13:55:51 +0000
 1.2 29-Oct-2022  jmcneill GC unused files.
 1.1 14-Jun-2018  jmcneill branches: 1.1.2;
Add support for QEMU ARM Virtual Machine ("virt").
 1.1.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.1.2.1 14-Jun-2018  pgoyette file files.virt was added on branch pgoyette-compat on 2018-06-25 07:25:40 +0000
 1.2 28-Oct-2022  jmcneill Retire PARALLELLA and ZEDBOARD kernel configs.

The Zynq-7000 port has been converted to Devicetree and is supported
by the GENERIC kernel now.
 1.1 23-Jan-2015  hkenken branches: 1.1.2; 1.1.4; 1.1.20;
Initial Zynq (Xilinx) support
Add support for ZedBoard evaluation board and Parallella board.
* cemac(4) Cadence EMAC/GEM(Gigabit) Ethernet Controller driver
based on at91emac
 1.1.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.20.1 23-Jan-2015  jdolecek file files.zedboard was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.4.2 11-May-2015  msaitoh Pull up following revision(s) (requested by nonaka in ticket #751):
sys/arch/arm/zynq/zynq_axi.c: revision 1.1
sys/arch/evbarm/conf/files.zynq: revision 1.1
sys/arch/arm/zynq/zynq_uart.c: revision 1.1
sys/arch/evbarm/zynq/genassym.cf: revision 1.1
sys/arch/evbarm/zynq/zynq_start.S: revision 1.1
sys/arch/arm/zynq/zynq_slcrreg.h: revision 1.1
sys/arch/arm/zynq/zynq_usbreg.h: revision 1.1
sys/arch/arm/zynq/zynq7000_uart.c: revision 1.1
sys/arch/arm/zynq/zynq7000_sdhc.c: revision 1.1
sys/arch/arm/zynq/zynq_slcrvar.h: revision 1.1
sys/arch/arm/zynq/zynq_usbvar.h: revision 1.1
sys/arch/evbarm/conf/PARALLELLA_INSTALL: revision 1.1
sys/arch/arm/zynq/zynq_uartreg.h: revision 1.1
sys/arch/evbarm/zynq/platform.h: revision 1.1
sys/arch/evbarm/conf/mk.zynq: revision 1.1
sys/arch/evbarm/conf/files.zedboard: revision 1.1
sys/arch/arm/zynq/zynq7000_usb.c: revision 1.1
sys/dev/cadence/if_cemacvar.h: revision 1.1
sys/arch/arm/zynq/files.zynq: revision 1.1
sys/arch/arm/zynq/zynq_slcr.c: revision 1.1
sys/arch/arm/zynq/zynq7000_intr.h: revision 1.1
sys/arch/arm/conf/majors.arm32: revision 1.36
sys/arch/arm/zynq/zynq_uartvar.h: revision 1.1
sys/arch/evbarm/conf/files.parallella: revision 1.1
sys/arch/arm/zynq/zynq_space.c: revision 1.1
sys/dev/cadence/if_cemac.c: revision 1.1
sys/arch/evbarm/conf/PARALLELLA: revision 1.1
sys/arch/arm/zynq/zynq7000_board.c: revision 1.1
sys/arch/evbarm/Makefile: revision 1.10
sys/arch/evbarm/zynq/zynq_machdep.c: revision 1.1
sys/arch/arm/zynq/zynq7000_reg.h: revision 1.1
sys/arch/evbarm/conf/ZEDBOARD: revision 1.1
sys/dev/cadence/cemacreg.h: revision 1.1
sys/arch/evbarm/conf/std.zynq: revision 1.1
sys/arch/arm/zynq/zynq_dma.c: revision 1.1
sys/arch/arm/zynq/zynq_cemac.c: revision 1.1
sys/arch/arm/zynq/zynq7000_var.h: revision 1.1
sys/arch/evbarm/conf/ZEDBOARD_INSTALL: revision 1.1
sys/arch/arm/zynq/zynq_usb.c: revision 1.1
Initial Zynq (Xilinx) support
Add support for ZedBoard evaluation board and Parallella board.
* cemac(4) Cadence EMAC/GEM(Gigabit) Ethernet Controller driver
based on at91emac
 1.1.4.1 23-Jan-2015  msaitoh file files.zedboard was added on branch netbsd-7 on 2015-05-11 11:00:33 +0000
 1.1.2.2 06-Apr-2015  skrll Sync with HEAD
 1.1.2.1 23-Jan-2015  skrll file files.zedboard was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.3 28-Oct-2022  jmcneill Retire PARALLELLA and ZEDBOARD kernel configs.

The Zynq-7000 port has been converted to Devicetree and is supported
by the GENERIC kernel now.
 1.2 19-Mar-2018  ryo move "defparam opt_machdep.h BOOT_ARGS" to files.evbarm from various places
 1.1 23-Jan-2015  hkenken branches: 1.1.2; 1.1.4; 1.1.20; 1.1.22;
Initial Zynq (Xilinx) support
Add support for ZedBoard evaluation board and Parallella board.
* cemac(4) Cadence EMAC/GEM(Gigabit) Ethernet Controller driver
based on at91emac
 1.1.22.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.1.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.20.1 23-Jan-2015  jdolecek file files.zynq was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.4.2 11-May-2015  msaitoh Pull up following revision(s) (requested by nonaka in ticket #751):
sys/arch/arm/zynq/zynq_axi.c: revision 1.1
sys/arch/evbarm/conf/files.zynq: revision 1.1
sys/arch/arm/zynq/zynq_uart.c: revision 1.1
sys/arch/evbarm/zynq/genassym.cf: revision 1.1
sys/arch/evbarm/zynq/zynq_start.S: revision 1.1
sys/arch/arm/zynq/zynq_slcrreg.h: revision 1.1
sys/arch/arm/zynq/zynq_usbreg.h: revision 1.1
sys/arch/arm/zynq/zynq7000_uart.c: revision 1.1
sys/arch/arm/zynq/zynq7000_sdhc.c: revision 1.1
sys/arch/arm/zynq/zynq_slcrvar.h: revision 1.1
sys/arch/arm/zynq/zynq_usbvar.h: revision 1.1
sys/arch/evbarm/conf/PARALLELLA_INSTALL: revision 1.1
sys/arch/arm/zynq/zynq_uartreg.h: revision 1.1
sys/arch/evbarm/zynq/platform.h: revision 1.1
sys/arch/evbarm/conf/mk.zynq: revision 1.1
sys/arch/evbarm/conf/files.zedboard: revision 1.1
sys/arch/arm/zynq/zynq7000_usb.c: revision 1.1
sys/dev/cadence/if_cemacvar.h: revision 1.1
sys/arch/arm/zynq/files.zynq: revision 1.1
sys/arch/arm/zynq/zynq_slcr.c: revision 1.1
sys/arch/arm/zynq/zynq7000_intr.h: revision 1.1
sys/arch/arm/conf/majors.arm32: revision 1.36
sys/arch/arm/zynq/zynq_uartvar.h: revision 1.1
sys/arch/evbarm/conf/files.parallella: revision 1.1
sys/arch/arm/zynq/zynq_space.c: revision 1.1
sys/dev/cadence/if_cemac.c: revision 1.1
sys/arch/evbarm/conf/PARALLELLA: revision 1.1
sys/arch/arm/zynq/zynq7000_board.c: revision 1.1
sys/arch/evbarm/Makefile: revision 1.10
sys/arch/evbarm/zynq/zynq_machdep.c: revision 1.1
sys/arch/arm/zynq/zynq7000_reg.h: revision 1.1
sys/arch/evbarm/conf/ZEDBOARD: revision 1.1
sys/dev/cadence/cemacreg.h: revision 1.1
sys/arch/evbarm/conf/std.zynq: revision 1.1
sys/arch/arm/zynq/zynq_dma.c: revision 1.1
sys/arch/arm/zynq/zynq_cemac.c: revision 1.1
sys/arch/arm/zynq/zynq7000_var.h: revision 1.1
sys/arch/evbarm/conf/ZEDBOARD_INSTALL: revision 1.1
sys/arch/arm/zynq/zynq_usb.c: revision 1.1
Initial Zynq (Xilinx) support
Add support for ZedBoard evaluation board and Parallella board.
* cemac(4) Cadence EMAC/GEM(Gigabit) Ethernet Controller driver
based on at91emac
 1.1.4.1 23-Jan-2015  msaitoh file files.zynq was added on branch netbsd-7 on 2015-05-11 11:00:33 +0000
 1.1.2.2 06-Apr-2015  skrll Sync with HEAD
 1.1.2.1 23-Jan-2015  skrll file files.zynq was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.15 11-Feb-2023  mlelstv Merge both SECTIONS declarations into one.
Fixes PR 57223.

cats, epoc32 and zaurus need a similar fix.
 1.14 10-Jul-2020  skrll Add support for KASAN on ARMv[67]

Thanks to maxv for many pointers and reviews.
 1.13 08-Feb-2016  skrll Preserve the .text section alignment
 1.12 23-Aug-2015  uebayasi Don't need to specify OUTPUT_FORMAT/OUTPUT_ARCH.
 1.11 22-Aug-2015  uebayasi According to matt@, .ARM.{extab,exidx} are no longer used.
 1.10 21-Aug-2015  uebayasi Simplify this by deciding load address at one place.
 1.9 20-Aug-2015  uebayasi Indent with 2 spaces.
 1.8 30-Jan-2014  matt branches: 1.8.6;
Put EHABI exception tables at the end of text.
provide __exidx_start and __exidx_end symbols.
 1.7 24-Dec-2013  matt Make sure _edata starts on a 8-byte boundary.
 1.6 06-Mar-2011  jakllsch branches: 1.6.4; 1.6.14; 1.6.18;
Remove trailing spaces.
 1.5 07-Nov-2008  rafal branches: 1.5.8; 1.5.10;
Explicitly set LOADADDR of bss/sbss so naiive bootloaders (cough, hpcboot)
can deal with the BSS/SBSS of kernels linked with PA != VA.
 1.4 27-Apr-2008  matt branches: 1.4.6; 1.4.8;
Merge kernel changes in matt-armv6 to HEAD.
 1.3 23-May-2003  ichiro branches: 1.3.80; 1.3.88; 1.3.104; 1.3.106; 1.3.108;
support IXP425 Intel Network Processor
running on BigEndian
 1.2 05-Mar-2003  thorpej When computing the LOADADDR() of .data and .sdata, use:

LOADADDR(previous_section) + (ADDR(current_section) - ADDR(previous_section))

to avoid using SIZEOF(), which does not properly take into account
the size of orphans that might be sorted with the section.
 1.1 20-Nov-2002  bsh branches: 1.1.2;
template of ldscript for some evbarm kernels.

@KERNEL_BASE_PHYS@ and @KERNEL_BASE_VIRT@ are replaced by values
defined in Makefile.evbarm.inc.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 20-Nov-2002  thorpej file ldscript.evbarm was added on branch nathanw_sa on 2002-12-11 05:58:31 +0000
 1.3.108.2 04-May-2009  yamt sync with head.
 1.3.108.1 16-May-2008  yamt sync with head.
 1.3.106.1 18-May-2008  yamt sync with head.
 1.3.104.2 17-Jan-2009  mjf Sync with HEAD.
 1.3.104.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.88.1 10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.3.80.1 09-Sep-2007  matt Make data start on a large page boundary.
 1.4.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.4.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.5.10.1 06-Jun-2011  jruoho Sync with HEAD.
 1.5.8.1 21-Apr-2011  rmind sync with head
 1.6.18.1 18-May-2014  rmind sync with head
 1.6.14.2 03-Dec-2017  jdolecek update from HEAD
 1.6.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.4.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.8.6.2 19-Mar-2016  skrll Sync with HEAD
 1.8.6.1 22-Sep-2015  skrll Sync with HEAD
 1.4 03-Jan-2003  thorpej Use the common linker script for all evbarm platforms.
 1.3 20-Nov-2002  thorpej Let the "link_set*" input sections be orphans again, now that
ld has been modifed to workd with them in the presence of
explicit LMAs.
 1.2 15-Nov-2002  thorpej Explicitly gather "link_set*" sections into .text (after .rodata).
This is necessary because unless we do so, since we do not pass -Ttext ...
to the linker, the "link_set*" sections end up at VMA 0.
 1.1 08-Jul-2002  rearnsha branches: 1.1.2; 1.1.4; 1.1.6;
Script file for linking an Integrator kernel image.
 1.1.6.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.6.1 08-Jul-2002  jdolecek file ldscript.integrator was added on branch kqueue on 2002-09-06 08:33:59 +0000
 1.1.4.5 03-Jan-2003  thorpej Sync with HEAD.
 1.1.4.4 20-Nov-2002  thorpej Sync with HEAD.
 1.1.4.3 15-Nov-2002  thorpej Sync with HEAD.
 1.1.4.2 01-Aug-2002  nathanw Catch up to -current.
 1.1.4.1 08-Jul-2002  nathanw file ldscript.integrator was added on branch nathanw_sa on 2002-08-01 02:41:32 +0000
 1.1.2.2 16-Jul-2002  gehenna catch up with -current.
 1.1.2.1 08-Jul-2002  gehenna file ldscript.integrator was added on branch gehenna-devsw on 2002-07-16 01:38:08 +0000
 1.6 03-Jan-2003  thorpej Use the common linker script for all evbarm platforms.
 1.5 20-Nov-2002  thorpej Let the "link_set*" input sections be orphans again, now that
ld has been modifed to workd with them in the presence of
explicit LMAs.
 1.4 15-Nov-2002  thorpej Explicitly gather "link_set*" sections into .text (after .rodata).
This is necessary because unless we do so, since we do not pass -Ttext ...
to the linker, the "link_set*" sections end up at VMA 0.
 1.3 11-Apr-2002  thorpej Lose -nbsd
 1.2 01-Apr-2002  thorpej Add -nbsd to OUTPUT_FORMAT BFD names.
 1.1 03-Mar-2002  thorpej branches: 1.1.4; 1.1.8;
* Add support for running the IQ80310 kernel where KERNEL_BASE !=
physical memory start. Garbage-collect some cruft while here.
* Move the kernel up to 0xc0000000, giving a 1G/3G kernel/user split.
* Adjust the Integrator startup code accordingly.
 1.1.8.5 03-Jan-2003  thorpej Sync with HEAD.
 1.1.8.4 20-Nov-2002  thorpej Sync with HEAD.
 1.1.8.3 15-Nov-2002  thorpej Sync with HEAD.
 1.1.8.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.8.1 03-Mar-2002  nathanw file ldscript.iq80310 was added on branch nathanw_sa on 2002-04-01 07:39:45 +0000
 1.1.4.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.4.2 16-Mar-2002  jdolecek Catch up with -current.
 1.1.4.1 03-Mar-2002  jdolecek file ldscript.iq80310 was added on branch kqueue on 2002-03-16 15:57:26 +0000
 1.6 03-Jan-2003  thorpej Use the common linker script for all evbarm platforms.
 1.5 20-Nov-2002  thorpej Let the "link_set*" input sections be orphans again, now that
ld has been modifed to workd with them in the presence of
explicit LMAs.
 1.4 15-Nov-2002  thorpej Explicitly gather "link_set*" sections into .text (after .rodata).
This is necessary because unless we do so, since we do not pass -Ttext ...
to the linker, the "link_set*" sections end up at VMA 0.
 1.3 11-Apr-2002  thorpej branches: 1.3.6;
Lose -nbsd
 1.2 01-Apr-2002  thorpej Add -nbsd to OUTPUT_FORMAT BFD names.
 1.1 27-Mar-2002  thorpej branches: 1.1.2;
Support for the Intel IQ80321 eval board for the i80321 I/O Processor.
 1.1.2.5 03-Jan-2003  thorpej Sync with HEAD.
 1.1.2.4 20-Nov-2002  thorpej Sync with HEAD.
 1.1.2.3 15-Nov-2002  thorpej Sync with HEAD.
 1.1.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.1 27-Mar-2002  nathanw file ldscript.iq80321 was added on branch nathanw_sa on 2002-04-01 07:39:46 +0000
 1.3.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.6.1 11-Apr-2002  jdolecek file ldscript.iq80321 was added on branch kqueue on 2002-06-23 17:35:38 +0000
 1.4 03-Jan-2003  thorpej Use the common linker script for all evbarm platforms.
 1.3 20-Nov-2002  thorpej Let the "link_set*" input sections be orphans again, now that
ld has been modifed to workd with them in the presence of
explicit LMAs.
 1.2 15-Nov-2002  thorpej Explicitly gather "link_set*" sections into .text (after .rodata).
This is necessary because unless we do so, since we do not pass -Ttext ...
to the linker, the "link_set*" sections end up at VMA 0.
 1.1 15-Jul-2002  ichiro branches: 1.1.2; 1.1.4; 1.1.6;
add support ixp12x0 eva-board "IXM1200"
 1.1.6.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.6.1 15-Jul-2002  jdolecek file ldscript.ixm1200 was added on branch kqueue on 2002-09-06 08:34:00 +0000
 1.1.4.5 03-Jan-2003  thorpej Sync with HEAD.
 1.1.4.4 20-Nov-2002  thorpej Sync with HEAD.
 1.1.4.3 15-Nov-2002  thorpej Sync with HEAD.
 1.1.4.2 01-Aug-2002  nathanw Catch up to -current.
 1.1.4.1 15-Jul-2002  nathanw file ldscript.ixm1200 was added on branch nathanw_sa on 2002-08-01 02:41:32 +0000
 1.1.2.2 21-Jul-2002  gehenna catch up with -current.
 1.1.2.1 15-Jul-2002  gehenna file ldscript.ixm1200 was added on branch gehenna-devsw on 2002-07-21 13:00:34 +0000
 1.2 08-Jan-2008  joerg assym.h dependency.
 1.1 25-Jan-2003  thorpej branches: 1.1.18; 1.1.76; 1.1.80; 1.1.86; 1.1.94;
Add support for ADI Engineering's "Big Red Head" i80200 evaluation
and development board, based around their BECC companion chip. Despite
its name, the board can run in big- or little-endian mode (we currently
run only in the latter).
 1.1.94.1 08-Jan-2008  bouyer Sync with HEAD
 1.1.86.1 18-Feb-2008  mjf Sync with HEAD.
 1.1.80.1 23-Mar-2008  matt sync with HEAD
 1.1.76.1 28-Feb-2008  rjs Sync with HEAD.
 1.1.18.1 21-Jan-2008  yamt sync with head
 1.4 17-Feb-2024  christos Fix MKREPRO build (Jan-Benedict Glaw)
 1.3 18-Oct-2018  skrll branches: 1.3.4;
Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.2 14-Oct-2018  aymeric Make the DE0 NanoSoC work also in big-endian mode
 1.1 19-Sep-2018  aymeric branches: 1.1.2;
Add support for the DE0 NanoSoC board.

It's Cyclone V based and thus includes a dual-core Cortex A9 @925MHz.
Most standard peripherals are supported (USB, SDCard, Ethernet) and
no unusual peripheral is supported yet (FPGA, GPIO, ...)
 1.1.2.3 20-Oct-2018  pgoyette Sync with head
 1.1.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.2.1 19-Sep-2018  pgoyette file mk.altera was added on branch pgoyette-compat on 2018-09-30 01:45:40 +0000
 1.3.4.2 10-Jun-2019  christos Sync with HEAD
 1.3.4.1 18-Oct-2018  christos file mk.altera was added on branch phil-wifi on 2019-06-10 22:06:05 +0000
 1.3 20-Jan-2019  skrll Another kernel bites te dust.

Remove ODROID-C1 as it is now replaced by GENERIC. Thanks jmcneill.
 1.2 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.1 07-Feb-2015  jmcneill branches: 1.1.2; 1.1.4; 1.1.20; 1.1.22; 1.1.24;
Work-in-progress Odroid-C1 support.
 1.1.24.1 10-Jun-2019  christos Sync with HEAD
 1.1.22.2 26-Jan-2019  pgoyette Sync with HEAD
 1.1.22.1 20-Oct-2018  pgoyette Sync with head
 1.1.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.20.1 07-Feb-2015  jdolecek file mk.amlogic was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.4.2 06-Apr-2015  skrll Sync with HEAD
 1.1.4.1 07-Feb-2015  skrll file mk.amlogic was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.1.2.2 21-Mar-2015  snj Pull up following revision(s) (requested by jmcneill in ticket #598):
sys/arch/arm/amlogic/amlogic_board.c: up to revision 1.9
sys/arch/arm/amlogic/amlogic_canvasreg.h: revision 1.1
sys/arch/arm/amlogic/amlogic_com.c: up to revision 1.4
sys/arch/arm/amlogic/amlogic_comreg.h: up to revision 1.3
sys/arch/arm/amlogic/amlogic_comvar.h: revision 1.1
sys/arch/arm/amlogic/amlogic_cpufreq.c: up to revision 1.2
sys/arch/arm/amlogic/amlogic_crureg.h: up to revision 1.7
sys/arch/arm/amlogic/amlogic_dwctwo.c: up to revision 1.2
sys/arch/arm/amlogic/amlogic_genfb.c: revision 1.1
sys/arch/arm/amlogic/amlogic_gmac.c: up to revision 1.2
sys/arch/arm/amlogic/amlogic_hdmireg.h: revision 1.1
sys/arch/arm/amlogic/amlogic_intr.h: up to revision 1.5
sys/arch/arm/amlogic/amlogic_io.c: up to revision 1.7
sys/arch/arm/amlogic/amlogic_reg.h: up to revision 1.9
sys/arch/arm/amlogic/amlogic_rng.c: revision 1.1
sys/arch/arm/amlogic/amlogic_sdhc.c: up to revision 1.3
sys/arch/arm/amlogic/amlogic_sdhcreg.h: revision 1.1
sys/arch/arm/amlogic/amlogic_space.c: revision 1.1
sys/arch/arm/amlogic/amlogic_var.h: up to revision 1.8
sys/arch/arm/amlogic/amlogic_vpureg.h: revision 1.1
sys/arch/arm/arm/bootconfig.c: revisions 1.7-1.8
sys/arch/arm/conf/files.arm: revision 1.129
sys/arch/arm/cortex/pl310.c: revisions 1.16-1.17
sys/arch/arm/cortex/a9_mpsubr.S: revisions 1.25-1.29
sys/arch/arm/cortex/a9tmr.c: revisions 1.8-1.12
sys/arch/arm/cortex/a9tmr_var.h: revision 1.4
sys/arch/arm/cortex/a9wdt.c: revisions 1.3-1.4
sys/arch/arm/cortex/armperiph.c: revisions 1.5-1.7
sys/arch/arm/arm/cpufunc.c: revision 1.151
sys/arch/arm/include/bootconfig.h: revision 1.7
sys/arch/arm/include/locore.h: revision 1.19
sys/arch/evbarm/amlogic/amlogic_machdep.c: up to revision 1.17
sys/arch/evbarm/amlogic/amlogic_start.S: up to revision 1.2
sys/arch/evbarm/amlogic/genassym.cf: revision 1.1
sys/arch/evbarm/amlogic/platform.h: revision 1.1
sys/arch/evbarm/conf/files.amlogic: up to revision 1.8
sys/arch/evbarm/conf/std.amlogic: up to revision 1.2
sys/arch/evbarm/conf/mk.amlogic: revision 1.1
sys/arch/evbarm/conf/ODROID-C1: up to revision 1.12
sys/arch/evarm/conf/ODROID-C1_INSTALL: revision 1.1
Don't use not as a variable since it's reserved in C++.
--
clean the a9 l2 cache before turning it on.
--
Add Cortex-A17 support
--
Fix CORTEXA17 support
--
Let the "cbar" device property override the cbar value, to work around
broken bootloaders
--
add a helper to update a9tmr frequency
--
detach and re-attach timecounter when updating freq, and reinit timer on
each cpu
--
fix typo
--
add BOOTOPT_TYPE_MACADDR for parsing mac address parameters
--
make sure we set ACTLR.SMP=1 for CPU_CORTEXA5 in !MP case, ok matt@
--
According to the Cortex-A5 TRM, the CBAR register is not implemented and
always reads as 0x00000000. Add ARM_CBAR option to set this in kernel
config.
--
skip a TLBIALL on Cortex-A5 that stops my odroid-c1 from booting, ok matt
--
match on Cortex-A5
--
match on Cortex-A5
--
allow arml2cc to be used on Cortex-A5 if the "offset" property is specified
--
print "A5" instead of "A9" at attach time if running on a Cortex-A5
--
Improve inline asm around dsb/dmb/isb:
- always use volatile and mark them as memory barrier
- use the common version from locore.h in all places not included from
userland
--
Work-in-progress Odroid-C1 support.
--
no need to override ARM_CBAR, remove unused COM_16750 option
--
Add basic serial console support.
--
add dwctwo and usb devices
--
ODROID-C1 SMP support.
--
auto-detect RAM size
--
ODROID-C1 onboard ethernet support.
--
add amlogicrng, add commented-out genfb placeholder
--
enable amlogicsdhc
--
add ODROID-C1 install kernel
--
Add CPUFREQ option to set boot CPU frequency. ODROID-C1 is advertised
as quad-core 1.5GHz but boots up at 1.2GHz; add CPUFREQ=1512 to config
and make sure to set the correct speed before attaching CPUs.
The speed can still be scaled down with machdep.cpu sysctls.
--
disable DEBUG, LOCKDEBUG, VERBOSE_INIT_ARM
--
Basic framebuffer console support. Work in progress.
 1.1.2.1 07-Feb-2015  snj file mk.amlogic was added on branch netbsd-7 on 2015-03-21 08:51:18 +0000
 1.4 29-Mar-2014  matt branches: 1.4.4;
Change KERNEL_EXT_BASE to 0x80000000 and KERNEL_BASE_VIRT correspondingly.
 1.3 18-Mar-2014  matt Don't replicate most of mk.marvell in mk.armadaxp
 1.2 29-May-2013  rkujawa branches: 1.2.2; 1.2.4;
Add CVS IDs where appropriate.
 1.1 29-May-2013  rkujawa Add build configuration for Armada XP.

Obtained from Marvell, Semihalf.
 1.2.4.1 18-May-2014  rmind sync with head
 1.2.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.2.2 23-Jun-2013  tls resync from head
 1.2.2.1 29-May-2013  tls file mk.armadaxp was added on branch tls-maxphys on 2013-06-23 06:20:04 +0000
 1.4.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.4.4.1 29-Mar-2014  yamt file mk.armadaxp was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.1 13-Nov-2005  hamajima branches: 1.1.4; 1.1.22;
Add initial support for the EP9315-based Atmark Techno Armadillo-9 board.
 1.1.22.2 21-Jun-2006  yamt sync with head.
 1.1.22.1 13-Nov-2005  yamt file mk.armadillo9 was added on branch yamt-lazymbuf on 2006-06-21 14:50:33 +0000
 1.1.4.2 11-Dec-2005  christos Sync with head.
 1.1.4.1 13-Nov-2005  christos file mk.armadillo9 was added on branch ktrace-lwp on 2005-12-11 10:28:16 +0000
 1.5 08-Apr-2018  jmcneill Remove old Allwinner port.
 1.4 14-Oct-2014  jmcneill branches: 1.4.18; 1.4.20;
move cpu flags to makeoptios
 1.3 15-Sep-2014  martin Pass BOARDTYPE as a string to awin_machdep.c
 1.2 07-Sep-2014  skrll branches: 1.2.2;
Fix BOARDTYPE handling
 1.1 31-Aug-2014  matt Move away from cubie to awin since "cubie" will actually work on non-cubie
boards. Let the config file specify what board is being built for.
 1.2.2.4 13-Nov-2014  martin Pull up the following revision, requested by skrl in ticket #222:
src/sys/arch/evbarm/conf/mk.awin 1.3

Pass BOARDTYPE as a string to awin_machdep.c
 1.2.2.3 12-Nov-2014  martin Pull up following revision(s) (requested by skrll in ticket #222):
etc/etc.evbarm/Makefile.inc 1.64
sys/arch/evbarm/conf/BPI 1.2,1.4,1.6-1.7,1.9
sys/arch/evbarm/conf/BPI_INSTALL 1.1
sys/arch/evbarm/conf/CUBIEBOARD 1.18-1.30
sys/arch/evbarm/conf/CUBIETRUCK 1.4,1.6
sys/arch/evbarm/conf/mk.awin 1.4
sys/arch/evbarm/conf/std.awin 1.4 (via patch)
sys/conf/files 1.1104
sys/dev/usb/motg.c 1.9-1.12
sys/dev/usb/motgreg.h 1.2-1.4
Allow attachment glue to override the number of endpoints
-
options MOTG_ALLWINNER to select the awin specific reg layout
options MOTG_ALLWINNER
-
Instead of polluting motgreg.h with AllWinner specific registers (things
were getting out of hand), move the AllWinner reg definitions to
arch/arm/allwinner/awin_otgreg.h and include that instead of
dev/usb/motgreg.h when MOTG_ALLWINNER is defined.
let the bus driver override fifo size
-
If the bus driver supplies a fifo size and dynfifo is true, use it
-
Various kernel config fixes.
 1.2.2.2 10-Sep-2014  martin Pull up following revision(s) (requested by skrll in ticket #82):
sys/arch/evbarm/awin/awin_start.S: revision 1.1
sys/arch/evbarm/conf/mk.cubie: file removal
sys/arch/evbarm/conf/std.awin: revision 1.1
sys/arch/evbarm/cubie/genassym.cf: file removal
sys/arch/evbarm/conf/CUBIEBOARD: revision 1.17
sys/arch/evbarm/conf/BPI: revision 1.1
sys/arch/evbarm/awin/genassym.cf: revision 1.1
sys/arch/evbarm/awin/platform.h: revision 1.1
sys/arch/evbarm/conf/files.awin: revision 1.1
sys/arch/evbarm/conf/mk.cubie: revision 1.4
sys/arch/evbarm/conf/CUBIETRUCK: revision 1.3
sys/arch/evbarm/cubie/cubie_machdep.c: revision 1.21
sys/arch/evbarm/awin/awin_machdep.c: revision 1.1
sys/arch/evbarm/awin/awin_machdep.c: revision 1.3
sys/arch/evbarm/awin/awin_machdep.c: revision 1.4
sys/arch/evbarm/conf/std.cubie: file removal
sys/arch/evbarm/conf/mk.awin: revision 1.1
sys/arch/evbarm/conf/mk.awin: revision 1.2
sys/arch/evbarm/cubie/cubie_machdep.c: file removal
sys/arch/evbarm/cubie/cubie_start.S: file removal
sys/arch/evbarm/cubie/platform.h: file removal
sys/arch/evbarm/conf/files.cubie: file removal

Move away from "cubie" to generic "awin" and introduce a BOARDTYPE
variable. This allows other boards to use the cubie code.

Add a Banana Pi kernel config and fixup mmc0detect assignment for BPI.
 1.2.2.1 07-Sep-2014  martin file mk.awin was added on branch netbsd-7 on 2014-09-10 09:37:51 +0000
 1.4.20.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.4.18.2 03-Dec-2017  jdolecek update from HEAD
 1.4.18.1 14-Oct-2014  jdolecek file mk.awin was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.7 17-Feb-2024  christos Fix MKREPRO build (Jan-Benedict Glaw)
 1.6 21-Jan-2019  skrll G/C
 1.5 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.4 28-Oct-2013  matt branches: 1.4.2; 1.4.30; 1.4.32;
Support for the Broadcom BCM56340 iProc based switch.
 1.3 04-Aug-2013  matt Supply the --be8 if building a big endian kernel.
 1.2 08-Dec-2012  matt branches: 1.2.2;
For cortex kernels, also specify -mfpu=neon
 1.1 01-Sep-2012  matt branches: 1.1.2; 1.1.4; 1.1.6;
Add support for the BCM95301X development board
 1.1.6.2 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.1.6.1 01-Sep-2012  matt file mk.bcm53xx was added on branch matt-nb6-plus on 2012-11-28 22:50:08 +0000
 1.1.4.4 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.4.3 16-Jan-2013  yamt sync with (a bit old) head
 1.1.4.2 30-Oct-2012  yamt sync with head
 1.1.4.1 01-Sep-2012  yamt file mk.bcm53xx was added on branch yamt-pagecache on 2012-10-30 17:19:21 +0000
 1.1.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.2.1 25-Feb-2013  tls resync with head
 1.2.2.2 18-May-2014  rmind sync with head
 1.2.2.1 28-Aug-2013  rmind sync with head
 1.4.32.1 10-Jun-2019  christos Sync with HEAD
 1.4.30.2 26-Jan-2019  pgoyette Sync with HEAD
 1.4.30.1 20-Oct-2018  pgoyette Sync with head
 1.4.2.2 15-Feb-2014  matt Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.
 1.4.2.1 28-Oct-2013  matt file mk.bcm53xx was added on branch matt-nb5-mips64 on 2014-02-15 16:18:37 +0000
 1.14 29-Oct-2022  jmcneill Retire arch/evbarm/beagle.

A few more kernel configs go away:

- OMAP5EVM and PANDABOARD likely never worked to begin with.
- N900 and VTC100 are TI AM335x based, which is supported by GENERIC.
 1.13 27-Sep-2019  mlelstv BEAGLE* kernel expects NetBSD bootargs (command line, no FDT).
 1.12 18-May-2019  skrll branches: 1.12.2;
Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.11 29-Mar-2014  matt branches: 1.11.30;
enable cortex-a15 for omap5 boards
 1.10 17-Jun-2013  matt branches: 1.10.2;
beagle now has a genassym.cf
 1.9 08-Dec-2012  matt For cortex kernels, also specify -mfpu=neon
 1.8 22-Aug-2012  matt branches: 1.8.2;
If building for a PANDABOARD use -mcpu=cortex-a9
 1.7 20-Aug-2012  matt Make gzip'ed uboot images.
 1.6 14-Jul-2012  matt gcc4.5 does support cortex-a8 so use it.
 1.5 06-Mar-2011  jakllsch branches: 1.5.4; 1.5.12;
Remove trailing spaces.
 1.4 31-Jan-2011  matt Change to use TOOL_MKUBOOTIMAGE
Make sure we cleanup everything.
gemini now has its own genassym.cf
 1.3 18-Jun-2010  jmcneill branches: 1.3.2; 1.3.4;
emit u-boot image 'netbsd.ub' as part of beagle kernel build
 1.2 28-Oct-2008  matt branches: 1.2.6; 1.2.8; 1.2.14; 1.2.18; 1.2.20;
Since KERNEL_BASE_PHYS and KERNEL_BASE_VIRT are the same as LOADADDRESS,
define them using LOADADDRESS.
 1.1 22-Oct-2008  matt branches: 1.1.2;
Initial BEAGLEBOARD support. Compile tested only so far.
 1.1.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.2.20.3 21-Apr-2011  rmind sync with head
 1.2.20.2 05-Mar-2011  rmind sync with head
 1.2.20.1 03-Jul-2010  rmind sync with head
 1.2.18.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.2.14.3 11-Aug-2010  yamt sync with head.
 1.2.14.2 04-May-2009  yamt sync with head.
 1.2.14.1 28-Oct-2008  yamt file mk.beagle was added on branch yamt-nfs-mp on 2009-05-04 08:10:57 +0000
 1.2.8.2 17-Jan-2009  mjf Sync with HEAD.
 1.2.8.1 28-Oct-2008  mjf file mk.beagle was added on branch mjf-devfs2 on 2009-01-17 13:27:58 +0000
 1.2.6.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.2.6.1 28-Oct-2008  haad file mk.beagle was added on branch haad-dm on 2008-12-13 01:13:07 +0000
 1.3.4.1 08-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.5.12.1 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.5.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.5.4.2 16-Jan-2013  yamt sync with (a bit old) head
 1.5.4.1 30-Oct-2012  yamt sync with 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 25-Feb-2013  tls resync with head
 1.10.2.1 18-May-2014  rmind sync with head
 1.11.30.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.11.30.1 10-Jun-2019  christos Sync with HEAD
 1.12.2.1 25-Oct-2019  martin Pull up following revision(s) (requested by mlelstv in ticket #381):

sys/arch/evbarm/conf/mk.beagle: revision 1.13

BEAGLE* kernel expects NetBSD bootargs (command line, no FDT).
 1.5 31-Aug-2014  matt These have been moved to evbarm/awin or conf/*.awin
 1.4 29-Aug-2014  matt Instead of printing cubie, use the BOARDTYPE instead. This allows other
boards to use the cubie code but see a more useful BOARDTYPE. We could
also use it to enable more apporpriate configuration for the board.
 1.3 30-Jan-2014  matt branches: 1.3.2; 1.3.6; 1.3.8; 1.3.10; 1.3.12;
For BE kernels, pass --be8 to the linker
 1.2 06-Sep-2013  matt Use KERNEL_BASE_PHYS for load and entry addresses for u-boot.
 1.1 03-Sep-2013  matt Prelimary config goo for CubieBoard 1 & 2
(config is happy with it)
 1.3.12.3 03-Dec-2017  jdolecek update from HEAD
 1.3.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.12.1 30-Jan-2014  tls file mk.cubie was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.3.10.1 10-Sep-2014  martin Pull up following revision(s) (requested by skrll in ticket #82):
sys/arch/evbarm/awin/awin_start.S: revision 1.1
sys/arch/evbarm/conf/mk.cubie: file removal
sys/arch/evbarm/conf/std.awin: revision 1.1
sys/arch/evbarm/cubie/genassym.cf: file removal
sys/arch/evbarm/conf/CUBIEBOARD: revision 1.17
sys/arch/evbarm/conf/BPI: revision 1.1
sys/arch/evbarm/awin/genassym.cf: revision 1.1
sys/arch/evbarm/awin/platform.h: revision 1.1
sys/arch/evbarm/conf/files.awin: revision 1.1
sys/arch/evbarm/conf/mk.cubie: revision 1.4
sys/arch/evbarm/conf/CUBIETRUCK: revision 1.3
sys/arch/evbarm/cubie/cubie_machdep.c: revision 1.21
sys/arch/evbarm/awin/awin_machdep.c: revision 1.1
sys/arch/evbarm/awin/awin_machdep.c: revision 1.3
sys/arch/evbarm/awin/awin_machdep.c: revision 1.4
sys/arch/evbarm/conf/std.cubie: file removal
sys/arch/evbarm/conf/mk.awin: revision 1.1
sys/arch/evbarm/conf/mk.awin: revision 1.2
sys/arch/evbarm/cubie/cubie_machdep.c: file removal
sys/arch/evbarm/cubie/cubie_start.S: file removal
sys/arch/evbarm/cubie/platform.h: file removal
sys/arch/evbarm/conf/files.cubie: file removal

Move away from "cubie" to generic "awin" and introduce a BOARDTYPE
variable. This allows other boards to use the cubie code.

Add a Banana Pi kernel config and fixup mmc0detect assignment for BPI.
 1.3.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.3.8.1 30-Jan-2014  yamt file mk.cubie was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.3.6.2 18-May-2014  rmind sync with head
 1.3.6.1 30-Jan-2014  rmind file mk.cubie was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.3.2.2 24-Mar-2014  matt Add cubie from HEAD
 1.3.2.1 30-Jan-2014  matt file mk.cubie was added on branch matt-nb5-mips64 on 2014-03-24 18:46:38 +0000
 1.6 31-Mar-2019  jmcneill Remove EXYNOS kernel config.
 1.5 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.4 13-Dec-2017  jmcneill branches: 1.4.2; 1.4.4;
Revert compressed uimg change, it is causing problems with overlapping
$kernel_addr_r vs. kernel load address.
 1.3 09-Dec-2017  jmcneill Reduce the number of build artifacts and use a compressed version of the
kernel for legacy U-Boot images (netbsd.ub).
 1.2 26-Dec-2015  jmcneill branches: 1.2.2; 1.2.18;
tag kernel as type linux so we get the fdt address in r2
 1.1 06-Dec-2015  marty Reorganize Exynos code step 1 of N

create config files that use evbarm/exynos rather than evbarm/odroid for
the machdep portion.

point ODROID-XU4 at those files

add evbarm/exynos/exyos_{start.S, machdep.c} and platform.h that are exynos
5422 specific. -- We'll edit in other exynos platforms once this one
fully works.

This boots the Odroid XU4 to the same point as using evbarm/odroid does, but
with some differences in gpio handling. Everything else should be semantically
equivalent.
 1.2.18.2 03-Dec-2017  jdolecek update from HEAD
 1.2.18.1 26-Dec-2015  jdolecek file mk.exynos was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.2.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.2.2.1 26-Dec-2015  skrll file mk.exynos was added on branch nick-nhusb on 2015-12-27 12:09:34 +0000
 1.4.4.1 10-Jun-2019  christos Sync with HEAD
 1.4.2.1 20-Oct-2018  pgoyette Sync with head
 1.2 27-Feb-2005  bsh This file is not used.
CVS: ----------------------------------------------------------------------
CVS: CVSROOT cvs.NetBSD.org:/cvsroot
CVS: ----------------------------------------------------------------------
CVS: CVSROOT cvs.NetBSD.org:/cvsroot
 1.1 03-Jan-2003  thorpej branches: 1.1.2; 1.1.4; 1.1.12; 1.1.14;
Split board-specific Makefile fragments into their own files.
 1.1.14.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.12.1 29-Apr-2005  kent sync with -current
 1.1.4.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.2 03-Jan-2003  thorpej Sync with HEAD.
 1.1.2.1 03-Jan-2003  thorpej file mk.g4250ebx was added on branch nathanw_sa on 2003-01-03 16:43:14 +0000
 1.3 30-Jun-2011  matt Use ${TOOL_GZIP}
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 26-Feb-2005  bsh branches: 1.1.2; 1.1.6; 1.1.8;
TWINTAIL (official product name is G4255EB) is an evaluation board
with Intel PXA255 processor from Genetec corp. You can get some
information on the board from http://ad.genetec.co.jp/ but only in Japanese.
 1.1.8.2 29-Apr-2005  kent sync with -current
 1.1.8.1 26-Feb-2005  kent file mk.g42xxeb was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.1.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.6.1 26-Feb-2005  yamt file mk.g42xxeb was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.1.2.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.1 26-Feb-2005  skrll file mk.g42xxeb was added on branch ktrace-lwp on 2005-03-04 16:38:14 +0000
 1.4 28-Feb-2014  matt Use CPPFLAGS and drop -mlittle-endian
 1.3 31-Jan-2011  matt branches: 1.3.4; 1.3.14; 1.3.18;
Change to use TOOL_MKUBOOTIMAGE
Make sure we cleanup everything.
gemini now has its own genassym.cf
 1.2 28-Oct-2008  matt branches: 1.2.6; 1.2.8; 1.2.14; 1.2.20; 1.2.26; 1.2.28;
Move line from mk.gemini to std.gemini so addrs are all in one place.
 1.1 24-Oct-2008  matt branches: 1.1.2;
Add support for Cortina Systems SL3516 eval board.
 1.1.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.2.28.1 08-Feb-2011  bouyer Sync with HEAD
 1.2.26.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.20.1 05-Mar-2011  rmind sync with head
 1.2.14.2 04-May-2009  yamt sync with head.
 1.2.14.1 28-Oct-2008  yamt file mk.gemini was added on branch yamt-nfs-mp on 2009-05-04 08:10:57 +0000
 1.2.8.2 17-Jan-2009  mjf Sync with HEAD.
 1.2.8.1 28-Oct-2008  mjf file mk.gemini was added on branch mjf-devfs2 on 2009-01-17 13:27:58 +0000
 1.2.6.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.2.6.1 28-Oct-2008  haad file mk.gemini was added on branch haad-dm on 2008-12-13 01:13:07 +0000
 1.3.18.1 18-May-2014  rmind sync with head
 1.3.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.4.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.11 17-Feb-2024  christos Fix MKREPRO build (Jan-Benedict Glaw)
 1.10 29-Aug-2020  jakllsch tegra_xusb: fix xusb static firmware build

To work around objcopy and ld now being unable to create a EABI5 object
from a binary, use the assembler directive .incbin in inline assembly
to pull in the firmware blob.

This also probably makes TEGRA210_XUSB_BIN_STATIC actually work.
 1.9 16-Dec-2019  skrll Update to new RaspberryPi firware

commit 0c01dbefba45a08c47f8538d5a071a0fba6b7e83
Author: popcornmix <popcornmix@gmail.com>
Date: Wed Dec 11 15:30:08 2019 +0000

and include firmware for RPI4

Firmware has bee updated to support mainline linux kernels as described in
https://github.com/raspberrypi/linux/issues/3237
 1.8 14-Apr-2019  skrll Create a RPI compatible image which cn be used with

kernel_address=0x10000040

in config.txt.

XXX alignment requirement needs fixing
 1.7 30-Mar-2019  jmcneill Set entry point to generic_start instead of the default
 1.6 14-Mar-2019  jmcneill U-Boot fails to boot a compressed kernel_noload image, so stop emitting
them.
 1.5 30-Oct-2018  martin When BOARDTYPE is not set, use MACHINE_ARCH for the image name.
 1.4 30-Oct-2018  skrll Don't forget EXTRA_LINKFLAGS+= --be8 for BE kernels
 1.3 29-Oct-2018  martin If no BOARDTYPE is defined, avoid the space to separate it from the OS
release.
 1.2 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.1 01-Apr-2018  ryo branches: 1.1.2; 1.1.4;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.2.4 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.2.3 20-Oct-2018  pgoyette Sync with head
 1.1.2.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.2.1 01-Apr-2018  pgoyette file mk.generic was added on branch pgoyette-compat on 2018-04-07 04:12:12 +0000
 1.7 17-Feb-2024  christos Fix MKREPRO build (Jan-Benedict Glaw)
 1.6 04-Sep-2020  jakllsch Link evbarm/aarch64eb kernels in big endian mode
 1.5 16-Dec-2019  skrll Update to new RaspberryPi firware

commit 0c01dbefba45a08c47f8538d5a071a0fba6b7e83
Author: popcornmix <popcornmix@gmail.com>
Date: Wed Dec 11 15:30:08 2019 +0000

and include firmware for RPI4

Firmware has bee updated to support mainline linux kernels as described in
https://github.com/raspberrypi/linux/issues/3237
 1.4 04-Dec-2019  jmcneill Update arm64 image header in place
 1.3 29-Sep-2018  jmcneill branches: 1.3.4;
Set load offset to +2M to make room for QEMU's bootloader stub
 1.2 14-Sep-2018  skrll Move the aarch64 start stub from sys/arch/evbarm to sys/arch/aarch64.

Delete the unused/empty evbarm/fdt/genassym.cf while I'm here.
 1.1 01-Apr-2018  ryo branches: 1.1.2; 1.1.4;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.2.3 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.2.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.2.1 01-Apr-2018  pgoyette file mk.generic64 was added on branch pgoyette-compat on 2018-04-07 04:12:12 +0000
 1.3.4.1 09-Dec-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #525):

external/cddl/osnet/dev/dtrace/aarch64/dtrace_isa.c: revision 1.1
distrib/sets/lists/modules/md.i386: revision 1.83
share/mk/bsd.own.mk: revision 1.1168
usr.bin/mkubootimage/mkubootimage.c: revision 1.25
sys/modules/dtrace/Makefile: revision 1.7
usr.bin/mkubootimage/mkubootimage.c: revision 1.26
sys/modules/dtrace/Makefile: revision 1.8
external/cddl/osnet/dist/lib/libdtrace/aarch64/dt_isadep.c: revision 1.2
distrib/sets/lists/modules/mi: revision 1.128
sys/arch/aarch64/include/frame.h: revision 1.3
sys/arch/evbarm/conf/mk.generic64: revision 1.4
external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c: revision 1.12
sys/modules/cyclic/Makefile: revision 1.4
sys/arch/aarch64/conf/Makefile.aarch64: revision 1.16
external/cddl/osnet/dev/dtrace/aarch64/dtrace_subr.c: revision 1.1
sys/arch/aarch64/aarch64/start.S: revision 1.3
sys/arch/aarch64/aarch64/trap.c: revision 1.22
external/cddl/osnet/dev/fbt/aarch64/fbt_isa.c: revision 1.1
external/cddl/osnet/dev/dtrace/aarch64/dtrace_asm.S: revision 1.1
external/cddl/osnet/dev/fbt/aarch64/fbt_isa.h: revision 1.1
external/cddl/osnet/dev/dtrace/aarch64/regset.h: revision 1.1
external/cddl/osnet/lib/libdtrace/Makefile: revision 1.26
distrib/sets/lists/modules/md.amd64: revision 1.82
usr.bin/mkubootimage/mkubootimage.1: revision 1.13
distrib/sets/lists/modules/ad.arm: revision 1.14

Add KDTRACE_HOOKS support.

Define lwp_trapframe() macro

dtrace: add support for aarch64

Add syscall_linux back for other arm architectures (accidently removed
in previous)

Add -u flag for updating headers in place.

Fix alignment of .text section by changing load address to
0xffffffc000000000 and adding 64 bytes of padding before the entry point.

Update arm64 image header in place

Move dtrace_syscall_linux out of mi set list

Enable DTrace on aarch64

Fix signed/unsigned comparison
 1.2 13-Sep-2018  skrll G/C GOLDENGATE
 1.1 19-Feb-2013  matt branches: 1.1.4; 1.1.14; 1.1.40; 1.1.42;
More Cortina CS75xx files.
 1.1.42.1 10-Jun-2019  christos Sync with HEAD
 1.1.40.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.14.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.14.1 19-Feb-2013  yamt file mk.goldengate was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 19-Feb-2013  tls file mk.goldengate was added on branch tls-maxphys on 2013-02-25 00:28:35 +0000
 1.8 17-Feb-2024  christos Fix MKREPRO build (Jan-Benedict Glaw)
 1.7 18-May-2019  skrll Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.6 04-Oct-2016  kiyohara branches: 1.6.16;
Add KERNEL_BASE_PHYS for duovero and pepper.
 1.5 19-Apr-2016  kiyohara branches: 1.5.2;
OVERO's .ub file includes release
 1.4 30-Jun-2011  matt branches: 1.4.12; 1.4.30;
Use ${TOOL_GZIP}
 1.3 31-Jan-2011  matt Change to use TOOL_MKUBOOTIMAGE
Make sure we cleanup everything.
gemini now has its own genassym.cf
 1.2 10-Jul-2010  kiyohara branches: 1.2.2; 1.2.4;
Support Overo (Gumstix inc).
+ This commit supports basically.
+ Expansion boards not support yet. And MicroSD, Wifi, Bluetooth too.
 1.1 16-Oct-2006  kiyohara branches: 1.1.2; 1.1.4; 1.1.8; 1.1.62; 1.1.82; 1.1.84;
Add initial support for the PXA255-based gumstix board.
 1.1.84.1 05-Mar-2011  rmind sync with head
 1.1.82.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.1.62.1 11-Aug-2010  yamt sync with head.
 1.1.8.2 30-Dec-2006  yamt sync with head.
 1.1.8.1 16-Oct-2006  yamt file mk.gumstix was added on branch yamt-lazymbuf on 2006-12-30 20:45:49 +0000
 1.1.4.2 18-Nov-2006  ad Sync with head.
 1.1.4.1 16-Oct-2006  ad file mk.gumstix was added on branch newlock2 on 2006-11-18 21:29:10 +0000
 1.1.2.2 22-Oct-2006  yamt sync with head
 1.1.2.1 16-Oct-2006  yamt file mk.gumstix was added on branch yamt-splraiseipl on 2006-10-22 06:04:36 +0000
 1.2.4.1 08-Feb-2011  bouyer Sync with HEAD
 1.2.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.4.30.2 05-Dec-2016  skrll Sync with HEAD
 1.4.30.1 22-Apr-2016  skrll Sync with HEAD
 1.4.12.1 03-Dec-2017  jdolecek update from HEAD
 1.5.2.1 04-Nov-2016  pgoyette Sync with HEAD
 1.6.16.1 10-Jun-2019  christos Sync with HEAD
 1.2 29-Oct-2022  jmcneill Remove support for TI OMAP-L138 based Hawkboard.

This change is part of arch/arm/omap removal.
 1.1 02-Oct-2013  matt branches: 1.1.4; 1.1.6; 1.1.10;
Add support for OMAP1-183 base hawkboard (HAWK) from Sughosh Ganu.
Minor cleanup (adding $NetBSD to headers, __KERNEL_RCSID to C files, etc).
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 02-Oct-2013  tls file mk.hawk was added on branch tls-maxphys on 2014-08-20 00:02:53 +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 02-Oct-2013  yamt file mk.hawk was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 02-Oct-2013  rmind file mk.hawk was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.1 16-Apr-2006  nonaka branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10; 1.1.14; 1.1.20;
A port of NetBSD to the I-O DATA HDL-G "Giga LANDISK".

Please refer to following URL for this machine.
http://www.iodata.com/products/products.php?cat=HNP&sc=HDL&ts=2&tsc=14&sc=HDL&pId=HDL-G400U
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 16-Apr-2006  rpaulo file mk.hdl_g was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:40 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 16-Apr-2006  yamt file mk.hdl_g was added on branch yamt-lazymbuf on 2006-06-21 14:50:33 +0000
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 16-Apr-2006  tron file mk.hdl_g was added on branch peter-altq on 2006-05-24 15:47:54 +0000
 1.1.8.2 24-May-2006  yamt sync with head.
 1.1.8.1 16-Apr-2006  yamt file mk.hdl_g was added on branch yamt-pdpolicy on 2006-05-24 10:56:40 +0000
 1.1.4.2 22-Apr-2006  simonb Sync with head.
 1.1.4.1 16-Apr-2006  simonb file mk.hdl_g was added on branch simonb-timecounters on 2006-04-22 11:37:22 +0000
 1.1.2.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.2.1 16-Apr-2006  elad file mk.hdl_g was added on branch elad-kernelauth on 2006-04-19 02:32:21 +0000
 1.2 20-May-2020  hkenken i.MX support merged into GENERIC kernel.
 1.1 24-Jul-2019  hkenken branches: 1.1.10;
Add support for device tree.

+ CCM (clk)
+ COM (uart)
+ GPIO
+ IOMUX (pin control)
+ PCIe
+ SDHC
+ USB Host
+ USB phy
 1.1.10.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.10.1 24-Jul-2019  martin file mk.imx was added on branch phil-wifi on 2020-04-13 08:03:42 +0000
 1.2 07-Oct-2013  matt iMX233/OLinuXino changes from Petri Laskso.
See http://mail-index.netbsd.org/port-arm/2013/10/07/msg002042.html
 1.1 20-Nov-2012  jkunz branches: 1.1.2; 1.1.4; 1.1.6;
Add initial support for Olimex iMX233 based OLinuXino boards.
https://www.olimex.com/Products/OLinuXino/iMX233/
Contributed by Petri Laakso.
 1.1.6.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.2 25-Feb-2013  tls resync with head
 1.1.6.1 20-Nov-2012  tls file mk.imx23_olinuxino was added on branch tls-maxphys on 2013-02-25 00:28:35 +0000
 1.1.4.1 18-May-2014  rmind sync with head
 1.1.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.1.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.1.2.1 20-Nov-2012  yamt file mk.imx23_olinuxino was added on branch yamt-pagecache on 2013-01-16 05:32:52 +0000
 1.2 27-Apr-2008  matt Merge kernel changes in matt-armv6 to HEAD.
 1.1 29-Aug-2007  matt branches: 1.1.2; 1.1.20; 1.1.22; 1.1.24;
file mk.imx31 was initially added on branch matt-armv6.
 1.1.24.1 16-May-2008  yamt sync with head.
 1.1.22.1 18-May-2008  yamt sync with head.
 1.1.20.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.2.2 11-Sep-2007  matt More support for Freescale i.MX31 DEV LITE KIT
 1.1.2.1 29-Aug-2007  matt Initial IMX31LITE configury
 1.3 23-May-2020  skrll imx6 kernels are part of GENERIC now
 1.2 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.1 09-Jun-2017  ryo branches: 1.1.4; 1.1.6; 1.1.8; 1.1.10;
add support for i.MX6UltraLite, and
ConnectCore for iMX6UL Starter Board.
 1.1.10.1 10-Jun-2019  christos Sync with HEAD
 1.1.8.1 20-Oct-2018  pgoyette Sync with head
 1.1.6.2 03-Dec-2017  jdolecek update from HEAD
 1.1.6.1 09-Jun-2017  jdolecek file mk.imx6ul was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.4.2 28-Aug-2017  skrll Sync with HEAD
 1.1.4.1 09-Jun-2017  skrll file mk.imx6ul was added on branch nick-nhusb on 2017-08-28 17:51:34 +0000
 1.3 10-Jul-2020  skrll G/C. OK'ed by jmcnell
 1.2 18-May-2019  skrll Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.1 17-May-2016  ryo branches: 1.1.2; 1.1.18; 1.1.22;
Add initial support for Freescale i.MX7 SoC and
Atmark Techno Armadillo-IoT G3 boards.

Contributed by Internet Initiative Japan Inc.
 1.1.22.1 10-Jun-2019  christos Sync with HEAD
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 17-May-2016  jdolecek file mk.imx7 was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.2.2 29-May-2016  skrll Sync with HEAD
 1.1.2.1 17-May-2016  skrll file mk.imx7 was added on branch nick-nhusb on 2016-05-29 08:44:16 +0000
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 06-Sep-2003  rearnsha Delete GENASSYM_EXTRAS.
 1.1 03-Jan-2003  thorpej branches: 1.1.2; 1.1.4;
Split board-specific Makefile fragments into their own files.
 1.1.4.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.4.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.4.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 03-Jan-2003  thorpej Sync with HEAD.
 1.1.2.1 03-Jan-2003  thorpej file mk.integrator was added on branch nathanw_sa on 2003-01-03 16:43:14 +0000
 1.2 17-Feb-2024  christos Fix MKREPRO build (Jan-Benedict Glaw)
 1.1 19-Feb-2013  skrll branches: 1.1.4; 1.1.14;
Add support for the ARM Integrator/CP from Sergio L�pez.

The code hasn't been tested on real hardware, but INTEGRATOR_CP config
is useful for QEMU which supports it.
 1.1.14.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.14.1 19-Feb-2013  yamt file mk.integrator_cp was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 19-Feb-2013  tls file mk.integrator_cp was added on branch tls-maxphys on 2013-02-25 00:28:35 +0000
 1.1 03-Jan-2003  thorpej branches: 1.1.2;
Split board-specific Makefile fragments into their own files.
 1.1.2.2 03-Jan-2003  thorpej Sync with HEAD.
 1.1.2.1 03-Jan-2003  thorpej file mk.iq80310 was added on branch nathanw_sa on 2003-01-03 16:43:14 +0000
 1.3 19-Apr-2003  scw Don't use ARM32_NEW_VM_LAYOUT or initarm_common() for now. It's not
quite ready for prime-time on evbarm.
 1.2 18-Apr-2003  scw Add support for ARM32_PMAP_NEW and ARM32_NEW_VM_LAYOUT to the iq80321 port.
 1.1 03-Jan-2003  thorpej branches: 1.1.2;
Split board-specific Makefile fragments into their own files.
 1.1.2.2 03-Jan-2003  thorpej Sync with HEAD.
 1.1.2.1 03-Jan-2003  thorpej file mk.iq80321 was added on branch nathanw_sa on 2003-01-03 16:43:14 +0000
 1.3 10-Dec-2006  scw Add watchdog and NPE Ethernet support. The latter is not well tested
on IXDP425 since the PHYs fail to probe my board. This may be due to
an incompatibility between the stepping A0 CPU and the microcode.

Additionally, the MAC addresses are not configured by Redboot, so more
work is needed in this area.
 1.2 24-May-2003  ichiro branches: 1.2.18; 1.2.48; 1.2.50;
fix kernel base address
delete offset of elf header 0x100
so we use binary kernel(netbsd.bin)
 1.1 23-May-2003  ichiro support IXP425 Intel Network Processor
running on BigEndian
 1.2.50.1 18-Dec-2006  yamt sync with head.
 1.2.48.1 12-Jan-2007  ad Sync with head.
 1.2.18.1 30-Dec-2006  yamt sync with head.
 1.1 03-Jan-2003  thorpej branches: 1.1.2;
Split board-specific Makefile fragments into their own files.
 1.1.2.2 03-Jan-2003  thorpej Sync with HEAD.
 1.1.2.1 03-Jan-2003  thorpej file mk.ixm1200 was added on branch nathanw_sa on 2003-01-03 16:43:14 +0000
 1.3 17-Feb-2024  christos Fix MKREPRO build (Jan-Benedict Glaw)
 1.2 18-May-2019  skrll Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.1 25-Jul-2014  hkenken branches: 1.1.2; 1.1.6; 1.1.32;
Initial commit of support for Kobo touch. (i.MX507 or i.MX508)
(http://www.kobo.com)
 1.1.32.1 10-Jun-2019  christos Sync with HEAD
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 25-Jul-2014  tls file mk.kobo was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 25-Jul-2014  tls file mk.kobo was added on branch tls-earlyentropy on 2014-08-10 06:53:55 +0000
 1.2 30-Jun-2011  matt Use ${TOOL_GZIP}
 1.1 03-Jan-2003  thorpej branches: 1.1.2;
Split board-specific Makefile fragments into their own files.
 1.1.2.2 03-Jan-2003  thorpej Sync with HEAD.
 1.1.2.1 03-Jan-2003  thorpej file mk.lubbock was added on branch nathanw_sa on 2003-01-03 16:43:14 +0000
 1.6 17-Feb-2024  christos Fix MKREPRO build (Jan-Benedict Glaw)
 1.5 18-Mar-2014  matt Don't replicate most of mk.marvell in mk.armadaxp
 1.4 10-Aug-2012  matt branches: 1.4.2; 1.4.4;
Allow a config file to predefine KERNEL_{PHYS,VIRT}_BASE
 1.3 30-Jun-2011  matt branches: 1.3.2;
Use ${TOOL_GZIP}
 1.2 31-Jan-2011  matt branches: 1.2.2;
Change to use TOOL_MKUBOOTIMAGE
Make sure we cleanup everything.
gemini now has its own genassym.cf
 1.1 02-Oct-2010  kiyohara branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Add support Marvell Sheevaplug.
Add some NAS on Marvell SoC.
 1.1.8.1 08-Feb-2011  bouyer Sync with HEAD
 1.1.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.4.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.1.4.1 02-Oct-2010  uebayasi file mk.marvell was added on branch uebayasi-xip on 2010-10-22 07:21:15 +0000
 1.1.2.2 09-Oct-2010  yamt sync with head
 1.1.2.1 02-Oct-2010  yamt file mk.marvell was added on branch yamt-nfs-mp on 2010-10-09 03:31:43 +0000
 1.2.2.2 05-Mar-2011  rmind sync with head
 1.2.2.1 31-Jan-2011  rmind file mk.marvell was added on branch rmind-uvmplock on 2011-03-05 20:50:04 +0000
 1.3.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.3.2.1 30-Oct-2012  yamt sync with head
 1.4.4.1 18-May-2014  rmind sync with head
 1.4.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1 30-Jan-2012  nisimura branches: 1.1.4; 1.1.6;

Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.1.6.2 17-Apr-2012  yamt sync with head
 1.1.6.1 30-Jan-2012  yamt file mk.mini2440 was added on branch yamt-pagecache on 2012-04-17 00:06:13 +0000
 1.1.4.2 18-Feb-2012  mrg merge to -current.
 1.1.4.1 30-Jan-2012  mrg file mk.mini2440 was added on branch jmcneill-usbmp on 2012-02-18 07:31:50 +0000
 1.1 04-Nov-2011  aymeric branches: 1.1.2;
preliminary support for the Propox MMnet1002 board
http://www.propox.com/products/t_232.html
 1.1.2.2 10-Nov-2011  yamt sync with head
 1.1.2.1 04-Nov-2011  yamt file mk.mmnet was added on branch yamt-pagecache on 2011-11-10 14:31:39 +0000
 1.3 30-Jun-2011  matt Use ${TOOL_GZIP}
 1.2 03-Jul-2008  matt branches: 1.2.4;
Add AT91 support. (XXX need to finish timecounter support).
 1.1 10-Nov-2007  matt branches: 1.1.2; 1.1.16; 1.1.20; 1.1.22;
file mk.mpcsa was initially added on branch matt-nb4-arm.
 1.1.22.1 03-Jul-2008  simonb Sync with head.
 1.1.20.1 04-May-2009  yamt sync with head.
 1.1.16.1 28-Sep-2008  mjf Sync with HEAD.
 1.1.2.1 10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.2.4.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.2.4.1 03-Jul-2008  wrstuden file mk.mpcsa was added on branch wrstuden-revivesa on 2008-09-18 04:33:24 +0000
 1.1 13-Dec-2017  matt branches: 1.1.2;
file mk.mtkatlas was initially added on branch matt-nb8-mediatek.
 1.1.2.1 13-Dec-2017  matt Add Mediatek ATLAS configury
 1.3 17-Feb-2024  christos Fix MKREPRO build (Jan-Benedict Glaw)
 1.2 30-Nov-2011  jakllsch Explain the reasoning behind the load-time memory layout.
Only build kernels the MV2120 can boot.
Use mkubootimage -E.
 1.1 20-Jul-2011  jakllsch branches: 1.1.2;
Add support for HP Media Vault MV2100/MV5100 series Marvell Orion board.
 1.1.2.1 17-Apr-2012  yamt sync with head
 1.5 13-Jun-2019  hkenken Use armv6_start.S
 1.4 09-Apr-2014  hkenken branches: 1.4.28;
NetWalker kernels boot again.
* Enable __HAVE_MM_MD_DIRECT_MAPPED_PHYS
* Change VM layout
* Use common start-up routine
 1.3 07-Mar-2014  hkenken branches: 1.3.2;
modified NetWalker kernel config
* add ARM_HAS_VBAR, FPU_VFP etc.
 1.2 30-Jun-2011  matt branches: 1.2.2; 1.2.12; 1.2.16;
Use ${TOOL_GZIP}
 1.1 13-Nov-2010  bsh branches: 1.1.2; 1.1.8;
Sharp NetWalker PC-Z1 support by SHIMIZU Ryo, Hashimoto Kenichi, and me.
http://www.sharp.co.jp/netwalker/
 1.1.8.2 05-Mar-2011  rmind sync with head
 1.1.8.1 13-Nov-2010  rmind file mk.netwalker was added on branch rmind-uvmplock on 2011-03-05 20:50:04 +0000
 1.1.2.2 15-Nov-2010  uebayasi Sync with HEAD.
 1.1.2.1 13-Nov-2010  uebayasi file mk.netwalker was added on branch uebayasi-xip on 2010-11-15 14:38:23 +0000
 1.2.16.1 18-May-2014  rmind sync with head
 1.2.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.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.3.2.1 10-Aug-2014  tls Rebase.
 1.4.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.6 23-May-2020  skrll imx6 kernels are part of GENERIC now
 1.5 24-Jul-2019  hkenken Modified i.MX GPIO control module and PCIe module.

+ Add imxpcie.c
imx PCIe common driver
 1.4 18-May-2019  skrll Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.3 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.2 27-Sep-2014  matt branches: 1.2.18; 1.2.20; 1.2.22;
Add INSTALL kernel. Fix .ub generation.
 1.1 25-Sep-2014  ryo add support i.MX6 and NITROGEN6X evaluation board
 1.2.22.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.22.1 10-Jun-2019  christos Sync with HEAD
 1.2.20.1 20-Oct-2018  pgoyette Sync with head
 1.2.18.2 03-Dec-2017  jdolecek update from HEAD
 1.2.18.1 27-Sep-2014  jdolecek file mk.nitrogen6 was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.2 10-Dec-2006  scw Add NPE Ethernet and watchdog support.

Ethernet is enabled by default, but will be non-functional without
a microcode image from Intel. See arch/arm/xscale/ixp425-fw.README.
 1.1 28-Feb-2006  scw branches: 1.1.2; 1.1.10; 1.1.16; 1.1.20; 1.1.22; 1.1.24;
A port of NetBSD to the Linksys NSLU2 (a.k.a. "Slug").

The NSLU2 (Network Storage Link for USB 2.0 Disk Drives) is a small, *cheap*
NAS device consisting of an Intel IXP420 (Xscale) CPU, a 10/100mbit Ethernet
port, and two USB 2.0 ports. It has 32MB of SDRAM and 8MB of Flash memory,
and runs RedBoot/Linux out of the box. Now it can also run NetBSD.
 1.1.24.1 18-Dec-2006  yamt sync with head.
 1.1.22.2 09-Sep-2006  rpaulo sync with head
 1.1.22.1 28-Feb-2006  rpaulo file mk.nslu2 was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:40 +0000
 1.1.20.1 12-Jan-2007  ad Sync with head.
 1.1.16.3 30-Dec-2006  yamt sync with head.
 1.1.16.2 21-Jun-2006  yamt sync with head.
 1.1.16.1 28-Feb-2006  yamt file mk.nslu2 was added on branch yamt-lazymbuf on 2006-06-21 14:50:33 +0000
 1.1.10.2 22-Apr-2006  simonb Sync with head.
 1.1.10.1 28-Feb-2006  simonb file mk.nslu2 was added on branch simonb-timecounters on 2006-04-22 11:37:22 +0000
 1.1.2.2 01-Mar-2006  yamt sync with head.
 1.1.2.1 28-Feb-2006  yamt file mk.nslu2 was added on branch yamt-uio_vmspace on 2006-03-01 09:27:46 +0000
 1.4 15-Dec-2015  marty EXYNOS - change ODROID-XU4 to EXYNOS

EXYNOS will be a generic fdt kernel, so signify that with the name change,
as requested by Nick.
 1.3 30-Nov-2015  skrll Whitespace
 1.2 28-Nov-2015  marty Exit hypervisor mode before entering supervisor

The Odroid XU4 is booted in hypervisor mode, probably because it is trust
zone enabled. Before we can put it in supervisor we must explicitly remove
it from hypervisor.

This change is from Nick, who figured it out and adapted code from FreeBSD
to make the necessary change.
 1.1 13-Apr-2014  matt branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10; 1.1.12;
Add initial support for the ODROID-XU and ODROID-U3.
Still a work in progress. Started by nick and reinoud.
 1.1.12.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 13-Apr-2014  tls file mk.odroid was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.1.6.2 10-Aug-2014  tls Rebase.
 1.1.6.1 13-Apr-2014  tls file mk.odroid was added on branch tls-earlyentropy on 2014-08-10 06:53:55 +0000
 1.1.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 13-Apr-2014  yamt file mk.odroid was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.1.2.2 18-May-2014  rmind sync with head
 1.1.2.1 13-Apr-2014  rmind file mk.odroid was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.3 29-Oct-2022  jmcneill Remove support for TI OMAP 5912 OSK board.

This is part of the arch/arm/omap removal.
 1.2 27-Apr-2008  matt Merge kernel changes in matt-armv6 to HEAD.
 1.1 06-Jan-2007  christos branches: 1.1.2; 1.1.6; 1.1.8; 1.1.30; 1.1.50; 1.1.52; 1.1.54;
New files from Bucky Katz
 1.1.54.1 16-May-2008  yamt sync with head.
 1.1.52.1 18-May-2008  yamt sync with head.
 1.1.50.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.30.1 30-Oct-2007  cliff kernel virtual space starts at 0x80000000 now (was 0xc0000000).
 1.1.8.2 26-Feb-2007  yamt sync with head.
 1.1.8.1 06-Jan-2007  yamt file mk.osk5912 was added on branch yamt-lazymbuf on 2007-02-26 09:06:18 +0000
 1.1.6.2 24-Feb-2007  snj Pull up following revision(s) (requested by matt in ticket #457):
sys/arch/evbarm/conf/OSK5912: revision 1.1
sys/arch/evbarm/osk5912/if_sm_emifs.c: revision 1.1
sys/arch/evbarm/conf/std.osk5912: revision 1.1
sys/arch/evbarm/osk5912/osk5912_machdep.c: revision 1.1
sys/arch/evbarm/conf/mk.osk5912: revision 1.1
sys/arch/evbarm/conf/files.osk5912: revision 1.1
New files from Bucky Katz
 1.1.6.1 06-Jan-2007  snj file mk.osk5912 was added on branch netbsd-4 on 2007-02-24 19:03:13 +0000
 1.1.2.2 12-Jan-2007  ad Sync with head.
 1.1.2.1 06-Jan-2007  ad file mk.osk5912 was added on branch newlock2 on 2007-01-12 01:00:46 +0000
 1.3 08-Feb-2018  jmcneill Move Rockchip port to the attic. It is not very useful.
 1.2 28-Dec-2014  jmcneill branches: 1.2.2; 1.2.18;
add -mfpu=neon to CPPFLAGS
 1.1 26-Dec-2014  jmcneill Initial support for Rockchip RK3066 / RK3188 SoCs, from Hiroshi Tokuda
<tokuda@tokuda.net> on port-arm:

http://mail-index.netbsd.org/port-arm/2014/10/09/msg002651.html
 1.2.18.2 03-Dec-2017  jdolecek update from HEAD
 1.2.18.1 28-Dec-2014  jdolecek file mk.rockchip was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.2.2.2 06-Apr-2015  skrll Sync with HEAD
 1.2.2.1 28-Dec-2014  skrll file mk.rockchip was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.9 01-Dec-2020  rin Link RPI and RPI2 kernels in BE8 format for big-endian variants.
 1.8 16-Dec-2019  skrll branches: 1.8.8;
Be consistent with RPI 32-bit and 64-kernels and use .img for the file
to give to the firmware to boot
 1.7 16-Dec-2019  skrll Update to new RaspberryPi firware

commit 0c01dbefba45a08c47f8538d5a071a0fba6b7e83
Author: popcornmix <popcornmix@gmail.com>
Date: Wed Dec 11 15:30:08 2019 +0000

and include firmware for RPI4

Firmware has bee updated to support mainline linux kernels as described in
https://github.com/raspberrypi/linux/issues/3237
 1.6 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.5 10-Dec-2017  skrll branches: 1.5.2; 1.5.4;
FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.

The kernel image that the RPI firmware boots is now netbsd.img in the
kernel build directory.

XXX fdtbus_get_reg needs reworking
 1.4 28-Feb-2015  skrll Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.

This commit changes the KVA layout of the RPI.
 1.3 09-Feb-2013  christos branches: 1.3.12; 1.3.14;
name the kernel like other evbarms
 1.2 10-Dec-2012  matt Add -mfpu=vfp since these are arm11
 1.1 26-Jul-2012  skrll branches: 1.1.2; 1.1.4; 1.1.6;
Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.
 1.1.6.4 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.3 16-Jan-2013  yamt sync with (a bit old) head
 1.1.6.2 30-Oct-2012  yamt sync with head
 1.1.6.1 26-Jul-2012  yamt file mk.rpi was added on branch yamt-pagecache on 2012-10-30 17:19:21 +0000
 1.1.4.2 03-Dec-2017  jdolecek update from HEAD
 1.1.4.1 25-Feb-2013  tls resync with head
 1.1.2.3 13-Feb-2013  riz Pull up following revision(s) (requested by skrll in ticket #813):

etc/MAKEDEV.tmpl 1.160
etc/etc.evbarm/MAKEDEV.conf 1.9
external/broadcom/rpi-firmware/dist/LICENCE.broadcom 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.2
external/broadcom/rpi-firmware/dist/fixup.dat 1.1
external/broadcom/rpi-firmware/dist/fixup.dat 1.2
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.1
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.2
external/broadcom/rpi-firmware/dist/start.elf 1.1
external/broadcom/rpi-firmware/dist/start.elf 1.2
external/broadcom/rpi-firmware/dist/start_cd.elf 1.1
external/broadcom/rpi-firmware/dist/start_cd.elf 1.2
sys/arch/arm/broadcom/bcm2835_bsc.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_bscreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_dotg.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_emmc.c 1.7 via patch
sys/arch/arm/broadcom/bcm2835_genfb.c 1.4 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_gpioreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_intr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_mbox.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_mbox.h 1.4 via patch
sys/arch/arm/broadcom/bcm2835_obio.c 1.17 via patch
sys/arch/arm/broadcom/bcm2835_pm.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_rng.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_space.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_spi.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_spireg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_tmr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835reg.h 1.10 via patch
sys/arch/arm/broadcom/files.bcm2835 1.14 via patch
sys/arch/evbarm/conf/RPI 1.23 via patch
sys/arch/evbarm/conf/files.rpi 1.3 via patch
sys/arch/evbarm/conf/mk.rpi 1.2 via patch
sys/arch/evbarm/conf/std.rpi 1.4 via patch
sys/arch/evbarm/rpi/rpi_machdep.c 1.34 via patch
sys/arch/evbarm/rpi/rpi_start.S 1.7 via patch
sys/arch/evbarm/rpi/rpi_vcmbox.c 1.2 via patch
sys/arch/evbarm/rpi/vcio.h 1.1 via patch
sys/arch/evbarm/rpi/vcprop.h 1.7 via patch
sys/conf/files patch
sys/dev/sdmmc/sdhc.c 1.43
sys/dev/sdmmc/sdhcvar.h 1.13
sys/dev/usb/dwc_otg.c 1.45 via patch
sys/dev/usb/dwc_otgreg.h 1.5 via patch
sys/dev/usb/dwc_otgvar.h 1.11 via patch
sys/dev/usb/files.usb 1.126 via patch
sys/dev/usb/if_smsc.c 1.7 via patch
sys/dev/usb/if_smscreg.h 1.1 via patch
sys/dev/usb/if_smscvar.h 1.1 via patch
sys/dev/usb/usbdevices.config patch
sys/dev/usb/usbdevs 1.633 via patch
sys/dev/usb/usbdevs.h regen
sys/dev/usb/usbdevs_data.h regen
sys/dev/wscons/wsconsio.h 1.105,1.107 via patch
sys/dev/wscons/wsdisplayvar.h 1.50
sys/dev/wscons/wsdisplay_util.c 1.2
sys/dev/videomode/edid.c 1.12 via patch

Greatly improved Raspberry Pi support. USB and onboard
Ethernet should work.
[skrll, ticket #813]
 1.1.2.2 09-Aug-2012  jdc Pull up revisions:
src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4
src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65
src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40
src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14
src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11
src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2
src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108
src/sys/arch/arm/arm32/cpu.c revision 1.79
src/sys/arch/arm/include/armreg.h revisions 1.49,1.54
src/sys/arch/arm/arm32/pmap.c revision 1.229
src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77
src/sys/arch/arm/include/cpu.h revision 1.64
src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3
src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1
src/sys/arch/arm/conf/files.arm revision 1.106
src/sys/arch/arm/include/cpufunc.h revision 1.57
src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24
src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8
src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4
src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69
src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1
src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1
src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1
src/sys/arch/evbarm/Makefile revision 1.9
src/sys/arch/evbarm/conf/RPI revision 1.1
src/sys/arch/evbarm/conf/files.rpi revision 1.1
src/sys/arch/evbarm/conf/mk.rpi revision 1.1
src/sys/arch/evbarm/conf/std.rpi revision 1.1
src/sys/arch/evbarm/rpi/genassym.cf revision 1.1
src/sys/arch/evbarm/rpi/rpi.h revision 1.1
src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1
src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2
src/etc/etc.evbarm/Makefile.inc revision 1.28
(requested by skrll in ticket #454).

don't mix #define<TAB> and #define<SPACE> in a file.

avoid warning with options PLCOM_DEBUG for INTEGRATOR.

Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.

Replace the simple_lock with a kmutex_t. Update the locking to match
com(4) in the few places it didn't already.

DOH. Replace a line that got accidently deleted in the last commit.

device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t

Add the 'Z' to the 1176 cpu product name.

ok matt@

Fix locking botch introduced in 1.36.

Fix a KASSERT. From/OK'ed by matt@

Fix racy softint dispatch that lead to KASSERT(si->si_active) in
softint_execute

Discussed with matt@. "Looks good to me"

Add the documented ARM11[37]6 Auxiliary control register defines.

Add support for the ARM1176JZS

Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).

Provide a method for attachments to specify capabilites.

Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.

Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.

Add RPI to KERNEL_SETS

Remove #if 0 code.
 1.1.2.1 26-Jul-2012  jdc file mk.rpi was added on branch netbsd-6 on 2012-08-09 06:36:44 +0000
 1.3.14.1 06-Apr-2015  skrll Sync with HEAD
 1.3.12.1 11-Mar-2015  snj Pull up following revision(s) (requested by skrll in ticket #582):
distrib/utils/embedded/conf/rpi.conf: revision 1.27
etc/etc.evbarm/Makefile.inc: revision 1.70
sys/arch/arm/broadcom/bcm2835_intr.c: revision 1.5-1.7
sys/arch/arm/broadcom/bcm2835_obio.c: revision 1.23, 1.24
sys/arch/arm/broadcom/bcm2835_space.c: revision 1.8
sys/arch/arm/broadcom/bcm2835reg.h: revision 1.14
sys/arch/arm/broadcom/bcm2835var.h: revision 1.2
sys/arch/arm/broadcom/files.bcm2835: revision 1.24
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.30
sys/arch/arm/cortex/armperiph.c: revision 1.8, 1.9
sys/arch/arm/cortex/gtmr.c: revision 1.9
sys/arch/arm/cortex/gtmr_var.h: revision 1.5
sys/arch/arm/cortex/mpcore_var.h: revision 1.3
sys/arch/arm/include/cpu.h: revision 1.84
sys/arch/evbarm/conf/RPI2: revision 1.1, 1.2
sys/arch/evbarm/conf/RPI2_INSTALL: revision 1.1
sys/arch/evbarm/conf/RPI: revision 1.59, 1.60
sys/arch/evbarm/conf/mk.rpi: revision 1.4
sys/arch/evbarm/conf/std.rpi: revisions 1.16-1.19 via patch
sys/arch/evbarm/rpi/genassym.cf: revision 1.2
sys/arch/evbarm/rpi/rpi.h: revision 1.4
sys/arch/evbarm/rpi/rpi2_start.S: revision 1.1
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.57, 1.58 via patch
sys/arch/evbarm/rpi/rpi_start.S: revision 1.13
Move some options into std.rpi
--
Add __HAVE_MM_MD_CACHE_ALIASING
Pull up following revision(s) (requested by skrll in ticket #582):
Fix TPIDRPRW_IS_CURLWP builds.
--
A MULTIPROCESSOR kernel requires TPIDRPRW_IS_CURCPU.
--
Use TPIDRPRW_IS_CURLWP as it's a slight code reduction and performance
improvement.
Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.
This commit changes the KVA layout of the RPI.
--
Make this compile where gtmr isn't used.
--
Spin up the non-boot CPUs, but don't allow cpu_boot_secondary_processors
to see them for now.
RPI2 nows works well with only the boot cpu.
--
Appease a KASSERT - will be remove when MULTIPROCESSOR RPI2 is fixed.
--
Add RPI2 to kernels build for both earmv[67].
Use the earmv6 built kernels to create an image that can be used on both
RPI and RPI2
--
Add an RPI2_INSTALL
 1.5.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.5.4.1 10-Jun-2019  christos Sync with HEAD
 1.5.2.1 20-Oct-2018  pgoyette Sync with head
 1.8.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 31-Jul-2003  bsh move KERNEL_BASE_PHYS from mk.smdk2xx0 to std.smdk2800, to share
mk.smdk2xx0 with SMDK2410.
 1.1 03-Jan-2003  thorpej branches: 1.1.2; 1.1.4;
Split board-specific Makefile fragments into their own files.
 1.1.4.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.4.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.4.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 03-Jan-2003  thorpej Sync with HEAD.
 1.1.2.1 03-Jan-2003  thorpej file mk.smdk2xx0 was added on branch nathanw_sa on 2003-01-03 16:43:14 +0000
 1.7 31-Mar-2019  jmcneill Remove SUNXI kernel config.
 1.6 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.5 13-Dec-2017  jmcneill branches: 1.5.2; 1.5.4;
Revert compressed uimg change, it is causing problems with overlapping
$kernel_addr_r vs. kernel load address.
 1.4 09-Dec-2017  jmcneill Reduce the number of build artifacts and use a compressed version of the
kernel for legacy U-Boot images (netbsd.ub).
 1.3 23-Oct-2017  jakllsch branches: 1.3.2;
A couple small adjustments to make big endian (BE8) SUNXI work.
 1.2 24-Jul-2017  joerg branches: 1.2.2;
Replace assembler flags with .arch* annotation.
 1.1 28-Jun-2017  jmcneill branches: 1.1.4;
Add initial support for Allwinner H3 SoC.
 1.1.4.2 18-Jul-2017  snj branches: 1.1.4.2.2;
Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.1.4.1 28-Jun-2017  snj file mk.sunxi was added on branch netbsd-8 on 2017-07-18 19:13:09 +0000
 1.1.4.2.2.1 13-Dec-2017  matt Deal with compiler options in the source itself
 1.2.2.2 28-Aug-2017  skrll Sync with HEAD
 1.2.2.1 24-Jul-2017  skrll file mk.sunxi was added on branch nick-nhusb on 2017-08-28 17:51:34 +0000
 1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.3.2.1 23-Oct-2017  jdolecek file mk.sunxi was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.5.4.1 10-Jun-2019  christos Sync with HEAD
 1.5.2.1 20-Oct-2018  pgoyette Sync with head
 1.10 31-Mar-2019  jmcneill Remove TEGRA kernel config.
 1.9 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.8 11-Dec-2017  jmcneill branches: 1.8.2; 1.8.4;
Revert previous; L4T's T124 U-Boot does not boot large compressed images.
 1.7 09-Dec-2017  jmcneill Reduce the number of build artifacts and use a compressed version of the
kernel for legacy U-Boot images (netbsd.ub).
 1.6 16-Jun-2017  jmcneill branches: 1.6.4;
Set DTS makeoption in kernel config
 1.5 15-Jun-2017  jmcneill build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
 1.4 26-Sep-2016  jakllsch Add xhci(4) attachment glue and firmware handler for Tegra K1 "XUSB"
xHCI controller. Adjustments to tegraxusbpad(4) will be needed
to connect the controller to actual USB ports.
 1.3 13-Dec-2015  jmcneill branches: 1.3.2;
Use fdt for device enumeration.
 1.2 26-Apr-2015  jmcneill KERNEL_BASE_{PHYS,VIRT} are already defined in std.tegra
 1.1 29-Mar-2015  jmcneill branches: 1.1.2;
NVIDIA Tegra K1 support, work in progress.
 1.1.2.5 05-Oct-2016  skrll Sync with HEAD
 1.1.2.4 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.2.3 06-Jun-2015  skrll Sync with HEAD
 1.1.2.2 06-Apr-2015  skrll Sync with HEAD
 1.1.2.1 29-Mar-2015  skrll file mk.tegra was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.3.2.1 04-Nov-2016  pgoyette Sync with HEAD
 1.6.4.2 03-Dec-2017  jdolecek update from HEAD
 1.6.4.1 16-Jun-2017  jdolecek file mk.tegra was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.8.4.1 10-Jun-2019  christos Sync with HEAD
 1.8.2.1 20-Oct-2018  pgoyette Sync with head
 1.5 17-Feb-2024  christos Fix MKREPRO build (Jan-Benedict Glaw)
 1.4 21-Nov-2018  skrll Make TI compile and convert TI to generic start

Compile tested only (obviously)
 1.3 13-Dec-2017  jmcneill branches: 1.3.2; 1.3.4;
Revert compressed uimg change, it is causing problems with overlapping
$kernel_addr_r vs. kernel load address.
 1.2 09-Dec-2017  jmcneill Reduce the number of build artifacts and use a compressed version of the
kernel for legacy U-Boot images (netbsd.ub).
 1.1 26-Oct-2017  jakllsch branches: 1.1.2;
Initial FDT support for TI's ARM SoCs.

Currently supports only limited functionality on AM335x.
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 26-Oct-2017  jdolecek file mk.ti was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.3.4.1 10-Jun-2019  christos Sync with HEAD
 1.3.2.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.6 29-Oct-2022  jmcneill Remove support for TI OMAP 2420 and 2430 eval boards.

This is part of the arch/arm/omap removal.
 1.5 05-Dec-2013  matt Use armv6z so {ldr,str}ex{b,h,d} won't generate warnings.
 1.4 10-Dec-2012  matt branches: 1.4.2;
Add -mfpu=vfp since these are arm11
 1.3 14-Jul-2012  matt branches: 1.3.2;
Use -march=armv6k -mtune=arm1136jf-s so that gas will believe there are
{ldr,str}ex{b,h,d} instruction available. This is for the use of
ldrexb/strexb instead of swpb for __cpu_simple_lock_t.
 1.2 27-Apr-2008  matt branches: 1.2.34;
Merge kernel changes in matt-armv6 to HEAD.
 1.1 29-Oct-2007  matt branches: 1.1.2; 1.1.6; 1.1.18; 1.1.20; 1.1.22;
file mk.tisdp24xx was initially added on branch matt-armv6.
 1.1.22.1 16-May-2008  yamt sync with head.
 1.1.20.1 18-May-2008  yamt sync with head.
 1.1.18.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.1.6.1 29-Oct-2007  matt file mk.tisdp24xx was added on branch matt-nb4-arm on 2007-11-10 02:56:56 +0000
 1.1.2.1 29-Oct-2007  matt Add support files TI SDP2420/SDP2430 eval board.
 1.2.34.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.2.34.2 16-Jan-2013  yamt sync with (a bit old) head
 1.2.34.1 30-Oct-2012  yamt sync with head
 1.3.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.2.1 25-Feb-2013  tls resync with head
 1.4.2.1 18-May-2014  rmind sync with head
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 23-Dec-2004  joff branches: 1.1.4;
build configuration metadata for TS-7200 SBC
 1.1.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.1 23-Dec-2004  skrll file mk.tsarm was added on branch ktrace-lwp on 2005-01-17 19:29:13 +0000
 1.8 20-Jan-2019  skrll G/C
 1.7 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.6 13-Dec-2017  jmcneill branches: 1.6.2; 1.6.4;
Revert compressed uimg change, it is causing problems with overlapping
$kernel_addr_r vs. kernel load address.
 1.5 09-Dec-2017  jmcneill Reduce the number of build artifacts and use a compressed version of the
kernel for legacy U-Boot images (netbsd.ub).
 1.4 16-Jun-2017  jmcneill branches: 1.4.4;
Set DTS makeoption in kernel config
 1.3 15-Jun-2017  jmcneill build vexpress-v2p-ca15-tc1.dtb with the kernel
 1.2 02-Jun-2017  jmcneill Switch VEXPRESS_A15 kernel to use FDT and GENERIC.common. The dtb for this
kernel can be found in the sysutils/dtb-arm-vexpress package as
vexpress-v2p-ca15-tc1.dtb
 1.1 09-Feb-2015  slp branches: 1.1.2;
Add support for Versatile Express A15 board.

This has not been tested with real hardware, just with the software
model emulated by QEMU.
 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 09-Feb-2015  skrll file mk.vexpress was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.4.4.2 03-Dec-2017  jdolecek update from HEAD
 1.4.4.1 16-Jun-2017  jdolecek file mk.vexpress was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.6.4.1 10-Jun-2019  christos Sync with HEAD
 1.6.2.2 26-Jan-2019  pgoyette Sync with HEAD
 1.6.2.1 20-Oct-2018  pgoyette Sync with head
 1.3 30-Jun-2011  matt Use ${TOOL_GZIP}
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 06-Jun-2005  pooka branches: 1.1.8;
Add initial support for the PXA255-based Arcom Viper ARM board.
The system can boot into multiuser, but most of the peripheral
driver attachments are still missing.

Thanks go to Jan Nyman for arranging access to the hardware and to
Steve Woodford for reviewing the code.
 1.1.8.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.8.1 06-Jun-2005  skrll file mk.viper was added on branch ktrace-lwp on 2005-11-10 13:55:51 +0000
 1.3 29-Oct-2022  jmcneill GC unused files.
 1.2 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.1 14-Jun-2018  jmcneill branches: 1.1.2; 1.1.4;
Add support for QEMU ARM Virtual Machine ("virt").
 1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.2.3 20-Oct-2018  pgoyette Sync with head
 1.1.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.1.2.1 14-Jun-2018  pgoyette file mk.virt was added on branch pgoyette-compat on 2018-06-25 07:25:40 +0000
 1.3 28-Oct-2022  jmcneill Retire PARALLELLA and ZEDBOARD kernel configs.

The Zynq-7000 port has been converted to Devicetree and is supported
by the GENERIC kernel now.
 1.2 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.1 23-Jan-2015  hkenken branches: 1.1.2; 1.1.4; 1.1.20; 1.1.22; 1.1.24;
Initial Zynq (Xilinx) support
Add support for ZedBoard evaluation board and Parallella board.
* cemac(4) Cadence EMAC/GEM(Gigabit) Ethernet Controller driver
based on at91emac
 1.1.24.1 10-Jun-2019  christos Sync with HEAD
 1.1.22.1 20-Oct-2018  pgoyette Sync with head
 1.1.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.20.1 23-Jan-2015  jdolecek file mk.zynq was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.4.2 11-May-2015  msaitoh Pull up following revision(s) (requested by nonaka in ticket #751):
sys/arch/arm/zynq/zynq_axi.c: revision 1.1
sys/arch/evbarm/conf/files.zynq: revision 1.1
sys/arch/arm/zynq/zynq_uart.c: revision 1.1
sys/arch/evbarm/zynq/genassym.cf: revision 1.1
sys/arch/evbarm/zynq/zynq_start.S: revision 1.1
sys/arch/arm/zynq/zynq_slcrreg.h: revision 1.1
sys/arch/arm/zynq/zynq_usbreg.h: revision 1.1
sys/arch/arm/zynq/zynq7000_uart.c: revision 1.1
sys/arch/arm/zynq/zynq7000_sdhc.c: revision 1.1
sys/arch/arm/zynq/zynq_slcrvar.h: revision 1.1
sys/arch/arm/zynq/zynq_usbvar.h: revision 1.1
sys/arch/evbarm/conf/PARALLELLA_INSTALL: revision 1.1
sys/arch/arm/zynq/zynq_uartreg.h: revision 1.1
sys/arch/evbarm/zynq/platform.h: revision 1.1
sys/arch/evbarm/conf/mk.zynq: revision 1.1
sys/arch/evbarm/conf/files.zedboard: revision 1.1
sys/arch/arm/zynq/zynq7000_usb.c: revision 1.1
sys/dev/cadence/if_cemacvar.h: revision 1.1
sys/arch/arm/zynq/files.zynq: revision 1.1
sys/arch/arm/zynq/zynq_slcr.c: revision 1.1
sys/arch/arm/zynq/zynq7000_intr.h: revision 1.1
sys/arch/arm/conf/majors.arm32: revision 1.36
sys/arch/arm/zynq/zynq_uartvar.h: revision 1.1
sys/arch/evbarm/conf/files.parallella: revision 1.1
sys/arch/arm/zynq/zynq_space.c: revision 1.1
sys/dev/cadence/if_cemac.c: revision 1.1
sys/arch/evbarm/conf/PARALLELLA: revision 1.1
sys/arch/arm/zynq/zynq7000_board.c: revision 1.1
sys/arch/evbarm/Makefile: revision 1.10
sys/arch/evbarm/zynq/zynq_machdep.c: revision 1.1
sys/arch/arm/zynq/zynq7000_reg.h: revision 1.1
sys/arch/evbarm/conf/ZEDBOARD: revision 1.1
sys/dev/cadence/cemacreg.h: revision 1.1
sys/arch/evbarm/conf/std.zynq: revision 1.1
sys/arch/arm/zynq/zynq_dma.c: revision 1.1
sys/arch/arm/zynq/zynq_cemac.c: revision 1.1
sys/arch/arm/zynq/zynq7000_var.h: revision 1.1
sys/arch/evbarm/conf/ZEDBOARD_INSTALL: revision 1.1
sys/arch/arm/zynq/zynq_usb.c: revision 1.1
Initial Zynq (Xilinx) support
Add support for ZedBoard evaluation board and Parallella board.
* cemac(4) Cadence EMAC/GEM(Gigabit) Ethernet Controller driver
based on at91emac
 1.1.4.1 23-Jan-2015  msaitoh file mk.zynq was added on branch netbsd-7 on 2015-05-11 11:00:33 +0000
 1.1.2.2 06-Apr-2015  skrll Sync with HEAD
 1.1.2.1 23-Jan-2015  skrll file mk.zynq was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.11 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.10 16-Dec-2012  matt branches: 1.10.36; 1.10.38;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.9 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.8 22-Jun-2008  kiyohara branches: 1.8.30; 1.8.40;
Fix macro KERNEL_BASE_EXT from KERNEL_EXT_BASE.
 1.7 09-May-2008  matt branches: 1.7.2;
Add KERNEL_BASE_EXT=0xc0000000 to those plaforms that need it.
Note that armv6 and later systems will use 0x80000000 as the kernel start
so they can use the split TTBs in armv6 and later.
 1.6 27-Jan-2008  chris branches: 1.6.6; 1.6.8; 1.6.10; 1.6.12;
Add an arm/conf/std.arm file which contains common arm options, initially
just options CPU_IN_CKSUM.

Include std.arm in all arm platform std files.

This should reenable the asm in_cksum code for all arm platforms.

Also remove the now unused in_cksum_arm.S.
 1.5 11-Dec-2005  christos branches: 1.5.46; 1.5.50; 1.5.56;
merge ktrace-lwp.
 1.4 17-Sep-2005  yamt include "conf/std".
 1.3 22-May-2003  thorpej branches: 1.3.2; 1.3.18;
Don't need ARM32_PMAP_NEW option any more.
 1.2 19-Apr-2003  thorpej Adapt to ARM32_PMAP_NEW.
 1.1 25-Jan-2003  thorpej Add support for ADI Engineering's "Big Red Head" i80200 evaluation
and development board, based around their BECC companion chip. Despite
its name, the board can run in big- or little-endian mode (we currently
run only in the latter).
 1.3.18.2 04-Feb-2008  yamt sync with head.
 1.3.18.1 21-Jun-2006  yamt sync with head.
 1.3.2.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.5.50.1 23-Mar-2008  matt sync with HEAD
 1.5.46.1 28-Feb-2008  rjs Sync with HEAD.
 1.6.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.6.10.2 04-May-2009  yamt sync with head.
 1.6.10.1 16-May-2008  yamt sync with head.
 1.6.8.1 18-May-2008  yamt sync with head.
 1.6.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.6.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.2.1 27-Jun-2008  simonb Sync with head.
 1.8.40.1 25-Feb-2013  tls resync with head
 1.8.30.1 23-Jan-2013  yamt sync with head
 1.10.38.1 10-Jun-2019  christos Sync with HEAD
 1.10.36.1 20-Oct-2018  pgoyette Sync with head
 1.6 28-Oct-2018  aymeric branches: 1.6.4;
Define __HAVE_GENERIC_START now that it works; former startup files were
removed anyway...
 1.5 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.4 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.3 08-Oct-2018  skrll Sort options.

No functional change.
 1.2 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.1 19-Sep-2018  aymeric branches: 1.1.2;
Add support for the DE0 NanoSoC board.

It's Cyclone V based and thus includes a dual-core Cortex A9 @925MHz.
Most standard peripherals are supported (USB, SDCard, Ethernet) and
no unusual peripheral is supported yet (FPGA, GPIO, ...)
 1.1.2.4 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.2.3 20-Oct-2018  pgoyette Sync with head
 1.1.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.2.1 19-Sep-2018  pgoyette file std.altera was added on branch pgoyette-compat on 2018-09-30 01:45:40 +0000
 1.6.4.2 10-Jun-2019  christos Sync with HEAD
 1.6.4.1 28-Oct-2018  christos file std.altera was added on branch phil-wifi on 2019-06-10 22:06:05 +0000
 1.9 20-Jan-2019  skrll Another kernel bites te dust.

Remove ODROID-C1 as it is now replaced by GENERIC. Thanks jmcneill.
 1.8 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.7 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.6 08-Oct-2018  skrll Sort options.

No functional change.
 1.5 07-Oct-2018  skrll Remove a space that snuck in
 1.4 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.3 01-Jul-2017  skrll branches: 1.3.4; 1.3.6; 1.3.8;
Define __HAVE_CPU_UAREA_ALLOC_IDLELWP
 1.2 27-Feb-2015  jmcneill branches: 1.2.2; 1.2.4;
no need to override ARM_CBAR, remove unused COM_16750 option
 1.1 07-Feb-2015  jmcneill Work-in-progress Odroid-C1 support.
 1.2.4.3 28-Aug-2017  skrll Sync with HEAD
 1.2.4.2 06-Apr-2015  skrll Sync with HEAD
 1.2.4.1 27-Feb-2015  skrll file std.amlogic was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.2.2.2 21-Mar-2015  snj Pull up following revision(s) (requested by jmcneill in ticket #598):
sys/arch/arm/amlogic/amlogic_board.c: up to revision 1.9
sys/arch/arm/amlogic/amlogic_canvasreg.h: revision 1.1
sys/arch/arm/amlogic/amlogic_com.c: up to revision 1.4
sys/arch/arm/amlogic/amlogic_comreg.h: up to revision 1.3
sys/arch/arm/amlogic/amlogic_comvar.h: revision 1.1
sys/arch/arm/amlogic/amlogic_cpufreq.c: up to revision 1.2
sys/arch/arm/amlogic/amlogic_crureg.h: up to revision 1.7
sys/arch/arm/amlogic/amlogic_dwctwo.c: up to revision 1.2
sys/arch/arm/amlogic/amlogic_genfb.c: revision 1.1
sys/arch/arm/amlogic/amlogic_gmac.c: up to revision 1.2
sys/arch/arm/amlogic/amlogic_hdmireg.h: revision 1.1
sys/arch/arm/amlogic/amlogic_intr.h: up to revision 1.5
sys/arch/arm/amlogic/amlogic_io.c: up to revision 1.7
sys/arch/arm/amlogic/amlogic_reg.h: up to revision 1.9
sys/arch/arm/amlogic/amlogic_rng.c: revision 1.1
sys/arch/arm/amlogic/amlogic_sdhc.c: up to revision 1.3
sys/arch/arm/amlogic/amlogic_sdhcreg.h: revision 1.1
sys/arch/arm/amlogic/amlogic_space.c: revision 1.1
sys/arch/arm/amlogic/amlogic_var.h: up to revision 1.8
sys/arch/arm/amlogic/amlogic_vpureg.h: revision 1.1
sys/arch/arm/arm/bootconfig.c: revisions 1.7-1.8
sys/arch/arm/conf/files.arm: revision 1.129
sys/arch/arm/cortex/pl310.c: revisions 1.16-1.17
sys/arch/arm/cortex/a9_mpsubr.S: revisions 1.25-1.29
sys/arch/arm/cortex/a9tmr.c: revisions 1.8-1.12
sys/arch/arm/cortex/a9tmr_var.h: revision 1.4
sys/arch/arm/cortex/a9wdt.c: revisions 1.3-1.4
sys/arch/arm/cortex/armperiph.c: revisions 1.5-1.7
sys/arch/arm/arm/cpufunc.c: revision 1.151
sys/arch/arm/include/bootconfig.h: revision 1.7
sys/arch/arm/include/locore.h: revision 1.19
sys/arch/evbarm/amlogic/amlogic_machdep.c: up to revision 1.17
sys/arch/evbarm/amlogic/amlogic_start.S: up to revision 1.2
sys/arch/evbarm/amlogic/genassym.cf: revision 1.1
sys/arch/evbarm/amlogic/platform.h: revision 1.1
sys/arch/evbarm/conf/files.amlogic: up to revision 1.8
sys/arch/evbarm/conf/std.amlogic: up to revision 1.2
sys/arch/evbarm/conf/mk.amlogic: revision 1.1
sys/arch/evbarm/conf/ODROID-C1: up to revision 1.12
sys/arch/evarm/conf/ODROID-C1_INSTALL: revision 1.1
Don't use not as a variable since it's reserved in C++.
--
clean the a9 l2 cache before turning it on.
--
Add Cortex-A17 support
--
Fix CORTEXA17 support
--
Let the "cbar" device property override the cbar value, to work around
broken bootloaders
--
add a helper to update a9tmr frequency
--
detach and re-attach timecounter when updating freq, and reinit timer on
each cpu
--
fix typo
--
add BOOTOPT_TYPE_MACADDR for parsing mac address parameters
--
make sure we set ACTLR.SMP=1 for CPU_CORTEXA5 in !MP case, ok matt@
--
According to the Cortex-A5 TRM, the CBAR register is not implemented and
always reads as 0x00000000. Add ARM_CBAR option to set this in kernel
config.
--
skip a TLBIALL on Cortex-A5 that stops my odroid-c1 from booting, ok matt
--
match on Cortex-A5
--
match on Cortex-A5
--
allow arml2cc to be used on Cortex-A5 if the "offset" property is specified
--
print "A5" instead of "A9" at attach time if running on a Cortex-A5
--
Improve inline asm around dsb/dmb/isb:
- always use volatile and mark them as memory barrier
- use the common version from locore.h in all places not included from
userland
--
Work-in-progress Odroid-C1 support.
--
no need to override ARM_CBAR, remove unused COM_16750 option
--
Add basic serial console support.
--
add dwctwo and usb devices
--
ODROID-C1 SMP support.
--
auto-detect RAM size
--
ODROID-C1 onboard ethernet support.
--
add amlogicrng, add commented-out genfb placeholder
--
enable amlogicsdhc
--
add ODROID-C1 install kernel
--
Add CPUFREQ option to set boot CPU frequency. ODROID-C1 is advertised
as quad-core 1.5GHz but boots up at 1.2GHz; add CPUFREQ=1512 to config
and make sure to set the correct speed before attaching CPUs.
The speed can still be scaled down with machdep.cpu sysctls.
--
disable DEBUG, LOCKDEBUG, VERBOSE_INIT_ARM
--
Basic framebuffer console support. Work in progress.
 1.2.2.1 27-Feb-2015  snj file std.amlogic was added on branch netbsd-7 on 2015-03-21 08:51:18 +0000
 1.3.8.1 10-Jun-2019  christos Sync with HEAD
 1.3.6.2 26-Jan-2019  pgoyette Sync with HEAD
 1.3.6.1 20-Oct-2018  pgoyette Sync with head
 1.3.4.2 03-Dec-2017  jdolecek update from HEAD
 1.3.4.1 01-Jul-2017  jdolecek file std.amlogic was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.7 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.6 08-Oct-2018  skrll Sort options.

No functional change.
 1.5 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.4 01-Jul-2017  skrll branches: 1.4.4; 1.4.6;
Define __HAVE_CPU_UAREA_ALLOC_IDLELWP
 1.3 29-Mar-2014  matt branches: 1.3.4; 1.3.8;
Change KERNEL_EXT_BASE to 0x80000000 and KERNEL_BASE_VIRT correspondingly.
 1.2 14-Jun-2013  rkujawa branches: 1.2.2; 1.2.4;
Use VBAR register on Armada XP.
 1.1 29-May-2013  rkujawa Add build configuration for Armada XP.

Obtained from Marvell, Semihalf.
 1.2.4.1 18-May-2014  rmind sync with head
 1.2.2.4 03-Dec-2017  jdolecek update from HEAD
 1.2.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.2.2 23-Jun-2013  tls resync from head
 1.2.2.1 14-Jun-2013  tls file std.armadaxp was added on branch tls-maxphys on 2013-06-23 06:20:04 +0000
 1.3.8.1 28-Aug-2017  skrll Sync with HEAD
 1.3.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.3.4.1 29-Mar-2014  yamt file std.armadaxp was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.4.6.1 10-Jun-2019  christos Sync with HEAD
 1.4.4.1 20-Oct-2018  pgoyette Sync with head
 1.9 08-Oct-2018  skrll Sort options.

No functional change.
 1.8 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.7 16-Dec-2012  matt branches: 1.7.36; 1.7.38;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.6 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.5 22-Jun-2008  kiyohara branches: 1.5.30; 1.5.40;
Fix macro KERNEL_BASE_EXT from KERNEL_EXT_BASE.
 1.4 09-May-2008  matt branches: 1.4.2;
Add KERNEL_BASE_EXT=0xc0000000 to those plaforms that need it.
Note that armv6 and later systems will use 0x80000000 as the kernel start
so they can use the split TTBs in armv6 and later.
 1.3 27-Jan-2008  chris branches: 1.3.6; 1.3.8; 1.3.10; 1.3.12;
Add an arm/conf/std.arm file which contains common arm options, initially
just options CPU_IN_CKSUM.

Include std.arm in all arm platform std files.

This should reenable the asm in_cksum code for all arm platforms.

Also remove the now unused in_cksum_arm.S.
 1.2 13-Feb-2006  hamajima branches: 1.2.12; 1.2.42; 1.2.46; 1.2.52;
identify model from DeviceCfg register, and delete "options ARMADILLO210".
get DRAM information and boot argument from bootloader.
 1.1 13-Nov-2005  hamajima branches: 1.1.4; 1.1.6; 1.1.8; 1.1.10;
Add initial support for the EP9315-based Atmark Techno Armadillo-9 board.
 1.1.10.1 22-Apr-2006  simonb Sync with head.
 1.1.8.1 09-Sep-2006  rpaulo sync with head
 1.1.6.1 18-Feb-2006  yamt sync with head.
 1.1.4.2 11-Dec-2005  christos Sync with head.
 1.1.4.1 13-Nov-2005  christos file std.armadillo9 was added on branch ktrace-lwp on 2005-12-11 10:28:16 +0000
 1.2.52.1 18-Feb-2008  mjf Sync with HEAD.
 1.2.46.1 23-Mar-2008  matt sync with HEAD
 1.2.42.1 28-Feb-2008  rjs Sync with HEAD.
 1.2.12.3 04-Feb-2008  yamt sync with head.
 1.2.12.2 21-Jun-2006  yamt sync with head.
 1.2.12.1 13-Feb-2006  yamt file std.armadillo9 was added on branch yamt-lazymbuf on 2006-06-21 14:50:33 +0000
 1.3.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.3.10.2 04-May-2009  yamt sync with head.
 1.3.10.1 16-May-2008  yamt sync with head.
 1.3.8.1 18-May-2008  yamt sync with head.
 1.3.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.3.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.2.1 27-Jun-2008  simonb Sync with head.
 1.5.40.1 25-Feb-2013  tls resync with head
 1.5.30.1 23-Jan-2013  yamt sync with head
 1.7.38.1 10-Jun-2019  christos Sync with HEAD
 1.7.36.1 20-Oct-2018  pgoyette Sync with head
 1.11 08-Apr-2018  jmcneill Remove old Allwinner port.
 1.10 01-Jul-2017  skrll branches: 1.10.4; 1.10.6;
Define __HAVE_CPU_UAREA_ALLOC_IDLELWP
 1.9 19-Dec-2015  skrll Tweak CPUFLAGS to cover all CPUs
 1.8 29-Nov-2015  skrll Page align KERNEL_BASE_{PHYS,VIRT} and fix boot on my BPI after the XN
fix.
 1.7 22-Apr-2015  matt Revert back to IS_CURCPU until panics with CURLWP are solved.
 1.6 20-Apr-2015  matt Use TPIDRPRW_IS_CURLWP
 1.5 22-Oct-2014  jmcneill branches: 1.5.2;
Add support for GPIO configuration via "FEX" scripts, in an attempt to
keep awin_device_register under control.

Board configuration scripts can be found here:
https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config

You can compile them with the "fex2bin" tool found here:
https://github.com/linux-sunxi/sunxi-tools

To use, copy the compiled FEX to your MS-DOS partition, load it with
U-Boot, and then tell the kernel where to find it with the "sysconfig="
boot option. For example, uEnv.txt on a Cubieboard2 might look like this:

bootargs=root=ld0a sysconfig=0x43000000
uenvcmd=mmc dev 0; mmc rescan; fatload mmc 0:1 43000000 cubieboard2.bin; fatload mmc 0:1 82000000 netbsd.ub; bootm 82000000
 1.4 14-Oct-2014  jmcneill move cpu flags to makeoptios
 1.3 13-Sep-2014  jmcneill options MOTG_ALLWINNER
 1.2 10-Sep-2014  matt options GTTWSI_ALLWINNER
 1.1 31-Aug-2014  matt branches: 1.1.2;
Move away from cubie to awin since "cubie" will actually work on non-cubie
boards. Let the config file specify what board is being built for.
 1.1.2.6 26-Feb-2016  snj Pull up following revision(s) (requested by skrll in ticket #1107):
external/broadcom/rpi-firmware/dist/LICENCE.broadcom: revision 1.2
external/broadcom/rpi-firmware/dist/bootcode.bin: revision 1.8
external/broadcom/rpi-firmware/dist/fixup.dat: revision 1.8
external/broadcom/rpi-firmware/dist/fixup_cd.dat: revision 1.8
external/broadcom/rpi-firmware/dist/start.elf: revision 1.8
external/broadcom/rpi-firmware/dist/start_cd.elf: revision 1.8
sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.29
sys/arch/arm/broadcom/bcm2835_gpio.c: revision 1.3
sys/arch/arm/broadcom/bcm2835_gpio_subr.c: revision 1.4
sys/arch/arm/broadcom/bcm2835_space.c: revision 1.9, 1.10
sys/arch/arm/broadcom/bcm2835reg.h: patch
sys/arch/arm/cortex/a9_mpsubr.S: revisions 1.45, 1.46
sys/arch/evbarm/conf/CUBIEBOARD: revision 1.45
sys/arch/evbarm/conf/std.awin: revision 1.9
sys/arch/evbarm/rpi/rpi2_start.S: revision 1.3
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.68
Check for hypervisor mode in cortex_init and exit if the cpu started
there.
Needed by latest RPI firmware.
--
Fix up bus_space_map for latest RPI firmware which now passes the FB
address in the mailbox properties as a bus address.
--
Update RPI firmware to version after the following commit
commit 224c75602b8bae1a9e942b4f1c7ed3aa8e0f0ec8
Author: popcornmix<popcornmix@gmail.com>
Date: Tue Dec 8 14:48:57 2015 +0000
--
Deal with kernel builds where virtualisation isn't available
--
Tweak CPUFLAGS to cover all CPUs
--
Fix up bcm283[56] bus_space(4) to really use bus addresses for
peripherals, etc
Simplifies the code in various places and uses the abstraction in
more places. (bcm2835_gpio_subr.c still doesn't)
 1.1.2.5 13-Nov-2014  martin Actually do pullup rev 1.2, as requested by skrll in #223
 1.1.2.4 13-Nov-2014  martin Fix pullup of rev 1.4 for ticket #222
 1.1.2.3 12-Nov-2014  martin Pull up following revision(s) (requested by skrll in ticket #222):
etc/etc.evbarm/Makefile.inc 1.64
sys/arch/evbarm/conf/BPI 1.2,1.4,1.6-1.7,1.9
sys/arch/evbarm/conf/BPI_INSTALL 1.1
sys/arch/evbarm/conf/CUBIEBOARD 1.18-1.30
sys/arch/evbarm/conf/CUBIETRUCK 1.4,1.6
sys/arch/evbarm/conf/mk.awin 1.4
sys/arch/evbarm/conf/std.awin 1.4 (via patch)
sys/conf/files 1.1104
sys/dev/usb/motg.c 1.9-1.12
sys/dev/usb/motgreg.h 1.2-1.4
Allow attachment glue to override the number of endpoints
-
options MOTG_ALLWINNER to select the awin specific reg layout
options MOTG_ALLWINNER
-
Instead of polluting motgreg.h with AllWinner specific registers (things
were getting out of hand), move the AllWinner reg definitions to
arch/arm/allwinner/awin_otgreg.h and include that instead of
dev/usb/motgreg.h when MOTG_ALLWINNER is defined.
let the bus driver override fifo size
-
If the bus driver supplies a fifo size and dynfifo is true, use it
-
Various kernel config fixes.
 1.1.2.2 10-Sep-2014  martin Pull up following revision(s) (requested by skrll in ticket #82):
sys/arch/evbarm/awin/awin_start.S: revision 1.1
sys/arch/evbarm/conf/mk.cubie: file removal
sys/arch/evbarm/conf/std.awin: revision 1.1
sys/arch/evbarm/cubie/genassym.cf: file removal
sys/arch/evbarm/conf/CUBIEBOARD: revision 1.17
sys/arch/evbarm/conf/BPI: revision 1.1
sys/arch/evbarm/awin/genassym.cf: revision 1.1
sys/arch/evbarm/awin/platform.h: revision 1.1
sys/arch/evbarm/conf/files.awin: revision 1.1
sys/arch/evbarm/conf/mk.cubie: revision 1.4
sys/arch/evbarm/conf/CUBIETRUCK: revision 1.3
sys/arch/evbarm/cubie/cubie_machdep.c: revision 1.21
sys/arch/evbarm/awin/awin_machdep.c: revision 1.1
sys/arch/evbarm/awin/awin_machdep.c: revision 1.3
sys/arch/evbarm/awin/awin_machdep.c: revision 1.4
sys/arch/evbarm/conf/std.cubie: file removal
sys/arch/evbarm/conf/mk.awin: revision 1.1
sys/arch/evbarm/conf/mk.awin: revision 1.2
sys/arch/evbarm/cubie/cubie_machdep.c: file removal
sys/arch/evbarm/cubie/cubie_start.S: file removal
sys/arch/evbarm/cubie/platform.h: file removal
sys/arch/evbarm/conf/files.cubie: file removal

Move away from "cubie" to generic "awin" and introduce a BOARDTYPE
variable. This allows other boards to use the cubie code.

Add a Banana Pi kernel config and fixup mmc0detect assignment for BPI.
 1.1.2.1 31-Aug-2014  martin file std.awin was added on branch netbsd-7 on 2014-09-10 09:37:51 +0000
 1.5.2.3 28-Aug-2017  skrll Sync with HEAD
 1.5.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.10.6.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.4.2 03-Dec-2017  jdolecek update from HEAD
 1.10.4.1 01-Jul-2017  jdolecek file std.awin was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.22 25-Feb-2024  skrll Add ARM_HAS_VBAR
 1.21 13-Feb-2024  skrll Define KERNEL_VOFFSET_RUNTIME=1 to fix build of BCM5301X and BCM56340
 1.20 18-May-2019  skrll branches: 1.20.28;
Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.19 21-Jan-2019  skrll Sort
 1.18 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.17 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.16 08-Oct-2018  skrll Sort options.

No functional change.
 1.15 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.14 21-Feb-2014  matt branches: 1.14.28; 1.14.30;
Rearrange KERNEL_BASE_PHYS
 1.13 01-Nov-2013  skrll branches: 1.13.2;
Remove the bogus CPPFLAGS+="-I$S/../../../include"

Prompted by the build problem reported by John Klos
 1.12 28-Oct-2013  matt Support for the Broadcom BCM56340 iProc based switch.
 1.11 13-Feb-2013  matt branches: 1.11.2;
Turn on bounce buffering.
 1.10 16-Dec-2012  matt Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.9 16-Dec-2012  matt Use std.evbarm
 1.8 12-Dec-2012  matt Add options __HAVE_MM_MD_DIRECT_MAPPED_PHYS
for BCM5301X, also add SOSEND_NO_LOAN
 1.7 17-Oct-2012  matt branches: 1.7.2; 1.7.4;
Add PMAP_NEEDS_ALLOC_POOLPAGE
 1.6 05-Oct-2012  matt Disable support for bounce buffers
 1.5 22-Sep-2012  matt Add FPU_VFP option
 1.4 18-Sep-2012  matt Enable bounce buffers
 1.3 15-Sep-2012  matt Add __HAVE_ATOMIC64_OPS and __HAVE_PCI_CONF_HOOK
 1.2 01-Sep-2012  matt branches: 1.2.2;
Add DKWEDGE support
Add __HAVE_CPU_COUNTER
 1.1 01-Sep-2012  matt Add support for the BCM95301X development board
 1.2.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.2.2 25-Feb-2013  tls resync with head
 1.2.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.7.4.3 13-Feb-2013  matt enable bounce buffers
 1.7.4.2 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.7.4.1 17-Oct-2012  matt file std.bcm53xx was added on branch matt-nb6-plus on 2012-11-28 22:50:09 +0000
 1.7.2.5 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.4 23-Jan-2013  yamt sync with head
 1.7.2.3 16-Jan-2013  yamt sync with (a bit old) head
 1.7.2.2 30-Oct-2012  yamt sync with head
 1.7.2.1 17-Oct-2012  yamt file std.bcm53xx was added on branch yamt-pagecache on 2012-10-30 17:19:21 +0000
 1.11.2.1 18-May-2014  rmind sync with head
 1.13.2.4 27-Mar-2014  matt Add ARM_HAS_VBAR
 1.13.2.3 15-Feb-2014  matt remove __HAVE_ATOMIC64_OPS (it's in types.h now)
 1.13.2.2 15-Feb-2014  matt Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.
 1.13.2.1 01-Nov-2013  matt file std.bcm53xx was added on branch matt-nb5-mips64 on 2014-02-15 16:18:37 +0000
 1.14.30.1 10-Jun-2019  christos Sync with HEAD
 1.14.28.2 26-Jan-2019  pgoyette Sync with HEAD
 1.14.28.1 20-Oct-2018  pgoyette Sync with head
 1.20.28.2 25-Feb-2024  martin Pull up following revision(s) (requested by skrll in ticket #611):

sys/arch/evbarm/conf/std.bcm53xx: revision 1.22

Add ARM_HAS_VBAR
 1.20.28.1 18-Feb-2024  martin Pull up following revision(s) (requested by skrll in ticket #597):

sys/arch/evbarm/conf/std.bcm53xx: revision 1.21
sys/arch/arm/broadcom/bcm53xx_eth.c: revision 1.43
sys/arch/arm/broadcom/bcm53xx_pax.c: revision 1.23

Define KERNEL_VOFFSET_RUNTIME=1 to fix build of BCM5301X and BCM56340

Fix non-DIAGNOSTIC build
 1.20 29-Oct-2022  jmcneill Retire arch/evbarm/beagle.

A few more kernel configs go away:

- OMAP5EVM and PANDABOARD likely never worked to begin with.
- N900 and VTC100 are TI AM335x based, which is supported by GENERIC.
 1.19 03-Sep-2021  andvar s/opions/options/
 1.18 18-May-2019  skrll Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.17 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.16 08-Oct-2018  skrll Sort options.

No functional change.
 1.15 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.14 02-Jul-2017  skrll branches: 1.14.4; 1.14.6;
Define __HAVE_CPU_UAREA_ALLOC_IDLELWP
 1.13 24-Aug-2014  jnemeth branches: 1.13.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.12 01-Nov-2013  skrll branches: 1.12.4;
Remove the bogus CPPFLAGS+="-I$S/../../../include"

Prompted by the build problem reported by John Klos
 1.11 18-Aug-2013  matt Add options MODULAR
 1.10 12-Jun-2013  matt branches: 1.10.2;
add ARM_HAS_VBAR option
 1.9 16-Dec-2012  matt Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.8 12-Dec-2012  matt Add options __HAVE_MM_MD_DIRECT_MAPPED_PHYS
for BCM5301X, also add SOSEND_NO_LOAN
 1.7 04-Nov-2012  khorben Fixed two harmless typos

ok agc@
 1.6 22-Sep-2012  matt Add FPU_VFP option
 1.5 29-Aug-2012  matt branches: 1.5.2;
Since the PMC cycle counter is started in cpufunc no reason to do so here.
Use curcpu()->ci_data.cpu_cc_freq and new armreg* inlines.
 1.4 29-Aug-2012  matt Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP}
since TPIDRPRW is the cp15 register name.
Initialize it early in start along with CI_ARM_CPUID.
Remove other initializations.
We alays have ci_curlwp.
Enable TIPRPRW_IS_CURCPU in std.beagle.
[tested on a beaglboard (cortex-a8)]
 1.3 19-Jun-2010  matt branches: 1.3.8; 1.3.16;
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of
CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8.
CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined.
Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb
instructions.

Test booted to root device prompt on a Beagleboard.
All ARM kernels successfully test built.
 1.2 18-Jun-2010  jmcneill fix beagle build (arm11_pmc -> cortexa8_pmc)
 1.1 22-Oct-2008  matt branches: 1.1.8; 1.1.10; 1.1.16; 1.1.20; 1.1.22;
Initial BEAGLEBOARD support. Compile tested only so far.
 1.1.22.1 03-Jul-2010  rmind sync with head
 1.1.20.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.1.16.3 11-Aug-2010  yamt sync with head.
 1.1.16.2 04-May-2009  yamt sync with head.
 1.1.16.1 22-Oct-2008  yamt file std.beagle was added on branch yamt-nfs-mp on 2009-05-04 08:10:57 +0000
 1.1.10.2 17-Jan-2009  mjf Sync with HEAD.
 1.1.10.1 22-Oct-2008  mjf file std.beagle was added on branch mjf-devfs2 on 2009-01-17 13:27:58 +0000
 1.1.8.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.1.8.1 22-Oct-2008  haad file std.beagle was added on branch haad-dm on 2008-12-13 01:13:07 +0000
 1.3.16.1 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.3.8.4 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.3.8.3 23-Jan-2013  yamt sync with head
 1.3.8.2 16-Jan-2013  yamt sync with (a bit old) head
 1.3.8.1 30-Oct-2012  yamt sync with head
 1.5.2.5 03-Dec-2017  jdolecek update from HEAD
 1.5.2.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.2.3 23-Jun-2013  tls resync from head
 1.5.2.2 25-Feb-2013  tls resync with head
 1.5.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.10.2.2 18-May-2014  rmind sync with head
 1.10.2.1 28-Aug-2013  rmind sync with head
 1.12.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.13.2.1 28-Aug-2017  skrll Sync with HEAD
 1.14.6.1 10-Jun-2019  christos Sync with HEAD
 1.14.4.1 20-Oct-2018  pgoyette Sync with head
 1.6 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.5 16-Dec-2012  matt branches: 1.5.36; 1.5.38;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.4 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.3 05-Jan-2009  briggs branches: 1.3.14; 1.3.24;
i80321-based systems use a virtual base of 0xc0000000 so specify
KERNEL_BASE_EXT.
 1.2 27-Jan-2008  chris branches: 1.2.6; 1.2.10; 1.2.18; 1.2.20;
Add an arm/conf/std.arm file which contains common arm options, initially
just options CPU_IN_CKSUM.

Include std.arm in all arm platform std files.

This should reenable the asm in_cksum code for all arm platforms.

Also remove the now unused in_cksum_arm.S.
 1.1 08-Nov-2006  scw branches: 1.1.2; 1.1.6; 1.1.8; 1.1.30; 1.1.34; 1.1.40;
Add support for the Certance CP-3100.

"The Certance CP3100 product family provides high-end disk-to-disk-to-tape
(D2D2T) functionality for small-to-medium businesses."

To software, the unit is very similar to the IQ80321 and IQ31244 eval
boards from Intel. As such, we share almost all of their code.

Onboard hardware:
- IOP321 XScale CPU. Core clock is 600MHz.
- 256MB SDRAM (not sure if that's true for all)
- Four-port Intel i31244 SATA controller. One port is connected to the
internal disk. The remaining three are available on the back-panel.
- Dual GigE ports on the back panel, using an Intel i82546EB controller.
- Two Symbios Logic 53c1010 SCSI controllers, one in host mode the other
in target mode. Both SCSI busses are available on the back panel.
Note that NetBSD does not support SCSI target mode.
- 8MB of NOR Flash, containing a fairly vanilla Redboot together with
a minimal compressed Linux image.
- Some front-panel LEDS (not supported).
- Serial console.

Contributed by Wasabi Systems, Inc.
 1.1.40.1 18-Feb-2008  mjf Sync with HEAD.
 1.1.34.1 23-Mar-2008  matt sync with HEAD
 1.1.30.1 28-Feb-2008  rjs Sync with HEAD.
 1.1.8.3 04-Feb-2008  yamt sync with head.
 1.1.8.2 30-Dec-2006  yamt sync with head.
 1.1.8.1 08-Nov-2006  yamt file std.cp3100 was added on branch yamt-lazymbuf on 2006-12-30 20:45:49 +0000
 1.1.6.2 10-Dec-2006  yamt sync with head.
 1.1.6.1 08-Nov-2006  yamt file std.cp3100 was added on branch yamt-splraiseipl on 2006-12-10 07:15:52 +0000
 1.1.2.2 18-Nov-2006  ad Sync with head.
 1.1.2.1 08-Nov-2006  ad file std.cp3100 was added on branch newlock2 on 2006-11-18 21:29:10 +0000
 1.2.20.1 09-Jan-2009  snj Pull up following revision(s) (requested by briggs in ticket #237):
sys/arch/evbarm/conf/std.iq80321: revision 1.13
sys/arch/evbarm/conf/std.cp3100: revision 1.3
sys/arch/evbarm/conf/std.npwr_fc: revision 1.4
sys/arch/evbarm/conf/std.iq31244: revision 1.7
i80321-based systems use a virtual base of 0xc0000000 so specify
KERNEL_BASE_EXT.
 1.2.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.2.10.1 04-May-2009  yamt sync with head.
 1.2.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.3.24.1 25-Feb-2013  tls resync with head
 1.3.14.1 23-Jan-2013  yamt sync with head
 1.5.38.1 10-Jun-2019  christos Sync with HEAD
 1.5.36.1 20-Oct-2018  pgoyette Sync with head
 1.5 31-Aug-2014  matt These have been moved to evbarm/awin or conf/*.awin
 1.4 24-Aug-2014  jnemeth Create an "options MODULAR_DEFAULT_AUTOLOAD" config option and add
it to all kernel configs that contain "options MODULAR". This
option turns on module autoloading by default (which is the current
default). This allows people who don't want module autoloading on
by default to disable it by simply removing/commentting this line.
 1.3 27-Feb-2014  reinoud branches: 1.3.2; 1.3.6; 1.3.8; 1.3.10; 1.3.12;
Fix typo in comment BEAGLEBOARD->CUBIEBOARD
 1.2 01-Nov-2013  skrll Remove the bogus CPPFLAGS+="-I$S/../../../include"

Prompted by the build problem reported by John Klos
 1.1 03-Sep-2013  matt Prelimary config goo for CubieBoard 1 & 2
(config is happy with it)
 1.3.12.3 03-Dec-2017  jdolecek update from HEAD
 1.3.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.12.1 27-Feb-2014  tls file std.cubie was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.3.10.1 10-Sep-2014  martin Pull up following revision(s) (requested by skrll in ticket #82):
sys/arch/evbarm/awin/awin_start.S: revision 1.1
sys/arch/evbarm/conf/mk.cubie: file removal
sys/arch/evbarm/conf/std.awin: revision 1.1
sys/arch/evbarm/cubie/genassym.cf: file removal
sys/arch/evbarm/conf/CUBIEBOARD: revision 1.17
sys/arch/evbarm/conf/BPI: revision 1.1
sys/arch/evbarm/awin/genassym.cf: revision 1.1
sys/arch/evbarm/awin/platform.h: revision 1.1
sys/arch/evbarm/conf/files.awin: revision 1.1
sys/arch/evbarm/conf/mk.cubie: revision 1.4
sys/arch/evbarm/conf/CUBIETRUCK: revision 1.3
sys/arch/evbarm/cubie/cubie_machdep.c: revision 1.21
sys/arch/evbarm/awin/awin_machdep.c: revision 1.1
sys/arch/evbarm/awin/awin_machdep.c: revision 1.3
sys/arch/evbarm/awin/awin_machdep.c: revision 1.4
sys/arch/evbarm/conf/std.cubie: file removal
sys/arch/evbarm/conf/mk.awin: revision 1.1
sys/arch/evbarm/conf/mk.awin: revision 1.2
sys/arch/evbarm/cubie/cubie_machdep.c: file removal
sys/arch/evbarm/cubie/cubie_start.S: file removal
sys/arch/evbarm/cubie/platform.h: file removal
sys/arch/evbarm/conf/files.cubie: file removal

Move away from "cubie" to generic "awin" and introduce a BOARDTYPE
variable. This allows other boards to use the cubie code.

Add a Banana Pi kernel config and fixup mmc0detect assignment for BPI.
 1.3.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.3.8.1 27-Feb-2014  yamt file std.cubie was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.3.6.2 18-May-2014  rmind sync with head
 1.3.6.1 27-Feb-2014  rmind file std.cubie was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.3.2.2 24-Mar-2014  matt Add cubie from HEAD
 1.3.2.1 27-Feb-2014  matt file std.cubie was added on branch matt-nb5-mips64 on 2014-03-24 18:46:38 +0000
 1.4 07-May-2015  mrg bump CHILD_MAX and OPEN_MAX defaults on several platforms, both to 1024.
 1.3 16-Dec-2012  matt branches: 1.3.2; 1.3.6; 1.3.14; 1.3.18; 1.3.20;
Include common includes options
 1.2 16-Dec-2012  matt Fix typo.
 1.1 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.3.20.1 06-Jun-2015  skrll Sync with HEAD
 1.3.18.1 09-May-2015  snj Pull up following revision(s) (requested by mrg in ticket #741):
sys/arch/aarch64/conf/std.aarch64: revision 1.2
sys/arch/amd64/conf/std.amd64: revision 1.10
sys/arch/evbarm/conf/std.evbarm: revision 1.4
sys/arch/evbarm64/conf/std.evbarm64: revision 1.2
sys/arch/i386/conf/std.i386: revision 1.34
sys/arch/sparc64/conf/std.sparc64: revision 1.19
bump CHILD_MAX and OPEN_MAX defaults on several platforms, both to 1024.
 1.3.14.2 15-Feb-2014  matt Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.
 1.3.14.1 16-Dec-2012  matt file std.evbarm was added on branch matt-nb5-mips64 on 2014-02-15 16:18:37 +0000
 1.3.6.3 03-Dec-2017  jdolecek update from HEAD
 1.3.6.2 25-Feb-2013  tls resync with head
 1.3.6.1 16-Dec-2012  tls file std.evbarm was added on branch tls-maxphys on 2013-02-25 00:28:35 +0000
 1.3.2.2 23-Jan-2013  yamt sync with head
 1.3.2.1 16-Dec-2012  yamt file std.evbarm was added on branch yamt-pagecache on 2013-01-23 00:05:45 +0000
 1.11 31-Mar-2019  jmcneill Remove EXYNOS kernel config.
 1.10 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.9 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.8 08-Oct-2018  skrll Sort options.

No functional change.
 1.7 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.6 01-Jul-2018  jmcneill add options __HAVE_GENERIC_CPU_INITCLOCKS
 1.5 05-Jul-2017  jmcneill branches: 1.5.4; 1.5.6; 1.5.8;
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
 1.4 02-Jul-2017  skrll Define __HAVE_CPU_UAREA_ALLOC_IDLELWP
 1.3 11-Jun-2017  jmcneill Fix KERNEL_BASE_PHYS (how did this ever work?)
 1.2 10-Jun-2017  jmcneill Get the EXYNOS kernel building again with recent FDT changes. Untested.
 1.1 06-Dec-2015  marty branches: 1.1.2; 1.1.12;
Reorganize Exynos code step 1 of N

create config files that use evbarm/exynos rather than evbarm/odroid for
the machdep portion.

point ODROID-XU4 at those files

add evbarm/exynos/exyos_{start.S, machdep.c} and platform.h that are exynos
5422 specific. -- We'll edit in other exynos platforms once this one
fully works.

This boots the Odroid XU4 to the same point as using evbarm/odroid does, but
with some differences in gpio handling. Everything else should be semantically
equivalent.
 1.1.12.1 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.1.2.3 28-Aug-2017  skrll Sync with HEAD
 1.1.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.2.1 06-Dec-2015  skrll file std.exynos was added on branch nick-nhusb on 2015-12-27 12:09:34 +0000
 1.5.8.1 10-Jun-2019  christos Sync with HEAD
 1.5.6.2 20-Oct-2018  pgoyette Sync with head
 1.5.6.1 28-Jul-2018  pgoyette Sync with HEAD
 1.5.4.2 03-Dec-2017  jdolecek update from HEAD
 1.5.4.1 05-Jul-2017  jdolecek file std.exynos was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.9 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.8 16-Dec-2012  matt branches: 1.8.36; 1.8.38;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.7 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.6 22-Jun-2008  kiyohara branches: 1.6.30; 1.6.40;
Fix macro KERNEL_BASE_EXT from KERNEL_EXT_BASE.
 1.5 09-May-2008  matt branches: 1.5.2;
Add KERNEL_BASE_EXT=0xc0000000 to those plaforms that need it.
Note that armv6 and later systems will use 0x80000000 as the kernel start
so they can use the split TTBs in armv6 and later.
 1.4 27-Jan-2008  chris branches: 1.4.6; 1.4.8; 1.4.10; 1.4.12;
Add an arm/conf/std.arm file which contains common arm options, initially
just options CPU_IN_CKSUM.

Include std.arm in all arm platform std files.

This should reenable the asm in_cksum code for all arm platforms.

Also remove the now unused in_cksum_arm.S.
 1.3 11-Dec-2005  christos branches: 1.3.46; 1.3.50; 1.3.56;
merge ktrace-lwp.
 1.2 17-Sep-2005  yamt include "conf/std".
 1.1 26-Feb-2005  bsh branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10;
TWINTAIL (official product name is G4255EB) is an evaluation board
with Intel PXA255 processor from Genetec corp. You can get some
information on the board from http://ad.genetec.co.jp/ but only in Japanese.
 1.1.10.2 04-Feb-2008  yamt sync with head.
 1.1.10.1 21-Jun-2006  yamt sync with head.
 1.1.8.2 29-Apr-2005  kent sync with -current
 1.1.8.1 26-Feb-2005  kent file std.g42xxeb was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.1.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.6.1 26-Feb-2005  yamt file std.g42xxeb was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.1.2.3 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.2.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.1 26-Feb-2005  skrll file std.g42xxeb was added on branch ktrace-lwp on 2005-03-04 16:38:14 +0000
 1.3.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.3.50.1 23-Mar-2008  matt sync with HEAD
 1.3.46.1 28-Feb-2008  rjs Sync with HEAD.
 1.4.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.4.10.2 04-May-2009  yamt sync with head.
 1.4.10.1 16-May-2008  yamt sync with head.
 1.4.8.1 18-May-2008  yamt sync with head.
 1.4.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.4.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.5.2.1 27-Jun-2008  simonb Sync with head.
 1.6.40.1 25-Feb-2013  tls resync with head
 1.6.30.1 23-Jan-2013  yamt sync with head
 1.8.38.1 10-Jun-2019  christos Sync with HEAD
 1.8.36.1 20-Oct-2018  pgoyette Sync with head
 1.9 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.8 01-Nov-2013  skrll branches: 1.8.28; 1.8.30;
Remove the bogus CPPFLAGS+="-I$S/../../../include"

Prompted by the build problem reported by John Klos
 1.7 16-Dec-2012  matt branches: 1.7.2;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.6 20-Nov-2008  cliff branches: 1.6.4; 1.6.6; 1.6.10; 1.6.22; 1.6.32;
use __HAVE_FAST_SOFTINTS now
 1.5 08-Nov-2008  cliff remove (unused) KERNEL_BASE_EXT option
 1.4 30-Oct-2008  cliff add gzboot support for gemini

GEMINI_dram_0x01600000 defines inflation from concatenated
gzboot & netbsd.bin.gz at sdram 0x01600000 to 0x00200000

note that ns16550.c INB() and OUTB() macros now have
"mult 4" type 4 byte regsiter offset stride
if NS16550_AX4 is defined. this is needed for gemini,
and was OKed by gimpy.
 1.3 29-Oct-2008  matt Disable fast softints for now.
 1.2 28-Oct-2008  matt Move line from mk.gemini to std.gemini so addrs are all in one place.
 1.1 24-Oct-2008  matt branches: 1.1.2;
Add support for Cortina Systems SL3516 eval board.
 1.1.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.6.32.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.32.1 25-Feb-2013  tls resync with head
 1.6.22.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.6.22.1 23-Jan-2013  yamt sync with head
 1.6.10.2 04-May-2009  yamt sync with head.
 1.6.10.1 20-Nov-2008  yamt file std.gemini was added on branch yamt-nfs-mp on 2009-05-04 08:10:57 +0000
 1.6.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.6.6.1 20-Nov-2008  mjf file std.gemini was added on branch mjf-devfs2 on 2009-01-17 13:27:58 +0000
 1.6.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.6.4.1 20-Nov-2008  haad file std.gemini was added on branch haad-dm on 2008-12-13 01:13:07 +0000
 1.7.2.1 18-May-2014  rmind sync with head
 1.8.30.1 10-Jun-2019  christos Sync with HEAD
 1.8.28.1 20-Oct-2018  pgoyette Sync with head
 1.11 03-Jul-2023  jakllsch Enable MEMORY_DISK_DYNAMIC & co. to match std.generic64

Allows loading of ramdisk.fs via u-boot initrd (to run sysinst)
 1.10 03-Sep-2021  andvar branches: 1.10.4;
s/opions/options/
 1.9 21-Mar-2021  skrll -DKERNEL_BASE_VOFFSET= has annoyed me for the last time...

Introduce KERNEL_VOFFSET_RUNTIME which prevents the addition of
-DKERNEL_BASE_VOFFSET= to the command line and use it on the
__HAVE_GENERIC_START kernels which do runtime calculation of the
offset.
 1.8 14-Aug-2020  skrll branches: 1.8.2; 1.8.4;
Mirror the changes to aarch64 and

- Switch to TPIDRPRW_IS_CURLWP, because curlwp is accessed much more often
by MI code. It also makes curlwp preemption safe,

- Make ASTs operate per-LWP rather than per-CPU, otherwise sometimes LWPs
can see spurious ASTs (which doesn't cause a problem, it just means some
time may be wasted).

- Make sure ASTs are always set on the same CPU as the target LWP, and
delivered via IPI if posted from a remote CPU so that they are resolved
quickly.

- Add some cache line padding to struct cpu_info.

- Add a memory barrier in a couple of places where ci_curlwp is set. This
is needed whenever an LWP that is resuming on the CPU could hold an
adaptive mutex. The barrier needs to drain the CPU's store buffer, so
that the update to ci_curlwp becomes globally visible before the LWP can
resume and call mutex_exit().
 1.7 25-Jan-2020  skrll Sort
 1.6 14-Nov-2018  jmcneill branches: 1.6.6;
Define __HAVE_PCI_MSI_MSIX
 1.5 10-Nov-2018  martin Revert previous - not needed here, I got lost in the include maze
 1.4 10-Nov-2018  martin Add options NTP and enable clockctl.
 1.3 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.2 08-Oct-2018  skrll Sort options.

No functional change.
 1.1 01-Apr-2018  ryo branches: 1.1.2; 1.1.4;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.2.4 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.2.3 20-Oct-2018  pgoyette Sync with head
 1.1.2.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.2.1 01-Apr-2018  pgoyette file std.generic was added on branch pgoyette-compat on 2018-04-07 04:12:12 +0000
 1.6.6.1 25-Jan-2020  ad Sync with head.
 1.8.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.8.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.10.4.1 07-Jul-2023  martin Pull up following revision(s) (requested by jakllsch in ticket #227):

sys/arch/evbarm/conf/std.generic: revision 1.11

Enable MEMORY_DISK_DYNAMIC & co. to match std.generic64

Allows loading of ramdisk.fs via u-boot initrd (to run sysinst)
 1.20 14-Oct-2022  jmcneill Add a PCI resource manager and use it on Arm ACPI platforms.

The Arm ACPI code relied on PCI_NETBSD_CONFIGURE to configure devices that
were not enabled by system firmware. This is not safe to do unless the
firmware explicitly permits it using a device specific method defined in
the PCI firmware spec.

Introduce a new PCI resource manager that discovers what has already been
configured by firmware and allocates from the remaining space. This will
ensure that devices setup by firmware are untouched and only will program
BARs of devices that are not enabled at boot time.

The current implementation assumes that the parent PCI-PCI bridge's
are already configured. A worthwhile improvement in the future would be
to support programming windows for bridges that are not fully configured.
 1.19 25-Jun-2022  jmcneill Remove GIC_SPLFUNCS.
 1.18 31-Oct-2021  jmcneill Disable GIC_SPLFUNCS (still crashy)
 1.17 30-Oct-2021  jmcneill Enable GIC_SPLFUNCS again. Hopefully stable now.
 1.16 03-Oct-2021  jmcneill disable GIC_SPLFUNCS until remaining issues are sorted out
 1.15 18-Sep-2021  jmcneill gic_splx: performance optimizations

Avoid any kind of register access (DAIF, PMR, etc), barriers, and atomic
operations in the common case where no interrupt fires between spl being
raised and lowered.

This introduces a per-CPU return address (ci_splx_restart) used by the
vector handler to restart a sequence in splx that compares the new ipl
with the per-CPU hardware priority state stored in ci_hwpl.
 1.14 08-Aug-2021  jmcneill Enable options PCI_SMCCC on 64-bit Arm.
 1.13 08-Sep-2020  jakllsch Enable __BUS_SPACE_HAS_STREAM_METHODS in std.generic64

These are needed for virtio_pci on aarch64eb.
 1.12 07-Dec-2019  jmcneill Define __BUS_SPACE_HAS_PROBING_METHODS
 1.11 06-Sep-2019  jmcneill Add __HAVE_GENERIC_CPU_INITCLOCKS
 1.10 03-Jul-2019  jmcneill branches: 1.10.2;
Define _ARM32_NEED_BUS_DMA_BOUNCE for aarch64 so we can use bus_dmamap_subregion
 1.9 13-Nov-2018  ryo turn on MODULAR by default on aarch64
 1.8 21-Oct-2018  jmcneill Add support for PCI MSI using ARM GICv2m.
 1.7 16-Oct-2018  jmcneill Rename options ACPI_REDUCED_HARDWARE to ACPI_REDUCED_HW. The former is
a boolean in the acpica build, so use the latter to select the correct
value.
 1.6 16-Oct-2018  jmcneill Use ACPI_REDUCED_HARDWARE on arm64 to shrink the kernel
 1.5 15-Oct-2018  skrll Sort options
 1.4 15-Oct-2018  skrll G/C
 1.3 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.2 08-Sep-2018  jmcneill Add initrd options
 1.1 01-Apr-2018  ryo branches: 1.1.2; 1.1.4;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1.4.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.2.5 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.2.4 20-Oct-2018  pgoyette Sync with head
 1.1.2.3 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.2.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.2.1 01-Apr-2018  pgoyette file std.generic64 was added on branch pgoyette-compat on 2018-04-07 04:12:12 +0000
 1.10.2.2 09-Dec-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #529):

sys/arch/evbarm/conf/std.generic64: revision 1.12
sys/arch/arm/rockchip/rk3399_pcie.c: revision 1.8

Define __BUS_SPACE_HAS_PROBING_METHODS
Use bus_space_{peek,poke}_4 for pci conf reg access.
 1.10.2.1 22-Sep-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #224):

sys/arch/evbarm/conf/std.generic64: revision 1.11

Add __HAVE_GENERIC_CPU_INITCLOCKS
 1.1 09-Oct-2025  skrll Add the beginnings of a GENERIC_V5 kernel that targets armv5 boards and
uses FDT.

In this first iteration some support is added for OLinuXino boards.

Thanks to Yuri Honegger for doing the vast majority of the work.
 1.3 13-Sep-2018  skrll G/C GOLDENGATE
 1.2 01-Nov-2013  skrll branches: 1.2.4; 1.2.30; 1.2.32;
Remove the bogus CPPFLAGS+="-I$S/../../../include"

Prompted by the build problem reported by John Klos
 1.1 19-Feb-2013  matt branches: 1.1.2; 1.1.4;
More Cortina CS75xx files.
 1.1.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 19-Feb-2013  tls file std.goldengate was added on branch tls-maxphys on 2013-02-25 00:28:35 +0000
 1.1.2.1 18-May-2014  rmind sync with head
 1.2.32.1 10-Jun-2019  christos Sync with HEAD
 1.2.30.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.2.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.4.1 01-Nov-2013  yamt file std.goldengate was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.11 18-May-2019  skrll Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.10 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.9 16-Dec-2012  matt branches: 1.9.36; 1.9.38;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.8 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.7 20-Jul-2010  kiyohara branches: 1.7.8; 1.7.18;
Add options EVBARM_BOARDTYPE.
 1.6 10-Jul-2010  kiyohara Support Overo (Gumstix inc).
+ This commit supports basically.
+ Expansion boards not support yet. And MicroSD, Wifi, Bluetooth too.
 1.5 22-Jun-2008  kiyohara branches: 1.5.16; 1.5.18;
Fix macro KERNEL_BASE_EXT from KERNEL_EXT_BASE.
 1.4 09-May-2008  matt branches: 1.4.2;
Add KERNEL_BASE_EXT=0xc0000000 to those plaforms that need it.
Note that armv6 and later systems will use 0x80000000 as the kernel start
so they can use the split TTBs in armv6 and later.
 1.3 27-Jan-2008  chris branches: 1.3.6; 1.3.8; 1.3.10; 1.3.12;
Add an arm/conf/std.arm file which contains common arm options, initially
just options CPU_IN_CKSUM.

Include std.arm in all arm platform std files.

This should reenable the asm in_cksum code for all arm platforms.

Also remove the now unused in_cksum_arm.S.
 1.2 20-Feb-2007  kiyohara branches: 1.2.18; 1.2.22; 1.2.28;
Indentation.
 1.1 16-Oct-2006  kiyohara branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10;
Add initial support for the PXA255-based gumstix board.
 1.1.10.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.1.8.4 04-Feb-2008  yamt sync with head.
 1.1.8.3 26-Feb-2007  yamt sync with head.
 1.1.8.2 30-Dec-2006  yamt sync with head.
 1.1.8.1 16-Oct-2006  yamt file std.gumstix was added on branch yamt-lazymbuf on 2006-12-30 20:45:49 +0000
 1.1.4.2 18-Nov-2006  ad Sync with head.
 1.1.4.1 16-Oct-2006  ad file std.gumstix was added on branch newlock2 on 2006-11-18 21:29:10 +0000
 1.1.2.2 22-Oct-2006  yamt sync with head
 1.1.2.1 16-Oct-2006  yamt file std.gumstix was added on branch yamt-splraiseipl on 2006-10-22 06:04:36 +0000
 1.2.28.1 18-Feb-2008  mjf Sync with HEAD.
 1.2.22.1 23-Mar-2008  matt sync with HEAD
 1.2.18.1 28-Feb-2008  rjs Sync with HEAD.
 1.3.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.3.10.3 11-Aug-2010  yamt sync with head.
 1.3.10.2 04-May-2009  yamt sync with head.
 1.3.10.1 16-May-2008  yamt sync with head.
 1.3.8.1 18-May-2008  yamt sync with head.
 1.3.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.3.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.2.1 27-Jun-2008  simonb Sync with head.
 1.5.18.1 05-Mar-2011  rmind sync with head
 1.5.16.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.7.18.1 25-Feb-2013  tls resync with head
 1.7.8.1 23-Jan-2013  yamt sync with head
 1.9.38.1 10-Jun-2019  christos Sync with HEAD
 1.9.36.1 20-Oct-2018  pgoyette Sync with head
 1.3 29-Oct-2022  jmcneill Remove support for TI OMAP-L138 based Hawkboard.

This change is part of arch/arm/omap removal.
 1.2 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.1 02-Oct-2013  matt branches: 1.1.4; 1.1.6; 1.1.10; 1.1.34; 1.1.36;
Add support for OMAP1-183 base hawkboard (HAWK) from Sughosh Ganu.
Minor cleanup (adding $NetBSD to headers, __KERNEL_RCSID to C files, etc).
 1.1.36.1 10-Jun-2019  christos Sync with HEAD
 1.1.34.1 20-Oct-2018  pgoyette Sync with head
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 02-Oct-2013  tls file std.hawk was added on branch tls-maxphys on 2014-08-20 00:02:53 +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 02-Oct-2013  yamt file std.hawk was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 02-Oct-2013  rmind file std.hawk was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.8 29-Jun-2021  rin KERNEL_BASE is 0xc0000000 for HDL_G.

With this change, HDL-G boots multiuser!
 1.7 07-Oct-2018  skrll branches: 1.7.16;
Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.6 17-Jan-2018  skrll branches: 1.6.2; 1.6.4;
G/C ARM32_NEW_VM_LAYOUT
 1.5 16-Dec-2012  matt Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.4 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.3 27-Jan-2008  chris branches: 1.3.44; 1.3.54;
Add an arm/conf/std.arm file which contains common arm options, initially
just options CPU_IN_CKSUM.

Include std.arm in all arm platform std files.

This should reenable the asm in_cksum code for all arm platforms.

Also remove the now unused in_cksum_arm.S.
 1.2 18-Dec-2006  nonaka branches: 1.2.20; 1.2.24; 1.2.30;
cosmetic
 1.1 16-Apr-2006  nonaka branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10; 1.1.14; 1.1.18; 1.1.20; 1.1.22;
A port of NetBSD to the I-O DATA HDL-G "Giga LANDISK".

Please refer to following URL for this machine.
http://www.iodata.com/products/products.php?cat=HNP&sc=HDL&ts=2&tsc=14&sc=HDL&pId=HDL-G400U
 1.1.22.1 21-Dec-2006  yamt sync with head.
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 16-Apr-2006  rpaulo file std.hdl_g was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:40 +0000
 1.1.18.1 12-Jan-2007  ad Sync with head.
 1.1.14.4 04-Feb-2008  yamt sync with head.
 1.1.14.3 30-Dec-2006  yamt sync with head.
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 16-Apr-2006  yamt file std.hdl_g was added on branch yamt-lazymbuf on 2006-06-21 14:50:33 +0000
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 16-Apr-2006  tron file std.hdl_g was added on branch peter-altq on 2006-05-24 15:47:54 +0000
 1.1.8.2 24-May-2006  yamt sync with head.
 1.1.8.1 16-Apr-2006  yamt file std.hdl_g was added on branch yamt-pdpolicy on 2006-05-24 10:56:40 +0000
 1.1.4.2 22-Apr-2006  simonb Sync with head.
 1.1.4.1 16-Apr-2006  simonb file std.hdl_g was added on branch simonb-timecounters on 2006-04-22 11:37:22 +0000
 1.1.2.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.2.1 16-Apr-2006  elad file std.hdl_g was added on branch elad-kernelauth on 2006-04-19 02:32:21 +0000
 1.2.30.1 18-Feb-2008  mjf Sync with HEAD.
 1.2.24.1 23-Mar-2008  matt sync with HEAD
 1.2.20.1 28-Feb-2008  rjs Sync with HEAD.
 1.3.54.1 25-Feb-2013  tls resync with head
 1.3.44.1 23-Jan-2013  yamt sync with head
 1.6.4.1 10-Jun-2019  christos Sync with HEAD
 1.6.2.1 20-Oct-2018  pgoyette Sync with head
 1.7.16.1 01-Aug-2021  thorpej Sync with HEAD.
 1.11 03-Nov-2019  jmcneill No longer used.
 1.10 15-Oct-2018  skrll branches: 1.10.4;
Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.9 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.8 27-Feb-2017  chs branches: 1.8.12; 1.8.14;
fix the build of this kernel config by adding the omapscm driver.
turn on options for dtrace, turn off USB debugging.
 1.7 10-Aug-2014  chs branches: 1.7.4; 1.7.8; 1.7.12;
add some std stuff for igepv2.
 1.6 01-Nov-2013  skrll Remove the bogus CPPFLAGS+="-I$S/../../../include"

Prompted by the build problem reported by John Klos
 1.5 16-Dec-2012  matt branches: 1.5.2;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.4 04-Sep-2012  matt branches: 1.4.2;
Make reset work on beagle again.
Add nand (not yet working) and prcm to IGEPV2.
Add smsh to IGEPV2 (use attachment from gumstix).
Turn on a few options for IGEPV2.
 1.3 29-Aug-2012  matt Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP}
since TPIDRPRW is the cp15 register name.
Initialize it early in start along with CI_ARM_CPUID.
Remove other initializations.
We alays have ci_curlwp.
Enable TIPRPRW_IS_CURCPU in std.beagle.
[tested on a beaglboard (cortex-a8)]
 1.2 19-Jun-2010  matt branches: 1.2.2; 1.2.4; 1.2.6; 1.2.14;
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of
CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8.
CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined.
Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb
instructions.

Test booted to root device prompt on a Beagleboard.
All ARM kernels successfully test built.
 1.1 16-Jun-2010  jmcneill PR port-arm/43299: Support added for igepv2/cortexa8/omap3530

Apply patch from PR, with build fixes. ok skrll, matt
 1.2.14.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.2.14.2 23-Jan-2013  yamt sync with head
 1.2.14.1 30-Oct-2012  yamt sync with head
 1.2.6.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.2.6.1 19-Jun-2010  uebayasi file std.igepv2 was added on branch uebayasi-xip on 2010-08-17 06:44:16 +0000
 1.2.4.2 11-Aug-2010  yamt sync with head.
 1.2.4.1 19-Jun-2010  yamt file std.igepv2 was added on branch yamt-nfs-mp on 2010-08-11 22:51:51 +0000
 1.2.2.2 03-Jul-2010  rmind sync with head
 1.2.2.1 19-Jun-2010  rmind file std.igepv2 was added on branch rmind-uvmplock on 2010-07-03 01:19:16 +0000
 1.4.2.3 03-Dec-2017  jdolecek update from HEAD
 1.4.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.2.1 25-Feb-2013  tls resync with head
 1.5.2.1 18-May-2014  rmind sync with head
 1.7.12.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.8.1 20-Mar-2017  pgoyette Sync with HEAD
 1.7.4.1 28-Aug-2017  skrll Sync with HEAD
 1.8.14.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.8.14.1 10-Jun-2019  christos Sync with HEAD
 1.8.12.1 20-Oct-2018  pgoyette Sync with head
 1.10.4.1 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.2 20-May-2020  hkenken i.MX support merged into GENERIC kernel.
 1.1 24-Jul-2019  hkenken branches: 1.1.10;
Add support for device tree.

+ CCM (clk)
+ COM (uart)
+ GPIO
+ IOMUX (pin control)
+ PCIe
+ SDHC
+ USB Host
+ USB phy
 1.1.10.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.10.1 24-Jul-2019  martin file std.imx was added on branch phil-wifi on 2020-04-13 08:03:42 +0000
 1.5 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.4 07-Oct-2013  matt branches: 1.4.28; 1.4.30;
iMX233/OLinuXino changes from Petri Laskso.
See http://mail-index.netbsd.org/port-arm/2013/10/07/msg002042.html
 1.3 16-Dec-2012  matt branches: 1.3.2; 1.3.4; 1.3.6;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.2 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.1 20-Nov-2012  jkunz Add initial support for Olimex iMX233 based OLinuXino boards.
https://www.olimex.com/Products/OLinuXino/iMX233/
Contributed by Petri Laakso.
 1.3.6.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.2 25-Feb-2013  tls resync with head
 1.3.6.1 16-Dec-2012  tls file std.imx23_olinuxino was added on branch tls-maxphys on 2013-02-25 00:28:35 +0000
 1.3.4.1 18-May-2014  rmind sync with head
 1.3.2.4 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.3.2.3 23-Jan-2013  yamt sync with head
 1.3.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.3.2.1 16-Dec-2012  yamt file std.imx23_olinuxino was added on branch yamt-pagecache on 2013-01-16 05:32:52 +0000
 1.4.30.1 10-Jun-2019  christos Sync with HEAD
 1.4.28.1 20-Oct-2018  pgoyette Sync with head
 1.11 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.10 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.9 30-Mar-2014  matt branches: 1.9.28; 1.9.30;
Include newer arm options (ARM_HAS_VBAR, etc.)
 1.8 01-Nov-2013  skrll Remove the bogus CPPFLAGS+="-I$S/../../../include"

Prompted by the build problem reported by John Klos
 1.7 16-Dec-2012  matt branches: 1.7.2;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.6 10-Dec-2012  matt Add -mfpu=vfp since these are arm11
 1.5 14-Jul-2012  matt branches: 1.5.2;
Use -march=armv6k -mtune=arm1136jf-s so that gas will believe there are
{ldr,str}ex{b,h,d} instruction available. This is for the use of
ldrexb/strexb instead of swpb for __cpu_simple_lock_t.
 1.4 06-Mar-2011  jakllsch branches: 1.4.4;
Remove trailing spaces.
 1.3 27-Dec-2009  uebayasi branches: 1.3.2; 1.3.4; 1.3.6;
Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed
& tested on i.MX35 with help from Tsubai Masanari.
 1.2 27-Apr-2008  matt Merge kernel changes in matt-armv6 to HEAD.
 1.1 29-Aug-2007  matt branches: 1.1.2; 1.1.20; 1.1.22; 1.1.24;
file std.imx31 was initially added on branch matt-armv6.
 1.1.24.2 11-Mar-2010  yamt sync with head
 1.1.24.1 16-May-2008  yamt sync with head.
 1.1.22.1 18-May-2008  yamt sync with head.
 1.1.20.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.2.3 12-Sep-2007  matt Fix typo.
 1.1.2.2 11-Sep-2007  matt More support for Freescale i.MX31 DEV LITE KIT
 1.1.2.1 29-Aug-2007  matt Initial IMX31LITE configury
 1.3.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.4.1 21-Apr-2011  rmind sync with head
 1.3.2.1 28-Apr-2010  uebayasi Initial implemention of bus_space_physload(9) for NetBSD/arm (only i.MX31
for now).
 1.4.4.4 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.4.3 23-Jan-2013  yamt sync with head
 1.4.4.2 16-Jan-2013  yamt sync with (a bit old) head
 1.4.4.1 30-Oct-2012  yamt sync with head
 1.5.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.2.1 25-Feb-2013  tls resync with head
 1.7.2.1 18-May-2014  rmind sync with head
 1.9.30.1 10-Jun-2019  christos Sync with HEAD
 1.9.28.1 20-Oct-2018  pgoyette Sync with head
 1.7 23-May-2020  skrll imx6 kernels are part of GENERIC now
 1.6 29-Jul-2019  skrll Remove duplicate options TPIDRPRW_IS_CURCPU
 1.5 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.4 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.3 08-Oct-2018  skrll Sort options.

No functional change.
 1.2 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.1 09-Jun-2017  ryo branches: 1.1.4; 1.1.6; 1.1.8; 1.1.10;
add support for i.MX6UltraLite, and
ConnectCore for iMX6UL Starter Board.
 1.1.10.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.10.1 10-Jun-2019  christos Sync with HEAD
 1.1.8.1 20-Oct-2018  pgoyette Sync with head
 1.1.6.2 03-Dec-2017  jdolecek update from HEAD
 1.1.6.1 09-Jun-2017  jdolecek file std.imx6ul was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.1.4.2 28-Aug-2017  skrll Sync with HEAD
 1.1.4.1 09-Jun-2017  skrll file std.imx6ul was added on branch nick-nhusb on 2017-08-28 17:51:34 +0000
 1.6 10-Jul-2020  skrll G/C. OK'ed by jmcnell
 1.5 18-May-2019  skrll Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.4 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.3 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.2 17-Oct-2016  ryo branches: 1.2.14; 1.2.16; 1.2.18;
* Add option MEMSIZE_RESERVED to reserves memory for Cortex-M4 area
* change KERNEL_BASE from 0x80008000 to 0x82000000
 1.1 17-May-2016  ryo branches: 1.1.2; 1.1.4;
Add initial support for Freescale i.MX7 SoC and
Atmark Techno Armadillo-IoT G3 boards.

Contributed by Internet Initiative Japan Inc.
 1.1.4.1 04-Nov-2016  pgoyette Sync with HEAD
 1.1.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.2.2 29-May-2016  skrll Sync with HEAD
 1.1.2.1 17-May-2016  skrll file std.imx7 was added on branch nick-nhusb on 2016-05-29 08:44:16 +0000
 1.2.18.1 10-Jun-2019  christos Sync with HEAD
 1.2.16.1 20-Oct-2018  pgoyette Sync with head
 1.2.14.2 03-Dec-2017  jdolecek update from HEAD
 1.2.14.1 17-Oct-2016  jdolecek file std.imx7 was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.20 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.19 17-Jan-2018  skrll branches: 1.19.2; 1.19.4;
G/C ARM32_NEW_VM_LAYOUT
 1.18 16-Dec-2012  matt Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.17 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.16 18-Sep-2012  matt Enable bounce buffers
 1.15 27-Jan-2008  chris branches: 1.15.44; 1.15.54;
Add an arm/conf/std.arm file which contains common arm options, initially
just options CPU_IN_CKSUM.

Include std.arm in all arm platform std files.

This should reenable the asm in_cksum code for all arm platforms.

Also remove the now unused in_cksum_arm.S.
 1.14 11-Dec-2005  christos branches: 1.14.46; 1.14.50; 1.14.56;
merge ktrace-lwp.
 1.13 17-Sep-2005  yamt include "conf/std".
 1.12 06-Sep-2003  rearnsha branches: 1.12.16;
Switch to using generic soft interrupts.
 1.11 22-May-2003  thorpej branches: 1.11.2;
Don't need ARM32_PMAP_NEW option any more.
 1.10 03-May-2003  thorpej Switch Integrator, IXM1200, and SMDK2800 to ARM32_PMAP_NEW. These
are the last of the ARM platforms to be converted.
 1.9 08-Apr-2003  thorpej Remove LINKENTRY and LOADADDRESS vars; it's all handled by the linker
script on evbarm platforms.
 1.8 03-Jan-2003  thorpej Split board-specific Makefile fragments into their own files.
 1.7 02-Jan-2003  thorpej Clean up evbarm interrupt support a little:
* Define an ARM_INTR_IMPL option, which specifies a header file
describing the interrupt implementation for the platform. Use
this instead of the list of EVBARM_BOARDTYPE checks.
* Make the s3c2xx0 interrupt dispatch code a bit more generic, and move
it to a generic location so that other platforms can use it.

This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
 1.6 17-Aug-2002  briggs Add a new option EVBARM_BOARDTYPE to differentiate between different
evbarm ports. Inline _splraise/_spllower/splx for i80321 and iq80310
for more performance.
 1.5 30-Jan-2002  thorpej branches: 1.5.8;
New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.4 24-Nov-2001  thorpej branches: 1.4.2;
Don't need "options PROG32" anymore.
 1.3 20-Nov-2001  lukem cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""
 1.2 04-Nov-2001  thorpej branches: 1.2.2; 1.2.4;
Move board-specific config definitions into files.<board>, allowing
each board type to have its own device namespace.
 1.1 27-Oct-2001  rearnsha Configuration for Integrator boards.
 1.2.4.5 03-Jan-2003  thorpej Sync with HEAD.
 1.2.4.4 19-Aug-2002  thorpej Partial (ARM only) sync with trunk -- significant performance improvements
for XScale-based systems.
 1.2.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.2.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.2.4.1 04-Nov-2001  nathanw file std.integrator was added on branch nathanw_sa on 2002-01-08 00:24:11 +0000
 1.2.2.2 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.2.2.1 04-Nov-2001  thorpej file std.integrator was added on branch thorpej-mips-cache on 2001-11-12 21:16:50 +0000
 1.4.2.4 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.4.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.4.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.2.1 24-Nov-2001  thorpej file std.integrator was added on branch kqueue on 2002-01-10 19:42:01 +0000
 1.5.8.1 30-Aug-2002  gehenna catch up with -current.
 1.11.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.11.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.11.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.11.2.1 03-Aug-2004  skrll Sync with HEAD
 1.12.16.2 04-Feb-2008  yamt sync with head.
 1.12.16.1 21-Jun-2006  yamt sync with head.
 1.14.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.14.50.1 23-Mar-2008  matt sync with HEAD
 1.14.46.1 28-Feb-2008  rjs Sync with HEAD.
 1.15.54.2 25-Feb-2013  tls resync with head
 1.15.54.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.15.44.2 23-Jan-2013  yamt sync with head
 1.15.44.1 30-Oct-2012  yamt sync with head
 1.19.4.1 10-Jun-2019  christos Sync with HEAD
 1.19.2.1 20-Oct-2018  pgoyette Sync with head
 1.3 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.2 17-Jan-2018  skrll branches: 1.2.2; 1.2.4;
G/C ARM32_NEW_VM_LAYOUT
 1.1 19-Feb-2013  skrll branches: 1.1.4; 1.1.14;
Add support for the ARM Integrator/CP from Sergio L�pez.

The code hasn't been tested on real hardware, but INTEGRATOR_CP config
is useful for QEMU which supports it.
 1.1.14.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.14.1 19-Feb-2013  yamt file std.integrator_cp was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 19-Feb-2013  tls file std.integrator_cp was added on branch tls-maxphys on 2013-02-25 00:28:35 +0000
 1.2.4.1 10-Jun-2019  christos Sync with HEAD
 1.2.2.1 20-Oct-2018  pgoyette Sync with head
 1.12 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.11 17-Jan-2018  skrll branches: 1.11.2; 1.11.4;
G/C ARM32_NEW_VM_LAYOUT
 1.10 16-Dec-2012  matt Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.9 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.8 09-Jan-2009  briggs branches: 1.8.14; 1.8.24;
Allow IQ80321-derived systems to provide an m.d. reboot routine.
Use this on the IQ31244 to force a watchdog reset from the M41ST84
if it's been attached. The generic reset doesn't fully reset the
system whereas the RTC watchdog reset does.
 1.7 05-Jan-2009  briggs i80321-based systems use a virtual base of 0xc0000000 so specify
KERNEL_BASE_EXT.
 1.6 27-Jan-2008  chris branches: 1.6.6; 1.6.10; 1.6.18; 1.6.20;
Add an arm/conf/std.arm file which contains common arm options, initially
just options CPU_IN_CKSUM.

Include std.arm in all arm platform std files.

This should reenable the asm in_cksum code for all arm platforms.

Also remove the now unused in_cksum_arm.S.
 1.5 11-Dec-2005  christos branches: 1.5.46; 1.5.50; 1.5.56;
merge ktrace-lwp.
 1.4 17-Sep-2005  yamt include "conf/std".
 1.3 12-Feb-2005  rearnsha branches: 1.3.6;
This board has a 33.0 crystal, so the counter speed comes out at 198MHz
 1.2 22-May-2003  thorpej branches: 1.2.2; 1.2.10; 1.2.12;
Don't need ARM32_PMAP_NEW option any more.
 1.1 14-May-2003  thorpej Add support for the Intel IQ31244 reference board, based on the i80321
I/O processor and the i31244 PCI-X S-ATA controller.

The IQ31244 is almost identical to the IQ80321, from software's
perspective, so we share much of the code.
 1.2.12.1 12-Feb-2005  yamt sync with head.
 1.2.10.1 29-Apr-2005  kent sync with -current
 1.2.2.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.2.1 15-Feb-2005  skrll Sync with HEAD.
 1.3.6.2 04-Feb-2008  yamt sync with head.
 1.3.6.1 21-Jun-2006  yamt sync with head.
 1.5.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.5.50.1 23-Mar-2008  matt sync with HEAD
 1.5.46.1 28-Feb-2008  rjs Sync with HEAD.
 1.6.20.1 09-Jan-2009  snj Pull up following revision(s) (requested by briggs in ticket #237):
sys/arch/evbarm/conf/std.iq80321: revision 1.13
sys/arch/evbarm/conf/std.cp3100: revision 1.3
sys/arch/evbarm/conf/std.npwr_fc: revision 1.4
sys/arch/evbarm/conf/std.iq31244: revision 1.7
i80321-based systems use a virtual base of 0xc0000000 so specify
KERNEL_BASE_EXT.
 1.6.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.6.10.1 04-May-2009  yamt sync with head.
 1.6.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.8.24.1 25-Feb-2013  tls resync with head
 1.8.14.1 23-Jan-2013  yamt sync with head
 1.11.4.1 10-Jun-2019  christos Sync with HEAD
 1.11.2.1 20-Oct-2018  pgoyette Sync with head
 1.24 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.23 16-Dec-2012  matt branches: 1.23.36; 1.23.38;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.22 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.21 01-Oct-2011  chs branches: 1.21.2; 1.21.12;
add missing KERNEL_BASE_EXT.
 1.20 27-Jan-2008  chris Add an arm/conf/std.arm file which contains common arm options, initially
just options CPU_IN_CKSUM.

Include std.arm in all arm platform std files.

This should reenable the asm in_cksum code for all arm platforms.

Also remove the now unused in_cksum_arm.S.
 1.19 11-Dec-2005  christos branches: 1.19.46; 1.19.50; 1.19.56;
merge ktrace-lwp.
 1.18 17-Sep-2005  yamt include "conf/std".
 1.17 22-May-2003  thorpej branches: 1.17.2; 1.17.18;
Don't need ARM32_PMAP_NEW option any more.
 1.16 19-Apr-2003  thorpej Adapt to ARM32_PMAP_NEW.
 1.15 08-Apr-2003  thorpej Remove LINKENTRY and LOADADDRESS vars; it's all handled by the linker
script on evbarm platforms.
 1.14 03-Jan-2003  thorpej Split board-specific Makefile fragments into their own files.
 1.13 02-Jan-2003  thorpej Clean up evbarm interrupt support a little:
* Define an ARM_INTR_IMPL option, which specifies a header file
describing the interrupt implementation for the platform. Use
this instead of the list of EVBARM_BOARDTYPE checks.
* Make the s3c2xx0 interrupt dispatch code a bit more generic, and move
it to a generic location so that other platforms can use it.

This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
 1.12 17-Aug-2002  briggs Add a new option EVBARM_BOARDTYPE to differentiate between different
evbarm ports. Inline _splraise/_spllower/splx for i80321 and iq80310
for more performance.
 1.11 25-Apr-2002  briggs branches: 1.11.2;
XSCALE_CCLKCFG should not be set in std.iq80310. Set IQ80310 to use
XSCALE_CCLKCFG=9 (733MHz) and TEAMASA_NPWR to use XSCALE_CCLKCFG=7 (600MHz)
as that's what the part on the board is rated for.
 1.10 24-Jan-2002  briggs branches: 1.10.2;
Two changes for XScale:
1) Add defparam XSCALE_CCLKCFG to define a parameter for the
CCLKCFG register. Default it to '9' on the IQ80310.
2) Add a sleep call to the xscale CPU function vector (replacing
the nullop) which should drop the CPU into "idle" mode when
cpu_switch finds nothing on the run queues.
 1.9 24-Nov-2001  thorpej Don't need "options PROG32" anymore.
 1.8 20-Nov-2001  lukem cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""
 1.7 09-Nov-2001  thorpej branches: 1.7.2;
Add PCI_NETBSD_CONFIGURE.
 1.6 07-Nov-2001  thorpej Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
 1.5 04-Nov-2001  thorpej Don't require the IQ80310 option. Made possible by files.<board>.
 1.4 04-Nov-2001  thorpej Move board-specific config definitions into files.<board>, allowing
each board type to have its own device namespace.
 1.3 27-Oct-2001  rearnsha Define BOARDTYPE in the Makefile so that the target-specific
Makefile fragment (to be added shortly) can DTRT based on the
board we are building a kernel for.
 1.2 05-Sep-2001  matt branches: 1.2.4;
Add a NEWINTR option to reflect the new interrupt/spl being implemented in
evbarm.
 1.1 05-Sep-2001  matt more evbarm files (very incomplete).
 1.2.4.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.7.2.6 03-Jan-2003  thorpej Sync with HEAD.
 1.7.2.5 19-Aug-2002  thorpej Partial (ARM only) sync with trunk -- significant performance improvements
for XScale-based systems.
 1.7.2.4 20-Jun-2002  nathanw Catch up to -current.
 1.7.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.7.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.7.2.1 09-Nov-2001  nathanw file std.iq80310 was added on branch nathanw_sa on 2002-01-08 00:24:11 +0000
 1.10.2.4 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.10.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.10.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.10.2.1 24-Jan-2002  jdolecek file std.iq80310 was added on branch kqueue on 2002-02-11 20:07:41 +0000
 1.11.2.1 30-Aug-2002  gehenna catch up with -current.
 1.17.18.2 04-Feb-2008  yamt sync with head.
 1.17.18.1 21-Jun-2006  yamt sync with head.
 1.17.2.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.19.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.19.50.1 23-Mar-2008  matt sync with HEAD
 1.19.46.1 28-Feb-2008  rjs Sync with HEAD.
 1.21.12.1 25-Feb-2013  tls resync with head
 1.21.2.1 23-Jan-2013  yamt sync with head
 1.23.38.1 10-Jun-2019  christos Sync with HEAD
 1.23.36.1 20-Oct-2018  pgoyette Sync with head
 1.17 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.16 17-Jan-2018  skrll branches: 1.16.2; 1.16.4;
G/C ARM32_NEW_VM_LAYOUT
 1.15 16-Dec-2012  matt Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.14 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.13 05-Jan-2009  briggs branches: 1.13.14; 1.13.24;
i80321-based systems use a virtual base of 0xc0000000 so specify
KERNEL_BASE_EXT.
 1.12 27-Jan-2008  chris branches: 1.12.6; 1.12.10; 1.12.18; 1.12.20;
Add an arm/conf/std.arm file which contains common arm options, initially
just options CPU_IN_CKSUM.

Include std.arm in all arm platform std files.

This should reenable the asm in_cksum code for all arm platforms.

Also remove the now unused in_cksum_arm.S.
 1.11 11-Dec-2005  christos branches: 1.11.46; 1.11.50; 1.11.56;
merge ktrace-lwp.
 1.10 17-Sep-2005  yamt include "conf/std".
 1.9 22-May-2003  thorpej branches: 1.9.2; 1.9.18;
Don't need ARM32_PMAP_NEW option any more.
 1.8 19-Apr-2003  scw Don't use ARM32_NEW_VM_LAYOUT or initarm_common() for now. It's not
quite ready for prime-time on evbarm.
 1.7 18-Apr-2003  scw Add support for ARM32_PMAP_NEW and ARM32_NEW_VM_LAYOUT to the iq80321 port.
 1.6 08-Apr-2003  thorpej Remove LINKENTRY and LOADADDRESS vars; it's all handled by the linker
script on evbarm platforms.
 1.5 03-Jan-2003  thorpej Split board-specific Makefile fragments into their own files.
 1.4 02-Jan-2003  thorpej Clean up evbarm interrupt support a little:
* Define an ARM_INTR_IMPL option, which specifies a header file
describing the interrupt implementation for the platform. Use
this instead of the list of EVBARM_BOARDTYPE checks.
* Make the s3c2xx0 interrupt dispatch code a bit more generic, and move
it to a generic location so that other platforms can use it.

This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
 1.3 17-Aug-2002  briggs Add a new option EVBARM_BOARDTYPE to differentiate between different
evbarm ports. Inline _splraise/_spllower/splx for i80321 and iq80310
for more performance.
 1.2 25-Apr-2002  briggs branches: 1.2.2; 1.2.6;
80321 doesn't have a CCLKCFG register.
 1.1 27-Mar-2002  thorpej branches: 1.1.2;
Support for the Intel IQ80321 eval board for the i80321 I/O Processor.
 1.1.2.5 03-Jan-2003  thorpej Sync with HEAD.
 1.1.2.4 19-Aug-2002  thorpej Partial (ARM only) sync with trunk -- significant performance improvements
for XScale-based systems.
 1.1.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.1.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.1 27-Mar-2002  nathanw file std.iq80321 was added on branch nathanw_sa on 2002-04-01 07:39:46 +0000
 1.2.6.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 25-Apr-2002  jdolecek file std.iq80321 was added on branch kqueue on 2002-06-23 17:35:38 +0000
 1.2.2.1 30-Aug-2002  gehenna catch up with -current.
 1.9.18.2 04-Feb-2008  yamt sync with head.
 1.9.18.1 21-Jun-2006  yamt sync with head.
 1.9.2.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.11.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.11.50.1 23-Mar-2008  matt sync with HEAD
 1.11.46.1 28-Feb-2008  rjs Sync with HEAD.
 1.12.20.1 09-Jan-2009  snj Pull up following revision(s) (requested by briggs in ticket #237):
sys/arch/evbarm/conf/std.iq80321: revision 1.13
sys/arch/evbarm/conf/std.cp3100: revision 1.3
sys/arch/evbarm/conf/std.npwr_fc: revision 1.4
sys/arch/evbarm/conf/std.iq31244: revision 1.7
i80321-based systems use a virtual base of 0xc0000000 so specify
KERNEL_BASE_EXT.
 1.12.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.12.10.1 04-May-2009  yamt sync with head.
 1.12.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.13.24.1 25-Feb-2013  tls resync with head
 1.13.14.1 23-Jan-2013  yamt sync with head
 1.16.4.1 10-Jun-2019  christos Sync with HEAD
 1.16.2.1 20-Oct-2018  pgoyette Sync with head
 1.14 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.13 17-Jan-2018  skrll branches: 1.13.2; 1.13.4;
G/C ARM32_NEW_VM_LAYOUT
 1.12 16-Dec-2012  matt Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.11 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.10 22-Jun-2008  kiyohara branches: 1.10.30; 1.10.40;
Fix macro KERNEL_BASE_EXT from KERNEL_EXT_BASE.
 1.9 09-May-2008  matt branches: 1.9.2;
Add KERNEL_BASE_EXT=0xc0000000 to those plaforms that need it.
Note that armv6 and later systems will use 0x80000000 as the kernel start
so they can use the split TTBs in armv6 and later.
 1.8 27-Jan-2008  chris branches: 1.8.6; 1.8.8; 1.8.10; 1.8.12;
Add an arm/conf/std.arm file which contains common arm options, initially
just options CPU_IN_CKSUM.

Include std.arm in all arm platform std files.

This should reenable the asm in_cksum code for all arm platforms.

Also remove the now unused in_cksum_arm.S.
 1.7 11-Dec-2005  christos branches: 1.7.46; 1.7.50; 1.7.56;
merge ktrace-lwp.
 1.6 17-Sep-2005  yamt include "conf/std".
 1.5 08-Oct-2003  scw branches: 1.5.16;
Make it easier to support different types of IXP425 board:

- Move board-specific PCI/GPIO initialisation to its rightful place.

- Handle clearing down latched GPIO interrupts in a board-independent way.

- Use MI com(4) driver for on-chip UARTs.

- Misc. tidying up.

Tested on IXDP425.
 1.4 25-Sep-2003  ichiro pci bus support
 1.3 24-May-2003  ichiro branches: 1.3.2;
add IXDP425 PCI interrupt
fix some typo
 1.2 23-May-2003  ichiro delete unused definition
 1.1 23-May-2003  ichiro support IXP425 Intel Network Processor
running on BigEndian
 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.5.16.2 04-Feb-2008  yamt sync with head.
 1.5.16.1 21-Jun-2006  yamt sync with head.
 1.7.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.7.50.1 23-Mar-2008  matt sync with HEAD
 1.7.46.1 28-Feb-2008  rjs Sync with HEAD.
 1.8.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.8.10.2 04-May-2009  yamt sync with head.
 1.8.10.1 16-May-2008  yamt sync with head.
 1.8.8.1 18-May-2008  yamt sync with head.
 1.8.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.8.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.9.2.1 27-Jun-2008  simonb Sync with head.
 1.10.40.1 25-Feb-2013  tls resync with head
 1.10.30.1 23-Jan-2013  yamt sync with head
 1.13.4.1 10-Jun-2019  christos Sync with HEAD
 1.13.2.1 20-Oct-2018  pgoyette Sync with head
 1.16 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.15 17-Jan-2018  skrll branches: 1.15.2; 1.15.4;
G/C ARM32_NEW_VM_LAYOUT
 1.14 16-Dec-2012  matt Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.13 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.12 22-Jun-2008  kiyohara branches: 1.12.30; 1.12.40;
Fix macro KERNEL_BASE_EXT from KERNEL_EXT_BASE.
 1.11 09-May-2008  matt branches: 1.11.2;
Add KERNEL_BASE_EXT=0xc0000000 to those plaforms that need it.
Note that armv6 and later systems will use 0x80000000 as the kernel start
so they can use the split TTBs in armv6 and later.
 1.10 27-Jan-2008  chris branches: 1.10.6; 1.10.8; 1.10.10; 1.10.12;
Add an arm/conf/std.arm file which contains common arm options, initially
just options CPU_IN_CKSUM.

Include std.arm in all arm platform std files.

This should reenable the asm in_cksum code for all arm platforms.

Also remove the now unused in_cksum_arm.S.
 1.9 11-Dec-2005  christos branches: 1.9.46; 1.9.50; 1.9.56;
merge ktrace-lwp.
 1.8 17-Sep-2005  yamt include "conf/std".
 1.7 22-May-2003  thorpej branches: 1.7.2; 1.7.18;
Don't need ARM32_PMAP_NEW option any more.
 1.6 03-May-2003  thorpej Switch Integrator, IXM1200, and SMDK2800 to ARM32_PMAP_NEW. These
are the last of the ARM platforms to be converted.
 1.5 03-Jan-2003  thorpej Split board-specific Makefile fragments into their own files.
 1.4 03-Jan-2003  thorpej Use the generic irq_dispatch.S
 1.3 02-Jan-2003  thorpej Clean up evbarm interrupt support a little:
* Define an ARM_INTR_IMPL option, which specifies a header file
describing the interrupt implementation for the platform. Use
this instead of the list of EVBARM_BOARDTYPE checks.
* Make the s3c2xx0 interrupt dispatch code a bit more generic, and move
it to a generic location so that other platforms can use it.

This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
 1.2 17-Aug-2002  briggs branches: 1.2.2;
Add a new option EVBARM_BOARDTYPE to differentiate between different
evbarm ports. Inline _splraise/_spllower/splx for i80321 and iq80310
for more performance.
 1.1 15-Jul-2002  ichiro branches: 1.1.2; 1.1.4;
add support ixp12x0 eva-board "IXM1200"
 1.1.4.4 03-Jan-2003  thorpej Sync with HEAD.
 1.1.4.3 19-Aug-2002  thorpej Partial (ARM only) sync with trunk -- significant performance improvements
for XScale-based systems.
 1.1.4.2 01-Aug-2002  nathanw Catch up to -current.
 1.1.4.1 15-Jul-2002  nathanw file std.ixm1200 was added on branch nathanw_sa on 2002-08-01 02:41:32 +0000
 1.1.2.3 30-Aug-2002  gehenna catch up with -current.
 1.1.2.2 21-Jul-2002  gehenna catch up with -current.
 1.1.2.1 15-Jul-2002  gehenna file std.ixm1200 was added on branch gehenna-devsw on 2002-07-21 13:00:34 +0000
 1.2.2.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.2.1 17-Aug-2002  jdolecek file std.ixm1200 was added on branch kqueue on 2002-09-06 08:34:01 +0000
 1.7.18.2 04-Feb-2008  yamt sync with head.
 1.7.18.1 21-Jun-2006  yamt sync with head.
 1.7.2.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.9.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.9.50.1 23-Mar-2008  matt sync with HEAD
 1.9.46.1 28-Feb-2008  rjs Sync with HEAD.
 1.10.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.10.10.2 04-May-2009  yamt sync with head.
 1.10.10.1 16-May-2008  yamt sync with head.
 1.10.8.1 18-May-2008  yamt sync with head.
 1.10.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.10.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.11.2.1 27-Jun-2008  simonb Sync with head.
 1.12.40.1 25-Feb-2013  tls resync with head
 1.12.30.1 23-Jan-2013  yamt sync with head
 1.15.4.1 10-Jun-2019  christos Sync with HEAD
 1.15.2.1 20-Oct-2018  pgoyette Sync with head
 1.1 14-Feb-2019  macallan branches: 1.1.4;
move arch/iyonix into evbarm - it's got less machine specific code than most
evbarm/*...
does not quite work yet, but I don't want it to accumulate more differences
to what's in arch/iyonix
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 14-Feb-2019  christos file std.iyonix was added on branch phil-wifi on 2019-06-10 22:06:05 +0000
 1.6 24-Sep-2021  skrll Make the KOBO and NETWALKER kernels compile again.
 1.5 18-May-2019  skrll Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.4 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.3 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.2 24-Aug-2014  jnemeth branches: 1.2.18; 1.2.20;
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.1 25-Jul-2014  hkenken branches: 1.1.2; 1.1.4; 1.1.6;
Initial commit of support for Kobo touch. (i.MX507 or i.MX508)
(http://www.kobo.com)
 1.1.6.3 03-Dec-2017  jdolecek update from HEAD
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 25-Jul-2014  tls file std.kobo was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.1.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.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 25-Jul-2014  tls file std.kobo was added on branch tls-earlyentropy on 2014-08-10 06:53:55 +0000
 1.2.20.1 10-Jun-2019  christos Sync with HEAD
 1.2.18.1 20-Oct-2018  pgoyette Sync with head
 1.11 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.10 16-Dec-2012  matt branches: 1.10.36; 1.10.38;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.9 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.8 22-Jun-2008  kiyohara branches: 1.8.30; 1.8.40;
Fix macro KERNEL_BASE_EXT from KERNEL_EXT_BASE.
 1.7 09-May-2008  matt branches: 1.7.2;
Add KERNEL_BASE_EXT=0xc0000000 to those plaforms that need it.
Note that armv6 and later systems will use 0x80000000 as the kernel start
so they can use the split TTBs in armv6 and later.
 1.6 27-Jan-2008  chris branches: 1.6.6; 1.6.8; 1.6.10; 1.6.12;
Add an arm/conf/std.arm file which contains common arm options, initially
just options CPU_IN_CKSUM.

Include std.arm in all arm platform std files.

This should reenable the asm in_cksum code for all arm platforms.

Also remove the now unused in_cksum_arm.S.
 1.5 11-Dec-2005  christos branches: 1.5.46; 1.5.50; 1.5.56;
merge ktrace-lwp.
 1.4 17-Sep-2005  yamt include "conf/std".
 1.3 03-Jan-2003  thorpej branches: 1.3.2; 1.3.18;
Split board-specific Makefile fragments into their own files.
 1.2 02-Jan-2003  thorpej Clean up evbarm interrupt support a little:
* Define an ARM_INTR_IMPL option, which specifies a header file
describing the interrupt implementation for the platform. Use
this instead of the list of EVBARM_BOARDTYPE checks.
* Make the s3c2xx0 interrupt dispatch code a bit more generic, and move
it to a generic location so that other platforms can use it.

This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
 1.1 18-Dec-2002  bsh branches: 1.1.2;
config staff for Lubbock
 1.1.2.3 03-Jan-2003  thorpej Sync with HEAD.
 1.1.2.2 19-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 18-Dec-2002  thorpej file std.lubbock was added on branch nathanw_sa on 2002-12-19 00:31:38 +0000
 1.3.18.2 04-Feb-2008  yamt sync with head.
 1.3.18.1 21-Jun-2006  yamt sync with head.
 1.3.2.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.5.50.1 23-Mar-2008  matt sync with HEAD
 1.5.46.1 28-Feb-2008  rjs Sync with HEAD.
 1.6.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.6.10.2 04-May-2009  yamt sync with head.
 1.6.10.1 16-May-2008  yamt sync with head.
 1.6.8.1 18-May-2008  yamt sync with head.
 1.6.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.6.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.2.1 27-Jun-2008  simonb Sync with head.
 1.8.40.1 25-Feb-2013  tls resync with head
 1.8.30.1 23-Jan-2013  yamt sync with head
 1.10.38.1 10-Jun-2019  christos Sync with HEAD
 1.10.36.1 20-Oct-2018  pgoyette Sync with head
 1.7 01-Jun-2025  rin evbarm/std.marvell: Bump DRAM_BLOCKS to 4

Now, OPENBLOCKS_A6 kernel becomes working on OpenBlocks A7,
for which all of 4 SDRAM banks of SoC are fully occupied.
 1.6 07-Oct-2018  skrll branches: 1.6.36;
Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.5 03-Aug-2017  martin branches: 1.5.2; 1.5.4;
Add options MODULAR
 1.4 28-Feb-2017  skrll typo
 1.3 16-Dec-2012  matt branches: 1.3.14; 1.3.18; 1.3.22;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.2 02-Sep-2012  matt branches: 1.2.2;
Add __HAVE_CPU_UAREA_ALLOC_IDLELWP since it's using the new boot/kvminit code
 1.1 02-Oct-2010  kiyohara branches: 1.1.2; 1.1.4; 1.1.10; 1.1.14;
Add support Marvell Sheevaplug.
Add some NAS on Marvell SoC.
 1.1.14.2 23-Jan-2013  yamt sync with head
 1.1.14.1 30-Oct-2012  yamt sync with head
 1.1.10.2 05-Mar-2011  rmind sync with head
 1.1.10.1 02-Oct-2010  rmind file std.marvell was added on branch rmind-uvmplock on 2011-03-05 20:50:04 +0000
 1.1.4.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.1.4.1 02-Oct-2010  uebayasi file std.marvell was added on branch uebayasi-xip on 2010-10-22 07:21:15 +0000
 1.1.2.2 09-Oct-2010  yamt sync with head
 1.1.2.1 02-Oct-2010  yamt file std.marvell was added on branch yamt-nfs-mp on 2010-10-09 03:31:44 +0000
 1.2.2.2 03-Dec-2017  jdolecek update from HEAD
 1.2.2.1 25-Feb-2013  tls resync with head
 1.3.22.1 21-Apr-2017  bouyer Sync with HEAD
 1.3.18.1 20-Mar-2017  pgoyette Sync with HEAD
 1.3.14.1 28-Aug-2017  skrll Sync with HEAD
 1.5.4.1 10-Jun-2019  christos Sync with HEAD
 1.5.2.1 20-Oct-2018  pgoyette Sync with head
 1.6.36.1 02-Aug-2025  perseant Sync with HEAD
 1.5 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.4 17-Jan-2018  skrll branches: 1.4.2; 1.4.4;
G/C ARM32_NEW_VM_LAYOUT
 1.3 16-Dec-2012  matt Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.2 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.1 30-Jan-2012  nisimura branches: 1.1.4; 1.1.6; 1.1.10;

Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.1.10.1 25-Feb-2013  tls resync with head
 1.1.6.3 23-Jan-2013  yamt sync with head
 1.1.6.2 17-Apr-2012  yamt sync with head
 1.1.6.1 30-Jan-2012  yamt file std.mini2440 was added on branch yamt-pagecache on 2012-04-17 00:06:13 +0000
 1.1.4.2 18-Feb-2012  mrg merge to -current.
 1.1.4.1 30-Jan-2012  mrg file std.mini2440 was added on branch jmcneill-usbmp on 2012-02-18 07:31:50 +0000
 1.4.4.1 10-Jun-2019  christos Sync with HEAD
 1.4.2.1 20-Oct-2018  pgoyette Sync with head
 1.3 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.2 16-Dec-2012  matt branches: 1.2.36; 1.2.38;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.1 04-Nov-2011  aymeric branches: 1.1.2; 1.1.12;
preliminary support for the Propox MMnet1002 board
http://www.propox.com/products/t_232.html
 1.1.12.1 25-Feb-2013  tls resync with head
 1.1.2.3 23-Jan-2013  yamt sync with head
 1.1.2.2 10-Nov-2011  yamt sync with head
 1.1.2.1 04-Nov-2011  yamt file std.mmnet was added on branch yamt-pagecache on 2011-11-10 14:31:39 +0000
 1.2.38.1 10-Jun-2019  christos Sync with HEAD
 1.2.36.1 20-Oct-2018  pgoyette Sync with head
 1.4 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.3 16-Dec-2012  matt branches: 1.3.36; 1.3.38;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.2 03-Jul-2008  matt branches: 1.2.4; 1.2.32; 1.2.42;
Add AT91 support. (XXX need to finish timecounter support).
 1.1 10-Nov-2007  matt branches: 1.1.2; 1.1.16; 1.1.20; 1.1.22;
file std.mpcsa was initially added on branch matt-nb4-arm.
 1.1.22.1 03-Jul-2008  simonb Sync with head.
 1.1.20.1 04-May-2009  yamt sync with head.
 1.1.16.1 28-Sep-2008  mjf Sync with HEAD.
 1.1.2.1 10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.2.42.1 25-Feb-2013  tls resync with head
 1.2.32.1 23-Jan-2013  yamt sync with head
 1.2.4.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.2.4.1 03-Jul-2008  wrstuden file std.mpcsa was added on branch wrstuden-revivesa on 2008-09-18 04:33:24 +0000
 1.3.38.1 10-Jun-2019  christos Sync with HEAD
 1.3.36.1 20-Oct-2018  pgoyette Sync with head
 1.1 13-Dec-2017  matt branches: 1.1.2;
file std.mtkatlas was initially added on branch matt-nb8-mediatek.
 1.1.2.1 13-Dec-2017  matt Add Mediatek ATLAS configury
 1.3 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.2 16-Dec-2012  matt branches: 1.2.36; 1.2.38;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.1 20-Jul-2011  jakllsch branches: 1.1.2; 1.1.12;
Add support for HP Media Vault MV2100/MV5100 series Marvell Orion board.
 1.1.12.1 25-Feb-2013  tls resync with head
 1.1.2.1 23-Jan-2013  yamt sync with head
 1.2.38.1 10-Jun-2019  christos Sync with HEAD
 1.2.36.1 20-Oct-2018  pgoyette Sync with head
 1.10 29-Oct-2022  jmcneill Retire arch/evbarm/beagle.

A few more kernel configs go away:

- OMAP5EVM and PANDABOARD likely never worked to begin with.
- N900 and VTC100 are TI AM335x based, which is supported by GENERIC.
 1.9 12-Oct-2019  skrll Add __HAVE_GENERIC_START
 1.8 12-Oct-2019  skrll Sort. NFCI.
 1.7 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.6 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.5 02-Nov-2014  hkenken branches: 1.5.18; 1.5.20;
Add options __HAVE_MM_MD_DIRECT_MAPPED_PHYS and ARM_HAS_VBAR for N900.
 1.4 01-Nov-2013  skrll Remove the bogus CPPFLAGS+="-I$S/../../../include"

Prompted by the build problem reported by John Klos
 1.3 14-Apr-2013  khorben branches: 1.3.4;
Use a separate file to track the drivers specific to the Nokia N900, which
will likely support quite a few soon.
 1.2 16-Dec-2012  matt branches: 1.2.2; 1.2.6;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.1 07-Dec-2012  khorben This adds a kernel configuration file for the Nokia N900 smartphone. It
is heavily based on the one for the Beagleboard (as documented first by
rhaamo).

The kernel boots properly and then asks for the root device. The
default partitions for flash memory are based on what's expected on a
stock N900 device.

ok mrg@, after initial review on port-arm@ a few weeks ago.
 1.2.6.5 03-Dec-2017  jdolecek update from HEAD
 1.2.6.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.3 23-Jun-2013  tls resync from head
 1.2.6.2 25-Feb-2013  tls resync with head
 1.2.6.1 16-Dec-2012  tls file std.n900 was added on branch tls-maxphys on 2013-02-25 00:28:35 +0000
 1.2.2.4 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.2.3 23-Jan-2013  yamt sync with head
 1.2.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.2.2.1 16-Dec-2012  yamt file std.n900 was added on branch yamt-pagecache on 2013-01-16 05:32:52 +0000
 1.3.4.1 18-May-2014  rmind sync with head
 1.5.20.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.5.20.1 10-Jun-2019  christos Sync with HEAD
 1.5.18.1 20-Oct-2018  pgoyette Sync with head
 1.14 24-Sep-2021  skrll Make the KOBO and NETWALKER kernels compile again.
 1.13 13-Jun-2019  hkenken Use armv6_start.S
 1.12 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.11 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.10 24-Aug-2014  jnemeth branches: 1.10.18; 1.10.20;
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.9 09-Apr-2014  hkenken branches: 1.9.2;
NetWalker kernels boot again.
* Enable __HAVE_MM_MD_DIRECT_MAPPED_PHYS
* Change VM layout
* Use common start-up routine
 1.8 07-Mar-2014  hkenken branches: 1.8.2;
modified NetWalker kernel config
* add ARM_HAS_VBAR, FPU_VFP etc.
 1.7 01-Nov-2013  skrll Remove the bogus CPPFLAGS+="-I$S/../../../include"

Prompted by the build problem reported by John Klos
 1.6 16-Dec-2012  matt branches: 1.6.2;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.5 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.4 08-Dec-2012  matt For cortex kernels, also specify -mfpu=neon
 1.3 26-Apr-2012  bsh branches: 1.3.2;
fix the clock frequency for delay().
from Kenichi Hashimoto.
 1.2 15-Apr-2012  bsh compile netwalker kernel with -mcpu=cortex-a8
 1.1 13-Nov-2010  bsh branches: 1.1.2; 1.1.8; 1.1.12; 1.1.16;
Sharp NetWalker PC-Z1 support by SHIMIZU Ryo, Hashimoto Kenichi, and me.
http://www.sharp.co.jp/netwalker/
 1.1.16.1 29-Apr-2012  mrg sync to latest -current.
 1.1.12.5 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.12.4 23-Jan-2013  yamt sync with head
 1.1.12.3 16-Jan-2013  yamt sync with (a bit old) head
 1.1.12.2 23-May-2012  yamt sync with head.
 1.1.12.1 17-Apr-2012  yamt sync with head
 1.1.8.2 05-Mar-2011  rmind sync with head
 1.1.8.1 13-Nov-2010  rmind file std.netwalker was added on branch rmind-uvmplock on 2011-03-05 20:50:04 +0000
 1.1.2.2 15-Nov-2010  uebayasi Sync with HEAD.
 1.1.2.1 13-Nov-2010  uebayasi file std.netwalker was added on branch uebayasi-xip on 2010-11-15 14:38:23 +0000
 1.3.2.3 03-Dec-2017  jdolecek update from HEAD
 1.3.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.2.1 25-Feb-2013  tls resync with head
 1.6.2.1 18-May-2014  rmind sync with head
 1.8.2.1 10-Aug-2014  tls Rebase.
 1.9.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.10.20.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.10.20.1 10-Jun-2019  christos Sync with HEAD
 1.10.18.1 20-Oct-2018  pgoyette Sync with head
 1.12 23-May-2020  skrll imx6 kernels are part of GENERIC now
 1.11 24-Jul-2019  hkenken Modified i.MX GPIO control module and PCIe module.

+ Add imxpcie.c
imx PCIe common driver
 1.10 18-May-2019  skrll Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.9 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.8 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.7 08-Oct-2018  skrll Sort options.

No functional change.
 1.6 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.5 01-Jul-2017  skrll branches: 1.5.4; 1.5.6; 1.5.8;
Define __HAVE_CPU_UAREA_ALLOC_IDLELWP
 1.4 24-Nov-2016  hkenken Add support imx6 PCIe controller.
 1.3 30-Jul-2015  ryo branches: 1.3.2;
- setup iomux before attach console
- define EVBARM_BOARDTYPE in each config file
- add iomux settings for UART1
- add some iomux definitions
 1.2 25-Feb-2015  ryo on iMX6, disable __HAVE_MM_MD_DIRECT_MAPPED_PHYS and PMAP_NEED_ALLOC_POOLPAGE by default.
 1.1 25-Sep-2014  ryo branches: 1.1.2;
add support i.MX6 and NITROGEN6X evaluation board
 1.1.2.4 28-Aug-2017  skrll Sync with HEAD
 1.1.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.2.1 06-Apr-2015  skrll Sync with HEAD
 1.3.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.5.8.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.5.8.1 10-Jun-2019  christos Sync with HEAD
 1.5.6.1 20-Oct-2018  pgoyette Sync with head
 1.5.4.2 03-Dec-2017  jdolecek update from HEAD
 1.5.4.1 01-Jul-2017  jdolecek file std.nitrogen6 was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.8 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.7 17-Jan-2018  skrll branches: 1.7.2; 1.7.4;
G/C ARM32_NEW_VM_LAYOUT
 1.6 16-Dec-2012  matt Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.5 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.4 05-Jan-2009  briggs branches: 1.4.14; 1.4.24;
i80321-based systems use a virtual base of 0xc0000000 so specify
KERNEL_BASE_EXT.
 1.3 27-Jan-2008  chris branches: 1.3.6; 1.3.10; 1.3.18; 1.3.20;
Add an arm/conf/std.arm file which contains common arm options, initially
just options CPU_IN_CKSUM.

Include std.arm in all arm platform std files.

This should reenable the asm in_cksum code for all arm platforms.

Also remove the now unused in_cksum_arm.S.
 1.2 08-Jan-2008  matt include "conf/std"
 1.1 22-Dec-2005  briggs branches: 1.1.18; 1.1.48; 1.1.52; 1.1.58; 1.1.66;
Add files that have been sitting in my local source tree for almost exactly
two years. Unable to test since I no longer have access to the hardware.
 1.1.66.1 08-Jan-2008  bouyer Sync with HEAD
 1.1.58.1 18-Feb-2008  mjf Sync with HEAD.
 1.1.52.2 23-Mar-2008  matt sync with HEAD
 1.1.52.1 09-Jan-2008  matt sync with HEAD
 1.1.48.1 28-Feb-2008  rjs Sync with HEAD.
 1.1.18.4 04-Feb-2008  yamt sync with head.
 1.1.18.3 21-Jan-2008  yamt sync with head
 1.1.18.2 21-Jun-2006  yamt sync with head.
 1.1.18.1 22-Dec-2005  yamt file std.npwr_fc was added on branch yamt-lazymbuf on 2006-06-21 14:50:33 +0000
 1.3.20.1 09-Jan-2009  snj Pull up following revision(s) (requested by briggs in ticket #237):
sys/arch/evbarm/conf/std.iq80321: revision 1.13
sys/arch/evbarm/conf/std.cp3100: revision 1.3
sys/arch/evbarm/conf/std.npwr_fc: revision 1.4
sys/arch/evbarm/conf/std.iq31244: revision 1.7
i80321-based systems use a virtual base of 0xc0000000 so specify
KERNEL_BASE_EXT.
 1.3.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.3.10.1 04-May-2009  yamt sync with head.
 1.3.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.4.24.1 25-Feb-2013  tls resync with head
 1.4.14.1 23-Jan-2013  yamt sync with head
 1.7.4.1 10-Jun-2019  christos Sync with HEAD
 1.7.2.1 20-Oct-2018  pgoyette Sync with head
 1.6 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.5 16-Dec-2012  matt branches: 1.5.36; 1.5.38;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.4 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.3 09-May-2008  matt branches: 1.3.32; 1.3.42;
Add KERNEL_BASE_EXT=0xc0000000 to those plaforms that need it.
Note that armv6 and later systems will use 0x80000000 as the kernel start
so they can use the split TTBs in armv6 and later.
 1.2 27-Jan-2008  chris branches: 1.2.6; 1.2.8; 1.2.10; 1.2.12;
Add an arm/conf/std.arm file which contains common arm options, initially
just options CPU_IN_CKSUM.

Include std.arm in all arm platform std files.

This should reenable the asm in_cksum code for all arm platforms.

Also remove the now unused in_cksum_arm.S.
 1.1 28-Feb-2006  scw branches: 1.1.2; 1.1.10; 1.1.16; 1.1.22; 1.1.48; 1.1.52; 1.1.58;
A port of NetBSD to the Linksys NSLU2 (a.k.a. "Slug").

The NSLU2 (Network Storage Link for USB 2.0 Disk Drives) is a small, *cheap*
NAS device consisting of an Intel IXP420 (Xscale) CPU, a 10/100mbit Ethernet
port, and two USB 2.0 ports. It has 32MB of SDRAM and 8MB of Flash memory,
and runs RedBoot/Linux out of the box. Now it can also run NetBSD.
 1.1.58.1 18-Feb-2008  mjf Sync with HEAD.
 1.1.52.1 23-Mar-2008  matt sync with HEAD
 1.1.48.1 28-Feb-2008  rjs Sync with HEAD.
 1.1.22.2 09-Sep-2006  rpaulo sync with head
 1.1.22.1 28-Feb-2006  rpaulo file std.nslu2 was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:40 +0000
 1.1.16.3 04-Feb-2008  yamt sync with head.
 1.1.16.2 21-Jun-2006  yamt sync with head.
 1.1.16.1 28-Feb-2006  yamt file std.nslu2 was added on branch yamt-lazymbuf on 2006-06-21 14:50:33 +0000
 1.1.10.2 22-Apr-2006  simonb Sync with head.
 1.1.10.1 28-Feb-2006  simonb file std.nslu2 was added on branch simonb-timecounters on 2006-04-22 11:37:22 +0000
 1.1.2.2 01-Mar-2006  yamt sync with head.
 1.1.2.1 28-Feb-2006  yamt file std.nslu2 was added on branch yamt-uio_vmspace on 2006-03-01 09:27:46 +0000
 1.2.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.2.10.1 16-May-2008  yamt sync with head.
 1.2.8.1 18-May-2008  yamt sync with head.
 1.2.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.42.1 25-Feb-2013  tls resync with head
 1.3.32.1 23-Jan-2013  yamt sync with head
 1.5.38.1 10-Jun-2019  christos Sync with HEAD
 1.5.36.1 20-Oct-2018  pgoyette Sync with head
 1.6 15-Dec-2015  marty EXYNOS - change ODROID-XU4 to EXYNOS

EXYNOS will be a generic fdt kernel, so signify that with the name change,
as requested by Nick.
 1.5 23-Dec-2014  matt Default to armv7-a when building ODROID kernels so we get the armv7a
instructions.
 1.4 24-Aug-2014  jnemeth branches: 1.4.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.3 14-Aug-2014  reinoud branches: 1.3.2;
Set __NO_FIQ for the Exynos processors are shipped with SecureCore enabled
gics and FIQs are for the secure part only.
 1.2 06-Jun-2014  reinoud branches: 1.2.2; 1.2.4;
Add gpio, i2c and USB devices to ODROID and clean it up a bit too.

Since its a SoC, some devices might just as well move to std.odroid but are
kept here for now.

I got confirmation from Hardkernel, the company that creates the Odroid's that
*all* Samsung SoC's that are used in products other than Samsungs own have the
trustzone firmware mandatory. Its also part of the bootloading step and
Hardkernel has to digitally sign part of the bootloaders to be allowed to have
it boot at all.
 1.1 13-Apr-2014  matt branches: 1.1.2; 1.1.4;
Add initial support for the ODROID-XU and ODROID-U3.
Still a work in progress. Started by nick and reinoud.
 1.1.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 13-Apr-2014  yamt file std.odroid was added on branch yamt-pagecache on 2014-05-22 11:39:40 +0000
 1.1.2.2 18-May-2014  rmind sync with head
 1.1.2.1 13-Apr-2014  rmind file std.odroid was added on branch rmind-smpnet on 2014-05-18 17:45:03 +0000
 1.2.4.1 04-Jan-2015  martin Pull up the following revisions, requested by skrll in #373:

sys/arch/arm/samsung/exynos4_loc.c 1.10-1.11
sys/arch/arm/samsung/exynos4_reg.h 1.8-1.13
sys/arch/arm/samsung/exynos5_loc.c 1.8-1.12
sys/arch/arm/samsung/exynos5_reg.h 1.11-1.20
sys/arch/arm/samsung/exynos_gpio.c 1.7-1.12
sys/arch/arm/samsung/exynos_i2c.c 1.2-1.3
sys/arch/arm/samsung/exynos_intr.h 1.2
sys/arch/arm/samsung/exynos_io.c 1.7-1.8
sys/arch/arm/samsung/exynos_io.h 1.5-1.6
sys/arch/arm/samsung/exynos_reg.h 1.8-1.13
sys/arch/arm/samsung/exynos_smc.S 1.2-1.3
sys/arch/arm/samsung/exynos_soc.c 1.15-1.27
sys/arch/arm/samsung/exynos_usb.c 1.8-1.13
sys/arch/arm/samsung/exynos_var.h 1.13-1.18
sys/arch/arm/samsung/exynos_wdt.c 1.5
sys/arch/arm/samsung/mct.c 1.4-1.5
sys/arch/arm/samsung/mct_reg.h 1.2
sys/arch/arm/samsung/mct_var.h 1.3
sys/arch/arm/samsung/smc.h 1.2
sys/arch/arm/samsung/sscom.c 1.7
sys/arch/evbarm/odroid/odroid_machdep.c 1.25-1.39
sys/arch/evbarm/odroid/odroid_start.S 1.4-1.6
sys/arch/evbarm/conf/std.odroid 1.3-1.5
sys/arch/evbarm/conf/ODROID delete
sys/arch/evbarm/conf/ODROID-U 1.10-1.17
sys/arch/evbarm/conf/ODROID_INSTALL delete
sys/arch/evbarm/conf/ODROID-XU 1.1-1.4

Improve ODROID support.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 06-Jun-2014  tls file std.odroid was added on branch tls-earlyentropy on 2014-08-10 06:53:55 +0000
 1.3.2.3 03-Dec-2017  jdolecek update from HEAD
 1.3.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.2.1 14-Aug-2014  tls file std.odroid was added on branch tls-maxphys on 2014-08-20 00:02:53 +0000
 1.4.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.4.2.1 06-Apr-2015  skrll Sync with HEAD
 1.7 29-Oct-2022  jmcneill Remove support for TI OMAP 5912 OSK board.

This is part of the arch/arm/omap removal.
 1.6 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.5 16-Dec-2012  matt branches: 1.5.36; 1.5.38;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.4 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.3 27-Apr-2008  matt branches: 1.3.34; 1.3.44;
Merge kernel changes in matt-armv6 to HEAD.
 1.2 27-Jan-2008  chris branches: 1.2.6; 1.2.8; 1.2.10;
Add an arm/conf/std.arm file which contains common arm options, initially
just options CPU_IN_CKSUM.

Include std.arm in all arm platform std files.

This should reenable the asm in_cksum code for all arm platforms.

Also remove the now unused in_cksum_arm.S.
 1.1 06-Jan-2007  christos branches: 1.1.2; 1.1.6; 1.1.8; 1.1.26; 1.1.30; 1.1.36;
New files from Bucky Katz
 1.1.36.1 18-Feb-2008  mjf Sync with HEAD.
 1.1.30.2 23-Mar-2008  matt sync with HEAD
 1.1.30.1 30-Oct-2007  cliff kernel virtual space starts at 0x80000000 now (was 0xc0000000).
 1.1.26.1 28-Feb-2008  rjs Sync with HEAD.
 1.1.8.3 04-Feb-2008  yamt sync with head.
 1.1.8.2 26-Feb-2007  yamt sync with head.
 1.1.8.1 06-Jan-2007  yamt file std.osk5912 was added on branch yamt-lazymbuf on 2007-02-26 09:06:18 +0000
 1.1.6.2 24-Feb-2007  snj Pull up following revision(s) (requested by matt in ticket #457):
sys/arch/evbarm/conf/OSK5912: revision 1.1
sys/arch/evbarm/osk5912/if_sm_emifs.c: revision 1.1
sys/arch/evbarm/conf/std.osk5912: revision 1.1
sys/arch/evbarm/osk5912/osk5912_machdep.c: revision 1.1
sys/arch/evbarm/conf/mk.osk5912: revision 1.1
sys/arch/evbarm/conf/files.osk5912: revision 1.1
New files from Bucky Katz
 1.1.6.1 06-Jan-2007  snj file std.osk5912 was added on branch netbsd-4 on 2007-02-24 19:03:13 +0000
 1.1.2.2 12-Jan-2007  ad Sync with head.
 1.1.2.1 06-Jan-2007  ad file std.osk5912 was added on branch newlock2 on 2007-01-12 01:00:46 +0000
 1.2.10.1 16-May-2008  yamt sync with head.
 1.2.8.1 18-May-2008  yamt sync with head.
 1.2.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.44.1 25-Feb-2013  tls resync with head
 1.3.34.1 23-Jan-2013  yamt sync with head
 1.5.38.1 10-Jun-2019  christos Sync with HEAD
 1.5.36.1 20-Oct-2018  pgoyette Sync with head
 1.12 29-Oct-2022  jmcneill Remove support for OMAP based Gumstix platforms.

These changes are to prepare for the removal of arch/arm/omap. Support
for Xscale based Gumstix platforms remains.

(If someone wants to resurrect DuoVero and Pepper platforms, it's best
to do that in the GENERIC kernel using FDT.)
 1.11 18-May-2019  skrll Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.10 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.9 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.8 04-Oct-2016  kiyohara branches: 1.8.14; 1.8.16;
Enable TPIDRPRW_IS_CURCPU.
 1.7 04-Aug-2016  kiyohara Move BOARDTYPE and EVBARM_BOARDTYPE from std.overo to OVERO.
 1.6 01-Nov-2013  skrll branches: 1.6.6; 1.6.10;
Remove the bogus CPPFLAGS+="-I$S/../../../include"

Prompted by the build problem reported by John Klos
 1.5 16-Dec-2012  matt branches: 1.5.2;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.4 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.3 29-Aug-2012  matt branches: 1.3.2;
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP}
since TPIDRPRW is the cp15 register name.
Initialize it early in start along with CI_ARM_CPUID.
Remove other initializations.
We alays have ci_curlwp.
Enable TIPRPRW_IS_CURCPU in std.beagle.
[tested on a beaglboard (cortex-a8)]
 1.2 20-Jul-2010  kiyohara branches: 1.2.2; 1.2.4; 1.2.10; 1.2.14;
Add options EVBARM_BOARDTYPE.
 1.1 10-Jul-2010  kiyohara Support Overo (Gumstix inc).
+ This commit supports basically.
+ Expansion boards not support yet. And MicroSD, Wifi, Bluetooth too.
 1.2.14.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.2.14.2 23-Jan-2013  yamt sync with head
 1.2.14.1 30-Oct-2012  yamt sync with head
 1.2.10.2 05-Mar-2011  rmind sync with head
 1.2.10.1 20-Jul-2010  rmind file std.overo was added on branch rmind-uvmplock on 2011-03-05 20:50:04 +0000
 1.2.4.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.2.4.1 20-Jul-2010  uebayasi file std.overo was added on branch uebayasi-xip on 2010-08-17 06:44:16 +0000
 1.2.2.2 11-Aug-2010  yamt sync with head.
 1.2.2.1 20-Jul-2010  yamt file std.overo was added on branch yamt-nfs-mp on 2010-08-11 22:51:51 +0000
 1.3.2.3 03-Dec-2017  jdolecek update from HEAD
 1.3.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.2.1 25-Feb-2013  tls resync with head
 1.5.2.1 18-May-2014  rmind sync with head
 1.6.10.2 04-Nov-2016  pgoyette Sync with HEAD
 1.6.10.1 06-Aug-2016  pgoyette Sync with HEAD
 1.6.6.2 05-Dec-2016  skrll Sync with HEAD
 1.6.6.1 05-Oct-2016  skrll Sync with HEAD
 1.8.16.1 10-Jun-2019  christos Sync with HEAD
 1.8.14.1 20-Oct-2018  pgoyette Sync with head
 1.4 08-Feb-2018  jmcneill Move Rockchip port to the attic. It is not very useful.
 1.3 28-Aug-2017  skrll branches: 1.3.2;
Define __HAVE_CPU_UAREA_ALLOC_IDLELWP so there are less wasted pages
 1.2 28-Aug-2017  skrll group __HAVE* options
 1.1 26-Dec-2014  jmcneill branches: 1.1.2;
Initial support for Rockchip RK3066 / RK3188 SoCs, from Hiroshi Tokuda
<tokuda@tokuda.net> on port-arm:

http://mail-index.netbsd.org/port-arm/2014/10/09/msg002651.html
 1.1.2.4 28-Aug-2017  skrll Sync with HEAD
 1.1.2.3 28-Aug-2017  skrll group __HAVE* options
 1.1.2.2 06-Apr-2015  skrll Sync with HEAD
 1.1.2.1 26-Dec-2014  skrll file std.rockchip was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.3.2.1 28-Aug-2017  jdolecek file std.rockchip was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.26 03-Sep-2021  andvar s/opions/options/
 1.25 21-Mar-2021  skrll -DKERNEL_BASE_VOFFSET= has annoyed me for the last time...

Introduce KERNEL_VOFFSET_RUNTIME which prevents the addition of
-DKERNEL_BASE_VOFFSET= to the command line and use it on the
__HAVE_GENERIC_START kernels which do runtime calculation of the
offset.
 1.24 18-Oct-2018  skrll branches: 1.24.12; 1.24.14;
Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.23 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.22 08-Oct-2018  skrll Sort options.

No functional change.
 1.21 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.20 10-Dec-2017  skrll branches: 1.20.2; 1.20.4;
FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.

The kernel image that the RPI firmware boots is now netbsd.img in the
kernel build directory.

XXX fdtbus_get_reg needs reworking
 1.19 28-Feb-2015  skrll Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.

This commit changes the KVA layout of the RPI.
 1.18 24-Nov-2014  skrll branches: 1.18.2;
Use TPIDRPRW_IS_CURLWP as it's a slight code reduction and performance
improvement.
 1.17 08-Nov-2014  skrll Add __HAVE_MM_MD_CACHE_ALIASING
 1.16 08-Nov-2014  skrll Move some options into std.rpi
 1.15 24-Aug-2014  jnemeth Create an "options MODULAR_DEFAULT_AUTOLOAD" config option and add
it to all kernel configs that contain "options MODULAR". This
option turns on module autoloading by default (which is the current
default). This allows people who don't want module autoloading on
by default to disable it by simply removing/commentting this line.
 1.14 06-Apr-2014  skrll branches: 1.14.2;
Re-arrange RPI VM layout and enable __HAVE_MM_MD_DIRECT_MAPPED_PHYS. RPI
kernels now boot again.

I'm not admitting defeat in why there are problems with the
non-__HAVE_MM_MD_DIRECT_MAPPED_PHYS case.
 1.13 25-Feb-2014  skrll branches: 1.13.2;
Define ARM11_COMPAT_MMU (for now) to keep inline with cpuconf.h changes
 1.12 01-Nov-2013  skrll Remove the bogus CPPFLAGS+="-I$S/../../../include"

Prompted by the build problem reported by John Klos
 1.11 15-Oct-2013  skrll Switch to dwctwo(4) from dotg(4) for the RaspberryPi port. This brings
DMA support and (initial) isoc transfer support.

Remove URTWN_DOTG_WORKAROUND as dwctwo doesn't appear to need it.
 1.10 17-Sep-2013  skrll Add MODULAR
 1.9 06-Aug-2013  matt Add LOADADDRESS (don't make it implicit)
 1.8 22-Jun-2013  matt branches: 1.8.2;
Enable ARM_HAS_VBAR since the arm1176 has a VBAR register.
 1.7 16-Mar-2013  skrll As a workaround for the Raspberry PI, only allow 1 TX transfer to be
active at once.

XXX This might affect all host controllers
 1.6 19-Feb-2013  skrll Oops. Didn't mean to commit this with previous.
 1.5 19-Feb-2013  skrll Add support for the ARM Integrator/CP from Sergio L�pez.

The code hasn't been tested on real hardware, but INTEGRATOR_CP config
is useful for QEMU which supports it.
 1.4 19-Dec-2012  skrll Add __HAVE_CPU_COUNTER
 1.3 16-Dec-2012  matt Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.2 01-Sep-2012  skrll branches: 1.2.2; 1.2.4;
Define __HAVE_CPU_UAREA_ALLOC_IDLELWP and TPIDRPRW_IS_CURCPU
 1.1 26-Jul-2012  skrll branches: 1.1.2;
Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.
 1.1.2.3 13-Feb-2013  riz Pull up following revision(s) (requested by skrll in ticket #813):

etc/MAKEDEV.tmpl 1.160
etc/etc.evbarm/MAKEDEV.conf 1.9
external/broadcom/rpi-firmware/dist/LICENCE.broadcom 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.2
external/broadcom/rpi-firmware/dist/fixup.dat 1.1
external/broadcom/rpi-firmware/dist/fixup.dat 1.2
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.1
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.2
external/broadcom/rpi-firmware/dist/start.elf 1.1
external/broadcom/rpi-firmware/dist/start.elf 1.2
external/broadcom/rpi-firmware/dist/start_cd.elf 1.1
external/broadcom/rpi-firmware/dist/start_cd.elf 1.2
sys/arch/arm/broadcom/bcm2835_bsc.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_bscreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_dotg.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_emmc.c 1.7 via patch
sys/arch/arm/broadcom/bcm2835_genfb.c 1.4 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_gpioreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_intr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_mbox.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_mbox.h 1.4 via patch
sys/arch/arm/broadcom/bcm2835_obio.c 1.17 via patch
sys/arch/arm/broadcom/bcm2835_pm.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_rng.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_space.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_spi.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_spireg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_tmr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835reg.h 1.10 via patch
sys/arch/arm/broadcom/files.bcm2835 1.14 via patch
sys/arch/evbarm/conf/RPI 1.23 via patch
sys/arch/evbarm/conf/files.rpi 1.3 via patch
sys/arch/evbarm/conf/mk.rpi 1.2 via patch
sys/arch/evbarm/conf/std.rpi 1.4 via patch
sys/arch/evbarm/rpi/rpi_machdep.c 1.34 via patch
sys/arch/evbarm/rpi/rpi_start.S 1.7 via patch
sys/arch/evbarm/rpi/rpi_vcmbox.c 1.2 via patch
sys/arch/evbarm/rpi/vcio.h 1.1 via patch
sys/arch/evbarm/rpi/vcprop.h 1.7 via patch
sys/conf/files patch
sys/dev/sdmmc/sdhc.c 1.43
sys/dev/sdmmc/sdhcvar.h 1.13
sys/dev/usb/dwc_otg.c 1.45 via patch
sys/dev/usb/dwc_otgreg.h 1.5 via patch
sys/dev/usb/dwc_otgvar.h 1.11 via patch
sys/dev/usb/files.usb 1.126 via patch
sys/dev/usb/if_smsc.c 1.7 via patch
sys/dev/usb/if_smscreg.h 1.1 via patch
sys/dev/usb/if_smscvar.h 1.1 via patch
sys/dev/usb/usbdevices.config patch
sys/dev/usb/usbdevs 1.633 via patch
sys/dev/usb/usbdevs.h regen
sys/dev/usb/usbdevs_data.h regen
sys/dev/wscons/wsconsio.h 1.105,1.107 via patch
sys/dev/wscons/wsdisplayvar.h 1.50
sys/dev/wscons/wsdisplay_util.c 1.2
sys/dev/videomode/edid.c 1.12 via patch

Greatly improved Raspberry Pi support. USB and onboard
Ethernet should work.
[skrll, ticket #813]
 1.1.2.2 09-Aug-2012  jdc Pull up revisions:
src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4
src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65
src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40
src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14
src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11
src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2
src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108
src/sys/arch/arm/arm32/cpu.c revision 1.79
src/sys/arch/arm/include/armreg.h revisions 1.49,1.54
src/sys/arch/arm/arm32/pmap.c revision 1.229
src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77
src/sys/arch/arm/include/cpu.h revision 1.64
src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3
src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1
src/sys/arch/arm/conf/files.arm revision 1.106
src/sys/arch/arm/include/cpufunc.h revision 1.57
src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24
src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8
src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4
src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69
src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1
src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1
src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1
src/sys/arch/evbarm/Makefile revision 1.9
src/sys/arch/evbarm/conf/RPI revision 1.1
src/sys/arch/evbarm/conf/files.rpi revision 1.1
src/sys/arch/evbarm/conf/mk.rpi revision 1.1
src/sys/arch/evbarm/conf/std.rpi revision 1.1
src/sys/arch/evbarm/rpi/genassym.cf revision 1.1
src/sys/arch/evbarm/rpi/rpi.h revision 1.1
src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1
src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2
src/etc/etc.evbarm/Makefile.inc revision 1.28
(requested by skrll in ticket #454).

don't mix #define<TAB> and #define<SPACE> in a file.

avoid warning with options PLCOM_DEBUG for INTEGRATOR.

Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.

Replace the simple_lock with a kmutex_t. Update the locking to match
com(4) in the few places it didn't already.

DOH. Replace a line that got accidently deleted in the last commit.

device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t

Add the 'Z' to the 1176 cpu product name.

ok matt@

Fix locking botch introduced in 1.36.

Fix a KASSERT. From/OK'ed by matt@

Fix racy softint dispatch that lead to KASSERT(si->si_active) in
softint_execute

Discussed with matt@. "Looks good to me"

Add the documented ARM11[37]6 Auxiliary control register defines.

Add support for the ARM1176JZS

Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).

Provide a method for attachments to specify capabilites.

Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.

Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.

Add RPI to KERNEL_SETS

Remove #if 0 code.
 1.1.2.1 26-Jul-2012  jdc file std.rpi was added on branch netbsd-6 on 2012-08-09 06:36:44 +0000
 1.2.4.4 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.4.3 23-Jan-2013  yamt sync with head
 1.2.4.2 30-Oct-2012  yamt sync with head
 1.2.4.1 01-Sep-2012  yamt file std.rpi was added on branch yamt-pagecache on 2012-10-30 17:19:21 +0000
 1.2.2.4 03-Dec-2017  jdolecek update from HEAD
 1.2.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.2.2 23-Jun-2013  tls resync from head
 1.2.2.1 25-Feb-2013  tls resync with head
 1.8.2.2 18-May-2014  rmind sync with head
 1.8.2.1 28-Aug-2013  rmind sync with head
 1.13.2.1 10-Aug-2014  tls Rebase.
 1.14.2.1 11-Mar-2015  snj Pull up following revision(s) (requested by skrll in ticket #582):
distrib/utils/embedded/conf/rpi.conf: revision 1.27
etc/etc.evbarm/Makefile.inc: revision 1.70
sys/arch/arm/broadcom/bcm2835_intr.c: revision 1.5-1.7
sys/arch/arm/broadcom/bcm2835_obio.c: revision 1.23, 1.24
sys/arch/arm/broadcom/bcm2835_space.c: revision 1.8
sys/arch/arm/broadcom/bcm2835reg.h: revision 1.14
sys/arch/arm/broadcom/bcm2835var.h: revision 1.2
sys/arch/arm/broadcom/files.bcm2835: revision 1.24
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.30
sys/arch/arm/cortex/armperiph.c: revision 1.8, 1.9
sys/arch/arm/cortex/gtmr.c: revision 1.9
sys/arch/arm/cortex/gtmr_var.h: revision 1.5
sys/arch/arm/cortex/mpcore_var.h: revision 1.3
sys/arch/arm/include/cpu.h: revision 1.84
sys/arch/evbarm/conf/RPI2: revision 1.1, 1.2
sys/arch/evbarm/conf/RPI2_INSTALL: revision 1.1
sys/arch/evbarm/conf/RPI: revision 1.59, 1.60
sys/arch/evbarm/conf/mk.rpi: revision 1.4
sys/arch/evbarm/conf/std.rpi: revisions 1.16-1.19 via patch
sys/arch/evbarm/rpi/genassym.cf: revision 1.2
sys/arch/evbarm/rpi/rpi.h: revision 1.4
sys/arch/evbarm/rpi/rpi2_start.S: revision 1.1
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.57, 1.58 via patch
sys/arch/evbarm/rpi/rpi_start.S: revision 1.13
Move some options into std.rpi
--
Add __HAVE_MM_MD_CACHE_ALIASING
Pull up following revision(s) (requested by skrll in ticket #582):
Fix TPIDRPRW_IS_CURLWP builds.
--
A MULTIPROCESSOR kernel requires TPIDRPRW_IS_CURCPU.
--
Use TPIDRPRW_IS_CURLWP as it's a slight code reduction and performance
improvement.
Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.
This commit changes the KVA layout of the RPI.
--
Make this compile where gtmr isn't used.
--
Spin up the non-boot CPUs, but don't allow cpu_boot_secondary_processors
to see them for now.
RPI2 nows works well with only the boot cpu.
--
Appease a KASSERT - will be remove when MULTIPROCESSOR RPI2 is fixed.
--
Add RPI2 to kernels build for both earmv[67].
Use the earmv6 built kernels to create an image that can be used on both
RPI and RPI2
--
Add an RPI2_INSTALL
 1.18.2.1 06-Apr-2015  skrll Sync with HEAD
 1.20.4.1 10-Jun-2019  christos Sync with HEAD
 1.20.2.1 20-Oct-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.9 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.8 17-Jan-2018  skrll branches: 1.8.2; 1.8.4;
G/C ARM32_NEW_VM_LAYOUT
 1.7 16-Dec-2012  matt Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.6 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.5 30-Jun-2008  bsh branches: 1.5.30; 1.5.40;
KERNEL_BASE_EXT is mandatory after matt-armv6 merge
 1.4 27-Jan-2008  chris branches: 1.4.6; 1.4.10; 1.4.12; 1.4.14;
Add an arm/conf/std.arm file which contains common arm options, initially
just options CPU_IN_CKSUM.

Include std.arm in all arm platform std files.

This should reenable the asm in_cksum code for all arm platforms.

Also remove the now unused in_cksum_arm.S.
 1.3 11-Dec-2005  christos branches: 1.3.46; 1.3.50; 1.3.56;
merge ktrace-lwp.
 1.2 17-Sep-2005  yamt include "conf/std".
 1.1 31-Jul-2003  bsh branches: 1.1.4; 1.1.18;
the first cut for Samsung SMDK2410 support.
It is an evaluation board for S3C2410.

XXX: not tested much yet.
XXX: smdk2410_machdep.c and smdk2410_start.S are almost identical
to SMDK2800's. One day I'll merge them.
 1.1.18.2 04-Feb-2008  yamt sync with head.
 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 31-Jul-2003  skrll file std.smdk2410 was added on branch ktrace-lwp on 2004-08-03 10:33:55 +0000
 1.3.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.3.50.1 23-Mar-2008  matt sync with HEAD
 1.3.46.1 28-Feb-2008  rjs Sync with HEAD.
 1.4.14.1 03-Jul-2008  simonb Sync with head.
 1.4.12.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.4.10.1 04-May-2009  yamt sync with head.
 1.4.6.1 02-Jul-2008  mjf Sync with HEAD.
 1.5.40.1 25-Feb-2013  tls resync with head
 1.5.30.1 23-Jan-2013  yamt sync with head
 1.8.4.1 10-Jun-2019  christos Sync with HEAD
 1.8.2.1 20-Oct-2018  pgoyette Sync with head
 1.17 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.16 17-Jan-2018  skrll branches: 1.16.2; 1.16.4;
G/C ARM32_NEW_VM_LAYOUT
 1.15 16-Dec-2012  matt Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.14 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.13 30-Jun-2008  bsh branches: 1.13.30; 1.13.40;
KERNEL_BASE_EXT is mandatory after matt-armv6 merge
 1.12 27-Jan-2008  chris branches: 1.12.6; 1.12.10; 1.12.12; 1.12.14;
Add an arm/conf/std.arm file which contains common arm options, initially
just options CPU_IN_CKSUM.

Include std.arm in all arm platform std files.

This should reenable the asm in_cksum code for all arm platforms.

Also remove the now unused in_cksum_arm.S.
 1.11 11-Dec-2005  christos branches: 1.11.46; 1.11.50; 1.11.56;
merge ktrace-lwp.
 1.10 17-Sep-2005  yamt include "conf/std".
 1.9 03-Apr-2004  bsh branches: 1.9.12;
SMDK2800 gets kernel panic with write-back dcache. Use write-through
mode until we find a fix for this.
 1.8 04-Aug-2003  bsh option SSCOM_S3C2800 is needed for S3C2800 based platforms.
 1.7 31-Jul-2003  bsh move KERNEL_BASE_PHYS from mk.smdk2xx0 to std.smdk2800, to share
mk.smdk2xx0 with SMDK2410.
 1.6 22-May-2003  thorpej branches: 1.6.2;
Don't need ARM32_PMAP_NEW option any more.
 1.5 03-May-2003  thorpej Switch Integrator, IXM1200, and SMDK2800 to ARM32_PMAP_NEW. These
are the last of the ARM platforms to be converted.
 1.4 29-Jan-2003  thorpej Fix a typo.
 1.3 03-Jan-2003  thorpej Split board-specific Makefile fragments into their own files.
 1.2 02-Jan-2003  thorpej Clean up evbarm interrupt support a little:
* Define an ARM_INTR_IMPL option, which specifies a header file
describing the interrupt implementation for the platform. Use
this instead of the list of EVBARM_BOARDTYPE checks.
* Make the s3c2xx0 interrupt dispatch code a bit more generic, and move
it to a generic location so that other platforms can use it.

This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
 1.1 20-Nov-2002  bsh branches: 1.1.2;
SMDK2800 is an evaluation board for Samsung S3C2800 CPU.
 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 20-Nov-2002  thorpej file std.smdk2800 was added on branch nathanw_sa on 2002-12-11 05:58:31 +0000
 1.6.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.6.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.2.1 03-Aug-2004  skrll Sync with HEAD
 1.9.12.2 04-Feb-2008  yamt sync with head.
 1.9.12.1 21-Jun-2006  yamt sync with head.
 1.11.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.11.50.1 23-Mar-2008  matt sync with HEAD
 1.11.46.1 28-Feb-2008  rjs Sync with HEAD.
 1.12.14.1 03-Jul-2008  simonb Sync with head.
 1.12.12.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.12.10.1 04-May-2009  yamt sync with head.
 1.12.6.1 02-Jul-2008  mjf Sync with HEAD.
 1.13.40.1 25-Feb-2013  tls resync with head
 1.13.30.1 23-Jan-2013  yamt sync with head
 1.16.4.1 10-Jun-2019  christos Sync with HEAD
 1.16.2.1 20-Oct-2018  pgoyette Sync with head
 1.9 31-Mar-2019  jmcneill Remove SUNXI kernel config.
 1.8 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.7 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.6 08-Oct-2018  skrll Sort options.

No functional change.
 1.5 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.4 25-Aug-2017  jmcneill branches: 1.4.2; 1.4.4; 1.4.6; 1.4.8;
Add initial support for Allwinner A13 and R8 SoCs.
 1.3 05-Jul-2017  jmcneill branches: 1.3.4;
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
 1.2 03-Jul-2017  jmcneill Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
 1.1 28-Jun-2017  jmcneill Add initial support for Allwinner H3 SoC.
 1.3.4.2 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.3.4.1 05-Jul-2017  snj file std.sunxi was added on branch netbsd-8 on 2017-07-18 19:13:09 +0000
 1.4.8.1 10-Jun-2019  christos Sync with HEAD
 1.4.6.1 20-Oct-2018  pgoyette Sync with head
 1.4.4.2 03-Dec-2017  jdolecek update from HEAD
 1.4.4.1 25-Aug-2017  jdolecek file std.sunxi was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.4.2.2 28-Aug-2017  skrll Sync with HEAD
 1.4.2.1 25-Aug-2017  skrll file std.sunxi was added on branch nick-nhusb on 2017-08-28 17:51:34 +0000
 1.22 31-Mar-2019  jmcneill Remove TEGRA kernel config.
 1.21 22-Nov-2018  skrll build fix until someone is brave enough to remove this kernel
 1.20 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.19 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.18 08-Oct-2018  skrll Sort options.

No functional change.
 1.17 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.16 06-Jul-2017  jmcneill branches: 1.16.4; 1.16.6; 1.16.8;
Enable memory disk support in the TEGRA kernel and remove TEGRA_INSTALL.
 1.15 05-Jul-2017  jmcneill Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
 1.14 01-Jul-2017  skrll Define __HAVE_CPU_UAREA_ALLOC_IDLELWP to make use of the idlelwp stacks
created by arm32_kvminit.c
 1.13 30-May-2017  jmcneill branches: 1.13.2;
Use an FDT-based ARM_INTR_IMPL for Tegra.
 1.12 22-Dec-2015  jmcneill Switch Tegra over to fdt based clocks and reset controls.
 1.11 16-Dec-2015  jmcneill move options FDT to std.tegra
 1.10 25-Nov-2015  skrll G/C TEGRAK1_PMAP_WORKAROUND.

Using XN (eXecute Never) properly means speculative reads from devices
aren't done. Pretty sure this was the cause of the wedges.
 1.9 18-Oct-2015  jmcneill add __BUS_SPACE_HAS_STREAM_METHODS, used by nouveau
 1.8 15-Oct-2015  skrll Setting actlr.bit15=1 (Force in order issue in the branch execution unit)
makes my jetson tk1 stable. Apply this workaround until we figure out
what the real problem is.
 1.7 31-May-2015  jmcneill disable __HAVE_MM_MD_DIRECT_MAPPED_PHYS again, still some stability issues
 1.6 31-May-2015  jmcneill enable __HAVE_MM_MD_DIRECT_MAPPED_PHYS and PMAP_NEED_ALLOC_POOLPAGE
 1.5 04-May-2015  jmcneill Remove __HAVE_MM_MD_DIRECT_MAPPED_PHYS and re-enable 2GB support, fixed
by arm32_kvminit.c r1.33
 1.4 03-May-2015  jmcneill Add Tegra K1 PCIE support.
 1.3 26-Apr-2015  jmcneill arg 2GB causing usb issues, re-add __HAVE_MM_DIRECT_MAPPED_PHYS for now
 1.2 26-Apr-2015  jmcneill disable __HAVE_MM_MD_DIRECT_MAPPED_PHYS so we can use all 2GB
 1.1 29-Mar-2015  jmcneill branches: 1.1.2;
NVIDIA Tegra K1 support, work in progress.
 1.1.2.5 28-Aug-2017  skrll Sync with HEAD
 1.1.2.4 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.2.3 06-Jun-2015  skrll Sync with HEAD
 1.1.2.2 06-Apr-2015  skrll Sync with HEAD
 1.1.2.1 29-Mar-2015  skrll file std.tegra was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.13.2.2 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.13.2.1 05-Jul-2017  snj Pull up following revision(s) (requested by skrll in ticket #87):
sys/arch/evbarm/conf/std.tegra: revision 1.14
Define __HAVE_CPU_UAREA_ALLOC_IDLELWP to make use of the idlelwp stacks
created by arm32_kvminit.c
 1.16.8.1 10-Jun-2019  christos Sync with HEAD
 1.16.6.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.16.6.1 20-Oct-2018  pgoyette Sync with head
 1.16.4.2 03-Dec-2017  jdolecek update from HEAD
 1.16.4.1 06-Jul-2017  jdolecek file std.tegra was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
 1.6 26-Oct-2019  jmcneill Adapt ti fdt glue to support GENERIC kernel.
 1.5 21-Nov-2018  skrll branches: 1.5.4;
Make TI compile and convert TI to generic start

Compile tested only (obviously)
 1.4 21-Nov-2018  skrll Sort
 1.3 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.2 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.1 26-Oct-2017  jakllsch branches: 1.1.2; 1.1.4; 1.1.6;
Initial FDT support for TI's ARM SoCs.

Currently supports only limited functionality on AM335x.
 1.1.6.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.1 10-Jun-2019  christos Sync with HEAD
 1.1.4.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.4.1 20-Oct-2018  pgoyette Sync with head
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 26-Oct-2017  jdolecek file std.ti was added on branch tls-maxphys on 2017-12-03 11:36:04 +0000
 1.5.4.1 27-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #491):

sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2
sys/arch/arm/ti/ti_sysc.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.1
sys/arch/arm/ti/ti_rng.c: revision 1.2
sys/dev/i2c/tps65950.c: file removal
sys/arch/evbarm/conf/std.ti: file removal
sys/dev/i2c/files.i2c: revision 1.101
sys/dev/i2c/files.i2c: revision 1.102
sys/dev/i2c/at24cxx.c: revision 1.32
sys/dev/i2c/files.i2c: revision 1.103
sys/dev/i2c/twl4030.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.104
sys/dev/i2c/twl4030.c: revision 1.2
sys/dev/i2c/twl4030.c: revision 1.3
sys/arch/arm/ti/ti_com.c: revision 1.6
sys/arch/arm/ti/ti_com.c: revision 1.7
sys/arch/arm/ti/ti_com.c: revision 1.8
sys/dev/fdt/cpufreq_dt.c: revision 1.11
sys/arch/arm/ti/ti_iic.c: revision 1.1
sys/dev/fdt/cpufreq_dt.c: revision 1.12
sys/arch/arm/ti/ti_usb.c: revision 1.1
sys/arch/arm/ti/ti_iic.c: revision 1.2
sys/dev/fdt/cpufreq_dt.c: revision 1.13
sys/arch/arm/ti/ti_iic.c: revision 1.3
sys/arch/arm/ti/ti_iic.c: revision 1.4
sys/arch/evbarm/conf/files.ti: file removal
sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal
sys/arch/arm/dts/omap3-n900.dts: revision 1.1
sys/arch/arm/ti/ti_edma.h: revision 1.1
sys/arch/evbarm/conf/OVERO_INSTALL: file removal
sys/arch/arm/ti/ti_usbtll.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.5
etc/etc.evbarm/Makefile.inc: revision 1.108
sys/arch/arm/ti/files.ti: revision 1.6
sys/dev/i2c/tps65217pmic.c: revision 1.13
etc/etc.evbarm/Makefile.inc: revision 1.109
sys/arch/arm/ti/files.ti: revision 1.7
sys/dev/i2c/tps65217pmic.c: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.8
sys/arch/arm/ti/files.ti: revision 1.9
sys/dev/fdt/usbnopphy.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.55
sys/arch/evbarm/conf/GENERIC: revision 1.56
sys/arch/evbarm/conf/GENERIC: revision 1.57
sys/arch/evbarm/conf/GENERIC: revision 1.58
sys/arch/evbarm/conf/GENERIC: revision 1.59
sys/arch/evbarm/conf/BEAGLEBONE: file removal
sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1
sys/arch/arm/ti/ti_otgreg.h: revision 1.1
sys/arch/arm/ti/ti_tptc.c: revision 1.1
sys/arch/evbarm/conf/IGEPV2: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.10
sys/dev/i2c/tda19988.c: revision 1.1
sys/arch/evbarm/conf/OVERO: file removal
sys/dev/i2c/tda19988.c: revision 1.2
sys/dev/i2c/tda19988.c: revision 1.3
sys/arch/arm/ti/omap3_dss.c: revision 1.1
sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal
sys/arch/arm/ti/ti_omapintc.c: revision 1.2
etc/etc.evbarm/Makefile.inc: revision 1.112
etc/etc.evbarm/Makefile.inc: revision 1.113
sys/arch/arm/ti/ti_div_clock.c: revision 1.1
etc/etc.evbarm/Makefile.inc: revision 1.114
sys/arch/evbarm/conf/N900: revision 1.32
sys/arch/evbarm/conf/N900: revision 1.33
distrib/utils/embedded/conf/armv7.conf: revision 1.36
sys/arch/evbarm/conf/GENERIC: revision 1.60
distrib/utils/embedded/conf/armv7.conf: revision 1.37
sys/arch/arm/ti/omap2_nand.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.61
sys/arch/arm/ti/omap2_nand.c: revision 1.2
sys/arch/evbarm/conf/GENERIC: revision 1.62
distrib/utils/embedded/conf/armv7.conf: revision 1.39
sys/arch/evbarm/conf/GENERIC: revision 1.63
sys/arch/arm/ti/ti_fb.c: revision 1.1
sys/arch/evbarm/conf/GENERIC: revision 1.64
sys/arch/evbarm/conf/GENERIC: revision 1.65
sys/arch/evbarm/conf/GENERIC: revision 1.66
sys/arch/evbarm/conf/GENERIC: revision 1.67
sys/arch/arm/ti/ti_platform.c: revision 1.7
sys/arch/arm/ti/ti_platform.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.2
sys/arch/arm/ti/ti_platform.c: revision 1.9
sys/arch/arm/ti/am3_prcm.c: revision 1.3
sys/arch/arm/ti/am3_prcm.c: revision 1.4
sys/arch/arm/ti/am3_prcm.c: revision 1.5
sys/arch/arm/ti/am3_prcm.c: revision 1.6
sys/arch/arm/ti/am3_prcm.c: revision 1.7
sys/arch/evbarm/conf/DEVKIT8000: file removal
sys/arch/arm/ti/am3_prcm.c: revision 1.8
sys/arch/arm/ti/am3_prcm.c: revision 1.9
sys/dev/fdt/syscon.c: revision 1.4
sys/arch/arm/ti/files.ti: revision 1.10
sys/arch/arm/ti/ti_mux_clock.c: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.11
sys/arch/arm/ti/if_cpswreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhc.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.12
sys/arch/arm/ti/ti_sdhc.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.13
sys/arch/arm/ti/files.ti: revision 1.14
sys/arch/arm/ti/files.ti: revision 1.15
sys/arch/arm/ti/files.ti: revision 1.16
sys/arch/arm/ti/omap3_cm.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.17
sys/arch/arm/ti/omap3_cm.c: revision 1.2
sys/arch/arm/ti/files.ti: revision 1.18
sys/arch/arm/ti/omap3_cm.c: revision 1.3
sys/arch/arm/ti/files.ti: revision 1.19
sys/arch/arm/ti/omap3_cm.c: revision 1.4
sys/arch/arm/ti/ti_motg.c: revision 1.1
sys/arch/arm/ti/ti_rngreg.h: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1
sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1
sys/arch/arm/ti/am3_platform.c: revision 1.1
sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.22
sys/arch/evbarm/conf/README.evbarm: revision 1.23
sys/arch/arm/ti/ti_platform.c: file removal
sys/arch/evbarm/conf/README.evbarm: revision 1.24
sys/arch/arm/ti/ti_omaptimer.c: revision 1.2
sys/arch/arm/ti/ti_prcm.c: revision 1.2
sys/arch/evbarm/conf/README.evbarm: revision 1.25
sys/arch/arm/ti/ti_omaptimer.c: revision 1.3
sys/arch/arm/ti/ti_prcm.c: revision 1.3
sys/arch/evbarm/conf/README.evbarm: revision 1.26
sys/arch/arm/ti/ti_omaptimer.c: revision 1.4
sys/arch/evbarm/conf/README.evbarm: revision 1.27
sys/arch/arm/ti/ti_ehci.c: revision 1.1
sys/arch/arm/ti/files.ti: revision 1.20
sys/arch/arm/ti/ti_cpufreq.c: revision 1.1
sys/arch/arm/ti/ti_cpufreq.c: revision 1.2
sys/arch/arm/fdt/smsh_fdt.c: revision 1.2
sys/arch/arm/ti/omap3_dssreg.h: revision 1.1
sys/arch/evbarm/conf/OVERO: revision 1.56
sys/arch/evbarm/conf/TI: file removal
sys/arch/arm/dts/omap3-beagle.dts: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.55
sys/dev/fdt/fdtvar.h: revision 1.56
distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2
sys/dev/fdt/fdt_phy.c: revision 1.6
sys/arch/arm/ti/ti_iicreg.h: revision 1.1
sys/arch/arm/ti/ti_lcdc.c: revision 1.1
sys/arch/arm/ti/ti_gpio.c: revision 1.1
sys/arch/arm/ti/ti_iicreg.h: revision 1.2
sys/arch/arm/ti/ti_lcdc.c: revision 1.2
sys/dev/fdt/files.fdt: revision 1.46
sys/arch/arm/ti/ti_gpio.c: revision 1.2
sys/arch/arm/ti/ti_iicreg.h: revision 1.3
sys/arch/arm/ti/ti_lcdc.c: revision 1.3
sys/dev/fdt/files.fdt: revision 1.47
sys/arch/arm/ti/ti_gpio.c: revision 1.3
sys/dev/fdt/pinctrl_single.c: revision 1.1
sys/arch/evbarm/conf/files.generic: revision 1.9
sys/arch/arm/ti/ti_gpmc.c: revision 1.1
sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1
sys/arch/evbarm/conf/BEAGLEBOARD: file removal
sys/arch/arm/ti/omap3_prm.c: revision 1.1
sys/arch/arm/ti/ti_platform.h: file removal
sys/arch/arm/ti/omap3_platform.c: revision 1.1
sys/arch/arm/ti/ti_prcm.h: revision 1.2
sys/arch/arm/ti/omap3_platform.c: revision 1.2
sys/arch/arm/ti/ti_prcm.h: revision 1.3
sys/arch/arm/ti/ti_prcm.h: revision 1.4
sys/dev/fdt/fdt_clock.c: revision 1.9
sys/arch/arm/ti/ti_edma.c: revision 1.1
sys/arch/arm/ti/ti_otg.c: revision 1.1
distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15
sys/arch/arm/ti/if_cpsw.c: revision 1.7
sys/arch/evbarm/conf/std.igepv2: file removal
sys/arch/arm/ti/if_cpsw.c: revision 1.8
sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1

Adapt ti fdt glue to support GENERIC kernel.

Do not search 64-bit directories for dts files

Fix am33xx_platform_early_putchar for pre-MMU output

Add bus driver for TI sysc interconncet.

Make com work again

Add EDMA TPCC and TPTC drivers.

Add driver for one-register-per-pin type pinctrl devices.

Add MMCHS support.

Add USB support.

Disable autoidle

Place devmap above KERNEL_IO_VBASE

Use Timer2 for timecounter, and enable hw module.

Add support for TI AM335x

Add atmel,24c256 compat data

Add I2C support.

Add tiiic, tps65217pmic

Add FDT support

Fix early putchar, add reset func

No support for tegra210 in armv7 kernel

Switch to GENERIC kernels only.

Get mac address from DT

Skip nodes with an "opp-suspend" property and fix tables that have disabled
nodes in the middle.

enumerate devices under child "clocks" node

Add support for platform specific opp table filters.

Add fdtbus_clock_count to count the number of clock references on a given node

enumerate devices under child "clocks" node

Add AM335x DVFS support.

Enable TI AM335x DVFS support

Add support for GPIO controller.

Add tigpio

Unhook BEAGLEBONE kernel from the build
Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now).

Add support for hardware RNG.

Add tirng

Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty

Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to
am3_platform.c

Set stdout-path on TI OMAP3 BeagleBoard

Add support for TI OMAP3.

Add OMAP3 support.

Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition.
Mkimage (eroneously) creates a FAT16 partition (despite the configuration
asking for FAT32), and that has a root directory size limit.
Idea from Jared.

Skip xref if it is 0

Add generic USB PHY driver

Add driver for TI TWL4030 Power Management IC

Use the hwmod clk to get the timer rate and explicitly enable the
timecounter timer.

Add OMAP3 USB support.

Add twl, usbnopphy, tiusb, tiusbtll

Move omap3 dtb files to /boot/dtb

Remove BEAGLEBOARD kernel from list of kernels to build
Remove BEAGLEBOARD kernel (supported by GENERIC now)

Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works.

Remove DEVKIT8000 kernel (GENERIC should work now)
Remove DPLL5 init ported from old omap code, it is not required

Set the stdout-path on xM like Ti OMAP3 BeagleBoard

Remove BEAGLEBOARDXM from the build
Remove BEAGLEBOARDXM kernel (supported by GENERIC now)

Handle different register layout on OMAP3

Add omapfb to FDT-ized TI port.

Use dss as console on Nokia N900.

Enable IRQ status bits for omap3 type and set speed properly

Add RTC support

Remove tps65950pm (hardware now supported by twl4030.c)

Add NAND flash support.

Add tigpmc, omapnand

Attach tiusb before the default pass since it adds a bus to reduce kernel output
Replace tps65950pm with twl (the former has been removed)

Fix non-FDT build

Cleanup and remove dependency on arch/arm/omap

Add support for GPIO interrupts and fix reading the state of output pins.
Match smsc,lan9115 and honour local-mac-address/mac-address properties

Only one instance of twl(4) is needed
Remove OVERO from build, and commented out N900 kernel config
OMAP3 SoC and all peripherals in the OVERO kernel are now supported by
GENERIC.

Remove commented out IGEPV2 entry

OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by
GENERIC.

No longer used.

Also match ti,omap2-onenand

Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context

Add driver for NXP TDA19988 HDMI encoder

Add support for AM335x display controller (LCDC).

Add tdahdmi, tilcdc, tifb

Test DRM_MODE_* flags, not VID_*

Comment out mode fixup (not needed it seems)

Use 297MHz for display clock

Select closest rate to desired pixel clock

Speed up mode setting a bit and turn off the display while changing modes
 1.12 29-Oct-2022  jmcneill Remove support for TI OMAP 2420 and 2430 eval boards.

This is part of the arch/arm/omap removal.
 1.11 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.10 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.9 01-Nov-2013  skrll branches: 1.9.28; 1.9.30;
Remove the bogus CPPFLAGS+="-I$S/../../../include"

Prompted by the build problem reported by John Klos
 1.8 16-Dec-2012  matt branches: 1.8.2;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.7 29-Aug-2012  matt branches: 1.7.2;
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP}
since TPIDRPRW is the cp15 register name.
Initialize it early in start along with CI_ARM_CPUID.
Remove other initializations.
We alays have ci_curlwp.
Enable TIPRPRW_IS_CURCPU in std.beagle.
[tested on a beaglboard (cortex-a8)]
 1.6 21-Nov-2008  matt branches: 1.6.16;
Add a commented out option of PROCESS_ID_IS_CURCPU
 1.5 12-Aug-2008  matt branches: 1.5.2;
Fix thinko (brain fart)
 1.4 07-Aug-2008  matt Enable __HAVE_FAST_SOFTINTS
 1.3 03-Jul-2008  matt branches: 1.3.2;
The performance counter based delay function depends on a correct frequency
setting, do this for H4, which runs on a known fixed core frequency.

Submitted by Irme Deak <imre.deak@teleca.com>
 1.2 27-Apr-2008  matt branches: 1.2.2; 1.2.4;
Merge kernel changes in matt-armv6 to HEAD.
 1.1 29-Oct-2007  matt branches: 1.1.2; 1.1.6; 1.1.18; 1.1.20; 1.1.22;
file std.tisdp24xx was initially added on branch matt-armv6.
 1.1.22.2 04-May-2009  yamt sync with head.
 1.1.22.1 16-May-2008  yamt sync with head.
 1.1.20.1 18-May-2008  yamt sync with head.
 1.1.18.3 17-Jan-2009  mjf Sync with HEAD.
 1.1.18.2 28-Sep-2008  mjf Sync with HEAD.
 1.1.18.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.1.6.1 29-Oct-2007  matt file std.tisdp24xx was added on branch matt-nb4-arm on 2007-11-10 02:56:57 +0000
 1.1.2.2 08-Jan-2008  matt Add pic for omap2. Switch to standard MI intr_* calls.
 1.1.2.1 29-Oct-2007  matt Add support files TI SDP2420/SDP2430 eval board.
 1.2.4.1 03-Jul-2008  simonb Sync with head.
 1.2.2.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.3.2.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.3.2.1 19-Oct-2008  haad Sync with HEAD.
 1.5.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.6.16.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.6.16.2 23-Jan-2013  yamt sync with head
 1.6.16.1 30-Oct-2012  yamt sync with head
 1.7.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7.2.1 25-Feb-2013  tls resync with head
 1.8.2.1 18-May-2014  rmind sync with head
 1.9.30.1 10-Jun-2019  christos Sync with HEAD
 1.9.28.1 20-Oct-2018  pgoyette Sync with head
 1.9 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.8 16-Dec-2012  matt branches: 1.8.36; 1.8.38;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.7 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.6 22-Jun-2008  kiyohara branches: 1.6.30; 1.6.40;
Fix macro KERNEL_BASE_EXT from KERNEL_EXT_BASE.
 1.5 09-May-2008  matt branches: 1.5.2;
Add KERNEL_BASE_EXT=0xc0000000 to those plaforms that need it.
Note that armv6 and later systems will use 0x80000000 as the kernel start
so they can use the split TTBs in armv6 and later.
 1.4 27-Jan-2008  chris branches: 1.4.6; 1.4.8; 1.4.10; 1.4.12;
Add an arm/conf/std.arm file which contains common arm options, initially
just options CPU_IN_CKSUM.

Include std.arm in all arm platform std files.

This should reenable the asm in_cksum code for all arm platforms.

Also remove the now unused in_cksum_arm.S.
 1.3 11-Dec-2005  christos branches: 1.3.46; 1.3.50; 1.3.56;
merge ktrace-lwp.
 1.2 17-Sep-2005  yamt include "conf/std".
 1.1 23-Dec-2004  joff branches: 1.1.4; 1.1.12;
build configuration metadata for TS-7200 SBC
 1.1.12.2 04-Feb-2008  yamt sync with head.
 1.1.12.1 21-Jun-2006  yamt sync with head.
 1.1.4.3 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.1 23-Dec-2004  skrll file std.tsarm was added on branch ktrace-lwp on 2005-01-17 19:29:13 +0000
 1.3.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.3.50.1 23-Mar-2008  matt sync with HEAD
 1.3.46.1 28-Feb-2008  rjs Sync with HEAD.
 1.4.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.4.10.2 04-May-2009  yamt sync with head.
 1.4.10.1 16-May-2008  yamt sync with head.
 1.4.8.1 18-May-2008  yamt sync with head.
 1.4.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.4.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.5.2.1 27-Jun-2008  simonb Sync with head.
 1.6.40.1 25-Feb-2013  tls resync with head
 1.6.30.1 23-Jan-2013  yamt sync with head
 1.8.38.1 10-Jun-2019  christos Sync with HEAD
 1.8.36.1 20-Oct-2018  pgoyette Sync with head
 1.12 20-Jan-2019  skrll G/C
 1.11 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.10 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.9 08-Oct-2018  skrll Sort options.

No functional change.
 1.8 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.7 16-Jul-2017  jmcneill branches: 1.7.2; 1.7.4; 1.7.6; 1.7.8;
enable initrd support
 1.6 05-Jul-2017  jmcneill Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
 1.5 02-Jul-2017  skrll Define __HAVE_CPU_UAREA_ALLOC_IDLELWP
 1.4 02-Jun-2017  jmcneill branches: 1.4.2;
Switch VEXPRESS_A15 kernel to use FDT and GENERIC.common. The dtb for this
kernel can be found in the sysutils/dtb-arm-vexpress package as
vexpress-v2p-ca15-tc1.dtb
 1.3 02-Apr-2016  skrll PR/51017: VEXPRESS_A15 doesn't compile

Don't pretend to be anything other than A15
 1.2 11-Feb-2015  ozaki-r branches: 1.2.2;
Remove unexpected code duplications

I don't know why this happened...
 1.1 09-Feb-2015  slp Add support for Versatile Express A15 board.

This has not been tested with real hardware, just with the software
model emulated by QEMU.
 1.2.2.4 28-Aug-2017  skrll Sync with HEAD
 1.2.2.3 22-Apr-2016  skrll Sync with HEAD
 1.2.2.2 06-Apr-2015  skrll Sync with HEAD
 1.2.2.1 11-Feb-2015  skrll file std.vexpress was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.4.2.1 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.7.8.1 10-Jun-2019  christos Sync with HEAD
 1.7.6.2 26-Jan-2019  pgoyette Sync with HEAD
 1.7.6.1 20-Oct-2018  pgoyette Sync with head
 1.7.4.2 03-Dec-2017  jdolecek update from HEAD
 1.7.4.1 16-Jul-2017  jdolecek file std.vexpress was added on branch tls-maxphys on 2017-12-03 11:36:04 +0000
 1.7.2.2 16-Jul-2017  jmcneill 2412034
 1.7.2.1 16-Jul-2017  jmcneill file std.vexpress was added on branch perseant-stdc-iso10646 on 2017-07-16 21:40:29 +0000
 1.9 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.8 16-Dec-2012  matt branches: 1.8.36; 1.8.38;
Use a std.evarm to handle the normal EXEC_ELF32/EXEC_SCRIPT and ARM options
as well as include conf/std and std.arm
 1.7 16-Dec-2012  matt Add a std.evbarm to include std.arm and remove std.arm inclusion from std.*
 1.6 22-Jun-2008  kiyohara branches: 1.6.30; 1.6.40;
Fix macro KERNEL_BASE_EXT from KERNEL_EXT_BASE.
 1.5 09-May-2008  matt branches: 1.5.2;
Add KERNEL_BASE_EXT=0xc0000000 to those plaforms that need it.
Note that armv6 and later systems will use 0x80000000 as the kernel start
so they can use the split TTBs in armv6 and later.
 1.4 27-Jan-2008  chris branches: 1.4.6; 1.4.8; 1.4.10; 1.4.12;
Add an arm/conf/std.arm file which contains common arm options, initially
just options CPU_IN_CKSUM.

Include std.arm in all arm platform std files.

This should reenable the asm in_cksum code for all arm platforms.

Also remove the now unused in_cksum_arm.S.
 1.3 11-Dec-2005  christos branches: 1.3.46; 1.3.50; 1.3.56;
merge ktrace-lwp.
 1.2 17-Sep-2005  yamt branches: 1.2.6;
include "conf/std".
 1.1 06-Jun-2005  pooka branches: 1.1.2;
Add initial support for the PXA255-based Arcom Viper ARM board.
The system can boot into multiuser, but most of the peripheral
driver attachments are still missing.

Thanks go to Jan Nyman for arranging access to the hardware and to
Steve Woodford for reviewing the code.
 1.1.2.2 04-Feb-2008  yamt sync with head.
 1.1.2.1 21-Jun-2006  yamt sync with head.
 1.2.6.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.6.1 17-Sep-2005  skrll file std.viper was added on branch ktrace-lwp on 2005-11-10 13:55:51 +0000
 1.3.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.3.50.1 23-Mar-2008  matt sync with HEAD
 1.3.46.1 28-Feb-2008  rjs Sync with HEAD.
 1.4.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.4.10.2 04-May-2009  yamt sync with head.
 1.4.10.1 16-May-2008  yamt sync with head.
 1.4.8.1 18-May-2008  yamt sync with head.
 1.4.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.4.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.5.2.1 27-Jun-2008  simonb Sync with head.
 1.6.40.1 25-Feb-2013  tls resync with head
 1.6.30.1 23-Jan-2013  yamt sync with head
 1.8.38.1 10-Jun-2019  christos Sync with HEAD
 1.8.36.1 20-Oct-2018  pgoyette Sync with head
 1.8 23-May-2020  jmcneill Use GENERIC instead.
 1.7 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.6 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.5 08-Oct-2018  skrll Sort options.

No functional change.
 1.4 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.3 15-Jun-2018  jakllsch branches: 1.3.2; 1.3.4;
... -mcpu=armv7-a is actually spelled -march=armv7-a ...
 1.2 15-Jun-2018  jakllsch 'virt' platform adjustments:
- support broader CPU model range
- move kernel physical and virtual base to avoid bootloader,
and keep KVA at or above 2GiB
- add relevant drivers
 1.1 14-Jun-2018  jmcneill Add support for QEMU ARM Virtual Machine ("virt").
 1.3.4.1 10-Jun-2019  christos Sync with HEAD
 1.3.2.3 20-Oct-2018  pgoyette Sync with head
 1.3.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.3.2.1 15-Jun-2018  pgoyette file std.virt was added on branch pgoyette-compat on 2018-06-25 07:25:40 +0000
 1.8 28-Oct-2022  jmcneill Retire PARALLELLA and ZEDBOARD kernel configs.

The Zynq-7000 port has been converted to Devicetree and is supported
by the GENERIC kernel now.
 1.7 03-Sep-2021  andvar s/opions/options/
 1.6 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.5 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.4 08-Oct-2018  skrll Sort options.

No functional change.
 1.3 07-Oct-2018  skrll Whitespace consistency.

{make,}options<space><tab>
everything else just <tab?
 1.2 28-Aug-2017  skrll branches: 1.2.2; 1.2.4; 1.2.6;
__HAVE_CPU_UAREA_ALLOC_IDLELWP needed to not waste pages
 1.1 23-Jan-2015  hkenken branches: 1.1.2; 1.1.4;
Initial Zynq (Xilinx) support
Add support for ZedBoard evaluation board and Parallella board.
* cemac(4) Cadence EMAC/GEM(Gigabit) Ethernet Controller driver
based on at91emac
 1.1.4.2 11-May-2015  msaitoh Pull up following revision(s) (requested by nonaka in ticket #751):
sys/arch/arm/zynq/zynq_axi.c: revision 1.1
sys/arch/evbarm/conf/files.zynq: revision 1.1
sys/arch/arm/zynq/zynq_uart.c: revision 1.1
sys/arch/evbarm/zynq/genassym.cf: revision 1.1
sys/arch/evbarm/zynq/zynq_start.S: revision 1.1
sys/arch/arm/zynq/zynq_slcrreg.h: revision 1.1
sys/arch/arm/zynq/zynq_usbreg.h: revision 1.1
sys/arch/arm/zynq/zynq7000_uart.c: revision 1.1
sys/arch/arm/zynq/zynq7000_sdhc.c: revision 1.1
sys/arch/arm/zynq/zynq_slcrvar.h: revision 1.1
sys/arch/arm/zynq/zynq_usbvar.h: revision 1.1
sys/arch/evbarm/conf/PARALLELLA_INSTALL: revision 1.1
sys/arch/arm/zynq/zynq_uartreg.h: revision 1.1
sys/arch/evbarm/zynq/platform.h: revision 1.1
sys/arch/evbarm/conf/mk.zynq: revision 1.1
sys/arch/evbarm/conf/files.zedboard: revision 1.1
sys/arch/arm/zynq/zynq7000_usb.c: revision 1.1
sys/dev/cadence/if_cemacvar.h: revision 1.1
sys/arch/arm/zynq/files.zynq: revision 1.1
sys/arch/arm/zynq/zynq_slcr.c: revision 1.1
sys/arch/arm/zynq/zynq7000_intr.h: revision 1.1
sys/arch/arm/conf/majors.arm32: revision 1.36
sys/arch/arm/zynq/zynq_uartvar.h: revision 1.1
sys/arch/evbarm/conf/files.parallella: revision 1.1
sys/arch/arm/zynq/zynq_space.c: revision 1.1
sys/dev/cadence/if_cemac.c: revision 1.1
sys/arch/evbarm/conf/PARALLELLA: revision 1.1
sys/arch/arm/zynq/zynq7000_board.c: revision 1.1
sys/arch/evbarm/Makefile: revision 1.10
sys/arch/evbarm/zynq/zynq_machdep.c: revision 1.1
sys/arch/arm/zynq/zynq7000_reg.h: revision 1.1
sys/arch/evbarm/conf/ZEDBOARD: revision 1.1
sys/dev/cadence/cemacreg.h: revision 1.1
sys/arch/evbarm/conf/std.zynq: revision 1.1
sys/arch/arm/zynq/zynq_dma.c: revision 1.1
sys/arch/arm/zynq/zynq_cemac.c: revision 1.1
sys/arch/arm/zynq/zynq7000_var.h: revision 1.1
sys/arch/evbarm/conf/ZEDBOARD_INSTALL: revision 1.1
sys/arch/arm/zynq/zynq_usb.c: revision 1.1
Initial Zynq (Xilinx) support
Add support for ZedBoard evaluation board and Parallella board.
* cemac(4) Cadence EMAC/GEM(Gigabit) Ethernet Controller driver
based on at91emac
 1.1.4.1 23-Jan-2015  msaitoh file std.zynq was added on branch netbsd-7 on 2015-05-11 11:00:33 +0000
 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 23-Jan-2015  skrll file std.zynq was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.2.6.1 10-Jun-2019  christos Sync with HEAD
 1.2.4.1 20-Oct-2018  pgoyette Sync with head
 1.2.2.2 03-Dec-2017  jdolecek update from HEAD
 1.2.2.1 28-Aug-2017  jdolecek file std.zynq was added on branch tls-maxphys on 2017-12-03 11:36:04 +0000
 1.1 08-Nov-2006  scw branches: 1.1.2; 1.1.6; 1.1.8;
Add support for the Certance CP-3100.

"The Certance CP3100 product family provides high-end disk-to-disk-to-tape
(D2D2T) functionality for small-to-medium businesses."

To software, the unit is very similar to the IQ80321 and IQ31244 eval
boards from Intel. As such, we share almost all of their code.

Onboard hardware:
- IOP321 XScale CPU. Core clock is 600MHz.
- 256MB SDRAM (not sure if that's true for all)
- Four-port Intel i31244 SATA controller. One port is connected to the
internal disk. The remaining three are available on the back-panel.
- Dual GigE ports on the back panel, using an Intel i82546EB controller.
- Two Symbios Logic 53c1010 SCSI controllers, one in host mode the other
in target mode. Both SCSI busses are available on the back panel.
Note that NetBSD does not support SCSI target mode.
- 8MB of NOR Flash, containing a fairly vanilla Redboot together with
a minimal compressed Linux image.
- Some front-panel LEDS (not supported).
- Serial console.

Contributed by Wasabi Systems, Inc.
 1.1.8.2 30-Dec-2006  yamt sync with head.
 1.1.8.1 08-Nov-2006  yamt file README was added on branch yamt-lazymbuf on 2006-12-30 20:45:49 +0000
 1.1.6.2 10-Dec-2006  yamt sync with head.
 1.1.6.1 08-Nov-2006  yamt file README was added on branch yamt-splraiseipl on 2006-12-10 07:15:52 +0000
 1.1.2.2 18-Nov-2006  ad Sync with head.
 1.1.2.1 08-Nov-2006  ad file README was added on branch newlock2 on 2006-11-18 21:29:10 +0000
 1.2 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.1 08-Nov-2006  scw branches: 1.1.2; 1.1.6; 1.1.8;
Add support for the Certance CP-3100.

"The Certance CP3100 product family provides high-end disk-to-disk-to-tape
(D2D2T) functionality for small-to-medium businesses."

To software, the unit is very similar to the IQ80321 and IQ31244 eval
boards from Intel. As such, we share almost all of their code.

Onboard hardware:
- IOP321 XScale CPU. Core clock is 600MHz.
- 256MB SDRAM (not sure if that's true for all)
- Four-port Intel i31244 SATA controller. One port is connected to the
internal disk. The remaining three are available on the back-panel.
- Dual GigE ports on the back panel, using an Intel i82546EB controller.
- Two Symbios Logic 53c1010 SCSI controllers, one in host mode the other
in target mode. Both SCSI busses are available on the back panel.
Note that NetBSD does not support SCSI target mode.
- 8MB of NOR Flash, containing a fairly vanilla Redboot together with
a minimal compressed Linux image.
- Some front-panel LEDS (not supported).
- Serial console.

Contributed by Wasabi Systems, Inc.
 1.1.8.2 30-Dec-2006  yamt sync with head.
 1.1.8.1 08-Nov-2006  yamt file cp3100_leds.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:49 +0000
 1.1.6.2 10-Dec-2006  yamt sync with head.
 1.1.6.1 08-Nov-2006  yamt file cp3100_leds.c was added on branch yamt-splraiseipl on 2006-12-10 07:15:52 +0000
 1.1.2.2 18-Nov-2006  ad Sync with head.
 1.1.2.1 08-Nov-2006  ad file cp3100_leds.c was added on branch newlock2 on 2006-11-18 21:29:10 +0000
 1.5 16-Nov-2018  jmcneill Add intr_establish_xname support to arm and expose it to intrctl
 1.4 29-Mar-2014  christos branches: 1.4.28; 1.4.30;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.3 01-Jul-2011  dyoung branches: 1.3.2; 1.3.12; 1.3.16;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.2 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.1 08-Nov-2006  scw branches: 1.1.2; 1.1.6; 1.1.8; 1.1.84; 1.1.90;
Add support for the Certance CP-3100.

"The Certance CP3100 product family provides high-end disk-to-disk-to-tape
(D2D2T) functionality for small-to-medium businesses."

To software, the unit is very similar to the IQ80321 and IQ31244 eval
boards from Intel. As such, we share almost all of their code.

Onboard hardware:
- IOP321 XScale CPU. Core clock is 600MHz.
- 256MB SDRAM (not sure if that's true for all)
- Four-port Intel i31244 SATA controller. One port is connected to the
internal disk. The remaining three are available on the back-panel.
- Dual GigE ports on the back panel, using an Intel i82546EB controller.
- Two Symbios Logic 53c1010 SCSI controllers, one in host mode the other
in target mode. Both SCSI busses are available on the back panel.
Note that NetBSD does not support SCSI target mode.
- 8MB of NOR Flash, containing a fairly vanilla Redboot together with
a minimal compressed Linux image.
- Some front-panel LEDS (not supported).
- Serial console.

Contributed by Wasabi Systems, Inc.
 1.1.90.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.84.1 21-Apr-2011  rmind sync with head
 1.1.8.2 30-Dec-2006  yamt sync with head.
 1.1.8.1 08-Nov-2006  yamt file cp3100_pci.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:49 +0000
 1.1.6.2 10-Dec-2006  yamt sync with head.
 1.1.6.1 08-Nov-2006  yamt file cp3100_pci.c was added on branch yamt-splraiseipl on 2006-12-10 07:15:52 +0000
 1.1.2.2 18-Nov-2006  ad Sync with head.
 1.1.2.1 08-Nov-2006  ad file cp3100_pci.c was added on branch newlock2 on 2006-11-18 21:29:10 +0000
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.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.4.30.1 10-Jun-2019  christos Sync with HEAD
 1.4.28.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.69 11-Apr-2023  riastradh evbarm/plcom(4): Note ttylock in comment, not tty_lock.
 1.68 11-Apr-2023  riastradh evbarm/plcom(4): Sync some recent changes from com(4).

- Nix quirky `integrate' macro.
- Omit needless spltty in plcomstart.
- Comment on lock order.
- Update confusing comment about hangup delay.
- Add include guards.
 1.67 24-Jan-2023  mlelstv Add support for FIFOs and hardware flow-control to plcom driver.
Add a PLCOM_TYPE_GENERIC_UART variant to match SBSA requirements.
 1.66 26-Oct-2022  riastradh ddb/db_active.h: New home for extern db_active.

This can be included unconditionally, and db_active can then be
queried unconditionally; if DDB is not in the kernel, then db_active
is a constant zero. Reduces need for #include opt_ddb.h, #ifdef DDB.
 1.65 27-Sep-2022  skrll malloc -> kmem
 1.64 20-Oct-2021  jmcneill - microtime -> microuptime
- avoid kpause with timeo=0
 1.63 17-Oct-2021  jmcneill plcom: speed up close with HUPCL set

Instead of incurring a 1s penalty on close of a plcom device with HUPCL set,
defer the sleep until the next open, and only sleep if necessary.
 1.62 19-Oct-2020  tnn remove superfluous parentheses in PREAD4/PWRITE4 macros
 1.61 25-Apr-2020  jmcneill plcom_common_putc: do not wait for FIFO to train after writing data
 1.60 10-Nov-2019  chs in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.59 23-Jul-2019  jmcneill Add cn_halt function, disable interrupts when halting
 1.58 23-Jul-2019  skrll Don't busy wait for a character in plcom_common_getc, but instead
return -1 if there are no characters available.

Fixes WSDISPLAY_MULTICONS for RaspberryPI and GENERIC.

Thanks to jmcneill@ for the hint
 1.57 23-Jul-2019  skrll Trailing whitespace
 1.56 23-Oct-2018  jmcneill Fix blank line printed at attach on ACPI
 1.55 12-Oct-2018  jmcneill Don't write FBRD/IBRD if ref clk frequency is unknown
 1.54 12-Oct-2018  jmcneill If rate or frequency are unspecified, assume "use firmware configuration" for clocks
 1.53 07-Nov-2017  skrll branches: 1.53.2; 1.53.4;
Fix the "wait for any pending transmission to finish" - doesn't really
matter at the moment as the fifo is disabled.
 1.52 13-Apr-2015  riastradh MD rnd.h cleanups. Please let me know if I broke anything!
 1.51 15-Nov-2014  christos branches: 1.51.2;
centralize the call unit / dialout macros
 1.50 10-Aug-2014  tls Merge tls-earlyentropy branch into HEAD.
 1.49 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.48 16-Mar-2014  dholland branches: 1.48.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.47 14-Dec-2013  skrll Sprinkle __unused.
 1.46 05-Sep-2013  skrll Whitespace
 1.45 01-May-2013  mlelstv branches: 1.45.4;
For a polled console incoming characters are buffered on output.
The buffer is never passed to the regular tty routines and can
survive from early boot to halt where it is read by the "press
any continue to reboot" loops.
As a workaround, just kill the read-ahead buffer when switching
from and to polled mode.
 1.44 03-Mar-2013  mlelstv fix build for KGDB
 1.43 10-Oct-2012  skrll Fix #if 0'ed code.

From chuq
 1.42 17-Aug-2012  skrll branches: 1.42.2;
Backout previous - it breaks rpi console for me and jak.
 1.41 12-Aug-2012  reinoud Improve support for transmit fifo support for plcom.

As Nick, Michiel and I concluded this driver needs a big overhaul since its
logic is modelled on the standard com.c driver which doesn't have the plcom's
treshold interrupt at al.

On Nicks request, the HW FIFO support hasn't been enabled by default on the
RPi though.

Tested with the RPi.
 1.40 25-Jul-2012  skrll Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.
 1.39 05-Jul-2012  skrll Fix locking botch introduced in 1.36.
 1.38 20-May-2012  skrll device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t
 1.37 20-May-2012  skrll DOH. Replace a line that got accidently deleted in the last commit.
 1.36 20-May-2012  skrll Replace the simple_lock with a kmutex_t. Update the locking to match
com(4) in the few places it didn't already.
 1.35 14-May-2012  skrll Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.
 1.34 06-Apr-2012  bsh avoid warning with options PLCOM_DEBUG for INTEGRATOR.
 1.33 02-Feb-2012  tls branches: 1.33.2;
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.32 24-Apr-2011  rmind branches: 1.32.4; 1.32.8;
Rename ttymalloc() to tty_alloc(), and ttyfree() to tty_free() for
consistency. Remove some unnecessary malloc.h inclusions as well.
 1.31 06-Dec-2009  dyoung branches: 1.31.4; 1.31.6;
Simplify the device-activation hook. Move some of the device
deactivation to the detachment routine, where it belongs.
 1.30 21-Nov-2009  rmind Use lwp_getpcb() on ARM (and acorn26/32), clean from struct user usage.
 1.29 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.28 11-Jun-2008  cegger branches: 1.28.4; 1.28.10;
use device_lookup_private to get softc
 1.27 28-Apr-2008  martin branches: 1.27.2; 1.27.4;
Remove clause 3 and 4 from TNF licenses
 1.26 21-Apr-2008  ad branches: 1.26.2;
Make ntp, pmc, reboot, sysarch, time syscalls MPSAFE.
 1.25 05-Jan-2008  ad branches: 1.25.6; 1.25.8;
Make compile.
 1.24 19-Nov-2007  ad branches: 1.24.6;
- Factor out too many copies of the same bit of tty code.
- Fix another tty signalling/wakeup problem.
 1.23 17-Oct-2007  garbled branches: 1.23.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.22 11-Jul-2007  he branches: 1.22.6; 1.22.8; 1.22.10; 1.22.14;
Remove a spurious brace.
 1.21 09-Jul-2007  ad Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.20 04-Mar-2007  christos branches: 1.20.2; 1.20.4; 1.20.10;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.19 01-Oct-2006  elad branches: 1.19.4;
More from Matt Fleming:

Adapt to KAUTH_DEVICE_TTY_PRIVSET and KAUTH_DEVICE_TTY_OPEN.
 1.18 01-Oct-2006  elad Adapt MD code to KAUTH_DEVICE_TTY_OPEN. Patch from Matt Fleming, thanks!
 1.17 23-Jul-2006  ad branches: 1.17.4; 1.17.6;
Use the LWP cached credentials where sane.
 1.16 14-May-2006  elad integrate kauth.
 1.15 28-Mar-2006  thorpej Use device_unit().
 1.14 20-Feb-2006  thorpej branches: 1.14.2; 1.14.4; 1.14.6;
Use device_is_active() rather than testing dv_flags for DVF_ACTIVE
directly.
 1.13 27-Dec-2005  chs branches: 1.13.2; 1.13.4; 1.13.6;
remove the COM_MPLOCK option. always include the spinlock in the softc
and always call the simple_* locking functions. the locking functions
are compiled out if they are not needed anyway, so a separate option
for this doesn't gain anything.

this also fixes the serial console on my alpha ES40 (which doesn't make much
sense since the com driver should still be under the big lock on alpha,
but whatever).
 1.12 11-Dec-2005  christos merge ktrace-lwp.
 1.11 06-Sep-2005  kleink Change the driver open function's conditional for overriding exclusive tty
use from checking the proc's uid to suser(9), and account for the use of
privileges. Noted by David Holland in PR kern/31126.
 1.10 04-Jun-2005  rearnsha branches: 1.10.2;
Fix shaddowed declarations of cn_trapped.
 1.9 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.8 15-Jul-2003  lukem __KERNEL_RCSID()
 1.7 23-Jun-2003  martin branches: 1.7.2;
Make sure to include opt_foo.h if a defflag option FOO is used.
 1.6 08-Mar-2003  he Initialize the two new members of "struct consdev" to NULL so that
this file compiles again.
 1.5 23-Oct-2002  jdolecek merge kqueue branch into -current

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

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

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
 1.4 06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

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

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

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

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

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

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

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

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

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.3 17-Mar-2002  atatat branches: 1.3.4;
Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command". ERESTART is -1, which can lead to
confusion. ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4. No ioctl code should now return -1 anywhere. The
ioctl() system call is now properly restartable.
 1.2 20-Nov-2001  lukem branches: 1.2.2;
- pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for options KGDB_DEVNAME="\"com\""
- use correct quotes for options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
 1.1 27-Oct-2001  rearnsha branches: 1.1.2;
Support for the PrimeCell PL010 UART. Similar in behaviour to
the normal com driver, but with competely different bit and register
assignments.
 1.1.2.5 11-Nov-2002  nathanw Catch up to -current
 1.1.2.4 17-Sep-2002  nathanw Catch up to -current.
 1.1.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 27-Oct-2001  nathanw file plcom.c was added on branch nathanw_sa on 2002-01-08 00:24:12 +0000
 1.2.2.4 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.2.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.2.1 20-Nov-2001  thorpej file plcom.c was added on branch kqueue on 2002-01-10 19:42:02 +0000
 1.3.4.1 19-May-2002  gehenna Add device switch.
Replace the access to devsw table and the hard-coded majors with devsw API.
 1.7.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.7.2.4 17-Jan-2005  skrll Adapt to branch.
 1.7.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.2.1 03-Aug-2004  skrll Sync with HEAD
 1.10.2.5 21-Jan-2008  yamt sync with head
 1.10.2.4 07-Dec-2007  yamt sync with head
 1.10.2.3 03-Sep-2007  yamt sync with head.
 1.10.2.2 30-Dec-2006  yamt sync with head.
 1.10.2.1 21-Jun-2006  yamt sync with head.
 1.13.6.2 01-Jun-2006  kardel Sync with head.
 1.13.6.1 22-Apr-2006  simonb Sync with head.
 1.13.4.1 09-Sep-2006  rpaulo sync with head
 1.13.2.1 01-Mar-2006  yamt sync with head.
 1.14.6.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.14.6.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.14.4.4 13-May-2006  elad sprinkle some #include <sys/kauth.h> in files that use kauth kpi but
don't include it yet. hopefully this will prevent some fallout.
 1.14.4.3 19-Apr-2006  elad sync with head - hopefully this will work
 1.14.4.2 10-Mar-2006  elad generic_authorize() -> kauth_authorize_generic().
 1.14.4.1 08-Mar-2006  elad Adapt to kernel authorization KPI.

I expect *some* lossage here...
 1.14.2.3 11-Aug-2006  yamt sync with head
 1.14.2.2 24-May-2006  yamt sync with head.
 1.14.2.1 01-Apr-2006  yamt sync with head.
 1.17.6.1 22-Oct-2006  yamt sync with head
 1.17.4.1 18-Nov-2006  ad Sync with head.
 1.19.4.1 12-Mar-2007  rmind Sync with HEAD.
 1.20.10.1 03-Oct-2007  garbled Sync with HEAD
 1.20.4.1 11-Jul-2007  mjf Sync with head.
 1.20.2.2 03-Dec-2007  ad Sync with HEAD.
 1.20.2.1 15-Jul-2007  ad Sync with head.
 1.22.14.1 21-Nov-2007  bouyer Sync with HEAD
 1.22.10.2 09-Jan-2008  matt sync with HEAD
 1.22.10.1 06-Nov-2007  matt sync with HEAD
 1.22.8.1 21-Nov-2007  joerg Sync with HEAD.
 1.22.6.2 28-Feb-2008  rjs Sync with HEAD.
 1.22.6.1 26-Dec-2007  rjs Sync with HEAD.
 1.23.2.2 18-Feb-2008  mjf Sync with HEAD.
 1.23.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.24.6.1 08-Jan-2008  bouyer Sync with HEAD
 1.25.8.2 17-Jun-2008  yamt sync with head.
 1.25.8.1 18-May-2008  yamt sync with head.
 1.25.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.25.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.26.2.3 11-Mar-2010  yamt sync with head
 1.26.2.2 04-May-2009  yamt sync with head.
 1.26.2.1 16-May-2008  yamt sync with head.
 1.27.4.1 18-Jun-2008  simonb Sync with head.
 1.27.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.28.10.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.28.4.1 28-Apr-2009  skrll Sync with HEAD.
 1.31.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.31.4.1 31-May-2011  rmind sync with head
 1.32.8.3 02-Jun-2012  mrg sync to latest -current.
 1.32.8.2 29-Apr-2012  mrg sync to latest -current.
 1.32.8.1 18-Feb-2012  mrg merge to -current.
 1.32.4.4 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.32.4.3 30-Oct-2012  yamt sync with head
 1.32.4.2 23-May-2012  yamt sync with head.
 1.32.4.1 17-Apr-2012  yamt sync with head
 1.33.2.1 09-Aug-2012  jdc Pull up revisions:
src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4
src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65
src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40
src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14
src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11
src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2
src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108
src/sys/arch/arm/arm32/cpu.c revision 1.79
src/sys/arch/arm/include/armreg.h revisions 1.49,1.54
src/sys/arch/arm/arm32/pmap.c revision 1.229
src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77
src/sys/arch/arm/include/cpu.h revision 1.64
src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3
src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1
src/sys/arch/arm/conf/files.arm revision 1.106
src/sys/arch/arm/include/cpufunc.h revision 1.57
src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24
src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8
src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4
src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69
src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1
src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1
src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1
src/sys/arch/evbarm/Makefile revision 1.9
src/sys/arch/evbarm/conf/RPI revision 1.1
src/sys/arch/evbarm/conf/files.rpi revision 1.1
src/sys/arch/evbarm/conf/mk.rpi revision 1.1
src/sys/arch/evbarm/conf/std.rpi revision 1.1
src/sys/arch/evbarm/rpi/genassym.cf revision 1.1
src/sys/arch/evbarm/rpi/rpi.h revision 1.1
src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1
src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2
src/etc/etc.evbarm/Makefile.inc revision 1.28
(requested by skrll in ticket #454).

don't mix #define<TAB> and #define<SPACE> in a file.

avoid warning with options PLCOM_DEBUG for INTEGRATOR.

Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.

Replace the simple_lock with a kmutex_t. Update the locking to match
com(4) in the few places it didn't already.

DOH. Replace a line that got accidently deleted in the last commit.

device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t

Add the 'Z' to the 1176 cpu product name.

ok matt@

Fix locking botch introduced in 1.36.

Fix a KASSERT. From/OK'ed by matt@

Fix racy softint dispatch that lead to KASSERT(si->si_active) in
softint_execute

Discussed with matt@. "Looks good to me"

Add the documented ARM11[37]6 Auxiliary control register defines.

Add support for the ARM1176JZS

Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).

Provide a method for attachments to specify capabilites.

Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.

Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.

Add RPI to KERNEL_SETS

Remove #if 0 code.
 1.42.2.4 03-Dec-2017  jdolecek update from HEAD
 1.42.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.42.2.2 23-Jun-2013  tls resync from head
 1.42.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.45.4.1 18-May-2014  rmind sync with head
 1.48.2.2 10-Aug-2014  tls Rebase.
 1.48.2.1 07-Apr-2014  tls Be a little more clear and consistent about harvesting entropy from devices:

1) deprecate RND_FLAG_NO_ESTIMATE

2) define RND_FLAG_COLLECT_TIME, RND_FLAG_COLLECT_VALUE

3) define RND_FLAG_ESTIMATE_TIME, RND_FLAG_ESTIMATE_VALUE

4) define RND_FLAG_DEFAULT: RND_FLAG_COLLECT_TIME|
RND_FLAG_COLLECT_VALUE|RND_FLAG_ESTIMATE_TIME

5) Make entropy harvesting from environmental sensors a little more generic
and remove it from individual sensor drivers.

6) Remove individual open-coded delta-estimators for values from a few
places in the tree (uvm, environmental drivers).

7) 0 -> RND_FLAG_DEFAULT, actually gather entropy from various drivers
that had stubbed out code, other minor cleanups.
 1.51.2.1 06-Jun-2015  skrll Sync with HEAD
 1.53.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.53.4.1 10-Jun-2019  christos Sync with HEAD
 1.53.2.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.53.2.1 20-Oct-2018  pgoyette Sync with head
 1.9 05-Feb-2024  andvar triple "r" typos, mainly s/interrrupt/interrupt/ in comments and one definition.
 1.8 11-Apr-2023  riastradh evbarm/plcom(4): Sync some recent changes from com(4).

- Nix quirky `integrate' macro.
- Omit needless spltty in plcomstart.
- Comment on lock order.
- Update confusing comment about hangup delay.
- Add include guards.
 1.7 24-Jan-2023  mlelstv Add support for FIFOs and hardware flow-control to plcom driver.
Add a PLCOM_TYPE_GENERIC_UART variant to match SBSA requirements.
 1.6 27-Dec-2019  msaitoh s/recive/receive/ in comment.
 1.5 24-Oct-2012  skrll branches: 1.5.38;
Add the ifls register.
 1.4 25-Jul-2012  skrll branches: 1.4.2;
Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.
 1.3 14-May-2012  skrll Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.
 1.2 06-Apr-2012  bsh don't mix #define<TAB> and #define<SPACE> in a file.
 1.1 27-Oct-2001  rearnsha branches: 1.1.2; 1.1.4; 1.1.160; 1.1.164; 1.1.166;
Support for the PrimeCell PL010 UART. Similar in behaviour to
the normal com driver, but with competely different bit and register
assignments.
 1.1.166.1 09-Aug-2012  jdc Pull up revisions:
src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4
src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65
src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40
src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14
src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11
src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2
src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108
src/sys/arch/arm/arm32/cpu.c revision 1.79
src/sys/arch/arm/include/armreg.h revisions 1.49,1.54
src/sys/arch/arm/arm32/pmap.c revision 1.229
src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77
src/sys/arch/arm/include/cpu.h revision 1.64
src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3
src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1
src/sys/arch/arm/conf/files.arm revision 1.106
src/sys/arch/arm/include/cpufunc.h revision 1.57
src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24
src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8
src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4
src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69
src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1
src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1
src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1
src/sys/arch/evbarm/Makefile revision 1.9
src/sys/arch/evbarm/conf/RPI revision 1.1
src/sys/arch/evbarm/conf/files.rpi revision 1.1
src/sys/arch/evbarm/conf/mk.rpi revision 1.1
src/sys/arch/evbarm/conf/std.rpi revision 1.1
src/sys/arch/evbarm/rpi/genassym.cf revision 1.1
src/sys/arch/evbarm/rpi/rpi.h revision 1.1
src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1
src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2
src/etc/etc.evbarm/Makefile.inc revision 1.28
(requested by skrll in ticket #454).

don't mix #define<TAB> and #define<SPACE> in a file.

avoid warning with options PLCOM_DEBUG for INTEGRATOR.

Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.

Replace the simple_lock with a kmutex_t. Update the locking to match
com(4) in the few places it didn't already.

DOH. Replace a line that got accidently deleted in the last commit.

device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t

Add the 'Z' to the 1176 cpu product name.

ok matt@

Fix locking botch introduced in 1.36.

Fix a KASSERT. From/OK'ed by matt@

Fix racy softint dispatch that lead to KASSERT(si->si_active) in
softint_execute

Discussed with matt@. "Looks good to me"

Add the documented ARM11[37]6 Auxiliary control register defines.

Add support for the ARM1176JZS

Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).

Provide a method for attachments to specify capabilites.

Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.

Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.

Add RPI to KERNEL_SETS

Remove #if 0 code.
 1.1.164.2 02-Jun-2012  mrg sync to latest -current.
 1.1.164.1 29-Apr-2012  mrg sync to latest -current.
 1.1.160.3 30-Oct-2012  yamt sync with head
 1.1.160.2 23-May-2012  yamt sync with head.
 1.1.160.1 17-Apr-2012  yamt sync with head
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 27-Oct-2001  thorpej file plcomreg.h was added on branch kqueue on 2002-01-10 19:42:02 +0000
 1.1.2.2 27-Oct-2001  rearnsha Support for the PrimeCell PL010 UART. Similar in behaviour to
the normal com driver, but with competely different bit and register
assignments.
 1.1.2.1 27-Oct-2001  rearnsha file plcomreg.h was added on branch nathanw_sa on 2001-10-27 16:22:07 +0000
 1.4.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.5.38.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.20 11-Apr-2023  riastradh evbarm/plcom(4): Sync some recent changes from com(4).

- Nix quirky `integrate' macro.
- Omit needless spltty in plcomstart.
- Comment on lock order.
- Update confusing comment about hangup delay.
- Add include guards.
 1.19 24-Jan-2023  mlelstv Add support for FIFOs and hardware flow-control to plcom driver.
Add a PLCOM_TYPE_GENERIC_UART variant to match SBSA requirements.
 1.18 17-Oct-2021  jmcneill plcom: speed up close with HUPCL set

Instead of incurring a 1s penalty on close of a plcom device with HUPCL set,
defer the sleep until the next open, and only sleep if necessary.
 1.17 12-Oct-2017  skrll G/C unused struct
 1.16 13-Apr-2015  riastradh MD rnd.h cleanups. Please let me know if I broke anything!
 1.15 21-Feb-2014  skrll branches: 1.15.6;
No need to include sys/simplelock.h here.
 1.14 01-May-2013  mlelstv branches: 1.14.4;
Fix prototype
 1.13 17-Aug-2012  skrll branches: 1.13.2;
Backout previous - it breaks rpi console for me and jak.
 1.12 12-Aug-2012  reinoud Improve support for transmit fifo support for plcom.

As Nick, Michiel and I concluded this driver needs a big overhaul since its
logic is modelled on the standard com.c driver which doesn't have the plcom's
treshold interrupt at al.

On Nicks request, the HW FIFO support hasn't been enabled by default on the
RPi though.

Tested with the RPi.
 1.11 25-Jul-2012  skrll Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.
 1.10 20-May-2012  skrll device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t
 1.9 20-May-2012  skrll Replace the simple_lock with a kmutex_t. Update the locking to match
com(4) in the few places it didn't already.
 1.8 02-Feb-2012  tls branches: 1.8.2;
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.7 19-Nov-2011  tls branches: 1.7.2;
First step of random number subsystem rework described in
<20111022023242.BA26F14A158@mail.netbsd.org>. This change includes
the following:

An initial cleanup and minor reorganization of the entropy pool
code in sys/dev/rnd.c and sys/dev/rndpool.c. Several bugs are
fixed. Some effort is made to accumulate entropy more quickly at
boot time.

A generic interface, "rndsink", is added, for stream generators to
request that they be re-keyed with good quality entropy from the pool
as soon as it is available.

The arc4random()/arc4randbytes() implementation in libkern is
adjusted to use the rndsink interface for rekeying, which helps
address the problem of low-quality keys at boot time.

An implementation of the FIPS 140-2 statistical tests for random
number generator quality is provided (libkern/rngtest.c). This
is based on Greg Rose's implementation from Qualcomm.

A new random stream generator, nist_ctr_drbg, is provided. It is
based on an implementation of the NIST SP800-90 CTR_DRBG by
Henric Jungheim. This generator users AES in a modified counter
mode to generate a backtracking-resistant random stream.

An abstraction layer, "cprng", is provided for in-kernel consumers
of randomness. The arc4random/arc4randbytes API is deprecated for
in-kernel use. It is replaced by "cprng_strong". The current
cprng_fast implementation wraps the existing arc4random
implementation. The current cprng_strong implementation wraps the
new CTR_DRBG implementation. Both interfaces are rekeyed from
the entropy pool automatically at intervals justifiable from best
current cryptographic practice.

In some quick tests, cprng_fast() is about the same speed as
the old arc4randbytes(), and cprng_strong() is about 20% faster
than rnd_extract_data(). Performance is expected to improve.

The AES code in src/crypto/rijndael is no longer an optional
kernel component, as it is required by cprng_strong, which is
not an optional kernel component.

The entropy pool output is subjected to the rngtest tests at
startup time; if it fails, the system will reboot. There is
approximately a 3/10000 chance of a false positive from these
tests. Entropy pool _input_ from hardware random numbers is
subjected to the rngtest tests at attach time, as well as the
FIPS continuous-output test, to detect bad or stuck hardware
RNGs; if any are detected, they are detached, but the system
continues to run.

A problem with rndctl(8) is fixed -- datastructures with
pointers in arrays are no longer passed to userspace (this
was not a security problem, but rather a major issue for
compat32). A new kernel will require a new rndctl.

The sysctl kern.arandom() and kern.urandom() nodes are hooked
up to the new generators, but the /dev/*random pseudodevices
are not, yet.

Manual pages for the new kernel interfaces are forthcoming.
 1.6 05-Jan-2008  ad branches: 1.6.44;
Make compile.
 1.5 17-Oct-2007  garbled branches: 1.5.2; 1.5.8;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.4 14-Jul-2007  ad branches: 1.4.6; 1.4.10;
Generic soft interrupts are mandatory.
 1.3 07-Mar-2006  he branches: 1.3.20; 1.3.28;
Remove another instance of the macro triplet SET/CLR/ISSET, now
found in <sys/types.h>.
 1.2 27-Dec-2005  chs branches: 1.2.4; 1.2.6; 1.2.8; 1.2.10;
remove the COM_MPLOCK option. always include the spinlock in the softc
and always call the simple_* locking functions. the locking functions
are compiled out if they are not needed anyway, so a separate option
for this doesn't gain anything.

this also fixes the serial console on my alpha ES40 (which doesn't make much
sense since the com driver should still be under the big lock on alpha,
but whatever).
 1.1 27-Oct-2001  rearnsha branches: 1.1.2; 1.1.4; 1.1.36;
Support for the PrimeCell PL010 UART. Similar in behaviour to
the normal com driver, but with competely different bit and register
assignments.
 1.1.36.3 21-Jan-2008  yamt sync with head
 1.1.36.2 03-Sep-2007  yamt sync with head.
 1.1.36.1 21-Jun-2006  yamt sync with head.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 27-Oct-2001  thorpej file plcomvar.h was added on branch kqueue on 2002-01-10 19:42:03 +0000
 1.1.2.2 27-Oct-2001  rearnsha Support for the PrimeCell PL010 UART. Similar in behaviour to
the normal com driver, but with competely different bit and register
assignments.
 1.1.2.1 27-Oct-2001  rearnsha file plcomvar.h was added on branch nathanw_sa on 2001-10-27 16:22:08 +0000
 1.2.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.2.8.1 13-Mar-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.28.1 03-Oct-2007  garbled Sync with HEAD
 1.3.20.1 15-Jul-2007  ad Sync with head.
 1.4.10.2 09-Jan-2008  matt sync with HEAD
 1.4.10.1 06-Nov-2007  matt sync with HEAD
 1.4.6.1 28-Feb-2008  rjs Sync with HEAD.
 1.5.8.1 08-Jan-2008  bouyer Sync with HEAD
 1.5.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.6.44.4 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.44.3 30-Oct-2012  yamt sync with head
 1.6.44.2 23-May-2012  yamt sync with head.
 1.6.44.1 17-Apr-2012  yamt sync with head
 1.7.2.2 02-Jun-2012  mrg sync to latest -current.
 1.7.2.1 18-Feb-2012  mrg merge to -current.
 1.8.2.1 09-Aug-2012  jdc Pull up revisions:
src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4
src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65
src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40
src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14
src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11
src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2
src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108
src/sys/arch/arm/arm32/cpu.c revision 1.79
src/sys/arch/arm/include/armreg.h revisions 1.49,1.54
src/sys/arch/arm/arm32/pmap.c revision 1.229
src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77
src/sys/arch/arm/include/cpu.h revision 1.64
src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3
src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1
src/sys/arch/arm/conf/files.arm revision 1.106
src/sys/arch/arm/include/cpufunc.h revision 1.57
src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24
src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8
src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4
src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69
src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1
src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1
src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1
src/sys/arch/evbarm/Makefile revision 1.9
src/sys/arch/evbarm/conf/RPI revision 1.1
src/sys/arch/evbarm/conf/files.rpi revision 1.1
src/sys/arch/evbarm/conf/mk.rpi revision 1.1
src/sys/arch/evbarm/conf/std.rpi revision 1.1
src/sys/arch/evbarm/rpi/genassym.cf revision 1.1
src/sys/arch/evbarm/rpi/rpi.h revision 1.1
src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1
src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2
src/etc/etc.evbarm/Makefile.inc revision 1.28
(requested by skrll in ticket #454).

don't mix #define<TAB> and #define<SPACE> in a file.

avoid warning with options PLCOM_DEBUG for INTEGRATOR.

Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.

Replace the simple_lock with a kmutex_t. Update the locking to match
com(4) in the few places it didn't already.

DOH. Replace a line that got accidently deleted in the last commit.

device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t

Add the 'Z' to the 1176 cpu product name.

ok matt@

Fix locking botch introduced in 1.36.

Fix a KASSERT. From/OK'ed by matt@

Fix racy softint dispatch that lead to KASSERT(si->si_active) in
softint_execute

Discussed with matt@. "Looks good to me"

Add the documented ARM11[37]6 Auxiliary control register defines.

Add support for the ARM1176JZS

Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).

Provide a method for attachments to specify capabilites.

Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.

Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.

Add RPI to KERNEL_SETS

Remove #if 0 code.
 1.13.2.3 03-Dec-2017  jdolecek update from HEAD
 1.13.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.13.2.1 23-Jun-2013  tls resync from head
 1.14.4.1 18-May-2014  rmind sync with head
 1.15.6.1 06-Jun-2015  skrll Sync with HEAD
 1.1 27-Oct-2001  rearnsha branches: 1.1.2; 1.1.4;
Register definitions for the v360 PCI-localbus bridge, as used
on the Integrator/AP.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 27-Oct-2001  thorpej file v360reg.h was added on branch kqueue on 2002-01-10 19:42:03 +0000
 1.1.2.2 27-Oct-2001  rearnsha Register definitions for the v360 PCI-localbus bridge, as used
on the Integrator/AP.
 1.1.2.1 27-Oct-2001  rearnsha file v360reg.h was added on branch nathanw_sa on 2001-10-27 16:20:30 +0000
 1.25 28-Oct-2023  mrg allow "root=xxx" command line to override platform defaults.

PR#57324 shows that on broadcom evbarm systems the default root
is no longer chosen, even when specified on the command line.

sc.dying and mlelstv pointed out that revision 1.24 made this
function skip parsing "root=" if already set, which was not what
i expected to happen anywhere here (and it works fine on FDT and
UEFI boots.)

revert that part of 1.24.

XXX: pullup-10.


(while this is it's own bug, it points out that
bcm283x_platform_device_register() currently will set
booted_device to the first ld@sdmmc found, even if that device was
not involved with booting. while fixing this would be nice, it
wouldn't have helped with this setup -- choosing ld@sdmmc is the
right answer in eg PR#57324 at this point, so having it set in
this case should be fine, and then overrideable via root=.)
 1.24 05-Feb-2023  mrg fix root detection on evbarm when raid is involved

there are several problems solved in this change:
- lots of work was re-done when we already have determined the
device booted from, so several new early returns introduced
if booted_device has been set
- due to the lack of cpu_bootconf(), raidframe softroot would
override "root=xxx" on the boot command line (note that
platforms that use eg, device_register() to detect the boot
device are not affected by this issue as they find the
boot device much earlier.)
- in the new cpu_bootconf(), switch the order of the platform
boot-config with the set_root_device() call. this avoids a
problem where "root=xxx" is checked after automated methods,
and is thus ignored.
- in fdt_detect_root_device(), remove the code to add "root=xxx""
string to the boot_args[] that would be later parsed by the
set_root_device() call, and simply set booted_device and, for
mbr installs, booted_partition directly. also, for any
successful call, perform an early return.
- define __HAVE_CPU_BOOTCONF so early boot calls cpu_bootconf().


tested on:
- rockpro64 booting from emmc, sata (big, and little endian)
- rockpro64 loading kernel from msdos partition
- rockpro64 booting from network (fails to auto-detect, with or
without this change)
- quartz64 booting from nvme
- lx2k booting from nvme

XXX: pullup-10
 1.23 19-Dec-2020  mrg branches: 1.23.18;
implement boot -d for arm64.

could be done at the end of initarm() except it hangs currently.
this gets you a db> prompt before devices are configured.

ok @skrll.
 1.22 27-Aug-2018  jmcneill branches: 1.22.12;
Add evbarm_cpu_rootconf callback for hooking into cpu_rootconf
 1.21 23-Oct-2017  skrll branches: 1.21.2; 1.21.4;
splserial is an alias for splhigh now. No need to splhigh twice.
 1.20 28-May-2017  jmcneill Don't assume that the root autoconfiguration device is named "mainbus".
 1.19 05-Mar-2016  mlelstv Don't modify command line buffer but create a copy of the root argument.
 1.18 22-Nov-2014  mlelstv branches: 1.18.2;
If the boot argument "root" cannot be parsed as a device name, pass the
string untranslated to MI code. Due to limits in the boot argument parser
the string is terminated by whitespace.
 1.17 10-May-2014  reinoud Define and implement device_register_post_config() hook analog to the
device_register() hook.

Already found on sparc64 and librump. Tested compilation and running of
machines with and without the hook defined.
 1.16 21-Jan-2013  jakllsch branches: 1.16.2; 1.16.10;
Correct off-by-one in validation of booted partition number.
 1.15 02-Dec-2012  msaitoh Add get_device(), set_root_device() to get root device via bootargs.
This is same as some other archs. PR#47250.
 1.14 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.13 29-Jul-2012  mlelstv branches: 1.13.2;
Do not call setroot() from MD code and from MI code, which has
unwanted sideeffects in the RB_ASKNAME case. This fixes PR/46732.

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

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

Make cpu_rootconf(9) describe the calling order.
 1.12 28-Apr-2008  martin branches: 1.12.34; 1.12.40;
Remove clause 3 and 4 from TNF licenses
 1.11 03-Dec-2007  ad branches: 1.11.14; 1.11.16; 1.11.18;
Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.10 11-Dec-2005  christos branches: 1.10.30; 1.10.46; 1.10.48; 1.10.50; 1.10.56;
merge ktrace-lwp.
 1.9 23-Oct-2004  thorpej branches: 1.9.12;
Centralize the declaration of booted_device and booted_partition.
 1.8 15-Jul-2003  lukem __KERNEL_RCSID()
 1.7 04-Jul-2003  thorpej Do an splhigh() before doing splserial(), in the event that
serial isn't actually higher than high.
 1.6 04-Jul-2003  thorpej Use splserial() instead of splhigh() to block interrupt during
autoconfiguration. XXX We really need an splextreme() for when
we really mean "block everything".
 1.5 04-Jul-2003  thorpej Provide a hook for board-specific code to register a device_register()
function.
 1.4 30-Jun-2003  thorpej branches: 1.4.2;
Go to splhigh() before doing autoconfiguration.
 1.3 17-May-2003  thorpej Use aprint_normal() to report the boot device.
 1.2 30-Jan-2002  thorpej branches: 1.2.2;
New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.1 05-Sep-2001  matt branches: 1.1.6;
more evbarm files (very incomplete).
 1.1.6.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.6.1 05-Sep-2001  nathanw file autoconf.c was added on branch nathanw_sa on 2002-02-28 04:09:08 +0000
 1.2.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.2.2.1 30-Jan-2002  jdolecek file autoconf.c was added on branch kqueue on 2002-02-11 20:07:42 +0000
 1.4.2.4 02-Nov-2004  skrll Sync with HEAD.
 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.9.12.1 07-Dec-2007  yamt sync with head
 1.10.56.1 08-Dec-2007  mjf Sync with HEAD.
 1.10.50.1 09-Jan-2008  matt sync with HEAD
 1.10.48.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.10.46.1 26-Dec-2007  rjs Sync with HEAD.
 1.10.30.1 03-Dec-2007  ad Sync with HEAD.
 1.11.18.1 16-May-2008  yamt sync with head.
 1.11.16.1 18-May-2008  yamt sync with head.
 1.11.14.1 02-Jun-2008  mjf Sync with HEAD.
 1.12.40.1 08-Aug-2012  martin Pull up following revision(s) (requested by mlelstv in ticket #466):
sys/arch/amiga/amiga/autoconf.c: revision 1.113
sys/arch/rs6000/rs6000/autoconf.c: revision 1.4
sys/arch/emips/emips/autoconf.c: revision 1.6
sys/arch/sandpoint/sandpoint/autoconf.c: revision 1.27
sys/arch/evbmips/alchemy/autoconf.c: revision 1.18
sys/arch/sgimips/sgimips/autoconf.c: revision 1.43
sys/arch/atari/atari/autoconf.c: revision 1.63
sys/arch/powerpc/oea/ofw_autoconf.c: revision 1.17
sys/arch/mmeye/mmeye/autoconf.c: revision 1.9
distrib/sets/lists/comp/mi: revision 1.1771
sys/arch/mipsco/mipsco/autoconf.c: revision 1.25
sys/arch/iyonix/iyonix/autoconf.c: revision 1.14
sys/arch/hp300/hp300/autoconf.c: revision 1.100
sys/kern/init_main.c: revision 1.445
sys/arch/pmax/pmax/autoconf.c: revision 1.79
sys/arch/netwinder/netwinder/autoconf.c: revision 1.11
sys/arch/dreamcast/dreamcast/autoconf.c: revision 1.10
sys/arch/ibmnws/ibmnws/autoconf.c: revision 1.12
sys/arch/evbppc/ev64260/autoconf.c: revision 1.17
sys/arch/evbmips/gdium/autoconf.c: revision 1.5
sys/arch/algor/algor/autoconf.c: revision 1.21
share/man/man9/Makefile: revision 1.367
sys/arch/ews4800mips/ews4800mips/autoconf.c: revision 1.9
sys/arch/amigappc/amigappc/autoconf.c: revision 1.5
sys/arch/x86/x86/x86_autoconf.c: revision 1.65
sys/arch/acorn26/acorn26/autoconf.c: revision 1.9
sys/arch/mvmeppc/mvmeppc/autoconf.c: revision 1.13
sys/arch/vax/vax/autoconf.c: revision 1.94
sys/arch/usermode/dev/cpu.c: revision 1.72
sys/arch/evbppc/virtex/autoconf.c: revision 1.5
sys/arch/next68k/next68k/autoconf.c: revision 1.26
sys/arch/mac68k/mac68k/autoconf.c: revision 1.73
sys/arch/ia64/ia64/autoconf.c: revision 1.6
sys/arch/evbppc/obs405/obs405_autoconf.c: revision 1.6
share/man/man9/cpu_rootconf.9: revision 1.7
sys/arch/landisk/landisk/autoconf.c: revision 1.6
sys/arch/evbmips/malta/autoconf.c: revision 1.16
sys/arch/sun3/sun3/autoconf.c: revision 1.76
sys/arch/evbppc/explora/autoconf.c: revision 1.13
sys/arch/sun3/sun3/autoconf.c: revision 1.77
sys/arch/evbmips/loongson/autoconf.c: revision 1.3
sys/arch/evbmips/atheros/autoconf.c: revision 1.11
sys/arch/sparc64/sparc64/autoconf.c: revision 1.188
sys/arch/acorn32/acorn32/autoconf.c: revision 1.18
sys/arch/evbarm/evbarm/autoconf.c: revision 1.13
sys/arch/cobalt/cobalt/autoconf.c: revision 1.30
sys/arch/mvme68k/mvme68k/autoconf.c: revision 1.46
sys/arch/hp700/hp700/autoconf.c: revision 1.48
sys/arch/evbmips/adm5120/autoconf.c: revision 1.5
sys/arch/hpcmips/hpcmips/autoconf.c: revision 1.25
sys/arch/alpha/alpha/autoconf.c: revision 1.52
sys/arch/sparc/sparc/autoconf.c: revision 1.244
sys/arch/evbppc/pmppc/autoconf.c: revision 1.7
sys/arch/bebox/bebox/autoconf.c: revision 1.25
sys/arch/luna68k/luna68k/autoconf.c: revision 1.13
sys/arch/hpcarm/hpcarm/autoconf.c: revision 1.20
sys/arch/evbppc/walnut/autoconf.c: revision 1.21
sys/arch/cesfic/cesfic/autoconf.c: revision 1.26
sys/arch/cats/cats/autoconf.c: revision 1.17
sys/arch/x68k/x68k/autoconf.c: revision 1.67
sys/arch/news68k/news68k/autoconf.c: revision 1.21
sys/arch/arc/arc/autoconf.c: revision 1.34
sys/arch/evbsh3/evbsh3/autoconf.c: revision 1.11
sys/sys/conf.h: revision 1.143
sys/arch/evbmips/rasoc/autoconf.c: revision 1.3
sys/arch/hpcsh/hpcsh/autoconf.c: revision 1.26
sys/arch/sun68k/sun68k/autoconf.c: revision 1.29
sys/arch/evbmips/rmixl/autoconf.c: revision 1.6
sys/arch/zaurus/zaurus/autoconf.c: revision 1.12
sys/arch/xen/x86/autoconf.c: revision 1.15
sys/arch/evbppc/mpc85xx/autoconf.c: revision 1.6
sys/arch/shark/shark/autoconf.c: revision 1.18
sys/arch/prep/prep/autoconf.c: revision 1.25
sys/arch/newsmips/newsmips/autoconf.c: revision 1.36
sys/arch/sbmips/sbmips/autoconf.c: revision 1.8
Do not call setroot() from MD code and from MI code, which has
unwanted sideeffects in the RB_ASKNAME case. This fixes PR/46732.
No longer wrap MD cpu_rootconf(), as hp300 port stores reboot information
as a side effect. Instead call MI rootconf() from MD code which makes
rootconf() now a wrapper to setroot().
Adjust several MD routines to set the global booted_device,booted_partition
variables instead of passing partial information to setroot().
Make cpu_rootconf(9) describe the calling order.
add rootconf(9) as a link to cpu_rootconf(9)
make this compile again
 1.12.34.4 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.34.3 23-Jan-2013  yamt sync with head
 1.12.34.2 16-Jan-2013  yamt sync with (a bit old) head
 1.12.34.1 30-Oct-2012  yamt sync with head
 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 25-Feb-2013  tls resync with head
 1.13.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.16.10.1 10-Aug-2014  tls Rebase.
 1.16.2.1 18-May-2014  rmind sync with head
 1.18.2.2 28-Aug-2017  skrll Sync with HEAD
 1.18.2.1 19-Mar-2016  skrll Sync with HEAD
 1.21.4.1 10-Jun-2019  christos Sync with HEAD
 1.21.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.22.12.1 03-Jan-2021  thorpej Sync w/ HEAD.
 1.23.18.2 29-Oct-2023  martin Pull up following revision(s) (requested by mrg in ticket #437):

sys/arch/evbarm/evbarm/autoconf.c: revision 1.25

allow "root=xxx" command line to override platform defaults.
PR#57324 shows that on broadcom evbarm systems the default root
is no longer chosen, even when specified on the command line.
sc.dying and mlelstv pointed out that revision 1.24 made this
function skip parsing "root=" if already set, which was not what
i expected to happen anywhere here (and it works fine on FDT and
UEFI boots.)

revert that part of 1.24.


(while this is it's own bug, it points out that
bcm283x_platform_device_register() currently will set
booted_device to the first ld@sdmmc found, even if that device was
not involved with booting. while fixing this would be nice, it
wouldn't have helped with this setup -- choosing ld@sdmmc is the
right answer in eg PR#57324 at this point, so having it set in
this case should be fine, and then overrideable via root=.)
 1.23.18.1 20-Oct-2023  martin Pull up following revision(s) (requested by mrg in ticket #431):

sys/arch/evbarm/evbarm/autoconf.c: revision 1.24
sys/arch/evbarm/include/types.h: revision 1.16
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.100
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.101

fix root detection on evbarm when raid is involved

there are several problems solved in this change:
- - lots of work was re-done when we already have determined the
device booted from, so several new early returns introduced
if booted_device has been set
- - due to the lack of cpu_bootconf(), raidframe softroot would
override "root=xxx" on the boot command line (note that
platforms that use eg, device_register() to detect the boot
device are not affected by this issue as they find the
boot device much earlier.)
- - in the new cpu_bootconf(), switch the order of the platform
boot-config with the set_root_device() call. this avoids a
problem where "root=xxx" is checked after automated methods,
and is thus ignored.
- - in fdt_detect_root_device(), remove the code to add "root=xxx""
string to the boot_args[] that would be later parsed by the
set_root_device() call, and simply set booted_device and, for
mbr installs, booted_partition directly. also, for any
successful call, perform an early return.
- - define __HAVE_CPU_BOOTCONF so early boot calls cpu_bootconf().

tested on:
- - rockpro64 booting from emmc, sata (big, and little endian)
- - rockpro64 loading kernel from msdos partition
- - rockpro64 booting from network (fails to auto-detect, with or
without this change)
- - quartz64 booting from nvme
- - lx2k booting from nvme

Locate wedges as boot device and also match a partition GUID.
 1.3 14-Nov-2001  thorpej This file is not used.
 1.2 09-Sep-2001  toshii branches: 1.2.4;
Don't define pcb_* register macros.
pcb_sp macro conflicts with sys/netinet6/ipsec.c.
 1.1 05-Sep-2001  matt branches: 1.1.2;
more evbarm files (very incomplete).
 1.1.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.2.4.2 14-Nov-2001  thorpej Sync with -current (this file was removed on the trunk).
 1.2.4.1 09-Sep-2001  thorpej file genassym.cf was added on branch nathanw_sa on 2001-11-14 21:34:49 +0000
 1.13 23-Jan-2013  skrll Remove old and never used evbarm/initarm_common. Please use
arm32/arm32_boot.c:initarm_common
 1.12 29-Oct-2012  chs add missing arg to cpu_setttb().
 1.11 29-Jul-2012  matt branches: 1.11.2;
Fix more -fno-common fallout.
Move more variables to common locations.
 1.10 26-Dec-2009  uebayasi branches: 1.10.12;
Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.9 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.8 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.7 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 1.6 19-Jan-2008  chris branches: 1.6.10;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.5 11-Dec-2005  christos branches: 1.5.46; 1.5.50; 1.5.56; 1.5.64;
merge ktrace-lwp.
 1.4 12-Dec-2004  abs branches: 1.4.10;
Fix comments regarding configration bounaries
 1.3 12-Dec-2004  abs Fix comments slighly
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 18-Apr-2003  scw branches: 1.1.2;
Add support for ARM32_PMAP_NEW and ARM32_NEW_VM_LAYOUT to the iq80321 port.
 1.1.2.4 18-Dec-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.10.1 21-Jan-2008  yamt sync with head
 1.5.64.1 20-Jan-2008  bouyer Sync with HEAD
 1.5.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.5.50.1 23-Mar-2008  matt sync with HEAD
 1.5.46.1 28-Feb-2008  rjs Sync with HEAD.
 1.6.10.2 11-Mar-2010  yamt sync with head
 1.6.10.1 19-Aug-2009  yamt sync with head.
 1.10.12.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.10.12.1 30-Oct-2012  yamt sync with head
 1.11.2.2 25-Feb-2013  tls resync with head
 1.11.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.2 23-Jan-2013  skrll Remove old and never used evbarm/initarm_common. Please use
arm32/arm32_boot.c:initarm_common
 1.1 18-Apr-2003  scw branches: 1.1.142; 1.1.152;
Add support for ARM32_PMAP_NEW and ARM32_NEW_VM_LAYOUT to the iq80321 port.
 1.1.152.1 25-Feb-2013  tls resync with head
 1.1.142.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 29-Jan-2002  thorpej Move the generic ARM soft interrupt code into a generic place.
 1.1 24-Jan-2002  thorpej Generic soft interrupt support for the evbarm port. Two caveats:
* This is not currently used by the in-tree evbarm interrupt code. New
interrupt code will appear "soon" which makes use of this file.
* This file will probably move to a generic ARM location eventually.
 1.4 06-Sep-2025  thorpej Refactor the "platform" defitions into fdt_platform.h
 1.3 07-Apr-2023  skrll Rename ARM_PLATFORM to FDT_PLATFORM and make it available outside arm.
 1.2 15-Oct-2022  jmcneill Use "non-posted" instead of "strongly ordered" to describe nGnRnE mappings

Rename the following defines:
- _ARM_BUS_SPACE_MAP_STRONGLY_ORDERED to BUS_SPACE_MAP_NONPOSTED
- PMAP_DEV_SO to PMAP_DEV_NP
- LX_BLKPAG_ATTR_DEVICE_MEM_SO to LX_BLKPAG_ATTR_DEVICE_MEM_NP
Rename the following option:
- AARCH64_DEVICE_MEM_STRONGLY_ORDERED to AARCH64_DEVICE_MEM_NONPOSTED
 1.1 06-Sep-2021  jmcneill Instead of requiring drivers to be explicit about their device memory
mapping requirements, move this decision into the fdt layer. This
introduces a new MD function, fdtbus_bus_tag_create, which is responsible
for returning per-node bus_space handles.
 1.1 20-Feb-2020  jmcneill branches: 1.1.2; 1.1.6;
Add dma-ranges support.
 1.1.6.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.6.1 20-Feb-2020  martin file fdt_dma_machdep.c was added on branch phil-wifi on 2020-04-08 14:07:35 +0000
 1.1.2.2 29-Feb-2020  ad Sync with head.
 1.1.2.1 20-Feb-2020  ad file fdt_dma_machdep.c was added on branch ad-namecache on 2020-02-29 20:18:22 +0000
 1.112 04-Oct-2025  thorpej Use device_{get,set}prop_bool() for "is_console".
 1.111 06-Sep-2025  thorpej Re-factor the console-related code into fdt_console.[ch]
 1.110 06-Sep-2025  thorpej Refactor the "platform" defitions into fdt_platform.h
 1.109 08-Mar-2025  jmcneill arm64: Add a gross hack to allow handoff from genfb to PCI DRM drivers.

Similar to how this is handled on x86.
 1.108 30-Jun-2024  jmcneill fdt: Add a fp_device_register_post_config callback to fdt_platform.
 1.107 19-Jan-2024  skrll branches: 1.107.2;
Make fdt_cpu_rootconf available for other machines/platforms.
 1.106 04-Aug-2023  mrg avoid comparing arrays directly, compare the address of their first element.

found by GCC 12.
 1.105 10-Jul-2023  rin fdt(4): Factor out bootargs support from evbarm and riscv.
 1.104 10-Jul-2023  rin Factor out some fdt(4) features from {,evb}arm into dev/fdt.

Now, FDT-based support to efirt, initrd, rndseed, and efirng can be
used from, e.g., riscv.

Mostly from Nick Hudson.

XXX
As Nick comments, there can be some optimizations for fdt_map_range().
efiboot may also be modified to load these objects into aligned PAs.
 1.103 22-Apr-2023  skrll Move fdt_update_stdout_path from evbarm code to MI code
 1.102 07-Apr-2023  skrll Rename ARM_PLATFORM to FDT_PLATFORM and make it available outside arm.
 1.101 05-Mar-2023  mlelstv Locate wedges as boot device and also match a partition GUID.
 1.100 05-Feb-2023  mrg fix root detection on evbarm when raid is involved

there are several problems solved in this change:
- lots of work was re-done when we already have determined the
device booted from, so several new early returns introduced
if booted_device has been set
- due to the lack of cpu_bootconf(), raidframe softroot would
override "root=xxx" on the boot command line (note that
platforms that use eg, device_register() to detect the boot
device are not affected by this issue as they find the
boot device much earlier.)
- in the new cpu_bootconf(), switch the order of the platform
boot-config with the set_root_device() call. this avoids a
problem where "root=xxx" is checked after automated methods,
and is thus ignored.
- in fdt_detect_root_device(), remove the code to add "root=xxx""
string to the boot_args[] that would be later parsed by the
set_root_device() call, and simply set booted_device and, for
mbr installs, booted_partition directly. also, for any
successful call, perform an early return.
- define __HAVE_CPU_BOOTCONF so early boot calls cpu_bootconf().


tested on:
- rockpro64 booting from emmc, sata (big, and little endian)
- rockpro64 loading kernel from msdos partition
- rockpro64 booting from network (fails to auto-detect, with or
without this change)
- quartz64 booting from nvme
- lx2k booting from nvme

XXX: pullup-10
 1.99 04-Nov-2022  jmcneill branches: 1.99.2;
Size boot_physmem with FDT_MEMORY_RANGES.

This effectively increases the size from 64 to 256 entries for Arm kernels.
It turns out on large systems that memory can be quite fragmented by UEFI.
Increasing the size of this just kicks the can down the road, we need a
better solution to deal with boot_physmem/fdt_memory/bootparams.dram
sizing.
 1.98 21-Oct-2022  skrll Fix build after previous.
 1.97 20-Oct-2022  skrll Remove an empty line
 1.96 20-Oct-2022  skrll Move the fdt_memory_remove_reserved call out of fdt_build_bootconfig

NFC.
 1.95 30-Sep-2022  skrll Actually release the VA in fdt_unmap_range
 1.94 30-Sep-2022  skrll KNF
 1.93 28-Sep-2022  skrll KNF
 1.92 28-Sep-2022  skrll Typo in comment
 1.91 02-Apr-2022  skrll Update to support EFI runtime outside the kernel virtual address space
by creating an EFI RT pmap that can be activated / deactivated when
required.

Adds support for EFI RT to ARM_MMU_EXTENDED (ASID) 32-bit Arm machines.

On Arm64 the usage of pmapboot_enter is reduced and the mappings are
created much later in the boot process -- now in cpu_startup_hook.
Backward compatiblity for KVA mapped RT from old bootaa64.efi is
maintained.

Adding support to other platforms should be easier as a result.
 1.90 19-Mar-2022  hannken Fix locking after opendisk(), VOP_IOCTL() needs an unlocked vnode,
vn_rdwr() needs flag IO_NODELOCKED.
 1.89 19-Mar-2022  skrll Improve a VPRINTF
 1.88 09-Mar-2022  mrg in fdt_cpu_rootconf(), return without doing anything (like setting
"root=something" in boot_args, or booted_device), if booted_device
is already set to something.

this makes raidframe softroot work on evbarm.
 1.87 19-Mar-2021  jmcneill earlyconsgetc: return -1 instead of 0 because we will never produce input
 1.86 18-Dec-2020  skrll Add a comment
 1.85 18-Dec-2020  skrll Make EFI_RUNTIME compile on arm
 1.84 18-Dec-2020  skrll KNF
 1.83 12-Dec-2020  skrll Move evbarm/fdt/fdt_memory.[ch] to sys/dev/fdt and simplify the api and
some operations. This allows other architectures to use it.
 1.82 28-Nov-2020  riastradh evbarm: Bump efirng entropy estimate.

I'm not really happy with this, but my lack of confidence in the
remaining question marks about this (no real documentation about the
underlying physical processes, and a slightly self-inconsistent uefi
spec) is outweighed by the value of not distracting people with
entropy warnings on systems that are almost certainly fine.
 1.81 26-Nov-2020  skrll Style around setting the physical memory limit. NFCI.
 1.80 26-Nov-2020  skrll Tweak a comment
 1.79 24-Nov-2020  skrll Simplify. NFCI.
 1.78 07-Nov-2020  skrll Print the devmap we're using in the debug output
 1.77 20-Oct-2020  jmcneill branches: 1.77.2;
Instead of trying to prevent pciconf from reconfiguring the firmware's
framebuffer, instead allow MD code to register callbacks. If a resource is
changed, the driver can unmap the old resource and remap the new. Do this
with simplefb so the console doesn't explode when the VGA device is
(potentially) reconfigured at boot.
 1.76 19-Oct-2020  rin Fix colors of 32-bpp raster console for evbarm/aarch64eb and armeb.

Most boards are configured to little-endian in initial, and switched
to big-endian after kernel is loaded. In this case, framebuffer seems
byte-swapped to CPU.

It is best to reconfigure framebuffer (as done recently for sunxi_mixer
by jmcneill), but in most cases, HW is incapable, or we just don't know
register bits to configure them.

Therefore, override "format" FDT property for "simple-framebuffer" to
let drivers know byte-order for 32-bpp framebuffer.

Then, make fdt/simplefb (genfb) and arm_simplefb (early console) detect
byte-swapped FB, and configure genfb(4) or rasops(4) layers accordingly.

Tested on Pine A64+ (arm_simplefb) and Cubietruck (both fdt/simplefb and
arm_simplefb).

Discussed with jmcneill. Thanks!!
 1.75 10-Oct-2020  jmcneill Support early FB console attachment when booting with a devicetree
(non-ACPI mode). Inform the pciconf code about the framebuffer to
prevent pciconf from changing resources out from under us when framebuffer
memory is in VRAM.
 1.74 25-Sep-2020  skrll Add a newline
 1.73 27-Jun-2020  jmcneill Make sure we pass full pages to fdt_memory_remove_range
 1.72 15-May-2020  skrll Fix build on arm
 1.71 14-May-2020  riastradh Free kva for rndseed and efirng when done.

The physical pages remain forever reserved because it's not convenient
to unreserve them at the moment after we reserved them during
fdt_build_bootconifg, but it's just two pages so not that big a deal.
 1.70 14-May-2020  riastradh Deduplicate address-range querying/mapping logic.
 1.69 14-May-2020  riastradh Teach arm fdt kernel to use /chosen/netbsd,efirng data.

Feed it in as a separate random source, with zero entropy since this
is a best-effort fallback for devices we really don't know anything
about.
 1.68 08-Mar-2020  skrll Fix LOCKDEBUG by calling fdtbus_intr_init as part of cpu_startup_hook, i.e.
later.
 1.67 16-Feb-2020  thorpej Rename fdtbus_set_data() to fdtbus_init(). NFC.
 1.66 21-Jan-2020  jmcneill Switch aarch64 to use a single freelist.
 1.65 18-Dec-2019  riastradh branches: 1.65.2;
Implement rndseed support in efiboot and fdt arm.

The EFI environment variable `rndseed' specifies the path to the
random seed. It is loaded only for fdt platforms at the moment.

Since the rndseed (an rndsave_t object as defined in <sys/rndio.h>)
is 536 bytes long (for hysterical raisins), and to avoid having to
erase parts of the fdt tree, we load it into a physical page whose
address is passed in the fdt tree, rather than passing the content of
the file as an fdt node directly; the kernel then reserves the page
from uvm, and maps it into kva to call rnd_seed.

For now, the only kernel that does use efiboot with fdt is evbarm,
which knows to handle the rndseed. Any new kernels that use efiboot
with fdt must do the same; otherwise uvm may hand out the page with
the secret key on it for a normal page allocation in the kernel --
which should be OK if there are no kernel memory disclosure bugs, but
would lead to worse consequences than simply loading the seed late in
userland with /etc/rc.d/random_seed otherwise.

ok jmcneill
 1.64 16-Jul-2019  skrll branches: 1.64.2;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.63 15-Jul-2019  skrll Fix and improve a VPRINTF
 1.62 24-Apr-2019  skrll In fdt_add_boot_physmem make sure the memory range has pages available
before adding it to the fdt_physmem array.

Fixes a problem that jmcneill@ pointed out to me.
 1.61 30-Mar-2019  jmcneill Make fdt_get_memory return all of physical memory on ARM (matching ARM64 behavior)
 1.60 16-Mar-2019  skrll Spell common correctly in comment. Spotted by jmcneill
 1.59 16-Mar-2019  skrll Flush the BP cache just before starting APs so that cache coherency starts
with a correct view.
 1.58 31-Jan-2019  skrll Only free the _init_memory pages if all APs start corectly.
 1.57 23-Dec-2018  skrll Appease clang. Tested by roy.
 1.56 28-Nov-2018  ryo support boot option "-1" to disable multiprocessor boot, and "-z" to set AB_SILENT flag.
 1.55 15-Nov-2018  jmcneill If the bootloader specifies a boot mac-address, use it to find the root device.
 1.54 03-Nov-2018  skrll Less is more
 1.53 01-Nov-2018  jmcneill Add support for auto-selection of GPT root devices
 1.52 31-Oct-2018  jmcneill Use PRIx64 to print uint64_t
 1.51 31-Oct-2018  jmcneill Setup mappings for EFI runtime mmio ranges.
 1.50 31-Oct-2018  skrll Fix VERBOSE_INIT_ARM build
 1.49 30-Oct-2018  jmcneill Replace extent(9) with our own code to deal with adding and reserving
memory ranges.
 1.48 30-Oct-2018  skrll Retire fdt_putchar and ap_early_put_char in favour of uartputc.
 1.47 29-Oct-2018  jmcneill If a /chosen/framebuffer node is found, reserve physical memory claimed
by it.
 1.46 28-Oct-2018  jmcneill Add support for EFI runtime services on aarch64.
 1.45 18-Oct-2018  skrll Revert a VPRINTF to printf
 1.44 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.43 14-Oct-2018  skrll Use __nothing
 1.42 04-Oct-2018  ryo don't call plat->ap_early_putchar if not defined EARLYCONS
 1.41 29-Sep-2018  jmcneill If the total size of the DTB exceeds our static storage, attempt to pack
it in place to make it fit.
 1.40 29-Sep-2018  jmcneill Increase storage space for DTB (for QEMU)
 1.39 26-Sep-2018  bouyer Don't call ukbd_cnattach() unconditionally, this causes a non-functionnal
keyboard if there is a framebuffer but the console is serial only.
Instead add a fdt_device_register_post_config() callback, which checks
if the just-attached wsdisplay is the console, and calls ukbd_cnattach()
in this case.
OK jmcneill@
 1.38 22-Sep-2018  jmcneill Use fdt_open_into instead of fdt_move to load the DTB since we may make
changes to the tree after loading it. When we are done making changes,
call fdt_pack.
 1.37 16-Sep-2018  skrll Use do { } while (/* CONSTCOND */ 0) for nop VPRINTF
 1.36 14-Sep-2018  jakllsch fdt_cpu_rootconf: fix root on wd(4)

Remove duplicate 'ld' and replace with previously-missing 'wd'.
 1.35 07-Sep-2018  jmcneill Increase MAX_PHYSMEM to 64
 1.34 27-Aug-2018  jmcneill When the root= boot arg is missing, attempt to autodetect the root device
by comparing a hash of a disk device's MBR with the hash passed in from
the bootloader.
 1.33 23-Aug-2018  jmcneill Deal with reserved memory ranges that start before mem start
 1.32 05-Aug-2018  skrll Add prefixes to struct arm_platform{,_info} members.

No functional change.
 1.31 05-Aug-2018  skrll Refactor code to split aarch{32,64} kernel page tables and VM setup. This
will help re-build the kernel page tables on aarch64 with correct section
mappings.
 1.30 03-Aug-2018  skrll Provide and use a evbarm/fdt/machdep.h
 1.29 03-Aug-2018  skrll s/DPRINTF/VPRINTF/ for consistency
 1.28 03-Aug-2018  skrll Mark fdt_addr_r __attribute__((__section__(".data")))
 1.27 17-Jul-2018  christos restore type of uboot_args
 1.26 17-Jul-2018  christos make sure uboot_args is in the data segment by saying so, as opposed to
depending on initializing it to 0.
 1.25 17-Jul-2018  christos fix printf formats ll? -> PRIx64
 1.24 27-Jun-2018  ryo branches: 1.24.2;
on evbarm/RPI,RPI2, VERBOSE_INIT_ARM had broken.

XPUTC() of evbarm/rpi/rpi*_start.S uses bcm283[567]_platform_early_putchar() and it requires stack.
fixed to allocate stack when starting from rpi*_start.S and a9_mpsubr.S if needed.

to work XPUTC(), need to define VERBOSE_INIT_ARM and EARLYCONS option.
 1.23 21-Jun-2018  ryo * make to work printf() and panic() even before consinit().
* tidy up output for VERBOSE_INIT_ARM.
 1.22 14-Jun-2018  jmcneill Increase storage space for FDT data
 1.21 01-Apr-2018  ryo Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.20 03-Mar-2018  skrll branches: 1.20.2;
Start code now updates a global variable fdt_addr_r to handle differences
in boot protocol (think arm64)
 1.19 21-Dec-2017  skrll Remove unnecessary #include
 1.18 14-Dec-2017  martin Fix the calculation of the end address of a reserved memory range.
From Nick. Makes my CubieTruck boot again.
 1.17 13-Dec-2017  jmcneill Fix off-by-one in nfdt_physmem KASSERT, and while here bump MAX_PHYSMEM
from 4 to 16.
 1.16 10-Dec-2017  skrll FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.

The kernel image that the RPI firmware boots is now netbsd.img in the
kernel build directory.

XXX fdtbus_get_reg needs reworking
 1.15 09-Nov-2017  skrll branches: 1.15.2;
trailing whitespace
 1.14 10-Sep-2017  jmcneill Allow USB keyboards to attach as console devices.
 1.13 24-Aug-2017  jmcneill branches: 1.13.2;
Add EX_EARLY flag for extent_create, which skips locking. Required for
using extent subsystem in early bootstrap code, before caches are enabled.
From skrll@
 1.12 20-Aug-2017  jakllsch Ignore 0-sized memory regions in the FDT.
 1.11 21-Jul-2017  jmcneill Fix reserved memory handling.
 1.10 10-Jul-2017  jmcneill port-evbarm/52388: Fix number of args to a debug printf.
 1.9 05-Jul-2017  chs the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
 1.8 05-Jul-2017  jmcneill Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
 1.7 11-Jun-2017  jmcneill Parse more than one entry from the /memory node's reg property.
 1.6 06-Jun-2017  jmcneill Initialize boot_args before bootstrap for the benefit of platform code.
 1.5 06-Jun-2017  jmcneill Add support for stdout-path= kernel cmdline option to override the
console device specified in the FDT.
 1.4 02-Jun-2017  jmcneill branches: 1.4.2;
Allow platform code to specify the UART frequency for consinit
 1.3 02-Jun-2017  jmcneill FDT-ize "delay" by having fdt_machdep provide the delay() function and
move the implementations into the platform code.
 1.2 30-May-2017  jmcneill Fix VERBOSE_INIT_ARM build with TEGRA kernel.
 1.1 30-May-2017  jmcneill Rename tegra_machdep.c to fdt_machdep.c now that it no longer has any
Tegra-specific code in it.
 1.4.2.5 25-Aug-2017  snj Pull up following revision(s) (requested by jakllsch in ticket #220):
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.12
Ignore 0-sized memory regions in the FDT.
 1.4.2.4 25-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #151):
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.11
Fix reserved memory handling.
 1.4.2.3 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.4.2.2 14-Jun-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #31):
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.7
Parse more than one entry from the /memory node's reg property.
 1.4.2.1 06-Jun-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #13):
sys/arch/arm/fdt/plfb_fdt.c: revision 1.2
sys/arch/arm/vexpress/vexpress_platform.c: revision 1.3
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.13
sys/arch/evbarm/fdt/fdt_machdep.c: revisions 1.5, 1.6
sys/dev/ic/pl050.c: revision 1.2
Fix spelling of WS_DEFAULT_FG and WS_KERNEL_FG options.
--
Attach kbd slot to console
--
Allow plfb to be the console device
--
Add support for stdout-path= kernel cmdline option to override the
console device specified in the FDT.
--
Initialize boot_args before bootstrap for the benefit of platform code.
--
Allow 'console=fb' to act as a shortcut on vexpress for
'stdout-path=/smb@08000000/motherboard/iofpga@3,00000000/clcd@1f0000'
 1.13.2.2 28-Aug-2017  skrll Sync with HEAD
 1.13.2.1 24-Aug-2017  skrll file fdt_machdep.c was added on branch nick-nhusb on 2017-08-28 17:51:34 +0000
 1.15.2.2 03-Dec-2017  jdolecek update from HEAD
 1.15.2.1 09-Nov-2017  jdolecek file fdt_machdep.c was added on branch tls-maxphys on 2017-12-03 11:36:04 +0000
 1.20.2.8 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.20.2.7 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.20.2.6 20-Oct-2018  pgoyette Sync with head
 1.20.2.5 30-Sep-2018  pgoyette Ssync with HEAD
 1.20.2.4 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.20.2.3 28-Jul-2018  pgoyette Sync with HEAD
 1.20.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.20.2.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.24.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.24.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.24.2.1 10-Jun-2019  christos Sync with HEAD
 1.64.2.1 12-Feb-2020  martin Pull up following revision(s) (requested by riastradh in ticket #705):

sys/arch/aarch64/aarch64/aarch64_machdep.c: revision 1.35
sys/stand/efiboot/efifdt.c: revision 1.20
sys/stand/efiboot/efifdt.h: revision 1.7
sys/arch/aarch64/include/machdep.h: revision 1.9
sys/stand/efiboot/efiboot.h: revision 1.11
sys/arch/arm/arm32/arm32_machdep.c: revision 1.129
sys/arch/arm/include/arm32/machdep.h: revision 1.30
sys/stand/efiboot/exec.c: revision 1.12
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.65
sys/stand/efiboot/version: revision 1.14
sys/stand/efiboot/boot.c: revision 1.19

New function cpu_startup_hook on arm.

Called at end of cpu_startup. Can be defined in, e.g., evbarm to do
additional stuff after cpu_startup. Defined as a weak alias to a
function that does nothing, so optional.
ok jmcneill

Implement rndseed support in efiboot and fdt arm.

The EFI environment variable `rndseed' specifies the path to the
random seed. It is loaded only for fdt platforms at the moment.
Since the rndseed (an rndsave_t object as defined in <sys/rndio.h>)
is 536 bytes long (for hysterical raisins), and to avoid having to
erase parts of the fdt tree, we load it into a physical page whose
address is passed in the fdt tree, rather than passing the content of
the file as an fdt node directly; the kernel then reserves the page
from uvm, and maps it into kva to call rnd_seed.

For now, the only kernel that does use efiboot with fdt is evbarm,
which knows to handle the rndseed. Any new kernels that use efiboot
with fdt must do the same; otherwise uvm may hand out the page with
the secret key on it for a normal page allocation in the kernel --
which should be OK if there are no kernel memory disclosure bugs, but
would lead to worse consequences than simply loading the seed late in
userland with /etc/rc.d/random_seed otherwise.

ok jmcneill
 1.65.2.2 29-Feb-2020  ad Sync with head.
 1.65.2.1 25-Jan-2020  ad Sync with head.
 1.77.2.3 03-Apr-2021  thorpej Sync with HEAD.
 1.77.2.2 03-Jan-2021  thorpej Sync w/ HEAD.
 1.77.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.99.2.1 20-Oct-2023  martin Pull up following revision(s) (requested by mrg in ticket #431):

sys/arch/evbarm/evbarm/autoconf.c: revision 1.24
sys/arch/evbarm/include/types.h: revision 1.16
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.100
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.101

fix root detection on evbarm when raid is involved

there are several problems solved in this change:
- - lots of work was re-done when we already have determined the
device booted from, so several new early returns introduced
if booted_device has been set
- - due to the lack of cpu_bootconf(), raidframe softroot would
override "root=xxx" on the boot command line (note that
platforms that use eg, device_register() to detect the boot
device are not affected by this issue as they find the
boot device much earlier.)
- - in the new cpu_bootconf(), switch the order of the platform
boot-config with the set_root_device() call. this avoids a
problem where "root=xxx" is checked after automated methods,
and is thus ignored.
- - in fdt_detect_root_device(), remove the code to add "root=xxx""
string to the boot_args[] that would be later parsed by the
set_root_device() call, and simply set booted_device and, for
mbr installs, booted_partition directly. also, for any
successful call, perform an early return.
- - define __HAVE_CPU_BOOTCONF so early boot calls cpu_bootconf().

tested on:
- - rockpro64 booting from emmc, sata (big, and little endian)
- - rockpro64 loading kernel from msdos partition
- - rockpro64 booting from network (fails to auto-detect, with or
without this change)
- - quartz64 booting from nvme
- - lx2k booting from nvme

Locate wedges as boot device and also match a partition GUID.
 1.107.2.2 02-Aug-2025  perseant Sync with HEAD
 1.107.2.1 01-Jul-2024  perseant Sync with HEAD.
 1.5 12-Dec-2020  skrll Move evbarm/fdt/fdt_memory.[ch] to sys/dev/fdt and simplify the api and
some operations. This allows other architectures to use it.
 1.4 27-Jan-2020  jmcneill branches: 1.4.6;
Save 400KB of RAM by fixing a really dumb bug in sizing of the fdt memory
pool.
 1.3 01-Nov-2018  jmcneill branches: 1.3.2; 1.3.6; 1.3.8; 1.3.10;
Fix previous
 1.2 01-Nov-2018  jmcneill Fix partial overlap logic. PR# port-evbarm/53693
 1.1 30-Oct-2018  jmcneill Replace extent(9) with our own code to deal with adding and reserving
memory ranges.
 1.3.10.1 29-Feb-2020  ad Sync with head.
 1.3.8.1 27-Jan-2020  martin Pull up following revision(s) (requested by jmcneill in ticket #659):

sys/arch/evbarm/fdt/fdt_memory.c: revision 1.4

Save 400KB of RAM by fixing a really dumb bug in sizing of the fdt memory
pool.
 1.3.6.3 08-Apr-2020  martin Merge changes from current as of 20200406
 1.3.6.2 10-Jun-2019  christos Sync with HEAD
 1.3.6.1 01-Nov-2018  christos file fdt_memory.c was added on branch phil-wifi on 2019-06-10 22:06:06 +0000
 1.3.2.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.3.2.1 01-Nov-2018  pgoyette file fdt_memory.c was added on branch pgoyette-compat on 2018-11-26 01:52:21 +0000
 1.4.6.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.2 12-Dec-2020  skrll Move evbarm/fdt/fdt_memory.[ch] to sys/dev/fdt and simplify the api and
some operations. This allows other architectures to use it.
 1.1 30-Oct-2018  jmcneill branches: 1.1.2; 1.1.6; 1.1.16;
Replace extent(9) with our own code to deal with adding and reserving
memory ranges.
 1.1.16.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.6.2 10-Jun-2019  christos Sync with HEAD
 1.1.6.1 30-Oct-2018  christos file fdt_memory.h was added on branch phil-wifi on 2019-06-10 22:06:06 +0000
 1.1.2.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.2.1 30-Oct-2018  pgoyette file fdt_memory.h was added on branch pgoyette-compat on 2018-11-26 01:52:21 +0000
 1.5 14-Sep-2018  skrll Move the aarch64 start stub from sys/arch/evbarm to sys/arch/aarch64.

Delete the unused/empty evbarm/fdt/genassym.cf while I'm here.
 1.4 10-Sep-2018  skrll Don't use printx before setting up stack.
 1.3 18-Jul-2018  ryo remove ifdef __clang.
make position independent, and cleanup.
 1.2 17-Jul-2018  christos XXX: make this assemble with gas, but I should remove the ifdefs...
 1.1 01-Apr-2018  ryo branches: 1.1.2; 1.1.4;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.2.4 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.2.3 28-Jul-2018  pgoyette Sync with HEAD
 1.1.2.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.2.1 01-Apr-2018  pgoyette file fdt_start.S was added on branch pgoyette-compat on 2018-04-07 04:12:12 +0000
 1.2 14-Sep-2018  skrll Move the aarch64 start stub from sys/arch/evbarm to sys/arch/aarch64.

Delete the unused/empty evbarm/fdt/genassym.cf while I'm here.
 1.1 01-Apr-2018  ryo branches: 1.1.2; 1.1.4;
fix build error
 1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.2.3 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.2.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.2.1 01-Apr-2018  pgoyette file genassym.cf was added on branch pgoyette-compat on 2018-04-07 04:12:12 +0000
 1.1 03-Aug-2018  skrll branches: 1.1.2; 1.1.6;
Provide and use a evbarm/fdt/machdep.h
 1.1.6.2 10-Jun-2019  christos Sync with HEAD
 1.1.6.1 03-Aug-2018  christos file machdep.h was added on branch phil-wifi on 2019-06-10 22:06:06 +0000
 1.1.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.2.1 03-Aug-2018  pgoyette file machdep.h was added on branch pgoyette-compat on 2018-09-06 06:55:30 +0000
 1.11 16-Apr-2023  skrll Rename VM_KERNEL_IO_ADDRESS to VM_KERNEL_IO_BASE to match RISC-V

It's less letters, matches other similar variables and will help with
sharing code between the two architectures.

NFCI.
 1.10 12-Dec-2020  skrll Move evbarm/fdt/fdt_memory.[ch] to sys/dev/fdt and simplify the api and
some operations. This allows other architectures to use it.
 1.9 19-Sep-2020  skrll branches: 1.9.2;
Define VM_KERNEL_VM_{BASE,SIZE} for aarch64 and remove an #ifdef in
fdt/platform.h

NFCI
 1.8 10-Jul-2020  skrll Simplify
 1.7 10-Jul-2020  skrll Do previous differently for now
 1.6 08-Jul-2020  skrll Provide some KVA layout #defines in arm32/vmparam.h and simplify
fdt/platform.h as a nice side effect
 1.5 21-Jan-2019  skrll Make more KVA available
 1.4 01-Apr-2018  ryo branches: 1.4.2;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.3 14-Mar-2018  ryo fix compile error on evbarm/EXYNOS. platform.h may be included from *.S
 1.2 10-Dec-2017  skrll branches: 1.2.2;
FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.

The kernel image that the RPI firmware boots is now netbsd.img in the
kernel build directory.

XXX fdtbus_get_reg needs reworking
 1.1 30-May-2017  jmcneill branches: 1.1.6; 1.1.10;
Rename tegra_machdep.c to fdt_machdep.c now that it no longer has any
Tegra-specific code in it.
 1.1.10.2 03-Dec-2017  jdolecek update from HEAD
 1.1.10.1 30-May-2017  jdolecek file platform.h was added on branch tls-maxphys on 2017-12-03 11:36:04 +0000
 1.1.6.2 28-Aug-2017  skrll Sync with HEAD
 1.1.6.1 30-May-2017  skrll file platform.h was added on branch nick-nhusb on 2017-08-28 17:51:34 +0000
 1.2.2.3 26-Jan-2019  pgoyette Sync with HEAD
 1.2.2.2 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.2.2.1 15-Mar-2018  pgoyette Synch with HEAD
 1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.9.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.18 09-Feb-2024  andvar fix spelling mistakes, mainly in comments and log messages.
 1.17 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.16 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.15 24-Apr-2021  thorpej branches: 1.15.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.14 27-Oct-2012  chs branches: 1.14.52;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.13 04-Apr-2012  bsh branches: 1.13.2;
support WSDISPLAY_COMPAT_RAWKBD for TWINTAIL's on-board matrix keys.
 1.12 01-Jul-2011  dyoung branches: 1.12.2; 1.12.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.11 13-Mar-2010  bsh apply struct device split to the rest of the drivers for Twintail.
 1.10 14-Mar-2009  dsl branches: 1.10.2;
Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.9 10-May-2008  martin branches: 1.9.6; 1.9.12;
Backout previous: the license sweep touched these files in error, so
restore the old license.
 1.8 29-Apr-2008  martin branches: 1.8.2;
Convert to new 2 clause license
 1.7 17-Oct-2007  garbled branches: 1.7.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.6 09-Jul-2007  ad branches: 1.6.10;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.5 04-Mar-2007  christos branches: 1.5.2; 1.5.4; 1.5.10;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.4 23-Feb-2006  he branches: 1.4.20;
Fix an obvious typo (missing closing paren).
 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 26-Feb-2005  bsh branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10;
TWINTAIL (official product name is G4255EB) is an evaluation board
with Intel PXA255 processor from Genetec corp. You can get some
information on the board from http://ad.genetec.co.jp/ but only in Japanese.
 1.1.10.2 03-Sep-2007  yamt sync with head.
 1.1.10.1 21-Jun-2006  yamt sync with head.
 1.1.8.2 29-Apr-2005  kent sync with -current
 1.1.8.1 26-Feb-2005  kent file g42xxeb_kmkbd.c was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.1.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.6.1 26-Feb-2005  yamt file g42xxeb_kmkbd.c was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.1.2.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.1 26-Feb-2005  skrll file g42xxeb_kmkbd.c was added on branch ktrace-lwp on 2005-03-04 16:38:25 +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.20.1 12-Mar-2007  rmind Sync with HEAD.
 1.5.10.1 03-Oct-2007  garbled Sync with HEAD
 1.5.4.1 11-Jul-2007  mjf Sync with head.
 1.5.2.1 15-Jul-2007  ad Sync with head.
 1.6.10.1 06-Nov-2007  matt sync with HEAD
 1.7.20.2 11-Aug-2010  yamt sync with head.
 1.7.20.1 04-May-2009  yamt sync with head.
 1.8.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.9.12.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.9.6.1 28-Apr-2009  skrll Sync with HEAD.
 1.10.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.12.6.1 05-Apr-2012  mrg sync to latest -current.
 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 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.14.52.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.15.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.19 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.18 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.17 24-Apr-2021  thorpej branches: 1.17.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.16 25-Jul-2014  dholland branches: 1.16.42;
Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.
 1.15 16-Mar-2014  dholland branches: 1.15.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.14 01-Jul-2011  dyoung branches: 1.14.2; 1.14.12; 1.14.16;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.13 13-Mar-2010  bsh fix LCD drivers for Lubbock and Twintail.
- pass correct attach args to pxa2x0_lcd_attach_sub()
- make this driver compile without wsdisplay again.
 1.12 29-Jan-2009  nonaka branches: 1.12.4;
- device_t/softc split.
- use aprint_* function.
 1.11 11-Jun-2008  cegger branches: 1.11.4;
use device_lookup_private to get softc
 1.10 10-May-2008  martin branches: 1.10.2;
Backout previous: the license sweep touched these files in error, so
restore the old license.
 1.9 29-Apr-2008  martin branches: 1.9.2;
Convert to new 2 clause license
 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 18-Dec-2006  nonaka branches: 1.7.2;
Fix evbarm compile again.
 1.6 17-Apr-2006  jmmv branches: 1.6.8; 1.6.10;
Properly pass down the 'vs' cookie to pxa2x0_lcd_ioctl calls. Pointed out
by he@.
 1.5 12-Apr-2006  jmmv Add an extra cookie to the ioctl and mmap wsdisplay accessops that points
to the screen on which they are being called. The driver cannot guess
this by itself but it is needed to implement, at least, the getwschar and
putwschar functions in the correct place. There are no functional changes
yet.

Tested on i386 (vga, vga_raster, machfb, vesafb), macppc and sparc64.
Suggested and reviewed by macallan@.
 1.4 08-Mar-2006  lukem branches: 1.4.2;
Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings.
Add a space between numbers and Hz unit.
 1.3 23-Feb-2006  thorpej branches: 1.3.2; 1.3.4;
Use device_parent().
 1.2 11-Dec-2005  christos branches: 1.2.2; 1.2.4; 1.2.6;
merge ktrace-lwp.
 1.1 26-Feb-2005  bsh branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10;
TWINTAIL (official product name is G4255EB) is an evaluation board
with Intel PXA255 processor from Genetec corp. You can get some
information on the board from http://ad.genetec.co.jp/ but only in Japanese.
 1.1.10.3 03-Sep-2007  yamt sync with head.
 1.1.10.2 30-Dec-2006  yamt sync with head.
 1.1.10.1 21-Jun-2006  yamt sync with head.
 1.1.8.2 29-Apr-2005  kent sync with -current
 1.1.8.1 26-Feb-2005  kent file g42xxeb_lcd.c was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.1.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.6.1 26-Feb-2005  yamt file g42xxeb_lcd.c was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.1.2.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.1 26-Feb-2005  skrll file g42xxeb_lcd.c was added on branch ktrace-lwp on 2005-03-04 16:38:25 +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.3.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.3.2.2 24-May-2006  yamt sync with head.
 1.3.2.1 13-Mar-2006  yamt sync with head.
 1.4.2.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.6.10.1 21-Dec-2006  yamt sync with head.
 1.6.8.1 12-Jan-2007  ad Sync with head.
 1.7.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.8.44.2 11-Aug-2010  yamt sync with head.
 1.8.44.1 04-May-2009  yamt sync with head.
 1.8.42.1 17-Jun-2008  yamt sync with head.
 1.8.40.1 29-Jun-2008  mjf Sync with HEAD.
 1.9.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.10.2.1 18-Jun-2008  simonb Sync with head.
 1.11.4.1 03-Mar-2009  skrll Sync with HEAD.
 1.12.4.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.14.16.1 18-May-2014  rmind sync with head
 1.14.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.14.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.15.2.1 10-Aug-2014  tls Rebase.
 1.16.42.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.17.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.43 13-May-2024  msaitoh s/slighly/slightly/ in comment.
 1.42 20-Feb-2024  andvar Fix format specifier for physmem from %d to 0x%"PRIxPSIZE" in multiple places.

Should fix VERBOSE_INIT_ARM for various evbarm kernel configs.
Also add 0x prefix in few previously fixed places to improve readability.
 1.41 12-Oct-2023  skrll Fix non-DIAGNOSTIC builds
 1.40 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.39 03-Jul-2022  andvar branches: 1.39.4;
s/bounaries/boundaries/ in comments.
 1.38 17-Aug-2021  andvar fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.37 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.36 18-Apr-2020  skrll Trailing whitespace
 1.35 16-Jul-2019  skrll branches: 1.35.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.34 16-Jul-2019  skrll KNF
 1.33 28-Oct-2018  skrll Fix a commit
 1.32 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.31 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.30 22-Dec-2016  cherry branches: 1.30.14; 1.30.16;
switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.29 13-Sep-2014  matt branches: 1.29.2; 1.29.4;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.28 18-Aug-2013  matt <arm/locore.h> fallout (fixes some include ordering errors)
 1.27 22-Sep-2012  matt branches: 1.27.2;
Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.26 16-Aug-2012  matt branches: 1.26.2;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.25 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.24 01-Jul-2011  dyoung branches: 1.24.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.23 30-Jun-2011  wiz dependant -> dependent
 1.22 28-Nov-2010  hannken As md(4) no longer has "needs-count" there is no "md.h" anymore.
Remove the inclusion of this file.

Acorn32 now always builds load_memory_disc_from_floppy(). This should
not be a problem as all configs have md(4).

Observed by: Masao Uebayashi <uebayasi@netbsd.org>
 1.21 28-Dec-2009  uebayasi branches: 1.21.4;
More setttb() -> cpu_setttb() for readability & consistency. Missing instances
pointed out by tsutsui@ & nonaka@, thanks.
 1.20 26-Dec-2009  uebayasi Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.19 26-Dec-2009  uebayasi Garbage collect an unused global, vm_offset_t pagetables_start.
 1.18 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.17 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.16 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 1.15 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.14 27-Apr-2008  matt branches: 1.14.6; 1.14.8;
Merge kernel changes in matt-armv6 to HEAD.
 1.13 19-Jan-2008  chris branches: 1.13.6; 1.13.8; 1.13.10;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.12 17-Oct-2007  garbled branches: 1.12.2; 1.12.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.11 21-Aug-2007  kiyohara branches: 1.11.2;
The initarm() should initialize GPIO. We must not initialize GPIO in
foo_attach() of the each drivers. And, it is necessary to confirm whether
to be initialized in foo_match(). To avoid a dangerous configuring on the
evaluation boards.
 1.10 24-Nov-2006  wiz branches: 1.10.8; 1.10.16; 1.10.22; 1.10.24; 1.10.26;
s/independant/independent/, from Zafer.
 1.9 24-Oct-2006  bjh21 parse_mi_bootargs() is declared in <arm/arm32/machdep.h>, so there's no need
to declare it here too.
 1.8 17-May-2006  mrg branches: 1.8.8; 1.8.10;
in initarm(), initialise kernel_l1pt.pv_va as well as kernel_l1pt.pv_pa.
 1.7 08-Mar-2006  lukem branches: 1.7.2;
Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings.
Add a space between numbers and Hz unit.
 1.6 24-Dec-2005  perry branches: 1.6.4; 1.6.6; 1.6.8; 1.6.10;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 04-Jul-2005  bsh branches: 1.4.2;
adapt to changes for PXA270 support.
 1.3 18-Mar-2005  bsh branches: 1.3.2; 1.3.4;
modify comments for clarity.

Original comments made several people misunderstand that the comment
says kernel's pagetable is at 0xa0004000. What the comment says is
about RedBoot's pagetable.
 1.2 17-Mar-2005  bsh Switch kernels for Lubbock and TwinTail to use pmap_devmap to map
I/O registers that are used in early start-up stage. Also stop using
special bootstrap-time-only bus_space_map function in {lubbock,g42xxeb}_machdep.c.

This makes initarm() for them a bit simpler, and gives us smaller diffs
to other evbarm platforms.
 1.1 26-Feb-2005  bsh branches: 1.1.2;
TWINTAIL (official product name is G4255EB) is an evaluation board
with Intel PXA255 processor from Genetec corp. You can get some
information on the board from http://ad.genetec.co.jp/ but only in Japanese.
 1.1.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.2.3 01-Apr-2005  skrll Sync with HEAD.
 1.1.2.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.1 26-Feb-2005  skrll file g42xxeb_machdep.c was added on branch ktrace-lwp on 2005-03-04 16:38:25 +0000
 1.3.4.2 29-Apr-2005  kent sync with -current
 1.3.4.1 18-Mar-2005  kent file g42xxeb_machdep.c was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.3.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.3.2.1 18-Mar-2005  yamt file g42xxeb_machdep.c was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.4.2.4 21-Jan-2008  yamt sync with head
 1.4.2.3 03-Sep-2007  yamt sync with head.
 1.4.2.2 30-Dec-2006  yamt sync with head.
 1.4.2.1 21-Jun-2006  yamt sync with head.
 1.6.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.6.8.2 24-May-2006  yamt sync with head.
 1.6.8.1 13-Mar-2006  yamt sync with head.
 1.6.6.2 01-Jun-2006  kardel 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.2.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.8.10.1 10-Dec-2006  yamt sync with head.
 1.8.8.2 12-Jan-2007  ad Sync with head.
 1.8.8.1 18-Nov-2006  ad Sync with head.
 1.10.26.1 03-Sep-2007  jmcneill Sync with HEAD.
 1.10.24.2 28-Feb-2008  rjs Sync with HEAD.
 1.10.24.1 01-Nov-2007  rjs Sync with HEAD.
 1.10.22.1 03-Sep-2007  skrll Sync with HEAD.
 1.10.16.1 03-Oct-2007  garbled Sync with HEAD
 1.10.8.1 09-Oct-2007  ad Sync with head.
 1.11.2.3 23-Mar-2008  matt sync with HEAD
 1.11.2.2 09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.11.2.1 06-Nov-2007  matt sync with HEAD
 1.12.8.1 20-Jan-2008  bouyer Sync with HEAD
 1.12.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.13.10.4 11-Mar-2010  yamt sync with head
 1.13.10.3 19-Aug-2009  yamt sync with head.
 1.13.10.2 04-May-2009  yamt sync with head.
 1.13.10.1 16-May-2008  yamt sync with head.
 1.13.8.1 18-May-2008  yamt sync with head.
 1.13.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.13.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.14.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.14.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.21.4.1 05-Mar-2011  rmind sync with head
 1.24.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.24.2.1 30-Oct-2012  yamt sync with head
 1.26.2.3 03-Dec-2017  jdolecek update from HEAD
 1.26.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.26.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.27.2.1 28-Aug-2013  rmind sync with head
 1.29.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.29.2.1 05-Feb-2017  skrll Sync with HEAD
 1.30.16.3 21-Apr-2020  martin Sync with HEAD
 1.30.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.30.16.1 10-Jun-2019  christos Sync with HEAD
 1.30.14.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.30.14.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.30.14.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.35.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.39.4.1 14-Oct-2023  martin Pull up following revision(s) (requested by skrll in ticket #411):

sys/arch/evbarm/nslu2/nslu2_machdep.c: revision 1.41
sys/arch/evbarm/gumstix/gumstix_machdep.c: revision 1.75
sys/arch/evbarm/iq80321/iq80321_machdep.c: revision 1.66
sys/arch/iyonix/iyonix/iyonix_machdep.c: revision 1.34
sys/arch/zaurus/zaurus/machdep.c: revision 1.52
sys/arch/evbarm/g42xxeb/g42xxeb_machdep.c: revision 1.41
sys/arch/hpcarm/hpcarm/pxa2x0_hpc_machdep.c: revision 1.33
sys/arch/evbarm/iq80310/iq80310_machdep.c: revision 1.96
sys/arch/evbarm/adi_brh/brh_machdep.c: revision 1.53
sys/arch/arm/include/arm32/pmap.h: revision 1.177
sys/arch/evbarm/viper/viper_machdep.c: revision 1.34
sys/arch/evbarm/iyonix/iyonix_machdep.c: revision 1.5
sys/arch/evbarm/npwr_fc/npwr_fc_machdep.c: revision 1.30
sys/arch/evbarm/hdl_g/hdlg_machdep.c: revision 1.35
sys/arch/arm/arm32/pmap.c: revision 1.440
sys/arch/evbarm/lubbock/lubbock_machdep.c: revision 1.45
sys/arch/evbarm/ixdp425/ixdp425_machdep.c: revision 1.47

Fix non-DIAGNOSTIC builds
 1.3 21-Jan-2012  nonaka fix my license notice.
 1.2 26-Jun-2010  bsh branches: 1.2.2; 1.2.10; 1.2.14;
Don't use DMA for sdmmc on TWINTAIL for now, because it causes kernel panic.
 1.1 13-Mar-2010  bsh branches: 1.1.2; 1.1.4;
add SD/MMC driver for Twintail based on the driver for Zaurus.
 1.1.4.3 17-Aug-2010  uebayasi Sync with HEAD.
 1.1.4.2 30-Apr-2010  uebayasi Sync with HEAD.
 1.1.4.1 13-Mar-2010  uebayasi file g42xxeb_mci.c was added on branch uebayasi-xip on 2010-04-30 14:39:15 +0000
 1.1.2.1 03-Jul-2010  rmind sync with head
 1.2.14.1 18-Feb-2012  mrg merge to -current.
 1.2.10.1 17-Apr-2012  yamt sync with head
 1.2.2.2 11-Aug-2010  yamt sync with head.
 1.2.2.1 26-Jun-2010  yamt file g42xxeb_mci.c was added on branch yamt-nfs-mp on 2010-08-11 22:51:51 +0000
 1.2 17-Mar-2005  bsh branches: 1.2.2; 1.2.4;
Switch kernels for Lubbock and TwinTail to use pmap_devmap to map
I/O registers that are used in early start-up stage. Also stop using
special bootstrap-time-only bus_space_map function in {lubbock,g42xxeb}_machdep.c.

This makes initarm() for them a bit simpler, and gives us smaller diffs
to other evbarm platforms.
 1.1 26-Feb-2005  bsh branches: 1.1.2;
TWINTAIL (official product name is G4255EB) is an evaluation board
with Intel PXA255 processor from Genetec corp. You can get some
information on the board from http://ad.genetec.co.jp/ but only in Japanese.
 1.1.2.3 01-Apr-2005  skrll Sync with HEAD.
 1.1.2.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.1 26-Feb-2005  skrll file g42xxeb_reg.h was added on branch ktrace-lwp on 2005-03-04 16:38:25 +0000
 1.2.4.2 29-Apr-2005  kent sync with -current
 1.2.4.1 17-Mar-2005  kent file g42xxeb_reg.h was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.2.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.2.2.1 17-Mar-2005  yamt file g42xxeb_reg.h was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.3 31-Jan-2011  matt Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.2 11-Dec-2005  christos branches: 1.2.100; 1.2.106; 1.2.108;
merge ktrace-lwp.
 1.1 26-Feb-2005  bsh branches: 1.1.2; 1.1.6; 1.1.8;
TWINTAIL (official product name is G4255EB) is an evaluation board
with Intel PXA255 processor from Genetec corp. You can get some
information on the board from http://ad.genetec.co.jp/ but only in Japanese.
 1.1.8.2 29-Apr-2005  kent sync with -current
 1.1.8.1 26-Feb-2005  kent file g42xxeb_start.S was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.1.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.6.1 26-Feb-2005  yamt file g42xxeb_start.S was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.1.2.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.1 26-Feb-2005  skrll file g42xxeb_start.S was added on branch ktrace-lwp on 2005-03-04 16:38:25 +0000
 1.2.108.1 08-Feb-2011  bouyer Sync with HEAD
 1.2.106.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.100.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 13-Mar-2010  bsh apply struct device split to the rest of the drivers for Twintail.
 1.3 10-May-2008  martin branches: 1.3.18;
Backout previous: the license sweep touched these files in error, so
restore the old license.
 1.2 29-Apr-2008  martin branches: 1.2.2;
Convert to new 2 clause license
 1.1 26-Feb-2005  bsh branches: 1.1.2; 1.1.6; 1.1.8; 1.1.98;
TWINTAIL (official product name is G4255EB) is an evaluation board
with Intel PXA255 processor from Genetec corp. You can get some
information on the board from http://ad.genetec.co.jp/ but only in Japanese.
 1.1.98.1 11-Aug-2010  yamt sync with head.
 1.1.8.2 29-Apr-2005  kent sync with -current
 1.1.8.1 26-Feb-2005  kent file g42xxeb_var.h was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.1.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.6.1 26-Feb-2005  yamt file g42xxeb_var.h was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.1.2.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.1 26-Feb-2005  skrll file g42xxeb_var.h was added on branch ktrace-lwp on 2005-03-04 16:38:25 +0000
 1.2.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.3.18.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.12 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.11 24-Apr-2021  thorpej branches: 1.11.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.10 01-Jul-2011  dyoung branches: 1.10.68;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.9 07-Jun-2010  bsh don't use dv_xname directly.
 1.8 13-Mar-2010  bsh branches: 1.8.2;
apply struct device split to the rest of the drivers for Twintail.
 1.7 17-Oct-2007  garbled branches: 1.7.20; 1.7.40;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.6 09-Jul-2007  ad branches: 1.6.10;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.5 23-Feb-2006  thorpej branches: 1.5.24; 1.5.26; 1.5.32;
Use device_parent().
 1.4 11-Dec-2005  christos branches: 1.4.2; 1.4.4; 1.4.6;
merge ktrace-lwp.
 1.3 26-Aug-2005  drochner s/locdesc_t/int/g
 1.2 30-Jun-2005  drochner branches: 1.2.2;
adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes
 1.1 26-Feb-2005  bsh branches: 1.1.2; 1.1.6; 1.1.8;
TWINTAIL (official product name is G4255EB) is an evaluation board
with Intel PXA255 processor from Genetec corp. You can get some
information on the board from http://ad.genetec.co.jp/ but only in Japanese.
 1.1.8.2 29-Apr-2005  kent sync with -current
 1.1.8.1 26-Feb-2005  kent file gb225.c was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.1.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.6.1 26-Feb-2005  yamt file gb225.c was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.1.2.3 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.2.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.1 26-Feb-2005  skrll file gb225.c was added on branch ktrace-lwp on 2005-03-04 16:38:25 +0000
 1.2.2.2 03-Sep-2007  yamt sync with head.
 1.2.2.1 21-Jun-2006  yamt sync with head.
 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.32.1 03-Oct-2007  garbled Sync with HEAD
 1.5.26.1 11-Jul-2007  mjf Sync with head.
 1.5.24.1 15-Jul-2007  ad Sync with head.
 1.6.10.1 06-Nov-2007  matt sync with HEAD
 1.7.40.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.7.40.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.7.20.1 11-Aug-2010  yamt sync with head.
 1.8.2.1 03-Jul-2010  rmind sync with head
 1.10.68.6 05-Apr-2021  thorpej Treat config_probe() as if it were a boolean function; don't compare
return value > 0... except for the odd balls, which are now really easy
to spot.
 1.10.68.5 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.10.68.4 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.10.68.3 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.10.68.2 21-Mar-2021  thorpej CFARG_IATTR usage audit:

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

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.11.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.16 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 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 27-Oct-2012  chs branches: 1.13.52;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.12 26-Jul-2011  dyoung branches: 1.12.2; 1.12.12;
Don't set the iobase and iosize members of pcmciabus_attach_args because
they're not used in any meaningful way.
 1.11 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.10 07-Jun-2010  bsh don't use dv_xname directly.
 1.9 13-Mar-2010  bsh branches: 1.9.2;
apply struct device split to the rest of the drivers for Twintail.
 1.8 31-May-2009  he branches: 1.8.2;
Adapt to changes in sa11x0 code, with struct device * -> device_t changes.
 1.7 15-Dec-2007  perry branches: 1.7.10;
__FUNCTION__ -> __func__
 1.6 09-Jul-2007  ad branches: 1.6.6; 1.6.10; 1.6.18; 1.6.22;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.5 23-Feb-2006  he branches: 1.5.24; 1.5.26; 1.5.32;
If the local variable changes name, modify it's uses as well.
 1.4 23-Feb-2006  thorpej Use device_parent().
 1.3 24-Dec-2005  perry branches: 1.3.2; 1.3.4; 1.3.6;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.2 28-Jun-2005  drochner branches: 1.2.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.1 26-Feb-2005  bsh branches: 1.1.2; 1.1.6; 1.1.8;
TWINTAIL (official product name is G4255EB) is an evaluation board
with Intel PXA255 processor from Genetec corp. You can get some
information on the board from http://ad.genetec.co.jp/ but only in Japanese.
 1.1.8.2 29-Apr-2005  kent sync with -current
 1.1.8.1 26-Feb-2005  kent file gb225_pcic.c was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.1.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.6.1 26-Feb-2005  yamt file gb225_pcic.c was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.1.2.3 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.2.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.1 26-Feb-2005  skrll file gb225_pcic.c was added on branch ktrace-lwp on 2005-03-04 16:38:25 +0000
 1.2.2.3 21-Jan-2008  yamt sync with head
 1.2.2.2 03-Sep-2007  yamt sync with head.
 1.2.2.1 21-Jun-2006  yamt sync with head.
 1.3.6.1 22-Apr-2006  simonb Sync with head.
 1.3.4.1 09-Sep-2006  rpaulo sync with head
 1.3.2.1 01-Mar-2006  yamt sync with head.
 1.5.32.1 03-Oct-2007  garbled Sync with HEAD
 1.5.26.1 11-Jul-2007  mjf Sync with head.
 1.5.24.1 15-Jul-2007  ad Sync with head.
 1.6.22.1 02-Jan-2008  bouyer Sync with HEAD
 1.6.18.1 26-Dec-2007  ad Sync with head.
 1.6.10.1 09-Jan-2008  matt sync with HEAD
 1.6.6.1 26-Dec-2007  rjs Sync with HEAD.
 1.7.10.2 11-Aug-2010  yamt sync with head.
 1.7.10.1 20-Jun-2009  yamt sync with head
 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.1 03-Jul-2010  rmind sync with head
 1.12.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.12.2.1 30-Oct-2012  yamt sync with head
 1.13.52.1 23-Mar-2021  thorpej Convert config_found_ia() call sites where the device only carries
a single interface attribute to bare config_found() calls.
 1.14.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.8 12-Nov-2012  skrll C99 types
 1.7 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.6 01-Jul-2011  dyoung branches: 1.6.2; 1.6.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.5 07-Jun-2010  bsh don't use dv_xname directly.
 1.4 28-Apr-2008  martin branches: 1.4.20; 1.4.22;
Remove clause 3 and 4 from TNF licenses
 1.3 23-Feb-2006  thorpej branches: 1.3.68; 1.3.70; 1.3.72;
Use device_parent().
 1.2 11-Dec-2005  christos branches: 1.2.2; 1.2.4; 1.2.6;
merge ktrace-lwp.
 1.1 26-Feb-2005  bsh branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10;
TWINTAIL (official product name is G4255EB) is an evaluation board
with Intel PXA255 processor from Genetec corp. You can get some
information on the board from http://ad.genetec.co.jp/ but only in Japanese.
 1.1.10.1 21-Jun-2006  yamt sync with head.
 1.1.8.2 29-Apr-2005  kent sync with -current
 1.1.8.1 26-Feb-2005  kent file gb225_slhci.c was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.1.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.6.1 26-Feb-2005  yamt file gb225_slhci.c was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.1.2.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.1 26-Feb-2005  skrll file gb225_slhci.c was added on branch ktrace-lwp on 2005-03-04 16:38:25 +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.3.72.2 11-Aug-2010  yamt sync with head.
 1.3.72.1 16-May-2008  yamt sync with head.
 1.3.70.1 18-May-2008  yamt sync with head.
 1.3.68.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.22.1 03-Jul-2010  rmind sync with head
 1.4.20.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.6.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.6.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.6.2.1 30-Oct-2012  yamt sync with head
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 26-Feb-2005  bsh branches: 1.1.2; 1.1.6; 1.1.8;
TWINTAIL (official product name is G4255EB) is an evaluation board
with Intel PXA255 processor from Genetec corp. You can get some
information on the board from http://ad.genetec.co.jp/ but only in Japanese.
 1.1.8.2 29-Apr-2005  kent sync with -current
 1.1.8.1 26-Feb-2005  kent file gb225reg.h was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.1.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.6.1 26-Feb-2005  yamt file gb225reg.h was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.1.2.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.1 26-Feb-2005  skrll file gb225reg.h was added on branch ktrace-lwp on 2005-03-04 16:38:25 +0000
 1.4 16-Feb-2022  andvar s/baord/board/
 1.3 13-Mar-2010  bsh apply struct device split to the rest of the drivers for Twintail.
 1.2 11-Dec-2005  christos branches: 1.2.78; 1.2.98;
merge ktrace-lwp.
 1.1 26-Feb-2005  bsh branches: 1.1.2; 1.1.6; 1.1.8;
TWINTAIL (official product name is G4255EB) is an evaluation board
with Intel PXA255 processor from Genetec corp. You can get some
information on the board from http://ad.genetec.co.jp/ but only in Japanese.
 1.1.8.2 29-Apr-2005  kent sync with -current
 1.1.8.1 26-Feb-2005  kent file gb225var.h was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.1.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.6.1 26-Feb-2005  yamt file gb225var.h was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.1.2.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.1 26-Feb-2005  skrll file gb225var.h was added on branch ktrace-lwp on 2005-03-04 16:38:25 +0000
 1.2.98.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.2.78.1 11-Aug-2010  yamt sync with head.
 1.8 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.7 01-Jul-2011  dyoung branches: 1.7.2; 1.7.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.6 16-Mar-2008  he Adapt to device_parent() taking a device_t, not a struct device *.
 1.5 14-Mar-2008  cube Split device_t and softc, catching up with changes of all other ne(4)
variants.
 1.4 04-Mar-2007  christos branches: 1.4.20; 1.4.36; 1.4.40;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.3 23-Feb-2006  thorpej branches: 1.3.20;
Use device_parent().
 1.2 11-Dec-2005  christos branches: 1.2.2; 1.2.4; 1.2.6;
merge ktrace-lwp.
 1.1 26-Feb-2005  bsh branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10;
TWINTAIL (official product name is G4255EB) is an evaluation board
with Intel PXA255 processor from Genetec corp. You can get some
information on the board from http://ad.genetec.co.jp/ but only in Japanese.
 1.1.10.3 17-Mar-2008  yamt sync with head.
 1.1.10.2 03-Sep-2007  yamt sync with head.
 1.1.10.1 21-Jun-2006  yamt sync with head.
 1.1.8.2 29-Apr-2005  kent sync with -current
 1.1.8.1 26-Feb-2005  kent file if_ne_obio.c was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.1.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.6.1 26-Feb-2005  yamt file if_ne_obio.c was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.1.2.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.1 26-Feb-2005  skrll file if_ne_obio.c was added on branch ktrace-lwp on 2005-03-04 16:38:25 +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.3.20.1 12-Mar-2007  rmind Sync with HEAD.
 1.4.40.1 03-Apr-2008  mjf Sync with HEAD.
 1.4.36.1 24-Mar-2008  keiichi sync with head.
 1.4.20.1 23-Mar-2008  matt sync with HEAD
 1.7.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.7.2.1 30-Oct-2012  yamt sync with head
 1.16 14-Jul-2023  riastradh evbarm/g42xxeb: Fix off-by-one in previous.

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

Note that fls32 is 1-based and returns 0 for x=0.
 1.15 13-Jul-2023  mrg complete the previous - there were two calls to find_first_bit() to fix.
 1.14 13-Jul-2023  riastradh arm/xscale: Use sys/bitops.h fls32 - 1 instead of 31 - __builtin_clz.

Sidesteps namespace collision with `#define bits ...' in net/zlib.c.
 1.13 07-Aug-2021  thorpej branches: 1.13.6;
Merge thorpej-cfargs2.
 1.12 24-Apr-2021  thorpej branches: 1.12.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.11 27-Oct-2012  chs branches: 1.11.52;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.10 01-Jul-2011  dyoung branches: 1.10.2; 1.10.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.9 07-Jun-2010  bsh don't use dv_xname directly.
 1.8 13-Mar-2010  bsh branches: 1.8.2;
apply struct device split to the rest of the drivers for Twintail.
 1.7 27-Apr-2008  matt branches: 1.7.20;
Merge kernel changes in matt-armv6 to HEAD.
 1.6 06-Jan-2008  matt branches: 1.6.6; 1.6.8; 1.6.10;
Cleanup softint lossage.
 1.5 18-Dec-2006  nonaka branches: 1.5.20; 1.5.24; 1.5.30; 1.5.36;
compile again.
 1.4 11-Dec-2005  christos branches: 1.4.20; 1.4.22;
merge ktrace-lwp.
 1.3 26-Aug-2005  drochner s/locdesc_t/int/g
 1.2 30-Jun-2005  drochner branches: 1.2.2;
adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes
 1.1 26-Feb-2005  bsh branches: 1.1.2; 1.1.6; 1.1.8;
TWINTAIL (official product name is G4255EB) is an evaluation board
with Intel PXA255 processor from Genetec corp. You can get some
information on the board from http://ad.genetec.co.jp/ but only in Japanese.
 1.1.8.2 29-Apr-2005  kent sync with -current
 1.1.8.1 26-Feb-2005  kent file obio.c was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.1.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.6.1 26-Feb-2005  yamt file obio.c was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.1.2.3 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.2.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.1 26-Feb-2005  skrll file obio.c was added on branch ktrace-lwp on 2005-03-04 16:38:25 +0000
 1.2.2.3 21-Jan-2008  yamt sync with head
 1.2.2.2 30-Dec-2006  yamt sync with head.
 1.2.2.1 21-Jun-2006  yamt sync with head.
 1.4.22.1 21-Dec-2006  yamt sync with head.
 1.4.20.1 12-Jan-2007  ad Sync with head.
 1.5.36.1 08-Jan-2008  bouyer Sync with HEAD
 1.5.30.1 18-Feb-2008  mjf Sync with HEAD.
 1.5.24.2 09-Jan-2008  matt sync with HEAD
 1.5.24.1 09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.5.20.1 28-Feb-2008  rjs Sync with HEAD.
 1.6.10.2 11-Aug-2010  yamt sync with head.
 1.6.10.1 16-May-2008  yamt sync with head.
 1.6.8.1 18-May-2008  yamt sync with head.
 1.6.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.20.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.7.20.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.8.2.1 03-Jul-2010  rmind sync with head
 1.10.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.10.2.1 30-Oct-2012  yamt sync with head
 1.11.52.6 05-Apr-2021  thorpej Treat config_probe() as if it were a boolean function; don't compare
return value > 0... except for the odd balls, which are now really easy
to spot.
 1.11.52.5 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.11.52.4 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.11.52.3 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.11.52.2 21-Mar-2021  thorpej CFARG_IATTR usage audit:

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

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.12.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.13.6.1 09-Aug-2023  martin Pull up following revision(s) (requested by maya in ticket #316):

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

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

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

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

Include psl.h for ipl_cookie_t if __MUTEX_PRIVATE

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

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

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

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

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

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

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

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

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

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

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

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

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

ddb: Cast pointer to uintptr_t first before db_expr_t.

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

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

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

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

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

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

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

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

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

Make ipl_cookie_t visible for _KMEMUSER userland applications.

fix editor mishap in previous

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

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

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

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

fix hppa and vax builds.

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

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

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

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

re-fix hppa builds.

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

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

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

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

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

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

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

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

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

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

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

Note that fls32 is 1-based and returns 0 for x=0.
 1.8 06-Dec-2008  cliff branches: 1.8.4; 1.8.8;
add gemini pseudo-nic and support code.
 1.7 20-Nov-2008  cliff add bootstrap ttbl and devmap entries for DRAM Controller
and sanity check memory remap reg to catch possible
mismatch between boot firmware remapping and kernel MEMSIZE, etc.
 1.6 11-Nov-2008  cliff - add option GEMINI_SINGLE for single-core system model
- add "re" interface to GEMINI configuration
 1.5 10-Nov-2008  cliff - GEMINI_CONSOLE_VBASE renamed to GEMINI_UART_VBASE
 1.4 09-Nov-2008  cliff add defines for LPC and RAMDISK VADDRs for use in devmap
 1.3 01-Nov-2008  cliff in initarm(), remove some bringup debug stuff, and clean up
progress markers; they are still useful for now.
in cpu_reboot() use Gemini Global Reset Control register to reboot system
geminiwdt_reboot() is no longer needed, removed.
 1.2 29-Oct-2008  matt Fix copyright.
 1.1 24-Oct-2008  matt branches: 1.1.2;
Add support for Cortina Systems SL3516 eval board.
 1.1.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.8.8.2 04-May-2009  yamt sync with head.
 1.8.8.1 06-Dec-2008  yamt file gemini.h was added on branch yamt-nfs-mp on 2009-05-04 08:10:57 +0000
 1.8.4.2 17-Jan-2009  mjf Sync with HEAD.
 1.8.4.1 06-Dec-2008  mjf file gemini.h was added on branch mjf-devfs2 on 2009-01-17 13:27:58 +0000
 1.35 10-Aug-2023  andvar fix typos in comments.
 1.34 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.33 28-Nov-2020  skrll Fix thinko in kern_vtopdiff calculation
 1.32 26-Nov-2020  skrll Trailing whitespace
 1.31 16-Jul-2019  skrll branches: 1.31.10;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.30 16-Jul-2019  skrll KNF
 1.29 28-Oct-2018  skrll Fix a commit
 1.28 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.27 12-Aug-2018  skrll Fix GEMINI build
 1.26 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.25 15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.24 30-Dec-2016  rin branches: 1.24.14; 1.24.16;
catch up with physmem type change (in the same manner as sdp24xx_machdep.c)
 1.23 22-Dec-2016  cherry switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.22 18-Aug-2013  matt branches: 1.22.6; 1.22.10;
<arm/locore.h> fallout (fixes some include ordering errors)
 1.21 22-Sep-2012  matt branches: 1.21.2;
Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.20 16-Aug-2012  matt branches: 1.20.2;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.19 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.18 01-Jul-2011  dyoung branches: 1.18.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.17 30-Jun-2011  wiz dependant -> dependent
 1.16 28-Nov-2010  hannken As md(4) no longer has "needs-count" there is no "md.h" anymore.
Remove the inclusion of this file.

Acorn32 now always builds load_memory_disc_from_floppy(). This should
not be a problem as all configs have md(4).

Observed by: Masao Uebayashi <uebayasi@netbsd.org>
 1.15 26-Dec-2009  uebayasi branches: 1.15.4;
Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.14 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.13 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.12 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 1.11 06-Dec-2008  cliff branches: 1.11.4; 1.11.8;
add gemini pseudo-nic and support code.
 1.10 20-Nov-2008  cliff evaluate RMCR correctly for single proc gemini
 1.9 20-Nov-2008  cliff add bootstrap ttbl and devmap entries for DRAM Controller
and sanity check memory remap reg to catch possible
mismatch between boot firmware remapping and kernel MEMSIZE, etc.
 1.8 13-Nov-2008  cliff add gemini_cpu1_start() so Master CPU can release Slave to boot.
this gets called early in initarm(); this is as early as reasonable
for now; we might have to puch it back if the Slave ever depends
on the Master to do some setup work or something.
 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 10-Nov-2008  cliff - use actual device address defines instead of abstract console defines for in mmu_init_table\gemini_start.S and devmap[]\gemini_machdep.c;
this allows some flexibility e.g. to map 'em all, which is useful
e.g. when using obio uart to debug lpc uart.

- add mmu_init_table entries for Gemini global regs, lpchc, and lpcio
these are needed to consinit() when console is lpc uart

- now have 2 versions of consinit, one for obio uart,
the other for lpc uart; we use CONSADDR to determine
which gets compiled.

- remove a useless bus_space map/unmap from obio uart version of consinit
comcnattach() will do his own...
 1.5 09-Nov-2008  cliff - initarm progress putchars and printfs are now #ifdef VERBOSE_INIT_ARM
- use GEMINI_SLAVE, GEMINI_MASTER defines to distinguish between
primary and secondary CPUs, who owns what devices, etc.
- add short delay()s to allow console printf output to drain before reset
unless if ref_sc is not yet initialized, in which case tough.
- add devmap entriy for LPC
- add devmap entry for RAMDISK if MEMORY_DISK_DYNAMIC is defined
i.e. if the ramdisk is external to the kernel, in which case
we "know" where is lives by agreement with firmware.
- call md_root_setconf() if MEMORY_DISK_DYNAMIC is defined
 1.4 01-Nov-2008  cliff rip out some more brinngup debug cruft
 1.3 01-Nov-2008  cliff in initarm(), remove some bringup debug stuff, and clean up
progress markers; they are still useful for now.
in cpu_reboot() use Gemini Global Reset Control register to reboot system
geminiwdt_reboot() is no longer needed, removed.
 1.2 28-Oct-2008  cliff reclaim (uvm_page_physload) memory from start of DRAM to kernel phys load addr,
 1.1 24-Oct-2008  matt branches: 1.1.2;
Add support for Cortina Systems SL3516 eval board.
 1.1.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.11.8.4 11-Mar-2010  yamt sync with head
 1.11.8.3 19-Aug-2009  yamt sync with head.
 1.11.8.2 04-May-2009  yamt sync with head.
 1.11.8.1 06-Dec-2008  yamt file gemini_machdep.c was added on branch yamt-nfs-mp on 2009-05-04 08:10:57 +0000
 1.11.4.2 17-Jan-2009  mjf Sync with HEAD.
 1.11.4.1 06-Dec-2008  mjf file gemini_machdep.c was added on branch mjf-devfs2 on 2009-01-17 13:27:58 +0000
 1.15.4.1 05-Mar-2011  rmind sync with head
 1.18.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.18.2.1 30-Oct-2012  yamt sync with head
 1.20.2.3 03-Dec-2017  jdolecek update from HEAD
 1.20.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.20.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.22.10.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.22.6.1 05-Feb-2017  skrll Sync with HEAD
 1.24.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.24.16.1 10-Jun-2019  christos Sync with HEAD
 1.24.14.4 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.24.14.3 30-Sep-2018  pgoyette Ssync with HEAD
 1.24.14.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.24.14.1 28-Jul-2018  pgoyette Sync with HEAD
 1.31.10.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.10 19-Nov-2024  andvar fix couple of typos in comments.
 1.9 01-Oct-2013  skrll branches: 1.9.66;
Appease new gas.
 1.8 30-Jun-2011  wiz branches: 1.8.2; 1.8.12; 1.8.16;
dependant -> dependent
 1.7 31-Jan-2011  matt Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.6 21-Oct-2009  rmind branches: 1.6.4; 1.6.6; 1.6.8;
Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.5 20-Nov-2008  cliff branches: 1.5.4; 1.5.8;
add bootstrap ttbl and devmap entries for DRAM Controller
and sanity check memory remap reg to catch possible
mismatch between boot firmware remapping and kernel MEMSIZE, etc.
 1.4 11-Nov-2008  cliff remove extra 0x10000000 in Ltemp_l1_table value
is leftover from whe we were loading at 0x10200000.
if slave CPU uses this, he will paste his temporary
L1 table in to the master's data. bad slave!
 1.3 10-Nov-2008  cliff - use actual device address defines instead of abstract console defines
in mmu_init_table\gemini_start.S and devmap[]\gemini_machdep.c;
this allows some flexibility e.g. to map 'em all, which is useful
e.g. when using obio uart to debug lpc uart.

- add mmu_init_table entries for Gemini global regs, lpchc, and lpcio
these are needed to consinit() when console is lpc uart
 1.2 09-Nov-2008  cliff those progress putchars are now #ifdef VERBOSE_INIT_ARM
 1.1 24-Oct-2008  matt branches: 1.1.2;
Add support for Cortina Systems SL3516 eval board.
 1.1.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.5.8.3 11-Mar-2010  yamt sync with head
 1.5.8.2 04-May-2009  yamt sync with head.
 1.5.8.1 20-Nov-2008  yamt file gemini_start.S was added on branch yamt-nfs-mp on 2009-05-04 08:10:58 +0000
 1.5.4.2 17-Jan-2009  mjf Sync with HEAD.
 1.5.4.1 20-Nov-2008  mjf file gemini_start.S was added on branch mjf-devfs2 on 2009-01-17 13:27:58 +0000
 1.6.8.1 08-Feb-2011  bouyer Sync with HEAD
 1.6.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.6.4.1 05-Mar-2011  rmind sync with head
 1.8.16.1 18-May-2014  rmind sync with head
 1.8.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.2.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.9.66.1 02-Aug-2025  perseant Sync with HEAD
 1.1 31-Jan-2011  matt branches: 1.1.2; 1.1.4; 1.1.8;
Generate addresses from this instead of including gemini.h
 1.1.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.8.1 31-Jan-2011  jruoho file genassym.cf was added on branch jruoho-x86intr on 2011-06-06 09:05:25 +0000
 1.1.4.2 05-Mar-2011  rmind sync with head
 1.1.4.1 31-Jan-2011  rmind file genassym.cf was added on branch rmind-uvmplock on 2011-03-05 20:50:05 +0000
 1.1.2.2 08-Feb-2011  bouyer Sync with HEAD
 1.1.2.1 31-Jan-2011  bouyer file genassym.cf was added on branch bouyer-quota2 on 2011-02-08 16:19:15 +0000
 1.75 12-Oct-2023  skrll Fix non-DIAGNOSTIC builds
 1.74 03-Aug-2023  mrg ignore "-Warray-bounds" for various low level platform code that knows
how something is setup but technically is undefined behaviour. the
most common here is "extern int end;" and then using offsets of "&end"
that are outside the bounds of this 4-byte integer.

these uses are almost certainly all OK in reality.

found by GCC 12.
 1.73 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.72 29-Oct-2022  jmcneill branches: 1.72.2;
Remove support for OMAP based Gumstix platforms.

These changes are to prepare for the removal of arch/arm/omap. Support
for Xscale based Gumstix platforms remains.

(If someone wants to resurrect DuoVero and Pepper platforms, it's best
to do that in the GENERIC kernel using FDT.)
 1.71 03-Dec-2020  skrll Provide and use a sev() macro for the sev instruction.

While here use the correct barrier to ensure completion of memory accesses
before a couple of the sev() calls.
 1.70 28-Nov-2020  skrll Build fixes and make BP startup detection consistent
 1.69 30-Oct-2020  skrll branches: 1.69.2;
Retire arm_[di]sb in favour of the isb() and dsb(sy) macro invocations.
 1.68 01-Oct-2020  skrll Fix evbarmv5 build
 1.67 29-Sep-2020  jmcneill Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime
detection instead of ifdefs where required.
 1.66 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.65 15-Feb-2020  skrll branches: 1.65.4;
Various updates and improvements to cpu start up on arm/aarch64

- start sharing more code around the AP startup messaging.
- call arm_cpu_topology_set early so that ci_core_id is available for
drivers, e.g. bcm2835_intr.c
- both arm and aarch64 now have
- a static cpu_info_store array
- the same arm_cpu_{hatched,mbox}
 1.64 20-Jan-2020  skrll Fix indentation
 1.63 16-Jul-2019  skrll branches: 1.63.4;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.62 18-May-2019  skrll Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.61 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.60 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.59 05-Jun-2018  hkenken branches: 1.59.2;
Rename ARM A9 Global Timer driver name to support fdt.

- Rename a9tmr to arma9tmr.
- Add a9tmr_fdt.c based gtmr_fdt.c.
 1.58 01-Mar-2017  skrll branches: 1.58.12;
Set xscale_cache_clean_addr appropriately and re-arrange default KVA
layout to allow direct map for all boards.

OVERO/DUOVERO/PEPPER aren't tested.

PR/52010: Regression: Gumstix Verdex is hanging in enabling cache + KASSERT ram_size
 1.57 20-Oct-2016  skrll branches: 1.57.2;
Fix regisers typo
 1.56 19-Oct-2016  kiyohara Remove white spaces.
 1.55 18-Oct-2016  kiyohara Support tifb.
 1.54 16-Oct-2016  kiyohara omap2_gpio_*() into #if - #endif.
 1.53 16-Oct-2016  kiyohara Remove not commited header-file and variable.
 1.52 15-Oct-2016  kiyohara Support Duovero and Pepper.
 1.51 31-Mar-2016  kiyohara branches: 1.51.2;
Ensure enable clocks for omapmputmr.
 1.50 07-Jun-2014  kiyohara branches: 1.50.2; 1.50.4; 1.50.8;
Fix reset parameters for omap3_ehci.
 1.49 23-May-2014  kiyohara Call arm32_*_init() and initarm_common().
OVERO work fine. GUMSTIX build only now.
 1.48 26-Sep-2013  kiyohara branches: 1.48.2;
Get and calculate some clocks from register.
And change some dpll5 settings for DM37xx. But I don't have it.
Tested EarthSTORM(Sliverlode) only. EHCI works. However clock is bad?
 1.47 18-Aug-2013  matt <arm/locore.h> fallout (fixes some include ordering errors)
 1.46 24-Dec-2012  kiyohara branches: 1.46.2;
Set some properties for ehci.
 1.45 12-Dec-2012  matt Conditionalize omap includes on OVERO
 1.44 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.43 22-Sep-2012  matt Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.42 29-Aug-2012  matt branches: 1.42.2;
Since the PMC cycle counter is started in cpufunc no reason to do so here.
Use curcpu()->ci_data.cpu_cc_freq and new armreg* inlines.
 1.41 16-Aug-2012  matt Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.40 30-Jul-2012  matt Add back pv_addr_t minidataclean.
 1.39 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.38 07-Jul-2011  mrg branches: 1.38.2;
fix an off by one array bounds issue, and also fix a potentially non
nul-terminated string.
 1.37 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.36 30-Jun-2011  wiz dependant -> dependent
 1.35 28-Nov-2010  hannken As md(4) no longer has "needs-count" there is no "md.h" anymore.
Remove the inclusion of this file.

Acorn32 now always builds load_memory_disc_from_floppy(). This should
not be a problem as all configs have md(4).

Observed by: Masao Uebayashi <uebayasi@netbsd.org>
 1.34 23-Sep-2010  kiyohara Remove #ifdef NPRCM. Always include omap2_prcm.h.
 1.33 23-Sep-2010  kiyohara If GUMSTIX_NETBSD_ARGS_CONSOLE is defined, argument 'console=ttyS0,<speed>'
that u-boot passes Linux will be interpreted.
 1.32 30-Aug-2010  kiyohara Support prcm@obio1.
 1.31 28-Aug-2010  kiyohara Fix build fail.
+ Include opt_omap.h, if defined OVERO.
+ Fix the pair of parentheses.
 1.30 28-Aug-2010  kiyohara + Add parsing keyword 'expansion=' in args from U-boot. And keep backword
compatibility 'busheader=', in case Gumstix.
+ Add GPMC device map to gumstix_devmap[].
 1.29 08-Aug-2010  kiyohara Use EVBARM_BOARDTYPE to print 'NetBSD/evbarm(*)'. That defined to
std.gumstix and std.overo.
 1.28 10-Jul-2010  kiyohara Add gumstix_device_register(). Set properties for pxa2x0_ohci here.
However this properties not used in NetBSD source tree.
 1.27 10-Jul-2010  kiyohara Support Overo (Gumstix inc).
+ This commit supports basically.
+ Expansion boards not support yet. And MicroSD, Wifi, Bluetooth too.
 1.26 07-Mar-2010  kiyohara branches: 1.26.2;
Reorder included headers.
 1.25 07-Mar-2010  kiyohara Add options GUMSTIX_NETBSD_ARGS_CONSOLE and GUMSTIX_NETBSD_ARGS_BUSHEADER.
Can specify arg 'console='(*new*) and 'busheader=' from u-boot. These args
use dynamically configuration.
Also change function name. s/_line/_liner/.
 1.24 24-Jan-2010  kiyohara branches: 1.24.2;
Please calculate KERNEL_PT_KERNEL_NUM from KERNEL_VM_BASE.
Moreover, can define KERNEL_VM_BASE somewhere. (ex. in conf/YOUR_GUMSTIX)
For instance, allow miniroot.fs over 16Mbytes.
 1.23 26-Dec-2009  uebayasi Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.22 26-Dec-2009  uebayasi Garbage collect an unused global, vm_offset_t pagetables_start.
 1.21 02-Dec-2009  kiyohara Call pxa2x0_clkman_config() instead of ioreg_write().
 1.20 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.19 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.18 22-Nov-2009  kiyohara Move definition 'void gxlcd_cnattach(void)' to gumstixvar.h.
 1.17 21-Nov-2009  kiyohara The variable ckenreg is used only when defined macro {FF,ST,BT,HW}UARTCONSOLE.
 1.16 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 1.15 09-Aug-2009  kiyohara Support verdex and verdex-pro.
And
+ Support LCD controller.
+ Support SMSC LAN 9117 Ethernet controller.
+ Comment outed 'options GXIO_DEFAULT_EXPANSION'. As for verdex-pro being
sold now, this option becomes obstructive.
+ Remove some usb devices in GUMSTIX.
+ Update GUMSTIX.

Also
Fix ARM ABI in gumstix_start.S. Thanks Brett Slager <bds at ifgd.net>.
Calculate RAM size in gumstix_start.S.
 1.14 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.13 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.12 18-Nov-2008  cliff branches: 1.12.4;
fix botched LKM edits
 1.11 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.10 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.9 27-Apr-2008  matt branches: 1.9.6; 1.9.8;
Merge kernel changes in matt-armv6 to HEAD.
 1.8 19-Jan-2008  chris branches: 1.8.6; 1.8.8; 1.8.10;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.7 17-Oct-2007  garbled branches: 1.7.2; 1.7.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.6 16-Sep-2007  kiyohara + Remove 'include "lcd.h"'.
+ It is easy to understand that memsize is added to physcal_freeend.
+ Add VERBOSE_INIT_ARM at befor/after with printf().
+ Call ddb_init() before db_machine_init().
+ Fix declered kgdb_devrate.
 1.5 21-Aug-2007  kiyohara branches: 1.5.2;
* Configure the GPIO to GXIO_DEFAULT_EXPANSION, if not specified 'busheader='
in boot args.
* Support NONAKA's <nonaka@netbsd.org> sdmmc.
* Add expansion target 'basix'. This is to configure GPIO to PXA MCI.
However, CardDetect is not connected as for mci of gumxtix. Therefore, it
is not possible to Insert/Remove.
* Remove white-spaces.
* Change format in comments.
 1.4 20-Apr-2007  kiyohara branches: 1.4.2; 1.4.6; 1.4.8; 1.4.10;
Change to use pxapcic from sa11xx_pcic.
Support multiple socket. But not tested.
 1.3 18-Jan-2007  kiyohara branches: 1.3.2; 1.3.6; 1.3.8;
Initialize GPIO of *UARTs and supports.
 1.2 24-Nov-2006  wiz branches: 1.2.4;
s/independant/independent/, from Zafer.
 1.1 16-Oct-2006  kiyohara branches: 1.1.2; 1.1.4;
Add initial support for the PXA255-based gumstix board.
 1.1.4.4 01-Feb-2007  ad Sync with head.
 1.1.4.3 12-Jan-2007  ad Sync with head.
 1.1.4.2 18-Nov-2006  ad Sync with head.
 1.1.4.1 16-Oct-2006  ad file gumstix_machdep.c was added on branch newlock2 on 2006-11-18 21:29:10 +0000
 1.1.2.3 10-Dec-2006  yamt sync with head.
 1.1.2.2 22-Oct-2006  yamt sync with head
 1.1.2.1 16-Oct-2006  yamt file gumstix_machdep.c was added on branch yamt-splraiseipl on 2006-10-22 06:04:38 +0000
 1.2.4.6 21-Jan-2008  yamt sync with head
 1.2.4.5 27-Oct-2007  yamt sync with head.
 1.2.4.4 03-Sep-2007  yamt sync with head.
 1.2.4.3 26-Feb-2007  yamt sync with head.
 1.2.4.2 30-Dec-2006  yamt sync with head.
 1.2.4.1 24-Nov-2006  yamt file gumstix_machdep.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:49 +0000
 1.3.8.1 11-Jul-2007  mjf Sync with head.
 1.3.6.2 09-Oct-2007  ad Sync with head.
 1.3.6.1 27-May-2007  ad Sync with head.
 1.3.2.1 07-May-2007  yamt sync with head.
 1.4.10.2 02-Oct-2007  joerg Sync with HEAD.
 1.4.10.1 03-Sep-2007  jmcneill Sync with HEAD.
 1.4.8.2 28-Feb-2008  rjs Sync with HEAD.
 1.4.8.1 01-Nov-2007  rjs Sync with HEAD.
 1.4.6.1 03-Sep-2007  skrll Sync with HEAD.
 1.4.2.1 03-Oct-2007  garbled Sync with HEAD
 1.5.2.3 23-Mar-2008  matt sync with HEAD
 1.5.2.2 09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.5.2.1 06-Nov-2007  matt sync with HEAD
 1.7.8.1 20-Jan-2008  bouyer Sync with HEAD
 1.7.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.8.10.6 09-Oct-2010  yamt sync with head
 1.8.10.5 11-Aug-2010  yamt sync with head.
 1.8.10.4 11-Mar-2010  yamt sync with head
 1.8.10.3 19-Aug-2009  yamt sync with head.
 1.8.10.2 04-May-2009  yamt sync with head.
 1.8.10.1 16-May-2008  yamt sync with head.
 1.8.8.1 18-May-2008  yamt sync with head.
 1.8.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.8.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.9.8.3 28-Apr-2009  skrll Sync with HEAD.
 1.9.8.2 03-Mar-2009  skrll Sync with HEAD.
 1.9.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.9.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.12.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.24.2.3 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.24.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.24.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.26.2.1 05-Mar-2011  rmind sync with head
 1.38.2.4 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.38.2.3 23-Jan-2013  yamt sync with head
 1.38.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.38.2.1 30-Oct-2012  yamt sync with head
 1.42.2.4 03-Dec-2017  jdolecek update from HEAD
 1.42.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.42.2.2 25-Feb-2013  tls resync with head
 1.42.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.46.2.2 18-May-2014  rmind sync with head
 1.46.2.1 28-Aug-2013  rmind sync with head
 1.48.2.1 10-Aug-2014  tls Rebase.
 1.50.8.1 13-Mar-2017  skrll Sync with netbsd-7-1-RELEASE
 1.50.4.3 28-Aug-2017  skrll Sync with HEAD
 1.50.4.2 05-Dec-2016  skrll Sync with HEAD
 1.50.4.1 22-Apr-2016  skrll Sync with HEAD
 1.50.2.1 11-Mar-2017  snj Pull up following revision(s) (requested by skrll in ticket #1366):
sys/arch/arm/include/arm32/pmap.h: 1.145
sys/arch/arm/arm32/pmap.c: 1.343, 1.344
sys/arch/evbarm/gumstix/gumstix_machdep.c: 1.58 via patch
Fixup the compile time decisions around PMAP_{INCLUDE,NEEDS}_PTE_SYNC and
fix the options for xscale boards which require the code in
pmap_l2ptp_ctor marked as #ifndef PMAP_INCLUDE_PTE_SYNC.
Fix the typo (pte -> opte) in this code block and consistently use opte
elsewhere.
PR/51990: Regression data_abort_handler: data_aborts fsr=0x406 far=0xbfffeff5 on copyout in init
--
fix unused.
--
Set xscale_cache_clean_addr appropriately and re-arrange default KVA
layout to allow direct map for all boards.
OVERO/DUOVERO/PEPPER aren't tested.
PR/52010: Regression: Gumstix Verdex is hanging in enabling cache + KASSERT ram_size
 1.51.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.51.2.1 04-Nov-2016  pgoyette Sync with HEAD
 1.57.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.58.12.3 30-Sep-2018  pgoyette Ssync with HEAD
 1.58.12.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.58.12.1 25-Jun-2018  pgoyette Sync with HEAD
 1.59.2.4 21-Apr-2020  martin Sync with HEAD
 1.59.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.59.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.59.2.1 10-Jun-2019  christos Sync with HEAD
 1.63.4.2 29-Feb-2020  ad Sync with head.
 1.63.4.1 25-Jan-2020  ad Sync with head.
 1.65.4.1 20-Apr-2020  bouyer Sync with HEAD
 1.69.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.72.2.1 14-Oct-2023  martin Pull up following revision(s) (requested by skrll in ticket #411):

sys/arch/evbarm/nslu2/nslu2_machdep.c: revision 1.41
sys/arch/evbarm/gumstix/gumstix_machdep.c: revision 1.75
sys/arch/evbarm/iq80321/iq80321_machdep.c: revision 1.66
sys/arch/iyonix/iyonix/iyonix_machdep.c: revision 1.34
sys/arch/zaurus/zaurus/machdep.c: revision 1.52
sys/arch/evbarm/g42xxeb/g42xxeb_machdep.c: revision 1.41
sys/arch/hpcarm/hpcarm/pxa2x0_hpc_machdep.c: revision 1.33
sys/arch/evbarm/iq80310/iq80310_machdep.c: revision 1.96
sys/arch/evbarm/adi_brh/brh_machdep.c: revision 1.53
sys/arch/arm/include/arm32/pmap.h: revision 1.177
sys/arch/evbarm/viper/viper_machdep.c: revision 1.34
sys/arch/evbarm/iyonix/iyonix_machdep.c: revision 1.5
sys/arch/evbarm/npwr_fc/npwr_fc_machdep.c: revision 1.30
sys/arch/evbarm/hdl_g/hdlg_machdep.c: revision 1.35
sys/arch/arm/arm32/pmap.c: revision 1.440
sys/arch/evbarm/lubbock/lubbock_machdep.c: revision 1.45
sys/arch/evbarm/ixdp425/ixdp425_machdep.c: revision 1.47

Fix non-DIAGNOSTIC builds
 1.16 18-May-2019  skrll Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.15 02-Jan-2017  skrll branches: 1.15.16;
Fix boot on Gumstix Verdex boards.

Reported by smesgr on port-arm
 1.14 15-Oct-2016  kiyohara Support Duovero and Pepper.
 1.13 23-May-2014  kiyohara branches: 1.13.4; 1.13.8;
Call arm32_*_init() and initarm_common().
OVERO work fine. GUMSTIX build only now.
 1.12 18-Aug-2013  matt branches: 1.12.2;
<arm/locore.h> fallout (fixes some include ordering errors)
 1.11 29-Dec-2012  kiyohara branches: 1.11.2;
Change order for TLB operation.
We can boot Overo EarthSTORM.
 1.10 01-Sep-2012  matt branches: 1.10.2;
Don't shift VA in table since that generates errors
 1.9 31-Jan-2011  matt branches: 1.9.4;
Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.8 28-Aug-2010  kiyohara branches: 1.8.2; 1.8.4;
Disable L2 Cache when boot time.
 1.7 10-Jul-2010  kiyohara Support Overo (Gumstix inc).
+ This commit supports basically.
+ Expansion boards not support yet. And MicroSD, Wifi, Bluetooth too.
 1.6 09-Aug-2009  kiyohara branches: 1.6.2; 1.6.4;
Support verdex and verdex-pro.
And
+ Support LCD controller.
+ Support SMSC LAN 9117 Ethernet controller.
+ Comment outed 'options GXIO_DEFAULT_EXPANSION'. As for verdex-pro being
sold now, this option becomes obstructive.
+ Remove some usb devices in GUMSTIX.
+ Update GUMSTIX.

Also
Fix ARM ABI in gumstix_start.S. Thanks Brett Slager <bds at ifgd.net>.
Calculate RAM size in gumstix_start.S.
 1.5 17-Oct-2007  garbled branches: 1.5.20;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.4 16-Sep-2007  kiyohara Remove white spaces.
 1.3 20-Apr-2007  kiyohara branches: 1.3.2; 1.3.8; 1.3.10; 1.3.12;
Add whitespace and tab.
 1.2 20-Feb-2007  kiyohara branches: 1.2.4; 1.2.6;
Indentation.
Move macro MMU_INIT.
 1.1 16-Oct-2006  kiyohara branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10;
Add initial support for the PXA255-based gumstix board.
 1.1.10.2 07-May-2007  yamt sync with head.
 1.1.10.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.1.8.5 27-Oct-2007  yamt sync with head.
 1.1.8.4 03-Sep-2007  yamt sync with head.
 1.1.8.3 26-Feb-2007  yamt sync with head.
 1.1.8.2 30-Dec-2006  yamt sync with head.
 1.1.8.1 16-Oct-2006  yamt file gumstix_start.S was added on branch yamt-lazymbuf on 2006-12-30 20:45:49 +0000
 1.1.4.2 18-Nov-2006  ad Sync with head.
 1.1.4.1 16-Oct-2006  ad file gumstix_start.S was added on branch newlock2 on 2006-11-18 21:29:10 +0000
 1.1.2.2 22-Oct-2006  yamt sync with head
 1.1.2.1 16-Oct-2006  yamt file gumstix_start.S was added on branch yamt-splraiseipl on 2006-10-22 06:04:38 +0000
 1.2.6.1 11-Jul-2007  mjf Sync with head.
 1.2.4.2 09-Oct-2007  ad Sync with head.
 1.2.4.1 27-May-2007  ad Sync with head.
 1.3.12.1 06-Nov-2007  matt sync with HEAD
 1.3.10.1 02-Oct-2007  joerg Sync with HEAD.
 1.3.8.1 01-Nov-2007  rjs Sync with HEAD.
 1.3.2.1 03-Oct-2007  garbled Sync with HEAD
 1.5.20.3 09-Oct-2010  yamt sync with head
 1.5.20.2 11-Aug-2010  yamt sync with head.
 1.5.20.1 19-Aug-2009  yamt sync with head.
 1.6.4.1 05-Mar-2011  rmind sync with head
 1.6.2.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.6.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.8.4.1 08-Feb-2011  bouyer Sync with HEAD
 1.8.2.1 06-Jun-2011  jruoho Sync with HEAD.
 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 23-Jan-2013  yamt sync with head
 1.9.4.1 30-Oct-2012  yamt sync with head
 1.10.2.3 03-Dec-2017  jdolecek update from HEAD
 1.10.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.10.2.1 25-Feb-2013  tls resync with head
 1.11.2.1 28-Aug-2013  rmind sync with head
 1.12.2.1 10-Aug-2014  tls Rebase.
 1.13.8.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.13.8.1 04-Nov-2016  pgoyette Sync with HEAD
 1.13.4.2 05-Feb-2017  skrll Sync with HEAD
 1.13.4.1 05-Dec-2016  skrll Sync with HEAD
 1.15.16.1 10-Jun-2019  christos Sync with HEAD
 1.10 18-May-2019  skrll Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.9 15-Oct-2016  kiyohara branches: 1.9.16;
Add map for DuoVero and Pepper.
 1.8 31-Mar-2016  kiyohara branches: 1.8.2;
Ensure enable clocks for omapmputmr.
 1.7 24-Dec-2012  kiyohara branches: 1.7.14;
Statically map of devices moves to 0xc0000000 from 0x90000000.
 1.6 28-Aug-2010  kiyohara branches: 1.6.8; 1.6.18;
+ Add parsing keyword 'expansion=' in args from U-boot. And keep backword
compatibility 'busheader=', in case Gumstix.
+ Add GPMC device map to gumstix_devmap[].
 1.5 10-Jul-2010  kiyohara Support Overo (Gumstix inc).
+ This commit supports basically.
+ Expansion boards not support yet. And MicroSD, Wifi, Bluetooth too.
 1.4 09-Aug-2009  kiyohara branches: 1.4.2; 1.4.4;
Support verdex and verdex-pro.
And
+ Support LCD controller.
+ Support SMSC LAN 9117 Ethernet controller.
+ Comment outed 'options GXIO_DEFAULT_EXPANSION'. As for verdex-pro being
sold now, this option becomes obstructive.
+ Remove some usb devices in GUMSTIX.
+ Update GUMSTIX.

Also
Fix ARM ABI in gumstix_start.S. Thanks Brett Slager <bds at ifgd.net>.
Calculate RAM size in gumstix_start.S.
 1.3 18-Jan-2007  kiyohara branches: 1.3.48;
Initialize GPIO of *UARTs and supports.
 1.2 17-Oct-2006  kiyohara branches: 1.2.2; 1.2.4; 1.2.8;
Add $NetBSD$.
 1.1 16-Oct-2006  kiyohara Add initial support for the PXA255-based gumstix board.
 1.2.8.3 26-Feb-2007  yamt sync with head.
 1.2.8.2 30-Dec-2006  yamt sync with head.
 1.2.8.1 17-Oct-2006  yamt file gumstixreg.h was added on branch yamt-lazymbuf on 2006-12-30 20:45:49 +0000
 1.2.4.3 01-Feb-2007  ad Sync with head.
 1.2.4.2 18-Nov-2006  ad Sync with head.
 1.2.4.1 17-Oct-2006  ad file gumstixreg.h was added on branch newlock2 on 2006-11-18 21:29:10 +0000
 1.2.2.2 22-Oct-2006  yamt sync with head
 1.2.2.1 17-Oct-2006  yamt file gumstixreg.h was added on branch yamt-splraiseipl on 2006-10-22 06:04:38 +0000
 1.3.48.3 09-Oct-2010  yamt sync with head
 1.3.48.2 11-Aug-2010  yamt sync with head.
 1.3.48.1 19-Aug-2009  yamt sync with head.
 1.4.4.1 05-Mar-2011  rmind sync with head
 1.4.2.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.4.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.6.18.2 03-Dec-2017  jdolecek update from HEAD
 1.6.18.1 25-Feb-2013  tls resync with head
 1.6.8.1 23-Jan-2013  yamt sync with head
 1.7.14.2 05-Dec-2016  skrll Sync with HEAD
 1.7.14.1 22-Apr-2016  skrll Sync with HEAD
 1.8.2.1 04-Nov-2016  pgoyette Sync with HEAD
 1.9.16.1 10-Jun-2019  christos Sync with HEAD
 1.6 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.5 22-Nov-2009  kiyohara Move definition 'void gxlcd_cnattach(void)' to gumstixvar.h.
 1.4 09-Aug-2009  kiyohara Support verdex and verdex-pro.
And
+ Support LCD controller.
+ Support SMSC LAN 9117 Ethernet controller.
+ Comment outed 'options GXIO_DEFAULT_EXPANSION'. As for verdex-pro being
sold now, this option becomes obstructive.
+ Remove some usb devices in GUMSTIX.
+ Update GUMSTIX.

Also
Fix ARM ABI in gumstix_start.S. Thanks Brett Slager <bds at ifgd.net>.
Calculate RAM size in gumstix_start.S.
 1.3 11-May-2008  kiyohara Split device_t/softc.
 1.2 17-Oct-2006  kiyohara branches: 1.2.2; 1.2.4; 1.2.8; 1.2.58; 1.2.60; 1.2.62; 1.2.64;
Add $NetBSD$.
 1.1 16-Oct-2006  kiyohara Add initial support for the PXA255-based gumstix board.
 1.2.64.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.2.62.3 11-Mar-2010  yamt sync with head
 1.2.62.2 19-Aug-2009  yamt sync with head.
 1.2.62.1 16-May-2008  yamt sync with head.
 1.2.60.1 18-May-2008  yamt sync with head.
 1.2.58.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.8.2 30-Dec-2006  yamt sync with head.
 1.2.8.1 17-Oct-2006  yamt file gumstixvar.h was added on branch yamt-lazymbuf on 2006-12-30 20:45:49 +0000
 1.2.4.2 18-Nov-2006  ad Sync with head.
 1.2.4.1 17-Oct-2006  ad file gumstixvar.h was added on branch newlock2 on 2006-11-18 21:29:10 +0000
 1.2.2.2 22-Oct-2006  yamt sync with head
 1.2.2.1 17-Oct-2006  yamt file gumstixvar.h was added on branch yamt-splraiseipl on 2006-10-22 06:04:38 +0000
 1.13 15-Sep-2025  thorpej Encapsulate what's needed to attach an I2C bus into a iicbus_attach()
inline.
 1.12 18-Jun-2022  andvar fix typos in word "functions" in comments, mainly s/fuctions/functions/.
 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 22-Dec-2019  thorpej branches: 1.9.10;
Cleanup i2c bus acquire / release, centralizing all of the logic into
iic_acquire_bus() / iic_release_bus(). "acquire" and "release" hooks
no longer need to be provided by back-end controller drivers (only if
they need special handling, e.g. powering on the i2c controller).
This results in the removal of a bunch of rendundant code from each
back-end controller driver.

Assert that we are not in hard interrupt context in iic_acquire_bus(),
iic_exec(), and iic_release_bus().
 1.8 14-Feb-2016  chs branches: 1.8.18;
zero the i2c_attach_args structure before filling it in.
fixes occasional crashes in iic_attach().
 1.7 21-Jun-2011  kiyohara branches: 1.7.12; 1.7.30;
Use CFATTACH_DECL_NEW().
 1.6 19-Jun-2011  nonaka - Split device_t/softc.
- Added some functions for i2c framework.
 1.5 09-Aug-2009  kiyohara branches: 1.5.10;
Fix matching by improper driver.
see http://mail-index.netbsd.org/port-arm/2009/07/08/msg000807.html

And remove some white-spaces.
 1.4 20-Apr-2009  pgoyette Missed this file in previous commit. This finished updates required
to enable support of i2c quick_{read,write} operations.
 1.3 11-May-2008  kiyohara branches: 1.3.6; 1.3.12;
Split device_t/softc.
 1.2 06-Dec-2007  ad branches: 1.2.12; 1.2.14; 1.2.16; 1.2.18;
lockmgr -> mutex
 1.1 21-Aug-2007  kiyohara branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.12; 1.1.16; 1.1.18;
Add gxiic and iic. However not test yet because I don't have I2C-LSI and
can't connect it.
 1.1.18.1 08-Dec-2007  ad Sync with head.
 1.1.16.1 08-Dec-2007  mjf Sync with HEAD.
 1.1.12.2 09-Oct-2007  ad Sync with head.
 1.1.12.1 21-Aug-2007  ad file gxiic.c was added on branch vmlocking on 2007-10-09 13:37:37 +0000
 1.1.8.3 09-Dec-2007  jmcneill Sync with HEAD.
 1.1.8.2 03-Sep-2007  jmcneill Sync with HEAD.
 1.1.8.1 21-Aug-2007  jmcneill file gxiic.c was added on branch jmcneill-pm on 2007-09-03 16:47:17 +0000
 1.1.6.3 07-Dec-2007  yamt sync with head
 1.1.6.2 03-Sep-2007  yamt sync with head.
 1.1.6.1 21-Aug-2007  yamt file gxiic.c was added on branch yamt-lazymbuf on 2007-09-03 14:24:03 +0000
 1.1.4.2 03-Sep-2007  skrll Sync with HEAD.
 1.1.4.1 21-Aug-2007  skrll file gxiic.c was added on branch nick-csl-alignment on 2007-09-03 10:18:27 +0000
 1.1.2.1 09-Jan-2008  matt sync with HEAD
 1.2.18.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.2.16.3 19-Aug-2009  yamt sync with head.
 1.2.16.2 04-May-2009  yamt sync with head.
 1.2.16.1 16-May-2008  yamt sync with head.
 1.2.14.1 18-May-2008  yamt sync with head.
 1.2.12.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.12.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.3.6.1 28-Apr-2009  skrll Sync with HEAD.
 1.5.10.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.7.30.1 19-Mar-2016  skrll Sync with HEAD
 1.7.12.1 03-Dec-2017  jdolecek update from HEAD
 1.8.18.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.9.10.1 23-Mar-2021  thorpej Convert config_found_ia() call sites where the device only carries
a single interface attribute to bare config_found() calls.
 1.10.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.29 29-Oct-2022  jmcneill Remove support for OMAP based Gumstix platforms.

These changes are to prepare for the removal of arch/arm/omap. Support
for Xscale based Gumstix platforms remains.

(If someone wants to resurrect DuoVero and Pepper platforms, it's best
to do that in the GENERIC kernel using FDT.)
 1.28 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.27 24-Apr-2021  thorpej branches: 1.27.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.26 13-Mar-2018  ryo branches: 1.26.16;
fix compile error (unused variables)
 1.25 22-Jan-2017  christos branches: 1.25.12;
PR/51905: GXIO Expension boards arn't configured if GXIO_DEFAULT_EXPANSION
isn't defined. Fix a bunch of issues with the original code.
 1.24 28-Oct-2016  christos branches: 1.24.2;
sprinkle ifdef spices.
 1.23 18-Oct-2016  kiyohara Support tifb.
 1.22 16-Oct-2016  kiyohara Remove not commited header-file and variable.
 1.21 15-Oct-2016  kiyohara Support Duovero and Pepper.
 1.20 24-Dec-2012  kiyohara branches: 1.20.14; 1.20.18;
Add more comment.
 1.19 12-Dec-2012  matt Conditionalize omap includes on OVERO
 1.18 23-Sep-2010  kiyohara branches: 1.18.8; 1.18.18;
Remove #if !defined(OVERO) - #endif. Overo can call delay().
 1.17 28-Aug-2010  kiyohara Fix build failed. omap2_intr.h includes, if defined OMAP3530.
 1.16 28-Aug-2010  kiyohara + Add configuration function for NIC of Chestnut43/Tobi/Tobi-Duo.
tested Chestnut43 only.
+ Remove parenthesis for return.
 1.15 10-Jul-2010  kiyohara Support Overo (Gumstix inc).
+ This commit supports basically.
+ Expansion boards not support yet. And MicroSD, Wifi, Bluetooth too.
 1.14 15-Mar-2010  kiyohara branches: 1.14.2;
XXXX: More power is necessary for NIC and USB? (no document. from Linux)
tested on verdex + console-vx + netCF-vx
and verdex-pro + netpro-vx + consoleLCD-vx.
 1.13 02-Dec-2009  kiyohara branches: 1.13.2;
Enable latest bluetooth module (Infineon PBA31308).
 1.12 22-Nov-2009  kiyohara Add GPIO configuration 'LCD backlight on'.
Remove 'XXXX' in comment. That GPIO config is power on the Marvell 88W8385.
 1.11 15-Aug-2009  kiyohara Use __UNCONST().
 1.10 09-Aug-2009  kiyohara Support verdex and verdex-pro.
And
+ Support LCD controller.
+ Support SMSC LAN 9117 Ethernet controller.
+ Comment outed 'options GXIO_DEFAULT_EXPANSION'. As for verdex-pro being
sold now, this option becomes obstructive.
+ Remove some usb devices in GUMSTIX.
+ Update GUMSTIX.

Also
Fix ARM ABI in gumstix_start.S. Thanks Brett Slager <bds at ifgd.net>.
Calculate RAM size in gumstix_start.S.
 1.9 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.8 11-May-2008  kiyohara branches: 1.8.6; 1.8.12;
Split device_t/softc.
 1.7 17-Oct-2007  garbled branches: 1.7.16; 1.7.18; 1.7.20; 1.7.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.6 21-Aug-2007  kiyohara branches: 1.6.2;
* Configure the GPIO to GXIO_DEFAULT_EXPANSION, if not specified 'busheader='
in boot args.
* Support NONAKA's <nonaka@netbsd.org> sdmmc.
* Add expansion target 'basix'. This is to configure GPIO to PXA MCI.
However, CardDetect is not connected as for mci of gumxtix. Therefore, it
is not possible to Insert/Remove.
* Remove white-spaces.
* Change format in comments.
 1.5 21-Aug-2007  kiyohara The initarm() should initialize GPIO. We must not initialize GPIO in
foo_attach() of the each drivers. And, it is necessary to confirm whether
to be initialized in foo_match(). To avoid a dangerous configuring on the
evaluation boards.
 1.4 20-Apr-2007  kiyohara branches: 1.4.2; 1.4.6; 1.4.8; 1.4.10;
Change to use pxapcic from sa11xx_pcic.
Support multiple socket. But not tested.
 1.3 18-Jan-2007  kiyohara branches: 1.3.2; 1.3.6; 1.3.8;
Initialize GPIO of *UARTs and supports.
 1.2 17-Oct-2006  kiyohara branches: 1.2.2; 1.2.4; 1.2.8;
Add $NetBSD$.
 1.1 16-Oct-2006  kiyohara Add initial support for the PXA255-based gumstix board.
 1.2.8.4 03-Sep-2007  yamt sync with head.
 1.2.8.3 26-Feb-2007  yamt sync with head.
 1.2.8.2 30-Dec-2006  yamt sync with head.
 1.2.8.1 17-Oct-2006  yamt file gxio.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:49 +0000
 1.2.4.3 01-Feb-2007  ad Sync with head.
 1.2.4.2 18-Nov-2006  ad Sync with head.
 1.2.4.1 17-Oct-2006  ad file gxio.c was added on branch newlock2 on 2006-11-18 21:29:10 +0000
 1.2.2.2 22-Oct-2006  yamt sync with head
 1.2.2.1 17-Oct-2006  yamt file gxio.c was added on branch yamt-splraiseipl on 2006-10-22 06:04:38 +0000
 1.3.8.1 11-Jul-2007  mjf Sync with head.
 1.3.6.2 09-Oct-2007  ad Sync with head.
 1.3.6.1 27-May-2007  ad Sync with head.
 1.3.2.1 07-May-2007  yamt sync with head.
 1.4.10.1 03-Sep-2007  jmcneill Sync with HEAD.
 1.4.8.1 01-Nov-2007  rjs Sync with HEAD.
 1.4.6.1 03-Sep-2007  skrll Sync with HEAD.
 1.4.2.1 03-Oct-2007  garbled Sync with HEAD
 1.6.2.1 06-Nov-2007  matt sync with HEAD
 1.7.22.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.7.20.6 09-Oct-2010  yamt sync with head
 1.7.20.5 11-Aug-2010  yamt sync with head.
 1.7.20.4 11-Mar-2010  yamt sync with head
 1.7.20.3 19-Aug-2009  yamt sync with head.
 1.7.20.2 04-May-2009  yamt sync with head.
 1.7.20.1 16-May-2008  yamt sync with head.
 1.7.18.1 18-May-2008  yamt sync with head.
 1.7.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.12.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.6.1 28-Apr-2009  skrll Sync with HEAD.
 1.13.2.3 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.13.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.13.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.14.2.1 05-Mar-2011  rmind sync with head
 1.18.18.2 03-Dec-2017  jdolecek update from HEAD
 1.18.18.1 25-Feb-2013  tls resync with head
 1.18.8.2 23-Jan-2013  yamt sync with head
 1.18.8.1 16-Jan-2013  yamt sync with (a bit old) head
 1.20.18.2 20-Mar-2017  pgoyette Sync with HEAD
 1.20.18.1 04-Nov-2016  pgoyette Sync with HEAD
 1.20.14.2 05-Feb-2017  skrll Sync with HEAD
 1.20.14.1 05-Dec-2016  skrll Sync with HEAD
 1.24.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.25.12.1 15-Mar-2018  pgoyette Synch with HEAD
 1.26.16.5 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.26.16.4 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.26.16.3 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.26.16.2 21-Mar-2021  thorpej CFARG_IATTR usage audit:

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

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.27.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.6 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.5 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.4 24-Apr-2021  thorpej branches: 1.4.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.3 01-Jul-2011  dyoung branches: 1.3.68;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.2 21-Nov-2009  kiyohara Fix a bug.
sc = device_private(self);
sc->dev = self;
 1.1 09-Aug-2009  kiyohara branches: 1.1.2;
Support verdex and verdex-pro.
And
+ Support LCD controller.
+ Support SMSC LAN 9117 Ethernet controller.
+ Comment outed 'options GXIO_DEFAULT_EXPANSION'. As for verdex-pro being
sold now, this option becomes obstructive.
+ Remove some usb devices in GUMSTIX.
+ Update GUMSTIX.

Also
Fix ARM ABI in gumstix_start.S. Thanks Brett Slager <bds at ifgd.net>.
Calculate RAM size in gumstix_start.S.
 1.1.2.3 11-Mar-2010  yamt sync with head
 1.1.2.2 19-Aug-2009  yamt sync with head.
 1.1.2.1 09-Aug-2009  yamt file gxlcd.c was added on branch yamt-nfs-mp on 2009-08-19 18:46:06 +0000
 1.3.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.4.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.4 21-Jan-2012  nonaka fix my license notice.
 1.3 01-Jul-2011  dyoung branches: 1.3.2; 1.3.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.2 09-Aug-2009  kiyohara Fix matching by improper driver.
see http://mail-index.netbsd.org/port-arm/2009/07/08/msg000807.html

And remove some white-spaces.
 1.1 21-Apr-2009  nonaka branches: 1.1.2; 1.1.4; 1.1.6;
Added SD/MMC support from OpenBSD.
tested on i386, amd64 at current-users ML by pgoyette@.
tested on zaurus by myself.
 1.1.6.2 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.1.6.1 21-Apr-2009  jym file gxmci.c was added on branch jym-xensuspend on 2009-05-13 17:16:38 +0000
 1.1.4.3 19-Aug-2009  yamt sync with head.
 1.1.4.2 04-May-2009  yamt sync with head.
 1.1.4.1 21-Apr-2009  yamt file gxmci.c was added on branch yamt-nfs-mp on 2009-05-04 08:10:58 +0000
 1.1.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.1.2.1 21-Apr-2009  skrll file gxmci.c was added on branch nick-hppapmap on 2009-04-28 07:33:58 +0000
 1.3.6.1 18-Feb-2012  mrg merge to -current.
 1.3.2.1 17-Apr-2012  yamt sync with head
 1.15 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.14 05-Nov-2021  skrll Apply patch from PR port-evbarm/52209

Gumstix: KDASSERT in pxa2x0_gpio if no PCMCIA bushead given but present
 1.13 02-Feb-2013  christos static inline so that the kernel links.
 1.12 01-Jul-2011  dyoung branches: 1.12.2; 1.12.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.11 09-Aug-2009  kiyohara Support verdex and verdex-pro.
And
+ Support LCD controller.
+ Support SMSC LAN 9117 Ethernet controller.
+ Comment outed 'options GXIO_DEFAULT_EXPANSION'. As for verdex-pro being
sold now, this option becomes obstructive.
+ Remove some usb devices in GUMSTIX.
+ Update GUMSTIX.

Also
Fix ARM ABI in gumstix_start.S. Thanks Brett Slager <bds at ifgd.net>.
Calculate RAM size in gumstix_start.S.
 1.10 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.9 29-Jan-2009  nonaka branches: 1.9.2;
- device_t/softc split.
- use aprint_* function.
 1.8 11-May-2008  kiyohara branches: 1.8.6;
Split device_t/softc.
 1.7 15-Dec-2007  perry branches: 1.7.6; 1.7.8; 1.7.10; 1.7.12;
__FUNCTION__ -> __func__
 1.6 17-Oct-2007  garbled branches: 1.6.4; 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 21-Aug-2007  kiyohara branches: 1.5.2;
The initarm() should initialize GPIO. We must not initialize GPIO in
foo_attach() of the each drivers. And, it is necessary to confirm whether
to be initialized in foo_match(). To avoid a dangerous configuring on the
evaluation boards.
 1.4 20-Apr-2007  kiyohara branches: 1.4.2; 1.4.6; 1.4.8; 1.4.10;
Change to use pxapcic from sa11xx_pcic.
Support multiple socket. But not tested.
 1.3 18-Jan-2007  kiyohara branches: 1.3.2; 1.3.6; 1.3.8;
Use device_private() and aprint_*.
 1.2 17-Oct-2006  kiyohara branches: 1.2.2; 1.2.4; 1.2.8;
Add $NetBSD$.
 1.1 16-Oct-2006  kiyohara Add initial support for the PXA255-based gumstix board.
 1.2.8.5 21-Jan-2008  yamt sync with head
 1.2.8.4 03-Sep-2007  yamt sync with head.
 1.2.8.3 26-Feb-2007  yamt sync with head.
 1.2.8.2 30-Dec-2006  yamt sync with head.
 1.2.8.1 17-Oct-2006  yamt file gxpcic.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:49 +0000
 1.2.4.3 01-Feb-2007  ad Sync with head.
 1.2.4.2 18-Nov-2006  ad Sync with head.
 1.2.4.1 17-Oct-2006  ad file gxpcic.c was added on branch newlock2 on 2006-11-18 21:29:10 +0000
 1.2.2.2 22-Oct-2006  yamt sync with head
 1.2.2.1 17-Oct-2006  yamt file gxpcic.c was added on branch yamt-splraiseipl on 2006-10-22 06:04:38 +0000
 1.3.8.1 11-Jul-2007  mjf Sync with head.
 1.3.6.2 09-Oct-2007  ad Sync with head.
 1.3.6.1 27-May-2007  ad Sync with head.
 1.3.2.1 07-May-2007  yamt sync with head.
 1.4.10.1 03-Sep-2007  jmcneill Sync with HEAD.
 1.4.8.2 26-Dec-2007  rjs Sync with HEAD.
 1.4.8.1 01-Nov-2007  rjs Sync with HEAD.
 1.4.6.1 03-Sep-2007  skrll Sync with HEAD.
 1.4.2.1 03-Oct-2007  garbled Sync with HEAD
 1.5.2.2 09-Jan-2008  matt sync with HEAD
 1.5.2.1 06-Nov-2007  matt sync with HEAD
 1.6.8.1 02-Jan-2008  bouyer Sync with HEAD
 1.6.4.1 26-Dec-2007  ad Sync with head.
 1.7.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.7.10.3 19-Aug-2009  yamt sync with head.
 1.7.10.2 04-May-2009  yamt sync with head.
 1.7.10.1 16-May-2008  yamt sync with head.
 1.7.8.1 18-May-2008  yamt sync with head.
 1.7.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.6.2 28-Apr-2009  skrll Sync with HEAD.
 1.8.6.1 03-Mar-2009  skrll Sync with HEAD.
 1.9.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.12.12.1 25-Feb-2013  tls resync with head
 1.12.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 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.10 01-Jul-2011  dyoung branches: 1.10.2; 1.10.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.9 28-Aug-2010  kiyohara Remove a white space.
 1.8 15-Mar-2010  kiyohara branches: 1.8.2;
Use bus_space_write_2() instead of _1, because sm(4) is 16bit/word.
 1.7 09-Aug-2009  kiyohara branches: 1.7.2;
Support verdex and verdex-pro.
And
+ Support LCD controller.
+ Support SMSC LAN 9117 Ethernet controller.
+ Comment outed 'options GXIO_DEFAULT_EXPANSION'. As for verdex-pro being
sold now, this option becomes obstructive.
+ Remove some usb devices in GUMSTIX.
+ Update GUMSTIX.

Also
Fix ARM ABI in gumstix_start.S. Thanks Brett Slager <bds at ifgd.net>.
Calculate RAM size in gumstix_start.S.
 1.6 11-May-2008  kiyohara Split device_t/softc.
 1.5 28-Apr-2008  martin branches: 1.5.2;
Remove clause 3 and 4 from TNF licenses
 1.4 17-Oct-2007  garbled branches: 1.4.16; 1.4.18; 1.4.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.3 14-Aug-2007  kiyohara branches: 1.3.2;
Add ARGSUSED.
 1.2 18-Jan-2007  kiyohara branches: 1.2.6; 1.2.14; 1.2.18; 1.2.20; 1.2.22;
Use device_private() and aprint_*.
 1.1 16-Oct-2006  kiyohara branches: 1.1.2; 1.1.4; 1.1.8;
Add initial support for the PXA255-based gumstix board.
 1.1.8.4 03-Sep-2007  yamt sync with head.
 1.1.8.3 26-Feb-2007  yamt sync with head.
 1.1.8.2 30-Dec-2006  yamt sync with head.
 1.1.8.1 16-Oct-2006  yamt file if_sm_gxio.c was added on branch yamt-lazymbuf on 2006-12-30 20:45:49 +0000
 1.1.4.3 01-Feb-2007  ad Sync with head.
 1.1.4.2 18-Nov-2006  ad Sync with head.
 1.1.4.1 16-Oct-2006  ad file if_sm_gxio.c was added on branch newlock2 on 2006-11-18 21:29:10 +0000
 1.1.2.2 22-Oct-2006  yamt sync with head
 1.1.2.1 16-Oct-2006  yamt file if_sm_gxio.c was added on branch yamt-splraiseipl on 2006-10-22 06:04:38 +0000
 1.2.22.1 16-Aug-2007  jmcneill Sync with HEAD.
 1.2.20.1 01-Nov-2007  rjs Sync with HEAD.
 1.2.18.1 15-Aug-2007  skrll Sync with HEAD.
 1.2.14.1 03-Oct-2007  garbled Sync with HEAD
 1.2.6.1 20-Aug-2007  ad Sync with HEAD.
 1.3.2.1 06-Nov-2007  matt sync with HEAD
 1.4.20.4 09-Oct-2010  yamt sync with head
 1.4.20.3 11-Aug-2010  yamt sync with head.
 1.4.20.2 19-Aug-2009  yamt sync with head.
 1.4.20.1 16-May-2008  yamt sync with head.
 1.4.18.1 18-May-2008  yamt sync with head.
 1.4.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.5.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.7.2.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.7.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.8.2.1 05-Mar-2011  rmind sync with head
 1.10.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.10.2.1 30-Oct-2012  yamt sync with head
 1.4 29-Oct-2022  jmcneill Remove support for OMAP based Gumstix platforms.

These changes are to prepare for the removal of arch/arm/omap. Support
for Xscale based Gumstix platforms remains.

(If someone wants to resurrect DuoVero and Pepper platforms, it's best
to do that in the GENERIC kernel using FDT.)
 1.3 04-Sep-2012  matt Add support for getting the mac-address from the device properties.
 1.2 04-Sep-2012  matt No reason to include gumstixvar.h so don't.
 1.1 28-Aug-2010  kiyohara branches: 1.1.2; 1.1.4; 1.1.10; 1.1.14;
Support smsh@gpmc.
tested Chestnut43 only.
 1.1.14.1 30-Oct-2012  yamt sync with head
 1.1.10.2 05-Mar-2011  rmind sync with head
 1.1.10.1 28-Aug-2010  rmind file if_smsh_gpmc.c was added on branch rmind-uvmplock on 2011-03-05 20:50:05 +0000
 1.1.4.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.1.4.1 28-Aug-2010  uebayasi file if_smsh_gpmc.c was added on branch uebayasi-xip on 2010-10-22 07:21:16 +0000
 1.1.2.2 09-Oct-2010  yamt sync with head
 1.1.2.1 28-Aug-2010  yamt file if_smsh_gpmc.c was added on branch yamt-nfs-mp on 2010-10-09 03:31:44 +0000
 1.3 28-Aug-2010  kiyohara + Struct smsh_gxio is obsolated, and struct lan9118_softc is used.
We do not have private data at all.
+ Fix typo. sms_gxio_attach -> smsh_gxio_attach
 1.2 29-Nov-2009  kiyohara branches: 1.2.2; 1.2.4;
Fix print message.
 1.1 09-Aug-2009  kiyohara branches: 1.1.2;
Support verdex and verdex-pro.
And
+ Support LCD controller.
+ Support SMSC LAN 9117 Ethernet controller.
+ Comment outed 'options GXIO_DEFAULT_EXPANSION'. As for verdex-pro being
sold now, this option becomes obstructive.
+ Remove some usb devices in GUMSTIX.
+ Update GUMSTIX.

Also
Fix ARM ABI in gumstix_start.S. Thanks Brett Slager <bds at ifgd.net>.
Calculate RAM size in gumstix_start.S.
 1.1.2.4 09-Oct-2010  yamt sync with head
 1.1.2.3 11-Mar-2010  yamt sync with head
 1.1.2.2 19-Aug-2009  yamt sync with head.
 1.1.2.1 09-Aug-2009  yamt file if_smsh_gxio.c was added on branch yamt-nfs-mp on 2009-08-19 18:46:06 +0000
 1.2.4.1 05-Mar-2011  rmind sync with head
 1.2.2.1 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.5 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.4 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.3 21-Jan-2012  nonaka branches: 1.3.6;
fix my license notice.
 1.2 01-Jul-2011  dyoung branches: 1.2.2; 1.2.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.1 16-Apr-2006  nonaka branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10; 1.1.14; 1.1.20;
A port of NetBSD to the I-O DATA HDL-G "Giga LANDISK".

Please refer to following URL for this machine.
http://www.iodata.com/products/products.php?cat=HNP&sc=HDL&ts=2&tsc=14&sc=HDL&pId=HDL-G400U
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 16-Apr-2006  rpaulo file btn_obio.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:46 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 16-Apr-2006  yamt file btn_obio.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:46 +0000
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 16-Apr-2006  tron file btn_obio.c was added on branch peter-altq on 2006-05-24 15:47:54 +0000
 1.1.8.2 24-May-2006  yamt sync with head.
 1.1.8.1 16-Apr-2006  yamt file btn_obio.c was added on branch yamt-pdpolicy on 2006-05-24 10:56:45 +0000
 1.1.4.2 22-Apr-2006  simonb Sync with head.
 1.1.4.1 16-Apr-2006  simonb file btn_obio.c was added on branch simonb-timecounters on 2006-04-22 11:37:23 +0000
 1.1.2.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.2.1 16-Apr-2006  elad file btn_obio.c was added on branch elad-kernelauth on 2006-04-19 02:32:22 +0000
 1.2.6.1 18-Feb-2012  mrg merge to -current.
 1.2.2.2 30-Oct-2012  yamt sync with head
 1.2.2.1 17-Apr-2012  yamt sync with head
 1.3.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.6 08-Dec-2018  thorpej Clean up initialization of com_regs structure, in preparation for
some additional changers.
 1.5 01-Jul-2011  dyoung branches: 1.5.52; 1.5.54;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.4 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3 14-Mar-2008  cube branches: 1.3.2; 1.3.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.2 13-Jul-2006  gdamore branches: 1.2.6; 1.2.36; 1.2.56; 1.2.60;
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.1 16-Apr-2006  nonaka branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10; 1.1.12; 1.1.14;
A port of NetBSD to the I-O DATA HDL-G "Giga LANDISK".

Please refer to following URL for this machine.
http://www.iodata.com/products/products.php?cat=HNP&sc=HDL&ts=2&tsc=14&sc=HDL&pId=HDL-G400U
 1.1.14.4 17-Mar-2008  yamt sync with head.
 1.1.14.3 30-Dec-2006  yamt sync with head.
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 16-Apr-2006  yamt file com_obio.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:46 +0000
 1.1.12.1 20-Jun-2006  gdamore Add support for pretty much all ARM com(4) variants. There are a few ARM
serial devices that are not com(4)-like enough to be supported under com(4).
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 16-Apr-2006  tron file com_obio.c was added on branch peter-altq on 2006-05-24 15:47:54 +0000
 1.1.8.3 11-Aug-2006  yamt sync with head
 1.1.8.2 24-May-2006  yamt sync with head.
 1.1.8.1 16-Apr-2006  yamt file com_obio.c was added on branch yamt-pdpolicy on 2006-05-24 10:56:45 +0000
 1.1.4.2 22-Apr-2006  simonb Sync with head.
 1.1.4.1 16-Apr-2006  simonb file com_obio.c was added on branch simonb-timecounters on 2006-04-22 11:37:23 +0000
 1.1.2.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.2.1 16-Apr-2006  elad file com_obio.c was added on branch elad-kernelauth on 2006-04-19 02:32:22 +0000
 1.2.60.2 02-Jun-2008  mjf Sync with HEAD.
 1.2.60.1 03-Apr-2008  mjf Sync with HEAD.
 1.2.56.1 24-Mar-2008  keiichi sync with head.
 1.2.36.1 23-Mar-2008  matt sync with HEAD
 1.2.6.2 09-Sep-2006  rpaulo sync with head
 1.2.6.1 13-Jul-2006  rpaulo file com_obio.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:46 +0000
 1.3.4.1 16-May-2008  yamt sync with head.
 1.3.2.1 18-May-2008  yamt sync with head.
 1.5.54.1 10-Jun-2019  christos Sync with HEAD
 1.5.52.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.35 12-Oct-2023  skrll Fix non-DIAGNOSTIC builds
 1.34 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.33 04-Jan-2022  skrll branches: 1.33.4;
Fix DIAGNOSTIC fallout
 1.32 20-Nov-2021  rin Fix build with VERBOSE_INIT_ARM.
 1.31 17-Aug-2021  andvar fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.30 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.29 18-Apr-2020  skrll Trailing whitespace
 1.28 16-Jul-2019  skrll branches: 1.28.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.27 16-Jul-2019  skrll KNF
 1.26 28-Oct-2018  skrll Fix a commit
 1.25 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.24 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.23 22-Dec-2016  cherry branches: 1.23.14; 1.23.16;
switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.22 13-Sep-2014  matt branches: 1.22.2; 1.22.4;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.21 18-Aug-2013  matt <arm/locore.h> fallout (fixes some include ordering errors)
 1.20 22-Sep-2012  matt branches: 1.20.2;
Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.19 16-Aug-2012  matt branches: 1.19.2;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.18 30-Jul-2012  matt Add back pv_addr_t minidataclean.
 1.17 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.16 01-Jul-2011  dyoung branches: 1.16.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.15 30-Jun-2011  wiz dependant -> dependent
 1.14 26-Dec-2009  uebayasi Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.13 26-Dec-2009  uebayasi Garbage collect an unused global, vm_offset_t pagetables_start.
 1.12 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.11 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.10 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 1.9 30-Nov-2008  martin As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.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 27-Apr-2008  matt branches: 1.6.6; 1.6.8;
Merge kernel changes in matt-armv6 to HEAD.
 1.5 19-Jan-2008  chris branches: 1.5.6; 1.5.8; 1.5.10;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.4 18-Dec-2006  nonaka branches: 1.4.20; 1.4.24; 1.4.30; 1.4.36;
cosmetic
 1.3 24-Nov-2006  wiz s/independant/independent/, from Zafer.
 1.2 17-May-2006  mrg branches: 1.2.4; 1.2.6; 1.2.10; 1.2.14; 1.2.16; 1.2.18;
in initarm(), initialise kernel_l1pt.pv_va as well as kernel_l1pt.pv_pa.
 1.1 16-Apr-2006  nonaka branches: 1.1.2; 1.1.4;
A port of NetBSD to the I-O DATA HDL-G "Giga LANDISK".

Please refer to following URL for this machine.
http://www.iodata.com/products/products.php?cat=HNP&sc=HDL&ts=2&tsc=14&sc=HDL&pId=HDL-G400U
 1.1.4.3 01-Jun-2006  kardel Sync with head.
 1.1.4.2 22-Apr-2006  simonb Sync with head.
 1.1.4.1 16-Apr-2006  simonb file hdlg_machdep.c was added on branch simonb-timecounters on 2006-04-22 11:37:23 +0000
 1.1.2.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.2.1 16-Apr-2006  elad file hdlg_machdep.c was added on branch elad-kernelauth on 2006-04-19 02:32:22 +0000
 1.2.18.2 21-Dec-2006  yamt sync with head.
 1.2.18.1 10-Dec-2006  yamt sync with head.
 1.2.16.2 09-Sep-2006  rpaulo sync with head
 1.2.16.1 17-May-2006  rpaulo file hdlg_machdep.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:46 +0000
 1.2.14.1 12-Jan-2007  ad Sync with head.
 1.2.10.4 21-Jan-2008  yamt sync with head
 1.2.10.3 30-Dec-2006  yamt sync with head.
 1.2.10.2 21-Jun-2006  yamt sync with head.
 1.2.10.1 17-May-2006  yamt file hdlg_machdep.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:46 +0000
 1.2.6.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.6.1 17-May-2006  tron file hdlg_machdep.c was added on branch peter-altq on 2006-05-24 15:47:54 +0000
 1.2.4.2 24-May-2006  yamt sync with head.
 1.2.4.1 17-May-2006  yamt file hdlg_machdep.c was added on branch yamt-pdpolicy on 2006-05-24 10:56:45 +0000
 1.4.36.1 20-Jan-2008  bouyer Sync with HEAD
 1.4.30.1 18-Feb-2008  mjf Sync with HEAD.
 1.4.24.2 23-Mar-2008  matt sync with HEAD
 1.4.24.1 09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.4.20.1 28-Feb-2008  rjs Sync with HEAD.
 1.5.10.4 11-Mar-2010  yamt sync with head
 1.5.10.3 19-Aug-2009  yamt sync with head.
 1.5.10.2 04-May-2009  yamt sync with head.
 1.5.10.1 16-May-2008  yamt sync with head.
 1.5.8.1 18-May-2008  yamt sync with head.
 1.5.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.5.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.6.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.6.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.16.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.16.2.1 30-Oct-2012  yamt sync with head
 1.19.2.3 03-Dec-2017  jdolecek update from HEAD
 1.19.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.19.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.22.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.22.2.1 05-Feb-2017  skrll Sync with HEAD
 1.23.16.3 21-Apr-2020  martin Sync with HEAD
 1.23.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.23.16.1 10-Jun-2019  christos Sync with HEAD
 1.23.14.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.23.14.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.23.14.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.28.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.33.4.1 14-Oct-2023  martin Pull up following revision(s) (requested by skrll in ticket #411):

sys/arch/evbarm/nslu2/nslu2_machdep.c: revision 1.41
sys/arch/evbarm/gumstix/gumstix_machdep.c: revision 1.75
sys/arch/evbarm/iq80321/iq80321_machdep.c: revision 1.66
sys/arch/iyonix/iyonix/iyonix_machdep.c: revision 1.34
sys/arch/zaurus/zaurus/machdep.c: revision 1.52
sys/arch/evbarm/g42xxeb/g42xxeb_machdep.c: revision 1.41
sys/arch/hpcarm/hpcarm/pxa2x0_hpc_machdep.c: revision 1.33
sys/arch/evbarm/iq80310/iq80310_machdep.c: revision 1.96
sys/arch/evbarm/adi_brh/brh_machdep.c: revision 1.53
sys/arch/arm/include/arm32/pmap.h: revision 1.177
sys/arch/evbarm/viper/viper_machdep.c: revision 1.34
sys/arch/evbarm/iyonix/iyonix_machdep.c: revision 1.5
sys/arch/evbarm/npwr_fc/npwr_fc_machdep.c: revision 1.30
sys/arch/evbarm/hdl_g/hdlg_machdep.c: revision 1.35
sys/arch/arm/arm32/pmap.c: revision 1.440
sys/arch/evbarm/lubbock/lubbock_machdep.c: revision 1.45
sys/arch/evbarm/ixdp425/ixdp425_machdep.c: revision 1.47

Fix non-DIAGNOSTIC builds
 1.6 03-Jul-2025  andvar s/ochi/ohci and s/echi/ehci/ in few more places (logs, comments, intr desc).
 1.5 16-Nov-2018  jmcneill branches: 1.5.36;
Add intr_establish_xname support to arm and expose it to intrctl
 1.4 29-Mar-2014  christos branches: 1.4.28; 1.4.30;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.3 01-Jul-2011  dyoung branches: 1.3.2; 1.3.12; 1.3.16;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.2 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.1 16-Apr-2006  nonaka branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10; 1.1.14; 1.1.20; 1.1.100; 1.1.106;
A port of NetBSD to the I-O DATA HDL-G "Giga LANDISK".

Please refer to following URL for this machine.
http://www.iodata.com/products/products.php?cat=HNP&sc=HDL&ts=2&tsc=14&sc=HDL&pId=HDL-G400U
 1.1.106.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.100.1 21-Apr-2011  rmind sync with head
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 16-Apr-2006  rpaulo file hdlg_pci.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:46 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 16-Apr-2006  yamt file hdlg_pci.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:46 +0000
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 16-Apr-2006  tron file hdlg_pci.c was added on branch peter-altq on 2006-05-24 15:47:54 +0000
 1.1.8.2 24-May-2006  yamt sync with head.
 1.1.8.1 16-Apr-2006  yamt file hdlg_pci.c was added on branch yamt-pdpolicy on 2006-05-24 10:56:45 +0000
 1.1.4.2 22-Apr-2006  simonb Sync with head.
 1.1.4.1 16-Apr-2006  simonb file hdlg_pci.c was added on branch simonb-timecounters on 2006-04-22 11:37:24 +0000
 1.1.2.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.2.1 16-Apr-2006  elad file hdlg_pci.c was added on branch elad-kernelauth on 2006-04-19 02:32:22 +0000
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.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.4.30.1 10-Jun-2019  christos Sync with HEAD
 1.4.28.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.5.36.1 02-Aug-2025  perseant Sync with HEAD
 1.2 31-Jan-2011  matt Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.1 16-Apr-2006  nonaka branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10; 1.1.14; 1.1.20; 1.1.100; 1.1.106; 1.1.108;
A port of NetBSD to the I-O DATA HDL-G "Giga LANDISK".

Please refer to following URL for this machine.
http://www.iodata.com/products/products.php?cat=HNP&sc=HDL&ts=2&tsc=14&sc=HDL&pId=HDL-G400U
 1.1.108.1 08-Feb-2011  bouyer Sync with HEAD
 1.1.106.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.100.1 05-Mar-2011  rmind sync with head
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 16-Apr-2006  rpaulo file hdlg_start.S was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:46 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 16-Apr-2006  yamt file hdlg_start.S was added on branch yamt-lazymbuf on 2006-06-21 14:50:46 +0000
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 16-Apr-2006  tron file hdlg_start.S was added on branch peter-altq on 2006-05-24 15:47:54 +0000
 1.1.8.2 24-May-2006  yamt sync with head.
 1.1.8.1 16-Apr-2006  yamt file hdlg_start.S was added on branch yamt-pdpolicy on 2006-05-24 10:56:46 +0000
 1.1.4.2 22-Apr-2006  simonb Sync with head.
 1.1.4.1 16-Apr-2006  simonb file hdlg_start.S was added on branch simonb-timecounters on 2006-04-22 11:37:24 +0000
 1.1.2.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.2.1 16-Apr-2006  elad file hdlg_start.S was added on branch elad-kernelauth on 2006-04-19 02:32:22 +0000
 1.4 08-Apr-2025  rin HDL_G: Belatedly catch up with devmap change

XXXTODO
Stop using devmap for HDLG_IOW_VBASE and HDLG_80321_VBASE;
let arm/xscale/i80321* codes use bus_space_handle_t instead of
virtual address itself.
 1.3 21-Jan-2012  nonaka branches: 1.3.84;
fix my license notice.
 1.2 08-Jun-2006  nonaka branches: 1.2.4; 1.2.10; 1.2.102; 1.2.106;
Added more register define.
 1.1 16-Apr-2006  nonaka branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10;
A port of NetBSD to the I-O DATA HDL-G "Giga LANDISK".

Please refer to following URL for this machine.
http://www.iodata.com/products/products.php?cat=HNP&sc=HDL&ts=2&tsc=14&sc=HDL&pId=HDL-G400U
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 16-Apr-2006  tron file hdlgreg.h was added on branch peter-altq on 2006-05-24 15:47:54 +0000
 1.1.8.3 26-Jun-2006  yamt sync with head.
 1.1.8.2 24-May-2006  yamt sync with head.
 1.1.8.1 16-Apr-2006  yamt file hdlgreg.h was added on branch yamt-pdpolicy on 2006-05-24 10:56:46 +0000
 1.1.6.1 19-Jun-2006  chap Sync with head.
 1.1.4.2 22-Apr-2006  simonb Sync with head.
 1.1.4.1 16-Apr-2006  simonb file hdlgreg.h was added on branch simonb-timecounters on 2006-04-22 11:37:24 +0000
 1.1.2.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.2.1 16-Apr-2006  elad file hdlgreg.h was added on branch elad-kernelauth on 2006-04-19 02:32:22 +0000
 1.2.106.1 18-Feb-2012  mrg merge to -current.
 1.2.102.1 17-Apr-2012  yamt sync with head
 1.2.10.2 09-Sep-2006  rpaulo sync with head
 1.2.10.1 08-Jun-2006  rpaulo file hdlgreg.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:46 +0000
 1.2.4.2 21-Jun-2006  yamt sync with head.
 1.2.4.1 08-Jun-2006  yamt file hdlgreg.h was added on branch yamt-lazymbuf on 2006-06-21 14:50:46 +0000
 1.3.84.1 02-Aug-2025  perseant Sync with HEAD
 1.1 16-Apr-2006  nonaka branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10; 1.1.14; 1.1.20;
A port of NetBSD to the I-O DATA HDL-G "Giga LANDISK".

Please refer to following URL for this machine.
http://www.iodata.com/products/products.php?cat=HNP&sc=HDL&ts=2&tsc=14&sc=HDL&pId=HDL-G400U
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 16-Apr-2006  rpaulo file hdlgvar.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:46 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 16-Apr-2006  yamt file hdlgvar.h was added on branch yamt-lazymbuf on 2006-06-21 14:50:46 +0000
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 16-Apr-2006  tron file hdlgvar.h was added on branch peter-altq on 2006-05-24 15:47:54 +0000
 1.1.8.2 24-May-2006  yamt sync with head.
 1.1.8.1 16-Apr-2006  yamt file hdlgvar.h was added on branch yamt-pdpolicy on 2006-05-24 10:56:46 +0000
 1.1.4.2 22-Apr-2006  simonb Sync with head.
 1.1.4.1 16-Apr-2006  simonb file hdlgvar.h was added on branch simonb-timecounters on 2006-04-22 11:37:24 +0000
 1.1.2.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.2.1 16-Apr-2006  elad file hdlgvar.h was added on branch elad-kernelauth on 2006-04-19 02:32:22 +0000
 1.3 12-Feb-2012  matt Change old-stlye-defintions to C89 prototypes.
Switch to CFATTACH_DECL_NEW/device_t/cfdata_t
Defer attaching interrupt evcnts.

Approved by releng.
 1.2 01-Jul-2011  dyoung branches: 1.2.2; 1.2.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.1 16-Apr-2006  nonaka branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10; 1.1.14; 1.1.20;
A port of NetBSD to the I-O DATA HDL-G "Giga LANDISK".

Please refer to following URL for this machine.
http://www.iodata.com/products/products.php?cat=HNP&sc=HDL&ts=2&tsc=14&sc=HDL&pId=HDL-G400U
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 16-Apr-2006  rpaulo file i80321_mainbus.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:46 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 16-Apr-2006  yamt file i80321_mainbus.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:46 +0000
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 16-Apr-2006  tron file i80321_mainbus.c was added on branch peter-altq on 2006-05-24 15:47:54 +0000
 1.1.8.2 24-May-2006  yamt sync with head.
 1.1.8.1 16-Apr-2006  yamt file i80321_mainbus.c was added on branch yamt-pdpolicy on 2006-05-24 10:56:46 +0000
 1.1.4.2 22-Apr-2006  simonb Sync with head.
 1.1.4.1 16-Apr-2006  simonb file i80321_mainbus.c was added on branch simonb-timecounters on 2006-04-22 11:37:24 +0000
 1.1.2.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.2.1 16-Apr-2006  elad file i80321_mainbus.c was added on branch elad-kernelauth on 2006-04-19 02:32:22 +0000
 1.2.6.1 18-Feb-2012  mrg merge to -current.
 1.2.2.1 17-Apr-2012  yamt sync with head
 1.5 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.4 24-Apr-2021  thorpej branches: 1.4.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.3 01-Jul-2011  dyoung branches: 1.3.68;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.2 06-Jun-2011  matt Some more device_t, cfdata_t, CFATTACH_DECL_NEW cleanup.
 1.1 16-Apr-2006  nonaka branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10; 1.1.14; 1.1.20; 1.1.100; 1.1.110;
A port of NetBSD to the I-O DATA HDL-G "Giga LANDISK".

Please refer to following URL for this machine.
http://www.iodata.com/products/products.php?cat=HNP&sc=HDL&ts=2&tsc=14&sc=HDL&pId=HDL-G400U
 1.1.110.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.1.100.1 12-Jun-2011  rmind sync with head
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 16-Apr-2006  rpaulo file obio.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:46 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 16-Apr-2006  yamt file obio.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:46 +0000
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 16-Apr-2006  tron file obio.c was added on branch peter-altq on 2006-05-24 15:47:54 +0000
 1.1.8.2 24-May-2006  yamt sync with head.
 1.1.8.1 16-Apr-2006  yamt file obio.c was added on branch yamt-pdpolicy on 2006-05-24 10:56:46 +0000
 1.1.4.2 22-Apr-2006  simonb Sync with head.
 1.1.4.1 16-Apr-2006  simonb file obio.c was added on branch simonb-timecounters on 2006-04-22 11:37:24 +0000
 1.1.2.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.2.1 16-Apr-2006  elad file obio.c was added on branch elad-kernelauth on 2006-04-19 02:32:22 +0000
 1.3.68.6 05-Apr-2021  thorpej Treat config_probe() as if it were a boolean function; don't compare
return value > 0... except for the odd balls, which are now really easy
to spot.
 1.3.68.5 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.3.68.4 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.3.68.3 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.3.68.2 21-Mar-2021  thorpej CFARG_IATTR usage audit:

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

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.4.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.6 21-Apr-2023  skrll Trailing whitespace.
 1.5 16-Mar-2018  ryo use designated initializer to make adaptability and flexibility for changing struct bus_space.
no functional change.
 1.4 22-Feb-2014  matt branches: 1.4.28;
Don't manipulate the pte to get uncached memory, use PMAP_NOCACHE instead.
Convert footbring to kenter_pa/kremove
 1.3 01-Jul-2011  dyoung branches: 1.3.2; 1.3.12; 1.3.16;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.2 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.1 16-Apr-2006  nonaka branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10; 1.1.14; 1.1.20; 1.1.78;
A port of NetBSD to the I-O DATA HDL-G "Giga LANDISK".

Please refer to following URL for this machine.
http://www.iodata.com/products/products.php?cat=HNP&sc=HDL&ts=2&tsc=14&sc=HDL&pId=HDL-G400U
 1.1.78.1 11-Mar-2010  yamt sync with head
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 16-Apr-2006  rpaulo file obio_space.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:46 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 16-Apr-2006  yamt file obio_space.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:46 +0000
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 16-Apr-2006  tron file obio_space.c was added on branch peter-altq on 2006-05-24 15:47:54 +0000
 1.1.8.2 24-May-2006  yamt sync with head.
 1.1.8.1 16-Apr-2006  yamt file obio_space.c was added on branch yamt-pdpolicy on 2006-05-24 10:56:46 +0000
 1.1.4.2 22-Apr-2006  simonb Sync with head.
 1.1.4.1 16-Apr-2006  simonb file obio_space.c was added on branch simonb-timecounters on 2006-04-22 11:37:24 +0000
 1.1.2.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.2.1 16-Apr-2006  elad file obio_space.c was added on branch elad-kernelauth on 2006-04-19 02:32:22 +0000
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.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.4.28.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.2 14-May-2006  elad branches: 1.2.4; 1.2.6; 1.2.10; 1.2.16;
integrate kauth.
 1.1 16-Apr-2006  nonaka branches: 1.1.2; 1.1.4;
A port of NetBSD to the I-O DATA HDL-G "Giga LANDISK".

Please refer to following URL for this machine.
http://www.iodata.com/products/products.php?cat=HNP&sc=HDL&ts=2&tsc=14&sc=HDL&pId=HDL-G400U
 1.1.4.2 22-Apr-2006  simonb Sync with head.
 1.1.4.1 16-Apr-2006  simonb file obiovar.h was added on branch simonb-timecounters on 2006-04-22 11:37:24 +0000
 1.1.2.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.2.1 16-Apr-2006  elad file obiovar.h was added on branch elad-kernelauth on 2006-04-19 02:32:22 +0000
 1.2.16.2 09-Sep-2006  rpaulo sync with head
 1.2.16.1 14-May-2006  rpaulo file obiovar.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:46 +0000
 1.2.10.2 21-Jun-2006  yamt sync with head.
 1.2.10.1 14-May-2006  yamt file obiovar.h was added on branch yamt-lazymbuf on 2006-06-21 14:50:46 +0000
 1.2.6.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.6.1 14-May-2006  tron file obiovar.h was added on branch peter-altq on 2006-05-24 15:47:54 +0000
 1.2.4.2 24-May-2006  yamt sync with head.
 1.2.4.1 14-May-2006  yamt file obiovar.h was added on branch yamt-pdpolicy on 2006-05-24 10:56:46 +0000
 1.4 06-Sep-2003  rearnsha irqhandler.h and related baggage now obsolete.
 1.3 30-Jan-2002  thorpej branches: 1.3.16;
New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.2 13-Jan-2002  thorpej Remove the "fiqhandler" definitions.
 1.1 27-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
Move interrupt-related stuff out of the generic 32-bit ARM genassym.cf
and into platform-specific genassym.cf files.
 1.1.4.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 27-Nov-2001  thorpej file genassym.cf was added on branch kqueue on 2002-01-10 19:42:04 +0000
 1.1.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 27-Nov-2001  nathanw file genassym.cf was added on branch nathanw_sa on 2002-01-08 00:24:12 +0000
 1.3.16.1 03-Aug-2004  skrll Sync with HEAD
 1.31 27-Sep-2022  skrll malloc -> kmem
small KNF while I'm here
 1.30 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.29 24-Apr-2021  thorpej branches: 1.29.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.28 07-Jul-2020  thorpej branches: 1.28.4;
Overhaul the interface to pci_configure_bus():
- Don't expose how PCI bus configuration resource management is implemented.
Provide a new resource provider API:

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

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

- Re-implement PCI configuration resource management using vmem arenas,
rather than extent maps.
 1.27 14-Jun-2020  chs replace EX_NOWAIT with EX_WAITOK in device attach methods.
remove checks for failures that can no longer occur.
 1.26 19-Feb-2013  skrll Add support for the ARM Integrator/CP from Sergio L�pez.

The code hasn't been tested on real hardware, but INTEGRATOR_CP config
is useful for QEMU which supports it.
 1.25 27-Jan-2012  para branches: 1.25.6;
converting extent(9) from malloc(9) to kmem(9)
preceding kmem-vmem-pool-uvm patch

releng@ acknowledged
 1.24 17-May-2011  dyoung branches: 1.24.4; 1.24.8;
PCI_FLAGS_IO_ENABLED and PCI_FLAGS_MEM_ENABLED changed their functional
role in NetBSD (drivers are no longer supposed to write these to
pa_flags) without changing name. Correct that.

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

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

algor P4032 P5064 P6032
alpha GENERIC
amd64 GENERIC XEN3_DOM0
arc GENERIC
atari HADES MILAN-PCIIDE
bebox GENERIC
cats GENERIC
cobalt GENERIC
evbarm-el ADI_BRH ARMADILLO9 CP3100 GEMINI GEMINI_MASTER GEMINI_SLAVE
evbarm-el GUMSTIX HDL_G IMX31LITE INTEGRATOR IQ31244 IQ80310 IQ80321
evbarm-el IXDP425 IXM1200 KUROBOX_PRO
evbarm-el LUBBOCK MARVELL_NAS NAPPI NSLU2 SHEEVAPLUG SMDK2800 TEAMASA_NPWR
evbarm-el TEAMASA_NPWR_FC TS7200 TWINTAIL ZAO425
evbmips-el AP30 DBAU1500 DBAU1550 MALTA MERAKI MTX-1 OMSAL400 RB153 WGT624V3
evbmips64-el XLSATX
evbppc EV64260 MPC8536DS MPC8548CDS OPENBLOCKS200 OPENBLOCKS266
evbppc OPENBLOCKS266_OPT P2020RDB PMPPC RB800 WALNUT
hp700 GENERIC
i386 ALL XEN3_DOM0 XEN3_DOMU
ibmnws GENERIC
iyonix GENERIC
landisk GENERIC
macppc GENERIC
mvmeppc GENERIC
netwinder GENERIC
ofppc GENERIC
prep GENERIC
sandpoint GENERIC
sbmips-el GENERIC
sgimips GENERIC32_IP2x GENERIC32_IP3x
sparc GENERIC_SUN4U KRUPS
sparc64 GENERIC
 1.23 21-Jul-2009  dyoung branches: 1.23.4; 1.23.6;
device_t/softc split. Compiled, but never run.
 1.22 27-Apr-2008  matt Merge kernel changes in matt-armv6 to HEAD.
 1.21 11-Dec-2005  christos branches: 1.21.50; 1.21.74; 1.21.76; 1.21.78;
merge ktrace-lwp.
 1.20 26-Aug-2005  drochner s/locdesc_t/int/g
 1.19 30-Aug-2004  drochner branches: 1.19.12;
Phase out the use of a string as first "attach args" member to control
which bustype should be attached with a specific call to config_found()
(from a "mainbus" or a bus bridge).
Do it for isa/eisa/mca and pci/agp for now. These buses all attach to
an mi interface attribute "isabus", "eisabus" etc., and the autoconf
framework now allows to specify an interface attribute on config_found()
and config_search(), which limits the search of matching config data
to these which attach to that specific attribute.
So we basically have to call config_found_ia(..., "foobus", ...) where
such a bus is attached.
As a consequence, where a "mainbus" or alike also attaches other
devices (eg CPUs) which do not attach to a specific attribute yet,
we need at least pass an attribute name (different from "foobus") so
that the foo bus is not found at these places. This made some minor
changes necessary which are not obviously related to the mentioned buses.
 1.18 24-Apr-2004  kleink Update for new pci_devinfo(9) signature.
 1.17 06-Sep-2003  rearnsha Switch to using generic soft interrupts.
 1.16 15-Jul-2003  lukem __KERNEL_RCSID()
 1.15 15-Jun-2003  fvdl branches: 1.15.2;
Handle 64bit DMA addresses on PCI for platforms that can (currently only
enabled on amd64). Add a dmat64 field to various PCI attach structures,
and pass it down where needed. Implement a simple new function called
pci_dma64_available(pa) to test if 64bit DMA addresses may be used.
This returns 1 iff _PCI_HAVE_DMA64 is defined in <machine/pci_machdep.h>,
and there is more than 4G of memory.
 1.14 01-Jan-2003  thorpej Use aprint_normal() for cfprint routines.
 1.13 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.12 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.11 27-Sep-2002  thorpej Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.
 1.10 31-Jul-2002  thorpej Overhaul how DMA ranges work in the ARM bus_dma implementation.

A new "arm32_dma_range" structure now describes a DMA window, with
a system address base, bus address base, and length. In addition to
providing info about which memory regions are legal for DMA, the new
structure provides address translation support, as well.

As before, if a tag does not list any ranges, then all addresses are
considered valid, and no DMA address translation is performed.

This allows us to remove a large chunk of code which was duplicated and
tweaked slightly (to do the address translation) from the stock ARM
bus_dma in the XScale IOP and ARM Integrator ports.

Test compiled on all ARM platforms, test booted on Intel IQ80321 and Shark.
 1.9 22-May-2002  briggs Fix odd typo from addition of pba_bridgetag.
 1.8 16-May-2002  thorpej branches: 1.8.2; 1.8.4;
* Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses. For busses behind a bridge, it points to
a persistent copy of the bridge's pcitag_t. This can be very useful
for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
uses OFW device nodes to enumerate the bus. When a PCI bus that is
behind a bridge is attached, pci_attach_hook() allocates a new PCI
chipset tag for the new bus and sets it's "curnode" to the OFW node
of the bridge. This is used as a starting point when enumerating
that bus. Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.
 1.7 12-Apr-2002  thorpej Centralize ARM CPU configuration information by adding a new header
file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines
the following:
* CPU_NTYPES -- now many CPU types are configured into the kernel. What
you really want to know is "== 1" or "> 1".
* Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending
on which ARM architecture versions are configured (based on CPU_*
options). Also defines ARM_NARCH to determins how many architecture
versions are configured.
* Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on
which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS
to determine how many MMU classes are configured.

Remove the needless inclusion of "opt_cputypes.h" in several places.
Convert remaining users to <arm/cpuconf.h>.
 1.6 30-Jan-2002  thorpej New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.5 30-Nov-2001  thorpej branches: 1.5.2;
Need <arm/cpufunc.h> for cache-related variables.
 1.4 29-Nov-2001  thorpej Use the new arm_dcache_align variable to set the PCI device BHLC
register.
 1.3 28-Nov-2001  thorpej Add a "cacheline_size" argument to pci_configure_bus(). It is used
to set the cacheline size in the BHLC register. This should be the
size of the largest D-cache line on a system.
 1.2 09-Nov-2001  thorpej branches: 1.2.2;
Add a "firstbus" argument to pci_configure_bus(), indicating the
first bus number to use, rather than always assuming that we should
start at bus #0.
 1.1 27-Oct-2001  rearnsha Support for the Integrator/AP core-logic FPGA.
 1.2.2.8 03-Jan-2003  thorpej Sync with HEAD.
 1.2.2.7 18-Oct-2002  nathanw Catch up to -current.
 1.2.2.6 01-Aug-2002  nathanw Catch up to -current.
 1.2.2.5 20-Jun-2002  nathanw Catch up to -current.
 1.2.2.4 17-Apr-2002  nathanw Catch up to -current.
 1.2.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.2.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.2.2.1 09-Nov-2001  nathanw file ifpga.c was added on branch nathanw_sa on 2002-01-08 00:24:12 +0000
 1.5.2.6 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.5.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.5.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.5.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.5.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.5.2.1 30-Nov-2001  thorpej file ifpga.c was added on branch kqueue on 2002-01-10 19:42:04 +0000
 1.8.4.1 23-May-2002  tv Pull up revision 1.9 (requested by briggs):
Fix typo from addition of pba_bridgetag.
 1.8.2.3 30-Aug-2002  gehenna catch up with -current.
 1.8.2.2 30-May-2002  gehenna Catch up with -current.
 1.8.2.1 16-May-2002  gehenna file ifpga.c was added on branch gehenna-devsw on 2002-05-30 15:33:07 +0000
 1.15.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.15.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.15.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.15.2.2 03-Sep-2004  skrll Sync with HEAD
 1.15.2.1 03-Aug-2004  skrll Sync with HEAD
 1.19.12.1 21-Jun-2006  yamt sync with head.
 1.21.78.2 19-Aug-2009  yamt sync with head.
 1.21.78.1 16-May-2008  yamt sync with head.
 1.21.76.1 18-May-2008  yamt sync with head.
 1.21.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.21.50.1 09-Jan-2008  matt sync with HEAD
 1.23.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.23.4.1 31-May-2011  rmind sync with head
 1.24.8.1 18-Feb-2012  mrg merge to -current.
 1.24.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.24.4.1 17-Apr-2012  yamt sync with head
 1.25.6.1 25-Feb-2013  tls resync with head
 1.28.4.6 05-Apr-2021  thorpej Treat config_probe() as if it were a boolean function; don't compare
return value > 0... except for the odd balls, which are now really easy
to spot.
 1.28.4.5 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.28.4.4 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.28.4.3 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.28.4.2 02-Apr-2021  thorpej config_found_ia() -> config_found() w/ CFARG_IATTR.
 1.28.4.1 20-Mar-2021  thorpej The proliferation if config_search_*() and config_found_*() combinations
is a little absurd, so begin to tidy this up:

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.29.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.16 29-May-2020  rin For struct timecounter, use C99 initializers.
Compile tested. No functional changes intended.
 1.15 19-Feb-2013  skrll Add support for the ARM Integrator/CP from Sergio L�pez.

The code hasn't been tested on real hardware, but INTEGRATOR_CP config
is useful for QEMU which supports it.
 1.14 21-Jul-2009  dyoung branches: 1.14.12; 1.14.22;
device_t/softc split. Compiled, but never run.
 1.13 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.12 20-Jan-2008  joerg branches: 1.12.10; 1.12.18; 1.12.24;
Convert evbarm to timecounter. Only one of the systems was tested, the
rest of the patch is compile-time tested only.
 1.11 22-Dec-2007  ad Make compile (hi moof).
 1.10 24-Dec-2005  perry branches: 1.10.46; 1.10.50; 1.10.56; 1.10.60; 1.10.64;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.9 11-Dec-2005  christos merge ktrace-lwp.
 1.8 04-Jun-2005  rearnsha branches: 1.8.2;
Fix shaddowed declaration.
 1.7 06-Sep-2003  rearnsha Switch to using generic soft interrupts.
 1.6 06-Sep-2003  rearnsha Fix handling large values of delay when the timer might wrap.
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 27-Sep-2002  provos branches: 1.4.6;
remove trailing \n in panic(). approved perry.
 1.3 30-Jan-2002  thorpej New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.2 23-Nov-2001  thorpej branches: 1.2.2;
Use <arm/cpufunc.h>, not <machine/cpufunc.h>.
 1.1 27-Oct-2001  rearnsha branches: 1.1.2;
Support for the Integrator/AP core-logic FPGA.
 1.1.2.4 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 27-Oct-2001  nathanw file ifpga_clock.c was added on branch nathanw_sa on 2002-01-08 00:24:13 +0000
 1.2.2.4 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.2.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.2.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.2.1 23-Nov-2001  thorpej file ifpga_clock.c was added on branch kqueue on 2002-01-10 19:42:05 +0000
 1.4.6.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.6.1 03-Aug-2004  skrll Sync with HEAD
 1.8.2.2 21-Jan-2008  yamt sync with head
 1.8.2.1 21-Jun-2006  yamt sync with head.
 1.10.64.2 20-Jan-2008  bouyer Sync with HEAD
 1.10.64.1 02-Jan-2008  bouyer Sync with HEAD
 1.10.60.1 26-Dec-2007  ad Sync with head.
 1.10.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.10.50.2 23-Mar-2008  matt sync with HEAD
 1.10.50.1 09-Jan-2008  matt sync with HEAD
 1.10.46.2 28-Feb-2008  rjs Sync with HEAD.
 1.10.46.1 26-Dec-2007  rjs Sync with HEAD.
 1.12.24.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.12.18.1 28-Apr-2009  skrll Sync with HEAD.
 1.12.10.2 19-Aug-2009  yamt sync with head.
 1.12.10.1 04-May-2009  yamt sync with head.
 1.14.22.1 25-Feb-2013  tls resync with head
 1.14.12.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.12 21-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.11 10-Nov-2019  chs branches: 1.11.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.10 09-Feb-2015  skrll branches: 1.10.18;
Name some interrupts
 1.9 20-Dec-2010  matt branches: 1.9.18; 1.9.36;
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.8 27-Apr-2008  matt branches: 1.8.22;
Merge kernel changes in matt-armv6 to HEAD.
 1.7 06-Jan-2008  matt branches: 1.7.6; 1.7.8; 1.7.10;
Cleanup softint lossage.
 1.6 05-Jan-2008  ad Make compile.
 1.5 24-Nov-2006  wiz branches: 1.5.24; 1.5.28; 1.5.34; 1.5.42;
s/heirarchy/hierarchy/, from Zafer.
 1.4 17-May-2006  mrg branches: 1.4.8; 1.4.10;
remove 'inline' from the xxx_do_pending() function that is called from
external sources, and conflicts with it's prototype.
 1.3 24-Dec-2005  perry branches: 1.3.4; 1.3.6; 1.3.8; 1.3.12;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 06-Sep-2003  rearnsha branches: 1.1.4; 1.1.18;
Switch to using generic soft interrupts.
 1.1.18.3 21-Jan-2008  yamt sync with head
 1.1.18.2 30-Dec-2006  yamt sync with head.
 1.1.18.1 21-Jun-2006  yamt 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 06-Sep-2003  skrll file ifpga_intr.c was added on branch ktrace-lwp on 2004-08-03 10:33:55 +0000
 1.3.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.3.8.1 24-May-2006  yamt sync with head.
 1.3.6.1 01-Jun-2006  kardel Sync with head.
 1.3.4.1 09-Sep-2006  rpaulo sync with head
 1.4.10.1 10-Dec-2006  yamt sync with head.
 1.4.8.1 12-Jan-2007  ad Sync with head.
 1.5.42.1 08-Jan-2008  bouyer Sync with HEAD
 1.5.34.1 18-Feb-2008  mjf Sync with HEAD.
 1.5.28.2 28-Jan-2008  matt Given the that there are only 4 IPLs (ignoring soft IPLs), a number of
cleanups can be done:
Remove _SPL_* aliases.
Don't store irqmasks in ci_cpl, just make it an ipl level.
Add fast softint switching support.
 1.5.28.1 09-Jan-2008  matt sync with HEAD
 1.5.24.1 28-Feb-2008  rjs Sync with HEAD.
 1.7.10.1 16-May-2008  yamt sync with head.
 1.7.8.1 18-May-2008  yamt sync with head.
 1.7.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.22.1 05-Mar-2011  rmind sync with head
 1.9.36.1 06-Apr-2015  skrll Sync with HEAD
 1.9.18.1 03-Dec-2017  jdolecek update from HEAD
 1.10.18.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.11.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.9 13-Feb-2009  he Another port which needs <arm/cpu.h> added as in include due to
the new kern_ssp.c.
 1.8 27-Apr-2008  matt branches: 1.8.8; 1.8.10; 1.8.14;
Merge kernel changes in matt-armv6 to HEAD.
 1.7 06-Jan-2008  matt branches: 1.7.6; 1.7.8; 1.7.10;
Cleanup softint lossage.
 1.6 16-May-2006  mrg branches: 1.6.34; 1.6.38; 1.6.44; 1.6.52;
remove a shadow extern decl for ifpga_do_pending().
 1.5 24-Dec-2005  perry branches: 1.5.4; 1.5.6; 1.5.8; 1.5.12;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 07-Aug-2004  rearnsha branches: 1.3.12;
Add barriers to prevent scheduling of critical code outside of the
SPL-protected region.
 1.2 21-Sep-2003  matt branches: 1.2.4;
Fix GCC 3.3.1 nits.
 1.1 06-Sep-2003  rearnsha Switch to using generic soft interrupts.
 1.2.4.5 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.4.4 18-Sep-2004  skrll Sync with HEAD.
 1.2.4.3 12-Aug-2004  skrll Sync with HEAD.
 1.2.4.2 03-Aug-2004  skrll Sync with HEAD
 1.2.4.1 21-Sep-2003  skrll file ifpga_intr.h was added on branch ktrace-lwp on 2004-08-03 10:33:55 +0000
 1.3.12.2 21-Jan-2008  yamt sync with head
 1.3.12.1 21-Jun-2006  yamt sync with head.
 1.5.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.5.8.1 24-May-2006  yamt sync with head.
 1.5.6.1 01-Jun-2006  kardel Sync with head.
 1.5.4.1 09-Sep-2006  rpaulo sync with head
 1.6.52.1 08-Jan-2008  bouyer Sync with HEAD
 1.6.44.1 18-Feb-2008  mjf Sync with HEAD.
 1.6.38.2 28-Jan-2008  matt Given the that there are only 4 IPLs (ignoring soft IPLs), a number of
cleanups can be done:
Remove _SPL_* aliases.
Don't store irqmasks in ci_cpl, just make it an ipl level.
Add fast softint switching support.
 1.6.38.1 09-Jan-2008  matt sync with HEAD
 1.6.34.1 28-Feb-2008  rjs Sync with HEAD.
 1.7.10.2 04-May-2009  yamt sync with head.
 1.7.10.1 16-May-2008  yamt sync with head.
 1.7.8.1 18-May-2008  yamt sync with head.
 1.7.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.10.1 15-Mar-2009  snj Pull up following revision(s) (requested by christos in ticket #458):
sys/arch/evbarm/ifpga/ifpga_intr.h: revision 1.9
Another port which needs <arm/cpu.h> added as in include due to
the new kern_ssp.c.
 1.8.8.1 03-Mar-2009  skrll Sync with HEAD.
 1.15 21-Apr-2023  skrll Trailing whitespace.
 1.14 23-May-2022  andvar s/boundries/boundaries/, s/itterate/iterate/ and few more typos.
 1.13 16-Mar-2018  ryo use designated initializer to make adaptability and flexibility for changing struct bus_space.
no functional change.
 1.12 19-Feb-2013  skrll branches: 1.12.36;
Add support for the ARM Integrator/CP from Sergio L�pez.

The code hasn't been tested on real hardware, but INTEGRATOR_CP config
is useful for QEMU which supports it.
 1.11 12-Feb-2012  matt branches: 1.11.6;
Change old-style function defintions to C89 prototypes.

Approved by releng.
 1.10 01-Jul-2011  dyoung branches: 1.10.2; 1.10.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.9 14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.8 24-Nov-2005  yamt branches: 1.8.78; 1.8.86; 1.8.92;
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.7 01-Apr-2005  yamt branches: 1.7.2; 1.7.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.6 15-Jul-2003  lukem branches: 1.6.8; 1.6.10;
__KERNEL_RCSID()
 1.5 02-Apr-2003  thorpej branches: 1.5.2;
Use PAGE_SIZE rather than NBPG.
 1.4 06-Oct-2002  thorpej Make this compile with strict prototypes.
 1.3 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.2 12-Apr-2002  thorpej Use the bus_space_generic bus space ops.
 1.1 27-Oct-2001  rearnsha branches: 1.1.2; 1.1.4;
Support for the Integrator/AP core-logic FPGA.
 1.1.4.4 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.4.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 27-Oct-2001  thorpej file ifpga_io.c was added on branch kqueue on 2002-01-10 19:42:05 +0000
 1.1.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.2 17-Apr-2002  nathanw Catch up to -current.
 1.1.2.1 27-Oct-2001  nathanw file ifpga_io.c was added on branch nathanw_sa on 2002-04-17 00:02:55 +0000
 1.5.2.5 11-Dec-2005  christos Sync with head.
 1.5.2.4 01-Apr-2005  skrll Sync with HEAD.
 1.5.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6.10.1 13-Feb-2005  yamt use new apis.
 1.6.8.1 29-Apr-2005  kent sync with -current
 1.7.8.1 29-Nov-2005  yamt sync with head.
 1.7.2.1 21-Jun-2006  yamt sync with head.
 1.8.92.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.86.1 28-Apr-2009  skrll Sync with HEAD.
 1.8.78.1 04-May-2009  yamt sync with head.
 1.10.6.1 18-Feb-2012  mrg merge to -current.
 1.10.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.10.2.1 17-Apr-2012  yamt sync with head
 1.11.6.1 25-Feb-2013  tls resync with head
 1.12.36.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.2 12-Apr-2002  thorpej Use the bus_space_generic bus space ops.
 1.1 27-Oct-2001  rearnsha branches: 1.1.2; 1.1.4;
Support for the Integrator/AP core-logic FPGA.
 1.1.4.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 27-Oct-2001  thorpej file ifpga_io_asm.S was added on branch kqueue on 2002-01-10 19:42:06 +0000
 1.1.2.2 17-Apr-2002  nathanw Catch up to -current.
 1.1.2.1 27-Oct-2001  nathanw file ifpga_io_asm.S was added on branch nathanw_sa on 2002-04-17 00:02:56 +0000
 1.5 06-Sep-2003  rearnsha Obsolete.
 1.4 02-Jan-2003  thorpej branches: 1.4.2;
Garbage-collect prev_intr_depth; nothing uses it.
 1.3 14-Oct-2002  bjh21 Continue the " - . - 8" purge. Specifically:

add rd, pc, #foo - . - 8 -> adr rd, foo
ldr rd, [pc, #foo - . - 8] -> ldr rd, foo

Also, when saving the return address for a function pointer call, use
"mov lr, pc" just before the call unless the return address is somewhere
other than just after the call site.

Finally, a few obvious little micro-optimisations like using LDR directly
rather than ADR followed by LDR, and loading directly into PC rather than
bouncing via R0.
 1.2 29-Oct-2001  rearnsha branches: 1.2.2; 1.2.4;
Garbage collect some early debug hacks that should not have been
committed in the first place and prevent linking.
 1.1 27-Oct-2001  rearnsha Support for the Integrator/AP core-logic FPGA.
 1.2.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.4.1 29-Oct-2001  thorpej file ifpga_irq.S was added on branch kqueue on 2002-01-10 19:42:06 +0000
 1.2.2.3 03-Jan-2003  thorpej Sync with HEAD.
 1.2.2.2 18-Oct-2002  nathanw Catch up to -current.
 1.2.2.1 29-Oct-2001  nathanw file ifpga_irq.S was added on branch nathanw_sa on 2002-10-18 02:36:27 +0000
 1.4.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6 06-Sep-2003  rearnsha Obsolete.
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 06-Oct-2002  thorpej branches: 1.4.6;
Make this compile with strict prototypes.
 1.3 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.2 30-Jan-2002  thorpej New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.1 27-Oct-2001  rearnsha branches: 1.1.2; 1.1.4;
Support for the Integrator/AP core-logic FPGA.
 1.1.4.4 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.4.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 27-Oct-2001  thorpej file ifpga_irqhandler.c was added on branch kqueue on 2002-01-10 19:42:07 +0000
 1.1.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Oct-2001  nathanw file ifpga_irqhandler.c was added on branch nathanw_sa on 2002-02-28 04:09:09 +0000
 1.4.6.1 03-Aug-2004  skrll Sync with HEAD
 1.26 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.25 26-Nov-2018  jmcneill Switch to designated initializers
 1.24 16-Nov-2018  jmcneill Add intr_establish_xname support to arm and expose it to intrctl
 1.23 08-Nov-2018  skrll Fix build after recent arm32_pci_chipset change
 1.22 02-Nov-2018  maya Keep up with pci_intr_handle_t type change in printf.
 1.21 23-Oct-2018  jmcneill Fix printf format strings - pci_intr_handle_t is uint64_t now on arm
 1.20 21-Apr-2017  jmcneill branches: 1.20.10; 1.20.12;
Initialize intr_setattr of arm32_pci_chipset
 1.19 02-Oct-2015  msaitoh branches: 1.19.2; 1.19.4;
PCI Extended Configuration stuff written by nonaka@:
- Add PCI Extended Configuration Space support into x86.
- Check register offset of pci_conf_read() in MD part. It returns (pcireg_t)-1
if it isn't accessible.
- Decode Extended Capability in PCI Extended Configuration Space.
Currently the following extended capabilities are decoded:
- Advanced Error Reporting
- Virtual Channel
- Device Serial Number
- Power Budgeting
- Root Complex Link Declaration
- Root Complex Event Collector Association
- Access Control Services
- Alternative Routing-ID Interpretation
- Address Translation Services
- Single Root IO Virtualization
- Page Request
- TPH Requester
- Latency Tolerance Reporting
- Secondary PCI Express
- Process Address Space ID
- LN Requester
- L1 PM Substates
The following extended capabilities are not decoded yet:
- Root Complex Internal Link Control
- Multi-Function Virtual Channel
- RCRB Header
- Vendor Unique
- Configuration Access Correction
- Multiple Root IO Virtualization
- Multicast
- Resizable BAR
- Dynamic Power Allocation
- Protocol Multiplexing
- Downstream Port Containment
- Precision Time Management
- M-PCIe
- Function Reading Status Queueing
- Readiness Time Reporting
- Designated Vendor-Specific
 1.18 29-Mar-2014  christos branches: 1.18.6;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.17 26-Mar-2014  christos kill sprintf.
 1.16 09-Mar-2014  martin Comment an unused variable
 1.15 07-Sep-2012  matt branches: 1.15.2; 1.15.4;
Fix pci_conf_interrupt issues
 1.14 04-Apr-2011  dyoung branches: 1.14.4;
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 21-Jul-2009  dyoung branches: 1.13.4; 1.13.6;
device_t/softc split. Compiled, but never run.
 1.12 11-Dec-2005  christos branches: 1.12.78;
merge ktrace-lwp.
 1.11 22-May-2005  christos No 0x in front of %p...
 1.10 07-Aug-2004  rearnsha Fix pasto error in comment.
 1.9 06-Sep-2003  rearnsha irqhandler.h and related baggage now obsolete.
 1.8 06-Sep-2003  rearnsha Switch to using generic soft interrupts.
 1.7 31-Jul-2003  he Initialize one more arm32_bus_dma_tag's _cookie to NULL.
 1.6 15-Jul-2003  lukem __KERNEL_RCSID()
 1.5 27-Sep-2002  provos branches: 1.5.6;
remove trailing \n in panic(). approved perry.
 1.4 17-Aug-2002  thorpej Use separate function pointers for dmamap_sync pre- vs post- operations.
Change the bus_dmamap_sync() macro to test the ops argument against pre-
and post- constants. The compiler will optimize out dead code because
of the constants. Since post- operations are not needed on ARM (except
for ISA bounce buffers), this eliminate a large number of function calls
which are noops, each of which cost at least 6 cycles just in the call
and return overhead (not to mention whatever other useless work the
compiler decides to do in the callee).
 1.3 31-Jul-2002  thorpej Overhaul how DMA ranges work in the ARM bus_dma implementation.

A new "arm32_dma_range" structure now describes a DMA window, with
a system address base, bus address base, and length. In addition to
providing info about which memory regions are legal for DMA, the new
structure provides address translation support, as well.

As before, if a tag does not list any ranges, then all addresses are
considered valid, and no DMA address translation is performed.

This allows us to remove a large chunk of code which was duplicated and
tweaked slightly (to do the address translation) from the stock ARM
bus_dma in the XScale IOP and ARM Integrator ports.

Test compiled on all ARM platforms, test booted on Intel IQ80321 and Shark.
 1.2 30-Jan-2002  thorpej branches: 1.2.8;
New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.1 27-Oct-2001  rearnsha branches: 1.1.2; 1.1.4;
Support for the Integrator/AP core-logic FPGA.
 1.1.4.5 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.4.4 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.4.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 27-Oct-2001  thorpej file ifpga_pci.c was added on branch kqueue on 2002-01-10 19:42:08 +0000
 1.1.2.5 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.4 19-Aug-2002  thorpej Partial (ARM only) sync with trunk -- significant performance improvements
for XScale-based systems.
 1.1.2.3 01-Aug-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Oct-2001  nathanw file ifpga_pci.c was added on branch nathanw_sa on 2002-02-28 04:09:09 +0000
 1.2.8.1 30-Aug-2002  gehenna catch up with -current.
 1.5.6.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.6.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.6.3 18-Sep-2004  skrll Sync with HEAD.
 1.5.6.2 12-Aug-2004  skrll Sync with HEAD.
 1.5.6.1 03-Aug-2004  skrll Sync with HEAD
 1.12.78.1 19-Aug-2009  yamt sync with head.
 1.13.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.13.4.1 21-Apr-2011  rmind sync with head
 1.14.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.14.4.1 30-Oct-2012  yamt sync with head
 1.15.4.1 18-May-2014  rmind sync with head
 1.15.2.2 03-Dec-2017  jdolecek update from HEAD
 1.15.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.18.6.2 28-Aug-2017  skrll Sync with HEAD
 1.18.6.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.19.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.19.2.1 26-Apr-2017  pgoyette Sync with HEAD
 1.20.12.1 10-Jun-2019  christos Sync with HEAD
 1.20.10.2 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.20.10.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.3 07-Sep-2012  matt Fix pci_conf_interrupt issues
 1.2 21-Jul-2009  dyoung branches: 1.2.12;
device_t/softc split. Compiled, but never run.
 1.1 27-Oct-2001  rearnsha branches: 1.1.2; 1.1.4; 1.1.126;
Support for the Integrator/AP core-logic FPGA.
 1.1.126.1 19-Aug-2009  yamt sync with head.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 27-Oct-2001  thorpej file ifpga_pcivar.h was added on branch kqueue on 2002-01-10 19:42:08 +0000
 1.1.2.2 27-Oct-2001  rearnsha Support for the Integrator/AP core-logic FPGA.
 1.1.2.1 27-Oct-2001  rearnsha file ifpga_pcivar.h was added on branch nathanw_sa on 2001-10-27 16:19:10 +0000
 1.2.12.1 30-Oct-2012  yamt sync with head
 1.2 19-Feb-2013  skrll Add support for the ARM Integrator/CP from Sergio L�pez.

The code hasn't been tested on real hardware, but INTEGRATOR_CP config
is useful for QEMU which supports it.
 1.1 27-Oct-2001  rearnsha branches: 1.1.2; 1.1.4; 1.1.160; 1.1.170;
Support for the Integrator/AP core-logic FPGA.
 1.1.170.1 25-Feb-2013  tls resync with head
 1.1.160.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.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 27-Oct-2001  thorpej file ifpgamem.h was added on branch kqueue on 2002-01-10 19:42:09 +0000
 1.1.2.2 27-Oct-2001  rearnsha Support for the Integrator/AP core-logic FPGA.
 1.1.2.1 27-Oct-2001  rearnsha file ifpgamem.h was added on branch nathanw_sa on 2001-10-27 16:19:10 +0000
 1.7 27-Jan-2015  jmcneill add plmmc(4) glue
 1.6 26-Jan-2015  skrll Don't mask irq 23
 1.5 19-Feb-2013  skrll branches: 1.5.14;
Add support for the ARM Integrator/CP from Sergio L�pez.

The code hasn't been tested on real hardware, but INTEGRATOR_CP config
is useful for QEMU which supports it.
 1.4 25-Jul-2012  skrll branches: 1.4.2;
Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.
 1.3 11-Dec-2005  christos branches: 1.3.112; 1.3.118;
merge ktrace-lwp.
 1.2 06-Sep-2003  rearnsha Fix incorrect definition of IFPGA_SC_LBFCODE_BEN1 and missing
definition of IFPGA_SC_LBFCODE_BEN0.
Add definitions for unused interrupt bits and a suitable mask (preparation
for switch to generic soft-ints code).
 1.1 27-Oct-2001  rearnsha branches: 1.1.2; 1.1.4; 1.1.20;
Support for the Integrator/AP core-logic FPGA.
 1.1.20.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.20.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.20.1 03-Aug-2004  skrll Sync with HEAD
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 27-Oct-2001  thorpej file ifpgareg.h was added on branch kqueue on 2002-01-10 19:42:09 +0000
 1.1.2.2 27-Oct-2001  rearnsha Support for the Integrator/AP core-logic FPGA.
 1.1.2.1 27-Oct-2001  rearnsha file ifpgareg.h was added on branch nathanw_sa on 2001-10-27 16:19:10 +0000
 1.3.118.1 09-Aug-2012  jdc Pull up revisions:
src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4
src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65
src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40
src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14
src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11
src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2
src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108
src/sys/arch/arm/arm32/cpu.c revision 1.79
src/sys/arch/arm/include/armreg.h revisions 1.49,1.54
src/sys/arch/arm/arm32/pmap.c revision 1.229
src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77
src/sys/arch/arm/include/cpu.h revision 1.64
src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3
src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1
src/sys/arch/arm/conf/files.arm revision 1.106
src/sys/arch/arm/include/cpufunc.h revision 1.57
src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24
src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8
src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4
src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69
src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1
src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1
src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1
src/sys/arch/evbarm/Makefile revision 1.9
src/sys/arch/evbarm/conf/RPI revision 1.1
src/sys/arch/evbarm/conf/files.rpi revision 1.1
src/sys/arch/evbarm/conf/mk.rpi revision 1.1
src/sys/arch/evbarm/conf/std.rpi revision 1.1
src/sys/arch/evbarm/rpi/genassym.cf revision 1.1
src/sys/arch/evbarm/rpi/rpi.h revision 1.1
src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1
src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2
src/etc/etc.evbarm/Makefile.inc revision 1.28
(requested by skrll in ticket #454).

don't mix #define<TAB> and #define<SPACE> in a file.

avoid warning with options PLCOM_DEBUG for INTEGRATOR.

Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.

Replace the simple_lock with a kmutex_t. Update the locking to match
com(4) in the few places it didn't already.

DOH. Replace a line that got accidently deleted in the last commit.

device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t

Add the 'Z' to the 1176 cpu product name.

ok matt@

Fix locking botch introduced in 1.36.

Fix a KASSERT. From/OK'ed by matt@

Fix racy softint dispatch that lead to KASSERT(si->si_active) in
softint_execute

Discussed with matt@. "Looks good to me"

Add the documented ARM11[37]6 Auxiliary control register defines.

Add support for the ARM1176JZS

Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).

Provide a method for attachments to specify capabilites.

Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.

Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.

Add RPI to KERNEL_SETS

Remove #if 0 code.
 1.3.112.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.3.112.1 30-Oct-2012  yamt sync with head
 1.4.2.2 03-Dec-2017  jdolecek update from HEAD
 1.4.2.1 25-Feb-2013  tls resync with head
 1.5.14.1 06-Apr-2015  skrll Sync with HEAD
 1.8 18-Aug-2013  matt <arm/locore.h> fallout (fixes some include ordering errors)
 1.7 19-Feb-2013  skrll branches: 1.7.2;
Add support for the ARM Integrator/CP from Sergio L�pez.

The code hasn't been tested on real hardware, but INTEGRATOR_CP config
is useful for QEMU which supports it.
 1.6 01-Jul-2011  dyoung branches: 1.6.2; 1.6.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.5 21-Jul-2009  dyoung device_t/softc split. Compiled, but never run.
 1.4 11-Dec-2005  christos branches: 1.4.78;
merge ktrace-lwp.
 1.3 06-Sep-2003  rearnsha Switch to using generic soft interrupts.
 1.2 06-Oct-2002  thorpej branches: 1.2.6;
Make this compile with strict prototypes.
 1.1 27-Oct-2001  rearnsha branches: 1.1.2; 1.1.4;
Support for the Integrator/AP core-logic FPGA.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 27-Oct-2001  thorpej file ifpgavar.h was added on branch kqueue on 2002-01-10 19:42:10 +0000
 1.1.2.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.1 27-Oct-2001  nathanw file ifpgavar.h was added on branch nathanw_sa on 2002-10-18 02:36:28 +0000
 1.2.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.6.1 03-Aug-2004  skrll Sync with HEAD
 1.4.78.1 19-Aug-2009  yamt sync with head.
 1.6.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.12.1 25-Feb-2013  tls resync with head
 1.6.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.7.2.1 28-Aug-2013  rmind sync with head
 1.3 06-Sep-2003  rearnsha irqhandler.h and related baggage now obsolete.
 1.2 12-Apr-2002  thorpej branches: 1.2.10;
Centralize ARM CPU configuration information by adding a new header
file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines
the following:
* CPU_NTYPES -- now many CPU types are configured into the kernel. What
you really want to know is "== 1" or "> 1".
* Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending
on which ARM architecture versions are configured (based on CPU_*
options). Also defines ARM_NARCH to determins how many architecture
versions are configured.
* Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on
which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS
to determine how many MMU classes are configured.

Remove the needless inclusion of "opt_cputypes.h" in several places.
Convert remaining users to <arm/cpuconf.h>.
 1.1 30-Jan-2002  thorpej branches: 1.1.2; 1.1.4;
New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.1.4.3 17-Apr-2002  nathanw Catch up to -current.
 1.1.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.1 30-Jan-2002  nathanw file irqhandler.h was added on branch nathanw_sa on 2002-02-28 04:09:10 +0000
 1.1.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.2.1 30-Jan-2002  jdolecek file irqhandler.h was added on branch kqueue on 2002-02-11 20:07:42 +0000
 1.2.10.1 03-Aug-2004  skrll 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 12-Dec-2009  tsutsui Remove `volatile' qualifier from argument types of
struct timeval passed to todr_gettime(9) and todr_settime(9).
We no longer have an ancient and volatile struct timeval `time'
global since we have switched to MI timercounter(9) on all port.

XXX1: some of these RTC drivers still assume 32bit time_t
XXX2: some of these should be rewritten to use todr_[gs]ettime_ymdhms()
XXX3: todr(9) man page doesn't mention todr_[gs]ettime_ymdhms()
 1.9 21-Jul-2009  dyoung device_t/softc split. Compiled, but never run.
 1.8 19-Feb-2007  briggs branches: 1.8.46;
Convert evbarm to __HAVE_GENERIC_TODR.
 1.7 11-Dec-2005  christos branches: 1.7.24; 1.7.26;
merge ktrace-lwp.
 1.6 15-Jul-2003  lukem branches: 1.6.16;
__KERNEL_RCSID()
 1.5 02-Oct-2002  thorpej branches: 1.5.6;
Use CFATTACH_DECL().
 1.4 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.3 27-Sep-2002  thorpej When in a match routine, the cfdata we're passed always references
our own cfdriver, so don't bother comparing the names, since they
will always match.
 1.2 23-Nov-2001  thorpej branches: 1.2.2;
Use <arm/cpufunc.h>, not <machine/cpufunc.h>.
 1.1 27-Oct-2001  rearnsha branches: 1.1.2;
Support for the Integrator/AP core-logic FPGA.
 1.1.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 27-Oct-2001  nathanw file pl030_rtc.c was added on branch nathanw_sa on 2002-01-08 00:24:13 +0000
 1.2.2.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.2.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.2.1 23-Nov-2001  thorpej file pl030_rtc.c was added on branch kqueue on 2002-01-10 19:42:10 +0000
 1.5.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.6.1 03-Aug-2004  skrll Sync with HEAD
 1.6.16.1 26-Feb-2007  yamt sync with head.
 1.7.26.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.7.24.1 04-Mar-2007  bouyer Pull up following revision(s) (requested by matt in ticket #470):
sys/arch/evbarm/iq80310/iq80310_timer.c: revision 1.20
sys/arch/evbarm/ifpga/pl030_rtc.c: revision 1.8
sys/arch/evbarm/include/types.h: revision 1.7
sys/arch/arm/arm32/genassym.cf: revision 1.30
sys/arch/arm/arm32/cpuswitch.S: revision 1.46
Get DOMAIN_CLIENT directly from arm/arm32/pte.h instead of from genassym
to avoid redefinition when both assymh and pte.h are included (as in
INTEGRATOR's intmmu.S, which uses more macros from pte.h).
Convert evbarm to __HAVE_GENERIC_TODR.
 1.8.46.2 11-Mar-2010  yamt sync with head
 1.8.46.1 19-Aug-2009  yamt sync with head.
 1.18 27-Jul-2021  skrll KNF and remove #include <sys/malloc.h>

Fixes the build - prompted by cjep.
 1.17 23-Oct-2018  jmcneill branches: 1.17.16;
Fix blank line printed at attach on ACPI
 1.16 19-Feb-2013  skrll branches: 1.16.36; 1.16.38;
Add support for the ARM Integrator/CP from Sergio L�pez.

The code hasn't been tested on real hardware, but INTEGRATOR_CP config
is useful for QEMU which supports it.
 1.15 24-Oct-2012  skrll Remove unnecessary cast.

From chuq (I think)
 1.14 25-Jul-2012  skrll branches: 1.14.2;
Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.
 1.13 20-May-2012  skrll device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t
 1.12 14-May-2012  skrll Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.
 1.11 01-Jul-2011  dyoung branches: 1.11.2; 1.11.6; 1.11.8;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.10 28-Mar-2006  thorpej Use device_unit().
 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 06-Sep-2003  rearnsha branches: 1.8.16;
Switch to using generic soft interrupts.
 1.7 15-Jul-2003  lukem __KERNEL_RCSID()
 1.6 02-Oct-2002  thorpej branches: 1.6.6;
Use CFATTACH_DECL().
 1.5 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.4 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.3 27-Sep-2002  thorpej When in a match routine, the cfdata we're passed always references
our own cfdriver, so don't bother comparing the names, since they
will always match.
 1.2 30-Jan-2002  thorpej New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.1 27-Oct-2001  rearnsha branches: 1.1.2; 1.1.4;
Support for the Integrator/AP core-logic FPGA.
 1.1.4.4 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.4.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 27-Oct-2001  thorpej file plcom_ifpga.c was added on branch kqueue on 2002-01-10 19:42:11 +0000
 1.1.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 27-Oct-2001  nathanw file plcom_ifpga.c was added on branch nathanw_sa on 2002-02-28 04:09:10 +0000
 1.6.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.6.1 03-Aug-2004  skrll Sync with HEAD
 1.8.16.1 21-Jun-2006  yamt sync with head.
 1.9.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.9.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.9.8.1 01-Apr-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.11.8.1 09-Aug-2012  jdc Pull up revisions:
src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4
src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65
src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40
src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14
src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11
src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2
src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108
src/sys/arch/arm/arm32/cpu.c revision 1.79
src/sys/arch/arm/include/armreg.h revisions 1.49,1.54
src/sys/arch/arm/arm32/pmap.c revision 1.229
src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77
src/sys/arch/arm/include/cpu.h revision 1.64
src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3
src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1
src/sys/arch/arm/conf/files.arm revision 1.106
src/sys/arch/arm/include/cpufunc.h revision 1.57
src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24
src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8
src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4
src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69
src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1
src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1
src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1
src/sys/arch/evbarm/Makefile revision 1.9
src/sys/arch/evbarm/conf/RPI revision 1.1
src/sys/arch/evbarm/conf/files.rpi revision 1.1
src/sys/arch/evbarm/conf/mk.rpi revision 1.1
src/sys/arch/evbarm/conf/std.rpi revision 1.1
src/sys/arch/evbarm/rpi/genassym.cf revision 1.1
src/sys/arch/evbarm/rpi/rpi.h revision 1.1
src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1
src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2
src/etc/etc.evbarm/Makefile.inc revision 1.28
(requested by skrll in ticket #454).

don't mix #define<TAB> and #define<SPACE> in a file.

avoid warning with options PLCOM_DEBUG for INTEGRATOR.

Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.

Replace the simple_lock with a kmutex_t. Update the locking to match
com(4) in the few places it didn't already.

DOH. Replace a line that got accidently deleted in the last commit.

device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t

Add the 'Z' to the 1176 cpu product name.

ok matt@

Fix locking botch introduced in 1.36.

Fix a KASSERT. From/OK'ed by matt@

Fix racy softint dispatch that lead to KASSERT(si->si_active) in
softint_execute

Discussed with matt@. "Looks good to me"

Add the documented ARM11[37]6 Auxiliary control register defines.

Add support for the ARM1176JZS

Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).

Provide a method for attachments to specify capabilites.

Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.

Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.

Add RPI to KERNEL_SETS

Remove #if 0 code.
 1.11.6.1 02-Jun-2012  mrg sync to latest -current.
 1.11.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.11.2.2 30-Oct-2012  yamt sync with head
 1.11.2.1 23-May-2012  yamt sync with head.
 1.14.2.2 25-Feb-2013  tls resync with head
 1.14.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.16.38.1 10-Jun-2019  christos Sync with HEAD
 1.16.36.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.17.16.1 01-Aug-2021  thorpej Sync with HEAD.
 1.2 20-May-2012  skrll device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t
 1.1 27-Oct-2001  rearnsha branches: 1.1.2; 1.1.4; 1.1.160; 1.1.164; 1.1.166;
Support for the Integrator/AP core-logic FPGA.
 1.1.166.1 09-Aug-2012  jdc Pull up revisions:
src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4
src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65
src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40
src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14
src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11
src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2
src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108
src/sys/arch/arm/arm32/cpu.c revision 1.79
src/sys/arch/arm/include/armreg.h revisions 1.49,1.54
src/sys/arch/arm/arm32/pmap.c revision 1.229
src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77
src/sys/arch/arm/include/cpu.h revision 1.64
src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3
src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1
src/sys/arch/arm/conf/files.arm revision 1.106
src/sys/arch/arm/include/cpufunc.h revision 1.57
src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24
src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8
src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4
src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69
src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1
src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1
src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1
src/sys/arch/evbarm/Makefile revision 1.9
src/sys/arch/evbarm/conf/RPI revision 1.1
src/sys/arch/evbarm/conf/files.rpi revision 1.1
src/sys/arch/evbarm/conf/mk.rpi revision 1.1
src/sys/arch/evbarm/conf/std.rpi revision 1.1
src/sys/arch/evbarm/rpi/genassym.cf revision 1.1
src/sys/arch/evbarm/rpi/rpi.h revision 1.1
src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1
src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2
src/etc/etc.evbarm/Makefile.inc revision 1.28
(requested by skrll in ticket #454).

don't mix #define<TAB> and #define<SPACE> in a file.

avoid warning with options PLCOM_DEBUG for INTEGRATOR.

Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.

Replace the simple_lock with a kmutex_t. Update the locking to match
com(4) in the few places it didn't already.

DOH. Replace a line that got accidently deleted in the last commit.

device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t

Add the 'Z' to the 1176 cpu product name.

ok matt@

Fix locking botch introduced in 1.36.

Fix a KASSERT. From/OK'ed by matt@

Fix racy softint dispatch that lead to KASSERT(si->si_active) in
softint_execute

Discussed with matt@. "Looks good to me"

Add the documented ARM11[37]6 Auxiliary control register defines.

Add support for the ARM1176JZS

Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).

Provide a method for attachments to specify capabilites.

Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.

Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.

Add RPI to KERNEL_SETS

Remove #if 0 code.
 1.1.164.1 02-Jun-2012  mrg sync to latest -current.
 1.1.160.1 23-May-2012  yamt sync with head.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 27-Oct-2001  thorpej file plcom_ifpgavar.h was added on branch kqueue on 2002-01-10 19:42:11 +0000
 1.1.2.2 27-Oct-2001  rearnsha Support for the Integrator/AP core-logic FPGA.
 1.1.2.1 27-Oct-2001  rearnsha file plcom_ifpgavar.h was added on branch nathanw_sa on 2001-10-27 16:19:11 +0000
 1.2 27-Jul-2021  skrll KNF and remove #include <sys/malloc.h>

Fixes the build - prompted by cjep.
 1.1 27-Jan-2015  jmcneill branches: 1.1.2; 1.1.18; 1.1.38;
add plmmc(4) glue
 1.1.38.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 27-Jan-2015  jdolecek file plmmc_ifpga.c was added on branch tls-maxphys on 2017-12-03 11:36:04 +0000
 1.1.2.2 06-Apr-2015  skrll Sync with HEAD
 1.1.2.1 27-Jan-2015  skrll file plmmc_ifpga.c was added on branch nick-nhusb on 2015-04-06 15:17:55 +0000
 1.2 23-Feb-2013  skrll branches: 1.2.4; 1.2.14;
aprintf -> aprint_normal
 1.1 19-Feb-2013  skrll Add support for the ARM Integrator/CP from Sergio L�pez.

The code hasn't been tested on real hardware, but INTEGRATOR_CP config
is useful for QEMU which supports it.
 1.2.14.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.2.14.1 23-Feb-2013  yamt file sm_ifpga.c was added on branch yamt-pagecache on 2014-05-22 11:39:41 +0000
 1.2.4.2 25-Feb-2013  tls resync with head
 1.2.4.1 23-Feb-2013  tls file sm_ifpga.c was added on branch tls-maxphys on 2013-02-25 00:28:36 +0000
 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 21-Apr-2023  skrll Trailing whitespace.
 1.14 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.13 03-Dec-2021  andvar fix various typos in comments, log messages and documentation.
 1.12 10-Aug-2021  skrll G/C unused flag
 1.11 28-Nov-2020  skrll Fix thinko in kern_vtopdiff calculation
 1.10 26-Nov-2020  skrll Trailing whitespace
 1.9 16-Jul-2019  skrll branches: 1.9.10;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.8 12-Aug-2018  skrll Fix IMX23_OLINUXINO build
 1.7 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.6 10-Jan-2015  jmcneill branches: 1.6.16; 1.6.18;
Petri Laakso <petri.laakso@asd.fi>
- New audio driver
- Add new devices rtc and digfilt
- Use BOOT_ARGS if defined in kernel configuration
 1.5 10-Jan-2015  jmcneill define MEMSIZE in opt_imx.h, fixes build of IMX23_OLINUXINO kernel
 1.4 29-Oct-2014  skrll branches: 1.4.2;
PR/48669 evbarm/imx23_olinuxino (ARM9E) doesn't boot.

Don't try to map all memory and fix booting.
 1.3 07-Oct-2013  matt branches: 1.3.4;
iMX233/OLinuXino changes from Petri Laskso.
See http://mail-index.netbsd.org/port-arm/2013/10/07/msg002042.html
 1.2 23-Feb-2013  jkunz branches: 1.2.2; 1.2.4;
Contribution from Petri Laakso:
- Support for passing kernel arguments.
- entropy_init() removed as OLINUXINO doesn't generate entropy bits without
user interaction.
- FIFO contents are flushed when DEBUG is enabled.
 1.1 20-Nov-2012  jkunz branches: 1.1.2;
Add initial support for Olimex iMX233 based OLinuXino boards.
https://www.olimex.com/Products/OLinuXino/iMX233/
Contributed by Petri Laakso.
 1.1.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.1.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.1.2.1 20-Nov-2012  yamt file imx23_olinuxino_machdep.c was added on branch yamt-pagecache on 2013-01-16 05:32:53 +0000
 1.2.4.4 03-Dec-2017  jdolecek update from HEAD
 1.2.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.4.2 25-Feb-2013  tls resync with head
 1.2.4.1 23-Feb-2013  tls file imx23_olinuxino_machdep.c was added on branch tls-maxphys on 2013-02-25 00:28:36 +0000
 1.2.2.1 18-May-2014  rmind sync with head
 1.3.4.1 30-Oct-2014  martin Pull up following revision(s) (requested by skrll in ticket #169):
sys/arch/evbarm/imx23_olinuxino/imx23_olinuxino_machdep.c: revision 1.4
PR/48669 evbarm/imx23_olinuxino (ARM9E) doesn't boot.
Don't try to map all memory and fix booting.
 1.4.2.1 06-Apr-2015  skrll Sync with HEAD
 1.6.18.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.6.18.1 10-Jun-2019  christos Sync with HEAD
 1.6.16.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.9.10.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.3 10-Jan-2015  jmcneill define MEMSIZE in opt_imx.h, fixes build of IMX23_OLINUXINO kernel
 1.2 07-Oct-2013  matt branches: 1.2.6;
iMX233/OLinuXino changes from Petri Laskso.
See http://mail-index.netbsd.org/port-arm/2013/10/07/msg002042.html
 1.1 20-Nov-2012  jkunz branches: 1.1.2; 1.1.4; 1.1.6;
Add initial support for Olimex iMX233 based OLinuXino boards.
https://www.olimex.com/Products/OLinuXino/iMX233/
Contributed by Petri Laakso.
 1.1.6.4 03-Dec-2017  jdolecek update from HEAD
 1.1.6.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.2 25-Feb-2013  tls resync with head
 1.1.6.1 20-Nov-2012  tls file imx23_olinuxino_start.S was added on branch tls-maxphys on 2013-02-25 00:28:37 +0000
 1.1.4.1 18-May-2014  rmind sync with head
 1.1.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.1.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.1.2.1 20-Nov-2012  yamt file imx23_olinuxino_start.S was added on branch yamt-pagecache on 2013-01-16 05:32:53 +0000
 1.2.6.1 06-Apr-2015  skrll Sync with HEAD
 1.30 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.29 17-Aug-2021  andvar fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.28 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.27 18-Apr-2020  skrll Trailing whitespace
 1.26 16-Jul-2019  skrll branches: 1.26.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.25 16-Jul-2019  skrll KNF
 1.24 28-Oct-2018  skrll Fix a commit
 1.23 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.22 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.21 15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.20 13-Mar-2018  ryo branches: 1.20.2;
fix compile error (printf format)
 1.19 22-Dec-2016  cherry branches: 1.19.14;
switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.18 13-Sep-2014  matt branches: 1.18.2; 1.18.4;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.17 18-Aug-2013  matt <arm/locore.h> fallout (fixes some include ordering errors)
 1.16 22-Sep-2012  matt branches: 1.16.2;
Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.15 16-Aug-2012  matt branches: 1.15.2;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.14 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.13 01-Jul-2011  dyoung branches: 1.13.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.12 30-Jun-2011  wiz dependant -> dependent
 1.11 28-Nov-2010  hannken As md(4) no longer has "needs-count" there is no "md.h" anymore.
Remove the inclusion of this file.

Acorn32 now always builds load_memory_disc_from_floppy(). This should
not be a problem as all configs have md(4).

Observed by: Masao Uebayashi <uebayasi@netbsd.org>
 1.10 13-Nov-2010  bsh make this compile again. Need to revisit for UART support.
 1.9 26-Dec-2009  uebayasi branches: 1.9.4;
Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.8 26-Dec-2009  uebayasi Garbage collect an unused global, vm_offset_t pagetables_start.
 1.7 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.6 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.5 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 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 30-Jun-2008  perry branches: 1.3.2; 1.3.4;
__FUNCTION__ -> __func__
 1.2 27-Apr-2008  matt branches: 1.2.2; 1.2.4;
Merge kernel changes in matt-armv6 to HEAD.
 1.1 11-Sep-2007  matt branches: 1.1.2; 1.1.20; 1.1.22; 1.1.24;
file imx31lk_machdep.c was initially added on branch matt-armv6.
 1.1.24.4 11-Mar-2010  yamt sync with head
 1.1.24.3 19-Aug-2009  yamt sync with head.
 1.1.24.2 04-May-2009  yamt sync with head.
 1.1.24.1 16-May-2008  yamt sync with head.
 1.1.22.1 18-May-2008  yamt sync with head.
 1.1.20.3 17-Jan-2009  mjf Sync with HEAD.
 1.1.20.2 02-Jul-2008  mjf Sync with HEAD.
 1.1.20.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.2.2 28-Jan-2008  matt Adapt to new pmap_bootstrap signature.
 1.1.2.1 11-Sep-2007  matt More support for Freescale i.MX31 DEV LITE KIT
 1.2.4.1 03-Jul-2008  simonb Sync with head.
 1.2.2.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.3.4.1 19-Jan-2009  skrll Sync with HEAD.
 1.3.2.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.9.4.1 05-Mar-2011  rmind sync with head
 1.13.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.13.2.1 30-Oct-2012  yamt sync with head
 1.15.2.3 03-Dec-2017  jdolecek update from HEAD
 1.15.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.15.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.16.2.1 28-Aug-2013  rmind sync with head
 1.18.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.18.2.1 05-Feb-2017  skrll Sync with HEAD
 1.19.14.5 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.19.14.4 30-Sep-2018  pgoyette Ssync with HEAD
 1.19.14.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.19.14.2 28-Jul-2018  pgoyette Sync with HEAD
 1.19.14.1 15-Mar-2018  pgoyette Synch with HEAD
 1.20.2.3 21-Apr-2020  martin Sync with HEAD
 1.20.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.20.2.1 10-Jun-2019  christos Sync with HEAD
 1.26.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.6 12-Nov-2012  skrll C99 types
 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 30-Jun-2008  perry __FUNCTION__ -> __func__
 1.2 27-Apr-2008  matt branches: 1.2.2; 1.2.4;
Merge kernel changes in matt-armv6 to HEAD.
 1.1 11-Sep-2007  matt branches: 1.1.2; 1.1.20; 1.1.22; 1.1.24;
file imx31lk_pcic.c was initially added on branch matt-armv6.
 1.1.24.2 04-May-2009  yamt sync with head.
 1.1.24.1 16-May-2008  yamt sync with head.
 1.1.22.1 18-May-2008  yamt sync with head.
 1.1.20.2 02-Jul-2008  mjf Sync with HEAD.
 1.1.20.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.2.1 11-Sep-2007  matt More support for Freescale i.MX31 DEV LITE KIT
 1.2.4.1 03-Jul-2008  simonb Sync with head.
 1.2.2.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.4.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.4.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.4.2.1 30-Oct-2012  yamt sync with head
 1.2 27-Apr-2008  matt Merge kernel changes in matt-armv6 to HEAD.
 1.1 11-Sep-2007  matt branches: 1.1.2; 1.1.20; 1.1.22; 1.1.24;
file imx31lk_reg.h was initially added on branch matt-armv6.
 1.1.24.1 16-May-2008  yamt sync with head.
 1.1.22.1 18-May-2008  yamt sync with head.
 1.1.20.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.2.1 11-Sep-2007  matt More support for Freescale i.MX31 DEV LITE KIT
 1.7 28-Nov-2020  skrll Build fix
 1.6 15-Oct-2018  skrll branches: 1.6.12;
Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.5 30-Mar-2014  matt branches: 1.5.28; 1.5.30;
Deal with ARM_MMU_EXTENDED.
 1.4 31-Jan-2011  matt branches: 1.4.4; 1.4.14; 1.4.18;
Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.3 05-Nov-2009  uebayasi branches: 1.3.4; 1.3.6; 1.3.8;
Informative comments instead of useless blank lines.
 1.2 27-Apr-2008  matt Merge kernel changes in matt-armv6 to HEAD.
 1.1 11-Sep-2007  matt branches: 1.1.2; 1.1.20; 1.1.22; 1.1.24;
file imx31lk_start.S was initially added on branch matt-armv6.
 1.1.24.2 11-Mar-2010  yamt sync with head
 1.1.24.1 16-May-2008  yamt sync with head.
 1.1.22.1 18-May-2008  yamt sync with head.
 1.1.20.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.2.1 11-Sep-2007  matt More support for Freescale i.MX31 DEV LITE KIT
 1.3.8.1 08-Feb-2011  bouyer Sync with HEAD
 1.3.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.4.1 05-Mar-2011  rmind sync with head
 1.4.18.1 18-May-2014  rmind sync with head
 1.4.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.4.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.5.30.1 10-Jun-2019  christos Sync with HEAD
 1.5.28.1 20-Oct-2018  pgoyette Sync with head
 1.6.12.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.22 23-Jul-2014  alnsn Rename sljitarch.h to sljit_machdep.h.
 1.21 17-Jun-2014  alnsn Add sljit support to arm.
 1.20 02-May-2013  matt branches: 1.20.8;
This change arm, armeb, earm, earmeb, earmhf, earmhfeb so all builds that
share a MACHINE_ARCH for userland so that except for etc, will produce
identical sets.

usr/include/machine now points to usr/include/arm
 1.19 01-May-2013  matt Use the common Makefile to pick up includes needed to be done by every
arm port.
 1.18 11-Jan-2013  matt Don't install fp.h anymore
 1.17 17-Jul-2011  dyoung branches: 1.17.2; 1.17.12;
On ARM-ish ports having PCI support, use new-style <sys/bus.h>. Do not
install <machine/bus.h>. Remove various <machine/bus.h> sources.
 1.16 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.15 19-Jan-2008  chris Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.14 09-Feb-2007  ad branches: 1.14.20; 1.14.24; 1.14.30; 1.14.36;
Merge newlock2 to head.
 1.13 26-Jul-2006  drochner branches: 1.13.4;
don't install <machine/db_machdep.h>, this is kernel only
 1.12 11-Dec-2005  christos branches: 1.12.4; 1.12.8;
merge ktrace-lwp.
 1.11 08-May-2004  kleink branches: 1.11.12;
Factor out W{CHAR,INT}_{MAX,MIN} into their own header file.
 1.10 17-Jan-2003  thorpej branches: 1.10.2;
Merge the nathanw_sa branch.
 1.9 26-Nov-2002  lukem Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more.
 1.8 07-Aug-2002  briggs Implement pmc(9) -- An interface to hardware performance monitoring
counters. These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface. Initially, the Intel XScale
counters are the only ones supported.
 1.7 26-Nov-2001  thorpej branches: 1.7.8;
Delete <machine/psl.h> from the ARM ports. It's not a header that
we need to provide to MI code or to userland, and it's also not a
header that generic ARM code should be including directly.
 1.6 25-Nov-2001  thorpej Move disklabel_acorn.h to <sys/disklabel_acorn.h>, much like we did
with disklabel_mbr.h. More cleanup yet to come.
 1.5 25-Nov-2001  thorpej End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.4 22-Nov-2001  thorpej Remove kerndebug.h from non-Shark code (it's a Shark-specific header
file, and probably should be done away with anyway).
 1.3 22-Nov-2001  thorpej No need for <machine/rtc.h> here.
 1.2 22-Nov-2001  thorpej Kill <machine/katelib.h>. Any place that still uses it should just
reference <arm/arm32/katelib.h> until such time as all use of this
file has been purged from the face of the earth.
 1.1 05-Sep-2001  matt branches: 1.1.6;
more evbarm files (very incomplete).
 1.1.6.5 11-Dec-2002  thorpej Sync with HEAD.
 1.1.6.4 13-Aug-2002  nathanw Catch up to -current.
 1.1.6.3 11-Apr-2002  thorpej Add mcontext.h
 1.1.6.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.6.1 05-Sep-2001  nathanw file Makefile was added on branch nathanw_sa on 2002-01-08 00:24:13 +0000
 1.7.8.1 30-Aug-2002  gehenna catch up with -current.
 1.10.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.10.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.10.2.1 03-Aug-2004  skrll Sync with HEAD
 1.11.12.3 21-Jan-2008  yamt sync with head
 1.11.12.2 26-Feb-2007  yamt sync with head.
 1.11.12.1 30-Dec-2006  yamt sync with 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.4.1 01-Feb-2007  ad Header file cleanup.
 1.14.36.1 20-Jan-2008  bouyer Sync with HEAD
 1.14.30.1 18-Feb-2008  mjf Sync with HEAD.
 1.14.24.1 23-Mar-2008  matt sync with HEAD
 1.14.20.1 28-Feb-2008  rjs Sync with HEAD.
 1.17.12.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.17.12.2 23-Jun-2013  tls resync from head
 1.17.12.1 25-Feb-2013  tls resync with head
 1.17.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.17.2.1 23-Jan-2013  yamt sync with head
 1.20.8.1 10-Aug-2014  tls Rebase.
 1.1 12-Oct-2018  jmcneill branches: 1.1.2; 1.1.6;
Add wrapper for acpi_machdep.h
 1.1.6.2 10-Jun-2019  christos Sync with HEAD
 1.1.6.1 12-Oct-2018  christos file acpi_machdep.h was added on branch phil-wifi on 2019-06-10 22:06:07 +0000
 1.1.2.2 20-Oct-2018  pgoyette Sync with head
 1.1.2.1 12-Oct-2018  pgoyette file acpi_machdep.h was added on branch pgoyette-compat on 2018-10-20 06:58:27 +0000
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file ansi.h was added on branch kqueue on 2002-01-10 19:42:12 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file ansi.h was added on branch nathanw_sa on 2002-01-08 00:24:13 +0000
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file aout_machdep.h was added on branch kqueue on 2002-01-10 19:42:12 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file aout_machdep.h was added on branch nathanw_sa on 2002-01-08 00:24:14 +0000
 1.2 10-Jul-2020  skrll Add support for KASAN on ARMv[67]

Thanks to maxv for many pointers and reviews.
 1.1 01-Nov-2018  maxv branches: 1.1.2; 1.1.6;
Add kASan support for aarch64. Stack tracking needs more investigation
and will come in a separate commit.

Reviewed by ryo@ jmcneill@ skrll@.
 1.1.6.2 10-Jun-2019  christos Sync with HEAD
 1.1.6.1 01-Nov-2018  christos file asan.h was added on branch phil-wifi on 2019-06-10 22:06:07 +0000
 1.1.2.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.2.1 01-Nov-2018  pgoyette file asan.h was added on branch pgoyette-compat on 2018-11-26 01:52:22 +0000
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file asm.h was added on branch kqueue on 2002-01-10 19:42:13 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file asm.h was added on branch nathanw_sa on 2002-01-08 00:24:14 +0000
 1.3 26-Sep-2020  skrll G/C arm/atomic.h
 1.2 03-Mar-2018  skrll RCSid police
 1.1 19-Oct-2002  bsh branches: 1.1.2; 1.1.72;
make atomic_{set,clear}_bit() inline for arm32 ports, and
add <machine/atomic.h> for them.
 1.1.72.1 19-Apr-2007  thorpej Convert to the new atomic ops API.
 1.1.2.2 11-Nov-2002  nathanw Catch up to -current
 1.1.2.1 19-Oct-2002  nathanw file atomic.h was added on branch nathanw_sa on 2002-11-11 21:57:55 +0000
 1.9 27-Aug-2018  jmcneill Add evbarm_cpu_rootconf callback for hooking into cpu_rootconf
 1.8 10-May-2014  reinoud branches: 1.8.26; 1.8.28;
Define and implement device_register_post_config() hook analog to the
device_register() hook.

Already found on sparc64 and librump. Tested compilation and running of
machines with and without the hook defined.
 1.7 27-Oct-2012  chs branches: 1.7.2; 1.7.10;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.6 05-Sep-2012  matt branches: 1.6.2;
Allow <arm/mainbus/mainbus.h> to supply mainbus_attach_args.
 1.5 28-Apr-2008  martin branches: 1.5.18; 1.5.34; 1.5.42;
Remove clause 3 and 4 from TNF licenses
 1.4 11-Dec-2005  christos branches: 1.4.74; 1.4.76; 1.4.78;
merge ktrace-lwp.
 1.3 04-Jul-2003  thorpej Provide a hook for board-specific code to register a device_register()
function.
 1.2 07-Nov-2001  thorpej branches: 1.2.2; 1.2.14; 1.2.20;
Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
 1.1 05-Sep-2001  matt branches: 1.1.4;
more evbarm files (very incomplete).
 1.1.4.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.2.20.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.20.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.20.1 03-Aug-2004  skrll Sync with HEAD
 1.2.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.14.1 07-Nov-2001  jdolecek file autoconf.h was added on branch kqueue on 2002-06-23 17:35:39 +0000
 1.2.2.2 07-Nov-2001  thorpej Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
 1.2.2.1 07-Nov-2001  thorpej file autoconf.h was added on branch nathanw_sa on 2001-11-07 00:33:24 +0000
 1.4.78.1 16-May-2008  yamt sync with head.
 1.4.76.1 18-May-2008  yamt sync with head.
 1.4.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.5.42.1 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.5.34.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.5.34.1 30-Oct-2012  yamt sync with head
 1.5.18.1 15-Feb-2014  matt Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.
 1.6.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.7.10.1 10-Aug-2014  tls Rebase.
 1.7.2.1 18-May-2014  rmind sync with head
 1.8.28.1 10-Jun-2019  christos Sync with HEAD
 1.8.26.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.11 10-Aug-2021  skrll G/C unused flag
 1.10 18-Jun-2018  jmcneill Pull in opt_bootconfig.h for DRAM_BLOCKS
 1.9 01-Apr-2018  ryo Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.8 05-Jul-2017  jmcneill branches: 1.8.4;
Wrap include of opt_machdep.h in ifdef _KERNEL_OPT
 1.7 05-Jul-2017  jmcneill Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
 1.6 06-Feb-2006  hamajima branches: 1.6.116; 1.6.136; 1.6.152;
Add support for the Atmark Techno Armadillo-210.
Armadillo-210 is subset model of Armadillo-9.
 1.5 11-Dec-2005  christos branches: 1.5.2; 1.5.4; 1.5.6;
merge ktrace-lwp.
 1.4 04-Jun-2005  rearnsha branches: 1.4.2;
Include arm/bootconfig.h rather than duplicating common code.
 1.3 06-Sep-2003  rearnsha ANSIfy.
 1.2 06-Sep-2003  rearnsha Add a flags field to _PhysMem structure so that we can describe
attributes of memory regions (BOOT_DRAM_CAN_DMA, BOOT_DRAM_PREFER).
Rearrange order of BootConfig members so that the describing how many
dram regions we have preceeds the descriptions of each region.
 1.1 05-Sep-2001  matt branches: 1.1.6; 1.1.18; 1.1.24;
more evbarm files (very incomplete).
 1.1.24.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.24.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.24.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.24.1 03-Aug-2004  skrll Sync with HEAD
 1.1.18.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.18.1 05-Sep-2001  jdolecek file bootconfig.h was added on branch kqueue on 2002-06-23 17:35:40 +0000
 1.1.6.2 05-Sep-2001  matt more evbarm files (very incomplete).
 1.1.6.1 05-Sep-2001  matt file bootconfig.h was added on branch nathanw_sa on 2001-09-05 04:53:41 +0000
 1.4.2.1 21-Jun-2006  yamt sync with head.
 1.5.6.1 22-Apr-2006  simonb Sync with head.
 1.5.4.1 09-Sep-2006  rpaulo sync with head
 1.5.2.1 18-Feb-2006  yamt sync with head.
 1.6.152.2 19-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #144):
sys/arch/evbarm/include/bootconfig.h: revision 1.8
Wrap include of opt_machdep.h in ifdef _KERNEL_OPT
 1.6.152.1 18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.6.136.1 28-Aug-2017  skrll Sync with HEAD
 1.6.116.1 03-Dec-2017  jdolecek update from HEAD
 1.8.4.2 25-Jun-2018  pgoyette Sync with HEAD
 1.8.4.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file bswap.h was added on branch kqueue on 2002-01-10 19:42:13 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file bswap.h was added on branch nathanw_sa on 2002-01-08 00:24:14 +0000
 1.2 17-Jul-2011  dyoung On ARM-ish ports having PCI support, use new-style <sys/bus.h>. Do not
install <machine/bus.h>. Remove various <machine/bus.h> sources.
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file bus.h was added on branch kqueue on 2002-01-10 19:42:14 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file bus.h was added on branch nathanw_sa on 2002-01-08 00:24:14 +0000
 1.3 28-Jul-2012  matt Remove __BUS_SPACE_HAS_STREAM_METHODS
 1.2 12-Jul-2012  matt Enable bus_stream options.
 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 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file cdefs.h was added on branch kqueue on 2002-01-10 19:42:14 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file cdefs.h was added on branch nathanw_sa on 2002-01-08 00:24:14 +0000
 1.6 06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

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

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

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

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

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

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

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

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

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.5 20-Jul-2002  ichiro attach/match separated from ixp12x0_com
Some bug of com driver have been improved.
 1.4 28-Feb-2002  simonb branches: 1.4.8; 1.4.12;
Use "#define<tab>".
 1.3 25-Nov-2001  thorpej End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.2 27-Oct-2001  rearnsha branches: 1.2.2;
Add SCSI PCI and support for the integrator console.
 1.1 05-Sep-2001  matt branches: 1.1.4;
more evbarm files (very incomplete).
 1.1.4.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.2.2.5 17-Sep-2002  nathanw Catch up to -current.
 1.2.2.4 01-Aug-2002  nathanw Catch up to -current.
 1.2.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.2.2.1 27-Oct-2001  nathanw file conf.h was added on branch nathanw_sa on 2002-01-08 00:24:15 +0000
 1.4.12.4 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.4.12.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.4.12.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.12.1 28-Feb-2002  jdolecek file conf.h was added on branch kqueue on 2002-06-23 17:35:40 +0000
 1.4.8.1 19-May-2002  gehenna Remove port-dependent conf.h.
 1.6 01-Apr-2018  ryo Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.5 02-Jan-2003  thorpej branches: 1.5.192;
Clean up evbarm interrupt support a little:
* Define an ARM_INTR_IMPL option, which specifies a header file
describing the interrupt implementation for the platform. Use
this instead of the list of EVBARM_BOARDTYPE checks.
* Make the s3c2xx0 interrupt dispatch code a bit more generic, and move
it to a generic location so that other platforms can use it.

This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
 1.4 20-Nov-2002  bsh add an EVBARM_BOARDTYPE constant for Samsung S3C2400X/2410X based
boards. (not supported yet)
 1.3 01-Oct-2002  bsh add board type for Intel PXA2[15]0 and Samsung S3C2800 based boards.
 1.2 17-Aug-2002  briggs Add a new option EVBARM_BOARDTYPE to differentiate between different
evbarm ports. Inline _splraise/_spllower/splx for i80321 and iq80310
for more performance.
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4; 1.1.12;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.12.1 30-Aug-2002  gehenna catch up with -current.
 1.1.4.4 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.4.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file cpu.h was added on branch kqueue on 2002-01-10 19:42:14 +0000
 1.1.2.6 03-Jan-2003  thorpej Sync with HEAD.
 1.1.2.5 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.4 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.3 19-Aug-2002  thorpej Partial (ARM only) sync with trunk -- significant performance improvements
for XScale-based systems.
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file cpu.h was added on branch nathanw_sa on 2002-01-08 00:24:15 +0000
 1.5.192.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.2 01-Apr-2018  ryo Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1 14-Aug-2012  matt branches: 1.1.4; 1.1.6; 1.1.16; 1.1.44;
Add __HAVE_CPU_COUNTER support for ARM11 and Cortex CPUs
 1.1.44.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.16.2 15-Feb-2014  matt Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.
 1.1.16.1 14-Aug-2012  matt file cpu_counter.h was added on branch matt-nb5-mips64 on 2014-02-15 16:18:37 +0000
 1.1.6.2 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.1.6.1 14-Aug-2012  matt file cpu_counter.h was added on branch matt-nb6-plus on 2012-11-28 22:50:10 +0000
 1.1.4.2 30-Oct-2012  yamt sync with head
 1.1.4.1 14-Aug-2012  yamt file cpu_counter.h was added on branch yamt-pagecache on 2012-10-30 17:19:23 +0000
 1.2 22-Oct-2020  skrll Simplify the cpufunc.h header, i.e. always use #include <arm/cpufunc.h>
 1.1 12-Oct-2018  jmcneill branches: 1.1.2; 1.1.6;
Add cpufunc.h wrapper
 1.1.6.2 10-Jun-2019  christos Sync with HEAD
 1.1.6.1 12-Oct-2018  christos file cpufunc.h was added on branch phil-wifi on 2019-06-10 22:06:07 +0000
 1.1.2.2 20-Oct-2018  pgoyette Sync with head
 1.1.2.1 12-Oct-2018  pgoyette file cpufunc.h was added on branch pgoyette-compat on 2018-10-20 06:58:27 +0000
 1.2 01-Apr-2018  ryo Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4; 1.1.32;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.32.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file db_machdep.h was added on branch kqueue on 2002-01-10 19:42:15 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file db_machdep.h was added on branch nathanw_sa on 2002-01-08 00:24:16 +0000
 1.5 07-May-2013  matt Make all ports use a common disklabel.h with MAXPARTITIONS set to 16.
Only RAW_PART varies between ports.
 1.4 30-Aug-2011  bouyer branches: 1.4.2; 1.4.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.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 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.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4; 1.1.20;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.20.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file disklabel.h was added on branch kqueue on 2002-01-10 19:42:15 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file disklabel.h was added on branch nathanw_sa on 2002-01-08 00:24:16 +0000
 1.4.12.1 23-Jun-2013  tls resync from head
 1.4.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 25-Nov-2001  thorpej Move disklabel_acorn.h to <sys/disklabel_acorn.h>, much like we did
with disklabel_mbr.h. More cleanup yet to come.
 1.1 25-Nov-2001  thorpej End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1 11-Oct-2021  skrll Fix builds
 1.1 10-Jul-2023  rin Factor out some fdt(4) features from {,evb}arm into dev/fdt.

Now, FDT-based support to efirt, initrd, rndseed, and efirng can be
used from, e.g., riscv.

Mostly from Nick Hudson.

XXX
As Nick comments, there can be some optimizations for fdt_map_range().
efiboot may also be modified to load these objects into aligned PAs.
 1.2 01-Apr-2018  ryo Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4; 1.1.32;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.32.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file elf_machdep.h was added on branch kqueue on 2002-01-10 19:42:16 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file elf_machdep.h was added on branch nathanw_sa on 2002-01-08 00:24:17 +0000
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file endian.h was added on branch kqueue on 2002-01-10 19:42:16 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file endian.h was added on branch nathanw_sa on 2002-01-08 00:24:17 +0000
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file endian_machdep.h was added on branch kqueue on 2002-01-10 19:42:17 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file endian_machdep.h was added on branch nathanw_sa on 2002-01-08 00:24:17 +0000
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file float.h was added on branch kqueue on 2002-01-10 19:42:18 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file float.h was added on branch nathanw_sa on 2002-01-08 00:24:18 +0000
 1.2 11-Jan-2013  matt Remove FPA specific header.
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4; 1.1.160; 1.1.170;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.170.1 25-Feb-2013  tls resync with head
 1.1.160.1 23-Jan-2013  yamt sync with head
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file fp.h was added on branch kqueue on 2002-01-10 19:42:18 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file fp.h was added on branch nathanw_sa on 2002-01-08 00:24:18 +0000
 1.3 01-Apr-2018  ryo Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.2 25-Nov-2001  thorpej branches: 1.2.12; 1.2.30;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1 05-Sep-2001  matt branches: 1.1.6;
more evbarm files (very incomplete).
 1.1.6.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.6.1 05-Sep-2001  nathanw file frame.h was added on branch nathanw_sa on 2002-01-08 00:24:18 +0000
 1.2.30.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.2.12.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.12.1 25-Nov-2001  jdolecek file frame.h was added on branch kqueue on 2002-06-23 17:35:40 +0000
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file ieee.h was added on branch kqueue on 2002-01-10 19:42:19 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file ieee.h was added on branch nathanw_sa on 2002-01-08 00:24:19 +0000
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file ieeefp.h was added on branch kqueue on 2002-01-10 19:42:20 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file ieeefp.h was added on branch nathanw_sa on 2002-01-08 00:24:19 +0000
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file int_const.h was added on branch kqueue on 2002-01-10 19:42:20 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file int_const.h was added on branch nathanw_sa on 2002-01-08 00:24:19 +0000
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file int_fmtio.h was added on branch kqueue on 2002-01-10 19:42:21 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file int_fmtio.h was added on branch nathanw_sa on 2002-01-08 00:24:20 +0000
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file int_limits.h was added on branch kqueue on 2002-01-10 19:42:21 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file int_limits.h was added on branch nathanw_sa on 2002-01-08 00:24:20 +0000
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file int_mwgwtypes.h was added on branch kqueue on 2002-01-10 19:42:22 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file int_mwgwtypes.h was added on branch nathanw_sa on 2002-01-08 00:24:20 +0000
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file int_types.h was added on branch kqueue on 2002-01-10 19:42:22 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file int_types.h was added on branch nathanw_sa on 2002-01-08 00:24:21 +0000
 1.29 11-Jul-2023  riastradh evbarm/intr.h: Define ipl_cookie_t before including ARM_INTR_IMPL.

Otherwise arm/mutex.h doesn't work, due to a cyclic dependency which
should really be fixed.
 1.28 27-Jul-2020  skrll branches: 1.28.20;
Don't remove the _LKM #ifdefs, but do s/_LKM/_MODULE/
 1.27 23-Jul-2020  skrll unidef -U_LKM
 1.26 13-Mar-2014  matt Add IST_MPSAFE flag
 1.25 04-Feb-2014  matt _setsoftintr is long dead. reap any leftovers from arm.
 1.24 08-Nov-2012  skrll branches: 1.24.2;
unifdef __OLD_INTERRUPT_CODE
 1.23 10-Jun-2012  skrll branches: 1.23.2;
Remove unused __NEWINTR defines
 1.22 13-Nov-2010  uebayasi branches: 1.22.8; 1.22.16;
sys/device.h is not suitable for such low-level definitions.
 1.21 13-Jun-2010  tsutsui Apply fixes for PR port-arm/43339:
Set proper IPL_SOFTfoo values even in !FAST_SOFTINTS case.
Some assertions in MI code expect they have unique values,
per comments from rmind@.

Also cleanup various "interrupt hierarchy" code since IPL_NONE and
IPL_SOFTfoo should not be set by any hardware interrupt establish functions.

Ok'ed by mrg@, tested on shark and hpcarm.
 1.20 27-Apr-2008  matt branches: 1.20.18; 1.20.20; 1.20.22;
Merge kernel changes in matt-armv6 to HEAD.
 1.19 06-Jan-2008  matt branches: 1.19.6; 1.19.8; 1.19.10;
Cleanup softint lossage.
 1.18 03-Dec-2007  ad branches: 1.18.6;
Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.17 09-Mar-2007  thorpej branches: 1.17.2; 1.17.16; 1.17.18; 1.17.20; 1.17.26;
Make ipl_t and ipl_cookie_t 8-bit values. kmutex is now down to 12 bytes
(from 20) on ARM.

Approved by Matt Thomas.
 1.16 16-Feb-2007  ad branches: 1.16.2;
Remove spllowersoftclock() and CLKF_BASEPRI(), and always dispatch callouts
via a soft interrupt. In the near future, softclock will be run from process
context.
 1.15 21-Dec-2006  yamt merge yamt-splraiseipl branch.

- finish implementing splraiseipl (and makeiplcookie).
http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
- complete workqueue(9) and fix its ipl problem, which is reported
to cause audio skipping.
- fix netbt (at least compilation problems) for some ports.
- fix PR/33218.
 1.14 01-Jan-2006  yamt branches: 1.14.18; 1.14.20;
implement splraiseipl() for the following ports.
evbarm, iyonix, cats, netwinder, acorn26

reviewed by Bill Studenmund.
 1.13 24-Dec-2005  perry branches: 1.13.2;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.12 16-Jun-2003  thorpej branches: 1.12.18;
Rename IPL_IMP -> IPL_VM.
 1.11 27-Feb-2003  bsh Some interrupt controllers can select polarity of interrupt signals.
add IST_LEVEL_{LOW,HIGH} and IST_EDGE_{FALLING,RISING,BOTH} for them.
 1.10 02-Jan-2003  thorpej Clean up evbarm interrupt support a little:
* Define an ARM_INTR_IMPL option, which specifies a header file
describing the interrupt implementation for the platform. Use
this instead of the list of EVBARM_BOARDTYPE checks.
* Make the s3c2xx0 interrupt dispatch code a bit more generic, and move
it to a generic location so that other platforms can use it.

This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
 1.9 20-Nov-2002  bsh Intel PXA2X0 based and Samsung S3C2XX0 based boards.
 1.8 17-Aug-2002  briggs Add a new option EVBARM_BOARDTYPE to differentiate between different
evbarm ports. Inline _splraise/_spllower/splx for i80321 and iq80310
for more performance.
 1.7 30-Jan-2002  thorpej branches: 1.7.2; 1.7.6; 1.7.10;
New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.6 26-Nov-2001  thorpej Use <arm/arm32/psl.h> rather than <machine/psl.h>.
 1.5 26-Nov-2001  thorpej Remove the NEWINTR stuff; it's not used, incomplete, and I'm trying
to detangle the ARM interrupt code.
 1.4 25-Nov-2001  thorpej End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.3 27-Oct-2001  rearnsha branches: 1.3.2;
Add code to support machines that don't use NEWINTR.
 1.2 05-Sep-2001  matt branches: 1.2.4;
Add a NEWINTR option to reflect the new interrupt/spl being implemented in
evbarm.
 1.1 05-Sep-2001  matt more evbarm files (very incomplete).
 1.2.4.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.3.2.6 03-Jan-2003  thorpej Sync with HEAD.
 1.3.2.5 11-Dec-2002  thorpej Sync with HEAD.
 1.3.2.4 19-Aug-2002  thorpej Partial (ARM only) sync with trunk -- significant performance improvements
for XScale-based systems.
 1.3.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.3.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.3.2.1 27-Oct-2001  nathanw file intr.h was added on branch nathanw_sa on 2002-01-08 00:24:21 +0000
 1.7.10.1 30-Aug-2002  gehenna catch up with -current.
 1.7.6.1 17-Mar-2002  thorpej IPL_IMP -> IPL_VM
 1.7.2.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.7.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.7.2.1 30-Jan-2002  jdolecek file intr.h was added on branch kqueue on 2002-02-11 20:07:43 +0000
 1.12.18.6 21-Jan-2008  yamt sync with head
 1.12.18.5 07-Dec-2007  yamt sync with head
 1.12.18.4 03-Sep-2007  yamt sync with head.
 1.12.18.3 26-Feb-2007  yamt sync with head.
 1.12.18.2 30-Dec-2006  yamt sync with head.
 1.12.18.1 21-Jun-2006  yamt sync with head.
 1.13.2.1 15-Jan-2006  yamt sync with head.
 1.14.20.1 19-Sep-2006  yamt implement new api for evbarm.
 1.14.18.1 12-Jan-2007  ad Sync with head.
 1.16.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.17.26.2 18-Feb-2008  mjf Sync with HEAD.
 1.17.26.1 08-Dec-2007  mjf Sync with HEAD.
 1.17.20.2 09-Jan-2008  matt sync with HEAD
 1.17.20.1 30-Aug-2007  matt Add IST_SOFT
Don't include <arm/softintr.h> is schednetisr is already defined
 1.17.18.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.17.16.2 28-Feb-2008  rjs Sync with HEAD.
 1.17.16.1 26-Dec-2007  rjs Sync with HEAD.
 1.17.2.1 03-Dec-2007  ad Sync with HEAD.
 1.18.6.1 08-Jan-2008  bouyer Sync with HEAD
 1.19.10.2 11-Aug-2010  yamt sync with head.
 1.19.10.1 16-May-2008  yamt sync with head.
 1.19.8.1 18-May-2008  yamt sync with head.
 1.19.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.20.22.2 05-Mar-2011  rmind sync with head
 1.20.22.1 03-Jul-2010  rmind sync with head
 1.20.20.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.20.18.1 15-Feb-2014  matt Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.
 1.22.16.1 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.22.8.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.8.2 16-Jan-2013  yamt sync with (a bit old) head
 1.22.8.1 30-Oct-2012  yamt sync with head
 1.23.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.23.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.24.2.1 18-May-2014  rmind sync with head
 1.28.20.1 09-Aug-2023  martin Pull up following revision(s) (requested by maya in ticket #316):

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

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

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

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

Include psl.h for ipl_cookie_t if __MUTEX_PRIVATE

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

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

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

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

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

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

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

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

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

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

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

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

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

ddb: Cast pointer to uintptr_t first before db_expr_t.

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

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

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

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

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

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

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

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

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

Make ipl_cookie_t visible for _KMEMUSER userland applications.

fix editor mishap in previous

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

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

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

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

fix hppa and vax builds.

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

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

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

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

re-fix hppa builds.

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

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

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

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

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

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

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

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

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

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

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

Note that fls32 is 1-based and returns 0 for x=0.
 1.2 19-Jan-2008  chris Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4; 1.1.36; 1.1.94; 1.1.98; 1.1.104; 1.1.112;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.112.1 20-Jan-2008  bouyer Sync with HEAD
 1.1.104.1 18-Feb-2008  mjf Sync with HEAD.
 1.1.98.1 23-Mar-2008  matt sync with HEAD
 1.1.94.1 28-Feb-2008  rjs Sync with HEAD.
 1.1.36.1 21-Jan-2008  yamt sync with head
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file ipkdb.h was added on branch kqueue on 2002-01-10 19:42:23 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file ipkdb.h was added on branch nathanw_sa on 2002-01-08 00:24:21 +0000
 1.5 30-Jan-2002  thorpej New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.4 20-Dec-2001  thorpej branches: 1.4.2;
* Share a common vector page between arm26 and arm32.
* Use a common set of exception handlers for all arm32 platforms.
* New FIQ framework based on discussions with Ben Harris, shared
between arm26 and arm32.
 1.3 26-Nov-2001  thorpej Remove the NEWINTR stuff; it's not used, incomplete, and I'm trying
to detangle the ARM interrupt code.
 1.2 07-Nov-2001  thorpej branches: 1.2.2; 1.2.4;
Garbage collection.
 1.1 27-Oct-2001  rearnsha Temporary file, until such time as the integrator is made to
work with NEWINTR.
 1.2.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.2.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.2.4.1 07-Nov-2001  nathanw file irqhandler.h was added on branch nathanw_sa on 2002-01-08 00:24:21 +0000
 1.2.2.2 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.2.2.1 07-Nov-2001  thorpej file irqhandler.h was added on branch thorpej-mips-cache on 2001-11-12 21:16:51 +0000
 1.4.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.4.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.2.1 20-Dec-2001  thorpej file irqhandler.h was added on branch kqueue on 2002-01-10 19:42:24 +0000
 1.3 01-Apr-2018  ryo Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.2 11-Dec-2005  christos branches: 1.2.164;
merge ktrace-lwp.
 1.1 23-Dec-2004  joff branches: 1.1.4;
Need these files present for ISA support
 1.1.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.1 23-Dec-2004  skrll file isa_machdep.h was added on branch ktrace-lwp on 2005-01-17 19:29:13 +0000
 1.2.164.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 02-Jul-2004  drochner just include <sys/joystick.h>
 1.1 05-Sep-2001  matt branches: 1.1.6; 1.1.22;
more evbarm files (very incomplete).
 1.1.22.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.22.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.22.1 03-Aug-2004  skrll Sync with HEAD
 1.1.6.2 05-Sep-2001  matt more evbarm files (very incomplete).
 1.1.6.1 05-Sep-2001  matt file joystick.h was added on branch nathanw_sa on 2001-09-05 04:53:41 +0000
 1.2 22-Nov-2001  thorpej Kill <machine/katelib.h>. Any place that still uses it should just
reference <arm/arm32/katelib.h> until such time as all use of this
file has been purged from the face of the earth.
 1.1 05-Sep-2001  matt branches: 1.1.6;
more evbarm files (very incomplete).
 1.1.6.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.6.1 05-Sep-2001  nathanw file katelib.h was added on branch nathanw_sa on 2002-02-28 04:09:11 +0000
 1.2 22-Nov-2001  thorpej Remove kerndebug.h from non-Shark code (it's a Shark-specific header
file, and probably should be done away with anyway).
 1.1 05-Sep-2001  matt branches: 1.1.6;
more evbarm files (very incomplete).
 1.1.6.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.6.1 05-Sep-2001  nathanw file kerndebug.h was added on branch nathanw_sa on 2002-02-28 04:09:11 +0000
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file limits.h was added on branch kqueue on 2002-01-10 19:42:25 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file limits.h was added on branch nathanw_sa on 2002-01-08 00:24:22 +0000
 1.8 26-Sep-2020  skrll RCSId police
 1.7 30-Mar-2019  jmcneill Provide LOADADDR macro for arm32 efiboot
 1.6 15-Sep-2018  jmcneill Let the bootloader override the progress function by defining PROGRESS_FN
 1.5 02-Sep-2018  jmcneill Support loading kernels at PAs above 0x3fffffffff on arm64
 1.4 23-Aug-2018  jmcneill Fix LOADADDR on aarch64 and use memmove for bcopy instead of memcpy
 1.3 21-Aug-2018  jmcneill Define BOOT_ELF64 for aarch64
 1.2 06-Aug-2014  joerg branches: 1.2.26; 1.2.28;
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.1 30-Jan-2012  nisimura branches: 1.1.4; 1.1.6; 1.1.10; 1.1.24;

Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.1.24.1 10-Aug-2014  tls Rebase.
 1.1.10.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.2 17-Apr-2012  yamt sync with head
 1.1.6.1 30-Jan-2012  yamt file loadfile_machdep.h was added on branch yamt-pagecache on 2012-04-17 00:06:14 +0000
 1.1.4.2 18-Feb-2012  mrg merge to -current.
 1.1.4.1 30-Jan-2012  mrg file loadfile_machdep.h was added on branch jmcneill-usbmp on 2012-02-18 07:31:52 +0000
 1.2.28.1 10-Jun-2019  christos Sync with HEAD
 1.2.26.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.2.26.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.2 01-Apr-2018  ryo Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4; 1.1.32;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.32.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file lock.h was added on branch kqueue on 2002-01-10 19:42:25 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file lock.h was added on branch nathanw_sa on 2002-01-08 00:24:22 +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:34 +0000
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file math.h was added on branch kqueue on 2002-01-10 19:42:26 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file math.h was added on branch nathanw_sa on 2002-01-08 00:24:22 +0000
 1.2 17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.1 11-Apr-2002  thorpej branches: 1.1.2;
file mcontext.h was initially added on branch nathanw_sa.
 1.1.2.1 11-Apr-2002  thorpej Add mcontext.h
 1.3 12-Aug-2020  skrll Part III of ad's performance improvements for aarch64

- Assembly language stubs for mutex_enter() and mutex_exit().
 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:19 +0000
 1.2 01-Apr-2018  ryo Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1 03-Aug-2012  matt branches: 1.1.4; 1.1.6; 1.1.42;
Each ARM port needs a copy of this.
 1.1.42.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.6.2 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.1.6.1 03-Aug-2012  matt file netbsd32_machdep.h was added on branch matt-nb6-plus on 2012-11-28 22:50:10 +0000
 1.1.4.2 30-Oct-2012  yamt sync with head
 1.1.4.1 03-Aug-2012  yamt file netbsd32_machdep.h was added on branch yamt-pagecache on 2012-10-30 17:19:23 +0000
 1.3 01-Apr-2018  ryo Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.2 12-Feb-2002  thorpej branches: 1.2.12; 1.2.30;
* For platforms which are already ELF, remove the definition of
MACHINE_ARCH since <arm/param.h> already sets it correctly to "arm".
* For platforms which are not yet ELF, defined MACHINE_ARCH to "arm32"
if __ELF__ is not defined by the C preprocessor.
* In <arm/param.h>, clarify the rules about when MACHINE and
MACHINE_ARCH are defined, and to what. Also, for ELF platforms,
int the non-_KERNEL case, force both MACHINE and MACHINE_ARCH to "arm",
rather than allowing platform-specifc code to define either.
 1.1 05-Sep-2001  matt branches: 1.1.6;
more evbarm files (very incomplete).
 1.1.6.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.6.1 05-Sep-2001  nathanw file param.h was added on branch nathanw_sa on 2002-02-28 04:09:11 +0000
 1.2.30.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.2.12.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.12.1 12-Feb-2002  jdolecek file param.h was added on branch kqueue on 2002-06-23 17:35:40 +0000
 1.2 01-Apr-2018  ryo Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4; 1.1.32;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.32.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file pcb.h was added on branch kqueue on 2002-01-10 19:42:26 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file pcb.h was added on branch nathanw_sa on 2002-01-08 00:24:22 +0000
 1.2 25-Nov-2001  thorpej branches: 1.2.2;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1 27-Oct-2001  rearnsha branches: 1.1.2; 1.1.4;
Include arm/pci_machdep.h.
 1.1.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.4.1 27-Oct-2001  nathanw file pci_machdep.h was added on branch nathanw_sa on 2002-01-08 00:24:22 +0000
 1.1.2.2 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.1.2.1 27-Oct-2001  thorpej file pci_machdep.h was added on branch thorpej-mips-cache on 2001-11-12 21:16:52 +0000
 1.2.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.2.1 25-Nov-2001  thorpej file pci_machdep.h was added on branch kqueue on 2002-01-10 19:42:26 +0000
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 23-Dec-2004  joff branches: 1.1.4;
Need these files present for ISA support
 1.1.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.1 23-Dec-2004  skrll file pio.h was added on branch ktrace-lwp on 2005-01-17 19:29:13 +0000
 1.4 01-Apr-2018  ryo Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.3 25-Nov-2001  thorpej branches: 1.3.12; 1.3.30;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.2 23-Nov-2001  thorpej Extra whitespace removal.
 1.1 05-Sep-2001  matt branches: 1.1.6;
more evbarm files (very incomplete).
 1.1.6.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.6.1 05-Sep-2001  nathanw file pmap.h was added on branch nathanw_sa on 2002-01-08 00:24:23 +0000
 1.3.30.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.3.12.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.12.1 25-Nov-2001  jdolecek file pmap.h was added on branch kqueue on 2002-06-23 17:35:40 +0000
 1.3 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.2 01-Apr-2018  ryo branches: 1.2.2;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1 07-Aug-2002  briggs branches: 1.1.2; 1.1.4; 1.1.6; 1.1.202;
Implement pmc(9) -- An interface to hardware performance monitoring
counters. These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface. Initially, the Intel XScale
counters are the only ones supported.
 1.1.202.2 28-Jul-2018  pgoyette Sync with HEAD
 1.1.202.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.6.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.6.1 07-Aug-2002  jdolecek file pmc.h was added on branch kqueue on 2002-09-06 08:34:04 +0000
 1.1.4.2 30-Aug-2002  gehenna catch up with -current.
 1.1.4.1 07-Aug-2002  gehenna file pmc.h was added on branch gehenna-devsw on 2002-08-30 00:19:33 +0000
 1.1.2.2 13-Aug-2002  nathanw Catch up to -current.
 1.1.2.1 07-Aug-2002  nathanw file pmc.h was added on branch nathanw_sa on 2002-08-13 02:18:08 +0000
 1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.2 01-Apr-2018  ryo Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4; 1.1.32;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.32.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file proc.h was added on branch kqueue on 2002-01-10 19:42:27 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file proc.h was added on branch nathanw_sa on 2002-01-08 00:24:23 +0000
 1.2 01-Apr-2018  ryo Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4; 1.1.32;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.32.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file profile.h was added on branch kqueue on 2002-01-10 19:42:27 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file profile.h was added on branch nathanw_sa on 2002-01-08 00:24:23 +0000
 1.5 26-Nov-2001  thorpej Delete <machine/psl.h> from the ARM ports. It's not a header that
we need to provide to MI code or to userland, and it's also not a
header that generic ARM code should be including directly.
 1.4 25-Nov-2001  thorpej End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.3 27-Oct-2001  rearnsha branches: 1.3.2;
Pick up arm/psl.h if not NEWINTR.
 1.2 05-Sep-2001  matt branches: 1.2.4;
Add a NEWINTR option to reflect the new interrupt/spl being implemented in
evbarm.
 1.1 05-Sep-2001  matt more evbarm files (very incomplete).
 1.2.4.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.3.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.3.2.1 27-Oct-2001  nathanw file psl.h was added on branch nathanw_sa on 2002-02-28 04:09:11 +0000
 1.2 01-Apr-2018  ryo Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4; 1.1.32;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.32.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file ptrace.h was added on branch kqueue on 2002-01-10 19:42:28 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file ptrace.h was added on branch nathanw_sa on 2002-01-08 00:24:23 +0000
 1.2 01-Apr-2018  ryo Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4; 1.1.32;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.32.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file reg.h was added on branch kqueue on 2002-01-10 19:42:28 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file reg.h was added on branch nathanw_sa on 2002-01-08 00:24:23 +0000
 1.2 22-Nov-2001  thorpej No need for <machine/rtc.h> here.
 1.1 05-Sep-2001  matt branches: 1.1.6;
more evbarm files (very incomplete).
 1.1.6.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.6.1 05-Sep-2001  nathanw file rtc.h was added on branch nathanw_sa on 2002-02-28 04:09:12 +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:20 +0000
 1.3 15-Sep-2018  jakllsch Fix #include path for aarch64/setjmp.h.
 1.2 01-Apr-2018  ryo branches: 1.2.2;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4; 1.1.32;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.32.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.32.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file setjmp.h was added on branch kqueue on 2002-01-10 19:42:29 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file setjmp.h was added on branch nathanw_sa on 2002-01-08 00:24:24 +0000
 1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file signal.h was added on branch kqueue on 2002-01-10 19:42:29 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file signal.h was added on branch nathanw_sa on 2002-01-08 00:24:24 +0000
 1.2 26-Aug-2018  rjs Add SLJIT to aarch64.
 1.1 23-Jul-2014  alnsn branches: 1.1.2; 1.1.6; 1.1.30; 1.1.32;
Rename sljitarch.h to sljit_machdep.h.
 1.1.32.1 10-Jun-2019  christos Sync with HEAD
 1.1.30.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 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:54 +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:55 +0000
 1.2 23-Jul-2014  alnsn Rename sljitarch.h to sljit_machdep.h.
 1.1 17-Jun-2014  alnsn Add sljit support to arm.
 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 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file stdarg.h was added on branch kqueue on 2002-01-10 19:42:30 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file stdarg.h was added on branch nathanw_sa on 2002-01-08 00:24:24 +0000
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file sysarch.h was added on branch kqueue on 2002-01-10 19:42:30 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file sysarch.h was added on branch nathanw_sa on 2002-01-08 00:24:25 +0000
 1.1 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file trap.h was added on branch kqueue on 2002-01-10 19:42:31 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file trap.h was added on branch nathanw_sa on 2002-01-08 00:24:25 +0000
 1.16 05-Feb-2023  mrg fix root detection on evbarm when raid is involved

there are several problems solved in this change:
- lots of work was re-done when we already have determined the
device booted from, so several new early returns introduced
if booted_device has been set
- due to the lack of cpu_bootconf(), raidframe softroot would
override "root=xxx" on the boot command line (note that
platforms that use eg, device_register() to detect the boot
device are not affected by this issue as they find the
boot device much earlier.)
- in the new cpu_bootconf(), switch the order of the platform
boot-config with the set_root_device() call. this avoids a
problem where "root=xxx" is checked after automated methods,
and is thus ignored.
- in fdt_detect_root_device(), remove the code to add "root=xxx""
string to the boot_args[] that would be later parsed by the
set_root_device() call, and simply set booted_device and, for
mbr installs, booted_partition directly. also, for any
successful call, perform an early return.
- define __HAVE_CPU_BOOTCONF so early boot calls cpu_bootconf().


tested on:
- rockpro64 booting from emmc, sata (big, and little endian)
- rockpro64 loading kernel from msdos partition
- rockpro64 booting from network (fails to auto-detect, with or
without this change)
- quartz64 booting from nvme
- lx2k booting from nvme

XXX: pullup-10
 1.15 01-Apr-2021  simonb branches: 1.15.16;
Whitespace: #define<tab>
 1.14 01-Apr-2018  ryo branches: 1.14.14; 1.14.16;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.13 26-Jan-2017  christos branches: 1.13.12;
provide __HAVE_COMPAT_NETBSD32 and fix multiple include protection consistently.
 1.12 26-Nov-2011  skrll branches: 1.12.8; 1.12.26; 1.12.30; 1.12.34;
G/c empty #ifndef __OLD_INTERRUPT_CODE
 1.11 17-Jul-2011  dyoung branches: 1.11.2;
On ARM-ish ports having PCI support, use new-style <sys/bus.h>. Do not
install <machine/bus.h>. Remove various <machine/bus.h> sources.
 1.10 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.9 17-Oct-2007  garbled branches: 1.9.2; 1.9.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.8 14-Jul-2007  ad branches: 1.8.6; 1.8.10;
Generic soft interrupts are mandatory.
 1.7 19-Feb-2007  briggs branches: 1.7.4; 1.7.12;
Convert evbarm to __HAVE_GENERIC_TODR.
 1.6 03-Sep-2006  bjh21 branches: 1.6.6; 1.6.8;
Nothing in the kernel now tests __HAVE_NWSCONS, so stop defining it everywhere.
 1.5 28-Feb-2002  simonb branches: 1.5.32; 1.5.46; 1.5.50;
Use "#define<tab>".
 1.4 30-Jan-2002  thorpej branches: 1.4.2;
New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.3 25-Nov-2001  thorpej End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.2 22-Nov-2001  thorpej Add 26-bit and 32-bit types.h files, which indicate the programming
model in use for a given platform (__PROG26 vs __PROG32), then pulls
in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h>
or <arm/arm32/types.h> as appropriate. Change all references to PROG26
and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h
header file.
 1.1 05-Sep-2001  matt branches: 1.1.6;
more evbarm files (very incomplete).
 1.1.6.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.6.3 28-Feb-2002  nathanw Catch up to -current.
 1.1.6.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.6.1 05-Sep-2001  nathanw file types.h was added on branch nathanw_sa on 2002-01-08 00:24:25 +0000
 1.4.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.4.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.4.2.1 30-Jan-2002  jdolecek file types.h was added on branch kqueue on 2002-02-11 20:07:43 +0000
 1.5.50.1 14-Sep-2006  yamt sync with head.
 1.5.46.1 09-Sep-2006  rpaulo sync with head
 1.5.32.4 21-Jan-2008  yamt sync with head
 1.5.32.3 03-Sep-2007  yamt sync with head.
 1.5.32.2 26-Feb-2007  yamt sync with head.
 1.5.32.1 30-Dec-2006  yamt sync with head.
 1.6.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.6.6.1 04-Mar-2007  bouyer branches: 1.6.6.1.4;
Pull up following revision(s) (requested by matt in ticket #470):
sys/arch/evbarm/iq80310/iq80310_timer.c: revision 1.20
sys/arch/evbarm/ifpga/pl030_rtc.c: revision 1.8
sys/arch/evbarm/include/types.h: revision 1.7
sys/arch/arm/arm32/genassym.cf: revision 1.30
sys/arch/arm/arm32/cpuswitch.S: revision 1.46
Get DOMAIN_CLIENT directly from arm/arm32/pte.h instead of from genassym
to avoid redefinition when both assymh and pte.h are included (as in
INTEGRATOR's intmmu.S, which uses more macros from pte.h).
Convert evbarm to __HAVE_GENERIC_TODR.
 1.6.6.1.4.1 10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.7.12.1 03-Oct-2007  garbled Sync with HEAD
 1.7.4.1 15-Jul-2007  ad Sync with head.
 1.8.10.2 23-Mar-2008  matt sync with HEAD
 1.8.10.1 06-Nov-2007  matt sync with HEAD
 1.8.6.1 28-Feb-2008  rjs Sync with HEAD.
 1.9.8.1 23-Jan-2008  bouyer Sync with HEAD.
 1.9.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.11.2.1 17-Apr-2012  yamt sync with head
 1.12.34.1 21-Apr-2017  bouyer Sync with HEAD
 1.12.30.1 20-Mar-2017  pgoyette Sync with HEAD
 1.12.26.1 05-Feb-2017  skrll Sync with HEAD
 1.12.8.1 03-Dec-2017  jdolecek update from HEAD
 1.13.12.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.14.16.1 03-Apr-2021  thorpej Sync with HEAD.
 1.14.14.1 03-Apr-2021  thorpej Sync with HEAD.
 1.15.16.1 20-Oct-2023  martin Pull up following revision(s) (requested by mrg in ticket #431):

sys/arch/evbarm/evbarm/autoconf.c: revision 1.24
sys/arch/evbarm/include/types.h: revision 1.16
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.100
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.101

fix root detection on evbarm when raid is involved

there are several problems solved in this change:
- - lots of work was re-done when we already have determined the
device booted from, so several new early returns introduced
if booted_device has been set
- - due to the lack of cpu_bootconf(), raidframe softroot would
override "root=xxx" on the boot command line (note that
platforms that use eg, device_register() to detect the boot
device are not affected by this issue as they find the
boot device much earlier.)
- - in the new cpu_bootconf(), switch the order of the platform
boot-config with the set_root_device() call. this avoids a
problem where "root=xxx" is checked after automated methods,
and is thus ignored.
- - in fdt_detect_root_device(), remove the code to add "root=xxx""
string to the boot_args[] that would be later parsed by the
set_root_device() call, and simply set booted_device and, for
mbr installs, booted_partition directly. also, for any
successful call, perform an early return.
- - define __HAVE_CPU_BOOTCONF so early boot calls cpu_bootconf().

tested on:
- - rockpro64 booting from emmc, sata (big, and little endian)
- - rockpro64 loading kernel from msdos partition
- - rockpro64 booting from network (fails to auto-detect, with or
without this change)
- - quartz64 booting from nvme
- - lx2k booting from nvme

Locate wedges as boot device and also match a partition GUID.
 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 25-Nov-2001  thorpej branches: 1.1.2; 1.1.4;
End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 25-Nov-2001  thorpej file varargs.h was added on branch kqueue on 2002-01-10 19:42:31 +0000
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 25-Nov-2001  nathanw file varargs.h was added on branch nathanw_sa on 2002-01-08 00:24:25 +0000
 1.33 27-Mar-2019  christos - expose vmparams to userland on arm, like other archs do.
- remove unneeded includes
 1.32 01-Apr-2018  ryo branches: 1.32.2;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.31 10-Dec-2017  skrll branches: 1.31.2;
FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.

The kernel image that the RPI firmware boots is now netbsd.img in the
kernel build directory.

XXX fdtbus_get_reg needs reworking
 1.30 02-Nov-2017  skrll ISA exists on more that just shark. Fix a comment about this.
 1.29 23-Feb-2015  joerg Use default PAGER_MAP_DEFAULT_SIZE for ARM and PowerPC, exception
acorn26. This bumps the KVA reservation from 4MB to 16MB and avoids
long hangs on my Cubietruck under IO. acorn26 is kept as it does have a
ridiculous low 32MB KVA limit.
 1.28 18-Feb-2012  christos branches: 1.28.2; 1.28.16;
expose more for kmemuser/fix include protection
 1.27 17-Feb-2012  christos expose more for kmemuser
 1.26 06-Nov-2010  uebayasi branches: 1.26.8; 1.26.12; 1.26.16;
Remove incomplete, never worked dynamic run-time memory registration
(uvm_page_physload(9)). This functionality will be re-added later.
 1.25 27-Apr-2008  matt branches: 1.25.18; 1.25.20; 1.25.22;
Merge kernel changes in matt-armv6 to HEAD.
 1.24 25-Oct-2007  yamt branches: 1.24.16; 1.24.18; 1.24.20;
defparam PAGER_MAP_SIZE.
 1.23 11-Dec-2005  christos branches: 1.23.30; 1.23.46; 1.23.48; 1.23.50; 1.23.54;
merge ktrace-lwp.
 1.22 07-Aug-2003  agc branches: 1.22.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.21 22-May-2003  thorpej branches: 1.21.2;
Move KERNEL_VM_SIZE into the C files where its used.
 1.20 22-May-2003  thorpej Use virtual_avail and virtual_end to compute the size of the available
kernel VM space for VM_MAX_KERNEL_BUF, and move the definition into
generic ARM code.
 1.19 21-May-2003  thorpej Move KERNEL_VM_BASE inside where it is used (it won't be there for long).
 1.18 03-May-2003  thorpej Don't expose KERNEL_TEXT_BASE outside of board-specific code. This gives
individual board start-up code more flexibility about where the kernel
starts in the kernel address space.
 1.17 03-May-2003  thorpej Remove old pmap support for platforms which have fully switched over.
 1.16 29-Apr-2003  scw Don't define KERNEL_TEXT_BASE, et al, if ARM32_NEW_VM_LAYOUT is defined.
 1.15 28-Apr-2003  thorpej Don't define APTE_BASE if ARM32_PMAP_NEW is defined; the new pmap
doesn't use it.
 1.14 02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.13 14-Sep-2002  thorpej Back out previous; it breaks binary compatibility between platforms
in the same MACHINE_ARCH.
 1.12 14-Sep-2002  mycroft Move some #defines out of _KERNEL.
 1.11 23-Mar-2002  thorpej * Change all uses of KERNEL_SPACE_START to KERNEL_BASE.
* Delete now unused KERNEL_SPACE_START.
 1.10 23-Mar-2002  thorpej * Rename PROCESS_PAGE_TBLS_BASE -> PTE_BASE
* Rename ALT_PAGE_TBLS_BASE -> APTE_BASE
* Garbage-collect PAGE_TABLE_SPACE_START
 1.9 03-Mar-2002  thorpej * Add support for running the IQ80310 kernel where KERNEL_BASE !=
physical memory start. Garbage-collect some cruft while here.
* Move the kernel up to 0xc0000000, giving a 1G/3G kernel/user split.
* Adjust the Integrator startup code accordingly.
 1.8 03-Mar-2002  chris Implement pmap_growkernel for arm32 based ports.
Note that this has been compiled on some systems, cats, IQ80310, IPAQ, netwinder and shark (note that shark's build is currently broken due to other reasons), but only actually run on cats.
Shark doesn't make use of the functionality as I believe there has to be a correlation between OFW and the kernel tables so that calls into OFW work.
 1.7 16-Jan-2002  thorpej branches: 1.7.2;
Correct KERNEL_TEXT_BASE.
 1.6 23-Nov-2001  thorpej Move even more constants into the shared 32-bit vmparam.h header.
Cleanup elsewhere will have to be done before we can sanitize this
header any further.
 1.5 23-Nov-2001  thorpej - Move more contents of various <machine/vmparam.h> files into
<arm/arm32/vmparam.h> (mostly the stuff that's tied to the pmap
implementation).
- Since the MMU definitions in pte.h are specific to ARM processors
that support 32-bit mode, move pte.h to <arm/arm32/pte.h>.
- Make the Netwinder startup file build again (use PT_B|PT_C, rather
than PT_CACHEABLE, since the latter expands to a variable these days).
 1.4 15-Nov-2001  soren MAXSLP is defined to be a machine-independent scheduling parameter,
so move it into sys/param.h.
 1.3 11-Nov-2001  thorpej branches: 1.3.2;
Pull in common 32-bit ARM VM parameters.
 1.2 27-Oct-2001  rearnsha Fix a comment. EV boards don't always use a Footbridge.
 1.1 05-Sep-2001  matt branches: 1.1.4;
more evbarm files (very incomplete).
 1.1.4.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.3.2.5 17-Apr-2002  nathanw Catch up to -current.
 1.3.2.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.3.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.3.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.3.2.1 11-Nov-2001  nathanw file vmparam.h was added on branch nathanw_sa on 2002-01-08 00:24:26 +0000
 1.7.2.5 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.7.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.7.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.7.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.7.2.1 16-Jan-2002  jdolecek file vmparam.h was added on branch kqueue on 2002-02-11 20:07:43 +0000
 1.21.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.21.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.21.2.1 03-Aug-2004  skrll Sync with HEAD
 1.22.16.1 27-Oct-2007  yamt sync with head.
 1.23.54.1 13-Nov-2007  bouyer Sync with HEAD
 1.23.50.2 06-Nov-2007  matt sync with HEAD
 1.23.50.1 06-Sep-2007  matt Allow KERNEL_BASE to be defined externally.
 1.23.48.1 28-Oct-2007  joerg Sync with HEAD.
 1.23.46.1 01-Nov-2007  rjs Sync with HEAD.
 1.23.30.1 03-Dec-2007  ad Sync with HEAD.
 1.24.20.1 16-May-2008  yamt sync with head.
 1.24.18.1 18-May-2008  yamt sync with head.
 1.24.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.25.22.1 05-Mar-2011  rmind sync with head
 1.25.20.1 26-Apr-2010  uebayasi Remove the unfinished code to add a memory segment after uvm_page_init().
It doesn't even compile.

(In the future, we should allocate struct vm_page [] on the added memory
segment for NUMA's sake.)
 1.25.18.3 15-Feb-2014  matt Export VM_*FREELIST
 1.25.18.2 15-Feb-2014  matt Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.
 1.25.18.1 19-Dec-2013  matt compat in libc needs some uvm stuff which needs VM_NFREELIST defined.
 1.26.16.1 28-Nov-2012  matt merge from -HEAD improves arm (mostly for Cortex) support targeting
OMAP and BCM53xx.
 1.26.12.2 24-Feb-2012  mrg sync to -current.
 1.26.12.1 18-Feb-2012  mrg merge to -current.
 1.26.8.1 17-Apr-2012  yamt sync with head
 1.28.16.1 06-Apr-2015  skrll Sync with HEAD
 1.28.2.1 03-Dec-2017  jdolecek update from HEAD
 1.31.2.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.32.2.1 10-Jun-2019  christos Sync with HEAD
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 08-May-2004  kleink branches: 1.1.2;
Factor out W{CHAR,INT}_{MAX,MIN} into their own header file.
 1.1.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.2 03-Aug-2004  skrll Sync with HEAD
 1.1.2.1 08-May-2004  skrll file wchar_limits.h was added on branch ktrace-lwp on 2004-08-03 10:34:01 +0000
 1.19 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.18 18-Sep-2012  matt Remove bounce buffer support since there is now generic bounce buffer support
 1.17 04-Nov-2010  uebayasi branches: 1.17.8; 1.17.18;
Fix DEBUG kernel build.
 1.16 05-Mar-2007  matt branches: 1.16.64; 1.16.66;
Use uint8_t * instead of void */char * for ptr arithmetic.
 1.15 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.14 11-Dec-2005  christos branches: 1.14.26;
merge ktrace-lwp.
 1.13 06-Sep-2003  rearnsha branches: 1.13.16;
Add bouncing support
 1.12 15-Jul-2003  lukem __KERNEL_RCSID()
 1.11 17-Aug-2002  thorpej branches: 1.11.6;
Use separate function pointers for dmamap_sync pre- vs post- operations.
Change the bus_dmamap_sync() macro to test the ops argument against pre-
and post- constants. The compiler will optimize out dead code because
of the constants. Since post- operations are not needed on ARM (except
for ISA bounce buffers), this eliminate a large number of function calls
which are noops, each of which cost at least 6 cycles just in the call
and return overhead (not to mention whatever other useless work the
compiler decides to do in the callee).
 1.10 31-Jul-2002  thorpej Overhaul how DMA ranges work in the ARM bus_dma implementation.

A new "arm32_dma_range" structure now describes a DMA window, with
a system address base, bus address base, and length. In addition to
providing info about which memory regions are legal for DMA, the new
structure provides address translation support, as well.

As before, if a tag does not list any ranges, then all addresses are
considered valid, and no DMA address translation is performed.

This allows us to remove a large chunk of code which was duplicated and
tweaked slightly (to do the address translation) from the stock ARM
bus_dma in the XScale IOP and ARM Integrator ports.

Test compiled on all ARM platforms, test booted on Intel IQ80321 and Shark.
 1.9 28-Jul-2002  thorpej Change the way that DMA map syncs are done. Instead of remembering
the virtual address for each DMA segment, just cache a pointer to the
original buffer/buftype used to load the DMA map, and use that. This
lets us shrink the bus_dma_segment_t down from 12 bytes to 8, and the
cache flushing is also more efficient.

Tested on an i80321 -- changes to others are mechanical.
 1.8 02-Jun-2002  drochner move initialization of the "struct pglist" returned by uvm_pglistalloc()
from the calling code into uvm_pglistalloc() itself for consistency
and easier error handling
 1.7 05-Apr-2002  thorpej branches: 1.7.2; 1.7.4;
* Rewrite the 32-bit ARM pte.h based on the ARM architecture manual.
Significant cleanup, here, including better PTE bit names.
* Add XScale PTE extensions (ECC enable, write-allocate cache mode).
* Mechanical changes everywhere else to update for new pte.h. While
doing this, two bugs (as a result of typos) were fixed in

arm/arm32/bus_dma.c
evbarm/integrator/int_bus_dma.c
 1.6 24-Mar-2002  thorpej * arm_byte_to_page() -> arm_btop()
* arm_page_to_byte() -> arm_ptob()
 1.5 25-Jan-2002  thorpej Overhaul bus_dmamap_sync for the ARM:
* Track which process (XXX really, vmspace) owns the mapping. When
we sync the map, if the mapping doesn't belong to the kernel or to
the current process (XXX really, vmspace), then no cache fobbing
is necessary, since the cache is Wb-Inv'd on context switch (XXX need
to revisit this when we support FCSE).
* Be smarter about which cache operation we do when sync'ing the map:
- PREREAD -- Invalidate D$ (XXX right now, we actually do Wb-Inv)
- PREWRITE -- Write-back D$ (note, we do NOT invalidate here)
- PREREAD|PREWRITE -- Wb-Inv D$

More work is needed here. In particular, a version for CPUs
with write-through caches should be provided, to eliminate
the write-back steps (which are noops on such CPUs, but skipping
two branches would be nice).
 1.4 25-Jan-2002  thorpej Overhaul of the ARM cache code. This is mostly a simplification
pass. Rather than providing a whole slew of cache operations that
aren't ever used, distill them down to some useful primitives:

icache_sync_all Synchronize I-cache
icache_sync_range Synchronize I-cache range

dcache_wbinv_all Write-back and Invalidate D-cache
dcache_wbinv_range Write-back and Invalidate D-cache range
dcache_inv_range Invalidate D-cache range
dcache_wb_range Write-back D-cache range

idcache_wbinv_all Write-back and Invalidate D-cache,
Invalidate I-cache
idcache_wbinv_range Write-back and Invalidate D-cache,
Invalidate I-cache range

Note: This does not yet include an overhaul of the actual asm files
that implement the primitives. Instead, we've provided a safe default
for each CPU type, and the individual CPU types can now be optimized
one at a time.
 1.3 26-Nov-2001  thorpej branches: 1.3.2;
Don't include <machine/psl.h> directly.
 1.2 23-Nov-2001  thorpej Use <arm/cpufunc.h>, not <machine/cpufunc.h>.
 1.1 27-Oct-2001  rearnsha branches: 1.1.2;
Basic support for the Integrator/AP board.
 1.1.2.8 19-Aug-2002  thorpej Partial (ARM only) sync with trunk -- significant performance improvements
for XScale-based systems.
 1.1.2.7 01-Aug-2002  nathanw Catch up to -current.
 1.1.2.6 20-Jun-2002  nathanw Catch up to -current.
 1.1.2.5 17-Apr-2002  nathanw Catch up to -current.
 1.1.2.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 27-Oct-2001  nathanw file int_bus_dma.c was added on branch nathanw_sa on 2002-01-08 00:24:26 +0000
 1.3.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.3.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.3.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.2.1 26-Nov-2001  thorpej file int_bus_dma.c was added on branch kqueue on 2002-01-10 19:42:32 +0000
 1.7.4.1 07-Dec-2002  he Pull up revision 1.9 (requested by thorpej in ticket #568):
Change the way DMA map syncs are done. Instead of remembering
the virtual address for each DMA segment, just cache a
pointer to the original buffer/buftype used to load the
DMA map, and use that. Shrinks bus_dma_segment_t from 12
to 8 bytes, and the cache flushing is also more efficient.
 1.7.2.2 30-Aug-2002  gehenna catch up with -current.
 1.7.2.1 14-Jul-2002  gehenna catch up with -current.
 1.11.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.11.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.11.6.1 03-Aug-2004  skrll Sync with HEAD
 1.13.16.1 03-Sep-2007  yamt sync with head.
 1.14.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.16.66.1 05-Mar-2011  rmind sync with head
 1.16.64.1 06-Nov-2010  uebayasi Sync with HEAD.
 1.17.18.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.17.8.1 30-Oct-2012  yamt sync with head
 1.3 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.2 31-Jul-2002  thorpej Overhaul how DMA ranges work in the ARM bus_dma implementation.

A new "arm32_dma_range" structure now describes a DMA window, with
a system address base, bus address base, and length. In addition to
providing info about which memory regions are legal for DMA, the new
structure provides address translation support, as well.

As before, if a tag does not list any ranges, then all addresses are
considered valid, and no DMA address translation is performed.

This allows us to remove a large chunk of code which was duplicated and
tweaked slightly (to do the address translation) from the stock ARM
bus_dma in the XScale IOP and ARM Integrator ports.

Test compiled on all ARM platforms, test booted on Intel IQ80321 and Shark.
 1.1 27-Oct-2001  rearnsha branches: 1.1.2; 1.1.4; 1.1.12;
Basic support for the Integrator/AP board.
 1.1.12.1 30-Aug-2002  gehenna catch up with -current.
 1.1.4.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 27-Oct-2001  thorpej file int_bus_dma.h was added on branch kqueue on 2002-01-10 19:42:32 +0000
 1.1.2.2 01-Aug-2002  nathanw Catch up to -current.
 1.1.2.1 27-Oct-2001  nathanw file int_bus_dma.h was added on branch nathanw_sa on 2002-08-01 02:41:35 +0000
 1.1 27-Oct-2001  rearnsha branches: 1.1.2; 1.1.4;
Basic support for the Integrator/AP board.
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 27-Oct-2001  thorpej file integrator_boot.h was added on branch kqueue on 2002-01-10 19:42:33 +0000
 1.1.2.2 27-Oct-2001  rearnsha Basic support for the Integrator/AP board.
 1.1.2.1 27-Oct-2001  rearnsha file integrator_boot.h was added on branch nathanw_sa on 2001-10-27 16:17:53 +0000
 1.82 24-Jun-2023  msaitoh Fix typo in error message.
 1.81 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.80 10-Aug-2021  skrll G/C unused flag
 1.79 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.78 18-Apr-2020  skrll Trailing whitespace
 1.77 16-Jul-2019  skrll branches: 1.77.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.76 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.75 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.74 18-Aug-2013  matt branches: 1.74.28; 1.74.30;
<arm/locore.h> fallout (fixes some include ordering errors)
 1.73 19-Feb-2013  skrll branches: 1.73.2;
Add support for the ARM Integrator/CP from Sergio L�pez.

The code hasn't been tested on real hardware, but INTEGRATOR_CP config
is useful for QEMU which supports it.
 1.72 22-Sep-2012  matt Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.71 16-Aug-2012  matt branches: 1.71.2;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.70 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.69 25-Jul-2012  skrll Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.
 1.68 01-Jul-2011  dyoung branches: 1.68.2; 1.68.8;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.67 30-Jun-2011  wiz dependant -> dependent
 1.66 26-Dec-2009  uebayasi Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.65 26-Dec-2009  uebayasi Garbage collect an unused global, vm_offset_t pagetables_start.
 1.64 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.63 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.62 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 1.61 30-Nov-2008  martin As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.60 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

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

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

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

I hope that this patch will stop us from flip-flopping between
calling doshutdownhooks() and pmf_system_shutdown() sometimes with
and sometimes without interrupts enabled.
 1.58 27-Apr-2008  matt branches: 1.58.6; 1.58.8;
Merge kernel changes in matt-armv6 to HEAD.
 1.57 19-Jan-2008  chris branches: 1.57.6; 1.57.8; 1.57.10;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.56 17-May-2006  mrg branches: 1.56.34; 1.56.38; 1.56.44; 1.56.52;
in initarm(), initialise kernel_l1pt.pv_va as well as kernel_l1pt.pv_pa.
 1.55 24-Dec-2005  perry branches: 1.55.4; 1.55.6; 1.55.8; 1.55.12;
bare asm -> __asm
 1.54 11-Dec-2005  christos merge ktrace-lwp.
 1.53 12-Dec-2004  abs branches: 1.53.10;
Fix comments regarding configration bounaries
 1.52 12-Dec-2004  abs Fix comments slighly
 1.51 07-Aug-2004  rearnsha Don't use vector_page before it's been initialized.
 1.50 13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.49 06-Sep-2003  rearnsha Remove include of ifpga/irqhandler.h.
 1.48 06-Sep-2003  rearnsha Switch to using generic soft interrupts.
 1.47 06-Sep-2003  rearnsha General cleanups of the bootstrap code
 1.46 06-Sep-2003  rearnsha When an Integrator board has less than 256M of SDRAM fitted, the
memory that is "obscured" by the SSRAM is visible at a wrapped address.
So we can use the full amount of SDRAM in almost all cases.
 1.45 06-Sep-2003  rearnsha Remove a verbose-boot message that kills the bootstrap (since the
console port mapping has just been moved).
 1.44 06-Sep-2003  rearnsha The third argument to pmap_map_chunk is the pa not the va.
 1.43 15-Jul-2003  lukem __KERNEL_RCSID()
 1.42 15-Jun-2003  thorpej branches: 1.42.2;
Replace the ad-hoc "section mapping table" for static device mappings
with a more generic "devmap" structure that can also handle mappings
made with large and small pages. Add new pmap routines to enter these
mappings during bootstrap (and "remember" the devmap), and routines to
look up the static mappings once the kernel is running.
 1.41 14-Jun-2003  thorpej Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
 1.40 22-May-2003  thorpej Move KERNEL_VM_SIZE into the C files where its used.
 1.39 21-May-2003  thorpej Move KERNEL_VM_BASE inside where it is used (it won't be there for long).
 1.38 17-May-2003  thorpej Decrease the verbosity level unless VERBOSE_INIT_ARM is defiend.
 1.37 05-May-2003  he Remove declaration of unused local variable: kernel_ptpt.
 1.36 03-May-2003  thorpej Don't expose KERNEL_TEXT_BASE outside of board-specific code. This gives
individual board start-up code more flexibility about where the kernel
starts in the kernel address space.
 1.35 03-May-2003  thorpej Reduce differences between ARM32_NEW_VM_LAYOUT and not; always pass
the start and end of the kernel managed virtual address space to
pmap_bootstrap() in the new pmap.
 1.34 03-May-2003  thorpej Remove old pmap support for platforms which have fully switched over.
 1.33 03-May-2003  thorpej Switch Integrator, IXM1200, and SMDK2800 to ARM32_PMAP_NEW. These
are the last of the ARM platforms to be converted.
 1.32 26-Apr-2003  ragge Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
 1.31 02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.30 01-Apr-2003  mycroft There are two #defines of CONSPEED in here; didn't make sense to me.
 1.29 17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.28 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.27 24-Aug-2002  thorpej Enable caching on kernel and user page tables. This saves having
to do uncached memory access during VM operations (which can be
quite expensive on some CPUs).

We currently write-back PTEs as soon as they're modified; there is
some room for optimization (to write them back in larger chunks).
For PTEs in the APTE space (i.e. PTEs for pmaps that describe another
process's address space), PTEs must also be evicted from the cache
complete (PTEs in PTE space will be evicted durint a context switch).
 1.26 21-Aug-2002  thorpej Do cached memory access to L1 tables, making sure to write-back the
cache after any L1 table modifications.
 1.25 31-Jul-2002  thorpej Move the calls to uvm_page_physload() out of pmap_bootstrap() and
into platform-specific initialization code, giving platform-specific
code control over which free list a given chunk of memory gets put
onto.

Changes are essentially mechanical. Test compiled for all ARM
platforms, test booted on Intel IQ80321 and Shark.

Discussed some time ago on port-arm.
 1.24 30-Jul-2002  thorpej Move the uvm_setpagesize() call to platform-dependent code in preparation
for other changes to pmap_bootstrap().
 1.23 08-Jul-2002  rearnsha Changes to allow for the fact that the kernel is now mapped at
0xc0200000. Tidy up to remove dead comments and code.
Allow more than one L1 entry for the kernel space and use the 'spare'
memory below the kernel code for the initial page tables in the same
way that the iq80310 does.
 1.22 12-Apr-2002  thorpej branches: 1.22.2; 1.22.4;
Remove footbridge-specific stuff that will never apply on the Integrator.
 1.21 05-Apr-2002  thorpej * Rewrite the 32-bit ARM pte.h based on the ARM architecture manual.
Significant cleanup, here, including better PTE bit names.
* Add XScale PTE extensions (ECC enable, write-allocate cache mode).
* Mechanical changes everywhere else to update for new pte.h. While
doing this, two bugs (as a result of typos) were fixed in

arm/arm32/bus_dma.c
evbarm/integrator/int_bus_dma.c
 1.20 03-Apr-2002  thorpej Clean up handling of the vector page on 32-bit ARM systems:
* Don't refer to VA 0, instead refer to a new variable: vector_page
* Delete the old zero_page_*() functions, replacing them with a new
one: vector_page_setprot().
* When manipulating vector page mappings in user pmaps, only do so if
the vector page is below KERNEL_BASE (if it's above KERNEL_BASE, the
vector page is mapped by the kernel pmap).
* Add a new function, arm32_vector_init(), which takes the virtual
address of the vector page (which MUST be valid when the function
is called) and a bitmask of vectors the kernel is going to take
over, and performs all vector page initialization, including setting
the V bit in the CPU Control register ("relocate vectors to high
address"), if necessary.
 1.19 25-Mar-2002  thorpej * Fix use of pmap_curmaxkvaddr.
* Use the PTP hint in the pmap.
 1.18 23-Mar-2002  thorpej * Rename PROCESS_PAGE_TBLS_BASE -> PTE_BASE
* Rename ALT_PAGE_TBLS_BASE -> APTE_BASE
* Garbage-collect PAGE_TABLE_SPACE_START
 1.17 03-Mar-2002  chris Implement pmap_growkernel for arm32 based ports.
Note that this has been compiled on some systems, cats, IQ80310, IPAQ, netwinder and shark (note that shark's build is currently broken due to other reasons), but only actually run on cats.
Shark doesn't make use of the functionality as I believe there has to be a correlation between OFW and the kernel tables so that calls into OFW work.
 1.16 22-Feb-2002  thorpej Fix the "va" argument to pmap_map_entry() when mapping kernel_ptpt.
 1.15 22-Feb-2002  thorpej Change pmap_map_entry() to work like pmap_map_chunk(): take a pointer
to the L1 table and a virtual address, and no pointer to the L2 table.
The L2 table will be looked up by pmap_map_entry(), which will panic
if the there is no L2 table for the requested VA.

NOTE: IT IS EXTREMELY IMPORTANT THAT THE CORRECT VIRTUAL ADDRESS
BE PROVIDED TO pmap_map_entry()! Notably, the code that mapped
the kernel L2 tables into the kernel PT mapping L2 table were not
passing actual virtual addresses, but rather offsets into the range
mapped by the L2 table. I have fixed up all of these call sites,
and tested the resulting kernel on both an IQ80310 and a Shark.
Other portmasters should examine their pmap_map_entry() calls if
their new kernels fail.
 1.14 21-Feb-2002  thorpej Keep track of which kernel PTs are available during bootstrap,
and let pmap_map_chunk() lookup the correct one to use for the
current VA. Eliminate the "l2table" argument to pmap_map_chunk().

Add a second L2 table for mapping kernel text/data/bss on the
IQ80310 (fixes booting kernels with ramdisks).
 1.13 21-Feb-2002  thorpej Always pass the L1 table to pmap_map_chunk(). This allows pmap_map_chunk()
to perform some error checking.
 1.12 21-Feb-2002  thorpej map_chunk() -> pmap_map_chunk(), and move it to pmap.c
 1.11 20-Feb-2002  thorpej map_pagetable() -> pmap_link_l2pt(), and move it to pmap.c
 1.10 20-Feb-2002  thorpej Collapse map_entry{,ro,nc}() into a single pmap_map_entry() that
takes a prot and a "cacheable" indicator.
 1.9 20-Feb-2002  thorpej Rename map_section() to pmap_map_section(), move it to pmap.c, and give it
an extra argument (prot - specifies protection of the mapping).
 1.8 30-Jan-2002  thorpej Pull in <evbarm/ifpga/irqhandler.h> for now.
 1.7 25-Jan-2002  thorpej Overhaul of the ARM cache code. This is mostly a simplification
pass. Rather than providing a whole slew of cache operations that
aren't ever used, distill them down to some useful primitives:

icache_sync_all Synchronize I-cache
icache_sync_range Synchronize I-cache range

dcache_wbinv_all Write-back and Invalidate D-cache
dcache_wbinv_range Write-back and Invalidate D-cache range
dcache_inv_range Invalidate D-cache range
dcache_wb_range Write-back D-cache range

idcache_wbinv_all Write-back and Invalidate D-cache,
Invalidate I-cache
idcache_wbinv_range Write-back and Invalidate D-cache,
Invalidate I-cache range

Note: This does not yet include an overhaul of the actual asm files
that implement the primitives. Instead, we've provided a safe default
for each CPU type, and the individual CPU types can now be optimized
one at a time.
 1.6 23-Nov-2001  thorpej branches: 1.6.2;
Use <arm/undefined.h> instead of <machine/undefined.h>.
 1.5 23-Nov-2001  thorpej No need to pull in <machine/pte.h> directly.
 1.4 09-Nov-2001  thorpej branches: 1.4.2;
Add some rudimentary support for ELF symbols in DDB on the ARM ports.
On platforms which load the kernel sans symbols directly from firmware
(possibly in e.g. S-Record format), call ddb_init() with empty arguments,
so that it will search any compiled in SYMTAB_SPACE. On all other platforms,
if __ELF__, also call ddb_init() with empty arguments until ELF bootloaders
which pass symbol information are ready.
 1.3 09-Nov-2001  thorpej Remove unneeded declarations of the db_machine_init() function. The
ARM ports are the only ones that actually have one, and it is about
to change.
 1.2 09-Nov-2001  thorpej Remove unnecessary prototypes for zero_page_read{only,write}().
 1.1 27-Oct-2001  rearnsha Basic support for the Integrator/AP board.
 1.4.2.9 18-Oct-2002  nathanw Catch up to -current.
 1.4.2.8 27-Aug-2002  thorpej Sync with -current.
 1.4.2.7 01-Aug-2002  nathanw Catch up to -current.
 1.4.2.6 24-Jun-2002  nathanw Curproc->curlwp renaming.

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

"curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL)
so that it is always safe to reference curproc (*de*referencing curproc
is another story, but that's always been true).
 1.4.2.5 17-Apr-2002  nathanw Catch up to -current.
 1.4.2.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.4.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.4.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.4.2.1 09-Nov-2001  nathanw file integrator_machdep.c was added on branch nathanw_sa on 2002-01-08 00:24:26 +0000
 1.6.2.7 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.6.2.6 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.6.2.5 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.2.4 16-Mar-2002  jdolecek Catch up with -current.
 1.6.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.6.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.6.2.1 23-Nov-2001  thorpej file integrator_machdep.c was added on branch kqueue on 2002-01-10 19:42:33 +0000
 1.22.4.2 14-Feb-2003  he Revert pull-up of revision 1.26 (requested by rearnsha in ticket #1170):
Revert cached memory access to L1 tables, this causes instability
on the release branch.
 1.22.4.1 21-Nov-2002  he Pull up revision 1.26 (requested by thorpej in ticket #712):
Do cached memory access to L1 tables, making sure to
write-back the cache after any L1 table modifications.
 1.22.2.2 30-Aug-2002  gehenna catch up with -current.
 1.22.2.1 16-Jul-2002  gehenna catch up with -current.
 1.42.2.5 18-Dec-2004  skrll Sync with HEAD.
 1.42.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.42.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.42.2.2 12-Aug-2004  skrll Sync with HEAD.
 1.42.2.1 03-Aug-2004  skrll Sync with HEAD
 1.53.10.2 21-Jan-2008  yamt sync with head
 1.53.10.1 21-Jun-2006  yamt sync with head.
 1.55.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.55.8.1 24-May-2006  yamt sync with head.
 1.55.6.1 01-Jun-2006  kardel Sync with head.
 1.55.4.1 09-Sep-2006  rpaulo sync with head
 1.56.52.1 20-Jan-2008  bouyer Sync with HEAD
 1.56.44.1 18-Feb-2008  mjf Sync with HEAD.
 1.56.38.2 23-Mar-2008  matt sync with HEAD
 1.56.38.1 09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.56.34.1 28-Feb-2008  rjs Sync with HEAD.
 1.57.10.4 11-Mar-2010  yamt sync with head
 1.57.10.3 19-Aug-2009  yamt sync with head.
 1.57.10.2 04-May-2009  yamt sync with head.
 1.57.10.1 16-May-2008  yamt sync with head.
 1.57.8.1 18-May-2008  yamt sync with head.
 1.57.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.57.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.58.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.58.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.68.8.1 09-Aug-2012  jdc Pull up revisions:
src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4
src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65
src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40
src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14
src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11
src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2
src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108
src/sys/arch/arm/arm32/cpu.c revision 1.79
src/sys/arch/arm/include/armreg.h revisions 1.49,1.54
src/sys/arch/arm/arm32/pmap.c revision 1.229
src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77
src/sys/arch/arm/include/cpu.h revision 1.64
src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3
src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1
src/sys/arch/arm/conf/files.arm revision 1.106
src/sys/arch/arm/include/cpufunc.h revision 1.57
src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24
src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8
src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4
src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69
src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1
src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1
src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1
src/sys/arch/evbarm/Makefile revision 1.9
src/sys/arch/evbarm/conf/RPI revision 1.1
src/sys/arch/evbarm/conf/files.rpi revision 1.1
src/sys/arch/evbarm/conf/mk.rpi revision 1.1
src/sys/arch/evbarm/conf/std.rpi revision 1.1
src/sys/arch/evbarm/rpi/genassym.cf revision 1.1
src/sys/arch/evbarm/rpi/rpi.h revision 1.1
src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1
src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2
src/etc/etc.evbarm/Makefile.inc revision 1.28
(requested by skrll in ticket #454).

don't mix #define<TAB> and #define<SPACE> in a file.

avoid warning with options PLCOM_DEBUG for INTEGRATOR.

Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.

Replace the simple_lock with a kmutex_t. Update the locking to match
com(4) in the few places it didn't already.

DOH. Replace a line that got accidently deleted in the last commit.

device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t

Add the 'Z' to the 1176 cpu product name.

ok matt@

Fix locking botch introduced in 1.36.

Fix a KASSERT. From/OK'ed by matt@

Fix racy softint dispatch that lead to KASSERT(si->si_active) in
softint_execute

Discussed with matt@. "Looks good to me"

Add the documented ARM11[37]6 Auxiliary control register defines.

Add support for the ARM1176JZS

Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).

Provide a method for attachments to specify capabilites.

Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.

Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.

Add RPI to KERNEL_SETS

Remove #if 0 code.
 1.68.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.68.2.1 30-Oct-2012  yamt sync with head
 1.71.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.71.2.2 25-Feb-2013  tls resync with head
 1.71.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.73.2.1 28-Aug-2013  rmind sync with head
 1.74.30.3 21-Apr-2020  martin Sync with HEAD
 1.74.30.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.74.30.1 10-Jun-2019  christos Sync with HEAD
 1.74.28.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.74.28.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.77.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.12 12-Aug-2013  matt Convert to unified syntax
 1.11 31-Jan-2011  matt branches: 1.11.4; 1.11.14; 1.11.18;
Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.10 11-Dec-2005  christos branches: 1.10.100; 1.10.106; 1.10.108;
merge ktrace-lwp.
 1.9 03-Jun-2005  rearnsha Enable use of the CM1136J-s core module on the Integrator.
 1.8 25-May-2005  rearnsha Fix the v6 boot check: A '6' in the architecture field really means
Architecture v5TEJ.
 1.7 21-May-2005  rearnsha Add a couple of sanity checks in case someone tries to boot the kernel
on a CM board that we can't support. In essence that means any board
without an MMU. For now also fault v6 based CPUs since the kernel
doesn't know how to handle these yet.
 1.6 13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.5 08-Jul-2002  rearnsha branches: 1.5.6;
Map the low 4M of memory at 0xc0000000.
 1.4 05-Apr-2002  thorpej branches: 1.4.2;
* Rewrite the 32-bit ARM pte.h based on the ARM architecture manual.
Significant cleanup, here, including better PTE bit names.
* Add XScale PTE extensions (ECC enable, write-allocate cache mode).
* Mechanical changes everywhere else to update for new pte.h. While
doing this, two bugs (as a result of typos) were fixed in

arm/arm32/bus_dma.c
evbarm/integrator/int_bus_dma.c
 1.3 03-Mar-2002  thorpej * Add support for running the IQ80310 kernel where KERNEL_BASE !=
physical memory start. Garbage-collect some cruft while here.
* Move the kernel up to 0xc0000000, giving a 1G/3G kernel/user split.
* Adjust the Integrator startup code accordingly.
 1.2 23-Nov-2001  thorpej branches: 1.2.2;
- Move more contents of various <machine/vmparam.h> files into
<arm/arm32/vmparam.h> (mostly the stuff that's tied to the pmap
implementation).
- Since the MMU definitions in pte.h are specific to ARM processors
that support 32-bit mode, move pte.h to <arm/arm32/pte.h>.
- Make the Netwinder startup file build again (use PT_B|PT_C, rather
than PT_CACHEABLE, since the latter expands to a variable these days).
 1.1 27-Oct-2001  rearnsha branches: 1.1.2;
Basic support for the Integrator/AP board.
 1.1.2.5 01-Aug-2002  nathanw Catch up to -current.
 1.1.2.4 17-Apr-2002  nathanw Catch up to -current.
 1.1.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.1.2.1 27-Oct-2001  nathanw file intmmu.S was added on branch nathanw_sa on 2002-01-08 00:24:27 +0000
 1.2.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.2.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.2.1 23-Nov-2001  thorpej file intmmu.S was added on branch kqueue on 2002-01-10 19:42:33 +0000
 1.4.2.1 16-Jul-2002  gehenna catch up with -current.
 1.5.6.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.6.1 03-Aug-2004  skrll Sync with HEAD
 1.10.108.1 08-Feb-2011  bouyer Sync with HEAD
 1.10.106.1 06-Jun-2011  jruoho Sync with HEAD.
 1.10.100.1 05-Mar-2011  rmind sync with head
 1.11.18.1 28-Aug-2013  rmind sync with head
 1.11.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.11.4.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.7 17-Jun-2020  thorpej <sys/extent.h> not needed here.
 1.6 07-Sep-2012  matt Fix pci_conf_interrupt issues
 1.5 07-Sep-2012  matt Fix pci_conf_interrupt lossage.
 1.4 27-Apr-2008  matt branches: 1.4.34;
Merge kernel changes in matt-armv6 to HEAD.
 1.3 11-Dec-2005  christos branches: 1.3.50; 1.3.74; 1.3.76; 1.3.78;
merge ktrace-lwp.
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 27-Oct-2001  rearnsha branches: 1.1.2; 1.1.4; 1.1.20;
Basic support for the Integrator/AP board.
 1.1.20.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.20.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.20.1 03-Aug-2004  skrll Sync with HEAD
 1.1.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.1 27-Oct-2001  thorpej file pci_machdep.c was added on branch kqueue on 2002-01-10 19:42:34 +0000
 1.1.2.2 27-Oct-2001  rearnsha Basic support for the Integrator/AP board.
 1.1.2.1 27-Oct-2001  rearnsha file pci_machdep.c was added on branch nathanw_sa on 2001-10-27 16:17:53 +0000
 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.3.50.1 09-Jan-2008  matt sync with HEAD
 1.4.34.1 30-Oct-2012  yamt sync with head
 1.1 14-May-2003  thorpej Add support for the Intel IQ31244 reference board, based on the i80321
I/O processor and the i31244 PCI-X S-ATA controller.

The IQ31244 is almost identical to the IQ80321, from software's
perspective, so we share much of the code.
 1.5 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.4 24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 15-Jul-2003  lukem branches: 1.2.16;
__KERNEL_RCSID()
 1.1 14-May-2003  thorpej branches: 1.1.2;
Add support for the Intel IQ31244 reference board, based on the i80321
I/O processor and the i31244 PCI-X S-ATA controller.

The IQ31244 is almost identical to the IQ80321, from software's
perspective, so we share much of the code.
 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.1 09-Jan-2009  briggs branches: 1.1.2; 1.1.4; 1.1.8;
Allow IQ80321-derived systems to provide an m.d. reboot routine.
Use this on the IQ31244 to force a watchdog reset from the M41ST84
if it's been attached. The generic reset doesn't fully reset the
system whereas the RTC watchdog reset does.
 1.1.8.2 04-May-2009  yamt sync with head.
 1.1.8.1 09-Jan-2009  yamt file iq31244_machdep.c was added on branch yamt-nfs-mp on 2009-05-04 08:10:58 +0000
 1.1.4.2 19-Jan-2009  skrll Sync with HEAD.
 1.1.4.1 09-Jan-2009  skrll file iq31244_machdep.c was added on branch nick-hppapmap on 2009-01-19 13:16:04 +0000
 1.1.2.2 17-Jan-2009  mjf Sync with HEAD.
 1.1.2.1 09-Jan-2009  mjf file iq31244_machdep.c was added on branch mjf-devfs2 on 2009-01-17 13:27:58 +0000
 1.7 09-Jan-2019  msaitoh Fix compile error for *_pci_intr_establish().
 1.6 29-Mar-2014  christos branches: 1.6.28; 1.6.30;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.5 01-Jul-2011  dyoung branches: 1.5.2; 1.5.12; 1.5.16;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.4 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.3 11-Dec-2005  christos branches: 1.3.100; 1.3.106;
merge ktrace-lwp.
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 14-May-2003  thorpej branches: 1.1.2;
Add support for the Intel IQ31244 reference board, based on the i80321
I/O processor and the i31244 PCI-X S-ATA controller.

The IQ31244 is almost identical to the IQ80321, from software's
perspective, so we share much of the code.
 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.106.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.100.1 21-Apr-2011  rmind sync with head
 1.5.16.1 18-May-2014  rmind sync with head
 1.5.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.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.6.30.1 10-Jun-2019  christos Sync with HEAD
 1.6.28.1 18-Jan-2019  pgoyette Synch with HEAD
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 11-Dec-2005  christos branches: 1.2.74; 1.2.76; 1.2.78;
merge ktrace-lwp.
 1.1 19-Feb-2005  rearnsha branches: 1.1.4; 1.1.8; 1.1.10;
Add support for the on-board CompactFlash card.
 1.1.10.2 29-Apr-2005  kent sync with -current
 1.1.10.1 19-Feb-2005  kent file iq31244reg.h was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.1.8.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.8.1 19-Feb-2005  yamt file iq31244reg.h was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.1.4.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.4.1 19-Feb-2005  skrll file iq31244reg.h was added on branch ktrace-lwp on 2005-03-04 16:38:25 +0000
 1.2.78.1 16-May-2008  yamt sync with head.
 1.2.76.1 18-May-2008  yamt sync with head.
 1.2.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.12 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.11 20-Oct-2017  jdolecek 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.10 07-Oct-2017  jdolecek adapt the rest of wdc attachments for NCQ branch merge
 1.9 31-Jul-2012  bouyer branches: 1.9.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.8 26-Jul-2012  jakllsch Revert, with intention of restoring in a less invasive way, the SATA Port
Multiplier code.

ok christos@
 1.7 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.6 01-Jul-2011  dyoung branches: 1.6.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.5 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.4 18-Mar-2008  cube branches: 1.4.2; 1.4.4;
Split device_t and softc for ATA devices, as well as wd(4). Other
cosmetic changes where appropriate.
 1.3 16-Jan-2006  bouyer branches: 1.3.48; 1.3.68; 1.3.72;
properly use ata_channel->ch_ndrive:
- initialize it properly in the bus front-ends (all 2, exept in wdc_pcmcia.c
for the "Sandisk CompactFlash Card" where it's set to 1)
- remplace hardcoded '2' by ata_channel->ch_ndrive in MI IDE drivers.

From Christos Zoulas in kern/32501.
 1.2 11-Dec-2005  christos branches: 1.2.2;
merge ktrace-lwp.
 1.1 19-Feb-2005  rearnsha branches: 1.1.4; 1.1.8; 1.1.10; 1.1.12;
Add support for the on-board CompactFlash card.
 1.1.12.2 24-Mar-2008  yamt sync with head.
 1.1.12.1 21-Jun-2006  yamt sync with head.
 1.1.10.2 29-Apr-2005  kent sync with -current
 1.1.10.1 19-Feb-2005  kent file wdc_obio.c was added on branch kent-audio2 on 2005-04-29 11:28:07 +0000
 1.1.8.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.8.1 19-Feb-2005  yamt file wdc_obio.c was added on branch yamt-km on 2005-03-19 08:32:55 +0000
 1.1.4.2 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.4.1 19-Feb-2005  skrll file wdc_obio.c was added on branch ktrace-lwp on 2005-03-04 16:38:25 +0000
 1.2.2.1 01-Feb-2006  yamt sync with head.
 1.3.72.2 02-Jun-2008  mjf Sync with HEAD.
 1.3.72.1 03-Apr-2008  mjf Sync with HEAD.
 1.3.68.1 24-Mar-2008  keiichi sync with head.
 1.3.48.1 23-Mar-2008  matt sync with HEAD
 1.4.4.1 16-May-2008  yamt sync with head.
 1.4.2.1 18-May-2008  yamt sync with head.
 1.6.2.1 30-Oct-2012  yamt sync with head
 1.9.2.1 03-Dec-2017  jdolecek update from HEAD
 1.15 08-Dec-2018  thorpej Clean up initialization of com_regs structure, in preparation for
some additional changers.
 1.14 01-Jul-2011  dyoung branches: 1.14.52; 1.14.54;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.13 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.12 14-Mar-2008  cube branches: 1.12.2; 1.12.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.11 13-Jul-2006  gdamore branches: 1.11.34; 1.11.54; 1.11.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.10 11-Dec-2005  christos branches: 1.10.4; 1.10.8; 1.10.16;
merge ktrace-lwp.
 1.9 15-Jul-2003  lukem branches: 1.9.16;
__KERNEL_RCSID()
 1.8 03-Oct-2002  thorpej branches: 1.8.6;
Use indirect configuration for on-board devices (i.e. those things
attached to "obio") on the IQ80310 and IQ80321. It makes more sense
to do it this way for this type of system (the goal being to encapsulate
as much information about the board as possible into one file).
 1.7 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.6 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.5 27-Sep-2002  thorpej Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver. The cfdriver is then looked
up in a list which is built at run-time.
 1.4 12-Apr-2002  thorpej branches: 1.4.6;
* Add a new hwflag, COM_HW_NO_TXPRELOAD, which tells comstart() to
not pre-load the chip's Tx buffer, but instead waits for the Tx Ready
interrupt to transmit the first chunk of data.
* On the IOP310, set COM_HW_NO_TXPRELOAD, rather than COM_HW_TXFIFO_DISABLE.

This solves the "UART hangs" problem on the Npwr in a nicer way (i.e. we
get to use the FIFO, whee). The COM_HW_NO_TXPRELOAD happens to match the
Linux 16550 driver's Tx algorithm, and the "UART hang" was never observed
on the Npwr running Linux.

Eventually, we might want to eliminate the COM_HW_NO_TXPRELOAD, and simply
always use its algorithm. But it should be tested on more 16x50 variants
before we do that.

Kudos to Valeriy Ushakov <uwe@netbsd.org> for pointing out this solution
(which also happens to fix the stray UART interrupt issue on the Krups
Javastation), and to Allen Briggs <briggs@netbsd.org> for experimenting
with various methods of fixing this.
 1.3 12-Apr-2002  briggs Disable TXFIFO on npwr. There is some sort of serial interrupt lossage that
seems to be greatly alleviated by this change.
 1.2 07-Nov-2001  thorpej branches: 1.2.2;
Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
 1.1 02-Sep-2001  matt branches: 1.1.4;
com (16550) attachment for iq80310
 1.1.4.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.2.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.2.2.2 17-Apr-2002  nathanw Catch up to -current.
 1.2.2.1 07-Nov-2001  nathanw file com_obio.c was added on branch nathanw_sa on 2002-04-17 00:02:57 +0000
 1.4.6.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.4.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.6.1 12-Apr-2002  jdolecek file com_obio.c was added on branch kqueue on 2002-06-23 17:35:41 +0000
 1.8.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.8.6.1 03-Aug-2004  skrll Sync with HEAD
 1.9.16.2 17-Mar-2008  yamt sync with head.
 1.9.16.1 30-Dec-2006  yamt sync with head.
 1.10.16.1 20-Jun-2006  gdamore Add support for pretty much all ARM com(4) variants. There are a few ARM
serial devices that are not com(4)-like enough to be supported under com(4).
 1.10.8.1 11-Aug-2006  yamt sync with head
 1.10.4.1 09-Sep-2006  rpaulo sync with head
 1.11.58.2 02-Jun-2008  mjf Sync with HEAD.
 1.11.58.1 03-Apr-2008  mjf Sync with HEAD.
 1.11.54.1 24-Mar-2008  keiichi sync with head.
 1.11.34.1 23-Mar-2008  matt sync with HEAD
 1.12.4.1 16-May-2008  yamt sync with head.
 1.12.2.1 18-May-2008  yamt sync with head.
 1.14.54.1 10-Jun-2019  christos Sync with HEAD
 1.14.52.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.3 30-Jan-2002  thorpej New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.2 20-Dec-2001  thorpej branches: 1.2.2; 1.2.4;
* Share a common vector page between arm26 and arm32.
* Use a common set of exception handlers for all arm32 platforms.
* New FIQ framework based on discussions with Ben Harris, shared
between arm26 and arm32.
 1.1 27-Nov-2001  thorpej Move interrupt-related stuff out of the generic 32-bit ARM genassym.cf
and into platform-specific genassym.cf files.
 1.2.4.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.2.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.4.1 20-Dec-2001  thorpej file genassym.cf was added on branch kqueue on 2002-01-10 19:42:35 +0000
 1.2.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.2.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.2.2.1 20-Dec-2001  nathanw file genassym.cf was added on branch nathanw_sa on 2002-01-08 00:24:27 +0000
 1.16 14-Oct-2012  msaitoh struct device * -> device_t change.
Not tested though.
 1.15 03-Oct-2012  chs defer evcnt attachment correctly.
 1.14 01-Jul-2011  dyoung branches: 1.14.2; 1.14.8; 1.14.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.13 11-Dec-2005  christos merge ktrace-lwp.
 1.12 23-Apr-2004  simonb s/the the/the/ (only in sources that aren't regularly imported from
elsewhere).
 1.11 15-Jul-2003  lukem __KERNEL_RCSID()
 1.10 03-Oct-2002  thorpej branches: 1.10.6;
Fix script-o.
 1.9 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.8 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.7 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.6 27-Sep-2002  thorpej Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver. The cfdriver is then looked
up in a list which is built at run-time.
 1.5 08-Feb-2002  thorpej No point in setting the ATU Subsys vendor/dev ID on boards that
can't plug into a PCI host.
 1.4 07-Feb-2002  thorpej Add support for the Team ASA Npwr IOP310-based server appliance.
 1.3 09-Nov-2001  thorpej branches: 1.3.2; 1.3.4; 1.3.6;
Add support for PCI DMA on the i80312. We currently just do
DMA via the Secondary Inbound window, for now. Will probably
need to revisit this at some point.

Require that the board-specific i80312 front-end slice off a
subregion for the memory controller before calling i80312_attach(),
and fix a bug in the IQ80310 front-end that caused the Secondary
Inbound window to be configured incorrectly.
 1.2 09-Nov-2001  thorpej PCI interrupt mapping support for the IQ80310.
 1.1 09-Nov-2001  thorpej IQ80310-specific setup for the i80312 Companion I/O chip driver.
 1.3.6.4 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.3.6.3 16-Mar-2002  jdolecek Catch up with -current.
 1.3.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.6.1 09-Nov-2001  thorpej file i80312_mainbus.c was added on branch kqueue on 2002-01-10 19:42:35 +0000
 1.3.4.3 18-Oct-2002  nathanw Catch up to -current.
 1.3.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.3.4.1 09-Nov-2001  nathanw file i80312_mainbus.c was added on branch nathanw_sa on 2002-02-28 04:09:13 +0000
 1.3.2.2 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.3.2.1 09-Nov-2001  thorpej file i80312_mainbus.c was added on branch thorpej-mips-cache on 2001-11-12 21:16:52 +0000
 1.10.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.10.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.10.6.1 03-Aug-2004  skrll Sync with HEAD
 1.14.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.14.8.1 17-Oct-2012  riz Pull up following revision(s) (requested by chs in ticket #591):
sys/arch/evbarm/iq80310/i80312_mainbus.c: revision 1.15
sys/arch/evbarm/iq80310/iq80310var.h: revision 1.8
sys/arch/evbarm/iq80310/iq80310_intr.c: revision 1.32
defer evcnt attachment correctly.
 1.14.2.1 30-Oct-2012  yamt sync with head
 1.10 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.9 11-Dec-2005  christos merge ktrace-lwp.
 1.8 15-Jul-2003  lukem __KERNEL_RCSID()
 1.7 14-May-2003  thorpej branches: 1.7.2;
Move the 7-segment display definitions into the C file.
 1.6 12-Apr-2002  thorpej * Add the ability to display .'s on the 7seg display.
* Display . . when halted.
 1.5 20-Jan-2002  thorpej Some prototype cleanup.
 1.4 01-Dec-2001  thorpej branches: 1.4.2;
Make the snake slither in a slightly more interesting pattern that
also happens to have 8 positions (and thus has a slightly more efficient
implementation).
 1.3 01-Dec-2001  thorpej Implement a "snake" for the 7-segment display.
 1.2 07-Nov-2001  thorpej branches: 1.2.2; 1.2.4;
We were already cheating w/ CPLD register access, so cheat all the
way and use pointer derefs rather than bus_space to access them.
 1.1 07-Nov-2001  thorpej Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
 1.2.4.4 17-Apr-2002  nathanw Catch up to -current.
 1.2.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.2.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.2.4.1 07-Nov-2001  nathanw file iq80310_7seg.c was added on branch nathanw_sa on 2002-01-08 00:24:27 +0000
 1.2.2.2 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.2.2.1 07-Nov-2001  thorpej file iq80310_7seg.c was added on branch thorpej-mips-cache on 2001-11-12 21:16:53 +0000
 1.4.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.4.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.2.1 01-Dec-2001  thorpej file iq80310_7seg.c was added on branch kqueue on 2002-01-10 19:42:35 +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.36 21-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.35 10-Nov-2019  chs branches: 1.35.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.34 26-Mar-2014  christos branches: 1.34.30;
kill sprintf.
 1.33 28-Jan-2014  martin Unused variable police
 1.32 03-Oct-2012  chs branches: 1.32.2;
defer evcnt attachment correctly.
 1.31 14-Aug-2012  chs branches: 1.31.2;
move evcnt_attach_dynamic() calls later to avoid assertions.
 1.30 02-Aug-2012  skrll Remove irqframe and replace with identical trapframe.
 1.29 01-Jul-2011  dyoung branches: 1.29.2; 1.29.8;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.28 31-Jan-2011  jakllsch Correct __HAVE_FAST_SOFTINTRS typos, use only __HAVE_FAST_SOFTINTS.
 1.27 20-Dec-2010  matt branches: 1.27.2; 1.27.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.26 27-Apr-2008  matt branches: 1.26.22;
Merge kernel changes in matt-armv6 to HEAD.
 1.25 06-Jan-2008  matt branches: 1.25.6; 1.25.8; 1.25.10;
Cleanup softint lossage.
 1.24 24-Nov-2006  wiz branches: 1.24.24; 1.24.28; 1.24.34; 1.24.42;
s/heirarchy/hierarchy/, from Zafer.
 1.23 24-Dec-2005  perry branches: 1.23.20; 1.23.22;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.22 11-Dec-2005  christos merge ktrace-lwp.
 1.21 14-Aug-2005  he Follow up the type change of i80200_extirq_dispatch which now takes
an irqframe* and not a clockframe* as argument.
 1.20 15-Jul-2003  lukem branches: 1.20.16;
__KERNEL_RCSID()
 1.19 16-Jun-2003  thorpej branches: 1.19.2;
Rename IPL_IMP -> IPL_VM.
 1.18 09-Oct-2002  thorpej Clean up some bad interaction between the spl inlining stuff and
strict-prototypes.
 1.17 17-Aug-2002  briggs Add a new option EVBARM_BOARDTYPE to differentiate between different
evbarm ports. Inline _splraise/_spllower/splx for i80321 and iq80310
for more performance.
 1.16 14-Aug-2002  thorpej Don't need to frob CPSR in _splraise().
 1.15 07-Aug-2002  briggs Implement pmc(9) -- An interface to hardware performance monitoring
counters. These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface. Initially, the Intel XScale
counters are the only ones supported.
 1.14 04-Aug-2002  thorpej #if 0 the stray interrupt messages -- we tend to get them "a lot"
during normal activity on some IOP310-based designs.
 1.13 26-Jun-2002  thorpej Report stray interrupts.
 1.12 14-Apr-2002  thorpej branches: 1.12.2; 1.12.4;
Fix typo in last (luckily, search/replace makes the same typo everywhere).
 1.11 14-Apr-2002  thorpej iq80310_do_pending -> iq80310_do_soft, to accurately describe what's
actually going on there.
 1.10 12-Apr-2002  briggs Processing pending interrupts before reenabling external interrupts in splx().
 1.9 09-Feb-2002  thorpej branches: 1.9.4;
* The Npwr only has 5 interrupt sources, all in XINT3, so don't bother
reading XINT0 (which isn't even implemented by the CPLD on Npwr).
* Adjust the mask of valid IRQ bits for the Npwr.
 1.8 30-Jan-2002  thorpej New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.7 20-Jan-2002  thorpej Some prototype cleanup.
 1.6 01-Dec-2001  thorpej branches: 1.6.2;
- Don't enable FIQs; nothing uses them (yet).
- Steer i80200 PMU and BCU interrupts to IRQ# (for lack of a better
place, at the moment).
- Disable all interrupts other than external-IRQ# in the i80200 ICU;
we don't deal with any of the others, yet.
 1.5 23-Nov-2001  thorpej Use <arm/cpufunc.h>, not <machine/cpufunc.h>.
 1.4 07-Nov-2001  thorpej branches: 1.4.2; 1.4.4;
When we read the interrupt status bits, mask it with the shadow copy
of the "currently enabled interrupts" -- the CPLD appears to light
up the status bit even if it doesn't cause the CPU IRQ line to be
asserted.
 1.3 07-Nov-2001  thorpej We were already cheating w/ CPLD register access, so cheat all the
way and use pointer derefs rather than bus_space to access them.
 1.2 07-Nov-2001  thorpej * Pass the IRQ number to stray_irqhandler() and display it in
the panic message.
* Mask off undefined bits from the XINT3 and XINT0 registers in the CPLD.
 1.1 07-Nov-2001  thorpej Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
 1.4.4.8 18-Oct-2002  nathanw Catch up to -current.
 1.4.4.7 19-Aug-2002  thorpej Partial (ARM only) sync with trunk -- significant performance improvements
for XScale-based systems.
 1.4.4.6 13-Aug-2002  nathanw Catch up to -current.
 1.4.4.5 01-Aug-2002  nathanw Catch up to -current.
 1.4.4.4 17-Apr-2002  nathanw Catch up to -current.
 1.4.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.4.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.4.4.1 07-Nov-2001  nathanw file iq80310_intr.c was added on branch nathanw_sa on 2002-01-08 00:24:27 +0000
 1.4.2.2 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.4.2.1 07-Nov-2001  thorpej file iq80310_intr.c was added on branch thorpej-mips-cache on 2001-11-12 21:16:53 +0000
 1.6.2.6 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.6.2.5 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.2.4 16-Mar-2002  jdolecek Catch up with -current.
 1.6.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.6.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.6.2.1 01-Dec-2001  thorpej file iq80310_intr.c was added on branch kqueue on 2002-01-10 19:42:35 +0000
 1.9.4.1 17-Mar-2002  thorpej IPL_IMP -> IPL_VM
 1.12.4.1 18-Nov-2002  he Pull up revision 1.16 (requested by thorpej in ticket #680):
Don't need to frob CPSR in _splraise().
 1.12.2.2 30-Aug-2002  gehenna catch up with -current.
 1.12.2.1 16-Jul-2002  gehenna catch up with -current.
 1.19.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.19.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.19.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.19.2.1 03-Aug-2004  skrll Sync with HEAD
 1.20.16.3 21-Jan-2008  yamt sync with head
 1.20.16.2 30-Dec-2006  yamt sync with head.
 1.20.16.1 21-Jun-2006  yamt sync with head.
 1.23.22.1 10-Dec-2006  yamt sync with head.
 1.23.20.1 12-Jan-2007  ad Sync with head.
 1.24.42.1 08-Jan-2008  bouyer Sync with HEAD
 1.24.34.1 18-Feb-2008  mjf Sync with HEAD.
 1.24.28.1 09-Jan-2008  matt sync with HEAD
 1.24.24.1 28-Feb-2008  rjs Sync with HEAD.
 1.25.10.1 16-May-2008  yamt sync with head.
 1.25.8.1 18-May-2008  yamt sync with head.
 1.25.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.26.22.1 05-Mar-2011  rmind sync with head
 1.27.4.1 08-Feb-2011  bouyer Sync with HEAD
 1.27.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.29.8.2 17-Oct-2012  riz Pull up following revision(s) (requested by chs in ticket #591):
sys/arch/evbarm/iq80310/i80312_mainbus.c: revision 1.15
sys/arch/evbarm/iq80310/iq80310var.h: revision 1.8
sys/arch/evbarm/iq80310/iq80310_intr.c: revision 1.32
defer evcnt attachment correctly.
 1.29.8.1 20-Aug-2012  riz Pull up following revision(s) (requested by chs in ticket #509):
sys/arch/evbarm/iq80310/iq80310_intr.c: revision 1.31
move evcnt_attach_dynamic() calls later to avoid assertions.
 1.29.2.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.29.2.1 30-Oct-2012  yamt sync with head
 1.31.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.31.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.32.2.1 18-May-2014  rmind sync with head
 1.34.30.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.35.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.9 28-Jan-2014  martin Unused variable police
 1.8 14-Feb-2009  he branches: 1.8.12; 1.8.22; 1.8.26;
Also include <arm/cpu.h> here for the required definitions of
curcpl() and set_curcpl(), so that kern_ssp.c builds here as well.
 1.7 27-Apr-2008  matt branches: 1.7.8; 1.7.10; 1.7.14;
Merge kernel changes in matt-armv6 to HEAD.
 1.6 06-Jan-2008  matt branches: 1.6.6; 1.6.8; 1.6.10;
Cleanup softint lossage.
 1.5 24-Dec-2005  perry branches: 1.5.46; 1.5.50; 1.5.56; 1.5.64;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 13-Jan-2004  he branches: 1.3.16;
Copy code from iq80321 / ixp425:
Use __insn_barrier() to prevent the compiler reordering splx/splraise
relative to the code they're supposed to protect.
 1.2 09-Oct-2002  thorpej branches: 1.2.6;
Clean up some bad interaction between the spl inlining stuff and
strict-prototypes.
 1.1 17-Aug-2002  briggs branches: 1.1.2; 1.1.4; 1.1.6;
Add a new option EVBARM_BOARDTYPE to differentiate between different
evbarm ports. Inline _splraise/_spllower/splx for i80321 and iq80310
for more performance.
 1.1.6.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.6.1 17-Aug-2002  jdolecek file iq80310_intr.h was added on branch kqueue on 2002-09-06 08:34:08 +0000
 1.1.4.2 30-Aug-2002  gehenna catch up with -current.
 1.1.4.1 17-Aug-2002  gehenna file iq80310_intr.h was added on branch gehenna-devsw on 2002-08-30 00:19:34 +0000
 1.1.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.1.2.2 19-Aug-2002  thorpej Partial (ARM only) sync with trunk -- significant performance improvements
for XScale-based systems.
 1.1.2.1 17-Aug-2002  thorpej file iq80310_intr.h was added on branch nathanw_sa on 2002-08-19 21:39:36 +0000
 1.2.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.6.1 03-Aug-2004  skrll Sync with HEAD
 1.3.16.2 21-Jan-2008  yamt sync with head
 1.3.16.1 21-Jun-2006  yamt sync with head.
 1.5.64.1 08-Jan-2008  bouyer Sync with HEAD
 1.5.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.5.50.1 09-Jan-2008  matt sync with HEAD
 1.5.46.1 28-Feb-2008  rjs Sync with HEAD.
 1.6.10.2 04-May-2009  yamt sync with head.
 1.6.10.1 16-May-2008  yamt sync with head.
 1.6.8.1 18-May-2008  yamt sync with head.
 1.6.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.7.10.1 15-Mar-2009  snj Pull up following revision(s) (requested by chrost in ticket #458):
sys/arch/evbarm/iq80310/iq80310_intr.h: revision 1.8
Also include <arm/cpu.h> here for the required definitions of
curcpl() and set_curcpl(), so that kern_ssp.c builds here as well.
 1.7.8.1 03-Mar-2009  skrll Sync with HEAD.
 1.8.26.1 18-May-2014  rmind sync with head
 1.8.22.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.12.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.4 30-Jan-2002  thorpej New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.3 28-Nov-2001  thorpej branches: 1.3.2;
When processing ASTs:
- Loop until astpending is clear upon return from ast().
- Clear astpending *before* re-enabling interrupts.
 1.2 07-Nov-2001  thorpej branches: 1.2.2; 1.2.4;
* Pass the IRQ number to stray_irqhandler() and display it in
the panic message.
* Mask off undefined bits from the XINT3 and XINT0 registers in the CPLD.
 1.1 07-Nov-2001  thorpej Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
 1.2.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.2.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.2.4.1 07-Nov-2001  nathanw file iq80310_irq.S was added on branch nathanw_sa on 2002-01-08 00:24:27 +0000
 1.2.2.2 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.2.2.1 07-Nov-2001  thorpej file iq80310_irq.S was added on branch thorpej-mips-cache on 2001-11-12 21:16:53 +0000
 1.3.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.3.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.2.1 28-Nov-2001  thorpej file iq80310_irq.S was added on branch kqueue on 2002-01-10 19:42:36 +0000
 1.97 20-Feb-2024  andvar Fix format specifier for physmem from %d to 0x%"PRIxPSIZE" in multiple places.

Should fix VERBOSE_INIT_ARM for various evbarm kernel configs.
Also add 0x prefix in few previously fixed places to improve readability.
 1.96 12-Oct-2023  skrll Fix non-DIAGNOSTIC builds
 1.95 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.94 17-Aug-2021  andvar branches: 1.94.4;
fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.93 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.92 18-Apr-2020  skrll Trailing whitespace
 1.91 16-Jul-2019  skrll branches: 1.91.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.90 01-Mar-2019  msaitoh - Almost all ppbreg.h's definitions are also in pcireg.h. Remove duplicated
definitions from ppbreg.h and move some definitions from ppbreg.h to
pcireg.h.
- Change fast back-to-back "capable" to "enable" in pci_subr.c.
- Print Primary Discard Timer, Secondary Discard Timer, Discard Timer Status
and Discard Timer SERR# Enable bit in pci_subr.c.
- PCI_BRIDGE_PREFETCHBASE32_REG and PCI_BRIDGE_PREFETCHLIMIT32_REG are
"upper" 32bit registers, rename to *UP32_REG to avoid confusion.
- Use macro.
 1.89 28-Oct-2018  skrll Fix a commit
 1.88 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.87 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.86 22-Dec-2016  cherry branches: 1.86.14; 1.86.16;
switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.85 13-Sep-2014  matt branches: 1.85.2; 1.85.4;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.84 18-Aug-2013  matt <arm/locore.h> fallout (fixes some include ordering errors)
 1.83 22-Sep-2012  matt branches: 1.83.2;
Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.82 16-Aug-2012  matt branches: 1.82.2;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.81 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.80 01-Jul-2011  dyoung branches: 1.80.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.79 30-Jun-2011  wiz dependant -> dependent
 1.78 26-Dec-2009  uebayasi Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.77 26-Dec-2009  uebayasi Garbage collect an unused global, vm_offset_t pagetables_start.
 1.76 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.75 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.74 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 1.73 30-Nov-2008  martin As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.72 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.71 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.70 27-Apr-2008  matt branches: 1.70.6; 1.70.8;
Merge kernel changes in matt-armv6 to HEAD.
 1.69 19-Jan-2008  chris branches: 1.69.6; 1.69.8; 1.69.10;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.68 24-Nov-2006  wiz branches: 1.68.24; 1.68.28; 1.68.34; 1.68.42;
s/independant/independent/, from Zafer.
 1.67 17-May-2006  mrg branches: 1.67.8; 1.67.10;
in initarm(), initialise kernel_l1pt.pv_va as well as kernel_l1pt.pv_pa.
 1.66 11-Dec-2005  christos branches: 1.66.4; 1.66.6; 1.66.8; 1.66.12;
merge ktrace-lwp.
 1.65 12-Dec-2004  abs branches: 1.65.10;
Fix comments regarding configration bounaries
 1.64 12-Dec-2004  abs Fix comments slighly
 1.63 13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.62 09-Sep-2003  thorpej Bump initial kernel PTs to 4.
 1.61 15-Jul-2003  lukem __KERNEL_RCSID()
 1.60 15-Jun-2003  thorpej branches: 1.60.2;
Use the new pmap_devmap facility in the on-board device mapping code.
 1.59 15-Jun-2003  thorpej Replace the ad-hoc "section mapping table" for static device mappings
with a more generic "devmap" structure that can also handle mappings
made with large and small pages. Add new pmap routines to enter these
mappings during bootstrap (and "remember" the devmap), and routines to
look up the static mappings once the kernel is running.
 1.58 14-Jun-2003  thorpej Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
 1.57 22-May-2003  thorpej Move KERNEL_VM_SIZE into the C files where its used.
 1.56 21-May-2003  thorpej Move KERNEL_VM_BASE inside where it is used (it won't be there for long).
 1.55 17-May-2003  thorpej Decrease the verbosity level unless VERBOSE_INIT_ARM is defiend.
 1.54 03-May-2003  thorpej Don't expose KERNEL_TEXT_BASE outside of board-specific code. This gives
individual board start-up code more flexibility about where the kernel
starts in the kernel address space.
 1.53 03-May-2003  thorpej Reduce differences between ARM32_NEW_VM_LAYOUT and not; always pass
the start and end of the kernel managed virtual address space to
pmap_bootstrap() in the new pmap.
 1.52 03-May-2003  thorpej Remove old pmap support for platforms which have fully switched over.
 1.51 02-May-2003  thorpej Eliminate PTE_BASE and the PT-PT completely in the ARM32_PMAP_NEW case.
Also in the ARM32_PMAP_NEW case, reclaim the USPACE-bytes of wasted space
at the top of the user address that hasn't been needed for a very very
long time.
 1.50 26-Apr-2003  ragge Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
 1.49 22-Apr-2003  thorpej Use high vectors on IQ80321 and IQ80310.
 1.48 19-Apr-2003  thorpej Adapt to ARM32_PMAP_NEW.
 1.47 02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.46 17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.45 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.44 24-Aug-2002  thorpej Enable caching on kernel and user page tables. This saves having
to do uncached memory access during VM operations (which can be
quite expensive on some CPUs).

We currently write-back PTEs as soon as they're modified; there is
some room for optimization (to write them back in larger chunks).
For PTEs in the APTE space (i.e. PTEs for pmaps that describe another
process's address space), PTEs must also be evicted from the cache
complete (PTEs in PTE space will be evicted durint a context switch).
 1.43 21-Aug-2002  thorpej Do cached memory access to L1 tables, making sure to write-back the
cache after any L1 table modifications.
 1.42 31-Jul-2002  thorpej Move the calls to uvm_page_physload() out of pmap_bootstrap() and
into platform-specific initialization code, giving platform-specific
code control over which free list a given chunk of memory gets put
onto.

Changes are essentially mechanical. Test compiled for all ARM
platforms, test booted on Intel IQ80321 and Shark.

Discussed some time ago on port-arm.
 1.41 30-Jul-2002  thorpej Move the uvm_setpagesize() call to platform-dependent code in preparation
for other changes to pmap_bootstrap().
 1.40 12-Apr-2002  thorpej branches: 1.40.2; 1.40.4;
* Add the ability to display .'s on the 7seg display.
* Display . . when halted.
 1.39 12-Apr-2002  briggs Remove exception for CONSPEED on NPWR -- current redboot uses 115200, too.
 1.38 09-Apr-2002  thorpej * Move the code that cleans the XScale mini-data cache into its
own function.
* Add a new function which sets up the mini-data cache clean area
properly.
 1.37 05-Apr-2002  thorpej * Rewrite the 32-bit ARM pte.h based on the ARM architecture manual.
Significant cleanup, here, including better PTE bit names.
* Add XScale PTE extensions (ECC enable, write-allocate cache mode).
* Mechanical changes everywhere else to update for new pte.h. While
doing this, two bugs (as a result of typos) were fixed in

arm/arm32/bus_dma.c
evbarm/integrator/int_bus_dma.c
 1.36 03-Apr-2002  thorpej Clean up handling of the vector page on 32-bit ARM systems:
* Don't refer to VA 0, instead refer to a new variable: vector_page
* Delete the old zero_page_*() functions, replacing them with a new
one: vector_page_setprot().
* When manipulating vector page mappings in user pmaps, only do so if
the vector page is below KERNEL_BASE (if it's above KERNEL_BASE, the
vector page is mapped by the kernel pmap).
* Add a new function, arm32_vector_init(), which takes the virtual
address of the vector page (which MUST be valid when the function
is called) and a bitmask of vectors the kernel is going to take
over, and performs all vector page initialization, including setting
the V bit in the CPU Control register ("relocate vectors to high
address"), if necessary.
 1.35 25-Mar-2002  thorpej * Fix use of pmap_curmaxkvaddr.
* Use the PTP hint in the pmap.
 1.34 23-Mar-2002  thorpej * Rename PROCESS_PAGE_TBLS_BASE -> PTE_BASE
* Rename ALT_PAGE_TBLS_BASE -> APTE_BASE
* Garbage-collect PAGE_TABLE_SPACE_START
 1.33 03-Mar-2002  thorpej * Add support for running the IQ80310 kernel where KERNEL_BASE !=
physical memory start. Garbage-collect some cruft while here.
* Move the kernel up to 0xc0000000, giving a 1G/3G kernel/user split.
* Adjust the Integrator startup code accordingly.
 1.32 03-Mar-2002  chris Implement pmap_growkernel for arm32 based ports.
Note that this has been compiled on some systems, cats, IQ80310, IPAQ, netwinder and shark (note that shark's build is currently broken due to other reasons), but only actually run on cats.
Shark doesn't make use of the functionality as I believe there has to be a correlation between OFW and the kernel tables so that calls into OFW work.
 1.31 23-Feb-2002  thorpej Add some nops after we enable the MMU, for good measure (enough for
the nops to be the prefetch'd insns when the MMU switch occurs).
 1.30 23-Feb-2002  thorpej Make sure the MMU is enabled after we switch to the new kernel
page tables (gzboot disables the MMU before it does its work).
 1.29 22-Feb-2002  thorpej Fix the "va" argument to pmap_map_entry() when mapping kernel_ptpt.
This happened to work in the IOP310 because the kernel runs VA==PA.
 1.28 22-Feb-2002  thorpej Change pmap_map_entry() to work like pmap_map_chunk(): take a pointer
to the L1 table and a virtual address, and no pointer to the L2 table.
The L2 table will be looked up by pmap_map_entry(), which will panic
if the there is no L2 table for the requested VA.

NOTE: IT IS EXTREMELY IMPORTANT THAT THE CORRECT VIRTUAL ADDRESS
BE PROVIDED TO pmap_map_entry()! Notably, the code that mapped
the kernel L2 tables into the kernel PT mapping L2 table were not
passing actual virtual addresses, but rather offsets into the range
mapped by the L2 table. I have fixed up all of these call sites,
and tested the resulting kernel on both an IQ80310 and a Shark.
Other portmasters should examine their pmap_map_entry() calls if
their new kernels fail.
 1.27 21-Feb-2002  thorpej Keep track of which kernel PTs are available during bootstrap,
and let pmap_map_chunk() lookup the correct one to use for the
current VA. Eliminate the "l2table" argument to pmap_map_chunk().

Add a second L2 table for mapping kernel text/data/bss on the
IQ80310 (fixes booting kernels with ramdisks).
 1.26 21-Feb-2002  thorpej Always pass the L1 table to pmap_map_chunk(). This allows pmap_map_chunk()
to perform some error checking.
 1.25 21-Feb-2002  thorpej map_chunk() -> pmap_map_chunk(), and move it to pmap.c
 1.24 20-Feb-2002  skrll Fix typo in comment.
 1.23 20-Feb-2002  thorpej map_pagetable() -> pmap_link_l2pt(), and move it to pmap.c
 1.22 20-Feb-2002  thorpej Collapse map_entry{,ro,nc}() into a single pmap_map_entry() that
takes a prot and a "cacheable" indicator.
 1.21 20-Feb-2002  thorpej Rename map_section() to pmap_map_section(), move it to pmap.c, and give it
an extra argument (prot - specifies protection of the mapping).
 1.20 08-Feb-2002  thorpej branches: 1.20.2;
Default the console to the correct speed on the Npwr (so that
it doesn't have to be set in the kernel config file).
 1.19 07-Feb-2002  thorpej Don't hard-code the console address in error messages.
 1.18 30-Jan-2002  thorpej irq_init() -> iq80310_intr_init()
 1.17 25-Jan-2002  thorpej Overhaul of the ARM cache code. This is mostly a simplification
pass. Rather than providing a whole slew of cache operations that
aren't ever used, distill them down to some useful primitives:

icache_sync_all Synchronize I-cache
icache_sync_range Synchronize I-cache range

dcache_wbinv_all Write-back and Invalidate D-cache
dcache_wbinv_range Write-back and Invalidate D-cache range
dcache_inv_range Invalidate D-cache range
dcache_wb_range Write-back D-cache range

idcache_wbinv_all Write-back and Invalidate D-cache,
Invalidate I-cache
idcache_wbinv_range Write-back and Invalidate D-cache,
Invalidate I-cache range

Note: This does not yet include an overhaul of the actual asm files
that implement the primitives. Instead, we've provided a safe default
for each CPU type, and the individual CPU types can now be optimized
one at a time.
 1.16 20-Jan-2002  thorpej Some prototype cleanup.
 1.15 18-Jan-2002  thorpej Allow the console unit to be overridden with the CONUNIT configuration
option.
 1.14 16-Jan-2002  thorpej When mapping the kernel text/data/bss:
* Round the text size up the next page, don't truncate it.
* Pass the kernel L1 table to map_chunk() so that it can try
to use section mappings.
 1.13 04-Jan-2002  briggs If we're attaching UART2, then use UART2 in failure-case panic()s.
 1.12 27-Nov-2001  thorpej Update copyright notice.
 1.11 27-Nov-2001  thorpej Don't need to include <machine/irqhandler.h>
 1.10 23-Nov-2001  thorpej Use <arm/undefined.h> instead of <machine/undefined.h>.
 1.9 23-Nov-2001  thorpej No need to pull in <machine/pte.h> directly.
 1.8 11-Nov-2001  thorpej branches: 1.8.2;
Allocate the appropriate space for the XScale global cache clean code.
 1.7 09-Nov-2001  thorpej Add some rudimentary support for ELF symbols in DDB on the ARM ports.
On platforms which load the kernel sans symbols directly from firmware
(possibly in e.g. S-Record format), call ddb_init() with empty arguments,
so that it will search any compiled in SYMTAB_SPACE. On all other platforms,
if __ELF__, also call ddb_init() with empty arguments until ELF bootloaders
which pass symbol information are ready.
 1.6 09-Nov-2001  thorpej Remove unneeded declarations of the db_machine_init() function. The
ARM ports are the only ones that actually have one, and it is about
to change.
 1.5 09-Nov-2001  thorpej Remove unnecessary prototypes for zero_page_read{only,write}().
 1.4 08-Nov-2001  thorpej Correct a comment.
 1.3 08-Nov-2001  thorpej * Define fixed virtual addresses for the Primary and Secondary
PCI I/O spaces, as well as the i80312 PMMRs. Map these regions
in early bootstrap along with the on-board device address space.
* Adjust call to i80312_sdram_bounds() for the new way the PMMRs
are defined in i80312reg.h
* Word around some serious braindamage in RedBoot -- RedBoot uses
the on-board Ethernet to TFTP the kernel image. However, it does
not stop the Ethernet before transferring control to the loaded
program. This means that if it happens to receive another packet
(broadcast/multicast/unicast), it will happily scribble over the
memory of the new running program. Work around this problem by
performing a secondary-bus-reset on the i80312's PPB. XXX This
could be problematic if we ever encounter an application where
the i80312's PPB is actually used as a passthrough PPB.
 1.2 07-Nov-2001  thorpej Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
 1.1 05-Sep-2001  matt branches: 1.1.4;
more evbarm files (very incomplete).
 1.1.4.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.8.2.11 11-Dec-2002  thorpej Sync with HEAD.
 1.8.2.10 18-Oct-2002  nathanw Catch up to -current.
 1.8.2.9 27-Aug-2002  thorpej Sync with -current.
 1.8.2.8 01-Aug-2002  nathanw Catch up to -current.
 1.8.2.7 24-Jun-2002  nathanw Curproc->curlwp renaming.

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

"curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL)
so that it is always safe to reference curproc (*de*referencing curproc
is another story, but that's always been true).
 1.8.2.6 17-Apr-2002  nathanw Catch up to -current.
 1.8.2.5 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.8.2.4 28-Feb-2002  nathanw Catch up to -current.
 1.8.2.3 11-Jan-2002  nathanw More catchup.
 1.8.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.8.2.1 11-Nov-2001  nathanw file iq80310_machdep.c was added on branch nathanw_sa on 2002-01-08 00:24:28 +0000
 1.20.2.6 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.20.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.20.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.20.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.20.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.20.2.1 08-Feb-2002  jdolecek file iq80310_machdep.c was added on branch kqueue on 2002-02-11 20:07:45 +0000
 1.40.4.2 14-Feb-2003  he Revert pull-up of revision 1.43 (requested by rearnsha in ticket #1170):
Revert cached memory access to L1 tables, this causes instability
on the release branch.
 1.40.4.1 21-Nov-2002  he Pull up revision 1.43 (requested by thorpej in ticket #712):
Do cached memory access to L1 tables, making sure to
write-back the cache after any L1 table modifications.
 1.40.2.1 30-Aug-2002  gehenna catch up with -current.
 1.60.2.4 18-Dec-2004  skrll Sync with HEAD.
 1.60.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.60.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.60.2.1 03-Aug-2004  skrll Sync with HEAD
 1.65.10.3 21-Jan-2008  yamt sync with head
 1.65.10.2 30-Dec-2006  yamt sync with head.
 1.65.10.1 21-Jun-2006  yamt sync with head.
 1.66.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.66.8.1 24-May-2006  yamt sync with head.
 1.66.6.1 01-Jun-2006  kardel Sync with head.
 1.66.4.1 09-Sep-2006  rpaulo sync with head
 1.67.10.1 10-Dec-2006  yamt sync with head.
 1.67.8.1 12-Jan-2007  ad Sync with head.
 1.68.42.1 20-Jan-2008  bouyer Sync with HEAD
 1.68.34.1 18-Feb-2008  mjf Sync with HEAD.
 1.68.28.2 23-Mar-2008  matt sync with HEAD
 1.68.28.1 09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.68.24.1 28-Feb-2008  rjs Sync with HEAD.
 1.69.10.4 11-Mar-2010  yamt sync with head
 1.69.10.3 19-Aug-2009  yamt sync with head.
 1.69.10.2 04-May-2009  yamt sync with head.
 1.69.10.1 16-May-2008  yamt sync with head.
 1.69.8.1 18-May-2008  yamt sync with head.
 1.69.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.69.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.70.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.70.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.80.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.80.2.1 30-Oct-2012  yamt sync with head
 1.82.2.3 03-Dec-2017  jdolecek update from HEAD
 1.82.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.82.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.83.2.1 28-Aug-2013  rmind sync with head
 1.85.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.85.2.1 05-Feb-2017  skrll Sync with HEAD
 1.86.16.3 21-Apr-2020  martin Sync with HEAD
 1.86.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.86.16.1 10-Jun-2019  christos Sync with HEAD
 1.86.14.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.86.14.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.86.14.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.91.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.94.4.1 14-Oct-2023  martin Pull up following revision(s) (requested by skrll in ticket #411):

sys/arch/evbarm/nslu2/nslu2_machdep.c: revision 1.41
sys/arch/evbarm/gumstix/gumstix_machdep.c: revision 1.75
sys/arch/evbarm/iq80321/iq80321_machdep.c: revision 1.66
sys/arch/iyonix/iyonix/iyonix_machdep.c: revision 1.34
sys/arch/zaurus/zaurus/machdep.c: revision 1.52
sys/arch/evbarm/g42xxeb/g42xxeb_machdep.c: revision 1.41
sys/arch/hpcarm/hpcarm/pxa2x0_hpc_machdep.c: revision 1.33
sys/arch/evbarm/iq80310/iq80310_machdep.c: revision 1.96
sys/arch/evbarm/adi_brh/brh_machdep.c: revision 1.53
sys/arch/arm/include/arm32/pmap.h: revision 1.177
sys/arch/evbarm/viper/viper_machdep.c: revision 1.34
sys/arch/evbarm/iyonix/iyonix_machdep.c: revision 1.5
sys/arch/evbarm/npwr_fc/npwr_fc_machdep.c: revision 1.30
sys/arch/evbarm/hdl_g/hdlg_machdep.c: revision 1.35
sys/arch/arm/arm32/pmap.c: revision 1.440
sys/arch/evbarm/lubbock/lubbock_machdep.c: revision 1.45
sys/arch/evbarm/ixdp425/ixdp425_machdep.c: revision 1.47

Fix non-DIAGNOSTIC builds
 1.16 01-Mar-2019  msaitoh - Almost all ppbreg.h's definitions are also in pcireg.h. Remove duplicated
definitions from ppbreg.h and move some definitions from ppbreg.h to
pcireg.h.
- Change fast back-to-back "capable" to "enable" in pci_subr.c.
- Print Primary Discard Timer, Secondary Discard Timer, Discard Timer Status
and Discard Timer SERR# Enable bit in pci_subr.c.
- PCI_BRIDGE_PREFETCHBASE32_REG and PCI_BRIDGE_PREFETCHLIMIT32_REG are
"upper" 32bit registers, rename to *UP32_REG to avoid confusion.
- Use macro.
 1.15 16-Nov-2018  jmcneill Add intr_establish_xname support to arm and expose it to intrctl
 1.14 23-Oct-2018  jmcneill Fix printf format strings - pci_intr_handle_t is uint64_t now on arm
 1.13 29-Mar-2014  christos branches: 1.13.28; 1.13.30;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.12 26-Mar-2014  christos kill sprintf.
 1.11 01-Jul-2011  dyoung branches: 1.11.2; 1.11.12; 1.11.16;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.10 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.9 11-Dec-2005  christos branches: 1.9.100; 1.9.106;
merge ktrace-lwp.
 1.8 15-Jul-2003  lukem __KERNEL_RCSID()
 1.7 08-Feb-2002  briggs branches: 1.7.16;
Wire the internal devices to the right interrupts on NPWR.
 1.6 08-Feb-2002  briggs Let this compile with the IOP310_TEAMASA_NPWR option.
 1.5 07-Feb-2002  thorpej Add support for the Team ASA Npwr IOP310-based server appliance.
 1.4 30-Jan-2002  thorpej New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.3 24-Jan-2002  thorpej s/CPLD/iq80310/g
 1.2 09-Nov-2001  thorpej branches: 1.2.2; 1.2.4; 1.2.6;
Fix typos in determing the ATU and PPB bus numbers.
 1.1 09-Nov-2001  thorpej PCI interrupt mapping support for the IQ80310.
 1.2.6.4 16-Mar-2002  jdolecek Catch up with -current.
 1.2.6.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.2.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.6.1 09-Nov-2001  thorpej file iq80310_pci.c was added on branch kqueue on 2002-01-10 19:42:36 +0000
 1.2.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.2.4.1 09-Nov-2001  nathanw file iq80310_pci.c was added on branch nathanw_sa on 2002-02-28 04:09:15 +0000
 1.2.2.2 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.2.2.1 09-Nov-2001  thorpej file iq80310_pci.c was added on branch thorpej-mips-cache on 2001-11-12 21:16:54 +0000
 1.7.16.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.16.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.16.1 03-Aug-2004  skrll Sync with HEAD
 1.9.106.1 06-Jun-2011  jruoho Sync with HEAD.
 1.9.100.1 21-Apr-2011  rmind sync with head
 1.11.16.1 18-May-2014  rmind sync with head
 1.11.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 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.13.30.1 10-Jun-2019  christos Sync with HEAD
 1.13.28.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.5 31-Jan-2011  matt Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.4 14-Oct-2002  bjh21 branches: 1.4.134; 1.4.140; 1.4.142;
Continue the " - . - 8" purge. Specifically:

add rd, pc, #foo - . - 8 -> adr rd, foo
ldr rd, [pc, #foo - . - 8] -> ldr rd, foo

Also, when saving the return address for a function pointer call, use
"mov lr, pc" just before the call unless the return address is somewhere
other than just after the call site.

Finally, a few obvious little micro-optimisations like using LDR directly
rather than ADR followed by LDR, and loading directly into PC rather than
bouncing via R0.
 1.3 26-Apr-2002  thorpej Issue a CPWAIT sequence after enabling the MMU to make sure
it's really enabled.
 1.2 05-Apr-2002  thorpej * Rewrite the 32-bit ARM pte.h based on the ARM architecture manual.
Significant cleanup, here, including better PTE bit names.
* Add XScale PTE extensions (ECC enable, write-allocate cache mode).
* Mechanical changes everywhere else to update for new pte.h. While
doing this, two bugs (as a result of typos) were fixed in

arm/arm32/bus_dma.c
evbarm/integrator/int_bus_dma.c
 1.1 03-Mar-2002  thorpej branches: 1.1.4; 1.1.8;
* Add support for running the IQ80310 kernel where KERNEL_BASE !=
physical memory start. Garbage-collect some cruft while here.
* Move the kernel up to 0xc0000000, giving a 1G/3G kernel/user split.
* Adjust the Integrator startup code accordingly.
 1.1.8.5 18-Oct-2002  nathanw Catch up to -current.
 1.1.8.4 20-Jun-2002  nathanw Catch up to -current.
 1.1.8.3 17-Apr-2002  nathanw Catch up to -current.
 1.1.8.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.8.1 03-Mar-2002  nathanw file iq80310_start.S was added on branch nathanw_sa on 2002-04-01 07:39:47 +0000
 1.1.4.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.4.2 16-Mar-2002  jdolecek Catch up with -current.
 1.1.4.1 03-Mar-2002  jdolecek file iq80310_start.S was added on branch kqueue on 2002-03-16 15:57:28 +0000
 1.4.142.1 08-Feb-2011  bouyer Sync with HEAD
 1.4.140.1 06-Jun-2011  jruoho Sync with HEAD.
 1.4.134.1 05-Mar-2011  rmind sync with head
 1.24 20-Jul-2024  andvar fix typos in comments, mainly s/harware/hardware/.
 1.23 29-May-2020  rin branches: 1.23.26;
For struct timecounter, use C99 initializers.
Compile tested. No functional changes intended.
 1.22 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.21 20-Jan-2008  joerg Convert evbarm to timecounter. Only one of the systems was tested, the
rest of the patch is compile-time tested only.
 1.20 19-Feb-2007  briggs branches: 1.20.18; 1.20.22; 1.20.28; 1.20.34;
Convert evbarm to __HAVE_GENERIC_TODR.
 1.19 24-Dec-2005  perry branches: 1.19.24; 1.19.26;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.18 11-Dec-2005  christos merge ktrace-lwp.
 1.17 04-Jun-2005  he branches: 1.17.2;
Rename an (unused) argument to appease -Wshadow.
 1.16 04-Jun-2005  he Fix the various todr_gettime() and todr_settime() fallouts from
-Wcast-qual differently, by instead changing the signatore of those
"functions" to take a "volatile struct timeval*" instead of a
"struct timeval*". Many places, these functions are called with
&time, and time is declared as volatile in <sys/kernel.h>. This
way we can get rid of all the ugly casts which now also triggered
warnings, and caused more code to be added to work around the
problem.

Reviewed by thorpej.
 1.15 26-Feb-2005  simonb Watch out for those unexpected tains.
 1.14 27-Jul-2003  thorpej branches: 1.14.8; 1.14.10;
Fix think'o in last. Pointed out by Izumi Tsutsui.
 1.13 26-Jul-2003  thorpej Flesh out inittodr() and resettodr().
 1.12 15-Jul-2003  lukem __KERNEL_RCSID()
 1.11 14-Apr-2002  thorpej branches: 1.11.10;
* Delcare COUNTER_MASK properly.
* Restructure timer_read() so that the compiler generates better code.
 1.10 13-Apr-2002  thorpej Gah, correct editor mistake in last.
 1.9 13-Apr-2002  thorpej * Eliminate some redundant masking.
* Don't run the snake if the board doesn't have a 7-segment display.
 1.8 03-Mar-2002  thorpej inittodr(): Actually initialize time from the file system time.
 1.7 08-Feb-2002  thorpej The Npwr has a 19-bit timer. Make sure values programmed into
the counter fit.
 1.6 01-Dec-2001  thorpej branches: 1.6.2;
Implement a "snake" for the 7-segment display.
 1.5 26-Nov-2001  thorpej Fix brain'o in handling of schedhz and profhz. Also, make sure to
compute tickfix after computing tick (not that tickfix should ever
be non-zero, but there for completeness).
 1.4 23-Nov-2001  thorpej Use <arm/cpufunc.h>, not <machine/cpufunc.h>.
 1.3 08-Nov-2001  thorpej branches: 1.3.2; 1.3.4;
Fix delay().
 1.2 07-Nov-2001  thorpej We were already cheating w/ CPLD register access, so cheat all the
way and use pointer derefs rather than bus_space to access them.
 1.1 07-Nov-2001  thorpej Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
 1.3.4.5 17-Apr-2002  nathanw Catch up to -current.
 1.3.4.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.3.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.3.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.3.4.1 08-Nov-2001  nathanw file iq80310_timer.c was added on branch nathanw_sa on 2002-01-08 00:24:28 +0000
 1.3.2.2 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.3.2.1 08-Nov-2001  thorpej file iq80310_timer.c was added on branch thorpej-mips-cache on 2001-11-12 21:16:54 +0000
 1.6.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.6.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.6.2.1 01-Dec-2001  thorpej file iq80310_timer.c was added on branch kqueue on 2002-01-10 19:42:36 +0000
 1.11.10.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.11.10.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.11.10.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.11.10.2 18-Sep-2004  skrll Sync with HEAD.
 1.11.10.1 03-Aug-2004  skrll Sync with HEAD
 1.14.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.14.8.1 29-Apr-2005  kent sync with -current
 1.17.2.3 21-Jan-2008  yamt sync with head
 1.17.2.2 26-Feb-2007  yamt sync with head.
 1.17.2.1 21-Jun-2006  yamt sync with head.
 1.19.26.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.19.24.1 04-Mar-2007  bouyer Pull up following revision(s) (requested by matt in ticket #470):
sys/arch/evbarm/iq80310/iq80310_timer.c: revision 1.20
sys/arch/evbarm/ifpga/pl030_rtc.c: revision 1.8
sys/arch/evbarm/include/types.h: revision 1.7
sys/arch/arm/arm32/genassym.cf: revision 1.30
sys/arch/arm/arm32/cpuswitch.S: revision 1.46
Get DOMAIN_CLIENT directly from arm/arm32/pte.h instead of from genassym
to avoid redefinition when both assymh and pte.h are included (as in
INTEGRATOR's intmmu.S, which uses more macros from pte.h).
Convert evbarm to __HAVE_GENERIC_TODR.
 1.20.34.1 20-Jan-2008  bouyer Sync with HEAD
 1.20.28.1 18-Feb-2008  mjf Sync with HEAD.
 1.20.22.1 23-Mar-2008  matt sync with HEAD
 1.20.18.1 28-Feb-2008  rjs Sync with HEAD.
 1.23.26.1 02-Aug-2025  perseant Sync with HEAD
 1.2 07-Nov-2001  thorpej branches: 1.2.2;
Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
 1.1 05-Sep-2001  matt branches: 1.1.4;
more evbarm files (very incomplete).
 1.1.4.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.2.2.1 08-Jan-2002  nathanw Catch up to -current.
 1.7 20-Oct-2016  skrll Fix regisers typo
 1.6 24-Dec-2005  perry branches: 1.6.122; 1.6.142; 1.6.146;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.5 14-May-2003  thorpej branches: 1.5.18;
Move the 7-segment display definitions into the C file.
 1.4 01-Dec-2001  thorpej branches: 1.4.2;
Remove U from the display seg constants.
 1.3 08-Nov-2001  thorpej branches: 1.3.2; 1.3.4;
* Define fixed virtual addresses for the Primary and Secondary
PCI I/O spaces, as well as the i80312 PMMRs. Map these regions
in early bootstrap along with the on-board device address space.
* Adjust call to i80312_sdram_bounds() for the new way the PMMRs
are defined in i80312reg.h
* Word around some serious braindamage in RedBoot -- RedBoot uses
the on-board Ethernet to TFTP the kernel image. However, it does
not stop the Ethernet before transferring control to the loaded
program. This means that if it happens to receive another packet
(broadcast/multicast/unicast), it will happily scribble over the
memory of the new running program. Work around this problem by
performing a secondary-bus-reset on the i80312's PPB. XXX This
could be problematic if we ever encounter an application where
the i80312's PPB is actually used as a passthrough PPB.
 1.2 07-Nov-2001  thorpej We were already cheating w/ CPLD register access, so cheat all the
way and use pointer derefs rather than bus_space to access them.
 1.1 07-Nov-2001  thorpej Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
 1.3.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.3.4.1 08-Nov-2001  nathanw file iq80310reg.h was added on branch nathanw_sa on 2002-01-08 00:24:28 +0000
 1.3.2.2 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.3.2.1 08-Nov-2001  thorpej file iq80310reg.h was added on branch thorpej-mips-cache on 2001-11-12 21:16:54 +0000
 1.4.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.2.1 01-Dec-2001  thorpej file iq80310reg.h was added on branch kqueue on 2002-01-10 19:42:37 +0000
 1.5.18.1 21-Jun-2006  yamt sync with head.
 1.6.146.1 04-Nov-2016  pgoyette Sync with HEAD
 1.6.142.1 05-Dec-2016  skrll Sync with HEAD
 1.6.122.1 03-Dec-2017  jdolecek update from HEAD
 1.8 03-Oct-2012  chs defer evcnt attachment correctly.
 1.7 08-Oct-2002  thorpej branches: 1.7.146; 1.7.152; 1.7.156;
Fix a typo.
 1.6 03-Oct-2002  thorpej Add macros to convert an "IRQ" number to its respective XINT3/XINT0 bit.
 1.5 07-Feb-2002  thorpej Add support for the Team ASA Npwr IOP310-based server appliance.
 1.4 30-Jan-2002  thorpej New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it. When the Integrator uses new-style interrupts, those hacks
can go away.
 1.3 01-Dec-2001  thorpej branches: 1.3.2;
Implement a "snake" for the 7-segment display.
 1.2 09-Nov-2001  thorpej branches: 1.2.2; 1.2.4;
PCI interrupt mapping support for the IQ80310.
 1.1 07-Nov-2001  thorpej Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
 1.2.4.4 18-Oct-2002  nathanw Catch up to -current.
 1.2.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.2.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.2.4.1 09-Nov-2001  nathanw file iq80310var.h was added on branch nathanw_sa on 2002-01-08 00:24:28 +0000
 1.2.2.2 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.2.2.1 09-Nov-2001  thorpej file iq80310var.h was added on branch thorpej-mips-cache on 2001-11-12 21:16:54 +0000
 1.3.2.4 16-Mar-2002  jdolecek Catch up with -current.
 1.3.2.3 11-Feb-2002  jdolecek Sync w/ -current.
 1.3.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.2.1 01-Dec-2001  thorpej file iq80310var.h was added on branch kqueue on 2002-01-10 19:42:37 +0000
 1.7.156.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.7.152.1 17-Oct-2012  riz Pull up following revision(s) (requested by chs in ticket #591):
sys/arch/evbarm/iq80310/i80312_mainbus.c: revision 1.15
sys/arch/evbarm/iq80310/iq80310var.h: revision 1.8
sys/arch/evbarm/iq80310/iq80310_intr.c: revision 1.32
defer evcnt attachment correctly.
 1.7.146.1 30-Oct-2012  yamt sync with head
 1.22 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.21 24-Apr-2021  thorpej branches: 1.21.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.20 01-Jul-2011  dyoung branches: 1.20.68;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.19 06-Jun-2011  matt Some more device_t, cfdata_t, CFATTACH_DECL_NEW cleanup.
 1.18 11-Dec-2005  christos branches: 1.18.100; 1.18.110;
merge ktrace-lwp.
 1.17 26-Aug-2005  drochner s/locdesc_t/int/g
 1.16 30-Jun-2005  drochner branches: 1.16.2;
adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes
 1.15 15-Jul-2003  lukem __KERNEL_RCSID()
 1.14 16-Jun-2003  thorpej branches: 1.14.2;
Give every obio implementation a size and width locator.
 1.13 15-Jun-2003  thorpej Add an optional "width" locator to the obio bus, specifying the
bus width of the device.
 1.12 01-Jan-2003  thorpej Use aprint_normal() for cfprint routines.
 1.11 03-Oct-2002  thorpej Use indirect configuration for on-board devices (i.e. those things
attached to "obio") on the IQ80310 and IQ80321. It makes more sense
to do it this way for this type of system (the goal being to encapsulate
as much information about the board as possible into one file).
 1.10 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.9 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.8 27-Sep-2002  thorpej Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.
 1.7 27-Sep-2002  thorpej Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver. The cfdriver is then looked
up in a list which is built at run-time.
 1.6 08-Feb-2002  thorpej The Npwr doesn't have the board_rev/cpld_rev/backplane_det registers,
do don't bother reading them.
 1.5 08-Feb-2002  briggs finish conversion from TEAMASA_NPWR to IOP310_TEAMASA_NPWR
 1.4 07-Feb-2002  thorpej Add support for the Team ASA Npwr IOP310-based server appliance.
 1.3 19-Nov-2001  thorpej branches: 1.3.2;
Reorder the device table to make the UART at J9 attach before the
UART at J10 (this is the same ordering the RedBoot uses, and also
is intuitive).
 1.2 07-Nov-2001  thorpej branches: 1.2.2; 1.2.4;
We were already cheating w/ CPLD register access, so cheat all the
way and use pointer derefs rather than bus_space to access them.
 1.1 07-Nov-2001  thorpej Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
 1.2.4.5 03-Jan-2003  thorpej Sync with HEAD.
 1.2.4.4 18-Oct-2002  nathanw Catch up to -current.
 1.2.4.3 28-Feb-2002  nathanw Catch up to -current.
 1.2.4.2 08-Jan-2002  nathanw Catch up to -current.
 1.2.4.1 07-Nov-2001  nathanw file obio.c was added on branch nathanw_sa on 2002-01-08 00:24:28 +0000
 1.2.2.2 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.2.2.1 07-Nov-2001  thorpej file obio.c was added on branch thorpej-mips-cache on 2001-11-12 21:16:54 +0000
 1.3.2.4 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.3.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.3.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.2.1 19-Nov-2001  thorpej file obio.c was added on branch kqueue on 2002-01-10 19:42:37 +0000
 1.14.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.14.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.14.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.14.2.1 03-Aug-2004  skrll Sync with HEAD
 1.16.2.1 21-Jun-2006  yamt sync with head.
 1.18.110.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.18.100.1 12-Jun-2011  rmind sync with head
 1.20.68.6 05-Apr-2021  thorpej Treat config_probe() as if it were a boolean function; don't compare
return value > 0... except for the odd balls, which are now really easy
to spot.
 1.20.68.5 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.20.68.4 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.20.68.3 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.20.68.2 21-Mar-2021  thorpej CFARG_IATTR usage audit:

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

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.21.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.17 21-Apr-2023  skrll Trailing whitespace.
 1.16 16-Mar-2018  ryo use designated initializer to make adaptability and flexibility for changing struct bus_space.
no functional change.
 1.15 22-Feb-2014  matt branches: 1.15.28;
Don't manipulate the pte to get uncached memory, use PMAP_NOCACHE instead.
Convert footbring to kenter_pa/kremove
 1.14 01-Jul-2011  dyoung branches: 1.14.2; 1.14.12; 1.14.16;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.13 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.12 24-Nov-2005  yamt branches: 1.12.78;
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.11 01-Apr-2005  yamt branches: 1.11.2; 1.11.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.10 15-Jul-2003  lukem branches: 1.10.8; 1.10.10;
__KERNEL_RCSID()
 1.9 15-Jun-2003  thorpej branches: 1.9.2;
Use the new pmap_devmap facility in the on-board device mapping code.
 1.8 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.7 22-Aug-2002  thorpej * Add PTE_SYNC() and PTE_SYNC_RANGE() macros. These don't actually do
anything yet.
* Use PTE_SYNC() and PTE_SYNC_RANGE() in some obvious places, i.e.
where vtopte() is used.
 1.6 12-Apr-2002  thorpej branches: 1.6.2;
Use the bus_space_generic bus space ops.
 1.5 09-Apr-2002  thorpej * Split pte_cache_mode into pte_l1_s_cache_mode, pte_l2_l_cache_mode,
and pte_l2_s_cache_mode. The cache-meaningful bits are different
for these descriptor types on some processor models.
* Add pte_*_cache_mask, corresponding to each above, which has a mask
of the cache-meangful bits, and define those for generic and XScale
MMU classes. Note, the L2_S_CACHE_MASK_xscale definition requires
use of the Extended Small Page L2 descriptor (the "X" bit overlaps
with AP bits otherwise).
 1.4 05-Apr-2002  thorpej Use pte_cache_mode instead of PT_CACHEABLE;
 1.3 24-Mar-2002  thorpej Use vtopte() instead of pmap_pte().
 1.2 19-Mar-2002  briggs Use obio_bs_rr_1.
In obio_bs_map(): Create a mapping for regions that are not in the
standard on-board I/O space.
 1.1 07-Nov-2001  thorpej branches: 1.1.2; 1.1.4; 1.1.6;
Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
 1.1.6.5 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.6.4 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.6.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 07-Nov-2001  thorpej file obio_space.c was added on branch kqueue on 2002-01-10 19:42:38 +0000
 1.1.4.5 18-Oct-2002  nathanw Catch up to -current.
 1.1.4.4 27-Aug-2002  thorpej Sync with -current.
 1.1.4.3 17-Apr-2002  nathanw Catch up to -current.
 1.1.4.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.4.1 07-Nov-2001  nathanw file obio_space.c was added on branch nathanw_sa on 2002-04-01 07:39:48 +0000
 1.1.2.2 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.1.2.1 07-Nov-2001  thorpej file obio_space.c was added on branch thorpej-mips-cache on 2001-11-12 21:16:55 +0000
 1.6.2.1 30-Aug-2002  gehenna catch up with -current.
 1.9.2.5 11-Dec-2005  christos Sync with head.
 1.9.2.4 01-Apr-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.10.10.1 13-Feb-2005  yamt use new apis.
 1.10.8.1 29-Apr-2005  kent sync with -current
 1.11.8.1 29-Nov-2005  yamt sync with head.
 1.11.2.1 21-Jun-2006  yamt sync with head.
 1.12.78.1 11-Mar-2010  yamt sync with head
 1.14.16.1 18-May-2014  rmind sync with head
 1.14.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.14.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.15.28.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.3 12-Apr-2002  thorpej Use the bus_space_generic bus space ops.
 1.2 23-Feb-2002  briggs Implement obio_bs_rr_1.
 1.1 07-Nov-2001  thorpej branches: 1.1.2; 1.1.4; 1.1.6;
Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
 1.1.6.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.6.3 16-Mar-2002  jdolecek Catch up with -current.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 07-Nov-2001  thorpej file obio_space_asm.S was added on branch kqueue on 2002-01-10 19:42:38 +0000
 1.1.4.3 17-Apr-2002  nathanw Catch up to -current.
 1.1.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.1 07-Nov-2001  nathanw file obio_space_asm.S was added on branch nathanw_sa on 2002-02-28 04:09:15 +0000
 1.1.2.2 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.1.2.1 07-Nov-2001  thorpej file obio_space_asm.S was added on branch thorpej-mips-cache on 2001-11-12 21:16:55 +0000
 1.4 16-Jun-2003  thorpej Give every obio implementation a size and width locator.
 1.3 15-Jun-2003  thorpej Add an optional "width" locator to the obio bus, specifying the
bus width of the device.
 1.2 03-Oct-2002  thorpej Use indirect configuration for on-board devices (i.e. those things
attached to "obio") on the IQ80310 and IQ80321. It makes more sense
to do it this way for this type of system (the goal being to encapsulate
as much information about the board as possible into one file).
 1.1 07-Nov-2001  thorpej branches: 1.1.2; 1.1.4; 1.1.6;
Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 07-Nov-2001  thorpej file obiovar.h was added on branch kqueue on 2002-01-10 19:42:38 +0000
 1.1.4.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.4.1 07-Nov-2001  nathanw file obiovar.h was added on branch nathanw_sa on 2002-10-18 02:36:32 +0000
 1.1.2.2 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.1.2.1 07-Nov-2001  thorpej file obiovar.h was added on branch thorpej-mips-cache on 2001-11-12 21:16:55 +0000
 1.14 08-Dec-2018  thorpej Clean up initialization of com_regs structure, in preparation for
some additional changers.
 1.13 01-Jul-2011  dyoung branches: 1.13.52; 1.13.54;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.12 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.11 14-Mar-2008  cube branches: 1.11.2; 1.11.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.10 13-Jul-2006  gdamore branches: 1.10.34; 1.10.54; 1.10.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.9 11-Dec-2005  christos branches: 1.9.4; 1.9.8; 1.9.16;
merge ktrace-lwp.
 1.8 15-Jul-2003  lukem branches: 1.8.16;
__KERNEL_RCSID()
 1.7 29-Apr-2003  thorpej branches: 1.7.2;
Use aprint*().
 1.6 03-Oct-2002  thorpej Use indirect configuration for on-board devices (i.e. those things
attached to "obio") on the IQ80310 and IQ80321. It makes more sense
to do it this way for this type of system (the goal being to encapsulate
as much information about the board as possible into one file).
 1.5 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.4 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.3 27-Sep-2002  thorpej Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver. The cfdriver is then looked
up in a list which is built at run-time.
 1.2 12-Apr-2002  thorpej branches: 1.2.6; 1.2.8;
Set COM_HW_NO_TXPRELOAD. The IQ80321's UART doesn't lose without
this, but it works fine with it, and this serves to broaden the
testing field of the flag.
 1.1 27-Mar-2002  thorpej Support for the Intel IQ80321 eval board for the i80321 I/O Processor.
 1.2.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.2.8.1 12-Apr-2002  nathanw file com_obio.c was added on branch nathanw_sa on 2002-10-18 02:36:32 +0000
 1.2.6.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 12-Apr-2002  jdolecek file com_obio.c was added on branch kqueue on 2002-06-23 17:35:42 +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.8.16.2 17-Mar-2008  yamt sync with head.
 1.8.16.1 30-Dec-2006  yamt sync with head.
 1.9.16.1 20-Jun-2006  gdamore Add support for pretty much all ARM com(4) variants. There are a few ARM
serial devices that are not com(4)-like enough to be supported under com(4).
 1.9.8.1 11-Aug-2006  yamt sync with head
 1.9.4.1 09-Sep-2006  rpaulo sync with head
 1.10.58.2 02-Jun-2008  mjf Sync with HEAD.
 1.10.58.1 03-Apr-2008  mjf Sync with HEAD.
 1.10.54.1 24-Mar-2008  keiichi sync with head.
 1.10.34.1 23-Mar-2008  matt sync with HEAD
 1.11.4.1 16-May-2008  yamt sync with head.
 1.11.2.1 18-May-2008  yamt sync with head.
 1.13.54.1 10-Jun-2019  christos Sync with HEAD
 1.13.52.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.18 12-Feb-2012  matt Change old-stlye-defintions to C89 prototypes.
Switch to CFATTACH_DECL_NEW/device_t/cfdata_t
Defer attaching interrupt evcnts.

Approved by releng.
 1.17 01-Jul-2011  dyoung branches: 1.17.2; 1.17.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.16 15-Dec-2005  briggs Add an offset to the I/O port translations. This allows IQ80321
and others to avoid providing PCI I/O space at address 0.
Iyonix, however, needs to provide PCI I/O space at 0.
The others require I/O space to be offset in part due to a bug
work-around in wm(4) which requires that I/O space access be used
to reset the controllers. If I/O space is mapped at zero, the card
claims, but ignores, the transactions, and the controller doesn't
get reset properly and can't then be used.
 1.15 11-Dec-2005  christos merge ktrace-lwp.
 1.14 23-Apr-2004  simonb branches: 1.14.12;
s/the the/the/ (only in sources that aren't regularly imported from
elsewhere).
 1.13 17-Dec-2003  abs Small fixed to tense in comment.
 1.12 04-Dec-2003  briggs Make PCI host/slave detection work for the iq31244 as well as the iq80321.
 1.11 12-Sep-2003  briggs Don't assume that we are the PCI host. Actually check, and make sure that
we set things up so that we can run either as a PCI host or as a PCI slave
(working within the PCI BARs that the system BIOS has configured for us).
 1.10 15-Jul-2003  lukem __KERNEL_RCSID()
 1.9 29-Apr-2003  thorpej branches: 1.9.2;
Use aprint*().
 1.8 06-Feb-2003  briggs Go back to using BAR2 instead of BAR3 for inbound access to SDRAM.
 1.7 23-Jan-2003  briggs Use iwin[3] instead of iwin[2] for RAM access and leave iwin[2] unused.
 1.6 03-Oct-2002  thorpej Fix script-o.
 1.5 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.4 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.3 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.2 27-Sep-2002  thorpej Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver. The cfdriver is then looked
up in a list which is built at run-time.
 1.1 27-Mar-2002  thorpej branches: 1.1.6; 1.1.8;
Support for the Intel IQ80321 eval board for the i80321 I/O Processor.
 1.1.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.8.1 27-Mar-2002  nathanw file i80321_mainbus.c was added on branch nathanw_sa on 2002-10-18 02:36:33 +0000
 1.1.6.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.6.1 27-Mar-2002  jdolecek file i80321_mainbus.c was added on branch kqueue on 2002-06-23 17:35:42 +0000
 1.9.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.9.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.9.2.1 03-Aug-2004  skrll Sync with HEAD
 1.14.12.1 21-Jun-2006  yamt sync with head.
 1.17.6.1 18-Feb-2012  mrg merge to -current.
 1.17.2.1 17-Apr-2012  yamt sync with head
 1.7 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.6 24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 15-Jul-2003  lukem branches: 1.4.16;
__KERNEL_RCSID()
 1.3 14-May-2003  thorpej branches: 1.3.2;
Move the 7-segment display definitions into the C file.
 1.2 12-Apr-2002  thorpej branches: 1.2.6; 1.2.8;
* Add the ability to display .'s on the 7seg display.
* Display . . when halted.
 1.1 27-Mar-2002  thorpej Support for the Intel IQ80321 eval board for the i80321 I/O Processor.
 1.2.8.2 12-Apr-2002  thorpej * Add the ability to display .'s on the 7seg display.
* Display . . when halted.
 1.2.8.1 12-Apr-2002  thorpej file iq80321_7seg.c was added on branch nathanw_sa on 2002-04-12 20:50:28 +0000
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 12-Apr-2002  jdolecek file iq80321_7seg.c was added on branch kqueue on 2002-06-23 17:35:43 +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 21-Jun-2006  yamt sync with head.
 1.66 12-Oct-2023  skrll Fix non-DIAGNOSTIC builds
 1.65 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.64 17-Aug-2021  andvar branches: 1.64.4;
fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.63 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.62 18-Apr-2020  skrll Trailing whitespace
 1.61 16-Jul-2019  skrll branches: 1.61.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.60 16-Jul-2019  skrll KNF
 1.59 28-Oct-2018  skrll Fix a commit
 1.58 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.57 25-Dec-2016  christos branches: 1.57.14; 1.57.16;
fix printf format
 1.56 22-Dec-2016  cherry switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.55 13-Sep-2014  matt branches: 1.55.2; 1.55.4;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.54 18-Aug-2013  matt <arm/locore.h> fallout (fixes some include ordering errors)
 1.53 22-Sep-2012  matt branches: 1.53.2;
Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.52 16-Aug-2012  matt branches: 1.52.2;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.51 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.50 01-Jul-2011  dyoung branches: 1.50.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.49 30-Jun-2011  wiz dependant -> dependent
 1.48 26-Dec-2009  uebayasi Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.47 26-Dec-2009  uebayasi Garbage collect an unused global, vm_offset_t pagetables_start.
 1.46 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.45 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.44 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 1.43 09-Jan-2009  briggs Allow IQ80321-derived systems to provide an m.d. reboot routine.
Use this on the IQ31244 to force a watchdog reset from the M41ST84
if it's been attached. The generic reset doesn't fully reset the
system whereas the RTC watchdog reset does.
 1.42 30-Nov-2008  martin As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.41 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.40 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.39 27-Apr-2008  matt branches: 1.39.6; 1.39.8;
Merge kernel changes in matt-armv6 to HEAD.
 1.38 19-Jan-2008  chris branches: 1.38.6; 1.38.8; 1.38.10;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.37 24-Nov-2006  wiz branches: 1.37.24; 1.37.28; 1.37.34; 1.37.42;
s/independant/independent/, from Zafer.
 1.36 17-May-2006  mrg branches: 1.36.8; 1.36.10;
in initarm(), initialise kernel_l1pt.pv_va as well as kernel_l1pt.pv_pa.
 1.35 24-Dec-2005  perry branches: 1.35.4; 1.35.6; 1.35.8; 1.35.12;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.34 11-Dec-2005  christos merge ktrace-lwp.
 1.33 12-Dec-2004  abs branches: 1.33.10;
Fix comments regarding configration bounaries
 1.32 12-Dec-2004  abs Fix comments slighly
 1.31 13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.30 15-Jul-2003  lukem __KERNEL_RCSID()
 1.29 15-Jun-2003  thorpej branches: 1.29.2;
Use the new pmap_devmap facility in the on-board device mapping code.
 1.28 15-Jun-2003  thorpej Replace the ad-hoc "section mapping table" for static device mappings
with a more generic "devmap" structure that can also handle mappings
made with large and small pages. Add new pmap routines to enter these
mappings during bootstrap (and "remember" the devmap), and routines to
look up the static mappings once the kernel is running.
 1.27 14-Jun-2003  thorpej Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
 1.26 22-May-2003  thorpej Move KERNEL_VM_SIZE into the C files where its used.
 1.25 21-May-2003  thorpej Move KERNEL_VM_BASE inside where it is used (it won't be there for long).
 1.24 17-May-2003  thorpej Decrease the verbosity level unless VERBOSE_INIT_ARM is defiend.
 1.23 03-May-2003  thorpej Don't expose KERNEL_TEXT_BASE outside of board-specific code. This gives
individual board start-up code more flexibility about where the kernel
starts in the kernel address space.
 1.22 03-May-2003  thorpej Reduce differences between ARM32_NEW_VM_LAYOUT and not; always pass
the start and end of the kernel managed virtual address space to
pmap_bootstrap() in the new pmap.
 1.21 03-May-2003  thorpej Remove old pmap support for platforms which have fully switched over.
 1.20 02-May-2003  thorpej Eliminate PTE_BASE and the PT-PT completely in the ARM32_PMAP_NEW case.
Also in the ARM32_PMAP_NEW case, reclaim the USPACE-bytes of wasted space
at the top of the user address that hasn't been needed for a very very
long time.
 1.19 30-Apr-2003  thorpej Bump kernel PTs to 4 (the max we can really have with the old VM
layout) to accomodate large ramdisks. Set boothowto if BOOTHOWTO
is defined.
 1.18 28-Apr-2003  briggs Attach com to kgdb if both KGDB and com are defined.
 1.17 26-Apr-2003  ragge Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
 1.16 22-Apr-2003  thorpej Use high vectors on IQ80321 and IQ80310.
 1.15 19-Apr-2003  scw Don't use ARM32_NEW_VM_LAYOUT or initarm_common() for now. It's not
quite ready for prime-time on evbarm.
 1.14 18-Apr-2003  scw Add support for ARM32_PMAP_NEW and ARM32_NEW_VM_LAYOUT to the iq80321 port.
 1.13 02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.12 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.11 24-Aug-2002  thorpej Enable caching on kernel and user page tables. This saves having
to do uncached memory access during VM operations (which can be
quite expensive on some CPUs).

We currently write-back PTEs as soon as they're modified; there is
some room for optimization (to write them back in larger chunks).
For PTEs in the APTE space (i.e. PTEs for pmaps that describe another
process's address space), PTEs must also be evicted from the cache
complete (PTEs in PTE space will be evicted durint a context switch).
 1.10 21-Aug-2002  thorpej Do cached memory access to L1 tables, making sure to write-back the
cache after any L1 table modifications.
 1.9 17-Aug-2002  briggs Compile properly without DIAGNOSTIC defined.
 1.8 31-Jul-2002  thorpej branches: 1.8.2;
Move the calls to uvm_page_physload() out of pmap_bootstrap() and
into platform-specific initialization code, giving platform-specific
code control over which free list a given chunk of memory gets put
onto.

Changes are essentially mechanical. Test compiled for all ARM
platforms, test booted on Intel IQ80321 and Shark.

Discussed some time ago on port-arm.
 1.7 30-Jul-2002  thorpej Move the uvm_setpagesize() call to platform-dependent code in preparation
for other changes to pmap_bootstrap().
 1.6 12-Apr-2002  thorpej branches: 1.6.2; 1.6.4; 1.6.6;
* Add the ability to display .'s on the 7seg display.
* Display . . when halted.
 1.5 09-Apr-2002  thorpej * Move the code that cleans the XScale mini-data cache into its
own function.
* Add a new function which sets up the mini-data cache clean area
properly.
 1.4 05-Apr-2002  thorpej * Rewrite the 32-bit ARM pte.h based on the ARM architecture manual.
Significant cleanup, here, including better PTE bit names.
* Add XScale PTE extensions (ECC enable, write-allocate cache mode).
* Mechanical changes everywhere else to update for new pte.h. While
doing this, two bugs (as a result of typos) were fixed in

arm/arm32/bus_dma.c
evbarm/integrator/int_bus_dma.c
 1.3 03-Apr-2002  thorpej Clean up handling of the vector page on 32-bit ARM systems:
* Don't refer to VA 0, instead refer to a new variable: vector_page
* Delete the old zero_page_*() functions, replacing them with a new
one: vector_page_setprot().
* When manipulating vector page mappings in user pmaps, only do so if
the vector page is below KERNEL_BASE (if it's above KERNEL_BASE, the
vector page is mapped by the kernel pmap).
* Add a new function, arm32_vector_init(), which takes the virtual
address of the vector page (which MUST be valid when the function
is called) and a bitmask of vectors the kernel is going to take
over, and performs all vector page initialization, including setting
the V bit in the CPU Control register ("relocate vectors to high
address"), if necessary.
 1.2 29-Mar-2002  thorpej Fix resetting the board at reboot.
 1.1 27-Mar-2002  thorpej Support for the Intel IQ80321 eval board for the i80321 I/O Processor.
 1.6.6.4 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.6.6.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.6.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.6.1 12-Apr-2002  jdolecek file iq80321_machdep.c was added on branch kqueue on 2002-06-23 17:35:43 +0000
 1.6.4.2 14-Feb-2003  he Revert pull-up of revision 1.10 (requested by rearnsha in ticket #1170):
Revert cached memory access to L1 tables, this causes instability
on the release branch.
 1.6.4.1 21-Nov-2002  he Pull up revision 1.10 (requested by thorpej in ticket #712):
Do cached memory access to L1 tables, making sure to
write-back the cache after any L1 table modifications.
 1.6.2.1 30-Aug-2002  gehenna catch up with -current.
 1.8.2.4 18-Oct-2002  nathanw Catch up to -current.
 1.8.2.3 27-Aug-2002  thorpej Sync with -current.
 1.8.2.2 19-Aug-2002  thorpej Partial (ARM only) sync with trunk -- significant performance improvements
for XScale-based systems.
 1.8.2.1 31-Jul-2002  thorpej file iq80321_machdep.c was added on branch nathanw_sa on 2002-08-19 21:39:37 +0000
 1.29.2.4 18-Dec-2004  skrll Sync with HEAD.
 1.29.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.29.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.29.2.1 03-Aug-2004  skrll Sync with HEAD
 1.33.10.3 21-Jan-2008  yamt sync with head
 1.33.10.2 30-Dec-2006  yamt sync with head.
 1.33.10.1 21-Jun-2006  yamt sync with head.
 1.35.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.35.8.1 24-May-2006  yamt sync with head.
 1.35.6.1 01-Jun-2006  kardel Sync with head.
 1.35.4.1 09-Sep-2006  rpaulo sync with head
 1.36.10.1 10-Dec-2006  yamt sync with head.
 1.36.8.1 12-Jan-2007  ad Sync with head.
 1.37.42.1 20-Jan-2008  bouyer Sync with HEAD
 1.37.34.1 18-Feb-2008  mjf Sync with HEAD.
 1.37.28.2 23-Mar-2008  matt sync with HEAD
 1.37.28.1 09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.37.24.1 28-Feb-2008  rjs Sync with HEAD.
 1.38.10.4 11-Mar-2010  yamt sync with head
 1.38.10.3 19-Aug-2009  yamt sync with head.
 1.38.10.2 04-May-2009  yamt sync with head.
 1.38.10.1 16-May-2008  yamt sync with head.
 1.38.8.1 18-May-2008  yamt sync with head.
 1.38.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.38.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.39.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.39.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.50.2.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.50.2.1 30-Oct-2012  yamt sync with head
 1.52.2.3 03-Dec-2017  jdolecek update from HEAD
 1.52.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.52.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.55.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.55.2.1 05-Feb-2017  skrll Sync with HEAD
 1.57.16.3 21-Apr-2020  martin Sync with HEAD
 1.57.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.57.16.1 10-Jun-2019  christos Sync with HEAD
 1.57.14.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.57.14.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.61.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.64.4.1 14-Oct-2023  martin Pull up following revision(s) (requested by skrll in ticket #411):

sys/arch/evbarm/nslu2/nslu2_machdep.c: revision 1.41
sys/arch/evbarm/gumstix/gumstix_machdep.c: revision 1.75
sys/arch/evbarm/iq80321/iq80321_machdep.c: revision 1.66
sys/arch/iyonix/iyonix/iyonix_machdep.c: revision 1.34
sys/arch/zaurus/zaurus/machdep.c: revision 1.52
sys/arch/evbarm/g42xxeb/g42xxeb_machdep.c: revision 1.41
sys/arch/hpcarm/hpcarm/pxa2x0_hpc_machdep.c: revision 1.33
sys/arch/evbarm/iq80310/iq80310_machdep.c: revision 1.96
sys/arch/evbarm/adi_brh/brh_machdep.c: revision 1.53
sys/arch/arm/include/arm32/pmap.h: revision 1.177
sys/arch/evbarm/viper/viper_machdep.c: revision 1.34
sys/arch/evbarm/iyonix/iyonix_machdep.c: revision 1.5
sys/arch/evbarm/npwr_fc/npwr_fc_machdep.c: revision 1.30
sys/arch/evbarm/hdl_g/hdlg_machdep.c: revision 1.35
sys/arch/arm/arm32/pmap.c: revision 1.440
sys/arch/evbarm/lubbock/lubbock_machdep.c: revision 1.45
sys/arch/evbarm/ixdp425/ixdp425_machdep.c: revision 1.47

Fix non-DIAGNOSTIC builds
 1.10 16-Nov-2018  jmcneill Add intr_establish_xname support to arm and expose it to intrctl
 1.9 29-Mar-2014  christos branches: 1.9.28; 1.9.30;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.8 18-Aug-2013  matt <arm/locore.h> fallout (fixes some include ordering errors)
 1.7 01-Jul-2011  dyoung branches: 1.7.2; 1.7.12; 1.7.16;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.6 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.5 11-Dec-2005  christos branches: 1.5.100; 1.5.106;
merge ktrace-lwp.
 1.4 15-Jul-2003  lukem __KERNEL_RCSID()
 1.3 31-May-2003  thorpej branches: 1.3.2;
Correct interrupt mapping when a device with a PCI-PCI bridge is
plugged into the PCI-X slot.
 1.2 30-Jul-2002  thorpej branches: 1.2.2;
Use more descriptive interrupt names.
 1.1 27-Mar-2002  thorpej branches: 1.1.2; 1.1.4; 1.1.6;
Support for the Intel IQ80321 eval board for the i80321 I/O Processor.
 1.1.6.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.6.1 27-Mar-2002  jdolecek file iq80321_pci.c was added on branch kqueue on 2002-06-23 17:35:43 +0000
 1.1.4.1 11-Nov-2002  he Pull up revision 1.2 (requested by thorpej in ticket #583):
Use more descriptive interrupt names.
 1.1.2.1 30-Aug-2002  gehenna catch up with -current.
 1.2.2.2 30-Jul-2002  thorpej Use more descriptive interrupt names.
 1.2.2.1 30-Jul-2002  thorpej file iq80321_pci.c was added on branch nathanw_sa on 2002-07-30 04:45:43 +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.106.1 06-Jun-2011  jruoho Sync with HEAD.
 1.5.100.1 21-Apr-2011  rmind sync with head
 1.7.16.2 18-May-2014  rmind sync with head
 1.7.16.1 28-Aug-2013  rmind sync with head
 1.7.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 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.9.30.1 10-Jun-2019  christos Sync with HEAD
 1.9.28.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.5 31-Jan-2011  matt Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.4 14-Oct-2002  bjh21 branches: 1.4.134; 1.4.140; 1.4.142;
Continue the " - . - 8" purge. Specifically:

add rd, pc, #foo - . - 8 -> adr rd, foo
ldr rd, [pc, #foo - . - 8] -> ldr rd, foo

Also, when saving the return address for a function pointer call, use
"mov lr, pc" just before the call unless the return address is somewhere
other than just after the call site.

Finally, a few obvious little micro-optimisations like using LDR directly
rather than ADR followed by LDR, and loading directly into PC rather than
bouncing via R0.
 1.3 26-Apr-2002  thorpej branches: 1.3.6; 1.3.8;
Issue a CPWAIT sequence after enabling the MMU to make sure
it's really enabled.
 1.2 05-Apr-2002  thorpej * Rewrite the 32-bit ARM pte.h based on the ARM architecture manual.
Significant cleanup, here, including better PTE bit names.
* Add XScale PTE extensions (ECC enable, write-allocate cache mode).
* Mechanical changes everywhere else to update for new pte.h. While
doing this, two bugs (as a result of typos) were fixed in

arm/arm32/bus_dma.c
evbarm/integrator/int_bus_dma.c
 1.1 27-Mar-2002  thorpej Support for the Intel IQ80321 eval board for the i80321 I/O Processor.
 1.3.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.3.8.1 26-Apr-2002  nathanw file iq80321_start.S was added on branch nathanw_sa on 2002-10-18 02:36:33 +0000
 1.3.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.6.1 26-Apr-2002  jdolecek file iq80321_start.S was added on branch kqueue on 2002-06-23 17:35:43 +0000
 1.4.142.1 08-Feb-2011  bouyer Sync with HEAD
 1.4.140.1 06-Jun-2011  jruoho Sync with HEAD.
 1.4.134.1 05-Mar-2011  rmind sync with head
 1.6 17-Oct-2007  garbled Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.5 22-Jun-2007  simonb branches: 1.5.10;
Fix a tyop in a comment.
 1.4 14-May-2003  thorpej branches: 1.4.18; 1.4.60; 1.4.62; 1.4.68;
Move the 7-segment display definitions into the C file.
 1.3 19-Apr-2003  scw Don't use ARM32_NEW_VM_LAYOUT or initarm_common() for now. It's not
quite ready for prime-time on evbarm.
 1.2 18-Apr-2003  scw Add support for ARM32_PMAP_NEW and ARM32_NEW_VM_LAYOUT to the iq80321 port.
 1.1 27-Mar-2002  thorpej branches: 1.1.6; 1.1.8;
Support for the Intel IQ80321 eval board for the i80321 I/O Processor.
 1.1.8.2 27-Mar-2002  thorpej Support for the Intel IQ80321 eval board for the i80321 I/O Processor.
 1.1.8.1 27-Mar-2002  thorpej file iq80321reg.h was added on branch nathanw_sa on 2002-03-27 21:51:31 +0000
 1.1.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.6.1 27-Mar-2002  jdolecek file iq80321reg.h was added on branch kqueue on 2002-06-23 17:35:43 +0000
 1.4.68.1 26-Jun-2007  garbled Sync with HEAD.
 1.4.62.1 11-Jul-2007  mjf Sync with head.
 1.4.60.1 15-Jul-2007  ad Sync with head.
 1.4.18.1 03-Sep-2007  yamt sync with head.
 1.5.10.1 06-Nov-2007  matt sync with HEAD
 1.1 27-Mar-2002  thorpej branches: 1.1.6; 1.1.8;
Support for the Intel IQ80321 eval board for the i80321 I/O Processor.
 1.1.8.2 27-Mar-2002  thorpej Support for the Intel IQ80321 eval board for the i80321 I/O Processor.
 1.1.8.1 27-Mar-2002  thorpej file iq80321var.h was added on branch nathanw_sa on 2002-03-27 21:51:31 +0000
 1.1.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.6.1 27-Mar-2002  jdolecek file iq80321var.h was added on branch kqueue on 2002-06-23 17:35:43 +0000
 1.18 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.17 24-Apr-2021  thorpej branches: 1.17.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.16 01-Jul-2011  dyoung branches: 1.16.68;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.15 06-Jun-2011  matt Some more device_t, cfdata_t, CFATTACH_DECL_NEW cleanup.
 1.14 11-Dec-2005  christos branches: 1.14.100; 1.14.110;
merge ktrace-lwp.
 1.13 26-Aug-2005  drochner s/locdesc_t/int/g
 1.12 30-Jun-2005  drochner branches: 1.12.2;
adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes
 1.11 15-Jul-2003  lukem __KERNEL_RCSID()
 1.10 16-Jun-2003  thorpej branches: 1.10.2;
Give every obio implementation a size and width locator.
 1.9 15-Jun-2003  thorpej Add an optional "width" locator to the obio bus, specifying the
bus width of the device.
 1.8 29-Apr-2003  thorpej Use aprint*().
 1.7 01-Jan-2003  thorpej Use aprint_normal() for cfprint routines.
 1.6 03-Oct-2002  thorpej Use indirect configuration for on-board devices (i.e. those things
attached to "obio") on the IQ80310 and IQ80321. It makes more sense
to do it this way for this type of system (the goal being to encapsulate
as much information about the board as possible into one file).
 1.5 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.4 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.3 27-Sep-2002  thorpej Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.
 1.2 27-Sep-2002  thorpej Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver. The cfdriver is then looked
up in a list which is built at run-time.
 1.1 27-Mar-2002  thorpej branches: 1.1.6; 1.1.8;
Support for the Intel IQ80321 eval board for the i80321 I/O Processor.
 1.1.8.3 03-Jan-2003  thorpej Sync with HEAD.
 1.1.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.8.1 27-Mar-2002  nathanw file obio.c was added on branch nathanw_sa on 2002-10-18 02:36:33 +0000
 1.1.6.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.6.1 27-Mar-2002  jdolecek file obio.c was added on branch kqueue on 2002-06-23 17:35:43 +0000
 1.10.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.10.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.10.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.10.2.1 03-Aug-2004  skrll Sync with HEAD
 1.12.2.1 21-Jun-2006  yamt sync with head.
 1.14.110.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.14.100.1 12-Jun-2011  rmind sync with head
 1.16.68.6 05-Apr-2021  thorpej Treat config_probe() as if it were a boolean function; don't compare
return value > 0... except for the odd balls, which are now really easy
to spot.
 1.16.68.5 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.16.68.4 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.16.68.3 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.16.68.2 21-Mar-2021  thorpej CFARG_IATTR usage audit:

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

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.17.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.14 21-Apr-2023  skrll Trailing whitespace.
 1.13 16-Mar-2018  ryo use designated initializer to make adaptability and flexibility for changing struct bus_space.
no functional change.
 1.12 22-Feb-2014  matt branches: 1.12.28;
Don't manipulate the pte to get uncached memory, use PMAP_NOCACHE instead.
Convert footbring to kenter_pa/kremove
 1.11 01-Jul-2011  dyoung branches: 1.11.2; 1.11.12; 1.11.16;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.10 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.9 24-Nov-2005  yamt branches: 1.9.78;
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 19-Feb-2005  rearnsha Add bus-space write-multi-2 and read-multi-2 methods.
 1.6 15-Jul-2003  lukem branches: 1.6.8; 1.6.10;
__KERNEL_RCSID()
 1.5 15-Jun-2003  thorpej branches: 1.5.2;
Use the new pmap_devmap facility in the on-board device mapping code.
 1.4 02-Jan-2003  briggs Enable a few more bus_space functions.
If a region is outside the regular obio space in obio_bs_map(), create
mappings for it.
 1.3 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.2 12-Apr-2002  thorpej branches: 1.2.6; 1.2.8;
Use the bus_space_generic bus space ops.
 1.1 27-Mar-2002  thorpej Support for the Intel IQ80321 eval board for the i80321 I/O Processor.
 1.2.8.3 03-Jan-2003  thorpej Sync with HEAD.
 1.2.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.2.8.1 12-Apr-2002  nathanw file obio_space.c was added on branch nathanw_sa on 2002-10-18 02:36:33 +0000
 1.2.6.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 12-Apr-2002  jdolecek file obio_space.c was added on branch kqueue on 2002-06-23 17:35:43 +0000
 1.5.2.6 11-Dec-2005  christos Sync with head.
 1.5.2.5 01-Apr-2005  skrll Sync with HEAD.
 1.5.2.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.5.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6.10.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.6.10.1 13-Feb-2005  yamt use new apis.
 1.6.8.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.9.78.1 11-Mar-2010  yamt sync with head
 1.11.16.1 18-May-2014  rmind sync with head
 1.11.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 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.28.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.2 12-Apr-2002  thorpej Use the bus_space_generic bus space ops.
 1.1 27-Mar-2002  thorpej Support for the Intel IQ80321 eval board for the i80321 I/O Processor.
 1.4 16-Jun-2003  thorpej Give every obio implementation a size and width locator.
 1.3 15-Jun-2003  thorpej Add an optional "width" locator to the obio bus, specifying the
bus width of the device.
 1.2 03-Oct-2002  thorpej Use indirect configuration for on-board devices (i.e. those things
attached to "obio") on the IQ80310 and IQ80321. It makes more sense
to do it this way for this type of system (the goal being to encapsulate
as much information about the board as possible into one file).
 1.1 27-Mar-2002  thorpej branches: 1.1.6; 1.1.8;
Support for the Intel IQ80321 eval board for the i80321 I/O Processor.
 1.1.8.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.8.1 27-Mar-2002  nathanw file obiovar.h was added on branch nathanw_sa on 2002-10-18 02:36:33 +0000
 1.1.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.6.1 27-Mar-2002  jdolecek file obiovar.h was added on branch kqueue on 2002-06-23 17:35:43 +0000
 1.6 14-Oct-2012  msaitoh struct device * -> device_t for IXP4xx (and nslu2).
Tested with my NSLU2.
 1.5 01-Jul-2011  dyoung branches: 1.5.2; 1.5.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.4 21-Oct-2009  rmind Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.3 17-Oct-2007  garbled branches: 1.3.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.2 09-Jul-2007  ad branches: 1.2.10;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.1 31-May-2003  ichiro branches: 1.1.18; 1.1.60; 1.1.62; 1.1.68;
led support for IXDP425/ZAO425
 1.1.68.1 03-Oct-2007  garbled Sync with HEAD
 1.1.62.1 11-Jul-2007  mjf Sync with head.
 1.1.60.1 15-Jul-2007  ad Sync with head.
 1.1.18.1 03-Sep-2007  yamt sync with head.
 1.2.10.1 06-Nov-2007  matt sync with HEAD
 1.3.20.1 11-Mar-2010  yamt sync with head
 1.5.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.5.2.1 30-Oct-2012  yamt sync with head
 1.47 12-Oct-2023  skrll Fix non-DIAGNOSTIC builds
 1.46 17-Aug-2021  andvar branches: 1.46.4;
fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.45 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.44 18-Apr-2020  skrll Trailing whitespace
 1.43 16-Jul-2019  skrll branches: 1.43.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.42 16-Jul-2019  skrll KNF
 1.41 28-Oct-2018  skrll Fix a commit
 1.40 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.39 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.38 13-Mar-2018  ryo branches: 1.38.2;
fix compile error (printf format)
 1.37 22-Dec-2016  cherry branches: 1.37.14;
switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.36 05-Mar-2015  skrll branches: 1.36.2;
Spellos
 1.35 13-Sep-2014  matt branches: 1.35.2;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.34 18-Aug-2013  matt <arm/locore.h> fallout (fixes some include ordering errors)
 1.33 12-Nov-2012  skrll branches: 1.33.2;
C99 types
 1.32 22-Sep-2012  matt Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.31 16-Aug-2012  matt branches: 1.31.2;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.30 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.29 01-Jul-2011  dyoung branches: 1.29.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.28 30-Jun-2011  wiz dependant -> dependent
 1.27 26-Dec-2009  uebayasi Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.26 26-Dec-2009  uebayasi Garbage collect an unused global, vm_offset_t pagetables_start.
 1.25 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.24 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.23 21-Oct-2009  rmind Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.22 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 1.21 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.20 30-Nov-2008  martin branches: 1.20.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.19 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.18 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.17 27-Apr-2008  matt branches: 1.17.6; 1.17.8;
Merge kernel changes in matt-armv6 to HEAD.
 1.16 19-Jan-2008  chris branches: 1.16.6; 1.16.8; 1.16.10;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.15 17-May-2006  mrg branches: 1.15.34; 1.15.38; 1.15.44; 1.15.52;
in initarm(), initialise kernel_l1pt.pv_va as well as kernel_l1pt.pv_pa.
 1.14 11-Dec-2005  christos branches: 1.14.4; 1.14.6; 1.14.8; 1.14.12;
merge ktrace-lwp.
 1.13 12-Dec-2004  abs branches: 1.13.10;
Fix comments slighly
 1.12 08-Dec-2003  scw Don't hard-code SDRAM size. Let ixp425_sdram_size() figure it out
at runtime.
 1.11 02-Nov-2003  scw The expansion bus is mapped via ixpsip now.
 1.10 28-Oct-2003  scw Delete the symbolsize variable. It's not useful here.
Reported by Shoichi Miyake in port-arm/23293.
 1.9 23-Oct-2003  scw - Make the compile-time selection of ixdp425 vs. zao425 actually work.
- Flesh out cpu_reboot() to jump to Redboot via cpu_reset().
(See XXX comment in code regarding a problem with this).
 1.8 08-Oct-2003  scw Make it easier to support different types of IXP425 board:

- Move board-specific PCI/GPIO initialisation to its rightful place.

- Handle clearing down latched GPIO interrupts in a board-independent way.

- Use MI com(4) driver for on-chip UARTs.

- Misc. tidying up.

Tested on IXDP425.
 1.7 25-Sep-2003  ichiro pci bus support
 1.6 15-Jul-2003  lukem __KERNEL_RCSID()
 1.5 02-Jul-2003  ichiro use struct pmap_devmap
 1.4 01-Jun-2003  ichiro branches: 1.4.2;
add console unit number to configuration parameter.
move structure of uart information
 1.3 31-May-2003  ichiro print description of Console and enable ixpcom0/1 in configuration
 1.2 23-May-2003  ichiro remove definition of debug
 1.1 23-May-2003  ichiro support IXP425 Intel Network Processor
running on BigEndian
 1.4.2.4 18-Dec-2004  skrll Sync with HEAD.
 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.13.10.2 21-Jan-2008  yamt sync with head
 1.13.10.1 21-Jun-2006  yamt sync with head.
 1.14.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.14.8.1 24-May-2006  yamt sync with head.
 1.14.6.1 01-Jun-2006  kardel Sync with head.
 1.14.4.1 09-Sep-2006  rpaulo sync with head
 1.15.52.1 20-Jan-2008  bouyer Sync with HEAD
 1.15.44.1 18-Feb-2008  mjf Sync with HEAD.
 1.15.38.2 23-Mar-2008  matt sync with HEAD
 1.15.38.1 28-Jan-2008  matt Adapt to new pmap_bootstrap signature.
 1.15.34.1 28-Feb-2008  rjs Sync with HEAD.
 1.16.10.4 11-Mar-2010  yamt sync with head
 1.16.10.3 19-Aug-2009  yamt sync with head.
 1.16.10.2 04-May-2009  yamt sync with head.
 1.16.10.1 16-May-2008  yamt sync with head.
 1.16.8.1 18-May-2008  yamt sync with head.
 1.16.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.16.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.17.8.2 28-Apr-2009  skrll Sync with HEAD.
 1.17.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.17.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.20.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.29.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.29.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.29.2.1 30-Oct-2012  yamt sync with head
 1.31.2.3 03-Dec-2017  jdolecek update from HEAD
 1.31.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.31.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.33.2.1 28-Aug-2013  rmind sync with head
 1.35.2.2 05-Feb-2017  skrll Sync with HEAD
 1.35.2.1 06-Apr-2015  skrll 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.37.14.4 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.37.14.3 30-Sep-2018  pgoyette Ssync with HEAD
 1.37.14.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.37.14.1 15-Mar-2018  pgoyette Synch with HEAD
 1.38.2.3 21-Apr-2020  martin Sync with HEAD
 1.38.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.38.2.1 10-Jun-2019  christos Sync with HEAD
 1.43.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.46.4.1 14-Oct-2023  martin Pull up following revision(s) (requested by skrll in ticket #411):

sys/arch/evbarm/nslu2/nslu2_machdep.c: revision 1.41
sys/arch/evbarm/gumstix/gumstix_machdep.c: revision 1.75
sys/arch/evbarm/iq80321/iq80321_machdep.c: revision 1.66
sys/arch/iyonix/iyonix/iyonix_machdep.c: revision 1.34
sys/arch/zaurus/zaurus/machdep.c: revision 1.52
sys/arch/evbarm/g42xxeb/g42xxeb_machdep.c: revision 1.41
sys/arch/hpcarm/hpcarm/pxa2x0_hpc_machdep.c: revision 1.33
sys/arch/evbarm/iq80310/iq80310_machdep.c: revision 1.96
sys/arch/evbarm/adi_brh/brh_machdep.c: revision 1.53
sys/arch/arm/include/arm32/pmap.h: revision 1.177
sys/arch/evbarm/viper/viper_machdep.c: revision 1.34
sys/arch/evbarm/iyonix/iyonix_machdep.c: revision 1.5
sys/arch/evbarm/npwr_fc/npwr_fc_machdep.c: revision 1.30
sys/arch/evbarm/hdl_g/hdlg_machdep.c: revision 1.35
sys/arch/arm/arm32/pmap.c: revision 1.440
sys/arch/evbarm/lubbock/lubbock_machdep.c: revision 1.45
sys/arch/evbarm/ixdp425/ixdp425_machdep.c: revision 1.47

Fix non-DIAGNOSTIC builds
 1.9 14-Oct-2012  msaitoh struct device * -> device_t for IXP4xx (and nslu2).
Tested with my NSLU2.
 1.8 28-Sep-2012  ryo Defer attaching interrupt evcnts in the same way as i80321.c by matt@
 1.7 01-Jul-2011  dyoung branches: 1.7.2; 1.7.8; 1.7.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.6 21-Oct-2009  rmind Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.5 11-Dec-2005  christos branches: 1.5.78;
merge ktrace-lwp.
 1.4 08-Oct-2003  scw Make it easier to support different types of IXP425 board:

- Move board-specific PCI/GPIO initialisation to its rightful place.

- Handle clearing down latched GPIO interrupts in a board-independent way.

- Use MI com(4) driver for on-chip UARTs.

- Misc. tidying up.

Tested on IXDP425.
 1.3 25-Sep-2003  ichiro pci bus support
 1.2 24-May-2003  ichiro branches: 1.2.2;
add IXDP425 PCI interrupt
fix some typo
 1.1 23-May-2003  ichiro support IXP425 Intel Network Processor
running on BigEndian
 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 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.7.8.1 17-Oct-2012  riz Pull up following revision(s) (requested by tsutsui in ticket #600):
sys/arch/arm/xscale/ixp425_intr.c: revision 1.24
sys/arch/evbarm/ixdp425/ixdp425_mainbus.c: revision 1.8
sys/arch/evbarm/nslu2/nslu2_mainbus.c: revision 1.3
sys/arch/arm/xscale/ixp425var.h: revision 1.14
Defer attaching interrupt evcnts in the same way as i80321.c by matt@
 1.7.2.1 30-Oct-2012  yamt sync with head
 1.13 09-Jan-2019  msaitoh Fix compile error for *_pci_intr_establish().
 1.12 23-Oct-2018  jmcneill Fix printf format strings - pci_intr_handle_t is uint64_t now on arm
 1.11 29-Mar-2014  christos branches: 1.11.28; 1.11.30;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.10 26-Mar-2014  christos kill sprintf.
 1.9 12-Nov-2012  skrll branches: 1.9.2;
C99 types
 1.8 01-Jul-2011  dyoung branches: 1.8.2; 1.8.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.7 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.6 21-Oct-2009  rmind branches: 1.6.4; 1.6.6;
Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.5 11-Dec-2005  christos branches: 1.5.78;
merge ktrace-lwp.
 1.4 11-Oct-2003  ichiro add mapping table of pci interrupt number
 1.3 08-Oct-2003  scw Make it easier to support different types of IXP425 board:

- Move board-specific PCI/GPIO initialisation to its rightful place.

- Handle clearing down latched GPIO interrupts in a board-independent way.

- Use MI com(4) driver for on-chip UARTs.

- Misc. tidying up.

Tested on IXDP425.
 1.2 25-Sep-2003  ichiro pci bus support
 1.1 24-May-2003  ichiro branches: 1.1.2;
add IXDP425 PCI interrupt
fix some typo
 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 11-Mar-2010  yamt sync with head
 1.6.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.6.4.1 21-Apr-2011  rmind sync with head
 1.8.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 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 16-Jan-2013  yamt sync with (a bit old) head
 1.9.2.1 18-May-2014  rmind sync with head
 1.11.30.1 10-Jun-2019  christos Sync with HEAD
 1.11.28.2 18-Jan-2019  pgoyette Synch with HEAD
 1.11.28.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.7 31-Jan-2011  matt Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.6 21-Oct-2009  rmind branches: 1.6.4; 1.6.6; 1.6.8;
Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.5 11-Dec-2005  christos branches: 1.5.78;
merge ktrace-lwp.
 1.4 12-Feb-2004  scw Very occasionally, the MMU is enabled before the 'ldr' which loads
the mapped address to leap to completes. This generally manifests
itself as a random exception with RedBoot just after 'go'.

Fix it by adding a data-dependency on the 'ldr' result.
 1.3 08-Dec-2003  scw Set up a temporary 1MB mapping to cover the SDRAM controller's registers.
 1.2 24-May-2003  ichiro branches: 1.2.2;
add IXDP425 PCI interrupt
fix some typo
 1.1 23-May-2003  ichiro support IXP425 Intel Network Processor
running on BigEndian
 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.6.8.1 08-Feb-2011  bouyer Sync with HEAD
 1.6.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.6.4.1 05-Mar-2011  rmind sync with head
 1.7 21-Oct-2009  rmind Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.6 11-Dec-2005  christos branches: 1.6.78;
merge ktrace-lwp.
 1.5 24-Oct-2003  scw The i2c pins are not interrupt sources.
 1.4 23-Oct-2003  scw - Make the compile-time selection of ixdp425 vs. zao425 actually work.
- Flesh out cpu_reboot() to jump to Redboot via cpu_reset().
(See XXX comment in code regarding a problem with this).
 1.3 25-Sep-2003  ichiro pci bus support
 1.2 24-May-2003  ichiro branches: 1.2.2;
add IXDP425 PCI interrupt
fix some typo
 1.1 23-May-2003  ichiro support IXP425 Intel Network Processor
running on BigEndian
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6.78.1 11-Mar-2010  yamt sync with head
 1.4 21-Oct-2009  rmind Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.3 11-Dec-2005  christos branches: 1.3.78;
merge ktrace-lwp.
 1.2 08-Oct-2003  scw Make it easier to support different types of IXP425 board:

- Move board-specific PCI/GPIO initialisation to its rightful place.

- Handle clearing down latched GPIO interrupts in a board-independent way.

- Use MI com(4) driver for on-chip UARTs.

- Misc. tidying up.

Tested on IXDP425.
 1.1 24-May-2003  ichiro branches: 1.1.2;
add IXDP425 PCI interrupt
fix some typo
 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 11-Mar-2010  yamt sync with head
 1.3 08-Oct-2003  scw Make it easier to support different types of IXP425 board:

- Move board-specific PCI/GPIO initialisation to its rightful place.

- Handle clearing down latched GPIO interrupts in a board-independent way.

- Use MI com(4) driver for on-chip UARTs.

- Misc. tidying up.

Tested on IXDP425.
 1.2 01-Jun-2003  ichiro branches: 1.2.2;
add console unit number to configuration parameter.
move structure of uart information
 1.1 23-May-2003  ichiro support IXP425 Intel Network Processor
running on BigEndian
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.2 03-Jan-2003  thorpej Use the generic irq_dispatch.S
 1.1 17-Aug-2002  briggs branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Add a new option EVBARM_BOARDTYPE to differentiate between different
evbarm ports. Inline _splraise/_spllower/splx for i80321 and iq80310
for more performance.
 1.1.8.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.8.1 17-Aug-2002  jdolecek file ixm1200_intr.h was added on branch kqueue on 2002-09-06 08:34:10 +0000
 1.1.6.2 30-Aug-2002  gehenna catch up with -current.
 1.1.6.1 17-Aug-2002  gehenna file ixm1200_intr.h was added on branch gehenna-devsw on 2002-08-30 00:19:38 +0000
 1.1.4.2 03-Jan-2003  thorpej Sync with HEAD.
 1.1.4.1 17-Aug-2002  thorpej file ixm1200_intr.h was added on branch nathanw_sa on 2003-01-03 16:43:16 +0000
 1.1.2.1 19-Aug-2002  thorpej Partial (ARM only) sync with trunk -- significant performance improvements
for XScale-based systems.
 1.68 03-Aug-2023  mrg ignore "-Warray-bounds" for various low level platform code that knows
how something is setup but technically is undefined behaviour. the
most common here is "extern int end;" and then using offsets of "&end"
that are outside the bounds of this 4-byte integer.

these uses are almost certainly all OK in reality.

found by GCC 12.
 1.67 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.66 17-Aug-2021  andvar fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.65 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.64 18-Apr-2020  skrll Trailing whitespace
 1.63 16-Jul-2019  skrll branches: 1.63.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.62 16-Jul-2019  skrll KNF
 1.61 28-Oct-2018  skrll Fix a commit
 1.60 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.59 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.58 06-Nov-2017  christos branches: 1.58.2; 1.58.4;
Cleanup and clarify the ELFSIZE mess:

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

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

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

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

uvm_setpagesize() is now subsumed within this funciton.
 1.56 13-Sep-2014  matt branches: 1.56.2; 1.56.4;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.55 22-Feb-2014  matt Deal with non-4KB page sizes
 1.54 18-Aug-2013  matt <arm/locore.h> fallout (fixes some include ordering errors)
 1.53 12-Nov-2012  skrll branches: 1.53.2;
C99 types
 1.52 22-Sep-2012  matt Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.51 16-Aug-2012  matt branches: 1.51.2;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.50 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.49 01-Jul-2011  dyoung branches: 1.49.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.48 30-Jun-2011  wiz dependant -> dependent
 1.47 28-Dec-2009  uebayasi More setttb() -> cpu_setttb() for readability & consistency. Missing instances
pointed out by tsutsui@ & nonaka@, thanks.
 1.46 26-Dec-2009  uebayasi Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.45 26-Dec-2009  uebayasi Garbage collect an unused global, vm_offset_t pagetables_start.
 1.44 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.43 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.42 21-Oct-2009  rmind Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.41 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 1.40 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.39 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.38 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.37 30-Nov-2008  martin branches: 1.37.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.36 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.35 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.34 27-Apr-2008  matt branches: 1.34.6; 1.34.8;
Merge kernel changes in matt-armv6 to HEAD.
 1.33 19-Jan-2008  chris branches: 1.33.6; 1.33.8; 1.33.10;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.32 17-May-2006  mrg branches: 1.32.34; 1.32.38; 1.32.44; 1.32.52;
in initarm(), initialise kernel_l1pt.pv_va as well as kernel_l1pt.pv_pa.
 1.31 11-Dec-2005  christos branches: 1.31.4; 1.31.6; 1.31.8; 1.31.12;
merge ktrace-lwp.
 1.30 12-Dec-2004  abs branches: 1.30.10;
Fix comments slighly
 1.29 06-Aug-2004  rearnsha Use db_machine_init.
 1.28 13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.27 13-Jul-2003  igy using common bus_space_tag in ixpsip too
 1.26 13-Jul-2003  igy using devmap for static mapping
 1.25 22-May-2003  thorpej branches: 1.25.2;
Move KERNEL_VM_SIZE into the C files where its used.
 1.24 21-May-2003  thorpej Move KERNEL_VM_BASE inside where it is used (it won't be there for long).
 1.23 17-May-2003  thorpej Decrease the verbosity level unless VERBOSE_INIT_ARM is defiend.
 1.22 05-May-2003  igy code cleanup
 1.21 05-May-2003  igy using high vector page
 1.20 03-May-2003  thorpej Don't expose KERNEL_TEXT_BASE outside of board-specific code. This gives
individual board start-up code more flexibility about where the kernel
starts in the kernel address space.
 1.19 03-May-2003  thorpej Reduce differences between ARM32_NEW_VM_LAYOUT and not; always pass
the start and end of the kernel managed virtual address space to
pmap_bootstrap() in the new pmap.
 1.18 03-May-2003  thorpej Remove old pmap support for platforms which have fully switched over.
 1.17 03-May-2003  thorpej Switch Integrator, IXM1200, and SMDK2800 to ARM32_PMAP_NEW. These
are the last of the ARM platforms to be converted.
 1.16 28-Apr-2003  ragge Missed '(', noted by H�vard.
 1.15 26-Apr-2003  ragge Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
 1.14 02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.13 25-Mar-2003  igy Add __KERNEL_RCSID tags
 1.12 22-Feb-2003  igy correct physical/virtual address handling

- to identify device instance, using hardware address.
- when console accesses device, using statically mapped address.
- when tty accesses device, using handler given by bus_space_map().
 1.11 08-Dec-2002  ichiro delete unneed pmap for LED and Clock
 1.10 02-Dec-2002  ichiro move location of pmap_debug()
 1.9 09-Oct-2002  thorpej Make this compile with strict prototypes.
 1.8 27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.7 24-Aug-2002  thorpej branches: 1.7.2; 1.7.4;
Enable caching on kernel and user page tables. This saves having
to do uncached memory access during VM operations (which can be
quite expensive on some CPUs).

We currently write-back PTEs as soon as they're modified; there is
some room for optimization (to write them back in larger chunks).
For PTEs in the APTE space (i.e. PTEs for pmaps that describe another
process's address space), PTEs must also be evicted from the cache
complete (PTEs in PTE space will be evicted durint a context switch).
 1.6 22-Aug-2002  thorpej * Add PTE_SYNC() and PTE_SYNC_RANGE() macros. These don't actually do
anything yet.
* Use PTE_SYNC() and PTE_SYNC_RANGE() in some obvious places, i.e.
where vtopte() is used.
 1.5 21-Aug-2002  thorpej Do cached memory access to L1 tables, making sure to write-back the
cache after any L1 table modifications.
 1.4 31-Jul-2002  thorpej Move the calls to uvm_page_physload() out of pmap_bootstrap() and
into platform-specific initialization code, giving platform-specific
code control over which free list a given chunk of memory gets put
onto.

Changes are essentially mechanical. Test compiled for all ARM
platforms, test booted on Intel IQ80321 and Shark.

Discussed some time ago on port-arm.
 1.3 30-Jul-2002  thorpej Move the uvm_setpagesize() call to platform-dependent code in preparation
for other changes to pmap_bootstrap().
 1.2 21-Jul-2002  ichiro cosmetic change
mapping i21555 control/status registers
 1.1 15-Jul-2002  ichiro branches: 1.1.2;
add support ixp12x0 eva-board "IXM1200"
 1.1.2.3 30-Aug-2002  gehenna catch up with -current.
 1.1.2.2 21-Jul-2002  gehenna catch up with -current.
 1.1.2.1 15-Jul-2002  gehenna file ixm1200_machdep.c was added on branch gehenna-devsw on 2002-07-21 13:00:35 +0000
 1.7.4.3 11-Dec-2002  thorpej Sync with HEAD.
 1.7.4.2 18-Oct-2002  nathanw Catch up to -current.
 1.7.4.1 24-Aug-2002  nathanw file ixm1200_machdep.c was added on branch nathanw_sa on 2002-10-18 02:36:34 +0000
 1.7.2.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.7.2.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.7.2.1 24-Aug-2002  jdolecek file ixm1200_machdep.c was added on branch kqueue on 2002-09-06 08:34:10 +0000
 1.25.2.5 18-Dec-2004  skrll Sync with HEAD.
 1.25.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.25.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.25.2.2 12-Aug-2004  skrll Sync with HEAD.
 1.25.2.1 03-Aug-2004  skrll Sync with HEAD
 1.30.10.2 21-Jan-2008  yamt sync with head
 1.30.10.1 21-Jun-2006  yamt sync with head.
 1.31.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.31.8.1 24-May-2006  yamt sync with head.
 1.31.6.1 01-Jun-2006  kardel Sync with head.
 1.31.4.1 09-Sep-2006  rpaulo sync with head
 1.32.52.1 20-Jan-2008  bouyer Sync with HEAD
 1.32.44.1 18-Feb-2008  mjf Sync with HEAD.
 1.32.38.2 23-Mar-2008  matt sync with HEAD
 1.32.38.1 09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.32.34.1 28-Feb-2008  rjs Sync with HEAD.
 1.33.10.4 11-Mar-2010  yamt sync with head
 1.33.10.3 19-Aug-2009  yamt sync with head.
 1.33.10.2 04-May-2009  yamt sync with head.
 1.33.10.1 16-May-2008  yamt sync with head.
 1.33.8.1 18-May-2008  yamt sync with head.
 1.33.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.33.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.34.8.3 28-Apr-2009  skrll Sync with HEAD.
 1.34.8.2 03-Mar-2009  skrll Sync with HEAD.
 1.34.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.34.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.37.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 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 16-Jan-2013  yamt sync with (a bit old) head
 1.49.2.1 30-Oct-2012  yamt sync with head
 1.51.2.3 03-Dec-2017  jdolecek update from HEAD
 1.51.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.51.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.53.2.2 18-May-2014  rmind sync with head
 1.53.2.1 28-Aug-2013  rmind sync with head
 1.56.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.56.2.1 05-Feb-2017  skrll Sync with HEAD
 1.58.4.3 21-Apr-2020  martin Sync with HEAD
 1.58.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.58.4.1 10-Jun-2019  christos Sync with HEAD
 1.58.2.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.58.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.58.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.63.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.13 16-Nov-2018  jmcneill Add intr_establish_xname support to arm and expose it to intrctl
 1.12 23-Oct-2018  jmcneill Fix printf format strings - pci_intr_handle_t is uint64_t now on arm
 1.11 29-Mar-2014  christos branches: 1.11.28; 1.11.30;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.10 26-Mar-2014  christos kill sprintf.
 1.9 01-Jul-2011  dyoung branches: 1.9.2; 1.9.12; 1.9.16;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.8 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.7 21-Oct-2009  rmind branches: 1.7.4; 1.7.6;
Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.6 16-Mar-2009  dsl ANSIfy functions with function-pointer arguments
 1.5 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.4 25-Mar-2003  igy branches: 1.4.108; 1.4.116; 1.4.122;
Add __KERNEL_RCSID tags
 1.3 17-Feb-2003  ichiro files.ixp12x0
no need device ixpcom in evbarm/conf/files.evbarm move it to
arm/ixp12x0/files.ixp12x0

ixp12x0_com.c:
some fix around address handling
1. Do not call bus_space_map() in ixpcominit(). Calling bus_space_map()
is not safe here, because bus_space_map() calls uvm_km_valloc() but
uvm is not yet initialized.
2. Use dv_unit to determine console instead comparering iobase.
Now you can attach ixpcom0 with physical address like this:
ixpcom* at ixpsip? addr 0x90000000 size 0x4000
Statically mapped address (0xf0000000) is still usable.

ixp12x0_clk:
1. access PLL_CFG register via bus_space
2. Make the delay() working correctly. (bug fix)
3. Start the timer device without interrupt on attach time.
Now delay() called before cpu_initclocks() works fine.

ixp12x0_pci:
1.Mapping PCI type0/1 configuration space to the upper address.
2."PCI I/O Cycle Access" mapping to same virtual address(VA==PA)
but size of this mapping increase to 1MByte because fails
cause couldnt set L2 table.
3.use bus_space address handling in ixp12x0_pci.c.
 1.2 21-Jul-2002  ichiro branches: 1.2.2; 1.2.4;
make compile when PCI_DEBUG was defined
 1.1 15-Jul-2002  ichiro branches: 1.1.2;
add support ixp12x0 eva-board "IXM1200"
 1.1.2.3 30-Aug-2002  gehenna catch up with -current.
 1.1.2.2 21-Jul-2002  gehenna catch up with -current.
 1.1.2.1 15-Jul-2002  gehenna file ixm1200_pci.c was added on branch gehenna-devsw on 2002-07-21 13:00:35 +0000
 1.2.4.2 21-Jul-2002  ichiro make compile when PCI_DEBUG was defined
 1.2.4.1 21-Jul-2002  ichiro file ixm1200_pci.c was added on branch nathanw_sa on 2002-07-21 22:16:59 +0000
 1.2.2.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.2.1 21-Jul-2002  jdolecek file ixm1200_pci.c was added on branch kqueue on 2002-09-06 08:34:11 +0000
 1.4.122.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.4.116.1 28-Apr-2009  skrll Sync with HEAD.
 1.4.108.2 11-Mar-2010  yamt sync with head
 1.4.108.1 04-May-2009  yamt sync with head.
 1.7.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.7.4.1 21-Apr-2011  rmind sync with head
 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.11.30.1 10-Jun-2019  christos Sync with HEAD
 1.11.28.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.6 24-May-2022  andvar fix various typos in comment, documentation and log messages.
 1.5 02-Dec-2013  joerg Don't use cpsr_all/spsr_all with mrs, it doesn't take a mask.
 1.4 31-Jan-2011  matt branches: 1.4.4; 1.4.14; 1.4.18;
Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.3 28-Apr-2008  martin branches: 1.3.22; 1.3.28; 1.3.30;
Remove clause 3 and 4 from TNF licenses
 1.2 21-Jul-2002  ichiro branches: 1.2.2; 1.2.4; 1.2.112; 1.2.114; 1.2.116;
cosmetic change
mapping i21555 control/status registers
 1.1 15-Jul-2002  ichiro branches: 1.1.2;
add support ixp12x0 eva-board "IXM1200"
 1.1.2.3 30-Aug-2002  gehenna catch up with -current.
 1.1.2.2 21-Jul-2002  gehenna catch up with -current.
 1.1.2.1 15-Jul-2002  gehenna file ixm1200_start.S was added on branch gehenna-devsw on 2002-07-21 13:00:35 +0000
 1.2.116.1 16-May-2008  yamt sync with head.
 1.2.114.1 18-May-2008  yamt sync with head.
 1.2.112.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.4.2 21-Jul-2002  ichiro cosmetic change
mapping i21555 control/status registers
 1.2.4.1 21-Jul-2002  ichiro file ixm1200_start.S was added on branch nathanw_sa on 2002-07-21 14:26:06 +0000
 1.2.2.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.2.1 21-Jul-2002  jdolecek file ixm1200_start.S was added on branch kqueue on 2002-09-06 08:34:11 +0000
 1.3.30.1 08-Feb-2011  bouyer Sync with HEAD
 1.3.28.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.22.1 05-Mar-2011  rmind sync with head
 1.4.18.1 18-May-2014  rmind sync with head
 1.4.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.4.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2 21-Oct-2009  rmind Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.1 15-Jul-2002  ichiro branches: 1.1.2; 1.1.4; 1.1.6; 1.1.118;
add support ixp12x0 eva-board "IXM1200"
 1.1.118.1 11-Mar-2010  yamt sync with head
 1.1.6.2 15-Jul-2002  ichiro add support ixp12x0 eva-board "IXM1200"
 1.1.6.1 15-Jul-2002  ichiro file ixm1200reg.h was added on branch nathanw_sa on 2002-07-15 17:13:34 +0000
 1.1.4.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.4.1 15-Jul-2002  jdolecek file ixm1200reg.h was added on branch kqueue on 2002-09-06 08:34:11 +0000
 1.1.2.2 21-Jul-2002  gehenna catch up with -current.
 1.1.2.1 15-Jul-2002  gehenna file ixm1200reg.h was added on branch gehenna-devsw on 2002-07-21 13:00:35 +0000
 1.2 21-Oct-2009  rmind Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.1 15-Jul-2002  ichiro branches: 1.1.2; 1.1.4; 1.1.6; 1.1.118;
add support ixp12x0 eva-board "IXM1200"
 1.1.118.1 11-Mar-2010  yamt sync with head
 1.1.6.2 15-Jul-2002  ichiro add support ixp12x0 eva-board "IXM1200"
 1.1.6.1 15-Jul-2002  ichiro file ixm1200var.h was added on branch nathanw_sa on 2002-07-15 17:13:34 +0000
 1.1.4.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.4.1 15-Jul-2002  jdolecek file ixm1200var.h was added on branch kqueue on 2002-09-06 08:34:12 +0000
 1.1.2.2 21-Jul-2002  gehenna catch up with -current.
 1.1.2.1 15-Jul-2002  gehenna file ixm1200var.h was added on branch gehenna-devsw on 2002-07-21 13:00:35 +0000
 1.10 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.9 01-Jul-2011  dyoung branches: 1.9.2; 1.9.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.8 21-Oct-2009  rmind Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.7 11-Dec-2005  christos branches: 1.7.78;
merge ktrace-lwp.
 1.6 13-Jul-2003  igy mapping pci configuration space (not subregion)
 1.5 25-Mar-2003  igy branches: 1.5.2;
Add __KERNEL_RCSID tags
 1.4 17-Feb-2003  ichiro files.ixp12x0
no need device ixpcom in evbarm/conf/files.evbarm move it to
arm/ixp12x0/files.ixp12x0

ixp12x0_com.c:
some fix around address handling
1. Do not call bus_space_map() in ixpcominit(). Calling bus_space_map()
is not safe here, because bus_space_map() calls uvm_km_valloc() but
uvm is not yet initialized.
2. Use dv_unit to determine console instead comparering iobase.
Now you can attach ixpcom0 with physical address like this:
ixpcom* at ixpsip? addr 0x90000000 size 0x4000
Statically mapped address (0xf0000000) is still usable.

ixp12x0_clk:
1. access PLL_CFG register via bus_space
2. Make the delay() working correctly. (bug fix)
3. Start the timer device without interrupt on attach time.
Now delay() called before cpu_initclocks() works fine.

ixp12x0_pci:
1.Mapping PCI type0/1 configuration space to the upper address.
2."PCI I/O Cycle Access" mapping to same virtual address(VA==PA)
but size of this mapping increase to 1MByte because fails
cause couldnt set L2 table.
3.use bus_space address handling in ixp12x0_pci.c.
 1.3 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 15-Jul-2002  ichiro branches: 1.1.2; 1.1.4; 1.1.6;
add support ixp12x0 eva-board "IXM1200"
 1.1.6.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.6.1 15-Jul-2002  nathanw file ixp12x0_mainbus.c was added on branch nathanw_sa on 2002-10-18 02:36:34 +0000
 1.1.4.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.4.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.4.1 15-Jul-2002  jdolecek file ixp12x0_mainbus.c was added on branch kqueue on 2002-09-06 08:34:12 +0000
 1.1.2.2 21-Jul-2002  gehenna catch up with -current.
 1.1.2.1 15-Jul-2002  gehenna file ixp12x0_mainbus.c was added on branch gehenna-devsw on 2002-07-21 13:00:35 +0000
 1.5.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.2.1 03-Aug-2004  skrll Sync with HEAD
 1.7.78.1 11-Mar-2010  yamt sync with head
 1.9.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.9.2.1 30-Oct-2012  yamt sync with head
 1.12 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.11 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.10 12-Feb-2012  matt branches: 1.10.6;
Change old-stlye-defintions to C89 prototypes.
Switch to CFATTACH_DECL_NEW/device_t/cfdata_t
Defer attaching interrupt evcnts.

Approved by releng.
 1.9 01-Jul-2011  dyoung branches: 1.9.2; 1.9.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.8 21-Oct-2009  rmind Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.7 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.6 25-Mar-2003  igy branches: 1.6.108; 1.6.116; 1.6.122;
Add __KERNEL_RCSID tags
 1.5 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.4 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.3 27-Sep-2002  thorpej Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver. The cfdriver is then looked
up in a list which is built at run-time.
 1.2 21-Jul-2002  ichiro branches: 1.2.2; 1.2.4;
cosmetic change
mapping i21555 control/status registers
 1.1 20-Jul-2002  ichiro branches: 1.1.2;
attach/match separated from ixp12x0_com
Some bug of com driver have been improved.
 1.1.2.3 30-Aug-2002  gehenna catch up with -current.
 1.1.2.2 21-Jul-2002  gehenna catch up with -current.
 1.1.2.1 20-Jul-2002  gehenna file ixpcom_ixm.c was added on branch gehenna-devsw on 2002-07-21 13:00:35 +0000
 1.2.4.2 18-Oct-2002  nathanw Catch up to -current.
 1.2.4.1 21-Jul-2002  nathanw file ixpcom_ixm.c was added on branch nathanw_sa on 2002-10-18 02:36:34 +0000
 1.2.2.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.2.2.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.2.1 21-Jul-2002  jdolecek file ixpcom_ixm.c was added on branch kqueue on 2002-09-06 08:34:12 +0000
 1.6.122.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.6.116.1 28-Apr-2009  skrll Sync with HEAD.
 1.6.108.2 11-Mar-2010  yamt sync with head
 1.6.108.1 04-May-2009  yamt sync with head.
 1.9.6.1 18-Feb-2012  mrg merge to -current.
 1.9.2.2 30-Oct-2012  yamt sync with head
 1.9.2.1 17-Apr-2012  yamt sync with head
 1.10.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.2 21-Oct-2009  rmind Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.1 20-Jul-2002  ichiro branches: 1.1.2; 1.1.4; 1.1.6; 1.1.118;
attach/match separated from ixp12x0_com
Some bug of com driver have been improved.
 1.1.118.1 11-Mar-2010  yamt sync with head
 1.1.6.2 20-Jul-2002  ichiro attach/match separated from ixp12x0_com
Some bug of com driver have been improved.
 1.1.6.1 20-Jul-2002  ichiro file ixpcom_ixmvar.h was added on branch nathanw_sa on 2002-07-20 03:09:06 +0000
 1.1.4.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.4.1 20-Jul-2002  jdolecek file ixpcom_ixmvar.h was added on branch kqueue on 2002-09-06 08:34:13 +0000
 1.1.2.2 21-Jul-2002  gehenna catch up with -current.
 1.1.2.1 20-Jul-2002  gehenna file ixpcom_ixmvar.h was added on branch gehenna-devsw on 2002-07-21 13:00:35 +0000
 1.14 17-Jun-2020  thorpej - <sys/extent.h> not needed here.
- Fix interrupt string buffer name.
 1.13 29-Mar-2014  christos make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.12 26-Mar-2014  christos kill sprintf.
 1.11 12-Nov-2012  skrll branches: 1.11.2;
C99 types
 1.10 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.9 01-Jul-2011  dyoung branches: 1.9.2; 1.9.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.8 06-Jun-2011  matt Some more device_t, cfdata_t, CFATTACH_DECL_NEW cleanup.
 1.7 21-Oct-2009  rmind branches: 1.7.4; 1.7.10;
Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.6 25-Mar-2003  igy branches: 1.6.108;
Add __KERNEL_RCSID tags
 1.5 17-Feb-2003  ichiro files.ixp12x0
no need device ixpcom in evbarm/conf/files.evbarm move it to
arm/ixp12x0/files.ixp12x0

ixp12x0_com.c:
some fix around address handling
1. Do not call bus_space_map() in ixpcominit(). Calling bus_space_map()
is not safe here, because bus_space_map() calls uvm_km_valloc() but
uvm is not yet initialized.
2. Use dv_unit to determine console instead comparering iobase.
Now you can attach ixpcom0 with physical address like this:
ixpcom* at ixpsip? addr 0x90000000 size 0x4000
Statically mapped address (0xf0000000) is still usable.

ixp12x0_clk:
1. access PLL_CFG register via bus_space
2. Make the delay() working correctly. (bug fix)
3. Start the timer device without interrupt on attach time.
Now delay() called before cpu_initclocks() works fine.

ixp12x0_pci:
1.Mapping PCI type0/1 configuration space to the upper address.
2."PCI I/O Cycle Access" mapping to same virtual address(VA==PA)
but size of this mapping increase to 1MByte because fails
cause couldnt set L2 table.
3.use bus_space address handling in ixp12x0_pci.c.
 1.4 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.3 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.2 21-Jul-2002  ichiro branches: 1.2.2; 1.2.4;
cosmetic change
mapping i21555 control/status registers
 1.1 15-Jul-2002  ichiro branches: 1.1.2;
add support ixp12x0 eva-board "IXM1200"
 1.1.2.3 30-Aug-2002  gehenna catch up with -current.
 1.1.2.2 21-Jul-2002  gehenna catch up with -current.
 1.1.2.1 15-Jul-2002  gehenna file nappi_nppb.c was added on branch gehenna-devsw on 2002-07-21 13:00:35 +0000
 1.2.4.2 18-Oct-2002  nathanw Catch up to -current.
 1.2.4.1 21-Jul-2002  nathanw file nappi_nppb.c was added on branch nathanw_sa on 2002-10-18 02:36:35 +0000
 1.2.2.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.2.2.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.2.1 21-Jul-2002  jdolecek file nappi_nppb.c was added on branch kqueue on 2002-09-06 08:34:13 +0000
 1.6.108.1 11-Mar-2010  yamt sync with head
 1.7.10.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.7.4.1 12-Jun-2011  rmind sync with head
 1.9.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.9.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.9.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.9.2.1 30-Oct-2012  yamt sync with head
 1.11.2.1 18-May-2014  rmind sync with head
 1.11 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.10 30-Jul-2012  matt branches: 1.10.2;
Make this compile again.
 1.9 01-Jul-2011  dyoung branches: 1.9.2;
#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 17-Oct-2007  garbled branches: 1.7.16; 1.7.18; 1.7.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.6 12-Jul-2007  he branches: 1.6.10;
Adapt to the new signature of callout_init().
 1.5 25-Mar-2003  igy branches: 1.5.18; 1.5.60; 1.5.68;
Add __KERNEL_RCSID tags
 1.4 17-Feb-2003  ichiro files.ixp12x0
no need device ixpcom in evbarm/conf/files.evbarm move it to
arm/ixp12x0/files.ixp12x0

ixp12x0_com.c:
some fix around address handling
1. Do not call bus_space_map() in ixpcominit(). Calling bus_space_map()
is not safe here, because bus_space_map() calls uvm_km_valloc() but
uvm is not yet initialized.
2. Use dv_unit to determine console instead comparering iobase.
Now you can attach ixpcom0 with physical address like this:
ixpcom* at ixpsip? addr 0x90000000 size 0x4000
Statically mapped address (0xf0000000) is still usable.

ixp12x0_clk:
1. access PLL_CFG register via bus_space
2. Make the delay() working correctly. (bug fix)
3. Start the timer device without interrupt on attach time.
Now delay() called before cpu_initclocks() works fine.

ixp12x0_pci:
1.Mapping PCI type0/1 configuration space to the upper address.
2."PCI I/O Cycle Access" mapping to same virtual address(VA==PA)
but size of this mapping increase to 1MByte because fails
cause couldnt set L2 table.
3.use bus_space address handling in ixp12x0_pci.c.
 1.3 02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.2 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1 15-Jul-2002  ichiro branches: 1.1.2; 1.1.4; 1.1.6;
add support ixp12x0 eva-board "IXM1200"
 1.1.6.2 18-Oct-2002  nathanw Catch up to -current.
 1.1.6.1 15-Jul-2002  nathanw file nappi_nr.c was added on branch nathanw_sa on 2002-10-18 02:36:35 +0000
 1.1.4.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.1.4.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.4.1 15-Jul-2002  jdolecek file nappi_nr.c was added on branch kqueue on 2002-09-06 08:34:14 +0000
 1.1.2.2 21-Jul-2002  gehenna catch up with -current.
 1.1.2.1 15-Jul-2002  gehenna file nappi_nr.c was added on branch gehenna-devsw on 2002-07-21 13:00:36 +0000
 1.5.68.1 03-Oct-2007  garbled Sync with HEAD
 1.5.60.1 15-Jul-2007  ad Sync with head.
 1.5.18.1 03-Sep-2007  yamt sync with head.
 1.6.10.1 06-Nov-2007  matt sync with HEAD
 1.7.20.1 16-May-2008  yamt sync with head.
 1.7.18.1 18-May-2008  yamt sync with head.
 1.7.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.9.2.1 30-Oct-2012  yamt sync with head
 1.10.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.4 13-Oct-2025  thorpej Garbage-collect the "base_year_is_2000" property and associated
DSRTC_YEAR_START_2K config option (only used by Iyonix GENERIC).
Instead, set the "start-year" property to 2000 as needed (matches
the property name in the Devicetree RTC bindings used for the same
purpose).
 1.3 03-Oct-2025  thorpej Use device_setprop_data() to set the "mac-address" property.
 1.2 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.1 14-Feb-2019  macallan branches: 1.1.4;
move arch/iyonix into evbarm - it's got less machine specific code than most
evbarm/*...
does not quite work yet, but I don't want it to accumulate more differences
to what's in arch/iyonix
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 14-Feb-2019  christos file autoconf.c was added on branch phil-wifi on 2019-06-10 22:06:08 +0000
 1.1 14-Feb-2019  macallan branches: 1.1.4;
move arch/iyonix into evbarm - it's got less machine specific code than most
evbarm/*...
does not quite work yet, but I don't want it to accumulate more differences
to what's in arch/iyonix
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 14-Feb-2019  christos file com_obio.c was added on branch phil-wifi on 2019-06-10 22:06:08 +0000
 1.1 14-Feb-2019  macallan branches: 1.1.4;
move arch/iyonix into evbarm - it's got less machine specific code than most
evbarm/*...
does not quite work yet, but I don't want it to accumulate more differences
to what's in arch/iyonix
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 14-Feb-2019  christos file i80321_mainbus.c was added on branch phil-wifi on 2019-06-10 22:06:08 +0000
 1.6 20-Feb-2024  andvar Fix format specifier for physmem from %d to 0x%"PRIxPSIZE" in multiple places.

Should fix VERBOSE_INIT_ARM for various evbarm kernel configs.
Also add 0x prefix in few previously fixed places to improve readability.
 1.5 12-Oct-2023  skrll Fix non-DIAGNOSTIC builds
 1.4 18-Apr-2020  skrll branches: 1.4.20;
PMAP_DEBUG has been deleted on arm
 1.3 18-Apr-2020  skrll Trailing whitespace
 1.2 16-Jul-2019  skrll branches: 1.2.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.1 14-Feb-2019  macallan branches: 1.1.4;
move arch/iyonix into evbarm - it's got less machine specific code than most
evbarm/*...
does not quite work yet, but I don't want it to accumulate more differences
to what's in arch/iyonix
 1.1.4.4 21-Apr-2020  martin Sync with HEAD
 1.1.4.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 14-Feb-2019  christos file iyonix_machdep.c was added on branch phil-wifi on 2019-06-10 22:06:08 +0000
 1.2.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.4.20.1 14-Oct-2023  martin Pull up following revision(s) (requested by skrll in ticket #411):

sys/arch/evbarm/nslu2/nslu2_machdep.c: revision 1.41
sys/arch/evbarm/gumstix/gumstix_machdep.c: revision 1.75
sys/arch/evbarm/iq80321/iq80321_machdep.c: revision 1.66
sys/arch/iyonix/iyonix/iyonix_machdep.c: revision 1.34
sys/arch/zaurus/zaurus/machdep.c: revision 1.52
sys/arch/evbarm/g42xxeb/g42xxeb_machdep.c: revision 1.41
sys/arch/hpcarm/hpcarm/pxa2x0_hpc_machdep.c: revision 1.33
sys/arch/evbarm/iq80310/iq80310_machdep.c: revision 1.96
sys/arch/evbarm/adi_brh/brh_machdep.c: revision 1.53
sys/arch/arm/include/arm32/pmap.h: revision 1.177
sys/arch/evbarm/viper/viper_machdep.c: revision 1.34
sys/arch/evbarm/iyonix/iyonix_machdep.c: revision 1.5
sys/arch/evbarm/npwr_fc/npwr_fc_machdep.c: revision 1.30
sys/arch/evbarm/hdl_g/hdlg_machdep.c: revision 1.35
sys/arch/arm/arm32/pmap.c: revision 1.440
sys/arch/evbarm/lubbock/lubbock_machdep.c: revision 1.45
sys/arch/evbarm/ixdp425/ixdp425_machdep.c: revision 1.47

Fix non-DIAGNOSTIC builds
 1.2 17-Jun-2020  thorpej <sys/extent.h> not needed here.
 1.1 14-Feb-2019  macallan branches: 1.1.4;
move arch/iyonix into evbarm - it's got less machine specific code than most
evbarm/*...
does not quite work yet, but I don't want it to accumulate more differences
to what's in arch/iyonix
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 14-Feb-2019  christos file iyonix_pci.c was added on branch phil-wifi on 2019-06-10 22:06:08 +0000
 1.1 14-Feb-2019  macallan branches: 1.1.4;
move arch/iyonix into evbarm - it's got less machine specific code than most
evbarm/*...
does not quite work yet, but I don't want it to accumulate more differences
to what's in arch/iyonix
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 14-Feb-2019  christos file iyonixreg.h was added on branch phil-wifi on 2019-06-10 22:06:08 +0000
 1.1 14-Feb-2019  macallan branches: 1.1.4;
move arch/iyonix into evbarm - it's got less machine specific code than most
evbarm/*...
does not quite work yet, but I don't want it to accumulate more differences
to what's in arch/iyonix
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 14-Feb-2019  christos file iyonixvar.h was added on branch phil-wifi on 2019-06-10 22:06:08 +0000
 1.3 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.2 24-Apr-2021  thorpej branches: 1.2.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.1 14-Feb-2019  macallan branches: 1.1.4; 1.1.16;
move arch/iyonix into evbarm - it's got less machine specific code than most
evbarm/*...
does not quite work yet, but I don't want it to accumulate more differences
to what's in arch/iyonix
 1.1.16.6 05-Apr-2021  thorpej Treat config_probe() as if it were a boolean function; don't compare
return value > 0... except for the odd balls, which are now really easy
to spot.
 1.1.16.5 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.1.16.4 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.1.16.3 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.1.16.2 21-Mar-2021  thorpej CFARG_IATTR usage audit:

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

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 14-Feb-2019  christos file obio.c was added on branch phil-wifi on 2019-06-10 22:06:08 +0000
 1.2.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.2 21-Apr-2023  skrll Trailing whitespace.
 1.1 14-Feb-2019  macallan branches: 1.1.4;
move arch/iyonix into evbarm - it's got less machine specific code than most
evbarm/*...
does not quite work yet, but I don't want it to accumulate more differences
to what's in arch/iyonix
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 14-Feb-2019  christos file obio_space.c was added on branch phil-wifi on 2019-06-10 22:06:08 +0000
 1.1 14-Feb-2019  macallan branches: 1.1.4;
move arch/iyonix into evbarm - it's got less machine specific code than most
evbarm/*...
does not quite work yet, but I don't want it to accumulate more differences
to what's in arch/iyonix
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 14-Feb-2019  christos file obiovar.h was added on branch phil-wifi on 2019-06-10 22:06:08 +0000
 1.1 25-Jul-2014  hkenken branches: 1.1.2; 1.1.6;
Initial commit of support for Kobo touch. (i.MX507 or i.MX508)
(http://www.kobo.com)
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 25-Jul-2014  tls file kobo.h was added on branch tls-maxphys on 2014-08-20 00:02:55 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 25-Jul-2014  tls file kobo.h was added on branch tls-earlyentropy on 2014-08-10 06:53:55 +0000
 1.9 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.8 24-Jul-2019  hkenken Modified i.MX GPIO control module and PCIe module.

+ Add imxpcie.c
imx PCIe common driver
 1.7 16-Jul-2019  skrll Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.6 18-May-2019  skrll Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.5 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.4 08-Sep-2017  hkenken branches: 1.4.2; 1.4.4;
- Move CFATTACH_DECL_NEW() from common uart driver.
- Rename : imxuart_cons_attach() -> imxuart_cnattach()
 1.3 07-May-2015  hkenken use armv7_generic_space
 1.2 25-Jul-2014  hkenken branches: 1.2.2; 1.2.6; 1.2.8;
fix compile error.
 1.1 25-Jul-2014  hkenken Initial commit of support for Kobo touch. (i.MX507 or i.MX508)
(http://www.kobo.com)
 1.2.8.1 06-Jun-2015  skrll Sync with HEAD
 1.2.6.3 03-Dec-2017  jdolecek update from HEAD
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 25-Jul-2014  tls file kobo_machdep.c was added on branch tls-maxphys on 2014-08-20 00:02:55 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 25-Jul-2014  tls file kobo_machdep.c was added on branch tls-earlyentropy on 2014-08-10 06:53:55 +0000
 1.4.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.4.1 10-Jun-2019  christos Sync with HEAD
 1.4.2.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.1 25-Jul-2014  hkenken branches: 1.1.2; 1.1.6;
Initial commit of support for Kobo touch. (i.MX507 or i.MX508)
(http://www.kobo.com)
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 25-Jul-2014  tls file kobo_reg.h was added on branch tls-maxphys on 2014-08-20 00:02:55 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 25-Jul-2014  tls file kobo_reg.h was added on branch tls-earlyentropy on 2014-08-10 06:53:55 +0000
 1.2 18-May-2019  skrll Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.1 25-Jul-2014  hkenken branches: 1.1.2; 1.1.6; 1.1.32;
Initial commit of support for Kobo touch. (i.MX507 or i.MX508)
(http://www.kobo.com)
 1.1.32.1 10-Jun-2019  christos Sync with HEAD
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 25-Jul-2014  tls file kobo_start.S was added on branch tls-maxphys on 2014-08-20 00:02:55 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 25-Jul-2014  tls file kobo_start.S was added on branch tls-earlyentropy on 2014-08-10 06:53:55 +0000
 1.4 22-Feb-2024  andvar sc_init_md_hook expects two params since interface change in imxusbvar.h rev 1.7
thus adjust kobo_usb_init() and netwalker_usb_init() functions accordingly.

Fixes build for KOBO and NETWALKER(_MD) kernel configs.
Needs pullup to netbsd-10.
 1.3 24-Jul-2019  hkenken branches: 1.3.28;
i.MX USB host code re-arrangement.
 1.2 22-Sep-2017  khorben branches: 1.2.4;
Typo
 1.1 25-Jul-2014  hkenken branches: 1.1.2; 1.1.6;
Initial commit of support for Kobo touch. (i.MX507 or i.MX508)
(http://www.kobo.com)
 1.1.6.3 03-Dec-2017  jdolecek update from HEAD
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 25-Jul-2014  tls file kobo_usb.c was added on branch tls-maxphys on 2014-08-20 00:02:55 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 25-Jul-2014  tls file kobo_usb.c was added on branch tls-earlyentropy on 2014-08-10 06:53:55 +0000
 1.2.4.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.28.1 24-Feb-2024  martin Pull up following revision(s) (requested by andvar in ticket #609):

sys/arch/evbarm/netwalker/netwalker_usb.c: revision 1.9
sys/arch/evbarm/kobo/kobo_usb.c: revision 1.4

sc_init_md_hook expects two params since interface change in imxusbvar.h rev 1.7
thus adjust kobo_usb_init() and netwalker_usb_init() functions accordingly.

Fixes build for KOBO and NETWALKER(_MD) kernel configs.
 1.7 08-Feb-2018  dholland Typos.
 1.6 12-Nov-2012  skrll C99 types
 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 29-May-2009  rjs Make the following changes:

struct device * -> device_t
struct cfdata * -> cfdata_t
printf -> aprint_
device_t/softc split
 1.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.1 18-Jun-2003  bsh branches: 1.1.104; 1.1.106; 1.1.108;
MD part for Intel Lubbock (DBPXA250).

built-in UART and on-board ethernet are supported for now.
LCD, PCMCIA, CF, PS/2, AC97 will follow shortly.
 1.1.108.2 20-Jun-2009  yamt sync with head
 1.1.108.1 16-May-2008  yamt sync with head.
 1.1.106.1 18-May-2008  yamt sync with head.
 1.1.104.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.4.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.4.2.1 30-Oct-2012  yamt sync with head
 1.18 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.17 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.16 24-Apr-2021  thorpej branches: 1.16.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.15 25-Jul-2014  dholland branches: 1.15.42;
Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.
 1.14 16-Mar-2014  dholland branches: 1.14.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.13 27-Oct-2012  chs branches: 1.13.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.12 01-Jul-2011  dyoung branches: 1.12.2; 1.12.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.11 13-Mar-2010  bsh fix LCD drivers for Lubbock and Twintail.
- pass correct attach args to pxa2x0_lcd_attach_sub()
- make this driver compile without wsdisplay again.
 1.10 29-May-2009  rjs branches: 1.10.2;
Make the following changes:

struct device * -> device_t
struct cfdata * -> cfdata_t
printf -> aprint_
device_t/softc split
 1.9 29-Jan-2009  nonaka - device_t/softc split.
- use aprint_* function.
 1.8 11-Jun-2008  cegger branches: 1.8.4;
use device_lookup_private to get softc
 1.7 04-Mar-2007  christos branches: 1.7.40; 1.7.42; 1.7.44; 1.7.46; 1.7.48;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.6 18-Dec-2006  nonaka branches: 1.6.2;
Fix evbarm compile again.
 1.5 17-Apr-2006  jmmv branches: 1.5.8; 1.5.10;
Properly pass down the 'vs' cookie to pxa2x0_lcd_ioctl calls. Pointed out
by he@.
 1.4 12-Apr-2006  jmmv Add an extra cookie to the ioctl and mmap wsdisplay accessops that points
to the screen on which they are being called. The driver cannot guess
this by itself but it is needed to implement, at least, the getwschar and
putwschar functions in the correct place. There are no functional changes
yet.

Tested on i386 (vga, vga_raster, machfb, vesafb), macppc and sparc64.
Suggested and reviewed by macallan@.
 1.3 23-Feb-2006  thorpej branches: 1.3.2; 1.3.4; 1.3.6;
Use device_parent().
 1.2 11-Dec-2005  christos branches: 1.2.2; 1.2.4; 1.2.6;
merge ktrace-lwp.
 1.1 09-Aug-2003  bsh branches: 1.1.4; 1.1.18;
add following drivers for Intel Lubbock.
LCD
on-board SA-1111 companion chip
PCMCIA/CF slots
 1.1.18.3 03-Sep-2007  yamt sync with head.
 1.1.18.2 30-Dec-2006  yamt sync with head.
 1.1.18.1 21-Jun-2006  yamt sync with head.
 1.1.4.5 17-Jan-2005  skrll Adapt to branch.
 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 09-Aug-2003  skrll file lubbock_lcd.c was added on branch ktrace-lwp on 2004-08-03 10:34:03 +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.3.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.3.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.3.2.1 24-May-2006  yamt sync with head.
 1.5.10.1 21-Dec-2006  yamt sync with head.
 1.5.8.1 12-Jan-2007  ad Sync with head.
 1.6.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.7.48.1 18-Jun-2008  simonb Sync with head.
 1.7.46.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.7.44.3 11-Aug-2010  yamt sync with head.
 1.7.44.2 20-Jun-2009  yamt sync with head
 1.7.44.1 04-May-2009  yamt sync with head.
 1.7.42.1 17-Jun-2008  yamt sync with head.
 1.7.40.1 29-Jun-2008  mjf Sync with HEAD.
 1.8.4.1 03-Mar-2009  skrll Sync with HEAD.
 1.10.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.12.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.12.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.12.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.12.2.1 30-Oct-2012  yamt sync with head
 1.13.2.1 18-May-2014  rmind sync with head
 1.14.2.1 10-Aug-2014  tls Rebase.
 1.15.42.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.16.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.46 20-Feb-2024  andvar Fix format specifier for physmem from %d to 0x%"PRIxPSIZE" in multiple places.

Should fix VERBOSE_INIT_ARM for various evbarm kernel configs.
Also add 0x prefix in few previously fixed places to improve readability.
 1.45 12-Oct-2023  skrll Fix non-DIAGNOSTIC builds
 1.44 19-Jun-2023  nisimura unbreak the previous change.
 1.43 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.42 17-Aug-2021  andvar branches: 1.42.4;
fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.41 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.40 18-Apr-2020  skrll Trailing whitespace
 1.39 16-Jul-2019  skrll branches: 1.39.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.38 16-Jul-2019  skrll KNF
 1.37 28-Oct-2018  skrll Fix a commit
 1.36 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.35 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.34 22-Dec-2016  cherry branches: 1.34.14; 1.34.16;
switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.33 13-Sep-2014  matt branches: 1.33.2; 1.33.4;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.32 18-Aug-2013  matt <arm/locore.h> fallout (fixes some include ordering errors)
 1.31 22-Sep-2012  matt branches: 1.31.2;
Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.30 16-Aug-2012  matt branches: 1.30.2;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.29 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.28 01-Jul-2011  dyoung branches: 1.28.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.27 30-Jun-2011  wiz dependant -> dependent
 1.26 28-Nov-2010  hannken As md(4) no longer has "needs-count" there is no "md.h" anymore.
Remove the inclusion of this file.

Acorn32 now always builds load_memory_disc_from_floppy(). This should
not be a problem as all configs have md(4).

Observed by: Masao Uebayashi <uebayasi@netbsd.org>
 1.25 28-Dec-2009  uebayasi branches: 1.25.4;
More setttb() -> cpu_setttb() for readability & consistency. Missing instances
pointed out by tsutsui@ & nonaka@, thanks.
 1.24 26-Dec-2009  uebayasi Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.23 26-Dec-2009  uebayasi Garbage collect an unused global, vm_offset_t pagetables_start.
 1.22 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.21 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.20 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 1.19 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.18 27-Apr-2008  matt branches: 1.18.6; 1.18.8;
Merge kernel changes in matt-armv6 to HEAD.
 1.17 19-Jan-2008  chris branches: 1.17.6; 1.17.8; 1.17.10;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.16 17-Oct-2007  garbled branches: 1.16.2; 1.16.8;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.15 21-Aug-2007  kiyohara branches: 1.15.2;
The initarm() should initialize GPIO. We must not initialize GPIO in
foo_attach() of the each drivers. And, it is necessary to confirm whether
to be initialized in foo_match(). To avoid a dangerous configuring on the
evaluation boards.
 1.14 24-Nov-2006  wiz branches: 1.14.8; 1.14.16; 1.14.22; 1.14.24; 1.14.26;
s/independant/independent/, from Zafer.
 1.13 24-Oct-2006  bjh21 parse_mi_bootargs() is declared in <arm/arm32/machdep.h>, so there's no need
to declare it here too.
 1.12 17-May-2006  mrg branches: 1.12.8; 1.12.10;
in initarm(), initialise kernel_l1pt.pv_va as well as kernel_l1pt.pv_pa.
 1.11 08-Mar-2006  lukem branches: 1.11.2;
Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings.
Add a space between numbers and Hz unit.
 1.10 24-Dec-2005  perry branches: 1.10.4; 1.10.6; 1.10.8; 1.10.10;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.9 11-Dec-2005  christos merge ktrace-lwp.
 1.8 04-Jul-2005  bsh branches: 1.8.2;
adapt to changes for PXA270 support.
 1.7 18-Mar-2005  bsh modify comments for clarity.

Original comments made several people misunderstand that the comment
says kernel's pagetable is at 0xa0004000. What the comment says is
about RedBoot's pagetable.
 1.6 17-Mar-2005  bsh Switch kernels for Lubbock and TwinTail to use pmap_devmap to map
I/O registers that are used in early start-up stage. Also stop using
special bootstrap-time-only bus_space_map function in {lubbock,g42xxeb}_machdep.c.

This makes initarm() for them a bit simpler, and gives us smaller diffs
to other evbarm platforms.
 1.5 26-Feb-2005  bsh Fix kgdb_port_init() to make it compile with options KGDB.
 1.4 12-Dec-2004  abs branches: 1.4.2; 1.4.4;
Fix comments regarding configration bounaries
 1.3 12-Dec-2004  abs Fix comments slighly
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 18-Jun-2003  bsh branches: 1.1.2;
MD part for Intel Lubbock (DBPXA250).

built-in UART and on-board ethernet are supported for now.
LCD, PCMCIA, CF, PS/2, AC97 will follow shortly.
 1.1.2.7 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.2.6 01-Apr-2005  skrll Sync with HEAD.
 1.1.2.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.4 18-Dec-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.4.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.4.2.1 29-Apr-2005  kent sync with -current
 1.8.2.4 21-Jan-2008  yamt sync with head
 1.8.2.3 03-Sep-2007  yamt sync with head.
 1.8.2.2 30-Dec-2006  yamt sync with head.
 1.8.2.1 21-Jun-2006  yamt sync with head.
 1.10.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.10.8.2 24-May-2006  yamt sync with head.
 1.10.8.1 13-Mar-2006  yamt sync with head.
 1.10.6.2 01-Jun-2006  kardel Sync with head.
 1.10.6.1 22-Apr-2006  simonb Sync with head.
 1.10.4.1 09-Sep-2006  rpaulo sync with head
 1.11.2.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.12.10.1 10-Dec-2006  yamt sync with head.
 1.12.8.2 12-Jan-2007  ad Sync with head.
 1.12.8.1 18-Nov-2006  ad Sync with head.
 1.14.26.1 03-Sep-2007  jmcneill Sync with HEAD.
 1.14.24.2 28-Feb-2008  rjs Sync with HEAD.
 1.14.24.1 01-Nov-2007  rjs Sync with HEAD.
 1.14.22.1 03-Sep-2007  skrll Sync with HEAD.
 1.14.16.1 03-Oct-2007  garbled Sync with HEAD
 1.14.8.1 09-Oct-2007  ad Sync with head.
 1.15.2.3 23-Mar-2008  matt sync with HEAD
 1.15.2.2 28-Jan-2008  matt Adapt to new pmap_bootstrap signature.
 1.15.2.1 06-Nov-2007  matt sync with HEAD
 1.16.8.1 20-Jan-2008  bouyer Sync with HEAD
 1.16.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.17.10.4 11-Mar-2010  yamt sync with head
 1.17.10.3 19-Aug-2009  yamt sync with head.
 1.17.10.2 04-May-2009  yamt sync with head.
 1.17.10.1 16-May-2008  yamt sync with head.
 1.17.8.1 18-May-2008  yamt sync with head.
 1.17.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.17.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.18.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.18.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.25.4.1 05-Mar-2011  rmind sync with head
 1.28.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.28.2.1 30-Oct-2012  yamt sync with head
 1.30.2.3 03-Dec-2017  jdolecek update from HEAD
 1.30.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.30.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.31.2.1 28-Aug-2013  rmind sync with head
 1.33.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.33.2.1 05-Feb-2017  skrll Sync with HEAD
 1.34.16.3 21-Apr-2020  martin Sync with HEAD
 1.34.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.34.16.1 10-Jun-2019  christos Sync with HEAD
 1.34.14.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.34.14.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.34.14.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.39.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.42.4.1 14-Oct-2023  martin Pull up following revision(s) (requested by skrll in ticket #411):

sys/arch/evbarm/nslu2/nslu2_machdep.c: revision 1.41
sys/arch/evbarm/gumstix/gumstix_machdep.c: revision 1.75
sys/arch/evbarm/iq80321/iq80321_machdep.c: revision 1.66
sys/arch/iyonix/iyonix/iyonix_machdep.c: revision 1.34
sys/arch/zaurus/zaurus/machdep.c: revision 1.52
sys/arch/evbarm/g42xxeb/g42xxeb_machdep.c: revision 1.41
sys/arch/hpcarm/hpcarm/pxa2x0_hpc_machdep.c: revision 1.33
sys/arch/evbarm/iq80310/iq80310_machdep.c: revision 1.96
sys/arch/evbarm/adi_brh/brh_machdep.c: revision 1.53
sys/arch/arm/include/arm32/pmap.h: revision 1.177
sys/arch/evbarm/viper/viper_machdep.c: revision 1.34
sys/arch/evbarm/iyonix/iyonix_machdep.c: revision 1.5
sys/arch/evbarm/npwr_fc/npwr_fc_machdep.c: revision 1.30
sys/arch/evbarm/hdl_g/hdlg_machdep.c: revision 1.35
sys/arch/arm/arm32/pmap.c: revision 1.440
sys/arch/evbarm/lubbock/lubbock_machdep.c: revision 1.45
sys/arch/evbarm/ixdp425/ixdp425_machdep.c: revision 1.47

Fix non-DIAGNOSTIC builds
 1.8 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.7 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.6 13-Mar-2010  bsh fix changes for struct device split for Lubbock.
 1.5 29-May-2009  rjs branches: 1.5.2;
Make the following changes:

struct device * -> device_t
struct cfdata * -> cfdata_t
printf -> aprint_
device_t/softc split
 1.4 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3 23-Feb-2006  thorpej branches: 1.3.68; 1.3.70; 1.3.72;
Use device_parent().
 1.2 11-Dec-2005  christos branches: 1.2.2; 1.2.4; 1.2.6;
merge ktrace-lwp.
 1.1 09-Aug-2003  bsh branches: 1.1.4; 1.1.18;
add following drivers for Intel Lubbock.
LCD
on-board SA-1111 companion chip
PCMCIA/CF slots
 1.1.18.1 21-Jun-2006  yamt 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 09-Aug-2003  skrll file lubbock_pcic.c was added on branch ktrace-lwp on 2004-08-03 10:34:03 +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.3.72.3 11-Aug-2010  yamt sync with head.
 1.3.72.2 20-Jun-2009  yamt sync with head
 1.3.72.1 16-May-2008  yamt sync with head.
 1.3.70.1 18-May-2008  yamt sync with head.
 1.3.68.1 02-Jun-2008  mjf Sync with HEAD.
 1.5.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 17-Mar-2005  bsh Switch kernels for Lubbock and TwinTail to use pmap_devmap to map
I/O registers that are used in early start-up stage. Also stop using
special bootstrap-time-only bus_space_map function in {lubbock,g42xxeb}_machdep.c.

This makes initarm() for them a bit simpler, and gives us smaller diffs
to other evbarm platforms.
 1.2 10-Sep-2004  nathanw branches: 1.2.4; 1.2.6;
Spelling in comment.
 1.1 18-Jun-2003  bsh branches: 1.1.2;
MD part for Intel Lubbock (DBPXA250).

built-in UART and on-board ethernet are supported for now.
LCD, PCMCIA, CF, PS/2, AC97 will follow shortly.
 1.1.2.3 01-Apr-2005  skrll Sync with HEAD.
 1.1.2.2 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.1 18-Sep-2004  skrll Sync with HEAD.
 1.2.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.2.4.1 29-Apr-2005  kent sync with -current
 1.3 31-Jan-2011  matt Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.2 10-Mar-2008  rafal branches: 1.2.26; 1.2.32; 1.2.34;
Fix syntax for the BUILD_STARTUP_PAGETABLE case.
 1.1 18-Jun-2003  bsh branches: 1.1.18; 1.1.80; 1.1.100; 1.1.104;
MD part for Intel Lubbock (DBPXA250).

built-in UART and on-board ethernet are supported for now.
LCD, PCMCIA, CF, PS/2, AC97 will follow shortly.
 1.1.104.1 03-Apr-2008  mjf Sync with HEAD.
 1.1.100.1 24-Mar-2008  keiichi sync with head.
 1.1.80.1 23-Mar-2008  matt sync with HEAD
 1.1.18.1 17-Mar-2008  yamt sync with head.
 1.2.34.1 08-Feb-2011  bouyer Sync with HEAD
 1.2.32.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.26.1 05-Mar-2011  rmind sync with head
 1.3 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.2 29-May-2009  rjs Make the following changes:

struct device * -> device_t
struct cfdata * -> cfdata_t
printf -> aprint_
device_t/softc split
 1.1 18-Jun-2003  bsh branches: 1.1.108;
MD part for Intel Lubbock (DBPXA250).

built-in UART and on-board ethernet are supported for now.
LCD, PCMCIA, CF, PS/2, AC97 will follow shortly.
 1.1.108.1 20-Jun-2009  yamt sync with head
 1.13 13-Jul-2023  riastradh arm/xscale: Use sys/bitops.h fls32 - 1 instead of 31 - __builtin_clz.

Sidesteps namespace collision with `#define bits ...' in net/zlib.c.
 1.12 07-Aug-2021  thorpej branches: 1.12.6;
Merge thorpej-cfargs2.
 1.11 24-Apr-2021  thorpej branches: 1.11.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.10 01-Jul-2011  dyoung branches: 1.10.68;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.9 29-May-2009  rjs Make the following changes:

struct device * -> device_t
struct cfdata * -> cfdata_t
printf -> aprint_
device_t/softc split
 1.8 27-Apr-2008  matt Merge kernel changes in matt-armv6 to HEAD.
 1.7 08-Jan-2008  matt branches: 1.7.6; 1.7.8; 1.7.10;
As of this commit, all arm32 kernel now build.
 1.6 11-Dec-2005  christos branches: 1.6.46; 1.6.50; 1.6.56; 1.6.64;
merge ktrace-lwp.
 1.5 26-Aug-2005  drochner s/locdesc_t/int/g
 1.4 03-Jul-2005  bsh branches: 1.4.2;
make this compile again.
+ fix wrong prototype for obio_search()
+ avoid warning by const.
ANSIfy obio_search()
 1.3 30-Jun-2005  drochner adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 18-Jun-2003  bsh branches: 1.1.2;
MD part for Intel Lubbock (DBPXA250).

built-in UART and on-board ethernet are supported for now.
LCD, PCMCIA, CF, PS/2, AC97 will follow shortly.
 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.4.2.2 21-Jan-2008  yamt sync with head
 1.4.2.1 21-Jun-2006  yamt sync with head.
 1.6.64.1 08-Jan-2008  bouyer Sync with HEAD
 1.6.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.6.50.1 09-Jan-2008  matt sync with HEAD
 1.6.46.1 28-Feb-2008  rjs Sync with HEAD.
 1.7.10.2 20-Jun-2009  yamt sync with head
 1.7.10.1 16-May-2008  yamt sync with head.
 1.7.8.1 18-May-2008  yamt sync with head.
 1.7.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.10.68.5 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.10.68.4 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.10.68.3 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.10.68.2 21-Mar-2021  thorpej CFARG_IATTR usage audit:

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

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.11.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.12.6.1 09-Aug-2023  martin Pull up following revision(s) (requested by maya in ticket #316):

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

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

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

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

Include psl.h for ipl_cookie_t if __MUTEX_PRIVATE

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

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

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

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

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

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

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

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

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

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

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

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

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

ddb: Cast pointer to uintptr_t first before db_expr_t.

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

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

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

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

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

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

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

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

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

Make ipl_cookie_t visible for _KMEMUSER userland applications.

fix editor mishap in previous

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

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

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

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

fix hppa and vax builds.

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

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

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

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

re-fix hppa builds.

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

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

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

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

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

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

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

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

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

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

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

Note that fls32 is 1-based and returns 0 for x=0.
 1.17 13-Jul-2023  riastradh arm/xscale: Missed a spot with previous find_first_bit commit.
 1.16 13-Jul-2023  riastradh arm/xscale: Use sys/bitops.h fls32 - 1 instead of 31 - __builtin_clz.

Sidesteps namespace collision with `#define bits ...' in net/zlib.c.
 1.15 07-Aug-2021  thorpej branches: 1.15.6;
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 12-Nov-2012  skrll branches: 1.13.52;
C99 types
 1.12 01-Jul-2011  dyoung branches: 1.12.2; 1.12.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.11 13-Mar-2010  bsh pass correct atttach args to sacc_probe()
 1.10 29-May-2009  rjs branches: 1.10.2;
Make the following changes:

struct device * -> device_t
struct cfdata * -> cfdata_t
printf -> aprint_
device_t/softc split
 1.9 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.8 28-Apr-2008  martin branches: 1.8.8; 1.8.14;
Remove clause 3 and 4 from TNF licenses
 1.7 08-Jan-2008  matt branches: 1.7.6; 1.7.8; 1.7.10;
As of this commit, all arm32 kernel now build.
 1.6 18-Dec-2006  nonaka branches: 1.6.20; 1.6.24; 1.6.30; 1.6.36;
compile again.
 1.5 11-Dec-2005  christos branches: 1.5.20; 1.5.22;
merge ktrace-lwp.
 1.4 30-Jun-2005  drochner branches: 1.4.2;
adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes
 1.3 21-Feb-2004  bjh21 branches: 1.3.4;
Use 0 for integers, not NULL.
 1.2 12-Aug-2003  bsh use CLZ insn to find a pending interrupt.
 1.1 09-Aug-2003  bsh add following drivers for Intel Lubbock.
LCD
on-board SA-1111 companion chip
PCMCIA/CF slots
 1.3.4.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.3.4.2 03-Aug-2004  skrll Sync with HEAD
 1.3.4.1 21-Feb-2004  skrll file sacc_obio.c was added on branch ktrace-lwp on 2004-08-03 10:34:03 +0000
 1.4.2.2 21-Jan-2008  yamt sync with head
 1.4.2.1 30-Dec-2006  yamt sync with head.
 1.5.22.1 21-Dec-2006  yamt sync with head.
 1.5.20.1 12-Jan-2007  ad Sync with head.
 1.6.36.1 08-Jan-2008  bouyer Sync with HEAD
 1.6.30.1 18-Feb-2008  mjf Sync with HEAD.
 1.6.24.1 09-Jan-2008  matt sync with HEAD
 1.6.20.1 28-Feb-2008  rjs Sync with HEAD.
 1.7.10.4 11-Aug-2010  yamt sync with head.
 1.7.10.3 20-Jun-2009  yamt sync with head
 1.7.10.2 04-May-2009  yamt sync with head.
 1.7.10.1 16-May-2008  yamt sync with head.
 1.7.8.1 18-May-2008  yamt sync with head.
 1.7.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.10.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.12.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.12.2.1 16-Jan-2013  yamt sync with (a bit old) head
 1.13.52.3 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.13.52.2 21-Mar-2021  thorpej CFARG_IATTR usage audit:

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

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.14.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.15.6.1 09-Aug-2023  martin Pull up following revision(s) (requested by maya in ticket #316):

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

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

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

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

Include psl.h for ipl_cookie_t if __MUTEX_PRIVATE

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

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

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

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

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

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

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

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

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

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

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

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

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

ddb: Cast pointer to uintptr_t first before db_expr_t.

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

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

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

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

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

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

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

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

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

Make ipl_cookie_t visible for _KMEMUSER userland applications.

fix editor mishap in previous

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

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

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

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

fix hppa and vax builds.

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

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

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

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

re-fix hppa builds.

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

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

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

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

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

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

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

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

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

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

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

Note that fls32 is 1-based and returns 0 for x=0.
 1.5 16-Mar-2018  ryo use designated initializer to make adaptability and flexibility for changing struct bus_space.
no functional change.
 1.4 01-Jul-2011  dyoung branches: 1.4.52;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 18-Jun-2003  bsh branches: 1.1.2;
MD part for Intel Lubbock (DBPXA250).

built-in UART and on-board ethernet are supported for now.
LCD, PCMCIA, CF, PS/2, AC97 will follow shortly.
 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.52.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.5 12-Aug-2013  matt use RET/RETc
use unified syntax
 1.4 11-Dec-2005  christos branches: 1.4.112; 1.4.122; 1.4.128;
merge ktrace-lwp.
 1.3 21-Feb-2004  bjh21 RCSID()
 1.2 21-Feb-2004  bjh21 Ensure file ends with a newline.
 1.1 18-Jun-2003  bsh branches: 1.1.2;
MD part for Intel Lubbock (DBPXA250).

built-in UART and on-board ethernet are supported for now.
LCD, PCMCIA, CF, PS/2, AC97 will follow shortly.
 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.128.1 28-Aug-2013  rmind sync with head
 1.4.122.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.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.38 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.37 30-Aug-2021  rin Add ARMEB support to {evb,}arm/marvell.

Combined with upcoming commit to dev/marvell, all peripheral devices
seem to work just fine for KUROBOX_PRO in big-endian mode.
 1.36 16-Jul-2019  skrll Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.35 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.34 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.33 07-Jan-2017  kiyohara branches: 1.33.14; 1.33.16;
Add support Marvell Dove.
Also <SoC>_intr_bootstrap() rename to <SoC>_bootstrap(). And SoC init func, getclk into that.
 1.32 03-Jun-2015  hsuenaga branches: 1.32.2;
initialize ARMADA XP's Mbus address decoder and code clean up
probably we need more sophisticated Mbus driver or KPI...
 1.31 14-May-2015  hsuenaga add synchronization barrier for AURORA_IO_CACHE_COHERENCY.
cleanup MARVELL L2 cache code.
 1.30 30-Aug-2014  kiyohara branches: 1.30.2;
Support __HAVE_MM_MD_DIRECT_MAPPED_PHYS.
 1.29 30-Aug-2014  kiyohara Use armreg_ttbr_read() instead of __asm("mrc ...").
 1.28 15-Mar-2014  kiyohara Support Armada 370.
 1.27 29-Jan-2014  kiyohara Abolish run time configuration for mapped address of SoC by u-boot.
This had become a cause hang-ups from some models.
 1.26 23-Dec-2013  kiyohara Support to check the clock gating for Armada XP in armadaxp.c.
Also move the checking for clock gate of Kirkwood into kirkwood.c.
 1.25 23-Dec-2013  kiyohara Move Misc Registers from mvsocreg.h to armadaxpreg.h. These registers only
Armada XP. The misc_base initializes in initarm() instead of mvsoc_bootstrap().
 1.24 20-Nov-2013  kiyohara Rename marvell_system_reset_old from marvell_system_reset.
And add reset function for ArmadaXP. It named marvell_system_reset.
 1.23 20-Nov-2013  kiyohara Initialize mvTclk in SOC_getclks() before call consinit().
And more fast call set_cpufuncs().
 1.22 30-Sep-2013  kiyohara Support ARMADA XP.
 1.21 12-Dec-2012  matt branches: 1.21.2;
Change physical_end to segment_end to avoid shadowing a global.
 1.20 02-Dec-2012  msaitoh Get bootargs and parse them. This was accidentally removed in rev. 1.17.
Fixes PR#47250.
 1.19 22-Oct-2012  matt Switch to ARM_VECTORS_HIGH
 1.18 07-Sep-2012  matt branches: 1.18.2;
Increase kernel VM space.
 1.17 01-Sep-2012  matt Switch beagle and marvell to use the new boot/init code.
 1.16 23-Aug-2012  kiyohara Allocate more VM space for over 8M kernel.
 1.15 16-Aug-2012  matt Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.14 10-Aug-2012  matt Make mvsoc_bootstrap (so it can initial an early console).
 1.13 03-Aug-2012  kiyohara Remove unnecessary property 'xore-irq-begin'.
 1.12 03-Aug-2012  kiyohara Fix to assert. We call to strncpy(), if r3 of args is valid from u-boot.
 1.11 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.10 28-Jul-2012  matt Remove declartions of physmem
 1.9 18-Jul-2012  kiyohara Support 88F6282. But PEX1 not test.
 1.8 18-Jul-2012  kiyohara Set default EVBARM_BOARDTYPE is Marvell.
 1.7 31-Mar-2012  tsutsui Make this compile NMVPEX > 0 && !ORION && KIRKWOOD.
 1.6 27-Jan-2012  jakllsch branches: 1.6.2;
"if (mvTclk == 166666667) mvTclk = 166664740;" does not make sense.

It's within the margin of a 25.000MHz crystal multiplied by 20
and divided by 3, so it's moot anyway.
 1.5 30-Jun-2011  wiz branches: 1.5.2; 1.5.6;
dependant -> dependent
 1.4 01-Feb-2011  jakllsch branches: 1.4.2;
Use the command line U-Boot gave us for boothowto. From evbarm/gumstix.
 1.3 01-Feb-2011  jakllsch Address 3rd issue in PR#43990.
Different implementation but same method as suggested.
 1.2 01-Feb-2011  jakllsch ksyms_init() happens in main() now.
 1.1 03-Oct-2010  kiyohara branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Add support Marvell Sheevaplug.
Add some NAS on Marvell SoC.
 1.1.8.1 08-Feb-2011  bouyer Sync with HEAD
 1.1.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.4.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.1.4.1 03-Oct-2010  uebayasi file marvell_machdep.c was added on branch uebayasi-xip on 2010-10-22 09:23:12 +0000
 1.1.2.2 09-Oct-2010  yamt sync with head
 1.1.2.1 03-Oct-2010  yamt file marvell_machdep.c was added on branch yamt-nfs-mp on 2010-10-09 03:31:44 +0000
 1.4.2.2 05-Mar-2011  rmind sync with head
 1.4.2.1 01-Feb-2011  rmind file marvell_machdep.c was added on branch rmind-uvmplock on 2011-03-05 20:50:08 +0000
 1.5.6.2 05-Apr-2012  mrg sync to latest -current.
 1.5.6.1 18-Feb-2012  mrg merge to -current.
 1.5.2.4 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.3 16-Jan-2013  yamt sync with (a bit old) head
 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 08-Feb-2013  riz sys/arch/arm/include/arm32/pte.h 1.11
sys/arch/evbarm/marvell/marvell_machdep.c 1.19 via patch

Switch to ARM_VECTORS_HIGH for Sheeva CPU.
[msaitoh, ticket #785]
 1.6.2.1 28-Jun-2012  riz Pull up following revision(s) (requested by tsutsui in ticket #359):
sys/arch/evbarm/marvell/marvell_machdep.c: revision 1.7
Make this compile NMVPEX > 0 && !ORION && KIRKWOOD.
 1.18.2.4 03-Dec-2017  jdolecek update from HEAD
 1.18.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.18.2.2 25-Feb-2013  tls resync with head
 1.18.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.21.2.1 18-May-2014  rmind sync with head
 1.30.2.2 05-Feb-2017  skrll Sync with HEAD
 1.30.2.1 06-Jun-2015  skrll Sync with HEAD
 1.32.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.33.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.33.16.1 10-Jun-2019  christos Sync with HEAD
 1.33.14.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.33.14.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.14 20-May-2022  rin Hmm, fix typo in comments again...
 1.13 20-May-2022  rin Fix typo for the previous. No binary changes.
 1.12 20-May-2022  rin Initial support for armv5eb on Sheeva.

Disable L2 cache for Sheeva before switch to big-endian mode.

Note that we need to encode this code sequence in little endian,
as u-boot starts kernel in little-endian mode.

XXX
At the moment, this code is unconditionally enabled if CPU_SHEEVA
option is enabled; it does not work for older CPUs.

It would be better to determine CPU type automatically as done for
little-endian variant, but it is too ugly to hand-assemble for
the opposite byte-order.

It may be nice if we have tools something like:

$ nbarm-elf-bswap -s marvell_start -e Lswitch_endian_done netbsd

Tested for OPENBLOCKS_A6 (for CPU_SHEEVA), as well as KUROBOX_PRO
(for !CPU_SHEEVA).
 1.11 30-Aug-2021  rin Add ARMEB support to marvell_start.

Since u-boot is running in little-endian mode, first few instructions
(to switch byte-order) should be encoded in little-endian. After that,
nop's in little-endian should appear in order to flush prefetch buffer.
Then, CPWAIT() ensure entering in big-endian mode.
 1.10 16-Oct-2018  skrll Catch up with armadaxp_start.S:1.5... if only we had generic start code
for arm
 1.9 15-Oct-2018  skrll Only ent KERNEL_BASE_EXT when we want to change KERNEL_BASE from its
default of 0x8000_0000

Don't use KERNEL_BASE_EXT where KERNEL_BASE should be instead.

Workaround a as(1) weirdness in armadaxp_start.S
 1.8 30-Aug-2014  kiyohara branches: 1.8.18; 1.8.20;
Fix initialize PJ4B.
 1.7 30-Aug-2014  kiyohara Fix broken registers.
 1.6 14-Apr-2014  matt Add hook to set L2 cache to write-through
 1.5 29-Jan-2014  kiyohara branches: 1.5.2;
Abolish run time configuration for mapped address of SoC by u-boot.
This had become a cause hang-ups from some models.
 1.4 02-Oct-2013  kiyohara Remove undefined CPU ID. Thanks skrll@.
 1.3 30-Sep-2013  kiyohara Support ARMADAXP.
+ Add MVSOC_FIXUP_DEVID.
+ check mapped address for SoC registers.
 1.2 31-Jan-2011  matt branches: 1.2.2; 1.2.6; 1.2.16; 1.2.20;
Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.1 03-Oct-2010  kiyohara branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Add support Marvell Sheevaplug.
Add some NAS on Marvell SoC.
 1.1.8.1 08-Feb-2011  bouyer Sync with HEAD
 1.1.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.4.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.1.4.1 03-Oct-2010  uebayasi file marvell_start.S was added on branch uebayasi-xip on 2010-10-22 09:23:12 +0000
 1.1.2.2 09-Oct-2010  yamt sync with head
 1.1.2.1 03-Oct-2010  yamt file marvell_start.S was added on branch yamt-nfs-mp on 2010-10-09 03:31:45 +0000
 1.2.20.1 18-May-2014  rmind sync with head
 1.2.16.2 03-Dec-2017  jdolecek update from HEAD
 1.2.16.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.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.2.2 05-Mar-2011  rmind sync with head
 1.2.2.1 31-Jan-2011  rmind file marvell_start.S was added on branch rmind-uvmplock on 2011-03-05 20:50:08 +0000
 1.5.2.1 10-Aug-2014  tls Rebase.
 1.8.20.1 10-Jun-2019  christos Sync with HEAD
 1.8.18.1 20-Oct-2018  pgoyette Sync with head
 1.5 07-Jan-2017  kiyohara Add support Marvell Dove.
Also <SoC>_intr_bootstrap() rename to <SoC>_bootstrap(). And SoC init func, getclk into that.
 1.4 15-Mar-2014  kiyohara branches: 1.4.6; 1.4.10;
Support options MVSOC_INTERREGS_PBASE for *old* Armada {XP,370} machines.
 1.3 30-Sep-2013  kiyohara Support ARMADA XP.
 1.2 01-May-2013  rkujawa branches: 1.2.4;
Handle differences for Armada XP.

Obtained from Marvell, Semihalf.
 1.1 03-Oct-2010  kiyohara branches: 1.1.2; 1.1.4; 1.1.10; 1.1.14; 1.1.24;
Add support Marvell Sheevaplug.
Add some NAS on Marvell SoC.
 1.1.24.3 03-Dec-2017  jdolecek update from HEAD
 1.1.24.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.24.1 23-Jun-2013  tls resync from head
 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.10.2 05-Mar-2011  rmind sync with head
 1.1.10.1 03-Oct-2010  rmind file marvellreg.h was added on branch rmind-uvmplock on 2011-03-05 20:50:08 +0000
 1.1.4.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.1.4.1 03-Oct-2010  uebayasi file marvellreg.h was added on branch uebayasi-xip on 2010-10-22 09:23:12 +0000
 1.1.2.2 09-Oct-2010  yamt sync with head
 1.1.2.1 03-Oct-2010  yamt file marvellreg.h was added on branch yamt-nfs-mp on 2010-10-09 03:31:45 +0000
 1.2.4.1 18-May-2014  rmind sync with head
 1.4.10.1 20-Mar-2017  pgoyette Sync with HEAD
 1.4.6.1 05-Feb-2017  skrll Sync with HEAD
 1.4 03-May-2015  hsuenaga add new ethernet driver mvxpe for recent MARVELL's SoC after ARMADA/XP.
this driver supports 'counter mode', and is disabled by default.

ARMADA SoC family has new ethernet controller acceleration mode called
'enhanced mode' or 'counter mode.' it seems that backward compatibility mode
used by if_mvgbe is still working, but the specification of the old mode
is completely disappeared from SoC's reference manual.

I tested the driver using MIRABOX(ARMADA/370).
 1.3 18-Mar-2014  matt branches: 1.3.6;
Add _LOCORE around marvell_interregs_pbase
 1.2 30-Sep-2013  kiyohara Support ARMADA XP.
 1.1 03-Oct-2010  kiyohara branches: 1.1.2; 1.1.4; 1.1.10; 1.1.14; 1.1.24; 1.1.28;
Add support Marvell Sheevaplug.
Add some NAS on Marvell SoC.
 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.10.2 05-Mar-2011  rmind sync with head
 1.1.10.1 03-Oct-2010  rmind file marvellvar.h was added on branch rmind-uvmplock on 2011-03-05 20:50:08 +0000
 1.1.4.2 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.1.4.1 03-Oct-2010  uebayasi file marvellvar.h was added on branch uebayasi-xip on 2010-10-22 09:23:12 +0000
 1.1.2.2 09-Oct-2010  yamt sync with head
 1.1.2.1 03-Oct-2010  yamt file marvellvar.h was added on branch yamt-nfs-mp on 2010-10-09 03:31:45 +0000
 1.3.6.1 06-Jun-2015  skrll Sync with HEAD
 1.6 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.5 29-Feb-2020  isaki Remove rounding by 4 bytes on round_blocksize().
For drivers which supports only 16bit * 2channels sampling,
rounding by 4 bytes no longer meaningful.
 1.4 07-Jun-2019  isaki branches: 1.4.4;
Rename uda_ssio_getprops() -> uda_ssio_get_props() to make it easy
to search.
 1.3 08-May-2019  isaki Merge isaki-audio2 branch, the overhaul of audio subsystem.
- Interrupt-oriented system rather than thread-oriented.
- Improve stability, quality and performance.
- Split playback and record cleanly. Improve halfduplex support.
- Many bugs are fixed including deadlocks, resource leaks, abuses, etc.
- Simplify audio filter mechanism. The encoding/channels/frequency
conversions are completely handled in the upper layer. So the hard-
ware driver only converts its hardware encoding (if necessary).
- audio_hw_if changes:
- Obsoletes query_encoding and add query_format instead.
- Obsoletes set_params and add set_format instead.
- Remove drain, setfd, mappage.
- The call sequences are changed.
- ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted.
- ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced.
- cleanup config attributes: au*conv and mulaw.
- All hardware drivers should follow it (I've done as much as possible).

Some file paths are changed:
- dev/audio.c -> dev/audio/audio.c (rewritten)
- dev/audiovar.h -> dev/audio/audiovar.h
- dev/audio_dai.h -> dev/audio/audio_dai.h
- dev/audio_if.h -> dev/audio/audio_if.h
- dev/audiobell.c -> dev/audio/audiobell.c
- dev/audiobellvar.h -> dev/audio/audiobellvar.h
- dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
 1.2 16-Mar-2019  isaki branches: 1.2.2;
Use C99 style struct initializer to audio_hw_if.
 1.1 30-Jan-2012  nisimura branches: 1.1.4; 1.1.50;

Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.1.50.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.50.1 10-Jun-2019  christos Sync with HEAD
 1.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 30-Jan-2012  yamt file audio_mini2440.c was added on branch yamt-pagecache on 2012-04-17 00:06:15 +0000
 1.2.2.4 04-May-2019  isaki Move dev/audio_if.h -> dev/audio/audio_if.h
 1.2.2.3 04-May-2019  isaki Remove simple flags that indicate whether the device is opened.
These are handled in the upper layer now.
 1.2.2.2 01-May-2019  isaki set_params -> set_format in comment.
 1.2.2.1 25-Apr-2019  isaki Adapt to audio2.
- The sample rate seems to be determined by peripherals so
move uda1341_formats[] structure from ic/uda1341.c to audio_mini2440.c.
- XXX Resetting the device in open() (and close()) might be harmful
but I don't know details about what does this reset do.
 1.4.4.1 29-Feb-2020  ad Sync with head.
 1.4 04-Oct-2025  thorpej Add a shared function to query the common properties used for configuring
an Ethernet address.
 1.3 12-Nov-2012  skrll C99 types
 1.2 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.1 30-Jan-2012  nisimura branches: 1.1.4; 1.1.8;

Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.1.8.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.1.4.4 16-Jan-2013  yamt sync with (a bit old) head
 1.1.4.3 30-Oct-2012  yamt sync with head
 1.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 30-Jan-2012  yamt file if_dm_mini2440.c was added on branch yamt-pagecache on 2012-04-17 00:06:15 +0000
 1.1 30-Jan-2012  nisimura branches: 1.1.4;

Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 30-Jan-2012  yamt file mini2440_bootinfo.h was added on branch yamt-pagecache on 2012-04-17 00:06:15 +0000
 1.8 06-Mar-2024  andvar s/horizontaol/horizontal/ in comments.
 1.7 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.6 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.5 24-Apr-2021  thorpej branches: 1.5.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.4 25-Jul-2014  dholland branches: 1.4.42;
Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.
 1.3 16-Mar-2014  dholland branches: 1.3.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.2 27-Oct-2012  chs branches: 1.2.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.1 30-Jan-2012  nisimura branches: 1.1.4; 1.1.8;

Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.8.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.1.4.4 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.4.3 30-Oct-2012  yamt sync with head
 1.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 30-Jan-2012  yamt file mini2440_lcd.c was added on branch yamt-pagecache on 2012-04-17 00:06:15 +0000
 1.2.2.1 18-May-2014  rmind sync with head
 1.3.2.1 10-Aug-2014  tls Rebase.
 1.4.42.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.5.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.23 03-Oct-2025  thorpej Use device_setprop_data() to set the "mac-address" property.
 1.22 20-Feb-2024  andvar Fix format specifier for physmem from %d to 0x%"PRIxPSIZE" in multiple places.

Should fix VERBOSE_INIT_ARM for various evbarm kernel configs.
Also add 0x prefix in few previously fixed places to improve readability.
 1.21 19-Jun-2023  nisimura unbreak the previous change.
 1.20 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.19 17-Aug-2021  andvar fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.18 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.17 18-Apr-2020  skrll Trailing whitespace
 1.16 10-Nov-2019  chs branches: 1.16.6;
in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.15 16-Jul-2019  skrll Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.14 16-Jul-2019  skrll KNF
 1.13 28-Oct-2018  skrll Fix a commit
 1.12 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.11 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.10 22-Dec-2016  cherry branches: 1.10.14; 1.10.16;
switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.9 13-Sep-2014  matt branches: 1.9.2; 1.9.4;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.8 14-Mar-2014  matt #include <arm/locore.h>
 1.7 30-Oct-2013  uebayasi G/C struct user *proc0paddr.
 1.6 22-Sep-2012  matt branches: 1.6.2;
Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.5 16-Aug-2012  matt branches: 1.5.2;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.4 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.3 28-Jul-2012  matt Remove declartions of physmem
 1.2 03-Feb-2012  nisimura branches: 1.2.4;

Make sure to allow MEMORY_DISK as rootfs.
 1.1 30-Jan-2012  nisimura Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.2.4.4 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.4.3 30-Oct-2012  yamt sync with head
 1.2.4.2 17-Apr-2012  yamt sync with head
 1.2.4.1 03-Feb-2012  yamt file mini2440_machdep.c was added on branch yamt-pagecache on 2012-04-17 00:06:15 +0000
 1.5.2.3 03-Dec-2017  jdolecek update from HEAD
 1.5.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.6.2.1 18-May-2014  rmind sync with head
 1.9.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.9.2.1 05-Feb-2017  skrll Sync with HEAD
 1.10.16.3 21-Apr-2020  martin Sync with HEAD
 1.10.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.10.16.1 10-Jun-2019  christos Sync with HEAD
 1.10.14.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.10.14.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.10.14.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.16.6.1 20-Apr-2020  bouyer Sync with HEAD
 1.2 13-Jun-2022  andvar s/caled/called/ in comments and man page, also few more fixes.
 1.1 30-Jan-2012  nisimura branches: 1.1.4;

Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 30-Jan-2012  yamt file mini2440_start.S was added on branch yamt-pagecache on 2012-04-17 00:06:15 +0000
 1.6 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.5 18-Apr-2020  skrll Trailing whitespace
 1.4 16-Jul-2019  skrll branches: 1.4.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.3 15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.2 16-Aug-2012  matt branches: 1.2.38; 1.2.40;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.1 04-Nov-2011  aymeric branches: 1.1.2;
preliminary support for the Propox MMnet1002 board
http://www.propox.com/products/t_232.html
 1.1.2.3 30-Oct-2012  yamt sync with head
 1.1.2.2 10-Nov-2011  yamt sync with head
 1.1.2.1 04-Nov-2011  yamt file mmnet_machdep.c was added on branch yamt-pagecache on 2011-11-10 14:31:40 +0000
 1.2.40.3 21-Apr-2020  martin Sync with HEAD
 1.2.40.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.40.1 10-Jun-2019  christos Sync with HEAD
 1.2.38.1 28-Jul-2018  pgoyette Sync with HEAD
 1.4.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.1 04-Nov-2011  aymeric branches: 1.1.2;
preliminary support for the Propox MMnet1002 board
http://www.propox.com/products/t_232.html
 1.1.2.2 10-Nov-2011  yamt sync with head
 1.1.2.1 04-Nov-2011  yamt file mmnet_start.S was added on branch yamt-pagecache on 2011-11-10 14:31:40 +0000
 1.3 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.2 03-Jul-2008  matt branches: 1.2.4; 1.2.32; 1.2.42;
Add AT91 support. (XXX need to finish timecounter support).
 1.1 10-Nov-2007  matt branches: 1.1.2; 1.1.16; 1.1.20; 1.1.22;
file mpcsa_cf.c was initially added on branch matt-nb4-arm.
 1.1.22.1 03-Jul-2008  simonb Sync with head.
 1.1.20.1 04-May-2009  yamt sync with head.
 1.1.16.1 28-Sep-2008  mjf Sync with HEAD.
 1.1.2.1 10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.2.42.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.2.32.1 30-Oct-2012  yamt sync with head
 1.2.4.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.2.4.1 03-Jul-2008  wrstuden file mpcsa_cf.c was added on branch wrstuden-revivesa on 2008-09-18 04:33:24 +0000
 1.2 03-Jul-2008  matt branches: 1.2.4;
Add AT91 support. (XXX need to finish timecounter support).
 1.1 10-Nov-2007  matt branches: 1.1.2; 1.1.16; 1.1.20; 1.1.22;
file mpcsa_io.h was initially added on branch matt-nb4-arm.
 1.1.22.1 03-Jul-2008  simonb Sync with head.
 1.1.20.1 04-May-2009  yamt sync with head.
 1.1.16.1 28-Sep-2008  mjf Sync with HEAD.
 1.1.2.1 10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.2.4.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.2.4.1 03-Jul-2008  wrstuden file mpcsa_io.h was added on branch wrstuden-revivesa on 2008-09-18 04:33:24 +0000
 1.10 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.9 19-Jan-2022  thorpej Pass the device_t into spi_configure(), and make the API contract that
spi_configure() will print errors if they occur; the driver is off the
hook.
 1.8 19-Jan-2022  thorpej Probe / match routines should not have side-effects: do the spi_configure()
calls in the attach routines.
 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 12-Nov-2012  skrll branches: 1.5.52;
C99 types
 1.4 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.3 19-Jun-2010  matt branches: 1.3.8; 1.3.18;
Misc fixes to get this to compile again.
 1.2 03-Jul-2008  matt branches: 1.2.4; 1.2.18; 1.2.20;
Add AT91 support. (XXX need to finish timecounter support).
 1.1 10-Nov-2007  matt branches: 1.1.2; 1.1.16; 1.1.20; 1.1.22;
file mpcsa_leds.c was initially added on branch matt-nb4-arm.
 1.1.22.1 03-Jul-2008  simonb Sync with head.
 1.1.20.2 11-Aug-2010  yamt sync with head.
 1.1.20.1 04-May-2009  yamt sync with head.
 1.1.16.1 28-Sep-2008  mjf Sync with HEAD.
 1.1.2.1 10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.2.20.1 03-Jul-2010  rmind sync with head
 1.2.18.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.2.4.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.2.4.1 03-Jul-2008  wrstuden file mpcsa_leds.c was added on branch wrstuden-revivesa on 2008-09-18 04:33:24 +0000
 1.3.18.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.3.8.2 16-Jan-2013  yamt sync with (a bit old) head
 1.3.8.1 30-Oct-2012  yamt sync with head
 1.5.52.1 23-Mar-2021  thorpej Convert config_found_ia() call sites where the device only carries
a single interface attribute to bare config_found() calls.
 1.6.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.2 03-Jul-2008  matt branches: 1.2.4;
Add AT91 support. (XXX need to finish timecounter support).
 1.1 10-Nov-2007  matt branches: 1.1.2; 1.1.16; 1.1.20; 1.1.22;
file mpcsa_leds_var.h was initially added on branch matt-nb4-arm.
 1.1.22.1 03-Jul-2008  simonb Sync with head.
 1.1.20.1 04-May-2009  yamt sync with head.
 1.1.16.1 28-Sep-2008  mjf Sync with HEAD.
 1.1.2.1 10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.2.4.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.2.4.1 03-Jul-2008  wrstuden file mpcsa_leds_var.h was added on branch wrstuden-revivesa on 2008-09-18 04:33:24 +0000
 1.14 03-Oct-2025  thorpej Use device_setprop_data() to set the "mac-address" property.
 1.13 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.12 18-Apr-2020  skrll Trailing whitespace
 1.11 16-Jul-2019  skrll branches: 1.11.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.10 15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.9 18-Aug-2013  matt branches: 1.9.28; 1.9.30;
<arm/locore.h> fallout (fixes some include ordering errors)
 1.8 27-Oct-2012  chs branches: 1.8.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.7 16-Aug-2012  matt branches: 1.7.2;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.6 01-Jul-2011  dyoung branches: 1.6.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.5 30-Jun-2011  wiz dependant -> dependent
 1.4 22-Jan-2010  martin Unify the name of the device property to hold a MAC address - there was
no clear majority for either "mac-addr" vs. "mac-address", but a quick
gallup poll among developers selected the latter.
 1.3 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.2 03-Jul-2008  matt branches: 1.2.2; 1.2.4; 1.2.6;
Add AT91 support. (XXX need to finish timecounter support).
 1.1 10-Nov-2007  matt branches: 1.1.2; 1.1.16; 1.1.20; 1.1.22;
file mpcsa_machdep.c was initially added on branch matt-nb4-arm.
 1.1.22.1 03-Jul-2008  simonb Sync with head.
 1.1.20.2 11-Mar-2010  yamt sync with head
 1.1.20.1 04-May-2009  yamt sync with head.
 1.1.16.2 17-Jan-2009  mjf Sync with HEAD.
 1.1.16.1 28-Sep-2008  mjf Sync with HEAD.
 1.1.2.1 10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.2.6.1 19-Jan-2009  skrll Sync with HEAD.
 1.2.4.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.2.4.1 03-Jul-2008  wrstuden file mpcsa_machdep.c was added on branch wrstuden-revivesa on 2008-09-18 04:33:24 +0000
 1.2.2.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.6.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.6.2.1 30-Oct-2012  yamt sync with head
 1.7.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.8.2.1 28-Aug-2013  rmind sync with head
 1.9.30.3 21-Apr-2020  martin Sync with HEAD
 1.9.30.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.9.30.1 10-Jun-2019  christos Sync with HEAD
 1.9.28.1 28-Jul-2018  pgoyette Sync with HEAD
 1.11.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.3 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.2 03-Jul-2008  matt branches: 1.2.4; 1.2.32; 1.2.42;
Add AT91 support. (XXX need to finish timecounter support).
 1.1 10-Nov-2007  matt branches: 1.1.2; 1.1.16; 1.1.20; 1.1.22;
file mpcsa_spi.c was initially added on branch matt-nb4-arm.
 1.1.22.1 03-Jul-2008  simonb Sync with head.
 1.1.20.1 04-May-2009  yamt sync with head.
 1.1.16.1 28-Sep-2008  mjf Sync with HEAD.
 1.1.2.1 10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.2.42.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.2.32.1 30-Oct-2012  yamt sync with head
 1.2.4.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.2.4.1 03-Jul-2008  wrstuden file mpcsa_spi.c was added on branch wrstuden-revivesa on 2008-09-18 04:33:24 +0000
 1.3 31-Jan-2011  matt Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.2 03-Jul-2008  matt branches: 1.2.4; 1.2.20; 1.2.26; 1.2.28;
Add AT91 support. (XXX need to finish timecounter support).
 1.1 10-Nov-2007  matt branches: 1.1.2; 1.1.16; 1.1.20; 1.1.22;
file mpcsa_start.S was initially added on branch matt-nb4-arm.
 1.1.22.1 03-Jul-2008  simonb Sync with head.
 1.1.20.1 04-May-2009  yamt sync with head.
 1.1.16.1 28-Sep-2008  mjf Sync with HEAD.
 1.1.2.1 10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.2.28.1 08-Feb-2011  bouyer Sync with HEAD
 1.2.26.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.20.1 05-Mar-2011  rmind sync with head
 1.2.4.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.2.4.1 03-Jul-2008  wrstuden file mpcsa_start.S was added on branch wrstuden-revivesa on 2008-09-18 04:33:24 +0000
 1.4 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.3 13-May-2011  rmind branches: 1.3.4; 1.3.14;
Replace some ltsleep() uses with kpause() and tsleep().
 1.2 03-Jul-2008  matt branches: 1.2.4; 1.2.20; 1.2.26;
Add AT91 support. (XXX need to finish timecounter support).
 1.1 10-Nov-2007  matt branches: 1.1.2; 1.1.16; 1.1.20; 1.1.22;
file mpcsa_usart.c was initially added on branch matt-nb4-arm.
 1.1.22.1 03-Jul-2008  simonb Sync with head.
 1.1.20.1 04-May-2009  yamt sync with head.
 1.1.16.1 28-Sep-2008  mjf Sync with HEAD.
 1.1.2.1 10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.2.26.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.20.1 31-May-2011  rmind sync with head
 1.2.4.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.2.4.1 03-Jul-2008  wrstuden file mpcsa_usart.c was added on branch wrstuden-revivesa on 2008-09-18 04:33:24 +0000
 1.3.14.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.3.4.1 30-Oct-2012  yamt sync with head
 1.2 06-May-2014  hkenken branches: 1.2.2; 1.2.4; 1.2.6; 1.2.10;
Imported pwrbtn and lidsw drivers for NetWalker. Those attached to GPIO bus.
+ power button
+ lid close switch
 1.1 09-Apr-2014  hkenken NetWalker kernels boot again.
* Enable __HAVE_MM_MD_DIRECT_MAPPED_PHYS
* Change VM layout
* Use common start-up routine
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 06-May-2014  tls file netwalker.h was added on branch tls-maxphys on 2014-08-20 00:02:55 +0000
 1.2.6.2 10-Aug-2014  tls Rebase.
 1.2.6.1 06-May-2014  tls file netwalker.h was added on branch tls-earlyentropy on 2014-08-10 06:53:56 +0000
 1.2.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.4.1 06-May-2014  yamt file netwalker.h was added on branch yamt-pagecache on 2014-05-22 11:39:42 +0000
 1.2.2.2 18-May-2014  rmind sync with head
 1.2.2.1 06-May-2014  rmind file netwalker.h was added on branch rmind-smpnet on 2014-05-18 17:45:05 +0000
 1.3 20-May-2020  hkenken Use kernel API of PWM subsystems for i.MX PWM driver.
 1.2 21-Dec-2015  hkenken Rewritten to take advantage of genfb(4).
 1.1 06-May-2014  hkenken branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10; 1.1.12;
Add support for LCD Backlight control on NetWalker.
+ use imxpwm driver (PWM control driver for i.MX)
 1.1.12.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 06-May-2014  tls file netwalker_backlight.c was added on branch tls-maxphys on 2014-08-20 00:02:55 +0000
 1.1.6.2 10-Aug-2014  tls Rebase.
 1.1.6.1 06-May-2014  tls file netwalker_backlight.c was added on branch tls-earlyentropy on 2014-08-10 06:53:56 +0000
 1.1.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 06-May-2014  yamt file netwalker_backlight.c was added on branch yamt-pagecache on 2014-05-22 11:39:42 +0000
 1.1.2.2 18-May-2014  rmind sync with head
 1.1.2.1 06-May-2014  rmind file netwalker_backlight.c was added on branch rmind-smpnet on 2014-05-18 17:45:05 +0000
 1.2 21-Dec-2015  hkenken Rewritten to take advantage of genfb(4).
 1.1 06-May-2014  hkenken branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10; 1.1.12;
Add support for LCD Backlight control on NetWalker.
+ use imxpwm driver (PWM control driver for i.MX)
 1.1.12.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 06-May-2014  tls file netwalker_backlightvar.h was added on branch tls-maxphys on 2014-08-20 00:02:55 +0000
 1.1.6.2 10-Aug-2014  tls Rebase.
 1.1.6.1 06-May-2014  tls file netwalker_backlightvar.h was added on branch tls-earlyentropy on 2014-08-10 06:53:56 +0000
 1.1.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 06-May-2014  yamt file netwalker_backlightvar.h was added on branch yamt-pagecache on 2014-05-22 11:39:42 +0000
 1.1.2.2 18-May-2014  rmind sync with head
 1.1.2.1 06-May-2014  rmind file netwalker_backlightvar.h was added on branch rmind-smpnet on 2014-05-18 17:45:05 +0000
 1.4 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.3 24-Apr-2021  thorpej branches: 1.3.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.2 06-May-2014  hkenken branches: 1.2.2; 1.2.4; 1.2.8; 1.2.48;
Imported pwrbtn and lidsw drivers for NetWalker. Those attached to GPIO bus.
+ power button
+ lid close switch
 1.1 29-Mar-2014  hkenken branches: 1.1.2;
Add optical joystick support for NetWalker.
+ OJ6SH-T25 (Sharp "Optical TOUCH CRUISER" sensor)
+ 2 Mouse buttons (GPIO)
 1.1.2.1 10-Aug-2014  tls Rebase.
 1.2.48.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.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.8.1 06-May-2014  tls file netwalker_btn.c was added on branch tls-maxphys on 2014-08-20 00:02:55 +0000
 1.2.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.4.1 06-May-2014  yamt file netwalker_btn.c was added on branch yamt-pagecache on 2014-05-22 11:39:42 +0000
 1.2.2.2 18-May-2014  rmind sync with head
 1.2.2.1 06-May-2014  rmind file netwalker_btn.c was added on branch rmind-smpnet on 2014-05-18 17:45:05 +0000
 1.3.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.7 15-Jan-2020  skrll Fix build
 1.6 24-Jul-2019  hkenken branches: 1.6.4;
Modified i.MX GPIO control module and PCIe module.

+ Add imxpcie.c
imx PCIe common driver
 1.5 21-Dec-2015  hkenken branches: 1.5.18;
Rewritten to take advantage of genfb(4).
 1.4 25-Jul-2014  dholland branches: 1.4.4;
Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.
 1.3 06-May-2014  hkenken Add support for LCD Backlight control on NetWalker.
+ use imxpwm driver (PWM control driver for i.MX)
 1.2 16-Mar-2014  dholland branches: 1.2.2;
Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
 1.1 17-Apr-2012  bsh branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Support i.MX51's LCD framebuffer on Netwalker.
from Kenichi Hashimoto.
 1.1.8.1 18-May-2014  rmind sync with head
 1.1.6.2 03-Dec-2017  jdolecek update from HEAD
 1.1.6.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.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.1.4.2 23-May-2012  yamt sync with head.
 1.1.4.1 17-Apr-2012  yamt file netwalker_lcd.c was added on branch yamt-pagecache on 2012-05-23 10:07:42 +0000
 1.1.2.2 29-Apr-2012  mrg sync to latest -current.
 1.1.2.1 17-Apr-2012  mrg file netwalker_lcd.c was added on branch jmcneill-usbmp on 2012-04-29 23:04:39 +0000
 1.2.2.1 10-Aug-2014  tls Rebase.
 1.4.4.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.5.18.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.6.4.1 17-Jan-2020  ad Sync with head.
 1.1 06-May-2014  hkenken branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10;
Imported pwrbtn and lidsw drivers for NetWalker. Those attached to GPIO bus.
+ power button
+ lid close switch
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 06-May-2014  tls file netwalker_lid.c was added on branch tls-maxphys on 2014-08-20 00:02:55 +0000
 1.1.6.2 10-Aug-2014  tls Rebase.
 1.1.6.1 06-May-2014  tls file netwalker_lid.c was added on branch tls-earlyentropy on 2014-08-10 06:53:56 +0000
 1.1.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 06-May-2014  yamt file netwalker_lid.c was added on branch yamt-pagecache on 2014-05-22 11:39:42 +0000
 1.1.2.2 18-May-2014  rmind sync with head
 1.1.2.1 06-May-2014  rmind file netwalker_lid.c was added on branch rmind-smpnet on 2014-05-18 17:45:05 +0000
 1.29 04-Oct-2025  thorpej Use device_{get,set}prop_bool() for "is_console".
 1.28 02-Jun-2024  andvar Fix various typos, mainly triple letters.
 1.27 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.26 24-Jul-2019  hkenken Modified i.MX GPIO control module and PCIe module.

+ Add imxpcie.c
imx PCIe common driver
 1.25 16-Jul-2019  skrll Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.24 13-Jun-2019  hkenken Use armv6_start.S
 1.23 21-Jan-2019  skrll Remove redundant pmap_devmap_register(netwalker_devmap) call
 1.22 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.21 08-Sep-2017  hkenken branches: 1.21.2; 1.21.4;
- Move CFATTACH_DECL_NEW() from common uart driver.
- Rename : imxuart_cons_attach() -> imxuart_cnattach()
 1.20 07-Aug-2017  hkenken Clean up IOPORT settings.
 1.19 21-Dec-2015  hkenken Rewritten to take advantage of genfb(4).
 1.18 07-May-2015  hkenken use armv7_generic_space
 1.17 25-Jul-2014  hkenken branches: 1.17.4;
fix compile error.
 1.16 06-May-2014  hkenken Add support for LCD Backlight control on NetWalker.
+ use imxpwm driver (PWM control driver for i.MX)
 1.15 09-Apr-2014  hkenken NetWalker kernels boot again.
* Enable __HAVE_MM_MD_DIRECT_MAPPED_PHYS
* Change VM layout
* Use common start-up routine
 1.14 29-Mar-2014  hkenken branches: 1.14.2;
Add optical joystick support for NetWalker.
+ OJ6SH-T25 (Sharp "Optical TOUCH CRUISER" sensor)
+ 2 Mouse buttons (GPIO)
 1.13 24-Jan-2014  hkenken use initarm_common()
 1.12 23-Jan-2014  hkenken use ukbd_cnattach()
 1.11 18-Aug-2013  matt <arm/locore.h> fallout (fixes some include ordering errors)
 1.10 22-Sep-2012  matt branches: 1.10.2;
Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.9 29-Aug-2012  matt branches: 1.9.2;
Since the PMC cycle counter is started in cpufunc no reason to do so here.
Use curcpu()->ci_data.cpu_cc_freq and new armreg* inlines.
 1.8 16-Aug-2012  matt Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.7 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.6 15-Apr-2012  bsh set same values to IOMUX registers as the linux kernel does.
make it a bit simpler. (we can treat MUX and PAD registers in the same
way here)
 1.5 01-Jul-2011  dyoung branches: 1.5.2; 1.5.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.4 30-Jun-2011  wiz dependant -> dependent
 1.3 09-Dec-2010  bsh branches: 1.3.6;
adapt to changes in imx51reg.h
CVS: ----------------------------------------------------------------------
CVS: CVSROOT cvs.NetBSD.org:/cvsroot
CVS: please use "PR category/123" to have the commitmsg appended to PR 123
CVS:
CVS: Please evaluate your changes and consider the following.
CVS: Abort checkin if you answer no.
CVS: => For all changes:
CVS: Do the changed files compile?
CVS: Has the change been tested?
CVS: => If you are not completely familiar with the changed components:
CVS: Has the change been posted for review?
CVS: Have you allowed enough time for feedback?
CVS: => If the change is major:
CVS: => If the change adds files to, or removes files from $DESTDIR:
CVS: => If you are changing a library or kernel interface:
CVS: Have you successfully run "./build.sh release"?
 1.2 28-Nov-2010  hannken As md(4) no longer has "needs-count" there is no "md.h" anymore.
Remove the inclusion of this file.

Acorn32 now always builds load_memory_disc_from_floppy(). This should
not be a problem as all configs have md(4).

Observed by: Masao Uebayashi <uebayasi@netbsd.org>
 1.1 13-Nov-2010  bsh branches: 1.1.2;
Sharp NetWalker PC-Z1 support by SHIMIZU Ryo, Hashimoto Kenichi, and me.
http://www.sharp.co.jp/netwalker/
 1.1.2.2 15-Nov-2010  uebayasi Sync with HEAD.
 1.1.2.1 13-Nov-2010  uebayasi file netwalker_machdep.c was added on branch uebayasi-xip on 2010-11-15 14:38:23 +0000
 1.3.6.2 05-Mar-2011  rmind sync with head
 1.3.6.1 09-Dec-2010  rmind file netwalker_machdep.c was added on branch rmind-uvmplock on 2011-03-05 20:50:08 +0000
 1.5.6.1 29-Apr-2012  mrg sync to latest -current.
 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.9.2.3 03-Dec-2017  jdolecek update from HEAD
 1.9.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.10.2.2 18-May-2014  rmind sync with head
 1.10.2.1 28-Aug-2013  rmind sync with head
 1.14.2.1 10-Aug-2014  tls Rebase.
 1.17.4.3 28-Aug-2017  skrll Sync with HEAD
 1.17.4.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.17.4.1 06-Jun-2015  skrll Sync with HEAD
 1.21.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.21.4.1 10-Jun-2019  christos Sync with HEAD
 1.21.2.2 26-Jan-2019  pgoyette Sync with HEAD
 1.21.2.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.1 06-May-2014  hkenken branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10;
Imported pwrbtn and lidsw drivers for NetWalker. Those attached to GPIO bus.
+ power button
+ lid close switch
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 06-May-2014  tls file netwalker_pwr.c was added on branch tls-maxphys on 2014-08-20 00:02:55 +0000
 1.1.6.2 10-Aug-2014  tls Rebase.
 1.1.6.1 06-May-2014  tls file netwalker_pwr.c was added on branch tls-earlyentropy on 2014-08-10 06:53:56 +0000
 1.1.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 06-May-2014  yamt file netwalker_pwr.c was added on branch yamt-pagecache on 2014-05-22 11:39:42 +0000
 1.1.2.2 18-May-2014  rmind sync with head
 1.1.2.1 06-May-2014  rmind file netwalker_pwr.c was added on branch rmind-smpnet on 2014-05-18 17:45:05 +0000
 1.1 13-Nov-2010  bsh branches: 1.1.2; 1.1.8;
Sharp NetWalker PC-Z1 support by SHIMIZU Ryo, Hashimoto Kenichi, and me.
http://www.sharp.co.jp/netwalker/
 1.1.8.2 05-Mar-2011  rmind sync with head
 1.1.8.1 13-Nov-2010  rmind file netwalker_reg.h was added on branch rmind-uvmplock on 2011-03-05 20:50:08 +0000
 1.1.2.2 15-Nov-2010  uebayasi Sync with HEAD.
 1.1.2.1 13-Nov-2010  uebayasi file netwalker_reg.h was added on branch uebayasi-xip on 2010-11-15 14:38:23 +0000
 1.4 15-Jan-2020  skrll Fix build
 1.3 19-Aug-2019  hkenken branches: 1.3.2;
Add support SPI driver for i.MX6.
 1.2 24-Jul-2019  hkenken Modified i.MX GPIO control module and PCIe module.

+ Add imxpcie.c
imx PCIe common driver
 1.1 29-Mar-2014  hkenken branches: 1.1.4; 1.1.6; 1.1.10; 1.1.36;
Add optical joystick support for NetWalker.
+ OJ6SH-T25 (Sharp "Optical TOUCH CRUISER" sensor)
+ 2 Mouse buttons (GPIO)
 1.1.36.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 29-Mar-2014  tls file netwalker_spi.c was added on branch tls-maxphys on 2014-08-20 00:02:55 +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 29-Mar-2014  yamt file netwalker_spi.c was added on branch yamt-pagecache on 2014-05-22 11:39:42 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 29-Mar-2014  rmind file netwalker_spi.c was added on branch rmind-smpnet on 2014-05-18 17:45:05 +0000
 1.3.2.1 17-Jan-2020  ad Sync with head.
 1.7 13-Jun-2019  hkenken Use armv6_start.S
 1.6 18-May-2019  skrll Convert remaining armv7 kernels to generic start and remove a bunch of
code including a9_mpsubr.S.

Thanks to Lwazi Dube for testing PANDABOARD and BEAGLEBONE.
 1.5 06-May-2014  hkenken branches: 1.5.28;
Add support for LCD Backlight control on NetWalker.
+ use imxpwm driver (PWM control driver for i.MX)
 1.4 09-Apr-2014  hkenken delete trailing whitespace
 1.3 09-Apr-2014  hkenken NetWalker kernels boot again.
* Enable __HAVE_MM_MD_DIRECT_MAPPED_PHYS
* Change VM layout
* Use common start-up routine
 1.2 31-Jan-2011  matt branches: 1.2.2; 1.2.6; 1.2.16; 1.2.20; 1.2.30;
Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.1 13-Nov-2010  bsh branches: 1.1.2; 1.1.4; 1.1.6;
Sharp NetWalker PC-Z1 support by SHIMIZU Ryo, Hashimoto Kenichi, and me.
http://www.sharp.co.jp/netwalker/
 1.1.6.1 08-Feb-2011  bouyer Sync with HEAD
 1.1.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.2.2 15-Nov-2010  uebayasi Sync with HEAD.
 1.1.2.1 13-Nov-2010  uebayasi file netwalker_start.S was added on branch uebayasi-xip on 2010-11-15 14:38:23 +0000
 1.2.30.1 10-Aug-2014  tls Rebase.
 1.2.20.1 18-May-2014  rmind sync with head
 1.2.16.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.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.2.2 05-Mar-2011  rmind sync with head
 1.2.2.1 31-Jan-2011  rmind file netwalker_start.S was added on branch rmind-uvmplock on 2011-03-05 20:50:08 +0000
 1.5.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.5.28.1 10-Jun-2019  christos Sync with HEAD
 1.9 22-Feb-2024  andvar sc_init_md_hook expects two params since interface change in imxusbvar.h rev 1.7
thus adjust kobo_usb_init() and netwalker_usb_init() functions accordingly.

Fixes build for KOBO and NETWALKER(_MD) kernel configs.
Needs pullup to netbsd-10.
 1.8 15-Jan-2020  skrll branches: 1.8.24;
Fix build
 1.7 05-Aug-2019  hkenken branches: 1.7.2;
Remove debug print message.
 1.6 24-Jul-2019  hkenken Modified i.MX GPIO control module and PCIe module.

+ Add imxpcie.c
imx PCIe common driver
 1.5 24-Jul-2019  hkenken i.MX USB host code re-arrangement.
 1.4 22-Sep-2017  khorben branches: 1.4.4;
Typo
 1.3 15-Apr-2012  bsh branches: 1.3.2;
initialize one more pin for USB Host1.
 1.2 15-Apr-2012  bsh delete many definitions like MUX_PIN_foo.
use MUX_PIN(foo) instead.
 1.1 09-Dec-2010  bsh branches: 1.1.6; 1.1.10; 1.1.14;
support USB on NetWalker
 1.1.14.1 29-Apr-2012  mrg sync to latest -current.
 1.1.10.1 17-Apr-2012  yamt sync with head
 1.1.6.2 05-Mar-2011  rmind sync with head
 1.1.6.1 09-Dec-2010  rmind file netwalker_usb.c was added on branch rmind-uvmplock on 2011-03-05 20:50:08 +0000
 1.3.2.1 03-Dec-2017  jdolecek update from HEAD
 1.4.4.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.7.2.1 17-Jan-2020  ad Sync with head.
 1.8.24.1 24-Feb-2024  martin Pull up following revision(s) (requested by andvar in ticket #609):

sys/arch/evbarm/netwalker/netwalker_usb.c: revision 1.9
sys/arch/evbarm/kobo/kobo_usb.c: revision 1.4

sc_init_md_hook expects two params since interface change in imxusbvar.h rev 1.7
thus adjust kobo_usb_init() and netwalker_usb_init() functions accordingly.

Fixes build for KOBO and NETWALKER(_MD) kernel configs.
 1.6 08-Dec-2018  thorpej Clean up initialization of com_regs structure, in preparation for
some additional changers.
 1.5 01-Jul-2011  dyoung branches: 1.5.52; 1.5.54;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.4 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3 14-Mar-2008  cube branches: 1.3.2; 1.3.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.2 13-Jul-2006  gdamore branches: 1.2.34; 1.2.54; 1.2.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.1 22-Dec-2005  briggs branches: 1.1.4; 1.1.8; 1.1.16; 1.1.18;
Add files that have been sitting in my local source tree for almost exactly
two years. Unable to test since I no longer have access to the hardware.
 1.1.18.4 17-Mar-2008  yamt sync with head.
 1.1.18.3 30-Dec-2006  yamt sync with head.
 1.1.18.2 21-Jun-2006  yamt sync with head.
 1.1.18.1 22-Dec-2005  yamt file com_obio.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:54 +0000
 1.1.16.1 20-Jun-2006  gdamore Add support for pretty much all ARM com(4) variants. There are a few ARM
serial devices that are not com(4)-like enough to be supported under com(4).
 1.1.8.1 11-Aug-2006  yamt sync with head
 1.1.4.1 09-Sep-2006  rpaulo sync with head
 1.2.58.2 02-Jun-2008  mjf Sync with HEAD.
 1.2.58.1 03-Apr-2008  mjf Sync with HEAD.
 1.2.54.1 24-Mar-2008  keiichi sync with head.
 1.2.34.1 23-Mar-2008  matt sync with HEAD
 1.3.4.1 16-May-2008  yamt sync with head.
 1.3.2.1 18-May-2008  yamt sync with head.
 1.5.54.1 10-Jun-2019  christos Sync with HEAD
 1.5.52.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.33 13-May-2024  msaitoh s/slighly/slightly/ in comment.
 1.32 20-Feb-2024  andvar Fix format specifier for physmem from %d to 0x%"PRIxPSIZE" in multiple places.

Should fix VERBOSE_INIT_ARM for various evbarm kernel configs.
Also add 0x prefix in few previously fixed places to improve readability.
 1.31 09-Feb-2024  andvar fix spelling mistakes, mainly in comments and log messages.
 1.30 12-Oct-2023  skrll Fix non-DIAGNOSTIC builds
 1.29 17-Aug-2021  andvar branches: 1.29.4;
fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.28 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.27 18-Apr-2020  skrll Trailing whitespace
 1.26 16-Jul-2019  skrll branches: 1.26.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.25 16-Jul-2019  skrll KNF
 1.24 28-Oct-2018  skrll Fix a commit
 1.23 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.22 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.21 22-Dec-2016  cherry branches: 1.21.14; 1.21.16;
switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.20 13-Sep-2014  matt branches: 1.20.2; 1.20.4;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.19 22-Sep-2012  matt Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.18 16-Aug-2012  matt branches: 1.18.2;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.17 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.16 01-Jul-2011  dyoung branches: 1.16.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.15 30-Jun-2011  wiz dependant -> dependent
 1.14 26-Dec-2009  uebayasi Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.13 26-Dec-2009  uebayasi Garbage collect an unused global, vm_offset_t pagetables_start.
 1.12 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.11 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.10 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 1.9 30-Nov-2008  martin As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.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 27-Apr-2008  matt branches: 1.6.6; 1.6.8;
Merge kernel changes in matt-armv6 to HEAD.
 1.5 19-Jan-2008  chris branches: 1.5.6; 1.5.8; 1.5.10;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.4 24-Nov-2006  wiz branches: 1.4.24; 1.4.28; 1.4.34; 1.4.42;
s/independant/independent/, from Zafer.
 1.3 17-May-2006  mrg branches: 1.3.6; 1.3.10; 1.3.12;
in initarm(), initialise kernel_l1pt.pv_va as well as kernel_l1pt.pv_pa.
 1.2 24-Dec-2005  perry branches: 1.2.4; 1.2.6; 1.2.8; 1.2.12;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.1 22-Dec-2005  briggs Add files that have been sitting in my local source tree for almost exactly
two years. Unable to test since I no longer have access to the hardware.
 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.12.1 10-Dec-2006  yamt sync with head.
 1.3.10.1 12-Jan-2007  ad Sync with head.
 1.3.6.4 21-Jan-2008  yamt sync with head
 1.3.6.3 30-Dec-2006  yamt sync with head.
 1.3.6.2 21-Jun-2006  yamt sync with head.
 1.3.6.1 17-May-2006  yamt file npwr_fc_machdep.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:54 +0000
 1.4.42.1 20-Jan-2008  bouyer Sync with HEAD
 1.4.34.1 18-Feb-2008  mjf Sync with HEAD.
 1.4.28.2 23-Mar-2008  matt sync with HEAD
 1.4.28.1 09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.4.24.1 28-Feb-2008  rjs Sync with HEAD.
 1.5.10.4 11-Mar-2010  yamt sync with head
 1.5.10.3 19-Aug-2009  yamt sync with head.
 1.5.10.2 04-May-2009  yamt sync with head.
 1.5.10.1 16-May-2008  yamt sync with head.
 1.5.8.1 18-May-2008  yamt sync with head.
 1.5.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.5.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.6.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.6.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.16.2.1 30-Oct-2012  yamt sync with head
 1.18.2.2 03-Dec-2017  jdolecek update from HEAD
 1.18.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.20.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.20.2.1 05-Feb-2017  skrll Sync with HEAD
 1.21.16.3 21-Apr-2020  martin Sync with HEAD
 1.21.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.21.16.1 10-Jun-2019  christos Sync with HEAD
 1.21.14.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.21.14.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.21.14.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.26.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.29.4.1 14-Oct-2023  martin Pull up following revision(s) (requested by skrll in ticket #411):

sys/arch/evbarm/nslu2/nslu2_machdep.c: revision 1.41
sys/arch/evbarm/gumstix/gumstix_machdep.c: revision 1.75
sys/arch/evbarm/iq80321/iq80321_machdep.c: revision 1.66
sys/arch/iyonix/iyonix/iyonix_machdep.c: revision 1.34
sys/arch/zaurus/zaurus/machdep.c: revision 1.52
sys/arch/evbarm/g42xxeb/g42xxeb_machdep.c: revision 1.41
sys/arch/hpcarm/hpcarm/pxa2x0_hpc_machdep.c: revision 1.33
sys/arch/evbarm/iq80310/iq80310_machdep.c: revision 1.96
sys/arch/evbarm/adi_brh/brh_machdep.c: revision 1.53
sys/arch/arm/include/arm32/pmap.h: revision 1.177
sys/arch/evbarm/viper/viper_machdep.c: revision 1.34
sys/arch/evbarm/iyonix/iyonix_machdep.c: revision 1.5
sys/arch/evbarm/npwr_fc/npwr_fc_machdep.c: revision 1.30
sys/arch/evbarm/hdl_g/hdlg_machdep.c: revision 1.35
sys/arch/arm/arm32/pmap.c: revision 1.440
sys/arch/evbarm/lubbock/lubbock_machdep.c: revision 1.45
sys/arch/evbarm/ixdp425/ixdp425_machdep.c: revision 1.47

Fix non-DIAGNOSTIC builds
 1.5 09-Jan-2019  msaitoh Fix compile error for *_pci_intr_establish().
 1.4 29-Mar-2014  christos branches: 1.4.28; 1.4.30;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.3 01-Jul-2011  dyoung branches: 1.3.2; 1.3.12; 1.3.16;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.2 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.1 22-Dec-2005  briggs branches: 1.1.18; 1.1.102; 1.1.108;
Add files that have been sitting in my local source tree for almost exactly
two years. Unable to test since I no longer have access to the hardware.
 1.1.108.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.102.1 21-Apr-2011  rmind sync with head
 1.1.18.2 21-Jun-2006  yamt sync with head.
 1.1.18.1 22-Dec-2005  yamt file npwr_fc_pci.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:54 +0000
 1.3.16.1 18-May-2014  rmind sync with head
 1.3.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.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.4.30.1 10-Jun-2019  christos Sync with HEAD
 1.4.28.1 18-Jan-2019  pgoyette Synch with HEAD
 1.7 22-Nov-2009  mbalmer more s/the the/the/
 1.6 17-Jan-2007  imp branches: 1.6.48;
Sam's npe support was ported from FreeBSD and is enabled in the NSLU2
kernel, so update the README to reflect a more current status of the
ethernet under NetBSD.
 1.5 18-May-2006  imp branches: 1.5.6; 1.5.10; 1.5.12;
The Intel sight has changed slightly, so tweak wording on how to get the
intel documentation necessary for the ethernet driver.
 1.4 08-Mar-2006  lukem branches: 1.4.2; 1.4.4;
Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings.
Add a space between numbers and Hz unit.
 1.3 04-Mar-2006  scw branches: 1.3.2; 1.3.4;
Document the Flash layout, and how RedBoot invokes the kernel bootloader.
 1.2 04-Mar-2006  scw The Slug's clock no longer runs slow. The default value of COUNTS_PER_SEC
was incorrect.
 1.1 28-Feb-2006  scw branches: 1.1.2;
A port of NetBSD to the Linksys NSLU2 (a.k.a. "Slug").

The NSLU2 (Network Storage Link for USB 2.0 Disk Drives) is a small, *cheap*
NAS device consisting of an Intel IXP420 (Xscale) CPU, a 10/100mbit Ethernet
port, and two USB 2.0 ports. It has 32MB of SDRAM and 8MB of Flash memory,
and runs RedBoot/Linux out of the box. Now it can also run NetBSD.
 1.1.2.2 01-Mar-2006  yamt sync with head.
 1.1.2.1 28-Feb-2006  yamt file README was added on branch yamt-uio_vmspace on 2006-03-01 09:27:46 +0000
 1.3.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.3.2.2 24-May-2006  yamt sync with head.
 1.3.2.1 13-Mar-2006  yamt sync with head.
 1.4.4.3 01-Jun-2006  kardel Sync with head.
 1.4.4.2 22-Apr-2006  simonb Sync with head.
 1.4.4.1 08-Mar-2006  simonb file README was added on branch simonb-timecounters on 2006-04-22 11:37:24 +0000
 1.4.2.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.5.12.2 09-Sep-2006  rpaulo sync with head
 1.5.12.1 18-May-2006  rpaulo file README was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:55 +0000
 1.5.10.1 01-Feb-2007  ad Sync with head.
 1.5.6.3 26-Feb-2007  yamt sync with head.
 1.5.6.2 21-Jun-2006  yamt sync with head.
 1.5.6.1 18-May-2006  yamt file README was added on branch yamt-lazymbuf on 2006-06-21 14:50:54 +0000
 1.6.48.1 11-Mar-2010  yamt sync with head
 1.4 14-Oct-2012  msaitoh struct device * -> device_t for IXP4xx (and nslu2).
Tested with my NSLU2.
 1.3 28-Apr-2008  martin branches: 1.3.34; 1.3.44;
Remove clause 3 and 4 from TNF licenses
 1.2 01-Mar-2006  scw branches: 1.2.8; 1.2.14; 1.2.20; 1.2.74; 1.2.76; 1.2.78;
Simpify GPIO bits for power/reset buttons, and squash a (mostly harmless)
bug in the GPIO pin direction code.
 1.1 28-Feb-2006  scw branches: 1.1.2;
A port of NetBSD to the Linksys NSLU2 (a.k.a. "Slug").

The NSLU2 (Network Storage Link for USB 2.0 Disk Drives) is a small, *cheap*
NAS device consisting of an Intel IXP420 (Xscale) CPU, a 10/100mbit Ethernet
port, and two USB 2.0 ports. It has 32MB of SDRAM and 8MB of Flash memory,
and runs RedBoot/Linux out of the box. Now it can also run NetBSD.
 1.1.2.2 01-Mar-2006  yamt sync with head.
 1.1.2.1 28-Feb-2006  yamt file nslu2_buttons.c was added on branch yamt-uio_vmspace on 2006-03-01 09:27:46 +0000
 1.2.78.1 16-May-2008  yamt sync with head.
 1.2.76.1 18-May-2008  yamt sync with head.
 1.2.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.20.2 09-Sep-2006  rpaulo sync with head
 1.2.20.1 01-Mar-2006  rpaulo file nslu2_buttons.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:55 +0000
 1.2.14.2 21-Jun-2006  yamt sync with head.
 1.2.14.1 01-Mar-2006  yamt file nslu2_buttons.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:54 +0000
 1.2.8.2 22-Apr-2006  simonb Sync with head.
 1.2.8.1 01-Mar-2006  simonb file nslu2_buttons.c was added on branch simonb-timecounters on 2006-04-22 11:37:24 +0000
 1.3.44.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.3.34.1 30-Oct-2012  yamt sync with head
 1.13 15-Sep-2025  thorpej Encapsulate what's needed to attach an I2C bus into a iicbus_attach()
inline.
 1.12 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.11 24-Apr-2021  thorpej branches: 1.11.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.10 22-Dec-2019  thorpej branches: 1.10.10;
Cleanup i2c bus acquire / release, centralizing all of the logic into
iic_acquire_bus() / iic_release_bus(). "acquire" and "release" hooks
no longer need to be provided by back-end controller drivers (only if
they need special handling, e.g. powering on the i2c controller).
This results in the removal of a bunch of rendundant code from each
back-end controller driver.

Assert that we are not in hard interrupt context in iic_acquire_bus(),
iic_exec(), and iic_release_bus().
 1.9 14-Feb-2016  chs branches: 1.9.18;
zero the i2c_attach_args structure before filling it in.
fixes occasional crashes in iic_attach().
 1.8 14-Oct-2012  msaitoh branches: 1.8.14;
struct device * -> device_t for IXP4xx (and nslu2).
Tested with my NSLU2.
 1.7 28-Jun-2008  tsutsui branches: 1.7.30; 1.7.40;
Fix inverted logic of IXP425_GPIO_GPOER register bits in the previous.
Pointed out by Piotr Durlej on port-arm@.
 1.6 09-Jun-2008  tsutsui branches: 1.6.2;
Emulate open collector output more properly to make it work with
reorganized MI i2c_bitbang.c:
- set GPOER register in set_dir function too according to GPOUTR value
- in set_bits function, don't set SDA_BIT implicitly in input mode and
check current direction to handle GPOER register
- no need to check direction in read_check function because reading SCL
is valid even if SDA is output

Tested by Donald T Hayford on port-arm.
 1.5 28-Apr-2008  martin branches: 1.5.2;
Remove clause 3 and 4 from TNF licenses
 1.4 19-Apr-2008  scw branches: 1.4.2;
Adapt to the recent i2c_bitbang changes, which provide more hints as to
the SDA/SCL pin direction, by treating the direction as just that; a hint.

Instead, configure the SDA/SCL pins as outputs only when they are to
be driven low (zero). Otherwise configure them as inputs and allow the
pull-up resistors to do their jobs.

Check the SDA direction hint only if DIAGNOSTIC.

Fixes a problem reported by Donald T Hayford on port-arm@ whereby the
kernel failed to read/write the RTC's registers.
 1.3 06-Dec-2007  ad branches: 1.3.12; 1.3.14;
lockmgr -> mutex
 1.2 26-Jun-2006  drochner branches: 1.2.6; 1.2.20; 1.2.32; 1.2.34; 1.2.36; 1.2.42; 1.2.46;
use the "i2cbus" interface attribute rather than putting a string name
into the i2cbus attach args
 1.1 28-Feb-2006  scw branches: 1.1.2; 1.1.4; 1.1.10; 1.1.14; 1.1.16;
A port of NetBSD to the Linksys NSLU2 (a.k.a. "Slug").

The NSLU2 (Network Storage Link for USB 2.0 Disk Drives) is a small, *cheap*
NAS device consisting of an Intel IXP420 (Xscale) CPU, a 10/100mbit Ethernet
port, and two USB 2.0 ports. It has 32MB of SDRAM and 8MB of Flash memory,
and runs RedBoot/Linux out of the box. Now it can also run NetBSD.
 1.1.16.4 07-Dec-2007  yamt sync with head
 1.1.16.3 30-Dec-2006  yamt sync with head.
 1.1.16.2 21-Jun-2006  yamt sync with head.
 1.1.16.1 28-Feb-2006  yamt file nslu2_iic.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:54 +0000
 1.1.14.1 13-Jul-2006  gdamore Merge from HEAD.
 1.1.10.2 22-Apr-2006  simonb Sync with head.
 1.1.10.1 28-Feb-2006  simonb file nslu2_iic.c was added on branch simonb-timecounters on 2006-04-22 11:37:24 +0000
 1.1.4.1 11-Aug-2006  yamt sync with head
 1.1.2.2 01-Mar-2006  yamt sync with head.
 1.1.2.1 28-Feb-2006  yamt file nslu2_iic.c was added on branch yamt-uio_vmspace on 2006-03-01 09:27:46 +0000
 1.2.46.1 08-Dec-2007  ad Sync with head.
 1.2.42.1 08-Dec-2007  mjf Sync with HEAD.
 1.2.36.1 09-Jan-2008  matt sync with HEAD
 1.2.34.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.2.32.1 26-Dec-2007  rjs Sync with HEAD.
 1.2.20.1 09-Dec-2007  reinoud Pullup to HEAD
 1.2.6.2 09-Sep-2006  rpaulo sync with head
 1.2.6.1 26-Jun-2006  rpaulo file nslu2_iic.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:55 +0000
 1.3.14.2 17-Jun-2008  yamt sync with head.
 1.3.14.1 18-May-2008  yamt sync with head.
 1.3.12.2 29-Jun-2008  mjf Sync with HEAD.
 1.3.12.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.2.2 04-May-2009  yamt sync with head.
 1.4.2.1 16-May-2008  yamt sync with head.
 1.5.2.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.5.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.6.2.1 03-Jul-2008  simonb Sync with head.
 1.7.40.2 03-Dec-2017  jdolecek update from HEAD
 1.7.40.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.7.30.1 30-Oct-2012  yamt sync with head
 1.8.14.1 19-Mar-2016  skrll Sync with HEAD
 1.9.18.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.10.1 23-Mar-2021  thorpej Convert config_found_ia() call sites where the device only carries
a single interface attribute to bare config_found() calls.
 1.11.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.10 19-Aug-2013  matt Fix <arm/locore.h> lossage
 1.9 14-Oct-2012  msaitoh branches: 1.9.2;
struct device * -> device_t for IXP4xx (and nslu2).
Tested with my NSLU2.
 1.8 28-Apr-2008  martin branches: 1.8.34; 1.8.44;
Remove clause 3 and 4 from TNF licenses
 1.7 17-Oct-2007  garbled branches: 1.7.16; 1.7.18; 1.7.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.6 09-Jul-2007  ad branches: 1.6.10;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.5 08-Jul-2007  scw Make this build again now that sched_whichqs no longer exists.
 1.4 10-Dec-2006  scw branches: 1.4.6; 1.4.8; 1.4.14;
Ditch the messy "disk access" polling code. There was no way to
determine accurately which LED to illuminate.

Instead, hook into the PCI[ABC] interrupt chains (used solely for the
USB controller) and use the disk1/disk2 LEDS to indicate general USB
activity.

Use the "Ready/Status" LED as a CPU activity indicator by hooking the
TMR0 interrupt and illuminating the LED if the CPU is non-idle.
 1.3 22-Apr-2006  yamt branches: 1.3.2; 1.3.8; 1.3.12; 1.3.14; 1.3.16;
adapt to iostat change.
 1.2 15-Apr-2006  christos Adjust for new io_stats
 1.1 28-Feb-2006  scw branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
A port of NetBSD to the Linksys NSLU2 (a.k.a. "Slug").

The NSLU2 (Network Storage Link for USB 2.0 Disk Drives) is a small, *cheap*
NAS device consisting of an Intel IXP420 (Xscale) CPU, a 10/100mbit Ethernet
port, and two USB 2.0 ports. It has 32MB of SDRAM and 8MB of Flash memory,
and runs RedBoot/Linux out of the box. Now it can also run NetBSD.
 1.1.8.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.6.2 11-May-2006  elad sync with head
 1.1.6.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.4.1 24-May-2006  yamt sync with head.
 1.1.2.2 01-Mar-2006  yamt sync with head.
 1.1.2.1 28-Feb-2006  yamt file nslu2_leds.c was added on branch yamt-uio_vmspace on 2006-03-01 09:27:46 +0000
 1.3.16.1 18-Dec-2006  yamt sync with head.
 1.3.14.2 09-Sep-2006  rpaulo sync with head
 1.3.14.1 22-Apr-2006  rpaulo file nslu2_leds.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:55 +0000
 1.3.12.1 12-Jan-2007  ad Sync with head.
 1.3.8.4 03-Sep-2007  yamt sync with head.
 1.3.8.3 30-Dec-2006  yamt sync with head.
 1.3.8.2 21-Jun-2006  yamt sync with head.
 1.3.8.1 22-Apr-2006  yamt file nslu2_leds.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:54 +0000
 1.3.2.3 01-Jun-2006  kardel Sync with head.
 1.3.2.2 22-Apr-2006  simonb Sync with head.
 1.3.2.1 22-Apr-2006  simonb file nslu2_leds.c was added on branch simonb-timecounters on 2006-04-22 11:37:24 +0000
 1.4.14.1 03-Oct-2007  garbled Sync with HEAD
 1.4.8.1 11-Jul-2007  mjf Sync with head.
 1.4.6.1 15-Jul-2007  ad Sync with head.
 1.6.10.1 06-Nov-2007  matt sync with HEAD
 1.7.20.1 16-May-2008  yamt sync with head.
 1.7.18.1 18-May-2008  yamt sync with head.
 1.7.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.44.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.44.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.8.34.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.8.34.1 30-Oct-2012  yamt sync with head
 1.9.2.1 28-Aug-2013  rmind sync with head
 1.41 12-Oct-2023  skrll Fix non-DIAGNOSTIC builds
 1.40 17-Jun-2023  rin Panic if kernel image is not fit within its VA range,
rather than silently freeze later.
 1.39 17-Jun-2023  rin Missing #endif for the previous...
 1.38 17-Jun-2023  rin Catch up with new pmap_devmap implementation.

Now, hardcoded VA's should be aligned to L1 section (1M) boundaries.
Rather, just disable ones if there's no need for statically mapping.
 1.37 14-Jun-2023  rin Make this compile again with VERBOSE_INIT_ARM.
 1.36 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.35 17-Aug-2021  andvar branches: 1.35.4;
fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.34 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.33 18-Apr-2020  skrll Trailing whitespace
 1.32 16-Jul-2019  skrll branches: 1.32.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.31 16-Jul-2019  skrll KNF
 1.30 28-Oct-2018  skrll Fix a commit
 1.29 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.28 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.27 22-Dec-2016  cherry branches: 1.27.14; 1.27.16;
switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.26 05-Mar-2015  skrll branches: 1.26.2;
Spellos
 1.25 13-Sep-2014  matt branches: 1.25.2;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.24 19-Aug-2013  matt Fix <arm/locore.h> lossage
 1.23 12-Nov-2012  skrll branches: 1.23.2;
C99 types
 1.22 22-Sep-2012  matt Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.21 16-Aug-2012  matt branches: 1.21.2;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.20 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.19 01-Jul-2011  dyoung branches: 1.19.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.18 30-Jun-2011  wiz dependant -> dependent
 1.17 26-Dec-2009  uebayasi Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.16 26-Dec-2009  uebayasi Garbage collect an unused global, vm_offset_t pagetables_start.
 1.15 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.14 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.13 21-Oct-2009  rmind Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.12 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 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 30-Nov-2008  martin branches: 1.10.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.9 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.8 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.7 28-Apr-2008  martin branches: 1.7.6; 1.7.8;
Remove clause 3 and 4 from TNF licenses
 1.6 27-Apr-2008  matt Merge kernel changes in matt-armv6 to HEAD.
 1.5 19-Jan-2008  chris branches: 1.5.6; 1.5.8; 1.5.10;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.4 10-Dec-2006  scw branches: 1.4.20; 1.4.24; 1.4.30; 1.4.36;
Adjust watchdog reset register base.
 1.3 17-May-2006  mrg branches: 1.3.6; 1.3.10; 1.3.12; 1.3.14;
in initarm(), initialise kernel_l1pt.pv_va as well as kernel_l1pt.pv_pa.
 1.2 11-Mar-2006  scw branches: 1.2.2; 1.2.4;
RB_POWERDOWN trumps RB_HALT.
 1.1 28-Feb-2006  scw branches: 1.1.2; 1.1.4; 1.1.6;
A port of NetBSD to the Linksys NSLU2 (a.k.a. "Slug").

The NSLU2 (Network Storage Link for USB 2.0 Disk Drives) is a small, *cheap*
NAS device consisting of an Intel IXP420 (Xscale) CPU, a 10/100mbit Ethernet
port, and two USB 2.0 ports. It has 32MB of SDRAM and 8MB of Flash memory,
and runs RedBoot/Linux out of the box. Now it can also run NetBSD.
 1.1.6.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.4.2 24-May-2006  yamt sync with head.
 1.1.4.1 13-Mar-2006  yamt sync with head.
 1.1.2.2 01-Mar-2006  yamt sync with head.
 1.1.2.1 28-Feb-2006  yamt file nslu2_machdep.c was added on branch yamt-uio_vmspace on 2006-03-01 09:27:46 +0000
 1.2.4.3 01-Jun-2006  kardel Sync with head.
 1.2.4.2 22-Apr-2006  simonb Sync with head.
 1.2.4.1 11-Mar-2006  simonb file nslu2_machdep.c was added on branch simonb-timecounters on 2006-04-22 11:37:24 +0000
 1.2.2.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.3.14.1 18-Dec-2006  yamt sync with head.
 1.3.12.2 09-Sep-2006  rpaulo sync with head
 1.3.12.1 17-May-2006  rpaulo file nslu2_machdep.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:55 +0000
 1.3.10.1 12-Jan-2007  ad Sync with head.
 1.3.6.4 21-Jan-2008  yamt sync with head
 1.3.6.3 30-Dec-2006  yamt sync with head.
 1.3.6.2 21-Jun-2006  yamt sync with head.
 1.3.6.1 17-May-2006  yamt file nslu2_machdep.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:54 +0000
 1.4.36.1 20-Jan-2008  bouyer Sync with HEAD
 1.4.30.1 18-Feb-2008  mjf Sync with HEAD.
 1.4.24.2 23-Mar-2008  matt sync with HEAD
 1.4.24.1 28-Jan-2008  matt Adapt to new pmap_bootstrap signature.
 1.4.20.1 28-Feb-2008  rjs Sync with HEAD.
 1.5.10.4 11-Mar-2010  yamt sync with head
 1.5.10.3 19-Aug-2009  yamt sync with head.
 1.5.10.2 04-May-2009  yamt sync with head.
 1.5.10.1 16-May-2008  yamt sync with head.
 1.5.8.1 18-May-2008  yamt sync with head.
 1.5.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.5.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.8.2 28-Apr-2009  skrll Sync with HEAD.
 1.7.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.7.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.10.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.19.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.19.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.19.2.1 30-Oct-2012  yamt sync with head
 1.21.2.3 03-Dec-2017  jdolecek update from HEAD
 1.21.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.21.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.23.2.1 28-Aug-2013  rmind sync with head
 1.25.2.2 05-Feb-2017  skrll Sync with HEAD
 1.25.2.1 06-Apr-2015  skrll Sync with HEAD
 1.26.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.27.16.3 21-Apr-2020  martin Sync with HEAD
 1.27.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.27.16.1 10-Jun-2019  christos Sync with HEAD
 1.27.14.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.27.14.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.27.14.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.32.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.35.4.1 14-Oct-2023  martin Pull up following revision(s) (requested by skrll in ticket #411):

sys/arch/evbarm/nslu2/nslu2_machdep.c: revision 1.41
sys/arch/evbarm/gumstix/gumstix_machdep.c: revision 1.75
sys/arch/evbarm/iq80321/iq80321_machdep.c: revision 1.66
sys/arch/iyonix/iyonix/iyonix_machdep.c: revision 1.34
sys/arch/zaurus/zaurus/machdep.c: revision 1.52
sys/arch/evbarm/g42xxeb/g42xxeb_machdep.c: revision 1.41
sys/arch/hpcarm/hpcarm/pxa2x0_hpc_machdep.c: revision 1.33
sys/arch/evbarm/iq80310/iq80310_machdep.c: revision 1.96
sys/arch/evbarm/adi_brh/brh_machdep.c: revision 1.53
sys/arch/arm/include/arm32/pmap.h: revision 1.177
sys/arch/evbarm/viper/viper_machdep.c: revision 1.34
sys/arch/evbarm/iyonix/iyonix_machdep.c: revision 1.5
sys/arch/evbarm/npwr_fc/npwr_fc_machdep.c: revision 1.30
sys/arch/evbarm/hdl_g/hdlg_machdep.c: revision 1.35
sys/arch/arm/arm32/pmap.c: revision 1.440
sys/arch/evbarm/lubbock/lubbock_machdep.c: revision 1.45
sys/arch/evbarm/ixdp425/ixdp425_machdep.c: revision 1.47

Fix non-DIAGNOSTIC builds
 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 14-Oct-2012  msaitoh struct device * -> device_t for IXP4xx (and nslu2).
Tested with my NSLU2.
 1.3 28-Sep-2012  ryo Defer attaching interrupt evcnts in the same way as i80321.c by matt@
 1.2 28-Apr-2008  martin branches: 1.2.34; 1.2.40; 1.2.44;
Remove clause 3 and 4 from TNF licenses
 1.1 28-Feb-2006  scw branches: 1.1.2; 1.1.10; 1.1.16; 1.1.22; 1.1.76; 1.1.78; 1.1.80;
A port of NetBSD to the Linksys NSLU2 (a.k.a. "Slug").

The NSLU2 (Network Storage Link for USB 2.0 Disk Drives) is a small, *cheap*
NAS device consisting of an Intel IXP420 (Xscale) CPU, a 10/100mbit Ethernet
port, and two USB 2.0 ports. It has 32MB of SDRAM and 8MB of Flash memory,
and runs RedBoot/Linux out of the box. Now it can also run NetBSD.
 1.1.80.1 16-May-2008  yamt sync with head.
 1.1.78.1 18-May-2008  yamt sync with head.
 1.1.76.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.22.2 09-Sep-2006  rpaulo sync with head
 1.1.22.1 28-Feb-2006  rpaulo file nslu2_mainbus.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:55 +0000
 1.1.16.2 21-Jun-2006  yamt sync with head.
 1.1.16.1 28-Feb-2006  yamt file nslu2_mainbus.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:54 +0000
 1.1.10.2 22-Apr-2006  simonb Sync with head.
 1.1.10.1 28-Feb-2006  simonb file nslu2_mainbus.c was added on branch simonb-timecounters on 2006-04-22 11:37:24 +0000
 1.1.2.2 01-Mar-2006  yamt sync with head.
 1.1.2.1 28-Feb-2006  yamt file nslu2_mainbus.c was added on branch yamt-uio_vmspace on 2006-03-01 09:27:46 +0000
 1.2.44.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.2.40.1 17-Oct-2012  riz Pull up following revision(s) (requested by tsutsui in ticket #600):
sys/arch/arm/xscale/ixp425_intr.c: revision 1.24
sys/arch/evbarm/ixdp425/ixdp425_mainbus.c: revision 1.8
sys/arch/evbarm/nslu2/nslu2_mainbus.c: revision 1.3
sys/arch/arm/xscale/ixp425var.h: revision 1.14
Defer attaching interrupt evcnts in the same way as i80321.c by matt@
 1.2.34.1 30-Oct-2012  yamt sync with head
 1.8 18-Nov-2018  jmcneill Add xname argument to pc_intr_establish implementation
 1.7 31-Mar-2014  ozaki-r branches: 1.7.28; 1.7.30;
Get rid of redundant return
 1.6 29-Mar-2014  christos make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.5 12-Nov-2012  skrll branches: 1.5.2;
C99 types
 1.4 04-Apr-2011  dyoung branches: 1.4.4; 1.4.14;
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.3 21-Oct-2009  rmind branches: 1.3.4; 1.3.6;
Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.1 28-Feb-2006  scw branches: 1.1.2; 1.1.10; 1.1.16; 1.1.22; 1.1.76; 1.1.78; 1.1.80;
A port of NetBSD to the Linksys NSLU2 (a.k.a. "Slug").

The NSLU2 (Network Storage Link for USB 2.0 Disk Drives) is a small, *cheap*
NAS device consisting of an Intel IXP420 (Xscale) CPU, a 10/100mbit Ethernet
port, and two USB 2.0 ports. It has 32MB of SDRAM and 8MB of Flash memory,
and runs RedBoot/Linux out of the box. Now it can also run NetBSD.
 1.1.80.2 11-Mar-2010  yamt sync with head
 1.1.80.1 16-May-2008  yamt sync with head.
 1.1.78.1 18-May-2008  yamt sync with head.
 1.1.76.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.22.2 09-Sep-2006  rpaulo sync with head
 1.1.22.1 28-Feb-2006  rpaulo file nslu2_pci.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:55 +0000
 1.1.16.2 21-Jun-2006  yamt sync with head.
 1.1.16.1 28-Feb-2006  yamt file nslu2_pci.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:54 +0000
 1.1.10.2 22-Apr-2006  simonb Sync with head.
 1.1.10.1 28-Feb-2006  simonb file nslu2_pci.c was added on branch simonb-timecounters on 2006-04-22 11:37:24 +0000
 1.1.2.2 01-Mar-2006  yamt sync with head.
 1.1.2.1 28-Feb-2006  yamt file nslu2_pci.c was added on branch yamt-uio_vmspace on 2006-03-01 09:27:46 +0000
 1.3.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.4.1 21-Apr-2011  rmind sync with head
 1.4.14.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.14.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.4.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.4.4.1 16-Jan-2013  yamt sync with (a bit old) head
 1.5.2.1 18-May-2014  rmind sync with head
 1.7.30.1 10-Jun-2019  christos Sync with HEAD
 1.7.28.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.3 31-Jan-2011  matt Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.2 28-Apr-2008  martin branches: 1.2.22; 1.2.28; 1.2.30;
Remove clause 3 and 4 from TNF licenses
 1.1 28-Feb-2006  scw branches: 1.1.2; 1.1.10; 1.1.16; 1.1.22; 1.1.76; 1.1.78; 1.1.80;
A port of NetBSD to the Linksys NSLU2 (a.k.a. "Slug").

The NSLU2 (Network Storage Link for USB 2.0 Disk Drives) is a small, *cheap*
NAS device consisting of an Intel IXP420 (Xscale) CPU, a 10/100mbit Ethernet
port, and two USB 2.0 ports. It has 32MB of SDRAM and 8MB of Flash memory,
and runs RedBoot/Linux out of the box. Now it can also run NetBSD.
 1.1.80.1 16-May-2008  yamt sync with head.
 1.1.78.1 18-May-2008  yamt sync with head.
 1.1.76.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.22.2 09-Sep-2006  rpaulo sync with head
 1.1.22.1 28-Feb-2006  rpaulo file nslu2_start.S was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:55 +0000
 1.1.16.2 21-Jun-2006  yamt sync with head.
 1.1.16.1 28-Feb-2006  yamt file nslu2_start.S was added on branch yamt-lazymbuf on 2006-06-21 14:50:54 +0000
 1.1.10.2 22-Apr-2006  simonb Sync with head.
 1.1.10.1 28-Feb-2006  simonb file nslu2_start.S was added on branch simonb-timecounters on 2006-04-22 11:37:24 +0000
 1.1.2.2 01-Mar-2006  yamt sync with head.
 1.1.2.1 28-Feb-2006  yamt file nslu2_start.S was added on branch yamt-uio_vmspace on 2006-03-01 09:27:46 +0000
 1.2.30.1 08-Feb-2011  bouyer Sync with HEAD
 1.2.28.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.22.1 05-Mar-2011  rmind sync with head
 1.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.1 28-Feb-2006  scw branches: 1.1.2; 1.1.10; 1.1.16; 1.1.22; 1.1.76; 1.1.78; 1.1.80;
A port of NetBSD to the Linksys NSLU2 (a.k.a. "Slug").

The NSLU2 (Network Storage Link for USB 2.0 Disk Drives) is a small, *cheap*
NAS device consisting of an Intel IXP420 (Xscale) CPU, a 10/100mbit Ethernet
port, and two USB 2.0 ports. It has 32MB of SDRAM and 8MB of Flash memory,
and runs RedBoot/Linux out of the box. Now it can also run NetBSD.
 1.1.80.1 16-May-2008  yamt sync with head.
 1.1.78.1 18-May-2008  yamt sync with head.
 1.1.76.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.22.2 09-Sep-2006  rpaulo sync with head
 1.1.22.1 28-Feb-2006  rpaulo file nslu2reg.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:55 +0000
 1.1.16.2 21-Jun-2006  yamt sync with head.
 1.1.16.1 28-Feb-2006  yamt file nslu2reg.h was added on branch yamt-lazymbuf on 2006-06-21 14:50:54 +0000
 1.1.10.2 22-Apr-2006  simonb Sync with head.
 1.1.10.1 28-Feb-2006  simonb file nslu2reg.h was added on branch simonb-timecounters on 2006-04-22 11:37:24 +0000
 1.1.2.2 01-Mar-2006  yamt sync with head.
 1.1.2.1 28-Feb-2006  yamt file nslu2reg.h was added on branch yamt-uio_vmspace on 2006-03-01 09:27:46 +0000
 1.5 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.4 01-Apr-2018  ryo branches: 1.4.2;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.3 10-Dec-2017  skrll branches: 1.3.2;
FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.

The kernel image that the RPI firmware boots is now netbsd.img in the
kernel build directory.

XXX fdtbus_get_reg needs reworking
 1.2 28-Feb-2015  skrll Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.

This commit changes the KVA layout of the RPI.
 1.1 26-Jul-2012  skrll branches: 1.1.2; 1.1.4; 1.1.6; 1.1.18; 1.1.20;
Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.
 1.1.20.1 06-Apr-2015  skrll Sync with HEAD
 1.1.18.1 11-Mar-2015  snj Pull up following revision(s) (requested by skrll in ticket #582):
distrib/utils/embedded/conf/rpi.conf: revision 1.27
etc/etc.evbarm/Makefile.inc: revision 1.70
sys/arch/arm/broadcom/bcm2835_intr.c: revision 1.5-1.7
sys/arch/arm/broadcom/bcm2835_obio.c: revision 1.23, 1.24
sys/arch/arm/broadcom/bcm2835_space.c: revision 1.8
sys/arch/arm/broadcom/bcm2835reg.h: revision 1.14
sys/arch/arm/broadcom/bcm2835var.h: revision 1.2
sys/arch/arm/broadcom/files.bcm2835: revision 1.24
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.30
sys/arch/arm/cortex/armperiph.c: revision 1.8, 1.9
sys/arch/arm/cortex/gtmr.c: revision 1.9
sys/arch/arm/cortex/gtmr_var.h: revision 1.5
sys/arch/arm/cortex/mpcore_var.h: revision 1.3
sys/arch/arm/include/cpu.h: revision 1.84
sys/arch/evbarm/conf/RPI2: revision 1.1, 1.2
sys/arch/evbarm/conf/RPI2_INSTALL: revision 1.1
sys/arch/evbarm/conf/RPI: revision 1.59, 1.60
sys/arch/evbarm/conf/mk.rpi: revision 1.4
sys/arch/evbarm/conf/std.rpi: revisions 1.16-1.19 via patch
sys/arch/evbarm/rpi/genassym.cf: revision 1.2
sys/arch/evbarm/rpi/rpi.h: revision 1.4
sys/arch/evbarm/rpi/rpi2_start.S: revision 1.1
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.57, 1.58 via patch
sys/arch/evbarm/rpi/rpi_start.S: revision 1.13
Move some options into std.rpi
--
Add __HAVE_MM_MD_CACHE_ALIASING
Pull up following revision(s) (requested by skrll in ticket #582):
Fix TPIDRPRW_IS_CURLWP builds.
--
A MULTIPROCESSOR kernel requires TPIDRPRW_IS_CURCPU.
--
Use TPIDRPRW_IS_CURLWP as it's a slight code reduction and performance
improvement.
Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.
This commit changes the KVA layout of the RPI.
--
Make this compile where gtmr isn't used.
--
Spin up the non-boot CPUs, but don't allow cpu_boot_secondary_processors
to see them for now.
RPI2 nows works well with only the boot cpu.
--
Appease a KASSERT - will be remove when MULTIPROCESSOR RPI2 is fixed.
--
Add RPI2 to kernels build for both earmv[67].
Use the earmv6 built kernels to create an image that can be used on both
RPI and RPI2
--
Add an RPI2_INSTALL
 1.1.6.2 30-Oct-2012  yamt sync with head
 1.1.6.1 26-Jul-2012  yamt file genassym.cf was added on branch yamt-pagecache on 2012-10-30 17:19:26 +0000
 1.1.4.1 03-Dec-2017  jdolecek update from HEAD
 1.1.2.2 09-Aug-2012  jdc Pull up revisions:
src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4
src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65
src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40
src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14
src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11
src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2
src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108
src/sys/arch/arm/arm32/cpu.c revision 1.79
src/sys/arch/arm/include/armreg.h revisions 1.49,1.54
src/sys/arch/arm/arm32/pmap.c revision 1.229
src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77
src/sys/arch/arm/include/cpu.h revision 1.64
src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3
src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1
src/sys/arch/arm/conf/files.arm revision 1.106
src/sys/arch/arm/include/cpufunc.h revision 1.57
src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24
src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8
src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4
src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69
src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1
src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1
src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1
src/sys/arch/evbarm/Makefile revision 1.9
src/sys/arch/evbarm/conf/RPI revision 1.1
src/sys/arch/evbarm/conf/files.rpi revision 1.1
src/sys/arch/evbarm/conf/mk.rpi revision 1.1
src/sys/arch/evbarm/conf/std.rpi revision 1.1
src/sys/arch/evbarm/rpi/genassym.cf revision 1.1
src/sys/arch/evbarm/rpi/rpi.h revision 1.1
src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1
src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2
src/etc/etc.evbarm/Makefile.inc revision 1.28
(requested by skrll in ticket #454).

don't mix #define<TAB> and #define<SPACE> in a file.

avoid warning with options PLCOM_DEBUG for INTEGRATOR.

Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.

Replace the simple_lock with a kmutex_t. Update the locking to match
com(4) in the few places it didn't already.

DOH. Replace a line that got accidently deleted in the last commit.

device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t

Add the 'Z' to the 1176 cpu product name.

ok matt@

Fix locking botch introduced in 1.36.

Fix a KASSERT. From/OK'ed by matt@

Fix racy softint dispatch that lead to KASSERT(si->si_active) in
softint_execute

Discussed with matt@. "Looks good to me"

Add the documented ARM11[37]6 Auxiliary control register defines.

Add support for the ARM1176JZS

Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).

Provide a method for attachments to specify capabilites.

Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.

Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.

Add RPI to KERNEL_SETS

Remove #if 0 code.
 1.1.2.1 26-Jul-2012  jdc file genassym.cf was added on branch netbsd-6 on 2012-08-09 06:36:51 +0000
 1.3.2.2 20-Oct-2018  pgoyette Sync with head
 1.3.2.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.6 04-Jul-2020  skrll G/C
 1.5 10-Dec-2017  skrll FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.

The kernel image that the RPI firmware boots is now netbsd.img in the
kernel build directory.

XXX fdtbus_get_reg needs reworking
 1.4 28-Feb-2015  skrll Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.

This commit changes the KVA layout of the RPI.
 1.3 06-Apr-2014  skrll branches: 1.3.2; 1.3.4;
Re-arrange RPI VM layout and enable __HAVE_MM_MD_DIRECT_MAPPED_PHYS. RPI
kernels now boot again.

I'm not admitting defeat in why there are problems with the
non-__HAVE_MM_MD_DIRECT_MAPPED_PHYS case.
 1.2 05-Sep-2013  skrll branches: 1.2.2;
Whitespace
 1.1 26-Jul-2012  skrll branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.
 1.1.8.1 18-May-2014  rmind sync with head
 1.1.6.3 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.2 30-Oct-2012  yamt sync with head
 1.1.6.1 26-Jul-2012  yamt file rpi.h was added on branch yamt-pagecache on 2012-10-30 17:19:26 +0000
 1.1.4.2 03-Dec-2017  jdolecek update from HEAD
 1.1.4.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.2.2 09-Aug-2012  jdc Pull up revisions:
src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4
src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65
src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40
src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14
src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11
src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2
src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108
src/sys/arch/arm/arm32/cpu.c revision 1.79
src/sys/arch/arm/include/armreg.h revisions 1.49,1.54
src/sys/arch/arm/arm32/pmap.c revision 1.229
src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77
src/sys/arch/arm/include/cpu.h revision 1.64
src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3
src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1
src/sys/arch/arm/conf/files.arm revision 1.106
src/sys/arch/arm/include/cpufunc.h revision 1.57
src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24
src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8
src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4
src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69
src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1
src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1
src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1
src/sys/arch/evbarm/Makefile revision 1.9
src/sys/arch/evbarm/conf/RPI revision 1.1
src/sys/arch/evbarm/conf/files.rpi revision 1.1
src/sys/arch/evbarm/conf/mk.rpi revision 1.1
src/sys/arch/evbarm/conf/std.rpi revision 1.1
src/sys/arch/evbarm/rpi/genassym.cf revision 1.1
src/sys/arch/evbarm/rpi/rpi.h revision 1.1
src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1
src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2
src/etc/etc.evbarm/Makefile.inc revision 1.28
(requested by skrll in ticket #454).

don't mix #define<TAB> and #define<SPACE> in a file.

avoid warning with options PLCOM_DEBUG for INTEGRATOR.

Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.

Replace the simple_lock with a kmutex_t. Update the locking to match
com(4) in the few places it didn't already.

DOH. Replace a line that got accidently deleted in the last commit.

device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t

Add the 'Z' to the 1176 cpu product name.

ok matt@

Fix locking botch introduced in 1.36.

Fix a KASSERT. From/OK'ed by matt@

Fix racy softint dispatch that lead to KASSERT(si->si_active) in
softint_execute

Discussed with matt@. "Looks good to me"

Add the documented ARM11[37]6 Auxiliary control register defines.

Add support for the ARM1176JZS

Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).

Provide a method for attachments to specify capabilites.

Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.

Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.

Add RPI to KERNEL_SETS

Remove #if 0 code.
 1.1.2.1 26-Jul-2012  jdc file rpi.h was added on branch netbsd-6 on 2012-08-09 06:36:51 +0000
 1.2.2.1 10-Aug-2014  tls Rebase.
 1.3.4.1 06-Apr-2015  skrll Sync with HEAD
 1.3.2.1 11-Mar-2015  snj Pull up following revision(s) (requested by skrll in ticket #582):
distrib/utils/embedded/conf/rpi.conf: revision 1.27
etc/etc.evbarm/Makefile.inc: revision 1.70
sys/arch/arm/broadcom/bcm2835_intr.c: revision 1.5-1.7
sys/arch/arm/broadcom/bcm2835_obio.c: revision 1.23, 1.24
sys/arch/arm/broadcom/bcm2835_space.c: revision 1.8
sys/arch/arm/broadcom/bcm2835reg.h: revision 1.14
sys/arch/arm/broadcom/bcm2835var.h: revision 1.2
sys/arch/arm/broadcom/files.bcm2835: revision 1.24
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.30
sys/arch/arm/cortex/armperiph.c: revision 1.8, 1.9
sys/arch/arm/cortex/gtmr.c: revision 1.9
sys/arch/arm/cortex/gtmr_var.h: revision 1.5
sys/arch/arm/cortex/mpcore_var.h: revision 1.3
sys/arch/arm/include/cpu.h: revision 1.84
sys/arch/evbarm/conf/RPI2: revision 1.1, 1.2
sys/arch/evbarm/conf/RPI2_INSTALL: revision 1.1
sys/arch/evbarm/conf/RPI: revision 1.59, 1.60
sys/arch/evbarm/conf/mk.rpi: revision 1.4
sys/arch/evbarm/conf/std.rpi: revisions 1.16-1.19 via patch
sys/arch/evbarm/rpi/genassym.cf: revision 1.2
sys/arch/evbarm/rpi/rpi.h: revision 1.4
sys/arch/evbarm/rpi/rpi2_start.S: revision 1.1
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.57, 1.58 via patch
sys/arch/evbarm/rpi/rpi_start.S: revision 1.13
Move some options into std.rpi
--
Add __HAVE_MM_MD_CACHE_ALIASING
Pull up following revision(s) (requested by skrll in ticket #582):
Fix TPIDRPRW_IS_CURLWP builds.
--
A MULTIPROCESSOR kernel requires TPIDRPRW_IS_CURCPU.
--
Use TPIDRPRW_IS_CURLWP as it's a slight code reduction and performance
improvement.
Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.
This commit changes the KVA layout of the RPI.
--
Make this compile where gtmr isn't used.
--
Spin up the non-boot CPUs, but don't allow cpu_boot_secondary_processors
to see them for now.
RPI2 nows works well with only the boot cpu.
--
Appease a KASSERT - will be remove when MULTIPROCESSOR RPI2 is fixed.
--
Add RPI2 to kernels build for both earmv[67].
Use the earmv6 built kernels to create an image that can be used on both
RPI and RPI2
--
Add an RPI2_INSTALL
 1.9 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.8 03-Aug-2018  skrll Provide and use kern_vtopdiff in KERN_{VTOPHYS,PHYSTOV}. A step towards
generic arm.
 1.7 27-Jun-2018  ryo branches: 1.7.2;
on evbarm/RPI,RPI2, VERBOSE_INIT_ARM had broken.

XPUTC() of evbarm/rpi/rpi*_start.S uses bcm283[567]_platform_early_putchar() and it requires stack.
fixed to allocate stack when starting from rpi*_start.S and a9_mpsubr.S if needed.

to work XPUTC(), need to define VERBOSE_INIT_ARM and EARLYCONS option.
 1.6 27-Jun-2018  ryo remove unnecessary code. .Lmmu_init_table is in same section, and also not r8.
 1.5 03-Mar-2018  skrll branches: 1.5.2;
Start code now updates a global variable fdt_addr_r to handle differences
in boot protocol (think arm64)
 1.4 10-Dec-2017  skrll FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.

The kernel image that the RPI firmware boots is now netbsd.img in the
kernel build directory.

XXX fdtbus_get_reg needs reworking
 1.3 17-Dec-2015  skrll branches: 1.3.16;
Check for hypervisor mode in cortex_init and exit if the cpu started
there.

Needed by latest RPI firmware.
 1.2 18-Apr-2015  skrll Use character constants instead of ascii values for readability
 1.1 28-Feb-2015  skrll branches: 1.1.2; 1.1.4;
Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.

This commit changes the KVA layout of the RPI.
 1.1.4.4 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1.4.3 06-Jun-2015  skrll Sync with HEAD
 1.1.4.2 06-Apr-2015  skrll Sync with HEAD
 1.1.4.1 28-Feb-2015  skrll file rpi2_start.S was added on branch nick-nhusb on 2015-04-06 15:17:56 +0000
 1.1.2.3 26-Feb-2016  snj Pull up following revision(s) (requested by skrll in ticket #1107):
external/broadcom/rpi-firmware/dist/LICENCE.broadcom: revision 1.2
external/broadcom/rpi-firmware/dist/bootcode.bin: revision 1.8
external/broadcom/rpi-firmware/dist/fixup.dat: revision 1.8
external/broadcom/rpi-firmware/dist/fixup_cd.dat: revision 1.8
external/broadcom/rpi-firmware/dist/start.elf: revision 1.8
external/broadcom/rpi-firmware/dist/start_cd.elf: revision 1.8
sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.29
sys/arch/arm/broadcom/bcm2835_gpio.c: revision 1.3
sys/arch/arm/broadcom/bcm2835_gpio_subr.c: revision 1.4
sys/arch/arm/broadcom/bcm2835_space.c: revision 1.9, 1.10
sys/arch/arm/broadcom/bcm2835reg.h: patch
sys/arch/arm/cortex/a9_mpsubr.S: revisions 1.45, 1.46
sys/arch/evbarm/conf/CUBIEBOARD: revision 1.45
sys/arch/evbarm/conf/std.awin: revision 1.9
sys/arch/evbarm/rpi/rpi2_start.S: revision 1.3
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.68
Check for hypervisor mode in cortex_init and exit if the cpu started
there.
Needed by latest RPI firmware.
--
Fix up bus_space_map for latest RPI firmware which now passes the FB
address in the mailbox properties as a bus address.
--
Update RPI firmware to version after the following commit
commit 224c75602b8bae1a9e942b4f1c7ed3aa8e0f0ec8
Author: popcornmix<popcornmix@gmail.com>
Date: Tue Dec 8 14:48:57 2015 +0000
--
Deal with kernel builds where virtualisation isn't available
--
Tweak CPUFLAGS to cover all CPUs
--
Fix up bcm283[56] bus_space(4) to really use bus addresses for
peripherals, etc
Simplifies the code in various places and uses the abstraction in
more places. (bcm2835_gpio_subr.c still doesn't)
 1.1.2.2 11-Mar-2015  snj Pull up following revision(s) (requested by skrll in ticket #582):
distrib/utils/embedded/conf/rpi.conf: revision 1.27
etc/etc.evbarm/Makefile.inc: revision 1.70
sys/arch/arm/broadcom/bcm2835_intr.c: revision 1.5-1.7
sys/arch/arm/broadcom/bcm2835_obio.c: revision 1.23, 1.24
sys/arch/arm/broadcom/bcm2835_space.c: revision 1.8
sys/arch/arm/broadcom/bcm2835reg.h: revision 1.14
sys/arch/arm/broadcom/bcm2835var.h: revision 1.2
sys/arch/arm/broadcom/files.bcm2835: revision 1.24
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.30
sys/arch/arm/cortex/armperiph.c: revision 1.8, 1.9
sys/arch/arm/cortex/gtmr.c: revision 1.9
sys/arch/arm/cortex/gtmr_var.h: revision 1.5
sys/arch/arm/cortex/mpcore_var.h: revision 1.3
sys/arch/arm/include/cpu.h: revision 1.84
sys/arch/evbarm/conf/RPI2: revision 1.1, 1.2
sys/arch/evbarm/conf/RPI2_INSTALL: revision 1.1
sys/arch/evbarm/conf/RPI: revision 1.59, 1.60
sys/arch/evbarm/conf/mk.rpi: revision 1.4
sys/arch/evbarm/conf/std.rpi: revisions 1.16-1.19 via patch
sys/arch/evbarm/rpi/genassym.cf: revision 1.2
sys/arch/evbarm/rpi/rpi.h: revision 1.4
sys/arch/evbarm/rpi/rpi2_start.S: revision 1.1
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.57, 1.58 via patch
sys/arch/evbarm/rpi/rpi_start.S: revision 1.13
Move some options into std.rpi
--
Add __HAVE_MM_MD_CACHE_ALIASING
Pull up following revision(s) (requested by skrll in ticket #582):
Fix TPIDRPRW_IS_CURLWP builds.
--
A MULTIPROCESSOR kernel requires TPIDRPRW_IS_CURCPU.
--
Use TPIDRPRW_IS_CURLWP as it's a slight code reduction and performance
improvement.
Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.
This commit changes the KVA layout of the RPI.
--
Make this compile where gtmr isn't used.
--
Spin up the non-boot CPUs, but don't allow cpu_boot_secondary_processors
to see them for now.
RPI2 nows works well with only the boot cpu.
--
Appease a KASSERT - will be remove when MULTIPROCESSOR RPI2 is fixed.
--
Add RPI2 to kernels build for both earmv[67].
Use the earmv6 built kernels to create an image that can be used on both
RPI and RPI2
--
Add an RPI2_INSTALL
 1.1.2.1 28-Feb-2015  snj file rpi2_start.S was added on branch netbsd-7 on 2015-03-11 20:22:56 +0000
 1.3.16.2 03-Dec-2017  jdolecek update from HEAD
 1.3.16.1 17-Dec-2015  jdolecek file rpi2_start.S was added on branch tls-maxphys on 2017-12-03 11:36:06 +0000
 1.5.2.3 20-Oct-2018  pgoyette Sync with head
 1.5.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.5.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.83 10-Dec-2017  skrll FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.

The kernel image that the RPI firmware boots is now netbsd.img in the
kernel build directory.

XXX fdtbus_get_reg needs reworking
 1.82 07-Nov-2017  ryo on RPI2, fix compile failure without options MULTIPROCESSOR.
 1.81 04-Nov-2017  jmcneill Firmware after May 8, 2017 places APs in WFE state at boot. Add a "sev"
after writing the start vector, otherwise secondary CPUs will not boot.
 1.80 16-Aug-2017  jmcneill Disable sdhost instead of sdhc for non-wifibt boards.
 1.79 12-Aug-2017  jmcneill For boards with bluetooth, use AUX UART for console and PLCOM for bt.
 1.78 01-Aug-2017  jmcneill Enable GPCLK2 to Bluetooth.
 1.77 31-Jul-2017  jmcneill Only remap sdhost/sdhci on boards with wifi.
 1.76 31-Jul-2017  jmcneill Enable AUX UART for BT on btwifi boards
 1.75 30-Jul-2017  jmcneill Add support for BCM2835 AUX UART.
 1.74 30-Jul-2017  jmcneill Explicitly configure pin pull-down/up settings for SDIO.
 1.73 30-Jul-2017  jmcneill Add driver for the bcm2835 internal SD controller. On boards with SDIO
Wi-Fi, the internal SD controller is used for the SD card slot and the
Arasan SDHCI controller is used for SDIO.
 1.72 17-Jun-2017  jmcneill Enable UART0 (PL011) on GPIO header for Raspberry Pi 3 / Zero W
 1.71 17-Jun-2017  jmcneill Disable BSC0 on Raspberry Pi 3 and Zero W boards.
 1.70 06-Jan-2017  skrll branches: 1.70.8;
Use the VC property mailbox to request the UART clock rate and use it
appropriately

Newer firmwares use 48MHz
 1.69 06-Jan-2017  skrll Whitespace
 1.68 02-Feb-2016  skrll branches: 1.68.2;
Fix up bcm283[56] bus_space(4) to really use bus addresses for
peripherals, etc

Simplifies the code in various places and uses the abstraction in
more places. (bcm2835_gpio_subr.c still doesn't)
 1.67 01-Aug-2015  skrll Re-enable cpus [123] now that bcm2835_intr.c is fixed with rev 1.11/
 1.66 31-May-2015  skrll No need to cpu_dcache_wbinv_all now that a9_mpsubr.S invalidates L1 only
as it should
 1.65 27-May-2015  jmcneill MP not ready, disable it again
 1.64 21-May-2015  skrll Before spinning up the secondary cpus flush the dcache otherwise the
dcache invalidate in cortex_mpstart makes bad things happen.

I have no idea why.

RPI2 boots again
 1.63 21-May-2015  jmcneill re-enable multiprocessor support now that sdmmc has been fixed
 1.62 01-May-2015  skrll Disable non-boot CPUs on RPI2 - there are still issues with interrupt
handling.
 1.61 12-Apr-2015  skrll RPI2 MP support.

Thanks to Matt Thomas for making this possible with his changes to pic.c
 1.60 11-Apr-2015  skrll Tweak cpu start up slightly and print TTBR for cortex_mmuinfo when
VERBOSE_INIT_ARM
 1.59 15-Mar-2015  joerg Do invalidate the cache as RPI2 build with Clang can't fetch the memory
config otherwise.
 1.58 04-Mar-2015  skrll Spin up the non-boot CPUs, but don't allow cpu_boot_secondary_processors
to see them for now.

RPI2 nows works well with only the boot cpu.
 1.57 28-Feb-2015  skrll Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.

This commit changes the KVA layout of the RPI.
 1.56 21-Jan-2015  jmcneill Newer Raspberry Pi firmware has changed the framebuffer from BGR to RGB.
The method we use to set the pixel order (vcprop set pixel order) does
not seem to work, nor does querying the pixel order (vcprop get pixel order).

The firmware passes this information to the kernel by adding a
"bcm2708_fb.fbswap" kernel cmdline arg. 0=BGR, 1=RGB. If the parameter is
absent, assume we are running on old firmware and use BGR mode.
 1.55 07-Oct-2014  mlelstv branches: 1.55.2;
fwrev is a timestamp, print in decimal.
 1.54 04-Oct-2014  macallan pay attention to copyin()'s return values
 1.53 03-Oct-2014  skrll Introduce RPI_HWCURSOR and default to off. The existing code causes
problems with vchiq at the moment.
 1.52 01-Oct-2014  mlelstv turn off hardware cursor while blanking screen.
 1.51 01-Oct-2014  mlelstv make board/firmware revisions visible via sysctl
 1.50 29-Sep-2014  macallan shut up gcc warning
while there, do some magic number reduction
 1.49 28-Sep-2014  macallan make global variables static
also, make cursor test pattern red/green to highlight RGB vs. BGR
 1.48 28-Sep-2014  macallan add hardware cursor support
 1.47 12-Sep-2014  jmcneill use dma channel mask from firmware
 1.46 07-Sep-2014  skrll Grab the DMA channel mask from the firmware.
 1.45 05-Sep-2014  macallan implement WSCONSIO_[G|S]VIDEO by hijacking bcm2835_genfb's ioctl
next step: hardware cursor
 1.44 22-Aug-2014  skrll Remove unnecessary #include
 1.43 25-Jul-2014  jmcneill branches: 1.43.2;
bump VCPROP_MAXCMDLINE to 1024, use this instead of MAX_BOOT_STRING for sizing boot_args, and allow for overriding VCPROP_MAXCMDLINE in kernel config. Fixes cmdline parsing with newer firmware (required for B+)
 1.42 16-Jul-2014  jmcneill need opt_arm_debug.h for VERBOSE_INIT_ARM
 1.41 06-Apr-2014  skrll Re-arrange RPI VM layout and enable __HAVE_MM_MD_DIRECT_MAPPED_PHYS. RPI
kernels now boot again.

I'm not admitting defeat in why there are problems with the
non-__HAVE_MM_MD_DIRECT_MAPPED_PHYS case.
 1.40 01-Apr-2014  skrll branches: 1.40.2;
Trailing whitespace.
 1.39 10-Dec-2013  joerg Move alignment attribute onto the types, not the variable instances.
Drop (unused) packed attribute.
 1.38 15-Oct-2013  skrll Switch to dwctwo(4) from dotg(4) for the RaspberryPi port. This brings
DMA support and (initial) isoc transfer support.

Remove URTWN_DOTG_WORKAROUND as dwctwo doesn't appear to need it.
 1.37 11-May-2013  skrll branches: 1.37.2;
Add attempt at KGDB support from Reiound. I couldn't get gdb to attach
properly, but the kernel was definitely in kgdb_trap and would respond
to $?#3f if typed via tip(1)
 1.36 11-May-2013  skrll Fix up the VCONS_DRAW_INTR support and DDB.

From reinoud.
 1.35 19-Mar-2013  garbled Add a new installer image for Raspberry PI to evbarm

Includes the following major changes:

1) Add new configmenu item to sysinst to allow creation of users at
post-install time.
2) Add an sshramdisk type to evbarm, which is a ramdisk with sshd
enabled, allowing users to install on a headless PI by sshing to the
device with the account "sysinst" password "netbsd" to begin the
installation. (Note, neither the account, nor the ssh setup are copied to
the finalized installation image)
3) Change mkimage to build a boot-only image, without the root filesystems.

Much of the sshramdisk code could be reused on other ports easily.
 1.34 04-Feb-2013  skrll Oops, put back the initialisation of cpu_cc_freq
 1.33 04-Feb-2013  skrll Fix some VERBOSE_INIT_ARM output
 1.32 28-Jan-2013  jmcneill add machdep.serial sysctl for getting board serial number
 1.31 25-Jan-2013  jmcneill dont crash if edid data is missing or bad
 1.30 21-Jan-2013  jakllsch Assume the first ld@sdmmc to attach is the booted device until
possibily-otherwise specified during evbarm cpu_rootconf().
 1.29 19-Jan-2013  jmcneill if the firmware gives us a bad emmc clock rate, ignore it
 1.28 11-Jan-2013  jmcneill allow ukbd to be the console keyboard if genfb is the console display device
 1.27 10-Jan-2013  jmcneill Modify fb attachment so genfb still attaches even if it isn't the console
device. Slight change to cmdline.txt to allow for this:

- console=fb enables fb console, otherwise serial console will be used
- fb=WxH to select a mode, otherwise EDID will be tried and fallback to
default mode (1280x720)
- fb=disable to disable fb completely
 1.26 09-Jan-2013  jmcneill If genfb.type=<int> is passed on cmdline, override the wsdisplay type
returned by WSDISPLAYIO_GTYPE ioctl.
 1.25 09-Jan-2013  skrll Provide the mac address for usmsc(4) as read from the firmware.
 1.24 09-Jan-2013  jmcneill framebuffer only seems to support BGR mode, so request it and set is_bgr property on device when in BGR mode
 1.23 09-Jan-2013  skrll Provide dotg(4) - a driver for the Synposys DesignWare OTG USB IP found
in the RaspberryPI. The driver supports host mode and control, interrupt,
and bulk transfers only at this point.

Heavily based on the FreeBSD driver by Hans Petter Selasky.

Thanks to all who helped. Jared McNeill, Michael van Elst and other.
 1.22 09-Jan-2013  jmcneill genfb support for rpi
 1.21 08-Jan-2013  skrll Use the VC power manager mailbox channel to power up the devices we have
support for.
 1.20 07-Jan-2013  jmcneill pass cmdline.txt boot arguments to kernel
 1.19 19-Dec-2012  skrll Get the CPU frequency and set cpu_cc_freq.
 1.18 30-Oct-2012  skrll Query the EMMC clock rate and use it if it's available.
 1.17 30-Oct-2012  skrll Make rpi_bootparams static
 1.16 26-Oct-2012  skrll branches: 1.16.2;
Count the memory regions in bootconfig.dramblocks when using the VCPROP
information.
 1.15 19-Oct-2012  skrll Make the first 8 pages available for use.
 1.14 19-Oct-2012  skrll Style change. No functional change.
 1.13 14-Oct-2012  skrll Add the Raspberry PI firmware VC mailbox channel numbers.

Add some VC property tag definitions and use them to get ARM/VC memory
split.

Grab a few others things in the process, but don't do anything other than
display them when VERBOSE_INIT_ARM is defined.
 1.12 13-Oct-2012  skrll Remove some unused includes
 1.11 03-Oct-2012  skrll Use armreg_ttbr_read instead of local version. No code change.
 1.10 03-Oct-2012  skrll Remove one set of _[AS] defines. No functional change.
 1.9 03-Oct-2012  skrll Remove some unnecessary headers.
 1.8 03-Oct-2012  skrll Update copyright
 1.7 01-Sep-2012  skrll branches: 1.7.2;
Switch RaspberryPI to use the new boot/init code.
 1.6 22-Aug-2012  jakllsch ... and remove inclusion of defparam-created header.
 1.5 16-Aug-2012  jakllsch Get accessible memory quantity and kernel command line via Linux ARM 'A'-tag
interface used by Raspberry Pi's start.elf.
 1.4 16-Aug-2012  matt Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.3 29-Jul-2012  matt branches: 1.3.2;
Fix more -fno-common fallout.
Move more variables to common locations.
 1.2 28-Jul-2012  matt Remove declartions of physmem
 1.1 26-Jul-2012  skrll Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.
 1.3.2.5 14-Feb-2013  riz Pull up revision 1.6 of rpi_machdep.c to fix ticket #813.
 1.3.2.4 13-Feb-2013  riz Pull up following revision(s) (requested by skrll in ticket #813):

etc/MAKEDEV.tmpl 1.160
etc/etc.evbarm/MAKEDEV.conf 1.9
external/broadcom/rpi-firmware/dist/LICENCE.broadcom 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.2
external/broadcom/rpi-firmware/dist/fixup.dat 1.1
external/broadcom/rpi-firmware/dist/fixup.dat 1.2
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.1
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.2
external/broadcom/rpi-firmware/dist/start.elf 1.1
external/broadcom/rpi-firmware/dist/start.elf 1.2
external/broadcom/rpi-firmware/dist/start_cd.elf 1.1
external/broadcom/rpi-firmware/dist/start_cd.elf 1.2
sys/arch/arm/broadcom/bcm2835_bsc.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_bscreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_dotg.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_emmc.c 1.7 via patch
sys/arch/arm/broadcom/bcm2835_genfb.c 1.4 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_gpioreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_intr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_mbox.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_mbox.h 1.4 via patch
sys/arch/arm/broadcom/bcm2835_obio.c 1.17 via patch
sys/arch/arm/broadcom/bcm2835_pm.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_rng.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_space.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_spi.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_spireg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_tmr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835reg.h 1.10 via patch
sys/arch/arm/broadcom/files.bcm2835 1.14 via patch
sys/arch/evbarm/conf/RPI 1.23 via patch
sys/arch/evbarm/conf/files.rpi 1.3 via patch
sys/arch/evbarm/conf/mk.rpi 1.2 via patch
sys/arch/evbarm/conf/std.rpi 1.4 via patch
sys/arch/evbarm/rpi/rpi_machdep.c 1.34 via patch
sys/arch/evbarm/rpi/rpi_start.S 1.7 via patch
sys/arch/evbarm/rpi/rpi_vcmbox.c 1.2 via patch
sys/arch/evbarm/rpi/vcio.h 1.1 via patch
sys/arch/evbarm/rpi/vcprop.h 1.7 via patch
sys/conf/files patch
sys/dev/sdmmc/sdhc.c 1.43
sys/dev/sdmmc/sdhcvar.h 1.13
sys/dev/usb/dwc_otg.c 1.45 via patch
sys/dev/usb/dwc_otgreg.h 1.5 via patch
sys/dev/usb/dwc_otgvar.h 1.11 via patch
sys/dev/usb/files.usb 1.126 via patch
sys/dev/usb/if_smsc.c 1.7 via patch
sys/dev/usb/if_smscreg.h 1.1 via patch
sys/dev/usb/if_smscvar.h 1.1 via patch
sys/dev/usb/usbdevices.config patch
sys/dev/usb/usbdevs 1.633 via patch
sys/dev/usb/usbdevs.h regen
sys/dev/usb/usbdevs_data.h regen
sys/dev/wscons/wsconsio.h 1.105,1.107 via patch
sys/dev/wscons/wsdisplayvar.h 1.50
sys/dev/wscons/wsdisplay_util.c 1.2
sys/dev/videomode/edid.c 1.12 via patch

Greatly improved Raspberry Pi support. USB and onboard
Ethernet should work.
[skrll, ticket #813]
 1.3.2.3 19-Nov-2012  riz sys/arch/arm/broadcom/bcm2835_emmc.c patch
sys/arch/arm/broadcom/bcm2835reg.h patch
sys/arch/arm/broadcom/bcm2835_mbox.h 1.1-1.3 via patch
sys/arch/arm/broadcom/bcm2835_mbox_subr.c 1.1-1.3 via patch
sys/arch/arm/broadcom/bcm2835_mboxreg.h 1.1 via patch
sys/arch/arm/broadcom/files.bcm2835 patch
sys/arch/evbarm/rpi/rpi_machdep.c patch
sys/arch/evbarm/rpi/rpi_start.S patch
sys/arch/evbarm/rpi/vcio.h 1.1 via patch
sys/arch/evbarm/rpi/vcprop.h 1.1-1.2 via patch

Improve Raspberry PI support: memory layout and clock for the
sdhc(4) controller are queried via the mailbox properties
channel.
[skrll, ticket #660]
 1.3.2.2 09-Aug-2012  jdc Pull up revisions:
src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4
src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65
src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40
src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14
src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11
src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2
src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108
src/sys/arch/arm/arm32/cpu.c revision 1.79
src/sys/arch/arm/include/armreg.h revisions 1.49,1.54
src/sys/arch/arm/arm32/pmap.c revision 1.229
src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77
src/sys/arch/arm/include/cpu.h revision 1.64
src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3
src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1
src/sys/arch/arm/conf/files.arm revision 1.106
src/sys/arch/arm/include/cpufunc.h revision 1.57
src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24
src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8
src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4
src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69
src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1
src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1
src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1
src/sys/arch/evbarm/Makefile revision 1.9
src/sys/arch/evbarm/conf/RPI revision 1.1
src/sys/arch/evbarm/conf/files.rpi revision 1.1
src/sys/arch/evbarm/conf/mk.rpi revision 1.1
src/sys/arch/evbarm/conf/std.rpi revision 1.1
src/sys/arch/evbarm/rpi/genassym.cf revision 1.1
src/sys/arch/evbarm/rpi/rpi.h revision 1.1
src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1
src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2
src/etc/etc.evbarm/Makefile.inc revision 1.28
(requested by skrll in ticket #454).

don't mix #define<TAB> and #define<SPACE> in a file.

avoid warning with options PLCOM_DEBUG for INTEGRATOR.

Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.

Replace the simple_lock with a kmutex_t. Update the locking to match
com(4) in the few places it didn't already.

DOH. Replace a line that got accidently deleted in the last commit.

device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t

Add the 'Z' to the 1176 cpu product name.

ok matt@

Fix locking botch introduced in 1.36.

Fix a KASSERT. From/OK'ed by matt@

Fix racy softint dispatch that lead to KASSERT(si->si_active) in
softint_execute

Discussed with matt@. "Looks good to me"

Add the documented ARM11[37]6 Auxiliary control register defines.

Add support for the ARM1176JZS

Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).

Provide a method for attachments to specify capabilites.

Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.

Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.

Add RPI to KERNEL_SETS

Remove #if 0 code.
 1.3.2.1 29-Jul-2012  jdc file rpi_machdep.c was added on branch netbsd-6 on 2012-08-09 06:36:51 +0000
 1.7.2.5 03-Dec-2017  jdolecek update from HEAD
 1.7.2.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7.2.3 23-Jun-2013  tls resync from head
 1.7.2.2 25-Feb-2013  tls resync with head
 1.7.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.16.2.5 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.16.2.4 23-Jan-2013  yamt sync with head
 1.16.2.3 16-Jan-2013  yamt sync with (a bit old) head
 1.16.2.2 30-Oct-2012  yamt sync with head
 1.16.2.1 26-Oct-2012  yamt file rpi_machdep.c was added on branch yamt-pagecache on 2012-10-30 17:19:26 +0000
 1.37.2.1 18-May-2014  rmind sync with head
 1.40.2.1 10-Aug-2014  tls Rebase.
 1.43.2.8 09-Aug-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #1464):
sys/arch/evbarm/rpi/rpi_machdep.c: 1.71 via patch
Disable BSC0 on Raspberry Pi 3 and Zero W boards.
 1.43.2.7 26-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #1435):
sys/arch/arm/arm32/cpu.c: 1.113 via patch
sys/arch/arm/broadcom/bcm2835_bsc.c: 1.6 via patch
sys/arch/arm/broadcom/bcm2835_plcom.c: 1.4 via patch
sys/arch/arm/cortex/gtmr.c: 1.18 via patch
sys/arch/arm/include/armreg.h: 1.110 via patch
sys/arch/arm/include/vfpreg.h: 1.15 via patch
sys/arch/arm/vfp/vfp_init.c: 1.50 via patch
sys/arch/evbarm/rpi/rpi_machdep.c: 1.59, 1.70-1.72 via patch
sys/arch/evbarm/rpi/vcprop.h: 1.16
Get the RPI3 working (in aarch32 mode) by recognising Cortex A53 CPUs.
While I'm here add some A57/A72 info as well.
My RPI3 works with FB console - the uart needs some help with its clocks.
--
Do invalidate the cache as RPI2 build with Clang can't fetch the memory
config otherwise.
--
Use the VC property mailbox to request the UART clock rate and use it
appropriately
Newer firmwares use 48MHz
--
Disable BSC0 on Raspberry Pi 3 and Zero W boards.
--
Interrupts are enabled before the timer is configured. Ensure that the
timer is disabled when attaching so it doesn't go crazy between the time
interrupts are enabled and clocks are initialized. My RPI3 makes it
multi-user now.
--
Enable UART0 (PL011) on GPIO header for Raspberry Pi 3 / Zero W
 1.43.2.6 26-Feb-2016  snj Pull up following revision(s) (requested by skrll in ticket #1107):
external/broadcom/rpi-firmware/dist/LICENCE.broadcom: revision 1.2
external/broadcom/rpi-firmware/dist/bootcode.bin: revision 1.8
external/broadcom/rpi-firmware/dist/fixup.dat: revision 1.8
external/broadcom/rpi-firmware/dist/fixup_cd.dat: revision 1.8
external/broadcom/rpi-firmware/dist/start.elf: revision 1.8
external/broadcom/rpi-firmware/dist/start_cd.elf: revision 1.8
sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.29
sys/arch/arm/broadcom/bcm2835_gpio.c: revision 1.3
sys/arch/arm/broadcom/bcm2835_gpio_subr.c: revision 1.4
sys/arch/arm/broadcom/bcm2835_space.c: revision 1.9, 1.10
sys/arch/arm/broadcom/bcm2835reg.h: patch
sys/arch/arm/cortex/a9_mpsubr.S: revisions 1.45, 1.46
sys/arch/evbarm/conf/CUBIEBOARD: revision 1.45
sys/arch/evbarm/conf/std.awin: revision 1.9
sys/arch/evbarm/rpi/rpi2_start.S: revision 1.3
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.68
Check for hypervisor mode in cortex_init and exit if the cpu started
there.
Needed by latest RPI firmware.
--
Fix up bus_space_map for latest RPI firmware which now passes the FB
address in the mailbox properties as a bus address.
--
Update RPI firmware to version after the following commit
commit 224c75602b8bae1a9e942b4f1c7ed3aa8e0f0ec8
Author: popcornmix<popcornmix@gmail.com>
Date: Tue Dec 8 14:48:57 2015 +0000
--
Deal with kernel builds where virtualisation isn't available
--
Tweak CPUFLAGS to cover all CPUs
--
Fix up bcm283[56] bus_space(4) to really use bus addresses for
peripherals, etc
Simplifies the code in various places and uses the abstraction in
more places. (bcm2835_gpio_subr.c still doesn't)
 1.43.2.5 30-Jul-2015  martin Pull up following revision(s) (requested by skrll in ticket #890):
sys/arch/arm/pic/pic.c: revision 1.27-1.32
sys/arch/arm/omap/omap5430_intr.h: revision 1.3
sys/arch/arm/broadcom/bcm2835_obio.c: revision 1.25
sys/arch/arm/cortex/gic.c: revision 1.18
sys/arch/arm/broadcom/bcm2835reg.h: revision 1.15
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.61
sys/arch/arm/broadcom/bcm2835_intr.h: revision 1.2
sys/arch/arm/marvell/mvsoc_intr.h: revision 1.5
sys/arch/arm/broadcom/bcm2835_intr.c: revision 1.8-1.10
sys/arch/arm/pic/picvar.h: revision 1.12-1.14
sys/arch/arm/omap/omap4430_intr.h: revision 1.3

Don't clear CI_ASTPENDING in exception return, do it in ast() instead.
Add basic support for __HAVE_PREEMPTION.
Use atomic ops for ci_astpending if __HAVE_PREEMPTION is defined.
Use kpreempt_disable/kpreempt_enable
Add __HAVE_PIC_HAVE_PENDING_INTRS and define it if __HAVE_PIC_SET_PRIORITY
is undefined (also define in mvsoc_intr.h since their use of the latter is
peculiar). This new define controls whether the pending interrupt logic is
compiled. The GIC doesn't use pending interrupts since it uses the priority
level on the GIC to control delivery of interrupts, thus there can never
be a pending interrupt. The kernel shrinks about 4KB with the removal of
the pending interupt support,
Only if we __HAVE_PIC_PENDING_INTRS do we need the variables to track them.
Add #define __HAVE_PIC_PENDING_INTRS for the non-GIC PICs.
Add a pic_cpus to the softc which specifies which cpus the pic can send
IPIs to. For GIC, initialize pic_cpus to kcpuset_running since it can handle
all the cpus.
Adapt pic to deal with the BCM2836 interrupts.
Move pic_pending_pics, pic_pending_ipls, and pic_blocked_irqs into a
structure and make then per-cpu. There is no global interrupt state anymore.
Use right kcpuset call.
Don't need pic_ipi_sender anymore.
Don't send IPIs to ourselves if sending to everyone.
RPI2 MP support.
Thanks to Matt Thomas for making this possible with his changes to pic.c
Use a bit per IPI type in local mailbox 0 registers. Ok matt@
IPIs should be IPL_HIGH according to rmind@
Fix bcm2836mp_pic_{un,}block_irqs to handle timer AND mailbox interrupts
if they're both passed. Thanks to nat@ for finding this.
Sprinkle some KASSERTs
 1.43.2.4 11-Mar-2015  snj Pull up following revision(s) (requested by skrll in ticket #582):
distrib/utils/embedded/conf/rpi.conf: revision 1.27
etc/etc.evbarm/Makefile.inc: revision 1.70
sys/arch/arm/broadcom/bcm2835_intr.c: revision 1.5-1.7
sys/arch/arm/broadcom/bcm2835_obio.c: revision 1.23, 1.24
sys/arch/arm/broadcom/bcm2835_space.c: revision 1.8
sys/arch/arm/broadcom/bcm2835reg.h: revision 1.14
sys/arch/arm/broadcom/bcm2835var.h: revision 1.2
sys/arch/arm/broadcom/files.bcm2835: revision 1.24
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.30
sys/arch/arm/cortex/armperiph.c: revision 1.8, 1.9
sys/arch/arm/cortex/gtmr.c: revision 1.9
sys/arch/arm/cortex/gtmr_var.h: revision 1.5
sys/arch/arm/cortex/mpcore_var.h: revision 1.3
sys/arch/arm/include/cpu.h: revision 1.84
sys/arch/evbarm/conf/RPI2: revision 1.1, 1.2
sys/arch/evbarm/conf/RPI2_INSTALL: revision 1.1
sys/arch/evbarm/conf/RPI: revision 1.59, 1.60
sys/arch/evbarm/conf/mk.rpi: revision 1.4
sys/arch/evbarm/conf/std.rpi: revisions 1.16-1.19 via patch
sys/arch/evbarm/rpi/genassym.cf: revision 1.2
sys/arch/evbarm/rpi/rpi.h: revision 1.4
sys/arch/evbarm/rpi/rpi2_start.S: revision 1.1
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.57, 1.58 via patch
sys/arch/evbarm/rpi/rpi_start.S: revision 1.13
Move some options into std.rpi
--
Add __HAVE_MM_MD_CACHE_ALIASING
Pull up following revision(s) (requested by skrll in ticket #582):
Fix TPIDRPRW_IS_CURLWP builds.
--
A MULTIPROCESSOR kernel requires TPIDRPRW_IS_CURCPU.
--
Use TPIDRPRW_IS_CURLWP as it's a slight code reduction and performance
improvement.
Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.
This commit changes the KVA layout of the RPI.
--
Make this compile where gtmr isn't used.
--
Spin up the non-boot CPUs, but don't allow cpu_boot_secondary_processors
to see them for now.
RPI2 nows works well with only the boot cpu.
--
Appease a KASSERT - will be remove when MULTIPROCESSOR RPI2 is fixed.
--
Add RPI2 to kernels build for both earmv[67].
Use the earmv6 built kernels to create an image that can be used on both
RPI and RPI2
--
Add an RPI2_INSTALL
 1.43.2.3 21-Jan-2015  martin Pull up following revision(s) (requested by jmcneill in ticket #440):
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.56
Newer Raspberry Pi firmware has changed the framebuffer from BGR to RGB.
The method we use to set the pixel order (vcprop set pixel order) does
not seem to work, nor does querying the pixel order (vcprop get pixel order).
The firmware passes this information to the kernel by adding a
"bcm2708_fb.fbswap" kernel cmdline arg. 0=BGR, 1=RGB. If the parameter is
absent, assume we are running on old firmware and use BGR mode.
 1.43.2.2 03-Oct-2014  martin Pull up following revision(s) (requested by skrll in ticket #126):
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.47
sys/arch/arm/broadcom/bcm2835reg.h: revision 1.12
sys/arch/evbarm/conf/RPI: revision 1.52
sys/arch/evbarm/conf/RPI: revision 1.53
sys/arch/evbarm/conf/RPI: revision 1.54
sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.10
sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.11
sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.12
sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.13
sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.14
sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.15
sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.3
sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.4
sys/arch/arm/broadcom/bcm2835_dmac.h: revision 1.2
sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.5
sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.18
sys/arch/arm/broadcom/bcm2835_dmac.h: revision 1.3
sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.6
sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.7
sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.8
sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.9
sys/arch/arm/broadcom/files.bcm2835: revision 1.23
sys/dev/sdmmc/sdhc.c: revision 1.45
sys/dev/sdmmc/sdhc.c: revision 1.46
sys/dev/sdmmc/sdhc.c: revision 1.47
sys/dev/sdmmc/sdhcvar.h: revision 1.14
Various RPI DMAC and sdhc improvements.
 1.43.2.1 11-Sep-2014  martin Pull up the following changes (requested by skrll, #83):
sys/arch/arm/broadcom/bcm2835_dmac.c 1.1-1.2
sys/arch/arm/broadcom/bcm2835_dmac.h 1.1
sys/arch/arm/broadcom/bcm2835_intr.c 1.4
sys/arch/arm/broadcom/bcm2835_obio.c 1.21
sys/arch/arm/broadcom/bcm2835reg.h 1.11
sys/arch/arm/broadcom/files.bcm2835 1.22
sys/arch/evbarm/conf/RPI 1.51
sys/arch/evbarm/rpi/rpi_machdep.c 1.46

Add bcm2835 dma controller driver.
 1.55.2.6 28-Aug-2017  skrll Sync with HEAD
 1.55.2.5 05-Feb-2017  skrll Sync with HEAD
 1.55.2.4 19-Mar-2016  skrll Sync with HEAD
 1.55.2.3 22-Sep-2015  skrll Sync with HEAD
 1.55.2.2 06-Jun-2015  skrll Sync with HEAD
 1.55.2.1 06-Apr-2015  skrll Sync with HEAD
 1.68.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.70.8.3 08-Apr-2018  snj Pull up following revision(s) (requested by mlelstv in ticket #704):
sys/arch/evbarm/rpi/rpi_machdep.c: 1.81
Firmware after May 8, 2017 places APs in WFE state at boot. Add a "sev"
after writing the start vector, otherwise secondary CPUs will not boot.
 1.70.8.2 21-Jun-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #46):
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.72
Enable UART0 (PL011) on GPIO header for Raspberry Pi 3 / Zero W
 1.70.8.1 21-Jun-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #43):
sys/arch/arm/broadcom/bcm2835_bsc.c: revision 1.6
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.71
sys/arch/evbarm/rpi/vcprop.h: revision 1.16
Disable BSC0 on Raspberry Pi 3 and Zero W boards.
 1.21 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.20 03-Aug-2018  skrll Provide and use kern_vtopdiff in KERN_{VTOPHYS,PHYSTOV}. A step towards
generic arm.
 1.19 03-Aug-2018  skrll Subtract KERNEL_BASE_VOFFSET from all VAs to get PA. How did this work
before?
 1.18 27-Jun-2018  ryo branches: 1.18.2;
on evbarm/RPI,RPI2, VERBOSE_INIT_ARM had broken.

XPUTC() of evbarm/rpi/rpi*_start.S uses bcm283[567]_platform_early_putchar() and it requires stack.
fixed to allocate stack when starting from rpi*_start.S and a9_mpsubr.S if needed.

to work XPUTC(), need to define VERBOSE_INIT_ARM and EARLYCONS option.
 1.17 03-Mar-2018  skrll branches: 1.17.2;
Start code now updates a global variable fdt_addr_r to handle differences
in boot protocol (think arm64)
 1.16 01-Jan-2018  skrll Need to map 512MB for some RPIs
 1.15 10-Dec-2017  skrll FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.

The kernel image that the RPI firmware boots is now netbsd.img in the
kernel build directory.

XXX fdtbus_get_reg needs reworking
 1.14 27-Mar-2015  skrll Trailing whitespace.
 1.13 28-Feb-2015  skrll Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.

This commit changes the KVA layout of the RPI.
 1.12 27-Jul-2014  skrll branches: 1.12.2; 1.12.4;
Prepare for ARM_MMU_EXTENDED
 1.11 14-May-2014  joerg Enabling alignment faults and unaligned access at the same time makes
the former win. LLVM is more aggressive than GCC about using unaligned
access, so it would crash during pmap_init.
 1.10 07-Apr-2014  skrll Whitespace.
 1.9 01-Apr-2014  skrll branches: 1.9.2;
Trailing whitespace.
 1.8 12-Nov-2013  skrll Add CPU_CONTROL_UNAL_ENABLE. New ABIs demand unaligned accesses!
 1.7 23-Sep-2012  skrll branches: 1.7.2; 1.7.4;
Map 1M beyond _end to make sure we bootstrap.
 1.6 16-Sep-2012  skrll Don't depend on any memory split for initial L1 table. Size kernel mapping
according to actual size.
 1.5 22-Aug-2012  jakllsch branches: 1.5.2;
... and remove inclusion of defparam-created header.
 1.4 16-Aug-2012  jakllsch Get accessible memory quantity and kernel command line via Linux ARM 'A'-tag
interface used by Raspberry Pi's start.elf.
 1.3 16-Aug-2012  jakllsch Do not depend on MEMSIZE being defined, instead always place temporary
MMU tables just below 128MiB.
 1.2 26-Jul-2012  skrll branches: 1.2.2;
Remove #if 0 code.
 1.1 26-Jul-2012  skrll Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.
 1.2.2.4 13-Feb-2013  riz Pull up following revision(s) (requested by skrll in ticket #813):

etc/MAKEDEV.tmpl 1.160
etc/etc.evbarm/MAKEDEV.conf 1.9
external/broadcom/rpi-firmware/dist/LICENCE.broadcom 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.2
external/broadcom/rpi-firmware/dist/fixup.dat 1.1
external/broadcom/rpi-firmware/dist/fixup.dat 1.2
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.1
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.2
external/broadcom/rpi-firmware/dist/start.elf 1.1
external/broadcom/rpi-firmware/dist/start.elf 1.2
external/broadcom/rpi-firmware/dist/start_cd.elf 1.1
external/broadcom/rpi-firmware/dist/start_cd.elf 1.2
sys/arch/arm/broadcom/bcm2835_bsc.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_bscreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_dotg.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_emmc.c 1.7 via patch
sys/arch/arm/broadcom/bcm2835_genfb.c 1.4 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_gpioreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_intr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_mbox.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_mbox.h 1.4 via patch
sys/arch/arm/broadcom/bcm2835_obio.c 1.17 via patch
sys/arch/arm/broadcom/bcm2835_pm.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_rng.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_space.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_spi.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_spireg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_tmr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835reg.h 1.10 via patch
sys/arch/arm/broadcom/files.bcm2835 1.14 via patch
sys/arch/evbarm/conf/RPI 1.23 via patch
sys/arch/evbarm/conf/files.rpi 1.3 via patch
sys/arch/evbarm/conf/mk.rpi 1.2 via patch
sys/arch/evbarm/conf/std.rpi 1.4 via patch
sys/arch/evbarm/rpi/rpi_machdep.c 1.34 via patch
sys/arch/evbarm/rpi/rpi_start.S 1.7 via patch
sys/arch/evbarm/rpi/rpi_vcmbox.c 1.2 via patch
sys/arch/evbarm/rpi/vcio.h 1.1 via patch
sys/arch/evbarm/rpi/vcprop.h 1.7 via patch
sys/conf/files patch
sys/dev/sdmmc/sdhc.c 1.43
sys/dev/sdmmc/sdhcvar.h 1.13
sys/dev/usb/dwc_otg.c 1.45 via patch
sys/dev/usb/dwc_otgreg.h 1.5 via patch
sys/dev/usb/dwc_otgvar.h 1.11 via patch
sys/dev/usb/files.usb 1.126 via patch
sys/dev/usb/if_smsc.c 1.7 via patch
sys/dev/usb/if_smscreg.h 1.1 via patch
sys/dev/usb/if_smscvar.h 1.1 via patch
sys/dev/usb/usbdevices.config patch
sys/dev/usb/usbdevs 1.633 via patch
sys/dev/usb/usbdevs.h regen
sys/dev/usb/usbdevs_data.h regen
sys/dev/wscons/wsconsio.h 1.105,1.107 via patch
sys/dev/wscons/wsdisplayvar.h 1.50
sys/dev/wscons/wsdisplay_util.c 1.2
sys/dev/videomode/edid.c 1.12 via patch

Greatly improved Raspberry Pi support. USB and onboard
Ethernet should work.
[skrll, ticket #813]
 1.2.2.3 19-Nov-2012  riz sys/arch/arm/broadcom/bcm2835_emmc.c patch
sys/arch/arm/broadcom/bcm2835reg.h patch
sys/arch/arm/broadcom/bcm2835_mbox.h 1.1-1.3 via patch
sys/arch/arm/broadcom/bcm2835_mbox_subr.c 1.1-1.3 via patch
sys/arch/arm/broadcom/bcm2835_mboxreg.h 1.1 via patch
sys/arch/arm/broadcom/files.bcm2835 patch
sys/arch/evbarm/rpi/rpi_machdep.c patch
sys/arch/evbarm/rpi/rpi_start.S patch
sys/arch/evbarm/rpi/vcio.h 1.1 via patch
sys/arch/evbarm/rpi/vcprop.h 1.1-1.2 via patch

Improve Raspberry PI support: memory layout and clock for the
sdhc(4) controller are queried via the mailbox properties
channel.
[skrll, ticket #660]
 1.2.2.2 09-Aug-2012  jdc Pull up revisions:
src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4
src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65
src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40
src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14
src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11
src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2
src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108
src/sys/arch/arm/arm32/cpu.c revision 1.79
src/sys/arch/arm/include/armreg.h revisions 1.49,1.54
src/sys/arch/arm/arm32/pmap.c revision 1.229
src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77
src/sys/arch/arm/include/cpu.h revision 1.64
src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3
src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1
src/sys/arch/arm/conf/files.arm revision 1.106
src/sys/arch/arm/include/cpufunc.h revision 1.57
src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24
src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8
src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4
src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69
src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1
src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1
src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1
src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1
src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1
src/sys/arch/evbarm/Makefile revision 1.9
src/sys/arch/evbarm/conf/RPI revision 1.1
src/sys/arch/evbarm/conf/files.rpi revision 1.1
src/sys/arch/evbarm/conf/mk.rpi revision 1.1
src/sys/arch/evbarm/conf/std.rpi revision 1.1
src/sys/arch/evbarm/rpi/genassym.cf revision 1.1
src/sys/arch/evbarm/rpi/rpi.h revision 1.1
src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1
src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2
src/etc/etc.evbarm/Makefile.inc revision 1.28
(requested by skrll in ticket #454).

don't mix #define<TAB> and #define<SPACE> in a file.

avoid warning with options PLCOM_DEBUG for INTEGRATOR.

Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.

Replace the simple_lock with a kmutex_t. Update the locking to match
com(4) in the few places it didn't already.

DOH. Replace a line that got accidently deleted in the last commit.

device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t

Add the 'Z' to the 1176 cpu product name.

ok matt@

Fix locking botch introduced in 1.36.

Fix a KASSERT. From/OK'ed by matt@

Fix racy softint dispatch that lead to KASSERT(si->si_active) in
softint_execute

Discussed with matt@. "Looks good to me"

Add the documented ARM11[37]6 Auxiliary control register defines.

Add support for the ARM1176JZS

Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).

Provide a method for attachments to specify capabilites.

Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.

Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.

Add RPI to KERNEL_SETS

Remove #if 0 code.
 1.2.2.1 26-Jul-2012  jdc file rpi_start.S was added on branch netbsd-6 on 2012-08-09 06:36:51 +0000
 1.5.2.3 03-Dec-2017  jdolecek update from HEAD
 1.5.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.7.4.1 18-May-2014  rmind sync with head
 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 23-Sep-2012  yamt file rpi_start.S was added on branch yamt-pagecache on 2012-10-30 17:19:26 +0000
 1.9.2.1 10-Aug-2014  tls Rebase.
 1.12.4.1 06-Apr-2015  skrll Sync with HEAD
 1.12.2.1 11-Mar-2015  snj Pull up following revision(s) (requested by skrll in ticket #582):
distrib/utils/embedded/conf/rpi.conf: revision 1.27
etc/etc.evbarm/Makefile.inc: revision 1.70
sys/arch/arm/broadcom/bcm2835_intr.c: revision 1.5-1.7
sys/arch/arm/broadcom/bcm2835_obio.c: revision 1.23, 1.24
sys/arch/arm/broadcom/bcm2835_space.c: revision 1.8
sys/arch/arm/broadcom/bcm2835reg.h: revision 1.14
sys/arch/arm/broadcom/bcm2835var.h: revision 1.2
sys/arch/arm/broadcom/files.bcm2835: revision 1.24
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.30
sys/arch/arm/cortex/armperiph.c: revision 1.8, 1.9
sys/arch/arm/cortex/gtmr.c: revision 1.9
sys/arch/arm/cortex/gtmr_var.h: revision 1.5
sys/arch/arm/cortex/mpcore_var.h: revision 1.3
sys/arch/arm/include/cpu.h: revision 1.84
sys/arch/evbarm/conf/RPI2: revision 1.1, 1.2
sys/arch/evbarm/conf/RPI2_INSTALL: revision 1.1
sys/arch/evbarm/conf/RPI: revision 1.59, 1.60
sys/arch/evbarm/conf/mk.rpi: revision 1.4
sys/arch/evbarm/conf/std.rpi: revisions 1.16-1.19 via patch
sys/arch/evbarm/rpi/genassym.cf: revision 1.2
sys/arch/evbarm/rpi/rpi.h: revision 1.4
sys/arch/evbarm/rpi/rpi2_start.S: revision 1.1
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.57, 1.58 via patch
sys/arch/evbarm/rpi/rpi_start.S: revision 1.13
Move some options into std.rpi
--
Add __HAVE_MM_MD_CACHE_ALIASING
Pull up following revision(s) (requested by skrll in ticket #582):
Fix TPIDRPRW_IS_CURLWP builds.
--
A MULTIPROCESSOR kernel requires TPIDRPRW_IS_CURCPU.
--
Use TPIDRPRW_IS_CURLWP as it's a slight code reduction and performance
improvement.
Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.
This commit changes the KVA layout of the RPI.
--
Make this compile where gtmr isn't used.
--
Spin up the non-boot CPUs, but don't allow cpu_boot_secondary_processors
to see them for now.
RPI2 nows works well with only the boot cpu.
--
Appease a KASSERT - will be remove when MULTIPROCESSOR RPI2 is fixed.
--
Add RPI2 to kernels build for both earmv[67].
Use the earmv6 built kernels to create an image that can be used on both
RPI and RPI2
--
Add an RPI2_INSTALL
 1.17.2.3 20-Oct-2018  pgoyette Sync with head
 1.17.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.17.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.18.2.1 10-Jun-2019  christos Sync with HEAD
 1.8 08-Mar-2021  mlelstv Add some firmware support functions and define more properties
- framebuffer
- power management
- vchiq init
- RPI4 USB firmware support
 1.7 01-Dec-2020  rin Data written to and read from bcmmbox(4) should be in little-endian.
 1.6 23-Nov-2020  rin Sort headers. No binary changes.
 1.5 08-Dec-2018  mlelstv branches: 1.5.12;
Add machdep.cpu.frequency.available node to support estd.

While the RPI can run at many intermediate clock frequencies,
this is sufficient for estd and is known to work with every
firmware revision.
 1.4 04-Oct-2014  mlelstv branches: 1.4.18; 1.4.20;
be verbose about sysmon error.
enable monitoring.
 1.3 01-Apr-2014  skrll Trailing whitespace.
 1.2 07-Jan-2013  jmcneill branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8;
Add support for rpi cpu frequency scaling through machdep.cpu.frequency.*
sysctls. The minimum and maximum supported frequencies are based on the
"arm_freq_min" and "arm_freq" values in config.txt.
 1.1 07-Jan-2013  jmcneill add support for rpi temperature sensor
 1.2.8.4 03-Dec-2017  jdolecek update from HEAD
 1.2.8.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.8.2 25-Feb-2013  tls resync with head
 1.2.8.1 07-Jan-2013  tls file rpi_vcmbox.c was added on branch tls-maxphys on 2013-02-25 00:28:37 +0000
 1.2.6.1 18-May-2014  rmind sync with head
 1.2.4.2 13-Feb-2013  riz Pull up following revision(s) (requested by skrll in ticket #813):

etc/MAKEDEV.tmpl 1.160
etc/etc.evbarm/MAKEDEV.conf 1.9
external/broadcom/rpi-firmware/dist/LICENCE.broadcom 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.2
external/broadcom/rpi-firmware/dist/fixup.dat 1.1
external/broadcom/rpi-firmware/dist/fixup.dat 1.2
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.1
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.2
external/broadcom/rpi-firmware/dist/start.elf 1.1
external/broadcom/rpi-firmware/dist/start.elf 1.2
external/broadcom/rpi-firmware/dist/start_cd.elf 1.1
external/broadcom/rpi-firmware/dist/start_cd.elf 1.2
sys/arch/arm/broadcom/bcm2835_bsc.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_bscreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_dotg.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_emmc.c 1.7 via patch
sys/arch/arm/broadcom/bcm2835_genfb.c 1.4 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_gpioreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_intr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_mbox.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_mbox.h 1.4 via patch
sys/arch/arm/broadcom/bcm2835_obio.c 1.17 via patch
sys/arch/arm/broadcom/bcm2835_pm.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_rng.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_space.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_spi.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_spireg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_tmr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835reg.h 1.10 via patch
sys/arch/arm/broadcom/files.bcm2835 1.14 via patch
sys/arch/evbarm/conf/RPI 1.23 via patch
sys/arch/evbarm/conf/files.rpi 1.3 via patch
sys/arch/evbarm/conf/mk.rpi 1.2 via patch
sys/arch/evbarm/conf/std.rpi 1.4 via patch
sys/arch/evbarm/rpi/rpi_machdep.c 1.34 via patch
sys/arch/evbarm/rpi/rpi_start.S 1.7 via patch
sys/arch/evbarm/rpi/rpi_vcmbox.c 1.2 via patch
sys/arch/evbarm/rpi/vcio.h 1.1 via patch
sys/arch/evbarm/rpi/vcprop.h 1.7 via patch
sys/conf/files patch
sys/dev/sdmmc/sdhc.c 1.43
sys/dev/sdmmc/sdhcvar.h 1.13
sys/dev/usb/dwc_otg.c 1.45 via patch
sys/dev/usb/dwc_otgreg.h 1.5 via patch
sys/dev/usb/dwc_otgvar.h 1.11 via patch
sys/dev/usb/files.usb 1.126 via patch
sys/dev/usb/if_smsc.c 1.7 via patch
sys/dev/usb/if_smscreg.h 1.1 via patch
sys/dev/usb/if_smscvar.h 1.1 via patch
sys/dev/usb/usbdevices.config patch
sys/dev/usb/usbdevs 1.633 via patch
sys/dev/usb/usbdevs.h regen
sys/dev/usb/usbdevs_data.h regen
sys/dev/wscons/wsconsio.h 1.105,1.107 via patch
sys/dev/wscons/wsdisplayvar.h 1.50
sys/dev/wscons/wsdisplay_util.c 1.2
sys/dev/videomode/edid.c 1.12 via patch

Greatly improved Raspberry Pi support. USB and onboard
Ethernet should work.
[skrll, ticket #813]
 1.2.4.1 07-Jan-2013  riz file rpi_vcmbox.c was added on branch netbsd-6 on 2013-02-13 01:36:15 +0000
 1.2.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.2.2.2 23-Jan-2013  yamt sync with head
 1.2.2.1 07-Jan-2013  yamt file rpi_vcmbox.c was added on branch yamt-pagecache on 2013-01-23 00:05:46 +0000
 1.4.20.1 10-Jun-2019  christos Sync with HEAD
 1.4.18.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.5.12.2 03-Apr-2021  thorpej Sync with HEAD.
 1.5.12.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.2 24-Mar-2021  simonb s/depreciated/deprecated/g
 1.1 14-Oct-2012  skrll branches: 1.1.2; 1.1.4; 1.1.6; 1.1.56; 1.1.58;
Add the Raspberry PI firmware VC mailbox channel numbers.

Add some VC property tag definitions and use them to get ARM/VC memory
split.

Grab a few others things in the process, but don't do anything other than
display them when VERBOSE_INIT_ARM is defined.
 1.1.58.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.56.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.6.2 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.1.6.1 14-Oct-2012  tls file vcio.h was added on branch tls-maxphys on 2012-11-20 03:01:17 +0000
 1.1.4.3 13-Feb-2013  riz Pull up following revision(s) (requested by skrll in ticket #813):

etc/MAKEDEV.tmpl 1.160
etc/etc.evbarm/MAKEDEV.conf 1.9
external/broadcom/rpi-firmware/dist/LICENCE.broadcom 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.2
external/broadcom/rpi-firmware/dist/fixup.dat 1.1
external/broadcom/rpi-firmware/dist/fixup.dat 1.2
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.1
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.2
external/broadcom/rpi-firmware/dist/start.elf 1.1
external/broadcom/rpi-firmware/dist/start.elf 1.2
external/broadcom/rpi-firmware/dist/start_cd.elf 1.1
external/broadcom/rpi-firmware/dist/start_cd.elf 1.2
sys/arch/arm/broadcom/bcm2835_bsc.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_bscreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_dotg.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_emmc.c 1.7 via patch
sys/arch/arm/broadcom/bcm2835_genfb.c 1.4 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_gpioreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_intr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_mbox.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_mbox.h 1.4 via patch
sys/arch/arm/broadcom/bcm2835_obio.c 1.17 via patch
sys/arch/arm/broadcom/bcm2835_pm.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_rng.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_space.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_spi.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_spireg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_tmr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835reg.h 1.10 via patch
sys/arch/arm/broadcom/files.bcm2835 1.14 via patch
sys/arch/evbarm/conf/RPI 1.23 via patch
sys/arch/evbarm/conf/files.rpi 1.3 via patch
sys/arch/evbarm/conf/mk.rpi 1.2 via patch
sys/arch/evbarm/conf/std.rpi 1.4 via patch
sys/arch/evbarm/rpi/rpi_machdep.c 1.34 via patch
sys/arch/evbarm/rpi/rpi_start.S 1.7 via patch
sys/arch/evbarm/rpi/rpi_vcmbox.c 1.2 via patch
sys/arch/evbarm/rpi/vcio.h 1.1 via patch
sys/arch/evbarm/rpi/vcprop.h 1.7 via patch
sys/conf/files patch
sys/dev/sdmmc/sdhc.c 1.43
sys/dev/sdmmc/sdhcvar.h 1.13
sys/dev/usb/dwc_otg.c 1.45 via patch
sys/dev/usb/dwc_otgreg.h 1.5 via patch
sys/dev/usb/dwc_otgvar.h 1.11 via patch
sys/dev/usb/files.usb 1.126 via patch
sys/dev/usb/if_smsc.c 1.7 via patch
sys/dev/usb/if_smscreg.h 1.1 via patch
sys/dev/usb/if_smscvar.h 1.1 via patch
sys/dev/usb/usbdevices.config patch
sys/dev/usb/usbdevs 1.633 via patch
sys/dev/usb/usbdevs.h regen
sys/dev/usb/usbdevs_data.h regen
sys/dev/wscons/wsconsio.h 1.105,1.107 via patch
sys/dev/wscons/wsdisplayvar.h 1.50
sys/dev/wscons/wsdisplay_util.c 1.2
sys/dev/videomode/edid.c 1.12 via patch

Greatly improved Raspberry Pi support. USB and onboard
Ethernet should work.
[skrll, ticket #813]
 1.1.4.2 19-Nov-2012  riz sys/arch/arm/broadcom/bcm2835_emmc.c patch
sys/arch/arm/broadcom/bcm2835reg.h patch
sys/arch/arm/broadcom/bcm2835_mbox.h 1.1-1.3 via patch
sys/arch/arm/broadcom/bcm2835_mbox_subr.c 1.1-1.3 via patch
sys/arch/arm/broadcom/bcm2835_mboxreg.h 1.1 via patch
sys/arch/arm/broadcom/files.bcm2835 patch
sys/arch/evbarm/rpi/rpi_machdep.c patch
sys/arch/evbarm/rpi/rpi_start.S patch
sys/arch/evbarm/rpi/vcio.h 1.1 via patch
sys/arch/evbarm/rpi/vcprop.h 1.1-1.2 via patch

Improve Raspberry PI support: memory layout and clock for the
sdhc(4) controller are queried via the mailbox properties
channel.
[skrll, ticket #660]
 1.1.4.1 14-Oct-2012  riz file vcio.h was added on branch netbsd-6 on 2012-11-19 19:13:01 +0000
 1.1.2.2 30-Oct-2012  yamt sync with head
 1.1.2.1 14-Oct-2012  yamt file vcio.h was added on branch yamt-pagecache on 2012-10-30 17:19:26 +0000
 1.1 08-Jan-2013  skrll branches: 1.1.2; 1.1.4; 1.1.8;
Use the VC power manager mailbox channel to power up the devices we have
support for.
 1.1.8.2 25-Feb-2013  tls resync with head
 1.1.8.1 08-Jan-2013  tls file vcpm.h was added on branch tls-maxphys on 2013-02-25 00:28:37 +0000
 1.1.4.2 15-Feb-2013  riz Commit another file missed from ticket 813. (Raspberry Pi support)
 1.1.4.1 08-Jan-2013  riz file vcpm.h was added on branch netbsd-6 on 2013-02-15 03:35:52 +0000
 1.1.2.2 23-Jan-2013  yamt sync with head
 1.1.2.1 08-Jan-2013  yamt file vcpm.h was added on branch yamt-pagecache on 2013-01-23 00:05:46 +0000
 1.20 08-Mar-2021  mlelstv Add some firmware support functions and define more properties
- framebuffer
- power management
- vchiq init
- RPI4 USB firmware support
 1.19 01-Dec-2020  rin Data written to and read from bcmmbox(4) should be in little-endian.
 1.18 23-Nov-2020  rin Remove stray white space. No binary changes.
 1.17 30-Dec-2019  skrll branches: 1.17.8;
Add emmc2 clock goop from mlelstv@

(missing commit)
 1.16 17-Jun-2017  jmcneill branches: 1.16.6;
Disable BSC0 on Raspberry Pi 3 and Zero W boards.
 1.15 03-Apr-2016  mlelstv branches: 1.15.10;
Add more tags understood by the firmware.
 1.14 14-Mar-2016  skrll Update vcprop_tag_clockrate structure
 1.13 28-Sep-2014  macallan branches: 1.13.2;
add hardware cursor support
 1.12 28-Sep-2014  macallan the RPi wiki had the values for VCPROPTAG_SET_CURSOR_INFO and
VCPROPTAG_SET_CURSOR_STATE swapped - now they actually work
thanks jmcneill@ for having the right idea
 1.11 23-Sep-2014  macallan add VC memory management goop
 1.10 23-Sep-2014  macallan add goop for hardware cursor handling
 1.9 25-Jul-2014  jmcneill branches: 1.9.2;
bump VCPROP_MAXCMDLINE to 1024, use this instead of MAX_BOOT_STRING for sizing boot_args, and allow for overriding VCPROP_MAXCMDLINE in kernel config. Fixes cmdline parsing with newer firmware (required for B+)
 1.8 17-Apr-2013  skrll branches: 1.8.8;
Added __packed in a couple of places to help AEABI
 1.7 08-Jan-2013  jmcneill add vc fb alpha and screen blanking tags
 1.6 08-Jan-2013  jmcneill add a couple more fb prop tags
 1.5 08-Jan-2013  jmcneill add some framebuffer related vc tags
 1.4 07-Jan-2013  jmcneill Add support for rpi cpu frequency scaling through machdep.cpu.frequency.*
sysctls. The minimum and maximum supported frequencies are based on the
"arm_freq_min" and "arm_freq" values in config.txt.
 1.3 07-Jan-2013  jmcneill add some more vcprop definitions -- power, temperature, and voltage related
 1.2 30-Oct-2012  skrll branches: 1.2.2; 1.2.4;
Add VCPROPTAG_[GS]ET_CLOCK{R,ST}ATE
 1.1 14-Oct-2012  skrll branches: 1.1.2;
Add the Raspberry PI firmware VC mailbox channel numbers.

Add some VC property tag definitions and use them to get ARM/VC memory
split.

Grab a few others things in the process, but don't do anything other than
display them when VERBOSE_INIT_ARM is defined.
 1.1.2.5 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.2.4 23-Jan-2013  yamt sync with head
 1.1.2.3 16-Jan-2013  yamt sync with (a bit old) head
 1.1.2.2 30-Oct-2012  yamt sync with head
 1.1.2.1 14-Oct-2012  yamt file vcprop.h was added on branch yamt-pagecache on 2012-10-30 17:19:26 +0000
 1.2.4.6 03-Dec-2017  jdolecek update from HEAD
 1.2.4.5 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.4.4 23-Jun-2013  tls resync from head
 1.2.4.3 25-Feb-2013  tls resync with head
 1.2.4.2 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.2.4.1 30-Oct-2012  tls file vcprop.h was added on branch tls-maxphys on 2012-11-20 03:01:17 +0000
 1.2.2.3 13-Feb-2013  riz Pull up following revision(s) (requested by skrll in ticket #813):

etc/MAKEDEV.tmpl 1.160
etc/etc.evbarm/MAKEDEV.conf 1.9
external/broadcom/rpi-firmware/dist/LICENCE.broadcom 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.2
external/broadcom/rpi-firmware/dist/fixup.dat 1.1
external/broadcom/rpi-firmware/dist/fixup.dat 1.2
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.1
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.2
external/broadcom/rpi-firmware/dist/start.elf 1.1
external/broadcom/rpi-firmware/dist/start.elf 1.2
external/broadcom/rpi-firmware/dist/start_cd.elf 1.1
external/broadcom/rpi-firmware/dist/start_cd.elf 1.2
sys/arch/arm/broadcom/bcm2835_bsc.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_bscreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_dotg.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_emmc.c 1.7 via patch
sys/arch/arm/broadcom/bcm2835_genfb.c 1.4 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_gpioreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_intr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_mbox.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_mbox.h 1.4 via patch
sys/arch/arm/broadcom/bcm2835_obio.c 1.17 via patch
sys/arch/arm/broadcom/bcm2835_pm.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_rng.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_space.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_spi.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_spireg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_tmr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835reg.h 1.10 via patch
sys/arch/arm/broadcom/files.bcm2835 1.14 via patch
sys/arch/evbarm/conf/RPI 1.23 via patch
sys/arch/evbarm/conf/files.rpi 1.3 via patch
sys/arch/evbarm/conf/mk.rpi 1.2 via patch
sys/arch/evbarm/conf/std.rpi 1.4 via patch
sys/arch/evbarm/rpi/rpi_machdep.c 1.34 via patch
sys/arch/evbarm/rpi/rpi_start.S 1.7 via patch
sys/arch/evbarm/rpi/rpi_vcmbox.c 1.2 via patch
sys/arch/evbarm/rpi/vcio.h 1.1 via patch
sys/arch/evbarm/rpi/vcprop.h 1.7 via patch
sys/conf/files patch
sys/dev/sdmmc/sdhc.c 1.43
sys/dev/sdmmc/sdhcvar.h 1.13
sys/dev/usb/dwc_otg.c 1.45 via patch
sys/dev/usb/dwc_otgreg.h 1.5 via patch
sys/dev/usb/dwc_otgvar.h 1.11 via patch
sys/dev/usb/files.usb 1.126 via patch
sys/dev/usb/if_smsc.c 1.7 via patch
sys/dev/usb/if_smscreg.h 1.1 via patch
sys/dev/usb/if_smscvar.h 1.1 via patch
sys/dev/usb/usbdevices.config patch
sys/dev/usb/usbdevs 1.633 via patch
sys/dev/usb/usbdevs.h regen
sys/dev/usb/usbdevs_data.h regen
sys/dev/wscons/wsconsio.h 1.105,1.107 via patch
sys/dev/wscons/wsdisplayvar.h 1.50
sys/dev/wscons/wsdisplay_util.c 1.2
sys/dev/videomode/edid.c 1.12 via patch

Greatly improved Raspberry Pi support. USB and onboard
Ethernet should work.
[skrll, ticket #813]
 1.2.2.2 19-Nov-2012  riz sys/arch/arm/broadcom/bcm2835_emmc.c patch
sys/arch/arm/broadcom/bcm2835reg.h patch
sys/arch/arm/broadcom/bcm2835_mbox.h 1.1-1.3 via patch
sys/arch/arm/broadcom/bcm2835_mbox_subr.c 1.1-1.3 via patch
sys/arch/arm/broadcom/bcm2835_mboxreg.h 1.1 via patch
sys/arch/arm/broadcom/files.bcm2835 patch
sys/arch/evbarm/rpi/rpi_machdep.c patch
sys/arch/evbarm/rpi/rpi_start.S patch
sys/arch/evbarm/rpi/vcio.h 1.1 via patch
sys/arch/evbarm/rpi/vcprop.h 1.1-1.2 via patch

Improve Raspberry PI support: memory layout and clock for the
sdhc(4) controller are queried via the mailbox properties
channel.
[skrll, ticket #660]
 1.2.2.1 30-Oct-2012  riz file vcprop.h was added on branch netbsd-6 on 2012-11-19 19:13:01 +0000
 1.8.8.1 10-Aug-2014  tls Rebase.
 1.9.2.1 26-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #1435):
sys/arch/arm/arm32/cpu.c: 1.113 via patch
sys/arch/arm/broadcom/bcm2835_bsc.c: 1.6 via patch
sys/arch/arm/broadcom/bcm2835_plcom.c: 1.4 via patch
sys/arch/arm/cortex/gtmr.c: 1.18 via patch
sys/arch/arm/include/armreg.h: 1.110 via patch
sys/arch/arm/include/vfpreg.h: 1.15 via patch
sys/arch/arm/vfp/vfp_init.c: 1.50 via patch
sys/arch/evbarm/rpi/rpi_machdep.c: 1.59, 1.70-1.72 via patch
sys/arch/evbarm/rpi/vcprop.h: 1.16
Get the RPI3 working (in aarch32 mode) by recognising Cortex A53 CPUs.
While I'm here add some A57/A72 info as well.
My RPI3 works with FB console - the uart needs some help with its clocks.
--
Do invalidate the cache as RPI2 build with Clang can't fetch the memory
config otherwise.
--
Use the VC property mailbox to request the UART clock rate and use it
appropriately
Newer firmwares use 48MHz
--
Disable BSC0 on Raspberry Pi 3 and Zero W boards.
--
Interrupts are enabled before the timer is configured. Ensure that the
timer is disabled when attaching so it doesn't go crazy between the time
interrupts are enabled and clocks are initialized. My RPI3 makes it
multi-user now.
--
Enable UART0 (PL011) on GPIO header for Raspberry Pi 3 / Zero W
 1.13.2.3 28-Aug-2017  skrll Sync with HEAD
 1.13.2.2 22-Apr-2016  skrll Sync with HEAD
 1.13.2.1 19-Mar-2016  skrll Sync with HEAD
 1.15.10.1 21-Jun-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #43):
sys/arch/arm/broadcom/bcm2835_bsc.c: revision 1.6
sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.71
sys/arch/evbarm/rpi/vcprop.h: revision 1.16
Disable BSC0 on Raspberry Pi 3 and Zero W boards.
 1.16.6.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.17.8.2 03-Apr-2021  thorpej Sync with HEAD.
 1.17.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.10 08-Mar-2021  mlelstv Add some firmware support functions and define more properties
- framebuffer
- power management
- vchiq init
- RPI4 USB firmware support
 1.9 01-Dec-2020  rin Data written to and read from bcmmbox(4) should be in little-endian.
 1.8 23-Nov-2020  rin Add missing __KERNEL_RCSID().
 1.7 23-Nov-2020  rin Sort headers. No binary changes.
 1.6 04-Jul-2020  skrll branches: 1.6.2;
G/C
 1.5 01-Jan-2018  skrll Remove unnecessary #includE
 1.4 10-Dec-2017  skrll FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.

The kernel image that the RPI firmware boots is now netbsd.img in the
kernel build directory.

XXX fdtbus_get_reg needs reworking
 1.3 09-Nov-2017  skrll branches: 1.3.2;
Trailing whitespcae
 1.2 03-Oct-2014  skrll Better error handling.
 1.1 28-Sep-2014  macallan add hardware cursor support
 1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.3.2.1 09-Nov-2017  jdolecek file vcprop_subr.c was added on branch tls-maxphys on 2017-12-03 11:36:06 +0000
 1.6.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.6.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.8 25-Apr-2019  msaitoh KNF. No functional change.
 1.7 13-Apr-2015  riastradh branches: 1.7.18;
MD rnd.h cleanups. Please let me know if I broke anything!
 1.6 12-Nov-2012  skrll branches: 1.6.14;
C99 types
 1.5 02-Feb-2012  tls branches: 1.5.6;
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.4 01-Jul-2011  dyoung branches: 1.4.2; 1.4.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.3 22-Sep-2009  tsutsui Split device_t/softc. Tested only on cs at ofisa on shark.
 1.2 11-Dec-2005  christos branches: 1.2.78;
merge ktrace-lwp.
 1.1 29-Aug-2003  bsh branches: 1.1.4;
support CS8900A ethernet on SMDK2410.

XXX: SMDK2410 has no EEPROM connected to CS8900A. Currently the only
way to set MAC address is give it via kernel config option.
 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 29-Aug-2003  skrll file if_cs_smdk24x0.c was added on branch ktrace-lwp on 2004-08-03 10:34:03 +0000
 1.2.78.1 11-Mar-2010  yamt sync with head
 1.4.6.1 18-Feb-2012  mrg merge to -current.
 1.4.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.4.2.1 17-Apr-2012  yamt sync with head
 1.5.6.2 03-Dec-2017  jdolecek update from HEAD
 1.5.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.6.14.1 06-Jun-2015  skrll Sync with HEAD
 1.7.18.1 10-Jun-2019  christos Sync with HEAD
 1.12 26-Jan-2022  andvar remove double t from targeted, add missing r to arbitrary
And fix few more typos along the way in comments and man pages.
 1.11 25-Jan-2022  andvar fix various typos in comments.
 1.10 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.9 24-Apr-2021  thorpej branches: 1.9.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.8 27-Oct-2012  chs branches: 1.8.52;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.7 01-Jul-2011  dyoung branches: 1.7.2; 1.7.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.6 07-Jun-2010  bsh don't use dv_xname directly.
 1.5 06-Jan-2008  matt branches: 1.5.10; 1.5.30; 1.5.32;
Cleanup softint lossage.
 1.4 04-Mar-2007  christos branches: 1.4.16; 1.4.20; 1.4.26; 1.4.32;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.3 26-Mar-2006  thorpej branches: 1.3.14;
Use device_parent().
 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 14-Feb-2004  bsh branches: 1.1.4; 1.1.18;
Keyboard driver for semtech SPICoder-SA06 on Samsung SMDK2410.

The board has a full keyboard. The controller is hooked to SPI port.
 1.1.18.3 21-Jan-2008  yamt sync with head
 1.1.18.2 03-Sep-2007  yamt sync with head.
 1.1.18.1 21-Jun-2006  yamt sync with head.
 1.1.4.5 17-Jan-2005  skrll Adapt to branch.
 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 14-Feb-2004  skrll file smdk2410_kbd.c was added on branch ktrace-lwp on 2004-08-03 10:34:03 +0000
 1.2.12.1 28-Mar-2006  tron Merge 2006-03-28 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.14.1 12-Mar-2007  rmind Sync with HEAD.
 1.4.32.1 08-Jan-2008  bouyer Sync with HEAD
 1.4.26.1 18-Feb-2008  mjf Sync with HEAD.
 1.4.20.1 09-Jan-2008  matt sync with HEAD
 1.4.16.1 28-Feb-2008  rjs Sync with HEAD.
 1.5.32.1 03-Jul-2010  rmind sync with head
 1.5.30.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.5.10.1 11-Aug-2010  yamt sync with head.
 1.7.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.7.2.1 30-Oct-2012  yamt sync with head
 1.8.52.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.9.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.14 06-Mar-2024  andvar s/horizontaol/horizontal/ in comments.
 1.13 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.12 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.11 24-Apr-2021  thorpej branches: 1.11.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.10 25-Jul-2014  dholland branches: 1.10.42;
Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.
 1.9 16-Mar-2014  dholland branches: 1.9.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.8 27-Oct-2012  chs branches: 1.8.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.7 30-Jan-2012  nisimura branches: 1.7.6;

Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.6 01-Jul-2011  dyoung branches: 1.6.2; 1.6.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.5 05-Feb-2010  snj Include locators.h for SSIOCF_ADDR_DEFAULT.
 1.4 11-Jun-2008  cegger use device_lookup_private to get softc
 1.3 04-Mar-2007  christos branches: 1.3.40; 1.3.42; 1.3.44; 1.3.46; 1.3.48;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.2 11-Dec-2005  christos branches: 1.2.26;
merge ktrace-lwp.
 1.1 14-Feb-2004  bsh branches: 1.1.4; 1.1.18;
Support SMDK2410's 240x320 TFT LCD.

This can be configured with or without wsdisplay.
Only 8- and 16-bpp modes have been tested.
 1.1.18.2 03-Sep-2007  yamt sync with head.
 1.1.18.1 21-Jun-2006  yamt sync with head.
 1.1.4.5 17-Jan-2005  skrll Adapt to branch.
 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 14-Feb-2004  skrll file smdk2410_lcd.c was added on branch ktrace-lwp on 2004-08-03 10:34:03 +0000
 1.2.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.3.48.1 18-Jun-2008  simonb Sync with head.
 1.3.46.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.3.44.2 11-Mar-2010  yamt sync with head
 1.3.44.1 04-May-2009  yamt sync with head.
 1.3.42.1 17-Jun-2008  yamt sync with head.
 1.3.40.1 29-Jun-2008  mjf Sync with HEAD.
 1.6.6.1 18-Feb-2012  mrg merge to -current.
 1.6.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.6.2.2 30-Oct-2012  yamt sync with head
 1.6.2.1 17-Apr-2012  yamt sync with head
 1.7.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.8.2.1 18-May-2014  rmind sync with head
 1.9.2.1 10-Aug-2014  tls Rebase.
 1.10.42.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.11.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.47 20-Feb-2024  andvar Fix format specifier for physmem from %d to 0x%"PRIxPSIZE" in multiple places.

Should fix VERBOSE_INIT_ARM for various evbarm kernel configs.
Also add 0x prefix in few previously fixed places to improve readability.
 1.46 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.45 17-Aug-2021  andvar fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.44 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.43 18-Apr-2020  skrll Trailing whitespace
 1.42 10-Nov-2019  chs branches: 1.42.6;
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.41 16-Jul-2019  skrll Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.40 16-Jul-2019  skrll KNF
 1.39 28-Oct-2018  skrll Fix a commit
 1.38 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.37 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.36 22-Dec-2016  cherry branches: 1.36.14; 1.36.16;
switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.35 13-Sep-2014  matt branches: 1.35.2; 1.35.4;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.34 27-Feb-2014  joerg GC writeback_dcache_line and clear_dcache_line.
 1.33 18-Aug-2013  matt <arm/locore.h> fallout (fixes some include ordering errors)
 1.32 22-Sep-2012  matt branches: 1.32.2;
Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.31 16-Aug-2012  matt branches: 1.31.2;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.30 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.29 01-Jul-2011  dyoung branches: 1.29.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.28 30-Jun-2011  wiz dependant -> dependent
 1.27 26-Dec-2009  uebayasi Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.26 26-Dec-2009  uebayasi Garbage collect an unused global, vm_offset_t pagetables_start.
 1.25 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.24 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.23 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 1.22 30-Nov-2008  martin As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.21 18-Nov-2008  cliff fix botched LKM edits
 1.20 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.19 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.18 27-Apr-2008  matt branches: 1.18.6; 1.18.8;
Merge kernel changes in matt-armv6 to HEAD.
 1.17 19-Jan-2008  chris branches: 1.17.6; 1.17.8; 1.17.10;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.16 17-May-2006  mrg branches: 1.16.34; 1.16.38; 1.16.44; 1.16.52;
in initarm(), initialise kernel_l1pt.pv_va as well as kernel_l1pt.pv_pa.
 1.15 24-Dec-2005  perry branches: 1.15.4; 1.15.6; 1.15.8; 1.15.12;
bare asm -> __asm
 1.14 24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.13 11-Dec-2005  christos merge ktrace-lwp.
 1.12 16-Mar-2005  bsh branches: 1.12.4;
Switch SMDK2410 and SMDK2800 kernels to use pmap_devmap_bootstrap() to map
I/O registers that are used in early start-up stage. This replaces the
special bootstrap-time-only bus_space_map function in smdk{2410,2800}_machdep.c.

This makes SMDK{2410,2800}'s initarm() a bit simpler, and gives us smaller diffs
to other evbarm platforms.

An another good thing for SMDK2800 is that now we have all built-in peripheral
registers mapped in 2 segments. We may expect less TLB miss on I/O access
(very slightly).
 1.11 08-Mar-2005  bsh delete unused stuff.
 1.10 12-Dec-2004  abs branches: 1.10.2; 1.10.4;
Fix comments regarding configration bounaries
 1.9 12-Dec-2004  abs Fix comments slighly
 1.8 17-Dec-2003  bsh branches: 1.8.4;
mask all interrupts during bootstrap *correctly*.

call s3c2xx0_intr_bootstrap() to initialize variables used by splfoo().
 1.7 03-Sep-2003  mycroft GC a bogus variable that was causing link failures with PCMCIA.
 1.6 29-Aug-2003  bsh tweak memory controller on startup for CS8900A at CS3 and CL-PD7610 at
CS2.
 1.5 27-Aug-2003  bsh move some definitions of register block size from s3c24[10]0reg.h
to s3c24x0reg.h when they are same for S3C2410 and 2400, and rename them as
S3C24X0_FOO_SIZE.
 1.4 05-Aug-2003  bsh add s3c2xx0_bus_dma_init() which is called by s3c2410_attach().

add a variable wdcdebug_wd_mask for a temporary workaround to the link
error when umass is configured in SMDK2410 kernel. I'll re-visit this
later.
 1.3 04-Aug-2003  bsh don't be too verbose unless VERBOSE_INIT_ARM is defined.
 1.2 01-Aug-2003  bsh delete my private hack sneaked into previous commit.
 1.1 31-Jul-2003  bsh the first cut for Samsung SMDK2410 support.
It is an evaluation board for S3C2410.

XXX: not tested much yet.
XXX: smdk2410_machdep.c and smdk2410_start.S are almost identical
to SMDK2800's. One day I'll merge them.
 1.8.4.6 01-Apr-2005  skrll Sync with HEAD.
 1.8.4.5 18-Dec-2004  skrll Sync with HEAD.
 1.8.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.8.4.2 03-Aug-2004  skrll Sync with HEAD
 1.8.4.1 17-Dec-2003  skrll file smdk2410_machdep.c was added on branch ktrace-lwp on 2004-08-03 10:34:03 +0000
 1.10.4.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.10.2.1 29-Apr-2005  kent sync with -current
 1.12.4.2 21-Jan-2008  yamt sync with head
 1.12.4.1 21-Jun-2006  yamt sync with head.
 1.15.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.15.8.1 24-May-2006  yamt sync with head.
 1.15.6.1 01-Jun-2006  kardel Sync with head.
 1.15.4.1 09-Sep-2006  rpaulo sync with head
 1.16.52.1 20-Jan-2008  bouyer Sync with HEAD
 1.16.44.1 18-Feb-2008  mjf Sync with HEAD.
 1.16.38.2 23-Mar-2008  matt sync with HEAD
 1.16.38.1 09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.16.34.1 28-Feb-2008  rjs Sync with HEAD.
 1.17.10.4 11-Mar-2010  yamt sync with head
 1.17.10.3 19-Aug-2009  yamt sync with head.
 1.17.10.2 04-May-2009  yamt sync with head.
 1.17.10.1 16-May-2008  yamt sync with head.
 1.17.8.1 18-May-2008  yamt sync with head.
 1.17.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.17.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.18.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.18.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.29.2.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.29.2.1 30-Oct-2012  yamt sync with head
 1.31.2.3 03-Dec-2017  jdolecek update from HEAD
 1.31.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.31.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.32.2.2 18-May-2014  rmind sync with head
 1.32.2.1 28-Aug-2013  rmind sync with head
 1.35.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.35.2.1 05-Feb-2017  skrll Sync with HEAD
 1.36.16.3 21-Apr-2020  martin Sync with HEAD
 1.36.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.36.16.1 10-Jun-2019  christos Sync with HEAD
 1.36.14.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.36.14.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.36.14.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.42.6.1 20-Apr-2020  bouyer Sync with HEAD
 1.6 31-Jan-2011  matt Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.5 11-Dec-2005  christos branches: 1.5.100; 1.5.106; 1.5.108;
merge ktrace-lwp.
 1.4 29-Aug-2003  bsh branches: 1.4.4;
add option SMDK2XX0_CLOCK_CONFIG to change CPU clock at kernel startup.
 1.3 29-Aug-2003  bsh fix a comment.
 1.2 04-Aug-2003  bsh disable interrupts at the beginning.
 1.1 31-Jul-2003  bsh the first cut for Samsung SMDK2410 support.
It is an evaluation board for S3C2410.

XXX: not tested much yet.
XXX: smdk2410_machdep.c and smdk2410_start.S are almost identical
to SMDK2800's. One day I'll merge them.
 1.4.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.4.4.2 03-Aug-2004  skrll Sync with HEAD
 1.4.4.1 29-Aug-2003  skrll file smdk2410_start.S was added on branch ktrace-lwp on 2004-08-03 10:34:03 +0000
 1.5.108.1 08-Feb-2011  bouyer Sync with HEAD
 1.5.106.1 06-Jun-2011  jruoho Sync with HEAD.
 1.5.100.1 05-Mar-2011  rmind sync with head
 1.52 20-Feb-2024  andvar Fix format specifier for physmem from %d to 0x%"PRIxPSIZE" in multiple places.

Should fix VERBOSE_INIT_ARM for various evbarm kernel configs.
Also add 0x prefix in few previously fixed places to improve readability.
 1.51 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.50 17-Aug-2021  andvar fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.49 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.48 18-Apr-2020  skrll Trailing whitespace
 1.47 16-Jul-2019  skrll branches: 1.47.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.46 16-Jul-2019  skrll KNF
 1.45 28-Oct-2018  skrll Fix a commit
 1.44 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.43 22-Dec-2016  cherry branches: 1.43.14; 1.43.16;
switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.42 13-Sep-2014  matt branches: 1.42.2; 1.42.4;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.41 18-Aug-2013  matt <arm/locore.h> fallout (fixes some include ordering errors)
 1.40 22-Sep-2012  matt branches: 1.40.2;
Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.39 16-Aug-2012  matt branches: 1.39.2;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.38 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.37 01-Jul-2011  dyoung branches: 1.37.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.36 30-Jun-2011  wiz dependant -> dependent
 1.35 26-Dec-2009  uebayasi Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.34 26-Dec-2009  uebayasi Garbage collect an unused global, vm_offset_t pagetables_start.
 1.33 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.32 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.31 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 1.30 30-Nov-2008  martin As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.29 18-Nov-2008  cliff fix botched LKM edits
 1.28 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.27 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.26 27-Apr-2008  matt branches: 1.26.6; 1.26.8;
Merge kernel changes in matt-armv6 to HEAD.
 1.25 19-Jan-2008  chris branches: 1.25.6; 1.25.8; 1.25.10;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.24 17-May-2006  mrg branches: 1.24.34; 1.24.38; 1.24.44; 1.24.52;
in initarm(), initialise kernel_l1pt.pv_va as well as kernel_l1pt.pv_pa.
 1.23 24-Dec-2005  perry branches: 1.23.4; 1.23.6; 1.23.8; 1.23.12;
bare asm -> __asm
 1.22 11-Dec-2005  christos merge ktrace-lwp.
 1.21 16-Mar-2005  bsh branches: 1.21.4;
Switch SMDK2410 and SMDK2800 kernels to use pmap_devmap_bootstrap() to map
I/O registers that are used in early start-up stage. This replaces the
special bootstrap-time-only bus_space_map function in smdk{2410,2800}_machdep.c.

This makes SMDK{2410,2800}'s initarm() a bit simpler, and gives us smaller diffs
to other evbarm platforms.

An another good thing for SMDK2800 is that now we have all built-in peripheral
registers mapped in 2 segments. We may expect less TLB miss on I/O access
(very slightly).
 1.20 11-Mar-2005  bsh move a few definitions to smdk2800var.h to share them between smdk2800_machdep.c and smdk2800_start.S
 1.19 12-Dec-2004  abs branches: 1.19.2; 1.19.4;
Fix comments regarding configration bounaries
 1.18 12-Dec-2004  abs Fix comments slighly
 1.17 13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.16 03-Aug-2003  bsh an arg of s3c2800_clk_freq() has been changed to match with
s3c24x0_clk_freq().
 1.15 15-Jul-2003  lukem __KERNEL_RCSID()
 1.14 15-Jun-2003  thorpej branches: 1.14.2;
Garbage-collect some unused code.
 1.13 14-Jun-2003  thorpej Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
 1.12 22-May-2003  thorpej Move KERNEL_VM_SIZE into the C files where its used.
 1.11 21-May-2003  thorpej Move KERNEL_VM_BASE inside where it is used (it won't be there for long).
 1.10 17-May-2003  thorpej Decrease the verbosity level unless VERBOSE_INIT_ARM is defiend.
 1.9 13-May-2003  bsh + use system's real PCLK frequency for source clock of sscom's
baudrate, instead of a compile time constant.

+ simplify bootstrap_bs_map() by mapping all built-in peripheral
registers at start.

+ check SW3 and SW7 and toggle RB_SINGLE and RB_KDB in boothowto if
pressed.
 1.8 13-May-2003  bsh white space nit.
 1.7 03-May-2003  thorpej Don't expose KERNEL_TEXT_BASE outside of board-specific code. This gives
individual board start-up code more flexibility about where the kernel
starts in the kernel address space.
 1.6 03-May-2003  thorpej Reduce differences between ARM32_NEW_VM_LAYOUT and not; always pass
the start and end of the kernel managed virtual address space to
pmap_bootstrap() in the new pmap.
 1.5 03-May-2003  thorpej Remove old pmap support for platforms which have fully switched over.
 1.4 03-May-2003  thorpej Switch Integrator, IXM1200, and SMDK2800 to ARM32_PMAP_NEW. These
are the last of the ARM platforms to be converted.
 1.3 26-Apr-2003  ragge Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
 1.2 02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.1 20-Nov-2002  bsh branches: 1.1.2;
SMDK2800 is an evaluation board for Samsung S3C2800 CPU.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 20-Nov-2002  thorpej file smdk2800_machdep.c was added on branch nathanw_sa on 2002-12-11 05:58:33 +0000
 1.14.2.5 01-Apr-2005  skrll Sync with HEAD.
 1.14.2.4 18-Dec-2004  skrll Sync with HEAD.
 1.14.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.14.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.14.2.1 03-Aug-2004  skrll Sync with HEAD
 1.19.4.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.19.2.1 29-Apr-2005  kent sync with -current
 1.21.4.2 21-Jan-2008  yamt sync with head
 1.21.4.1 21-Jun-2006  yamt sync with head.
 1.23.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.23.8.1 24-May-2006  yamt sync with head.
 1.23.6.1 01-Jun-2006  kardel Sync with head.
 1.23.4.1 09-Sep-2006  rpaulo sync with head
 1.24.52.1 20-Jan-2008  bouyer Sync with HEAD
 1.24.44.1 18-Feb-2008  mjf Sync with HEAD.
 1.24.38.2 23-Mar-2008  matt sync with HEAD
 1.24.38.1 09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.24.34.1 28-Feb-2008  rjs Sync with HEAD.
 1.25.10.4 11-Mar-2010  yamt sync with head
 1.25.10.3 19-Aug-2009  yamt sync with head.
 1.25.10.2 04-May-2009  yamt sync with head.
 1.25.10.1 16-May-2008  yamt sync with head.
 1.25.8.1 18-May-2008  yamt sync with head.
 1.25.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.25.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.26.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.26.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.37.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.37.2.1 30-Oct-2012  yamt sync with head
 1.39.2.3 03-Dec-2017  jdolecek update from HEAD
 1.39.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.39.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.40.2.1 28-Aug-2013  rmind sync with head
 1.42.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.42.2.1 05-Feb-2017  skrll Sync with HEAD
 1.43.16.3 21-Apr-2020  martin Sync with HEAD
 1.43.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.43.16.1 10-Jun-2019  christos Sync with HEAD
 1.43.14.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.43.14.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.47.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.6 17-Jun-2020  thorpej <sys/extent.h> not needed here.
 1.5 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 30-Jul-2003  bsh make this compile again. (arm32_bus_dma_tag._cookie)
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 20-Nov-2002  bsh branches: 1.1.2; 1.1.8;
SMDK2800 is an evaluation board for Samsung S3C2800 CPU.
 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 20-Nov-2002  thorpej file smdk2800_pci.c was added on branch nathanw_sa on 2002-12-11 05:58:33 +0000
 1.8 31-Jan-2011  matt Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.7 11-Dec-2005  christos branches: 1.7.100; 1.7.106; 1.7.108;
merge ktrace-lwp.
 1.6 16-Mar-2005  bsh Switch SMDK2410 and SMDK2800 kernels to use pmap_devmap_bootstrap() to map
I/O registers that are used in early start-up stage. This replaces the
special bootstrap-time-only bus_space_map function in smdk{2410,2800}_machdep.c.

This makes SMDK{2410,2800}'s initarm() a bit simpler, and gives us smaller diffs
to other evbarm platforms.

An another good thing for SMDK2800 is that now we have all built-in peripheral
registers mapped in 2 segments. We may expect less TLB miss on I/O access
(very slightly).
 1.5 11-Mar-2005  bsh move a few definitions to smdk2800var.h to share them between smdk2800_machdep.c and smdk2800_start.S
 1.4 18-Jun-2003  bsh branches: 1.4.2; 1.4.10; 1.4.12;
use PMAP_DOMAIN_KERNEL and DOMAIN_CLIENT instead of magic numbers.
 1.3 13-May-2003  bsh enable the domain 15 during bootstrap, as new pmap_map_section() use it.
 1.2 09-May-2003  bsh Build our own page table which is used during bootstrap, instead of
reusing the table prepared by the monitor program on ROM.

This will allow the kernel booted by gzboot at reset vector.
 1.1 20-Nov-2002  bsh branches: 1.1.2;
SMDK2800 is an evaluation board for Samsung S3C2800 CPU.
 1.1.2.2 11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 20-Nov-2002  thorpej file smdk2800_start.S was added on branch nathanw_sa on 2002-12-11 05:58:33 +0000
 1.4.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.4.10.1 29-Apr-2005  kent sync with -current
 1.4.2.1 01-Apr-2005  skrll Sync with HEAD.
 1.7.108.1 08-Feb-2011  bouyer Sync with HEAD
 1.7.106.1 06-Jun-2011  jruoho Sync with HEAD.
 1.7.100.1 05-Mar-2011  rmind sync with head
 1.2 16-Mar-2005  bsh branches: 1.2.4; 1.2.6; 1.2.8;
Switch SMDK2410 and SMDK2800 kernels to use pmap_devmap_bootstrap() to map
I/O registers that are used in early start-up stage. This replaces the
special bootstrap-time-only bus_space_map function in smdk{2410,2800}_machdep.c.

This makes SMDK{2410,2800}'s initarm() a bit simpler, and gives us smaller diffs
to other evbarm platforms.

An another good thing for SMDK2800 is that now we have all built-in peripheral
registers mapped in 2 segments. We may expect less TLB miss on I/O access
(very slightly).
 1.1 11-Mar-2005  bsh move a few definitions to smdk2800var.h to share them between smdk2800_machdep.c and smdk2800_start.S
 1.2.8.2 29-Apr-2005  kent sync with -current
 1.2.8.1 16-Mar-2005  kent file smdk2800var.h was added on branch kent-audio2 on 2005-04-29 11:28:08 +0000
 1.2.6.2 01-Apr-2005  skrll Sync with HEAD.
 1.2.6.1 16-Mar-2005  skrll file smdk2800var.h was added on branch ktrace-lwp on 2005-04-01 14:27:09 +0000
 1.2.4.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.2.4.1 16-Mar-2005  yamt file smdk2800var.h was added on branch yamt-km on 2005-03-19 08:32:56 +0000
 1.14 16-Sep-2021  andvar fix various typos, mainly in comments.
 1.13 12-Sep-2020  jmcneill Add HAVE_ACPI and HAVE_UEFI flags to bsd.own.mk and use them to
conditionally include ACPI and UEFI bits instead of relying on adhoc
MACHINE_ARCH tests.
 1.12 08-Sep-2020  jmcneill Build EFI bootloader on big endian armv7 and aarch64 targets.
 1.11 04-Sep-2020  jakllsch Only build bootaa64.efi on LE aarch64 for now, to match set lists
 1.10 30-Mar-2019  jmcneill Remove redundant TARGET_ENDIANNESS check
 1.9 30-Mar-2019  jmcneill Don't even bother trying to get this to work on BE targets.
 1.8 30-Mar-2019  jmcneill Build efiboot on armv7
 1.7 25-Aug-2018  jmcneill Build and install bootaa64.efi on 64-bit evbarm
 1.6 01-Apr-2018  ryo branches: 1.6.2;
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.5 05-Feb-2013  matt branches: 1.5.36;
There are other little endian arm machine_arches other than "arm"
Use MACHINE_CPU and TARGET_ENDIANNESS instead of MACHINE_ARCH
 1.4 27-Nov-2012  jkunz According to the i.MX23 Reference Manual section 3.1, Page 3-3:
"The i.MX23 always operates in litle-endian mode."
So build elftosb and bootloader for this processor only for evbarm(-el).
 1.3 20-Nov-2012  jkunz Add initial support for Olimex iMX233 based OLinuXino boards.
https://www.olimex.com/Products/OLinuXino/iMX233/
Contributed by Petri Laakso.
 1.2 30-Jan-2012  nisimura branches: 1.2.6;

Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.1 29-Apr-2003  thorpej branches: 1.1.142; 1.1.146;
Descend into the gzboot directories.
 1.1.146.1 18-Feb-2012  mrg merge to -current.
 1.1.142.3 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.142.2 16-Jan-2013  yamt sync with (a bit old) head
 1.1.142.1 17-Apr-2012  yamt sync with head
 1.2.6.1 25-Feb-2013  tls resync with head
 1.5.36.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.5.36.1 07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.3 02-May-2013  matt use KLINK_MACHINE
 1.2 02-May-2013  matt This change arm, armeb, earm, earmeb, earmhf, earmhfeb so all builds that
share a MACHINE_ARCH for userland so that except for etc, will produce
identical sets.

usr/include/machine now points to usr/include/arm
 1.1 29-Apr-2003  thorpej branches: 1.1.142; 1.1.152;
Descend into the gzboot directories.
 1.1.152.1 23-Jun-2013  tls resync from head
 1.1.142.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 25-Mar-2003  thorpej Standalone board support routines for the ADI BRH.
 1.3 16-Jan-2006  he The new zlib uses HEAP_SIZE, so instead use BOARD_HEAP_SIZE as the
symbol to use here. Also adapt to the new zlib with the changed name
for the header file.
 1.2 24-Dec-2005  perry branches: 1.2.2;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.1 25-Mar-2003  thorpej branches: 1.1.18;
Memory routines for boards using the ADI BECC companion chip.
 1.1.18.1 21-Jun-2006  yamt sync with head.
 1.2.2.1 01-Feb-2006  yamt sync with head.
 1.2 17-Apr-2002  thorpej branches: 1.2.6;
Add board_init() and board_fini() routines for IQ80310 and IQ80321
eval boards.
 1.1 23-Feb-2002  thorpej branches: 1.1.2;
Add some simple standalone device drivers for IOP310-based boards.
 1.1.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 23-Feb-2002  nathanw file board.h was added on branch nathanw_sa on 2002-02-28 04:09:16 +0000
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 17-Apr-2002  jdolecek file board.h was added on branch kqueue on 2002-06-23 17:35:44 +0000
 1.6 05-Sep-2022  tsutsui G/C ISSET() macro copies. It has been defined in <sys/types.h> since 2006.
 1.5 23-Oct-2009  snj Switch to a 2 clause license. Approved by joff@ (copyright holder).
 1.4 08-Mar-2006  lukem branches: 1.4.68;
Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings.
Add a space between numbers and Hz unit.
 1.3 24-Dec-2005  perry branches: 1.3.4; 1.3.6; 1.3.8; 1.3.10;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 24-Dec-2004  joff branches: 1.1.4; 1.1.12;
On-chip EP93xx UART support
 1.1.12.1 21-Jun-2006  yamt sync with head.
 1.1.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.1 24-Dec-2004  skrll file epcom.c was added on branch ktrace-lwp on 2005-01-17 19:29:13 +0000
 1.3.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.3.8.1 13-Mar-2006  yamt sync with head.
 1.3.6.1 22-Apr-2006  simonb Sync with head.
 1.3.4.1 09-Sep-2006  rpaulo sync with head
 1.4.68.1 11-Mar-2010  yamt sync with head
 1.1 30-Oct-2008  cliff branches: 1.1.6; 1.1.8; 1.1.10; 1.1.16;
add gzboot support for gemini

GEMINI_dram_0x01600000 defines inflation from concatenated
gzboot & netbsd.bin.gz at sdram 0x01600000 to 0x00200000

note that ns16550.c INB() and OUTB() macros now have
"mult 4" type 4 byte regsiter offset stride
if NS16550_AX4 is defined. this is needed for gemini,
and was OKed by gimpy.
 1.1.16.2 04-May-2009  yamt sync with head.
 1.1.16.1 30-Oct-2008  yamt file gemini.c was added on branch yamt-nfs-mp on 2009-05-04 08:11:00 +0000
 1.1.10.2 19-Jan-2009  skrll Sync with HEAD.
 1.1.10.1 30-Oct-2008  skrll file gemini.c was added on branch nick-hppapmap on 2009-01-19 13:16:07 +0000
 1.1.8.2 17-Jan-2009  mjf Sync with HEAD.
 1.1.8.1 30-Oct-2008  mjf file gemini.c was added on branch mjf-devfs2 on 2009-01-17 13:27:59 +0000
 1.1.6.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.1.6.1 30-Oct-2008  haad file gemini.c was added on branch haad-dm on 2008-12-13 01:13:08 +0000
 1.2 11-Nov-2008  cliff branches: 1.2.4; 1.2.6; 1.2.8; 1.2.12;
constrain MEMSIZE to avoid stepping out of smallest-case
Gemini CPU Remap Control remapped-private memory size
"bad" things can happen if the gzboot heap is in
non-core-private memory.
 1.1 30-Oct-2008  cliff add gzboot support for gemini

GEMINI_dram_0x01600000 defines inflation from concatenated
gzboot & netbsd.bin.gz at sdram 0x01600000 to 0x00200000

note that ns16550.c INB() and OUTB() macros now have
"mult 4" type 4 byte regsiter offset stride
if NS16550_AX4 is defined. this is needed for gemini,
and was OKed by gimpy.
 1.2.12.2 04-May-2009  yamt sync with head.
 1.2.12.1 11-Nov-2008  yamt file gemini_mem.c was added on branch yamt-nfs-mp on 2009-05-04 08:11:00 +0000
 1.2.8.2 19-Jan-2009  skrll Sync with HEAD.
 1.2.8.1 11-Nov-2008  skrll file gemini_mem.c was added on branch nick-hppapmap on 2009-01-19 13:16:07 +0000
 1.2.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.2.6.1 11-Nov-2008  mjf file gemini_mem.c was added on branch mjf-devfs2 on 2009-01-17 13:27:59 +0000
 1.2.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.2.4.1 11-Nov-2008  haad file gemini_mem.c was added on branch haad-dm on 2008-12-13 01:13:08 +0000
 1.4 16-Jan-2006  he The new zlib uses HEAP_SIZE, so instead use BOARD_HEAP_SIZE as the
symbol to use here. Also adapt to the new zlib with the changed name
for the header file.
 1.3 24-Dec-2005  perry branches: 1.3.2;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.2 25-Apr-2002  thorpej branches: 1.2.6; 1.2.28;
Allow the size of the heap to be specified at build time.
 1.1 23-Feb-2002  thorpej branches: 1.1.2;
Add some simple standalone device drivers for IOP310-based boards.
 1.1.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 23-Feb-2002  nathanw file i80312_mem.c was added on branch nathanw_sa on 2002-02-28 04:09:16 +0000
 1.2.28.1 21-Jun-2006  yamt sync with head.
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 25-Apr-2002  jdolecek file i80312_mem.c was added on branch kqueue on 2002-06-23 17:35:44 +0000
 1.3.2.1 01-Feb-2006  yamt sync with head.
 1.4 16-Jan-2006  he The new zlib uses HEAP_SIZE, so instead use BOARD_HEAP_SIZE as the
symbol to use here. Also adapt to the new zlib with the changed name
for the header file.
 1.3 24-Dec-2005  perry branches: 1.3.2;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.2 25-Apr-2002  thorpej branches: 1.2.6; 1.2.28;
Allow the size of the heap to be specified at build time.
 1.1 27-Mar-2002  thorpej branches: 1.1.2;
Stand-alone memory sizing routine for the Intel i80321 I/O processor
("Verde").
 1.1.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.1.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.1 27-Mar-2002  nathanw file i80321_mem.c was added on branch nathanw_sa on 2002-04-01 07:39:48 +0000
 1.2.28.1 21-Jun-2006  yamt sync with head.
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 25-Apr-2002  jdolecek file i80321_mem.c was added on branch kqueue on 2002-06-23 17:35:44 +0000
 1.3.2.1 01-Feb-2006  yamt sync with head.
 1.5 24-Jun-2023  msaitoh Fix typo in error message.
 1.4 16-Jan-2006  he The new zlib uses HEAP_SIZE, so instead use BOARD_HEAP_SIZE as the
symbol to use here. Also adapt to the new zlib with the changed name
for the header file.
 1.3 24-Dec-2005  perry branches: 1.3.2;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.2 25-Apr-2002  thorpej branches: 1.2.6; 1.2.8; 1.2.30;
Allow the size of the heap to be specified at build time.
 1.1 18-Apr-2002  thorpej Add a standalone routine for fetching the memory size from the
core module on an ARM Integrator board.
 1.2.30.1 21-Jun-2006  yamt sync with head.
 1.2.8.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.8.1 25-Apr-2002  jdolecek file integrator_mem.c was added on branch kqueue on 2002-06-23 17:35:44 +0000
 1.2.6.2 20-Jun-2002  nathanw Catch up to -current.
 1.2.6.1 25-Apr-2002  nathanw file integrator_mem.c was added on branch nathanw_sa on 2002-06-20 03:38:33 +0000
 1.3.2.1 01-Feb-2006  yamt sync with head.
 1.1 17-Apr-2002  thorpej branches: 1.1.6; 1.1.8;
Add board_init() and board_fini() routines for IQ80310 and IQ80321
eval boards.
 1.1.8.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.8.1 17-Apr-2002  jdolecek file iq80310.c was added on branch kqueue on 2002-06-23 17:35:44 +0000
 1.1.6.2 20-Jun-2002  nathanw Catch up to -current.
 1.1.6.1 17-Apr-2002  nathanw file iq80310.c was added on branch nathanw_sa on 2002-06-20 03:38:34 +0000
 1.3 28-Mar-2002  thorpej Rename iq80310_cons.c to ns16550.c. Require that CONADDR be
defined by the Makefile at build time.
 1.2 27-Mar-2002  thorpej Note that this module will also work with the IQ80321 eval board.
 1.1 23-Feb-2002  thorpej branches: 1.1.2;
Add some simple standalone device drivers for IOP310-based boards.
 1.1.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 23-Feb-2002  nathanw file iq80310_cons.c was added on branch nathanw_sa on 2002-02-28 04:09:16 +0000
 1.1 17-Apr-2002  thorpej branches: 1.1.6; 1.1.8;
Add board_init() and board_fini() routines for IQ80310 and IQ80321
eval boards.
 1.1.8.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.8.1 17-Apr-2002  jdolecek file iq80321.c was added on branch kqueue on 2002-06-23 17:35:44 +0000
 1.1.6.2 20-Jun-2002  nathanw Catch up to -current.
 1.1.6.1 17-Apr-2002  nathanw file iq80321.c was added on branch nathanw_sa on 2002-06-20 03:38:34 +0000
 1.1 12-Feb-2020  thorpej branches: 1.1.2; 1.1.6;
Add gzboot support for NSLU2. This is a work-in-progress. This configuration
follows the existing NSLU2 RedBoot default bootstrap procedure. (Other
configurations are possible, but not yet implemented.)
 1.1.6.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.6.1 12-Feb-2020  martin file ixp425_mem.c was added on branch phil-wifi on 2020-04-08 14:07:36 +0000
 1.1.2.2 29-Feb-2020  ad Sync with head.
 1.1.2.1 12-Feb-2020  ad file ixp425_mem.c was added on branch ad-namecache on 2020-02-29 20:18:23 +0000
 1.5 05-Sep-2022  tsutsui G/C ISSET() macro copies. It has been defined in <sys/types.h> since 2006.
 1.4 30-Oct-2008  cliff add gzboot support for gemini

GEMINI_dram_0x01600000 defines inflation from concatenated
gzboot & netbsd.bin.gz at sdram 0x01600000 to 0x00200000

note that ns16550.c INB() and OUTB() macros now have
"mult 4" type 4 byte regsiter offset stride
if NS16550_AX4 is defined. this is needed for gemini,
and was OKed by gimpy.
 1.3 24-Dec-2005  perry branches: 1.3.74; 1.3.78; 1.3.84; 1.3.86;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.2 25-Mar-2003  thorpej branches: 1.2.18;
Allow the frequency to be set by the Makefile.
 1.1 28-Mar-2002  thorpej branches: 1.1.2; 1.1.8;
Rename iq80310_cons.c to ns16550.c. Require that CONADDR be
defined by the Makefile at build time.
 1.1.8.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.8.1 28-Mar-2002  jdolecek file ns16550.c was added on branch kqueue on 2002-06-23 17:35:45 +0000
 1.1.2.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.2.1 28-Mar-2002  nathanw file ns16550.c was added on branch nathanw_sa on 2002-04-01 07:39:48 +0000
 1.2.18.1 21-Jun-2006  yamt sync with head.
 1.3.86.1 19-Jan-2009  skrll Sync with HEAD.
 1.3.84.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.3.78.1 04-May-2009  yamt sync with head.
 1.3.74.1 17-Jan-2009  mjf Sync with HEAD.
 1.1 12-Feb-2020  thorpej branches: 1.1.2; 1.1.6;
Add gzboot support for NSLU2. This is a work-in-progress. This configuration
follows the existing NSLU2 RedBoot default bootstrap procedure. (Other
configurations are possible, but not yet implemented.)
 1.1.6.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.6.1 12-Feb-2020  martin file nslu2.c was added on branch phil-wifi on 2020-04-08 14:07:36 +0000
 1.1.2.2 29-Feb-2020  ad Sync with head.
 1.1.2.1 12-Feb-2020  ad file nslu2.c was added on branch ad-namecache on 2020-02-29 20:18:23 +0000
 1.2 12-Jan-2009  tsutsui branches: 1.2.2; 1.2.4; 1.2.8;
- WARNSfy
- add src/common/dist/zlib to incpath for build without DESTDIR
 1.1 10-Nov-2008  cliff branches: 1.1.4;
- nullcom.c provides nulldev-like console device for silent gzboot
- GEMINI_dram_0x01600000/Makefile uses nullcom, shhh
 1.1.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.1.4.1 10-Nov-2008  haad file nullcom.c was added on branch haad-dm on 2008-12-13 01:13:08 +0000
 1.2.8.2 04-May-2009  yamt sync with head.
 1.2.8.1 12-Jan-2009  yamt file nullcom.c was added on branch yamt-nfs-mp on 2009-05-04 08:11:00 +0000
 1.2.4.2 19-Jan-2009  skrll Sync with HEAD.
 1.2.4.1 12-Jan-2009  skrll file nullcom.c was added on branch nick-hppapmap on 2009-01-19 13:16:07 +0000
 1.2.2.2 17-Jan-2009  mjf Sync with HEAD.
 1.2.2.1 12-Jan-2009  mjf file nullcom.c was added on branch mjf-devfs2 on 2009-01-17 13:27:59 +0000
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 03-Sep-2003  mycroft branches: 1.1.4;
Add gzboot support for SMDK2410.
 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 03-Sep-2003  skrll file s3c2410_vector.S was added on branch ktrace-lwp on 2004-08-03 10:34:08 +0000
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 30-Jul-2003  bsh branches: 1.1.4;
gzboot for SMDK2800.
 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 30-Jul-2003  skrll file s3c2800_vector.S was added on branch ktrace-lwp on 2004-08-03 10:34:08 +0000
 1.4 16-Jan-2006  he The new zlib uses HEAP_SIZE, so instead use BOARD_HEAP_SIZE as the
symbol to use here. Also adapt to the new zlib with the changed name
for the header file.
 1.3 11-Dec-2005  christos branches: 1.3.2;
merge ktrace-lwp.
 1.2 05-Oct-2003  bsh branches: 1.2.4; 1.2.18;
move back get_com_freq() to sscom.c with #ifdef CPU_{S3C2800,S3C2410}
 1.1 03-Sep-2003  mycroft Add gzboot support for SMDK2410.
 1.2.18.1 21-Jun-2006  yamt sync with head.
 1.2.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.2.4.2 03-Aug-2004  skrll Sync with HEAD
 1.2.4.1 05-Oct-2003  skrll file smdk2410.c was added on branch ktrace-lwp on 2004-08-03 10:34:08 +0000
 1.3.2.1 01-Feb-2006  yamt sync with head.
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 03-Sep-2003  mycroft branches: 1.1.4;
Add gzboot support for SMDK2410.
 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 03-Sep-2003  skrll file smdk2410_io_init.c was added on branch ktrace-lwp on 2004-08-03 10:34:08 +0000
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 03-Sep-2003  mycroft branches: 1.1.4;
Add gzboot support for SMDK2410.
 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 03-Sep-2003  skrll file smdk2410_ram_init.S was added on branch ktrace-lwp on 2004-08-03 10:34:08 +0000
 1.5 16-Jan-2006  he The new zlib uses HEAP_SIZE, so instead use BOARD_HEAP_SIZE as the
symbol to use here. Also adapt to the new zlib with the changed name
for the header file.
 1.4 11-Dec-2005  christos branches: 1.4.2;
merge ktrace-lwp.
 1.3 05-Oct-2003  bsh branches: 1.3.4; 1.3.18;
move back get_com_freq() to sscom.c with #ifdef CPU_{S3C2800,S3C2410}
 1.2 03-Sep-2003  mycroft Add gzboot support for SMDK2410.
 1.1 30-Jul-2003  bsh gzboot for SMDK2800.
 1.3.18.1 21-Jun-2006  yamt sync with head.
 1.3.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.3.4.2 03-Aug-2004  skrll Sync with HEAD
 1.3.4.1 05-Oct-2003  skrll file smdk2800.c was added on branch ktrace-lwp on 2004-08-03 10:34:08 +0000
 1.4.2.1 01-Feb-2006  yamt sync with head.
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 30-Jul-2003  bsh branches: 1.1.4;
gzboot for SMDK2800.
 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 30-Jul-2003  skrll file smdk2800_io_init.c was added on branch ktrace-lwp on 2004-08-03 10:34:08 +0000
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 30-Jul-2003  bsh branches: 1.1.4;
gzboot for SMDK2800.
 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 30-Jul-2003  skrll file smdk2800_ram_init.S was added on branch ktrace-lwp on 2004-08-03 10:34:08 +0000
 1.7 05-Sep-2022  tsutsui G/C ISSET() macro copies. It has been defined in <sys/types.h> since 2006.
 1.6 04-Nov-2013  christos mark variable unused
 1.5 24-Dec-2005  perry branches: 1.5.112; 1.5.122; 1.5.128;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 05-Oct-2003  bsh branches: 1.3.4; 1.3.18;
move back get_com_freq() to sscom.c with #ifdef CPU_{S3C2800,S3C2410}
 1.2 03-Sep-2003  mycroft Add gzboot support for SMDK2410.
 1.1 30-Jul-2003  bsh gzboot for SMDK2800.
 1.3.18.1 21-Jun-2006  yamt sync with head.
 1.3.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.3.4.2 03-Aug-2004  skrll Sync with HEAD
 1.3.4.1 05-Oct-2003  skrll file sscom.c was added on branch ktrace-lwp on 2004-08-03 10:34:08 +0000
 1.5.128.1 18-May-2014  rmind sync with 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.4 23-Oct-2009  snj Switch to a 2 clause license. Approved by joff@ (copyright holder).
 1.3 16-Jan-2006  he branches: 1.3.76;
The new zlib uses HEAP_SIZE, so instead use BOARD_HEAP_SIZE as the
symbol to use here. Also adapt to the new zlib with the changed name
for the header file.
 1.2 11-Dec-2005  christos branches: 1.2.2;
merge ktrace-lwp.
 1.1 24-Dec-2004  joff branches: 1.1.4; 1.1.12;
generic TS-7200 gzboot support
 1.1.12.1 21-Jun-2006  yamt sync with head.
 1.1.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.1 24-Dec-2004  skrll file ts7200.c was added on branch ktrace-lwp on 2005-01-17 19:29:13 +0000
 1.2.2.1 01-Feb-2006  yamt sync with head.
 1.3.76.1 11-Mar-2010  yamt sync with head
 1.19 24-Oct-2019  christos 1. All Makefiles that use ARM_APCS_FLAGS add -marm unconditionally and
bsd.own.mk also adds it for gcc only (so we end up with 2 -marm for gcc).
Just add -marm unconditionally in bsd.own.mk in ARM_APCS_FLAGS and remove
it from everywhere else.
2. gcc-8 now warns about thumb internetwork in APCS mode. This does not make
sense because the documentation says that this flag does not make a
difference in apcs mode, but might produce larger code in non-APCS mode.
So we just add it to silence the warnings.
 1.18 08-Apr-2017  christos branches: 1.18.14;
centralize vers.c building for standalone programs.
 1.17 22-Feb-2017  maya Get rid of more -mno-thumb -mno-thumb-interwork for GCC < 4.8
 1.16 12-Jan-2014  tsutsui branches: 1.16.6; 1.16.10; 1.16.14;
Add empty LIBCRTI= as LIBCRT0 to build sa programs without installed DESTDIR.

XXX: probabry we should have bsd.saprog.mk or something.
 1.15 15-Dec-2013  joerg Move flags for ARM's APCS ABI into a common variable. Add some forces to
deal with limitations in the Clang <-> LLVM backend interaction to pick
the correct ABI and target assembler.
 1.14 05-Dec-2013  joerg Use -marm for clang builds, too.
 1.13 04-Nov-2013  christos explicitly add -marm
 1.12 04-Nov-2013  christos -mno-thumb-interwork is the default, and there is no -mthumb in gcc 4.8
 1.11 21-Aug-2013  matt Use <bsd.klinks.mk>
DBG=-Os (instead of blank)
 1.10 15-Aug-2013  matt Add CPPFLAGS+= -mno-thumb -mno-thumb-interwork
 1.9 23-Jun-2013  matt branches: 1.9.2;
Add -fno-unwind-tables
 1.8 29-Mar-2013  matt Make sure CPUFLAGS remains empty.
 1.7 06-Feb-2013  matt gcc will supply -Wa,-eabi=gnu so don't include. Use -mabi=apcs-base, not atpcs
 1.6 05-Feb-2013  matt Make sure these are always compiled with -mabi=atpcs -mfloat-abi=soft
-Wa,-meabi=gnu so they use the old compilation methods.
 1.5 12-Dec-2012  matt Don't allow CPUFLAGS to be overridden.
 1.4 20-Jul-2012  matt branches: 1.4.2;
Add ${_MKTARGET_LINK}
 1.3 22-Feb-2012  nisimura branches: 1.3.2;

- adapt DM9000 driver name change.
- move -DLIBSA_PRINTF_WIDTH_SUPPORT to CPPFLAGS variable as SACPPFLAGS
does not work.
- add a logic to make/remove machine/ and arm/ symlinks.
- remove redundant directives in no use.
 1.2 31-Jan-2012  nisimura branches: 1.2.4;

- add TFTP loading facility.
- SD/MMC load default is now "ld0a:netbsd"
 1.1 30-Jan-2012  nisimura Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.2.4.1 06-Dec-2012  matt Hardcode CPUFLAGS appropriately so that these are always built for the correct
cpu/architecture.
 1.3.2.5 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.3.2.4 16-Jan-2013  yamt sync with (a bit old) head
 1.3.2.3 30-Oct-2012  yamt sync with head
 1.3.2.2 17-Apr-2012  yamt sync with head
 1.3.2.1 22-Feb-2012  yamt file Makefile was added on branch yamt-pagecache on 2012-04-17 00:06:15 +0000
 1.4.2.4 03-Dec-2017  jdolecek update from HEAD
 1.4.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.2.2 23-Jun-2013  tls resync from head
 1.4.2.1 25-Feb-2013  tls resync with head
 1.9.2.2 18-May-2014  rmind sync with head
 1.9.2.1 28-Aug-2013  rmind sync with head
 1.16.14.1 21-Apr-2017  bouyer Sync with HEAD
 1.16.10.2 26-Apr-2017  pgoyette Sync with HEAD
 1.16.10.1 20-Mar-2017  pgoyette Sync with HEAD
 1.16.6.1 28-Aug-2017  skrll Sync with HEAD
 1.18.14.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2 31-Jan-2012  nisimura branches: 1.2.4;

- add TFTP loading facility.
- SD/MMC load default is now "ld0a:netbsd"
 1.1 30-Jan-2012  nisimura Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.2.4.2 17-Apr-2012  yamt sync with head
 1.2.4.1 31-Jan-2012  yamt file dev_net.c was added on branch yamt-pagecache on 2012-04-17 00:06:15 +0000
 1.6 29-Aug-2024  andvar s/Perfom/Perform/ in comment.
 1.5 09-Jul-2018  christos branches: 1.5.36;
Remove duplicate copies of the SET/CLR/ISSET macros.
 1.4 09-Jul-2018  kre Avoid redefining SET/CLR/ISSET (which in the kernel are normally
defined in <sys/types.h>). These redefinitions (when they are,
that is, when types.h is included) were sneaking through because
they were defined identically ... until CLR in <sys/types.h> was
changed... Avoid that issue arising again.
 1.3 02-Jan-2015  christos branches: 1.3.16; 1.3.18;
We have three sets of DTYPE_ constants in the kernel:
altq Drop Type
disklabel Disk Type
file Descriptor Type
(not to mention constants that contain the string DTYPE).
Let's make them two, by changing the disklabel one to be DisK TYPE since the
other disklabel constants seem to do that. Not many userland programs use
these constants (and the ones that they do are mostly in ifdefs). They will
be fixed shortly.
 1.2 04-Nov-2013  christos branches: 1.2.6;
make unused.
 1.1 30-Jan-2012  nisimura branches: 1.1.4; 1.1.8; 1.1.12;

Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.1.12.1 18-May-2014  rmind sync with head
 1.1.8.2 03-Dec-2017  jdolecek update from HEAD
 1.1.8.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.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.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 30-Jan-2012  yamt file dev_sdmmc.c was added on branch yamt-pagecache on 2012-04-17 00:06:15 +0000
 1.2.6.1 06-Apr-2015  skrll Sync with HEAD
 1.3.18.1 10-Jun-2019  christos Sync with HEAD
 1.3.16.1 28-Jul-2018  pgoyette Sync with HEAD
 1.5.36.1 02-Aug-2025  perseant Sync with HEAD
 1.1 30-Jan-2012  nisimura branches: 1.1.4;

Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 30-Jan-2012  yamt file dev_sdmmc.h was added on branch yamt-pagecache on 2012-04-17 00:06:15 +0000
 1.2 31-Jan-2012  nisimura branches: 1.2.4;

- add TFTP loading facility.
- SD/MMC load default is now "ld0a:netbsd"
 1.1 30-Jan-2012  nisimura Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.2.4.2 17-Apr-2012  yamt sync with head
 1.2.4.1 31-Jan-2012  yamt file devopen.c was added on branch yamt-pagecache on 2012-04-17 00:06:15 +0000
 1.4 12-Dec-2021  andvar fix various typos, mainly in comments.
 1.3 29-Mar-2017  msaitoh Fix 0x%d and 0x%u.
 1.2 23-Feb-2012  nisimura branches: 1.2.2; 1.2.4; 1.2.18; 1.2.22; 1.2.26;

- add short comments at the most troublesome part of this device.
- remove a stale debug line.
 1.1 22-Feb-2012  nisimura Reimplement DM9000E driver.
- add a note about 16bit mode operation.
- make sure not to receive any mcast/bcast frames by clearing 64bit
multicast filter hash value register.
- change the filename so as silimar to other implementations.
 1.2.26.1 21-Apr-2017  bouyer Sync with HEAD
 1.2.22.1 26-Apr-2017  pgoyette Sync with HEAD
 1.2.18.1 28-Aug-2017  skrll Sync with HEAD
 1.2.4.1 03-Dec-2017  jdolecek update from HEAD
 1.2.2.2 17-Apr-2012  yamt sync with head
 1.2.2.1 23-Feb-2012  yamt file dm9000.c was added on branch yamt-pagecache on 2012-04-17 00:06:15 +0000
 1.2 22-Feb-2012  nisimura Reimplement DM9000E driver.
- add a note about 16bit mode operation.
- make sure not to receive any mcast/bcast frames by clearing 64bit
multicast filter hash value register.
- change the filename so as silimar to other implementations.
 1.1 30-Jan-2012  nisimura Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.1 30-Jan-2012  nisimura branches: 1.1.4;

Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 30-Jan-2012  yamt file dm9k.h was added on branch yamt-pagecache on 2012-04-17 00:06:16 +0000
 1.2 22-Feb-2012  nisimura branches: 1.2.2;

- detect SoC chipid value found at 0x5600'00b0.
- have brdsetup() to define SoC IOMUX in early startup. Device drivers
are still responsible to arrange relevent registers which they use.
- some cleanup and clarification.
 1.1 30-Jan-2012  nisimura Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.2.2.2 17-Apr-2012  yamt sync with head
 1.2.2.1 22-Feb-2012  yamt file entry.S was added on branch yamt-pagecache on 2012-04-17 00:06:16 +0000
 1.5 29-Nov-2014  skrll Make this work with earm kernels. Not sure the test is realy worth it.

Partially from Greg Willatt
 1.4 01-Dec-2013  joerg branches: 1.4.4;
Inform compiler that the volatile assignment will terminate the function.
 1.3 04-Nov-2013  christos fix pointer cast; mark variable used
 1.2 22-Feb-2012  nisimura branches: 1.2.2; 1.2.4; 1.2.6;

- detect SoC chipid value found at 0x5600'00b0.
- have brdsetup() to define SoC IOMUX in early startup. Device drivers
are still responsible to arrange relevent registers which they use.
- some cleanup and clarification.
 1.1 30-Jan-2012  nisimura Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.2.6.1 18-May-2014  rmind sync with head
 1.2.4.2 03-Dec-2017  jdolecek update from HEAD
 1.2.4.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.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.2.2.2 17-Apr-2012  yamt sync with head
 1.2.2.1 22-Feb-2012  yamt file main.c was added on branch yamt-pagecache on 2012-04-17 00:06:16 +0000
 1.4.4.1 02-Jan-2015  martin Pull up following revision(s) (requested by skrll in ticket #366):
sys/arch/evbarm/stand/boot2440/main.c: revision 1.5
Make this work with earm kernels. Not sure the test is realy worth it.
Partially from Greg Willatt
 1.2 01-Dec-2013  joerg Use format strings.
 1.1 30-Jan-2012  nisimura branches: 1.1.4; 1.1.8; 1.1.12;

Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.1.12.1 18-May-2014  rmind sync with head
 1.1.8.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.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.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 30-Jan-2012  yamt file netif.c was added on branch yamt-pagecache on 2012-04-17 00:06:16 +0000
 1.4 13-Dec-2015  christos PR/50526: David Binderman: Fix incorrect test
 1.3 27-Oct-2012  chs branches: 1.3.14;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.2 20-Jul-2012  matt branches: 1.2.2;
Add <machine/int_mwgwtypes.h> include for intmax_t
 1.1 30-Jan-2012  nisimura branches: 1.1.2; 1.1.4;

Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.1.4.3 30-Oct-2012  yamt sync with head
 1.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 30-Jan-2012  yamt file s3csdi.c was added on branch yamt-pagecache on 2012-04-17 00:06:16 +0000
 1.1.2.1 09-Aug-2012  jdc Pull up revision 1.2 to fix fallout from ticket #441.

Add <machine/int_mwgwtypes.h> include for intmax_t
 1.2.2.2 03-Dec-2017  jdolecek update from HEAD
 1.2.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.3.14.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1 30-Jan-2012  nisimura branches: 1.1.4;

Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 30-Jan-2012  yamt file s3csdi.h was added on branch yamt-pagecache on 2012-04-17 00:06:16 +0000
 1.1 30-Jan-2012  nisimura branches: 1.1.4;

Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
 1.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 30-Jan-2012  yamt file version was added on branch yamt-pagecache on 2012-04-17 00:06:16 +0000
 1.16 24-Oct-2019  christos 1. All Makefiles that use ARM_APCS_FLAGS add -marm unconditionally and
bsd.own.mk also adds it for gcc only (so we end up with 2 -marm for gcc).
Just add -marm unconditionally in bsd.own.mk in ARM_APCS_FLAGS and remove
it from everywhere else.
2. gcc-8 now warns about thumb internetwork in APCS mode. This does not make
sense because the documentation says that this flag does not make a
difference in apcs mode, but might produce larger code in non-APCS mode.
So we just add it to silence the warnings.
 1.15 22-Feb-2017  maya branches: 1.15.14;
Get rid of more -mno-thumb -mno-thumb-interwork for GCC < 4.8
 1.14 22-Jul-2014  bouyer branches: 1.14.4; 1.14.8; 1.14.12;
Override CPUFLAGS for compiler cpu-specific options, instead of appening
to CFLAGS. This allows the user to define CPUFLAGS without breaking the
build.
 1.13 12-Jan-2014  tsutsui branches: 1.13.2;
Add empty LIBCRTI= as LIBCRT0 to build sa programs without installed DESTDIR.

XXX: probabry we should have bsd.saprog.mk or something.
 1.12 15-Dec-2013  joerg Move flags for ARM's APCS ABI into a common variable. Add some forces to
deal with limitations in the Clang <-> LLVM backend interaction to pick
the correct ABI and target assembler.
 1.11 05-Dec-2013  joerg Use -marm for clang builds, too.
 1.10 04-Nov-2013  christos explicitly add -marm
 1.9 04-Nov-2013  christos -mno-thumb-interwork is the default, and there is no -mthumb in gcc 4.8
 1.8 07-Oct-2013  matt iMX233/OLinuXino changes from Petri Laskso.
See http://mail-index.netbsd.org/port-arm/2013/10/07/msg002042.html
 1.7 15-Aug-2013  matt Add CPPFLAGS+= -mno-thumb -mno-thumb-interwork
 1.6 23-Jun-2013  matt branches: 1.6.2;
Add -fno-unwind-tables
 1.5 23-Feb-2013  jkunz branches: 1.5.4;
Contribution from Petri Laakso:
- Support for passing kernel arguments.
- entropy_init() removed as OLINUXINO doesn't generate entropy bits without
user interaction.
- FIFO contents are flushed when DEBUG is enabled.
 1.4 06-Feb-2013  matt gcc will supply -Wa,-eabi=gnu so don't include. Use -mabi=apcs-base, not atpcs
 1.3 05-Feb-2013  matt Add a ${MKTARGET_LINK}
 1.2 05-Feb-2013  matt Make sure these are always compiled with -mabi=atpcs -mfloat-abi=soft
-Wa,-meabi=gnu so they use the old compilation methods.
 1.1 20-Nov-2012  jkunz branches: 1.1.2;
Add initial support for Olimex iMX233 based OLinuXino boards.
https://www.olimex.com/Products/OLinuXino/iMX233/
Contributed by Petri Laakso.
 1.1.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.1.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.1.2.1 20-Nov-2012  yamt file Makefile was added on branch yamt-pagecache on 2013-01-16 05:32:56 +0000
 1.5.4.4 03-Dec-2017  jdolecek update from HEAD
 1.5.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.4.2 25-Feb-2013  tls resync with head
 1.5.4.1 23-Feb-2013  tls file Makefile was added on branch tls-maxphys on 2013-02-25 00:28:38 +0000
 1.6.2.2 18-May-2014  rmind sync with head
 1.6.2.1 28-Aug-2013  rmind sync with head
 1.13.2.1 10-Aug-2014  tls Rebase.
 1.14.12.1 21-Apr-2017  bouyer Sync with HEAD
 1.14.8.1 20-Mar-2017  pgoyette Sync with HEAD
 1.14.4.1 28-Aug-2017  skrll Sync with HEAD
 1.15.14.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4 10-Dec-2017  christos use the machine link for bootconfig.h
 1.3 14-Jan-2017  christos there is no <string.h> in standalone code; should be getting strcpy from
libkern.
 1.2 14-Jan-2017  martin Include <string.h> for strcpy
 1.1 23-Feb-2013  jkunz branches: 1.1.4; 1.1.14; 1.1.18; 1.1.22;
Contribution from Petri Laakso:
- Support for passing kernel arguments.
- entropy_init() removed as OLINUXINO doesn't generate entropy bits without
user interaction.
- FIFO contents are flushed when DEBUG is enabled.
 1.1.22.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.18.1 05-Feb-2017  skrll Sync with HEAD
 1.1.14.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.14.1 23-Feb-2013  yamt file args_prep.c was added on branch yamt-pagecache on 2014-05-22 11:39:43 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 23-Feb-2013  tls file args_prep.c was added on branch tls-maxphys on 2013-02-25 00:28:38 +0000
 1.3 23-Feb-2013  jkunz branches: 1.3.4;
Contribution from Petri Laakso:
- Support for passing kernel arguments.
- entropy_init() removed as OLINUXINO doesn't generate entropy bits without
user interaction.
- FIFO contents are flushed when DEBUG is enabled.
 1.2 16-Dec-2012  jkunz branches: 1.2.2;
Contribution from Petri Laakso.
Refactoring of bootimx23:
- Code style clean up.
- Don't do DCDC initialization in bootimx23. This has proven to be
unreliable. DCDC initialization will be done in kernel later.
Use linear regulators while booting to make bootimx23 reliable.
 1.1 20-Nov-2012  jkunz Add initial support for Olimex iMX233 based OLinuXino boards.
https://www.olimex.com/Products/OLinuXino/iMX233/
Contributed by Petri Laakso.
 1.2.2.4 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.2.3 23-Jan-2013  yamt sync with head
 1.2.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.2.2.1 16-Dec-2012  yamt file boot_prep.c was added on branch yamt-pagecache on 2013-01-16 05:32:56 +0000
 1.3.4.2 25-Feb-2013  tls resync with head
 1.3.4.1 23-Feb-2013  tls file boot_prep.c was added on branch tls-maxphys on 2013-02-25 00:28:38 +0000
 1.4 07-Oct-2013  matt iMX233/OLinuXino changes from Petri Laskso.
See http://mail-index.netbsd.org/port-arm/2013/10/07/msg002042.html
 1.3 16-Dec-2012  jkunz branches: 1.3.2; 1.3.4; 1.3.6;
Contribution from Petri Laakso.
Refactoring of bootimx23:
- Code style clean up.
- Don't do DCDC initialization in bootimx23. This has proven to be
unreliable. DCDC initialization will be done in kernel later.
Use linear regulators while booting to make bootimx23 reliable.
 1.2 20-Nov-2012  jkunz Adjust bootloader file name.
 1.1 20-Nov-2012  jkunz Add initial support for Olimex iMX233 based OLinuXino boards.
https://www.olimex.com/Products/OLinuXino/iMX233/
Contributed by Petri Laakso.
 1.3.6.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.2 25-Feb-2013  tls resync with head
 1.3.6.1 16-Dec-2012  tls file bootimx23.bd was added on branch tls-maxphys on 2013-02-25 00:28:38 +0000
 1.3.4.1 18-May-2014  rmind sync with head
 1.3.2.4 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.3.2.3 23-Jan-2013  yamt sync with head
 1.3.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.3.2.1 16-Dec-2012  yamt file bootimx23.bd was added on branch yamt-pagecache on 2013-01-16 05:32:56 +0000
 1.1 07-Oct-2013  matt branches: 1.1.4; 1.1.6; 1.1.10;
iMX233/OLinuXino changes from Petri Laskso.
See http://mail-index.netbsd.org/port-arm/2013/10/07/msg002042.html
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 07-Oct-2013  tls file bootimx23.c was added on branch tls-maxphys on 2014-08-20 00:02:56 +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 07-Oct-2013  yamt file bootimx23.c was added on branch yamt-pagecache on 2014-05-22 11:39:43 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 07-Oct-2013  rmind file bootimx23.c was added on branch rmind-smpnet on 2014-05-18 17:45:05 +0000
 1.3 07-Oct-2013  matt iMX233/OLinuXino changes from Petri Laskso.
See http://mail-index.netbsd.org/port-arm/2013/10/07/msg002042.html
 1.2 16-Dec-2012  jkunz branches: 1.2.2; 1.2.4; 1.2.6;
Contribution from Petri Laakso.
Refactoring of bootimx23:
- Code style clean up.
- Don't do DCDC initialization in bootimx23. This has proven to be
unreliable. DCDC initialization will be done in kernel later.
Use linear regulators while booting to make bootimx23 reliable.
 1.1 20-Nov-2012  jkunz Add initial support for Olimex iMX233 based OLinuXino boards.
https://www.olimex.com/Products/OLinuXino/iMX233/
Contributed by Petri Laakso.
 1.2.6.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.2 25-Feb-2013  tls resync with head
 1.2.6.1 16-Dec-2012  tls file clock_prep.c was added on branch tls-maxphys on 2013-02-25 00:28:38 +0000
 1.2.4.1 18-May-2014  rmind sync with head
 1.2.2.4 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.2.3 23-Jan-2013  yamt sync with head
 1.2.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.2.2.1 16-Dec-2012  yamt file clock_prep.c was added on branch yamt-pagecache on 2013-01-16 05:32:56 +0000
 1.4 07-Oct-2013  matt iMX233/OLinuXino changes from Petri Laskso.
See http://mail-index.netbsd.org/port-arm/2013/10/07/msg002042.html
 1.3 23-Feb-2013  jkunz branches: 1.3.2; 1.3.4;
Contribution from Petri Laakso:
- Support for passing kernel arguments.
- entropy_init() removed as OLINUXINO doesn't generate entropy bits without
user interaction.
- FIFO contents are flushed when DEBUG is enabled.
 1.2 16-Dec-2012  jkunz branches: 1.2.2;
Contribution from Petri Laakso.
Refactoring of bootimx23:
- Code style clean up.
- Don't do DCDC initialization in bootimx23. This has proven to be
unreliable. DCDC initialization will be done in kernel later.
Use linear regulators while booting to make bootimx23 reliable.
 1.1 20-Nov-2012  jkunz Add initial support for Olimex iMX233 based OLinuXino boards.
https://www.olimex.com/Products/OLinuXino/iMX233/
Contributed by Petri Laakso.
 1.2.2.4 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.2.3 23-Jan-2013  yamt sync with head
 1.2.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.2.2.1 16-Dec-2012  yamt file common.c was added on branch yamt-pagecache on 2013-01-16 05:32:56 +0000
 1.3.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.4.2 25-Feb-2013  tls resync with head
 1.3.4.1 23-Feb-2013  tls file common.c was added on branch tls-maxphys on 2013-02-25 00:28:38 +0000
 1.3.2.1 18-May-2014  rmind sync with head
 1.4 07-Oct-2013  matt iMX233/OLinuXino changes from Petri Laskso.
See http://mail-index.netbsd.org/port-arm/2013/10/07/msg002042.html
 1.3 23-Feb-2013  jkunz branches: 1.3.2; 1.3.4;
Contribution from Petri Laakso:
- Support for passing kernel arguments.
- entropy_init() removed as OLINUXINO doesn't generate entropy bits without
user interaction.
- FIFO contents are flushed when DEBUG is enabled.
 1.2 16-Dec-2012  jkunz branches: 1.2.2;
Contribution from Petri Laakso.
Refactoring of bootimx23:
- Code style clean up.
- Don't do DCDC initialization in bootimx23. This has proven to be
unreliable. DCDC initialization will be done in kernel later.
Use linear regulators while booting to make bootimx23 reliable.
 1.1 20-Nov-2012  jkunz Add initial support for Olimex iMX233 based OLinuXino boards.
https://www.olimex.com/Products/OLinuXino/iMX233/
Contributed by Petri Laakso.
 1.2.2.4 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.2.3 23-Jan-2013  yamt sync with head
 1.2.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.2.2.1 16-Dec-2012  yamt file common.h was added on branch yamt-pagecache on 2013-01-16 05:32:56 +0000
 1.3.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.4.2 25-Feb-2013  tls resync with head
 1.3.4.1 23-Feb-2013  tls file common.h was added on branch tls-maxphys on 2013-02-25 00:28:38 +0000
 1.3.2.1 18-May-2014  rmind sync with head
 1.3 07-Oct-2013  matt iMX233/OLinuXino changes from Petri Laskso.
See http://mail-index.netbsd.org/port-arm/2013/10/07/msg002042.html
 1.2 16-Dec-2012  jkunz branches: 1.2.2; 1.2.4; 1.2.6;
Contribution from Petri Laakso.
Refactoring of bootimx23:
- Code style clean up.
- Don't do DCDC initialization in bootimx23. This has proven to be
unreliable. DCDC initialization will be done in kernel later.
Use linear regulators while booting to make bootimx23 reliable.
 1.1 20-Nov-2012  jkunz Add initial support for Olimex iMX233 based OLinuXino boards.
https://www.olimex.com/Products/OLinuXino/iMX233/
Contributed by Petri Laakso.
 1.2.6.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.2 25-Feb-2013  tls resync with head
 1.2.6.1 16-Dec-2012  tls file emi_prep.c was added on branch tls-maxphys on 2013-02-25 00:28:38 +0000
 1.2.4.1 18-May-2014  rmind sync with head
 1.2.2.4 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.2.3 23-Jan-2013  yamt sync with head
 1.2.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.2.2.1 16-Dec-2012  yamt file emi_prep.c was added on branch yamt-pagecache on 2013-01-16 05:32:56 +0000
 1.4 07-Oct-2013  matt iMX233/OLinuXino changes from Petri Laskso.
See http://mail-index.netbsd.org/port-arm/2013/10/07/msg002042.html
 1.3 07-Feb-2013  jkunz branches: 1.3.2; 1.3.4;
Contribution from Petri Laakso:
Enable debug UART input
Fixes issue with some OLinuXino boards which were not able to
accept input from the user.
 1.2 16-Dec-2012  jkunz branches: 1.2.2;
Contribution from Petri Laakso.
Refactoring of bootimx23:
- Code style clean up.
- Don't do DCDC initialization in bootimx23. This has proven to be
unreliable. DCDC initialization will be done in kernel later.
Use linear regulators while booting to make bootimx23 reliable.
 1.1 20-Nov-2012  jkunz Add initial support for Olimex iMX233 based OLinuXino boards.
https://www.olimex.com/Products/OLinuXino/iMX233/
Contributed by Petri Laakso.
 1.2.2.4 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.2.3 23-Jan-2013  yamt sync with head
 1.2.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.2.2.1 16-Dec-2012  yamt file pinctrl_prep.c was added on branch yamt-pagecache on 2013-01-16 05:32:56 +0000
 1.3.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.4.2 25-Feb-2013  tls resync with head
 1.3.4.1 07-Feb-2013  tls file pinctrl_prep.c was added on branch tls-maxphys on 2013-02-25 00:28:38 +0000
 1.3.2.1 18-May-2014  rmind sync with head
 1.5 17-Aug-2016  skrll Spelling in comment
 1.4 07-Oct-2013  matt branches: 1.4.6;
iMX233/OLinuXino changes from Petri Laskso.
See http://mail-index.netbsd.org/port-arm/2013/10/07/msg002042.html
 1.3 16-Dec-2012  jkunz branches: 1.3.2; 1.3.4; 1.3.6;
Contribution from Petri Laakso.
Refactoring of bootimx23:
- Code style clean up.
- Don't do DCDC initialization in bootimx23. This has proven to be
unreliable. DCDC initialization will be done in kernel later.
Use linear regulators while booting to make bootimx23 reliable.
 1.2 20-Nov-2012  jkunz Give memory more time to power up. Avoids hangups.
 1.1 20-Nov-2012  jkunz Add initial support for Olimex iMX233 based OLinuXino boards.
https://www.olimex.com/Products/OLinuXino/iMX233/
Contributed by Petri Laakso.
 1.3.6.4 03-Dec-2017  jdolecek update from HEAD
 1.3.6.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.2 25-Feb-2013  tls resync with head
 1.3.6.1 16-Dec-2012  tls file power_prep.c was added on branch tls-maxphys on 2013-02-25 00:28:38 +0000
 1.3.4.1 18-May-2014  rmind sync with head
 1.3.2.4 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.3.2.3 23-Jan-2013  yamt sync with head
 1.3.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.3.2.1 16-Dec-2012  yamt file power_prep.c was added on branch yamt-pagecache on 2013-01-16 05:32:56 +0000
 1.4.6.1 05-Oct-2016  skrll Sync with HEAD
 1.12 02-May-2013  matt This change arm, armeb, earm, earmeb, earmhf, earmhfeb so all builds that
share a MACHINE_ARCH for userland so that except for etc, will produce
identical sets.

usr/include/machine now points to usr/include/arm
 1.11 05-Feb-2013  matt There are other little endian arm machine_arches other than "arm"
Use MACHINE_CPU and TARGET_ENDIANNESS instead of MACHINE_ARCH
 1.10 02-Jun-2012  skrll branches: 1.10.2;
Whitespace.
 1.9 30-Oct-2008  cliff branches: 1.9.10; 1.9.26;
fix, use += when adint to SUBDIR list
 1.8 30-Oct-2008  cliff add gzboot support for gemini

GEMINI_dram_0x01600000 defines inflation from concatenated
gzboot & netbsd.bin.gz at sdram 0x01600000 to 0x00200000

note that ns16550.c INB() and OUTB() macros now have
"mult 4" type 4 byte regsiter offset stride
if NS16550_AX4 is defined. this is needed for gemini,
and was OKed by gimpy.
 1.7 11-Dec-2005  christos branches: 1.7.74; 1.7.78; 1.7.84; 1.7.86;
merge ktrace-lwp.
 1.6 28-Dec-2004  joff descend into TS7200_flash_0x60660000
 1.5 03-Sep-2003  mycroft Whoops, reenable some stuff.
 1.4 03-Sep-2003  mycroft Add gzboot support for SMDK2410.
 1.3 30-Jul-2003  bsh gzboot for SMDK2800.
 1.2 26-May-2003  thorpej branches: 1.2.2;
Don't build a big-endian image on platforms which don't run big-endian.
 1.1 29-Apr-2003  thorpej Descend into the gzboot directories.
 1.2.2.4 17-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.7.86.1 19-Jan-2009  skrll Sync with HEAD.
 1.7.84.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.7.78.1 04-May-2009  yamt sync with head.
 1.7.74.1 17-Jan-2009  mjf Sync with HEAD.
 1.9.26.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.9.26.1 30-Oct-2012  yamt sync with head
 1.9.10.1 19-Dec-2013  matt Make endian check more generic
 1.10.2.2 23-Jun-2013  tls resync from head
 1.10.2.1 25-Feb-2013  tls resync with head
 1.38 12-Feb-2020  thorpej Allow a configuration to specify an arbitrary address where the
compressed kernel image is located, in the event it can't be appended
to or embedded within the gzboot binary itself.
 1.37 24-Oct-2019  christos branches: 1.37.2;
1. All Makefiles that use ARM_APCS_FLAGS add -marm unconditionally and
bsd.own.mk also adds it for gcc only (so we end up with 2 -marm for gcc).
Just add -marm unconditionally in bsd.own.mk in ARM_APCS_FLAGS and remove
it from everywhere else.
2. gcc-8 now warns about thumb internetwork in APCS mode. This does not make
sense because the documentation says that this flag does not make a
difference in apcs mode, but might produce larger code in non-APCS mode.
So we just add it to silence the warnings.
 1.36 08-Apr-2017  christos branches: 1.36.14;
centralize vers.c building for standalone programs.
 1.35 22-Feb-2017  maya GC more logic that was intended for GCC <4.8 (or !LLVM)

Same as before (-marm implies -mno-thumb), but now the condition was flipped
 1.34 01-Mar-2016  joerg branches: 1.34.2; 1.34.4;
Don't reuse LDFLAGS for arguments passed directly to ${LD}, share/mk
expects it to be passed to ${CC} or ${CXX}, so they will generally
prefix flags with -Wl.
 1.33 31-Jan-2016  christos remove the MKPIE and MKCTF no hack, and move it to the .mk files
 1.32 31-Jan-2016  christos Disable PIE and CTF for standalone code
XXX: Must be done centrally, and there must be a better way.
 1.31 15-Jul-2015  martin Clear STRIPFLAGS (stripping in general is dangerous with the -BE8 object
format, and should never be done before the final linking has happened).
From Rin Okuyama.
 1.30 12-Jan-2014  tsutsui branches: 1.30.6;
Add empty LIBCRTI= as LIBCRT0 to build sa programs without installed DESTDIR.

XXX: probabry we should have bsd.saprog.mk or something.
 1.29 15-Dec-2013  joerg Move flags for ARM's APCS ABI into a common variable. Add some forces to
deal with limitations in the Clang <-> LLVM backend interaction to pick
the correct ABI and target assembler.
 1.28 05-Dec-2013  joerg Use -marm for clang builds, too.
 1.27 04-Nov-2013  christos explicitly add -marm
 1.26 04-Nov-2013  christos -mno-thumb-interwork is the default, and there is no -mthumb in gcc 4.8
 1.25 21-Aug-2013  matt Use <bsd.klinks.mk>
 1.24 15-Aug-2013  matt Add CPPFLAGS+= -mno-thumb -mno-thumb-interwork
 1.23 23-Jun-2013  matt branches: 1.23.2;
Add -fno-unwind-tables
 1.22 06-Feb-2013  matt gcc will supply -Wa,-eabi=gnu so don't include. Use -mabi=apcs-base, not atpcs
 1.21 05-Feb-2013  matt Make sure these are always compiled with -mabi=atpcs -mfloat-abi=soft
-Wa,-meabi=gnu so they use the old compilation methods.
 1.20 13-Aug-2012  khorben branches: 1.20.2;
Fixed build with USE_SSP=yes

ok christos@
 1.19 06-Aug-2012  matt Fix to allow EABI compilation.
Make sure to DISCARD new .ARM.attributes and .ARM.ebxidx sections.
 1.18 20-Jul-2012  matt Add missing ${_MKTARGET_LINK}
 1.17 22-Jan-2011  joerg branches: 1.17.4; 1.17.10;
Drop bootprog_maker (formerly enabled by -M) and bootprog_date (formerly
disabled by -D) from the output of newvers_stand.sh. Change -D to the
inverted logic, so that it adds the date to bootprog_rev in ().

Change all platforms accordingly. -D is added if MKREPRO is not yes and
wasn't present before. Platforms that didn't use -D don't depend on
MKREPRO now either.
 1.16 27-May-2010  dholland branches: 1.16.2; 1.16.4;
Introduce .WAIT into the cleandir rule for blasting the libsa/libkern/etc.
trees, because it can race with the libsa/libkern/etc. makefiles' own
cleandir rules. I think I've found all of the uses of the offending idiom...
Closes PR 43360.
 1.15 12-Jan-2009  tsutsui branches: 1.15.4; 1.15.6;
- WARNSfy
- add src/common/dist/zlib to incpath for build without DESTDIR
 1.14 16-Jan-2006  he branches: 1.14.72; 1.14.76; 1.14.84;
The new zlib uses HEAP_SIZE, so instead use BOARD_HEAP_SIZE as the
symbol to use here. Also adapt to the new zlib with the changed name
for the header file.
 1.13 11-Dec-2005  christos branches: 1.13.2;
merge ktrace-lwp.
 1.12 03-May-2005  bsh branches: 1.12.2;
dependencies for .BEGIN is not accepted by the latest nbmake.
 1.11 18-Mar-2005  bsh include <bsd.obj.mk> to teach make the rules for OBJDIR names.

This is to fix a problem on compiling gzboot with BUILDID defined
(by build.sh -B BUILDID).
 1.10 21-Jun-2004  jmc branches: 1.10.4; 1.10.6; 1.10.10;
Ignore errors on some rm -rf's for platforms that aren't quite
POSIX compliant
and return errors on r/o source (FreeBSD) for -rf. Fixes PR#25022
 1.9 26-Oct-2003  lukem branches: 1.9.2;
Use ${HOST_SH} instead of `sh'.

If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
 1.8 29-Apr-2003  thorpej branches: 1.8.2;
* Add ${PROGSYM} to CLEANFILES.
* Instsall either the .bin or the .sym, based on whether or not
the resulting gzboot needs to be mdsetimage'd.
 1.7 29-Apr-2003  thorpej Also build a flat binary version of the gzboot program.
 1.6 29-Mar-2003  thorpej Garbage-collect the DYNAMIC_CRC_TABLE stuff. The table it computed
was incompatible with the new CRC code, and it is largely unnecessary
now, since the static table is so much smaller.

Fixes PR kern/20935.
 1.5 25-Apr-2002  thorpej branches: 1.5.6;
Give gzboot a 1M heap, so that loading gzip -9'd kernels works
reliably.
 1.4 24-Feb-2002  thorpej branches: 1.4.2;
Add support for relocating gzboot's .text out of flash and into
RAM (while still decompressing the image directly from flash).

This makes gzboot run a LOT faster.
 1.3 23-Feb-2002  thorpej Fix the -DRELOC=... CPP flag. Add -DDYNAMIC_CRC_TABLE to shrink
the text (and, thus, the space taken up in flash) a bit.
 1.2 23-Feb-2002  thorpej Add support for running directly out of flash:
* Require that the builder Makefile provide a linker script.
* After making sure the MMU is disabled, check to see if
_etext == __data_start. If not, then copy the .data contents
into RAM.
* Put the stack in .bss.
 1.1 23-Feb-2002  thorpej gzboot -- boot a gzip'd kernel image. This is useful for booting
compressed kernel images from flash.

This needs more work, but is a good first-pass.
 1.4.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.4.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.4.2.1 24-Feb-2002  nathanw file Makefile.gzboot was added on branch nathanw_sa on 2002-02-28 04:09:17 +0000
 1.5.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.5.6.1 25-Apr-2002  jdolecek file Makefile.gzboot was added on branch kqueue on 2002-06-23 17:35:45 +0000
 1.8.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.8.2.4 01-Apr-2005  skrll Sync with HEAD.
 1.8.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.8.2.1 03-Aug-2004  skrll Sync with HEAD
 1.9.2.1 22-Jun-2004  tron branches: 1.9.2.1.2;
Pull up revision 1.10 (requested by jmc in ticket #531):
Ignore errors on some rm -rf's for platforms that aren't quite
POSIX compliant
and return errors on r/o source (FreeBSD) for -rf. Fixes PR#25022
 1.9.2.1.2.1 11-May-2005  riz Pull up revision 1.11 (requested by bsh in ticket #1362):
include <bsd.obj.mk> to teach make the rules for OBJDIR names.
This is to fix a problem on compiling gzboot with BUILDID defined
(by build.sh -B BUILDID).
 1.10.10.1 30-Mar-2005  tron Pull up revision 1.11 (requested by bsh in ticket #69):
include <bsd.obj.mk> to teach make the rules for OBJDIR names.
This is to fix a problem on compiling gzboot with BUILDID defined
(by build.sh -B BUILDID).
 1.10.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.10.4.1 29-Apr-2005  kent sync with -current
 1.12.2.1 21-Jun-2006  yamt sync with head.
 1.13.2.1 01-Feb-2006  yamt sync with head.
 1.14.84.1 19-Jan-2009  skrll Sync with HEAD.
 1.14.76.2 11-Aug-2010  yamt sync with head.
 1.14.76.1 04-May-2009  yamt sync with head.
 1.14.72.1 17-Jan-2009  mjf Sync with HEAD.
 1.15.6.2 05-Mar-2011  rmind sync with head
 1.15.6.1 30-May-2010  rmind sync with head
 1.15.4.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.16.4.1 08-Feb-2011  bouyer Sync with HEAD
 1.16.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.17.10.1 13-Aug-2012  riz Pull up following revision(s) (requested by khorben in ticket #493):
sys/arch/evbarm/stand/gzboot/Makefile.gzboot: revision 1.20
Fixed build with USE_SSP=yes
ok christos@
 1.17.4.2 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.17.4.1 30-Oct-2012  yamt sync with head
 1.20.2.3 03-Dec-2017  jdolecek update from HEAD
 1.20.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.20.2.1 25-Feb-2013  tls resync with head
 1.23.2.2 18-May-2014  rmind sync with head
 1.23.2.1 28-Aug-2013  rmind sync with head
 1.30.6.3 28-Aug-2017  skrll Sync with HEAD
 1.30.6.2 19-Mar-2016  skrll Sync with HEAD
 1.30.6.1 22-Sep-2015  skrll Sync with HEAD
 1.34.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.34.2.2 26-Apr-2017  pgoyette Sync with HEAD
 1.34.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.36.14.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.36.14.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.37.2.1 29-Feb-2020  ad Sync with head.
 1.1 29-Apr-2003  thorpej Descend into the gzboot directories.
 1.16 12-Feb-2020  thorpej Allow a configuration to specify an arbitrary address where the
compressed kernel image is located, in the event it can't be appended
to or embedded within the gzboot binary itself.
 1.15 22-Jan-2011  joerg branches: 1.15.56; 1.15.62;
Drop bootprog_maker (formerly enabled by -M) and bootprog_date (formerly
disabled by -D) from the output of newvers_stand.sh. Change -D to the
inverted logic, so that it adds the date to bootprog_rev in ().

Change all platforms accordingly. -D is added if MKREPRO is not yes and
wasn't present before. Platforms that didn't use -D don't depend on
MKREPRO now either.
 1.14 26-Oct-2009  cegger branches: 1.14.4; 1.14.6; 1.14.8;
kill extra whitespaces
reviewed by tsutsui@
 1.13 18-Mar-2009  cegger bcopy -> memcpy
 1.12 18-Mar-2009  cegger bzero -> memset
 1.11 25-Jan-2006  christos branches: 1.11.76; 1.11.84; 1.11.90;
free -> dealloc
unsigned -> size_t for alloc/dealloc
 1.10 16-Jan-2006  he The new zlib uses HEAP_SIZE, so instead use BOARD_HEAP_SIZE as the
symbol to use here. Also adapt to the new zlib with the changed name
for the header file.
 1.9 11-Dec-2005  christos branches: 1.9.2;
merge ktrace-lwp.
 1.8 24-Mar-2004  drochner branches: 1.8.16;
remove license clauses 3 and 4 from my cpoyright notices
 1.7 29-Apr-2003  thorpej branches: 1.7.2;
Allow MAXIMAGESIZE to be set to 0. For gzboot's that are linked
for flash, this allows us to basically do:

cat gzboot.bin netbsd.bin.gz > gzimg

to produce the bootable image.
 1.6 17-Apr-2002  thorpej branches: 1.6.6;
* Call board_init() rather than mem_init() (board_init() will take
care of that for us).
* Call board_fini() right before jumping to the kernel entry point.
 1.5 24-Feb-2002  thorpej branches: 1.5.2;
Improve zlib error reporting.
 1.4 23-Feb-2002  thorpej Use bcopy() and bzero(), since the rest of libsa does. This means
we don't have to pull in memset() and memcpy() from libsa.
 1.3 23-Feb-2002  thorpej Don't need to provide zcalloc() and zcfree(); there are such routines
in libz.
 1.2 23-Feb-2002  thorpej Fix a silly bug in the propellor spinning code.
 1.1 23-Feb-2002  thorpej gzboot -- boot a gzip'd kernel image. This is useful for booting
compressed kernel images from flash.

This needs more work, but is a good first-pass.
 1.5.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.5.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.5.2.1 24-Feb-2002  nathanw file gzboot.c was added on branch nathanw_sa on 2002-02-28 04:09:17 +0000
 1.6.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.6.1 17-Apr-2002  jdolecek file gzboot.c was added on branch kqueue on 2002-06-23 17:35:45 +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.8.16.1 21-Jun-2006  yamt sync with head.
 1.9.2.1 01-Feb-2006  yamt sync with head.
 1.11.90.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.11.84.1 28-Apr-2009  skrll Sync with HEAD.
 1.11.76.2 11-Mar-2010  yamt sync with head
 1.11.76.1 04-May-2009  yamt sync with head.
 1.14.8.1 08-Feb-2011  bouyer Sync with HEAD
 1.14.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.14.4.1 05-Mar-2011  rmind sync with head
 1.15.62.1 29-Feb-2020  ad Sync with head.
 1.15.56.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1 23-Feb-2002  thorpej branches: 1.1.2; 1.1.14;
gzboot -- boot a gzip'd kernel image. This is useful for booting
compressed kernel images from flash.

This needs more work, but is a good first-pass.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 23-Feb-2002  jdolecek file gzboot.h was added on branch kqueue on 2002-06-23 17:35:45 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 23-Feb-2002  nathanw file gzboot.h was added on branch nathanw_sa on 2002-02-28 04:09:17 +0000
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 26-Feb-2005  bsh align md_root_loadaddr to word boundary.
 1.2 29-Apr-2003  thorpej branches: 1.2.2; 1.2.10; 1.2.12;
Allow MAXIMAGESIZE to be set to 0. For gzboot's that are linked
for flash, this allows us to basically do:

cat gzboot.bin netbsd.bin.gz > gzimg

to produce the bootable image.
 1.1 24-Feb-2002  thorpej branches: 1.1.2; 1.1.14;
Add support for relocating gzboot's .text out of flash and into
RAM (while still decompressing the image directly from flash).

This makes gzboot run a LOT faster.
 1.1.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.14.1 24-Feb-2002  jdolecek file image.S was added on branch kqueue on 2002-06-23 17:35:45 +0000
 1.1.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1 24-Feb-2002  nathanw file image.S was added on branch nathanw_sa on 2002-02-28 04:09:17 +0000
 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.2.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.2 24-Feb-2002  thorpej This file is obsolete.
 1.1 23-Feb-2002  thorpej gzboot -- boot a gzip'd kernel image. This is useful for booting
compressed kernel images from flash.

This needs more work, but is a good first-pass.
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 22-Jul-2003  briggs Deal with case where __data_store == _edata.
 1.5 14-Oct-2002  bjh21 branches: 1.5.6;
Continue the " - . - 8" purge. Specifically:

add rd, pc, #foo - . - 8 -> adr rd, foo
ldr rd, [pc, #foo - . - 8] -> ldr rd, foo

Also, when saving the return address for a function pointer call, use
"mov lr, pc" just before the call unless the return address is somewhere
other than just after the call site.

Finally, a few obvious little micro-optimisations like using LDR directly
rather than ADR followed by LDR, and loading directly into PC rather than
bouncing via R0.
 1.4 24-Feb-2002  thorpej branches: 1.4.2; 1.4.14;
Fix a couple of comments.
 1.3 24-Feb-2002  thorpej Add support for relocating gzboot's .text out of flash and into
RAM (while still decompressing the image directly from flash).

This makes gzboot run a LOT faster.
 1.2 23-Feb-2002  thorpej Add support for running directly out of flash:
* Require that the builder Makefile provide a linker script.
* After making sure the MMU is disabled, check to see if
_etext == __data_start. If not, then copy the .data contents
into RAM.
* Put the stack in .bss.
 1.1 23-Feb-2002  thorpej gzboot -- boot a gzip'd kernel image. This is useful for booting
compressed kernel images from flash.

This needs more work, but is a good first-pass.
 1.4.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.14.1 24-Feb-2002  jdolecek file srtbegin.S was added on branch kqueue on 2002-06-23 17:35:45 +0000
 1.4.2.3 18-Oct-2002  nathanw Catch up to -current.
 1.4.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.4.2.1 24-Feb-2002  nathanw file srtbegin.S was added on branch nathanw_sa on 2002-02-28 04:09:18 +0000
 1.5.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.6.1 03-Aug-2004  skrll Sync with HEAD
 1.3 29-Apr-2003  thorpej Bump version to 1.2 for the concatenation feature.
 1.2 24-Feb-2002  thorpej branches: 1.2.2; 1.2.14;
Add support for relocating gzboot's .text out of flash and into
RAM (while still decompressing the image directly from flash).

This makes gzboot run a LOT faster.
 1.1 23-Feb-2002  thorpej gzboot -- boot a gzip'd kernel image. This is useful for booting
compressed kernel images from flash.

This needs more work, but is a good first-pass.
 1.2.14.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.14.1 24-Feb-2002  jdolecek file version was added on branch kqueue on 2002-06-23 17:35:45 +0000
 1.2.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.2.2.1 24-Feb-2002  nathanw file version was added on branch nathanw_sa on 2002-02-28 04:09:19 +0000
 1.3 12-Dec-2012  matt Fix CPUFLAGS to the correct value so a passed down CPUFLAGS doesn't result
in broken images.
 1.2 29-Apr-2003  thorpej branches: 1.2.142; 1.2.150; 1.2.152;
Make these images concatenating images.
 1.1 25-Mar-2003  thorpej Gzboot support for the ADI BRH eval board. This flash address allows
the kernel to be decompressed and started at board reset if the BRH's
rotary switch is set to position 5.
 1.2.152.1 25-Feb-2013  tls resync with head
 1.2.150.1 06-Dec-2012  matt Hardcode CPUFLAGS appropriately so that these are always built for the correct
cpu/architecture.
 1.2.142.1 16-Jan-2013  yamt sync with (a bit old) head
 1.6 06-Aug-2012  matt Fix to allow EABI compilation.
Make sure to DISCARD new .ARM.attributes and .ARM.ebxidx sections.
 1.5 26-Sep-2009  skrll branches: 1.5.12;
Deal with the following change to ld:

* The default output section LMA has changed for allocatable sections from
being equal to VMA, to keeping the difference between LMA and VMA the same as
the previous output section in the same region. This is a more useful
default when using overlays and other cases where you specify an LMA
differing from the VMA for some sections.
 1.4 11-Dec-2005  christos branches: 1.4.78;
merge ktrace-lwp.
 1.3 24-Dec-2004  joff Pad .sdata section to a 4-byte boundary so that the .image section
is always aligned. This makes md_root_loadaddr always 4 byte aligned.
Without this, may get an un-aligned access trap before we even print
anything on the console which was a pain in the neck to debug since so
early in the bootstrap the CPU usually just halts on exceptions.
 1.2 26-May-2003  thorpej branches: 1.2.2;
Don't set the output format explicitly; let the linker use its defaults.
 1.1 25-Mar-2003  thorpej Gzboot support for the ADI BRH eval board. This flash address allows
the kernel to be decompressed and started at board reset if the BRH's
rotary switch is set to position 5.
 1.2.2.1 17-Jan-2005  skrll Sync with HEAD.
 1.4.78.1 11-Mar-2010  yamt sync with head
 1.5.12.1 30-Oct-2012  yamt sync with head
 1.4 12-Dec-2012  matt Fix CPUFLAGS to the correct value so a passed down CPUFLAGS doesn't result
in broken images.
 1.3 06-Aug-2012  matt branches: 1.3.2;
Fix to allow EABI compilation.
Make sure to DISCARD new .ARM.attributes and .ARM.ebxidx sections.
 1.2 10-Nov-2008  cliff branches: 1.2.4; 1.2.6; 1.2.10; 1.2.22; 1.2.30;
- nullcom.c provides nulldev-like console device for silent gzboot
- GEMINI_dram_0x01600000/Makefile uses nullcom, shhh
 1.1 30-Oct-2008  cliff add gzboot support for gemini

GEMINI_dram_0x01600000 defines inflation from concatenated
gzboot & netbsd.bin.gz at sdram 0x01600000 to 0x00200000

note that ns16550.c INB() and OUTB() macros now have
"mult 4" type 4 byte regsiter offset stride
if NS16550_AX4 is defined. this is needed for gemini,
and was OKed by gimpy.
 1.2.30.1 06-Dec-2012  matt Hardcode CPUFLAGS appropriately so that these are always built for the correct
cpu/architecture.
 1.2.22.2 16-Jan-2013  yamt sync with (a bit old) head
 1.2.22.1 30-Oct-2012  yamt sync with head
 1.2.10.2 04-May-2009  yamt sync with head.
 1.2.10.1 10-Nov-2008  yamt file Makefile was added on branch yamt-nfs-mp on 2009-05-04 08:11:00 +0000
 1.2.6.2 19-Jan-2009  skrll Sync with HEAD.
 1.2.6.1 10-Nov-2008  skrll file Makefile was added on branch nick-hppapmap on 2009-01-19 13:16:08 +0000
 1.2.4.2 17-Jan-2009  mjf Sync with HEAD.
 1.2.4.1 10-Nov-2008  mjf file Makefile was added on branch mjf-devfs2 on 2009-01-17 13:27:59 +0000
 1.3.2.1 25-Feb-2013  tls resync with head
 1.3 06-Aug-2012  matt Fix to allow EABI compilation.
Make sure to DISCARD new .ARM.attributes and .ARM.ebxidx sections.
 1.2 26-Sep-2009  skrll branches: 1.2.12;
Deal with the following change to ld:

* The default output section LMA has changed for allocatable sections from
being equal to VMA, to keeping the difference between LMA and VMA the same as
the previous output section in the same region. This is a more useful
default when using overlays and other cases where you specify an LMA
differing from the VMA for some sections.
 1.1 30-Oct-2008  cliff branches: 1.1.6; 1.1.8; 1.1.14;
add gzboot support for gemini

GEMINI_dram_0x01600000 defines inflation from concatenated
gzboot & netbsd.bin.gz at sdram 0x01600000 to 0x00200000

note that ns16550.c INB() and OUTB() macros now have
"mult 4" type 4 byte regsiter offset stride
if NS16550_AX4 is defined. this is needed for gemini,
and was OKed by gimpy.
 1.1.14.3 11-Mar-2010  yamt sync with head
 1.1.14.2 04-May-2009  yamt sync with head.
 1.1.14.1 30-Oct-2008  yamt file ldscript was added on branch yamt-nfs-mp on 2009-05-04 08:11:00 +0000
 1.1.8.2 19-Jan-2009  skrll Sync with HEAD.
 1.1.8.1 30-Oct-2008  skrll file ldscript was added on branch nick-hppapmap on 2009-01-19 13:16:08 +0000
 1.1.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.1.6.1 30-Oct-2008  mjf file ldscript was added on branch mjf-devfs2 on 2009-01-17 13:27:59 +0000
 1.2.12.1 30-Oct-2012  yamt sync with head
 1.4 12-Dec-2012  matt Fix CPUFLAGS to the correct value so a passed down CPUFLAGS doesn't result
in broken images.
 1.3 29-Apr-2003  thorpej branches: 1.3.142; 1.3.150; 1.3.152;
Fix the name of the image.
 1.2 29-Apr-2003  thorpej Make these images concatenating images.
 1.1 29-Apr-2003  thorpej Rename the IQ80310 directory to have all nibbles of the address in the name.
 1.3.152.1 25-Feb-2013  tls resync with head
 1.3.150.1 06-Dec-2012  matt Hardcode CPUFLAGS appropriately so that these are always built for the correct
cpu/architecture.
 1.3.142.1 16-Jan-2013  yamt sync with (a bit old) head
 1.5 06-Aug-2012  matt Fix to allow EABI compilation.
Make sure to DISCARD new .ARM.attributes and .ARM.ebxidx sections.
 1.4 26-Sep-2009  skrll branches: 1.4.12;
Deal with the following change to ld:

* The default output section LMA has changed for allocatable sections from
being equal to VMA, to keeping the difference between LMA and VMA the same as
the previous output section in the same region. This is a more useful
default when using overlays and other cases where you specify an LMA
differing from the VMA for some sections.
 1.3 11-Dec-2005  christos branches: 1.3.78;
merge ktrace-lwp.
 1.2 24-Dec-2004  joff Pad .sdata section to a 4-byte boundary so that the .image section
is always aligned. This makes md_root_loadaddr always 4 byte aligned.
Without this, may get an un-aligned access trap before we even print
anything on the console which was a pain in the neck to debug since so
early in the bootstrap the CPU usually just halts on exceptions.
 1.1 29-Apr-2003  thorpej branches: 1.1.2;
Rename the IQ80310 directory to have all nibbles of the address in the name.
 1.1.2.1 17-Jan-2005  skrll Sync with HEAD.
 1.3.78.1 11-Mar-2010  yamt sync with head
 1.4.12.1 30-Oct-2012  yamt sync with head
 1.4 12-Dec-2012  matt Fix CPUFLAGS to the correct value so a passed down CPUFLAGS doesn't result
in broken images.
 1.3 29-Apr-2003  thorpej branches: 1.3.142; 1.3.150; 1.3.152;
Make these images concatenating images.
 1.2 25-Apr-2002  thorpej branches: 1.2.6; 1.2.8;
Add iq80321.c
 1.1 28-Mar-2002  thorpej Example gzboot config for the IQ80321.
 1.2.8.2 25-Apr-2002  thorpej Add iq80321.c
 1.2.8.1 25-Apr-2002  thorpej file Makefile was added on branch nathanw_sa on 2002-04-25 01:47:55 +0000
 1.2.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.6.1 25-Apr-2002  jdolecek file Makefile was added on branch kqueue on 2002-06-23 17:35:46 +0000
 1.3.152.1 25-Feb-2013  tls resync with head
 1.3.150.1 06-Dec-2012  matt Hardcode CPUFLAGS appropriately so that these are always built for the correct
cpu/architecture.
 1.3.142.1 16-Jan-2013  yamt sync with (a bit old) head
 1.8 06-Aug-2012  matt Fix to allow EABI compilation.
Make sure to DISCARD new .ARM.attributes and .ARM.ebxidx sections.
 1.7 26-Sep-2009  skrll branches: 1.7.12;
Deal with the following change to ld:

* The default output section LMA has changed for allocatable sections from
being equal to VMA, to keeping the difference between LMA and VMA the same as
the previous output section in the same region. This is a more useful
default when using overlays and other cases where you specify an LMA
differing from the VMA for some sections.
 1.6 11-Dec-2005  christos branches: 1.6.78;
merge ktrace-lwp.
 1.5 24-Dec-2004  joff Pad .sdata section to a 4-byte boundary so that the .image section
is always aligned. This makes md_root_loadaddr always 4 byte aligned.
Without this, may get an un-aligned access trap before we even print
anything on the console which was a pain in the neck to debug since so
early in the bootstrap the CPU usually just halts on exceptions.
 1.4 25-Apr-2002  thorpej branches: 1.4.6; 1.4.8; 1.4.14;
Use LOADADDR() where appropriate.
 1.3 11-Apr-2002  thorpej Lose -nbsd
 1.2 01-Apr-2002  thorpej Add -nbsd to OUTPUT_FORMAT BFD target names.
 1.1 28-Mar-2002  thorpej Example gzboot config for the IQ80321.
 1.4.14.1 17-Jan-2005  skrll Sync with HEAD.
 1.4.8.2 25-Apr-2002  thorpej Use LOADADDR() where appropriate.
 1.4.8.1 25-Apr-2002  thorpej file ldscript was added on branch nathanw_sa on 2002-04-25 01:48:22 +0000
 1.4.6.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.6.1 25-Apr-2002  jdolecek file ldscript was added on branch kqueue on 2002-06-23 17:35:46 +0000
 1.6.78.1 11-Mar-2010  yamt sync with head
 1.7.12.1 30-Oct-2012  yamt sync with head
 1.1 12-Feb-2020  thorpej branches: 1.1.6;
Add gzboot support for NSLU2. This is a work-in-progress. This configuration
follows the existing NSLU2 RedBoot default bootstrap procedure. (Other
configurations are possible, but not yet implemented.)
 1.1.6.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.1 12-Feb-2020  martin file Makefile was added on branch phil-wifi on 2020-04-13 08:03:47 +0000
 1.2 12-Feb-2020  thorpej branches: 1.2.6;
Because everything goes into the same memory region at run-time in this
configuration *and* image data concatenated onto the end, the BSS segment
needs to be allocated in the file.
 1.1 12-Feb-2020  thorpej Add gzboot support for NSLU2. This is a work-in-progress. This configuration
follows the existing NSLU2 RedBoot default bootstrap procedure. (Other
configurations are possible, but not yet implemented.)
 1.2.6.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.1 12-Feb-2020  martin file ldscript was added on branch phil-wifi on 2020-04-13 08:03:47 +0000
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 22-Apr-2004  thorpej branches: 1.3.2;
Assign to CPUFLAGS to add -march=armv4 instead of adding to COPTS.
 1.2 05-Oct-2003  bsh add -DCPU_S3C{2800,2410} for board/sscom.c
 1.1 03-Sep-2003  mycroft Add gzboot support for SMDK2410.
 1.3.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.2 03-Aug-2004  skrll Sync with HEAD
 1.3.2.1 22-Apr-2004  skrll file Makefile was added on branch ktrace-lwp on 2004-08-03 10:34:08 +0000
 1.5 06-Aug-2012  matt Fix to allow EABI compilation.
Make sure to DISCARD new .ARM.attributes and .ARM.ebxidx sections.
 1.4 26-Sep-2009  skrll branches: 1.4.12;
Deal with the following change to ld:

* The default output section LMA has changed for allocatable sections from
being equal to VMA, to keeping the difference between LMA and VMA the same as
the previous output section in the same region. This is a more useful
default when using overlays and other cases where you specify an LMA
differing from the VMA for some sections.
 1.3 11-Dec-2005  christos branches: 1.3.78;
merge ktrace-lwp.
 1.2 24-Dec-2004  joff Pad .sdata section to a 4-byte boundary so that the .image section
is always aligned. This makes md_root_loadaddr always 4 byte aligned.
Without this, may get an un-aligned access trap before we even print
anything on the console which was a pain in the neck to debug since so
early in the bootstrap the CPU usually just halts on exceptions.
 1.1 03-Sep-2003  mycroft branches: 1.1.4;
Add gzboot support for SMDK2410.
 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 03-Sep-2003  skrll file ldscript was added on branch ktrace-lwp on 2004-08-03 10:34:08 +0000
 1.3.78.1 11-Mar-2010  yamt sync with head
 1.4.12.1 30-Oct-2012  yamt sync with head
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 22-Apr-2004  thorpej branches: 1.3.2;
Assign to CPUFLAGS to add -march=armv4 instead of adding to COPTS.
 1.2 05-Oct-2003  bsh add -DCPU_S3C{2800,2410} for board/sscom.c
 1.1 30-Jul-2003  bsh gzboot for SMDK2800.
 1.3.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.2 03-Aug-2004  skrll Sync with HEAD
 1.3.2.1 22-Apr-2004  skrll file Makefile was added on branch ktrace-lwp on 2004-08-03 10:34:08 +0000
 1.5 06-Aug-2012  matt Fix to allow EABI compilation.
Make sure to DISCARD new .ARM.attributes and .ARM.ebxidx sections.
 1.4 26-Sep-2009  skrll branches: 1.4.12;
Deal with the following change to ld:

* The default output section LMA has changed for allocatable sections from
being equal to VMA, to keeping the difference between LMA and VMA the same as
the previous output section in the same region. This is a more useful
default when using overlays and other cases where you specify an LMA
differing from the VMA for some sections.
 1.3 11-Dec-2005  christos branches: 1.3.78;
merge ktrace-lwp.
 1.2 24-Dec-2004  joff Pad .sdata section to a 4-byte boundary so that the .image section
is always aligned. This makes md_root_loadaddr always 4 byte aligned.
Without this, may get an un-aligned access trap before we even print
anything on the console which was a pain in the neck to debug since so
early in the bootstrap the CPU usually just halts on exceptions.
 1.1 30-Jul-2003  bsh branches: 1.1.4;
gzboot for SMDK2800.
 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 30-Jul-2003  skrll file ldscript was added on branch ktrace-lwp on 2004-08-03 10:34:08 +0000
 1.3.78.1 11-Mar-2010  yamt sync with head
 1.4.12.1 30-Oct-2012  yamt sync with head
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 22-Apr-2004  thorpej branches: 1.3.2;
Assign to CPUFLAGS to add -march=armv4 instead of adding to COPTS.
 1.2 05-Oct-2003  bsh add -DCPU_S3C{2800,2410} for board/sscom.c
 1.1 30-Jul-2003  bsh gzboot for SMDK2800.
 1.3.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.2 03-Aug-2004  skrll Sync with HEAD
 1.3.2.1 22-Apr-2004  skrll file Makefile was added on branch ktrace-lwp on 2004-08-03 10:34:08 +0000
 1.5 06-Aug-2012  matt Fix to allow EABI compilation.
Make sure to DISCARD new .ARM.attributes and .ARM.ebxidx sections.
 1.4 26-Sep-2009  skrll branches: 1.4.12;
Deal with the following change to ld:

* The default output section LMA has changed for allocatable sections from
being equal to VMA, to keeping the difference between LMA and VMA the same as
the previous output section in the same region. This is a more useful
default when using overlays and other cases where you specify an LMA
differing from the VMA for some sections.
 1.3 11-Dec-2005  christos branches: 1.3.78;
merge ktrace-lwp.
 1.2 24-Dec-2004  joff Pad .sdata section to a 4-byte boundary so that the .image section
is always aligned. This makes md_root_loadaddr always 4 byte aligned.
Without this, may get an un-aligned access trap before we even print
anything on the console which was a pain in the neck to debug since so
early in the bootstrap the CPU usually just halts on exceptions.
 1.1 30-Jul-2003  bsh branches: 1.1.4;
gzboot for SMDK2800.
 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 30-Jul-2003  skrll file ldscript was added on branch ktrace-lwp on 2004-08-03 10:34:08 +0000
 1.3.78.1 11-Mar-2010  yamt sync with head
 1.4.12.1 30-Oct-2012  yamt sync with head
 1.3 12-Dec-2012  matt Fix CPUFLAGS to the correct value so a passed down CPUFLAGS doesn't result
in broken images.
 1.2 11-Dec-2005  christos branches: 1.2.112; 1.2.120; 1.2.122;
merge ktrace-lwp.
 1.1 24-Dec-2004  joff branches: 1.1.4;
support for gzimg's in TS-7200 Redboot on-board flash
 1.1.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.1 24-Dec-2004  skrll file Makefile was added on branch ktrace-lwp on 2005-01-17 19:29:22 +0000
 1.2.122.1 25-Feb-2013  tls resync with head
 1.2.120.1 06-Dec-2012  matt Hardcode CPUFLAGS appropriately so that these are always built for the correct
cpu/architecture.
 1.2.112.1 16-Jan-2013  yamt sync with (a bit old) head
 1.4 06-Aug-2012  matt Fix to allow EABI compilation.
Make sure to DISCARD new .ARM.attributes and .ARM.ebxidx sections.
 1.3 26-Sep-2009  skrll branches: 1.3.12;
Deal with the following change to ld:

* The default output section LMA has changed for allocatable sections from
being equal to VMA, to keeping the difference between LMA and VMA the same as
the previous output section in the same region. This is a more useful
default when using overlays and other cases where you specify an LMA
differing from the VMA for some sections.
 1.2 11-Dec-2005  christos branches: 1.2.78;
merge ktrace-lwp.
 1.1 24-Dec-2004  joff branches: 1.1.4;
support for gzimg's in TS-7200 Redboot on-board flash
 1.1.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.1 24-Dec-2004  skrll file ldscript was added on branch ktrace-lwp on 2005-01-17 19:29:22 +0000
 1.2.78.1 11-Mar-2010  yamt sync with head
 1.3.12.1 30-Oct-2012  yamt sync with head
 1.9 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.8 12-Nov-2012  skrll C99 types
 1.7 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.6 12-Feb-2012  matt branches: 1.6.6;
Change old-style function defintions to C89 prototypes.

Approved by releng.
 1.5 01-Jul-2011  dyoung branches: 1.5.2; 1.5.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.4 21-Oct-2009  rmind Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.3 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.2 11-Dec-2005  christos branches: 1.2.78; 1.2.86; 1.2.92;
merge ktrace-lwp.
 1.1 23-Dec-2004  joff branches: 1.1.4;
TS-7200 SBC epcom UART glue
 1.1.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.1 23-Dec-2004  skrll file epcom_ts.c was added on branch ktrace-lwp on 2005-01-17 19:29:23 +0000
 1.2.92.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.2.86.1 28-Apr-2009  skrll Sync with HEAD.
 1.2.78.2 11-Mar-2010  yamt sync with head
 1.2.78.1 04-May-2009  yamt sync with head.
 1.5.6.1 18-Feb-2012  mrg merge to -current.
 1.5.2.3 16-Jan-2013  yamt sync with (a bit old) head
 1.5.2.2 30-Oct-2012  yamt sync with head
 1.5.2.1 17-Apr-2012  yamt sync with head
 1.6.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.3 21-Oct-2009  rmind Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.2 11-Dec-2005  christos branches: 1.2.78;
merge ktrace-lwp.
 1.1 23-Dec-2004  joff branches: 1.1.4;
TS-7200 SBC epcom UART glue
 1.1.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.1 23-Dec-2004  skrll file epcom_tsvar.h was added on branch ktrace-lwp on 2005-01-17 19:29:23 +0000
 1.2.78.1 11-Mar-2010  yamt sync with head
 1.13 23-May-2020  jmcneill GC toastersensors driver
 1.12 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.11 12-Nov-2012  skrll branches: 1.11.2;
C99 types
 1.10 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.9 01-Jul-2011  dyoung branches: 1.9.2; 1.9.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.8 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.7 28-Apr-2008  martin branches: 1.7.8; 1.7.14;
Remove clause 3 and 4 from TNF licenses
 1.6 17-Oct-2007  garbled branches: 1.6.16; 1.6.18; 1.6.20;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.5 09-Jul-2007  ad branches: 1.5.10;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.4 24-Jan-2007  hubertf branches: 1.4.6; 1.4.8; 1.4.14;
Remove duplicate #includes, patch contributed in private mail
by Slava Semushin <slava.semushin@gmail.com>.

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

Thanks to martin@ for the input on testing.
 1.3 31-Aug-2006  matt branches: 1.3.2;
Make these compile again. (#include <arm/ep93xx/epgpioreg.h> and
do the proc -> lwp changeover).
 1.2 11-Dec-2005  christos branches: 1.2.4; 1.2.8; 1.2.18;
merge ktrace-lwp.
 1.1 14-Aug-2005  joff branches: 1.1.6;
Toaster inputs (burnlevel potentiometer, toast down sensor) and
matrix keypad/wskbd attachment glue for polling/debouncing
the 5 front-panel buttons.
 1.1.6.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.6.1 14-Aug-2005  skrll file toastersensors.c was added on branch ktrace-lwp on 2005-11-10 13:55:54 +0000
 1.2.18.5 03-Sep-2007  yamt sync with head.
 1.2.18.4 26-Feb-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 toastersensors.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:54 +0000
 1.2.8.1 03-Sep-2006  yamt sync with head.
 1.2.4.1 09-Sep-2006  rpaulo sync with head
 1.3.2.1 01-Feb-2007  ad Sync with head.
 1.4.14.1 03-Oct-2007  garbled Sync with HEAD
 1.4.8.1 11-Jul-2007  mjf Sync with head.
 1.4.6.1 15-Jul-2007  ad Sync with head.
 1.5.10.1 06-Nov-2007  matt sync with HEAD
 1.6.20.2 04-May-2009  yamt sync with head.
 1.6.20.1 16-May-2008  yamt sync with head.
 1.6.18.1 18-May-2008  yamt sync with head.
 1.6.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.7.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.9.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.9.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.9.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.9.2.1 30-Oct-2012  yamt sync with head
 1.11.2.1 18-May-2014  rmind sync with head
 1.37 20-Feb-2024  andvar Fix format specifier for physmem from %d to 0x%"PRIxPSIZE" in multiple places.

Should fix VERBOSE_INIT_ARM for various evbarm kernel configs.
Also add 0x prefix in few previously fixed places to improve readability.
 1.36 02-May-2023  jmcneill TS7200: Defer event counter registration until after evcnt is initialized

Patch from Lloyd Parkes <lloyd@must-have-coffee.gen.nz> in PR# kern/57386
 1.35 20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.34 03-Jul-2022  andvar branches: 1.34.4;
s/bounaries/boundaries/ in comments.
 1.33 21-Nov-2021  skrll PR port-evbarm/40307 options KGDB doesn't work for some evbarm hosts

Apply patch from Lloyd Parkes with some KNF tweaks from me.
 1.32 17-Aug-2021  andvar fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.31 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.30 18-Apr-2020  skrll Trailing whitespace
 1.29 16-Jul-2019  skrll branches: 1.29.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.28 16-Jul-2019  skrll KNF
 1.27 28-Oct-2018  skrll Fix a commit
 1.26 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.25 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.24 22-Dec-2016  cherry branches: 1.24.14; 1.24.16;
switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.23 13-Sep-2014  matt branches: 1.23.2; 1.23.4;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.22 08-Mar-2014  skrll Hide unused variables in #ifdef FIXME
 1.21 18-Aug-2013  matt <arm/locore.h> fallout (fixes some include ordering errors)
 1.20 12-Nov-2012  skrll branches: 1.20.2;
C99 types
 1.19 22-Sep-2012  matt Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.18 16-Aug-2012  matt branches: 1.18.2;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.17 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.16 01-Jul-2011  dyoung branches: 1.16.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.15 30-Jun-2011  wiz dependant -> dependent
 1.14 26-Dec-2009  uebayasi Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.13 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.12 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.11 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 1.10 30-Nov-2008  martin As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.9 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.8 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.7 27-Apr-2008  matt branches: 1.7.6; 1.7.8;
Merge kernel changes in matt-armv6 to HEAD.
 1.6 19-Jan-2008  chris branches: 1.6.6; 1.6.8; 1.6.10;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 1.5 24-Nov-2006  wiz branches: 1.5.24; 1.5.28; 1.5.34; 1.5.42;
s/independant/independent/, from Zafer.
 1.4 17-May-2006  mrg branches: 1.4.8; 1.4.10;
in initarm(), initialise kernel_l1pt.pv_va as well as kernel_l1pt.pv_pa.
 1.3 24-Dec-2005  perry branches: 1.3.4; 1.3.6; 1.3.8; 1.3.12;
bare asm -> __asm
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 23-Dec-2004  joff branches: 1.1.4; 1.1.12;
TS-7200 machdep initialization
 1.1.12.3 21-Jan-2008  yamt sync with head
 1.1.12.2 30-Dec-2006  yamt sync with head.
 1.1.12.1 21-Jun-2006  yamt sync with head.
 1.1.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.1 23-Dec-2004  skrll file tsarm_machdep.c was added on branch ktrace-lwp on 2005-01-17 19:29:23 +0000
 1.3.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.3.8.1 24-May-2006  yamt sync with head.
 1.3.6.1 01-Jun-2006  kardel Sync with head.
 1.3.4.1 09-Sep-2006  rpaulo sync with head
 1.4.10.1 10-Dec-2006  yamt sync with head.
 1.4.8.1 12-Jan-2007  ad Sync with head.
 1.5.42.1 20-Jan-2008  bouyer Sync with HEAD
 1.5.34.1 18-Feb-2008  mjf Sync with HEAD.
 1.5.28.2 23-Mar-2008  matt sync with HEAD
 1.5.28.1 09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.5.24.1 28-Feb-2008  rjs Sync with HEAD.
 1.6.10.4 11-Mar-2010  yamt sync with head
 1.6.10.3 19-Aug-2009  yamt sync with head.
 1.6.10.2 04-May-2009  yamt sync with head.
 1.6.10.1 16-May-2008  yamt sync with head.
 1.6.8.1 18-May-2008  yamt sync with head.
 1.6.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.6.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.7.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.16.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.16.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.16.2.1 30-Oct-2012  yamt sync with head
 1.18.2.3 03-Dec-2017  jdolecek update from HEAD
 1.18.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.18.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.20.2.2 18-May-2014  rmind sync with head
 1.20.2.1 28-Aug-2013  rmind sync with head
 1.23.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.23.2.1 05-Feb-2017  skrll Sync with HEAD
 1.24.16.3 21-Apr-2020  martin Sync with HEAD
 1.24.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.24.16.1 10-Jun-2019  christos Sync with HEAD
 1.24.14.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.24.14.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.24.14.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.29.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.34.4.1 02-May-2023  martin Pull up following revision(s) (requested by jmcneill in ticket #155):

sys/arch/arm/ep93xx/ep93xx_intr.c: revision 1.28
sys/arch/arm/ep93xx/ep93xxvar.h: revision 1.7
sys/arch/evbarm/tsarm/tsarm_machdep.c: revision 1.36

TS7200: Defer event counter registration until after evcnt is initialized

Patch from Lloyd Parkes in PR kern/57386
 1.7 31-Jan-2011  matt Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.6 21-Oct-2009  rmind branches: 1.6.4; 1.6.6; 1.6.8;
Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.5 14-Dec-2008  kenh Revert changes from revisions 1.3 and 1.4; they make the tsarm platform
fail to boot.
 1.4 07-Dec-2008  matt Roundup to next megabyte and subtract 0xc0000000
 1.3 07-Dec-2008  matt Map all of the kernel.
 1.2 11-Dec-2005  christos branches: 1.2.78; 1.2.84; 1.2.86;
merge ktrace-lwp.
 1.1 23-Dec-2004  joff branches: 1.1.4;
TS-7200 machdep initialization
 1.1.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.1 23-Dec-2004  skrll file tsarm_start.S was added on branch ktrace-lwp on 2005-01-17 19:29:23 +0000
 1.2.86.1 19-Jan-2009  skrll Sync with HEAD.
 1.2.84.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.2.78.1 11-Mar-2010  yamt sync with head
 1.6.8.1 08-Feb-2011  bouyer Sync with HEAD
 1.6.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.6.4.1 05-Mar-2011  rmind sync with head
 1.6 23-Oct-2009  snj Switch to a 2 clause license. Approved by joff@ (copyright holder).
 1.5 11-Dec-2005  christos branches: 1.5.78;
merge ktrace-lwp.
 1.4 14-Aug-2005  joff Add magic i/o location for the MAX197 ADC
 1.3 09-Mar-2005  joff branches: 1.3.4;
Use special spaces for ISA that don't assert USER CS#
 1.2 27-Dec-2004  joff branches: 1.2.2; 1.2.4; 1.2.6;
Add support for TS-5620 daughter card RTC
 1.1 23-Dec-2004  joff TS-7200 magic numbers/structs
 1.2.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.2.4.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.4.3 01-Apr-2005  skrll Sync with HEAD.
 1.2.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.2.4.1 27-Dec-2004  skrll file tsarmreg.h was added on branch ktrace-lwp on 2005-01-17 19:29:23 +0000
 1.2.2.1 29-Apr-2005  kent sync with -current
 1.3.4.1 21-Jun-2006  yamt sync with head.
 1.5.78.1 11-Mar-2010  yamt sync with head
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 23-Dec-2004  joff branches: 1.1.4;
TS-7200 magic numbers/structs
 1.1.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.1 23-Dec-2004  skrll file tsarmvar.h was added on branch ktrace-lwp on 2005-01-17 19:29:23 +0000
 1.12 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.11 24-Apr-2021  thorpej branches: 1.11.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.10 12-Nov-2012  skrll branches: 1.10.52;
C99 types
 1.9 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.8 01-Jul-2011  dyoung branches: 1.8.2; 1.8.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.7 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.6 28-Apr-2008  martin branches: 1.6.8; 1.6.14;
Remove clause 3 and 4 from TNF licenses
 1.5 24-Jan-2007  hubertf branches: 1.5.44; 1.5.46; 1.5.48;
Remove duplicate #includes, patch contributed in private mail
by Slava Semushin <slava.semushin@gmail.com>.

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

Thanks to martin@ for the input on testing.
 1.4 31-Aug-2006  matt branches: 1.4.2;
Make these compile again. (#include <arm/ep93xx/epgpioreg.h> and
do the proc -> lwp changeover).
 1.3 11-Dec-2005  christos branches: 1.3.4; 1.3.8;
merge ktrace-lwp.
 1.2 04-Feb-2005  joff branches: 1.2.2; 1.2.4; 1.2.10; 1.2.12;
keysyms off-by-one in numbering
 1.1 31-Jan-2005  joff Add support for a 4x4 matrix keypad wskbd connected via the TS-7200 DIO header.
 1.2.12.2 26-Feb-2007  yamt sync with head.
 1.2.12.1 30-Dec-2006  yamt sync with head.
 1.2.10.2 29-Apr-2005  kent sync with -current
 1.2.10.1 04-Feb-2005  kent file tskp.c was added on branch kent-audio2 on 2005-04-29 11:28:08 +0000
 1.2.4.2 12-Feb-2005  yamt sync with head.
 1.2.4.1 04-Feb-2005  yamt file tskp.c was added on branch yamt-km on 2005-02-12 18:17:31 +0000
 1.2.2.2 04-Feb-2005  skrll Sync with HEAD.
 1.2.2.1 04-Feb-2005  skrll file tskp.c was added on branch ktrace-lwp on 2005-02-04 11:44:18 +0000
 1.3.8.1 03-Sep-2006  yamt sync with head.
 1.3.4.1 09-Sep-2006  rpaulo sync with head
 1.4.2.1 01-Feb-2007  ad Sync with head.
 1.5.48.2 04-May-2009  yamt sync with head.
 1.5.48.1 16-May-2008  yamt sync with head.
 1.5.46.1 18-May-2008  yamt sync with head.
 1.5.44.1 02-Jun-2008  mjf Sync with HEAD.
 1.6.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.6.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.8.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.8.2.2 16-Jan-2013  yamt sync with (a bit old) head
 1.8.2.1 30-Oct-2012  yamt sync with head
 1.10.52.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.11.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.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 25-Jul-2014  dholland branches: 1.18.42;
Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.
 1.17 16-Mar-2014  dholland branches: 1.17.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.16 12-Nov-2012  skrll branches: 1.16.2;
C99 types
 1.15 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.14 01-Jul-2011  dyoung branches: 1.14.2; 1.14.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.13 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.12 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.11 11-Jun-2008  cegger branches: 1.11.4; 1.11.10;
use device_lookup_private to get softc
 1.10 28-Apr-2008  martin branches: 1.10.2; 1.10.4;
Remove clause 3 and 4 from TNF licenses
 1.9 04-Mar-2007  christos branches: 1.9.40; 1.9.42; 1.9.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.8 24-Jan-2007  hubertf branches: 1.8.2;
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.7 31-Aug-2006  matt branches: 1.7.2;
Make these compile again. (#include <arm/ep93xx/epgpioreg.h> and
do the proc -> lwp changeover).
 1.6 11-Dec-2005  christos branches: 1.6.4; 1.6.8;
merge ktrace-lwp.
 1.5 14-Aug-2005  joff hd44780 porting layer for readreg/writereg now takes an extra "enable" argument.
 1.4 04-Feb-2005  joff branches: 1.4.6;
Support a wsdisplay(4) attachment on a tslcd
 1.3 11-Jan-2005  joff branches: 1.3.2; 1.3.4; 1.3.6;
Use hd44780var.h instead of hd44780_subr.h
 1.2 09-Jan-2005  joff o reversed sense of RS in writereg
o attempt HD44780 reset on open if LCD not detected at bootup
o skip everything if sc_dev_ok == 0 in writereg/readreg
 1.1 08-Jan-2005  joff Support for bit-banging HD44780 bus cycles on the generic LCD header
 1.3.6.1 12-Feb-2005  yamt sync with head.
 1.3.4.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.4.3 04-Feb-2005  skrll Sync with HEAD.
 1.3.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.3.4.1 11-Jan-2005  skrll file tslcd.c was added on branch ktrace-lwp on 2005-01-17 19:29:23 +0000
 1.3.2.1 29-Apr-2005  kent sync with -current
 1.4.6.4 03-Sep-2007  yamt sync with head.
 1.4.6.3 26-Feb-2007  yamt sync with head.
 1.4.6.2 30-Dec-2006  yamt sync with head.
 1.4.6.1 21-Jun-2006  yamt sync with head.
 1.6.8.1 03-Sep-2006  yamt sync with head.
 1.6.4.1 09-Sep-2006  rpaulo sync with head
 1.7.2.1 01-Feb-2007  ad Sync with head.
 1.8.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.9.44.2 04-May-2009  yamt sync with head.
 1.9.44.1 16-May-2008  yamt sync with head.
 1.9.42.2 17-Jun-2008  yamt sync with head.
 1.9.42.1 18-May-2008  yamt sync with head.
 1.9.40.2 29-Jun-2008  mjf Sync with HEAD.
 1.9.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.10.4.1 18-Jun-2008  simonb Sync with head.
 1.10.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.11.10.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.11.4.1 28-Apr-2009  skrll Sync with HEAD.
 1.14.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.14.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 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 16-Jan-2013  yamt sync with (a bit old) head
 1.14.2.1 30-Oct-2012  yamt sync with head
 1.16.2.1 18-May-2014  rmind sync with head
 1.17.2.1 10-Aug-2014  tls Rebase.
 1.18.42.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.19.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.28 19-Oct-2025  thorpej Use {,e}isabus_attach().
 1.27 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.26 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.25 24-Apr-2021  thorpej branches: 1.25.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.24 25-Feb-2014  pooka branches: 1.24.44;
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.23 12-Nov-2012  skrll branches: 1.23.2;
C99 types
 1.22 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.21 01-Jul-2011  dyoung branches: 1.21.2; 1.21.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.20 23-Oct-2009  snj Switch to a 2 clause license. Approved by joff@ (copyright holder).
 1.19 14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.18 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.17 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.16 01-Jan-2009  kenh branches: 1.16.2;
If the default watchdog timer period is used, use a timer value
of 8 seconds. Otherwise wdogctl will return an error.
 1.15 10-May-2008  martin branches: 1.15.6;
Backout previous: the license sweep touched these files in error, so
restore the old license.
 1.14 28-Apr-2008  martin branches: 1.14.2;
Remove clause 3 and 4 from TNF licenses
 1.13 17-Oct-2007  garbled branches: 1.13.16; 1.13.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.12 09-Jul-2007  ad branches: 1.12.10;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.11 12-Nov-2005  hamajima branches: 1.11.32; 1.11.34; 1.11.40;
add #include <arm/ep93xx/epgpioreg.h>.
 1.10 26-Aug-2005  drochner s/locdesc_t/int/g
 1.9 14-Aug-2005  joff Support for the TS-7200's optional TMP124 temperature sensor via sysctl
 1.8 30-Jun-2005  drochner branches: 1.8.2;
adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes
 1.7 20-Jun-2005  atatat Change the rest of the sysctl subsystem to use const consistently.
The __UNCONST macro is now used only where necessary and the RW macros
are gone. Most of the changes here are consumers of the
sysctl_createv(9) interface that now takes a pair of const pointers
which used not to be.
 1.6 04-Jun-2005  he Fix -Wcast-qual warnings, unfortunately using __UNCONST() for sysctl()
function parameters.
 1.5 24-Feb-2005  joff Add sysctl tree hw.tspld.* for query of jumper states, pld revision,
board model/options, etc...
 1.4 09-Jan-2005  joff branches: 1.4.2; 1.4.4; 1.4.6;
call isa_bs_mallocok() right before ISA bus attachment
 1.3 27-Dec-2004  joff Clean up autoconf stuff
 1.2 26-Dec-2004  joff support watchdog timer on TS-7200 CPLD
 1.1 23-Dec-2004  joff TS-7200 onboard CPLD driver
 1.4.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.4.4.5 11-Dec-2005  christos Sync with head.
 1.4.4.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.4.3 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.4.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.4.4.1 09-Jan-2005  skrll file tspld.c was added on branch ktrace-lwp on 2005-01-17 19:29:23 +0000
 1.4.2.1 29-Apr-2005  kent sync with -current
 1.8.2.2 03-Sep-2007  yamt sync with head.
 1.8.2.1 21-Jun-2006  yamt sync with head.
 1.11.40.1 03-Oct-2007  garbled Sync with HEAD
 1.11.34.1 11-Jul-2007  mjf Sync with head.
 1.11.32.1 15-Jul-2007  ad Sync with head.
 1.12.10.1 06-Nov-2007  matt sync with HEAD
 1.13.20.2 11-Mar-2010  yamt sync with head
 1.13.20.1 04-May-2009  yamt sync with head.
 1.13.16.1 17-Jan-2009  mjf Sync with HEAD.
 1.14.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.15.6.2 28-Apr-2009  skrll Sync with HEAD.
 1.15.6.1 19-Jan-2009  skrll Sync with HEAD.
 1.16.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.21.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.21.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 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 16-Jan-2013  yamt sync with (a bit old) head
 1.21.2.1 30-Oct-2012  yamt sync with head
 1.23.2.1 18-May-2014  rmind sync with head
 1.24.44.6 05-Apr-2021  thorpej Treat config_probe() as if it were a boolean function; don't compare
return value > 0... except for the odd balls, which are now really easy
to spot.
 1.24.44.5 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.24.44.4 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.24.44.3 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.24.44.2 02-Apr-2021  thorpej config_found_ia() -> config_found() w/ CFARG_IATTR.
 1.24.44.1 20-Mar-2021  thorpej The proliferation if config_search_*() and config_found_*() combinations
is a little absurd, so begin to tidy this up:

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.25.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.2 11-Dec-2005  christos merge ktrace-lwp.
 1.1 23-Dec-2004  joff branches: 1.1.4;
TS-7200 onboard CPLD driver
 1.1.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.1 23-Dec-2004  skrll file tspldvar.h was added on branch ktrace-lwp on 2005-01-17 19:29:23 +0000
 1.8 20-Nov-2014  christos use the inline bcdtobin and bintobcd directly instead through a macro.
 1.7 01-Jul-2011  dyoung branches: 1.7.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.6 04-Apr-2008  tsutsui Fix botches in the previous.
 1.5 29-Mar-2008  tsutsui 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 11-Dec-2005  christos branches: 1.2.46; 1.2.50; 1.2.56; 1.2.64;
merge ktrace-lwp.
 1.1 27-Dec-2004  joff branches: 1.1.4; 1.1.12;
Add support for TS-5620 daughter card RTC
 1.1.12.1 21-Jan-2008  yamt sync with head
 1.1.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.1 27-Dec-2004  skrll file tsrtc.c was added on branch ktrace-lwp on 2005-01-17 19:29:23 +0000
 1.2.64.1 10-Jan-2008  bouyer Sync with HEAD
 1.2.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.2.50.1 23-Mar-2008  matt sync with HEAD
 1.2.46.1 28-Feb-2008  rjs Sync with HEAD.
 1.3.6.2 02-Jun-2008  mjf Sync with HEAD.
 1.3.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.7.12.1 03-Dec-2017  jdolecek update from HEAD
 1.12 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.11 20-Oct-2017  jdolecek 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.10 07-Oct-2017  jdolecek adapt the rest of wdc attachments for NCQ branch merge
 1.9 31-Jul-2012  bouyer branches: 1.9.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.8 26-Jul-2012  jakllsch Revert, with intention of restoring in a less invasive way, the SATA Port
Multiplier code.

ok christos@
 1.7 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.6 01-Jul-2011  dyoung branches: 1.6.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.5 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.4 18-Mar-2008  cube branches: 1.4.2; 1.4.4;
Split device_t and softc for ATA devices, as well as wd(4). Other
cosmetic changes where appropriate.
 1.3 16-Jan-2006  bouyer branches: 1.3.48; 1.3.68; 1.3.72;
properly use ata_channel->ch_ndrive:
- initialize it properly in the bus front-ends (all 2, exept in wdc_pcmcia.c
for the "Sandisk CompactFlash Card" where it's set to 1)
- remplace hardcoded '2' by ata_channel->ch_ndrive in MI IDE drivers.

From Christos Zoulas in kern/32501.
 1.2 11-Dec-2005  christos branches: 1.2.2;
merge ktrace-lwp.
 1.1 23-Dec-2004  joff branches: 1.1.4; 1.1.12;
CompactFlash IDE controller glue
 1.1.12.2 24-Mar-2008  yamt sync with head.
 1.1.12.1 21-Jun-2006  yamt sync with head.
 1.1.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.1 23-Dec-2004  skrll file wdc_ts.c was added on branch ktrace-lwp on 2005-01-17 19:29:23 +0000
 1.2.2.1 01-Feb-2006  yamt sync with head.
 1.3.72.2 02-Jun-2008  mjf Sync with HEAD.
 1.3.72.1 03-Apr-2008  mjf Sync with HEAD.
 1.3.68.1 24-Mar-2008  keiichi sync with head.
 1.3.48.1 23-Mar-2008  matt sync with HEAD
 1.4.4.1 16-May-2008  yamt sync with head.
 1.4.2.1 18-May-2008  yamt sync with head.
 1.6.2.1 30-Oct-2012  yamt sync with head
 1.9.2.1 03-Dec-2017  jdolecek update from HEAD
 1.13 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.12 16-Mar-2018  ryo use designated initializer to make adaptability and flexibility for changing struct bus_space.
no functional change.
 1.11 13-Sep-2014  matt branches: 1.11.18;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.10 12-Feb-2012  matt branches: 1.10.6;
Change old-style function defintions to C89 prototypes.

Approved by releng.
 1.9 27-Jan-2012  para converting extent(9) from malloc(9) to kmem(9)
preceding kmem-vmem-pool-uvm patch

releng@ acknowledged
 1.8 01-Jul-2011  dyoung branches: 1.8.2; 1.8.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.7 14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.6 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.5 04-Mar-2007  christos branches: 1.5.44; 1.5.52; 1.5.58;
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 24-Jan-2005  joff branches: 1.3.8;
Fix mem/io extents usage. Previously had been mis-using the bs_cookie for a bs_tag.
 1.2 09-Jan-2005  joff branches: 1.2.2; 1.2.4;
Implement extent(9) based management of ISA io/mem so pcic(9) has
a chance of working.
 1.1 23-Dec-2004  joff PC/104 aka ISA bus support on TS-7200
 1.2.4.3 24-Jan-2005  skrll Sync with HEAD.
 1.2.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.2.4.1 09-Jan-2005  skrll file isa_io.c was added on branch ktrace-lwp on 2005-01-17 19:29:23 +0000
 1.2.2.1 29-Apr-2005  kent sync with -current
 1.3.8.1 03-Sep-2007  yamt sync with head.
 1.4.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.5.58.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.5.52.1 28-Apr-2009  skrll Sync with HEAD.
 1.5.44.1 04-May-2009  yamt sync with head.
 1.8.6.1 18-Feb-2012  mrg merge to -current.
 1.8.2.1 17-Apr-2012  yamt sync with head
 1.10.6.1 03-Dec-2017  jdolecek update from HEAD
 1.11.18.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 11-Dec-2005  christos branches: 1.2.74; 1.2.76; 1.2.78;
merge ktrace-lwp.
 1.1 23-Dec-2004  joff branches: 1.1.4;
PC/104 aka ISA bus support on TS-7200
 1.1.4.2 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.1 23-Dec-2004  skrll file isa_io_asm.S was added on branch ktrace-lwp on 2005-01-17 19:29:23 +0000
 1.2.78.1 16-May-2008  yamt sync with head.
 1.2.76.1 18-May-2008  yamt sync with head.
 1.2.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.14 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.13 08-Mar-2014  skrll Fix a bug found by gcc 4.8
 1.12 27-Oct-2012  chs branches: 1.12.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.11 01-Jul-2011  dyoung branches: 1.11.2; 1.11.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.10 19-Aug-2009  dyoung isa_detach_hook() needs two arguments, the first an isa_chipset_tag_t.
 1.9 18-Aug-2009  dyoung These are stragglers from my last commit ("Let us safely detach
the ISA bus and devices attaching to the ISA bus"). Define
isa_detach_hook() in MD ISA implementations. Define isa_dmadestroy().
 1.8 16-Mar-2009  dsl ANSIfy functions with function-pointer arguments
 1.7 14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.6 14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.5 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.4 28-Apr-2008  martin branches: 1.4.8; 1.4.14;
Remove clause 3 and 4 from TNF licenses
 1.3 11-Dec-2005  christos branches: 1.3.74; 1.3.76; 1.3.78;
merge ktrace-lwp.
 1.2 24-Jan-2005  joff whoops, had intr mask inverted
 1.1 23-Dec-2004  joff branches: 1.1.2; 1.1.4;
PC/104 aka ISA bus support on TS-7200
 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 23-Dec-2004  skrll file isa_machdep.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.3.78.3 19-Aug-2009  yamt sync with head.
 1.3.78.2 04-May-2009  yamt sync with head.
 1.3.78.1 16-May-2008  yamt sync with head.
 1.3.76.1 18-May-2008  yamt sync with head.
 1.3.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.4.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.11.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.11.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.11.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.11.2.1 30-Oct-2012  yamt sync with head
 1.12.2.1 18-May-2014  rmind sync with head
 1.6 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.5 01-Jul-2011  dyoung branches: 1.5.2; 1.5.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.4 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.3 24-Jul-2007  pooka branches: 1.3.6;
remove TNF advertising clause from file copyrighted to me
 1.2 11-Dec-2005  christos branches: 1.2.30; 1.2.38; 1.2.42; 1.2.44;
merge ktrace-lwp.
 1.1 06-Jun-2005  pooka branches: 1.1.2; 1.1.8;
Add initial support for the PXA255-based Arcom Viper ARM board.
The system can boot into multiuser, but most of the peripheral
driver attachments are still missing.

Thanks go to Jan Nyman for arranging access to the hardware and to
Steve Woodford for reviewing the code.
 1.1.8.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.8.1 06-Jun-2005  skrll file if_sm_pxaip.c was added on branch ktrace-lwp on 2005-11-10 13:55:54 +0000
 1.1.2.1 03-Sep-2007  yamt sync with head.
 1.2.44.1 15-Aug-2007  skrll Sync with HEAD.
 1.2.42.1 07-Aug-2007  matt Sync with HEAD.
 1.2.38.1 03-Oct-2007  garbled Sync with HEAD
 1.2.30.1 20-Aug-2007  ad Sync with HEAD.
 1.3.6.1 06-Nov-2007  matt sync with HEAD
 1.5.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.5.2.1 30-Oct-2012  yamt sync with head
 1.35 20-Feb-2024  andvar Fix format specifier for physmem from %d to 0x%"PRIxPSIZE" in multiple places.

Should fix VERBOSE_INIT_ARM for various evbarm kernel configs.
Also add 0x prefix in few previously fixed places to improve readability.
 1.34 12-Oct-2023  skrll Fix non-DIAGNOSTIC builds
 1.33 17-Aug-2021  andvar branches: 1.33.4;
fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.32 18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.31 18-Apr-2020  skrll Trailing whitespace
 1.30 16-Jul-2019  skrll branches: 1.30.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.29 16-Jul-2019  skrll KNF
 1.28 28-Oct-2018  skrll Fix a commit
 1.27 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.26 31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.25 22-Dec-2016  cherry branches: 1.25.14; 1.25.16;
switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.24 13-Sep-2014  matt branches: 1.24.2; 1.24.4;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.23 18-Aug-2013  matt <arm/locore.h> fallout (fixes some include ordering errors)
 1.22 22-Sep-2012  matt branches: 1.22.2;
Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.21 16-Aug-2012  matt branches: 1.21.2;
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.
 1.20 29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.19 01-Jul-2011  dyoung branches: 1.19.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.18 30-Jun-2011  wiz dependant -> dependent
 1.17 28-Nov-2010  hannken As md(4) no longer has "needs-count" there is no "md.h" anymore.
Remove the inclusion of this file.

Acorn32 now always builds load_memory_disc_from_floppy(). This should
not be a problem as all configs have md(4).

Observed by: Masao Uebayashi <uebayasi@netbsd.org>
 1.16 26-Dec-2009  uebayasi branches: 1.16.4;
Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.15 26-Dec-2009  uebayasi Garbage collect an unused global, vm_offset_t pagetables_start.
 1.14 27-Nov-2009  rmind - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.13 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.12 11-Aug-2009  matt Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
 1.11 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.10 27-Apr-2008  matt branches: 1.10.6; 1.10.8;
Merge kernel changes in matt-armv6 to HEAD.
 1.9 19-Jan-2008  chris branches: 1.9.6; 1.9.8; 1.9.10;
Remove arm support for IPKDB.

It hasn't worked since arm was broken out from arm32 in Jan 2001, and
no-one has noticed or cared to fix it.
 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 21-Aug-2007  kiyohara branches: 1.7.2;
The initarm() should initialize GPIO. We must not initialize GPIO in
foo_attach() of the each drivers. And, it is necessary to confirm whether
to be initialized in foo_match(). To avoid a dangerous configuring on the
evaluation boards.
 1.6 24-Nov-2006  wiz branches: 1.6.8; 1.6.16; 1.6.22; 1.6.24; 1.6.26;
s/independant/independent/, from Zafer.
 1.5 24-Oct-2006  bjh21 parse_mi_bootargs() is declared in <arm/arm32/machdep.h>, so there's no need
to declare it here too.
 1.4 17-May-2006  mrg branches: 1.4.8; 1.4.10;
in initarm(), initialise kernel_l1pt.pv_va as well as kernel_l1pt.pv_pa.
 1.3 08-Mar-2006  lukem branches: 1.3.2;
Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings.
Add a space between numbers and Hz unit.
 1.2 11-Dec-2005  christos branches: 1.2.4; 1.2.6; 1.2.8; 1.2.10;
merge ktrace-lwp.
 1.1 06-Jun-2005  pooka branches: 1.1.2; 1.1.8;
Add initial support for the PXA255-based Arcom Viper ARM board.
The system can boot into multiuser, but most of the peripheral
driver attachments are still missing.

Thanks go to Jan Nyman for arranging access to the hardware and to
Steve Woodford for reviewing the code.
 1.1.8.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.8.1 06-Jun-2005  skrll file viper_machdep.c was added on branch ktrace-lwp on 2005-11-10 13:55:54 +0000
 1.1.2.4 21-Jan-2008  yamt sync with head
 1.1.2.3 03-Sep-2007  yamt sync with head.
 1.1.2.2 30-Dec-2006  yamt sync with head.
 1.1.2.1 21-Jun-2006  yamt sync with head.
 1.2.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.2.8.2 24-May-2006  yamt sync with head.
 1.2.8.1 13-Mar-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.3.2.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.4.10.1 10-Dec-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.26.1 03-Sep-2007  jmcneill Sync with HEAD.
 1.6.24.2 28-Feb-2008  rjs Sync with HEAD.
 1.6.24.1 01-Nov-2007  rjs Sync with HEAD.
 1.6.22.1 03-Sep-2007  skrll Sync with HEAD.
 1.6.16.1 03-Oct-2007  garbled Sync with HEAD
 1.6.8.1 09-Oct-2007  ad Sync with head.
 1.7.2.3 23-Mar-2008  matt sync with HEAD
 1.7.2.2 28-Jan-2008  matt Adapt to new pmap_bootstrap signature.
 1.7.2.1 06-Nov-2007  matt sync with HEAD
 1.8.8.1 20-Jan-2008  bouyer Sync with HEAD
 1.8.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.9.10.4 11-Mar-2010  yamt sync with head
 1.9.10.3 19-Aug-2009  yamt sync with head.
 1.9.10.2 04-May-2009  yamt sync with head.
 1.9.10.1 16-May-2008  yamt sync with head.
 1.9.8.1 18-May-2008  yamt sync with head.
 1.9.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.9.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.10.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.10.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.16.4.1 05-Mar-2011  rmind sync with head
 1.19.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.19.2.1 30-Oct-2012  yamt sync with head
 1.21.2.3 03-Dec-2017  jdolecek update from HEAD
 1.21.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.21.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.22.2.1 28-Aug-2013  rmind sync with head
 1.24.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.24.2.1 05-Feb-2017  skrll Sync with HEAD
 1.25.16.3 21-Apr-2020  martin Sync with HEAD
 1.25.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.25.16.1 10-Jun-2019  christos Sync with HEAD
 1.25.14.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.25.14.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.25.14.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.30.8.1 20-Apr-2020  bouyer Sync with HEAD
 1.33.4.1 14-Oct-2023  martin Pull up following revision(s) (requested by skrll in ticket #411):

sys/arch/evbarm/nslu2/nslu2_machdep.c: revision 1.41
sys/arch/evbarm/gumstix/gumstix_machdep.c: revision 1.75
sys/arch/evbarm/iq80321/iq80321_machdep.c: revision 1.66
sys/arch/iyonix/iyonix/iyonix_machdep.c: revision 1.34
sys/arch/zaurus/zaurus/machdep.c: revision 1.52
sys/arch/evbarm/g42xxeb/g42xxeb_machdep.c: revision 1.41
sys/arch/hpcarm/hpcarm/pxa2x0_hpc_machdep.c: revision 1.33
sys/arch/evbarm/iq80310/iq80310_machdep.c: revision 1.96
sys/arch/evbarm/adi_brh/brh_machdep.c: revision 1.53
sys/arch/arm/include/arm32/pmap.h: revision 1.177
sys/arch/evbarm/viper/viper_machdep.c: revision 1.34
sys/arch/evbarm/iyonix/iyonix_machdep.c: revision 1.5
sys/arch/evbarm/npwr_fc/npwr_fc_machdep.c: revision 1.30
sys/arch/evbarm/hdl_g/hdlg_machdep.c: revision 1.35
sys/arch/arm/arm32/pmap.c: revision 1.440
sys/arch/evbarm/lubbock/lubbock_machdep.c: revision 1.45
sys/arch/evbarm/ixdp425/ixdp425_machdep.c: revision 1.47

Fix non-DIAGNOSTIC builds
 1.4 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.3 24-Jul-2007  pooka branches: 1.3.6;
remove TNF advertising clause from file copyrighted to me
 1.2 11-Dec-2005  christos branches: 1.2.30; 1.2.38; 1.2.42; 1.2.44;
merge ktrace-lwp.
 1.1 06-Jun-2005  pooka branches: 1.1.2; 1.1.8;
Add initial support for the PXA255-based Arcom Viper ARM board.
The system can boot into multiuser, but most of the peripheral
driver attachments are still missing.

Thanks go to Jan Nyman for arranging access to the hardware and to
Steve Woodford for reviewing the code.
 1.1.8.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.8.1 06-Jun-2005  skrll file viper_reg.h was added on branch ktrace-lwp on 2005-11-10 13:55:54 +0000
 1.1.2.1 03-Sep-2007  yamt sync with head.
 1.2.44.1 15-Aug-2007  skrll Sync with HEAD.
 1.2.42.1 07-Aug-2007  matt Sync with HEAD.
 1.2.38.1 03-Oct-2007  garbled Sync with HEAD
 1.2.30.1 20-Aug-2007  ad Sync with HEAD.
 1.3.6.1 06-Nov-2007  matt sync with HEAD
 1.6 31-Jan-2011  matt Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
 1.5 17-Oct-2007  garbled branches: 1.5.42; 1.5.48; 1.5.50;
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 24-Jul-2007  pooka branches: 1.4.6;
remove TNF advertising clause from file copyrighted to me
 1.3 17-Apr-2006  pooka branches: 1.3.18; 1.3.26; 1.3.30; 1.3.32;
Define the dcache size so that we can run our own homegrown cache
flush routine during startup. XXX: I have absolutely no idea where
this managed to pick up DCACHE_SIZE from before.

closes port-evbarm/33276 by Peter Postma
 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 06-Jun-2005  pooka branches: 1.1.2; 1.1.8;
Add initial support for the PXA255-based Arcom Viper ARM board.
The system can boot into multiuser, but most of the peripheral
driver attachments are still missing.

Thanks go to Jan Nyman for arranging access to the hardware and to
Steve Woodford for reviewing the code.
 1.1.8.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.8.1 06-Jun-2005  skrll file viper_start.S was added on branch ktrace-lwp on 2005-11-10 13:55:54 +0000
 1.1.2.2 03-Sep-2007  yamt sync with head.
 1.1.2.1 21-Jun-2006  yamt sync with head.
 1.2.12.1 24-May-2006  tron Merge 2006-05-24 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 24-May-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.32.1 15-Aug-2007  skrll Sync with HEAD.
 1.3.30.1 07-Aug-2007  matt Sync with HEAD.
 1.3.26.1 03-Oct-2007  garbled Sync with HEAD
 1.3.18.1 20-Aug-2007  ad Sync with HEAD.
 1.4.6.1 06-Nov-2007  matt sync with HEAD
 1.5.50.1 08-Feb-2011  bouyer Sync with HEAD
 1.5.48.1 06-Jun-2011  jruoho Sync with HEAD.
 1.5.42.1 05-Mar-2011  rmind sync with head

RSS XML Feed