Home | History | Annotate | only in /src/sys/arch/powerpc/conf
History log of /src/sys/arch/powerpc/conf
RevisionDateAuthorComments
 1.13 28-May-1998  sakamoto Rename NetBSD/powerpc to NetBSD/ofppc.
New sys/arch/powerpc with PowerPC-generic stuff.
 1.12 18-Mar-1998  bouyer Add commented out "options FFS_EI"
 1.11 02-Mar-1998  drochner Change MBR partition type for NetBSD to 0xa9, like the i386 port.
Provide compatibility via COMPAT_386BSD_MBRPART.
 1.10 24-Feb-1998  mycroft Catch up with changes in dev/ofw. Add mainbus.
 1.9 27-Jan-1998  sakamoto Import DDB from OpenBSD/powerpc.
 1.8 01-Dec-1997  kleink Add COMPAT_13.
 1.7 20-Nov-1997  fair add pseudo-device rnd, commented out
 1.6 17-Nov-1997  lukem * add commented out DDB_HISTORY_SIZE=100 if DDB exists in config file
* fix up use of 'options<SPACE><TAB>'
 1.5 16-Apr-1997  thorpej branches: 1.5.8;
Update for current PowerPC code, some from Wolfgang.
 1.4 31-Jan-1997  thorpej Adopt for new file system and root spec grammar.
 1.3 16-Oct-1996  ws branches: 1.3.2;
Rename recently checked in KGDB to IPKDB to resolve conflicts with older KGDB
 1.2 16-Oct-1996  ws Add EXEC_ stuff
 1.1 30-Sep-1996  ws PowerPC port
 1.3.2.1 14-Jan-1997  thorpej Snapshot of work-in-progress, committed to private branch.

These changes implement machine-independent root device and file system
selection. Notable features:

- All ports behave in a consistent manner regarding root
device selection.
- No more "options GENERIC"; all kernels have the ability
to boot with RB_ASKNAME to select root device and file system
type.
- Root file system type can be wildcarded; a machine-independent
function will try all possible file systems for the selected
root device until one succeeds.
- If the root file system fails to mount, the operator will
be given the chance to select a new root device and file
system type, rather than having the machine simply panic.
- nfs_mountroot() no longer panics if any part of the NFS
mount process fails; it now returns an error, giving the
operator a chance to recover.
- New, more consistent, config(8) grammar. The constructs:

config netbsd swap generic
config netbsd root on nfs

have been replaced with:

config netbsd root on ? type ?
config netbsd root on ? type nfs

Additionally, the operator may select or wildcard root file
system type in the kernel configuration file:

config netbsd root on cd0a type cd9660

config(8) now requires that a "root" specification be
made. "root" may be wired down or wildcarded. "swap" and
"dump" specifications are optional, and follow previous
semantics.

- config(8) has a new "file-system" keyword, used to configure
file systems into the kernel. Eventually, this will be used
to generate the default vfssw[].

- "options NFSCLIENT" is obsolete, and is replaced by
"file-system NFS". "options NFSSERVER" still exists, since
NFS server support is independent of the NFS file system
client.

- sys/arch/<foo>/<foo>/swapgeneric.c is no longer used, and
will be removed; all information is now generated by config(8).

As of this commit, all ports except arm32 have been updated to use
the new setroot(). Only SPARC, i386, and Alpha ports have been
tested at this time. Port masters should test these changes on their
ports, and report any problems back to me.

More changes are on their way, including RB_ASKNAME support in
nfs_mountroot() (to prompt for server address and path) and, potentially,
the ability to select rarp/bootparam or bootp in nfs_mountroot().
 1.5.8.1 20-Nov-1997  mellon Pull rev 1.7 up from trunk (fair)
 1.62 20-Mar-2024  christos Fix reproducible builds (Jan-Benedict Glaw)
 1.61 22-Sep-2018  rin - Determine KERN_AS automatically depending on whether OPT_MODULAR is
set or not, in the same way as libcompat.

- Specify OPT_MODULAR in the port Makefile instead of KERN_AS.

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

OK christos
 1.60 27-Feb-2016  joerg branches: 1.60.16; 1.60.18;
clang now supports normal soft float.
 1.59 24-Aug-2015  uebayasi Define ${LINKSCRIPT} in one place.
 1.58 15-Nov-2014  uebayasi branches: 1.58.2;
Use LINKSCRIPT.
 1.57 10-Aug-2014  joerg Put GCC/GAS specific options under ACTIVE_CC == "gcc".
 1.56 08-Aug-2014  joerg Don't set -mmultiple or -mno-string for PowerPC, the difference is too
small to really matter and it sometimes even increases the size.
 1.55 05-Aug-2014  apb Use ${TOOL_GZIP_N} instead of ${TOOL_GZIP} -n, and similarly
use ${TOOL_GZIP_N} -9 instead of ${TOOL_GZIP} -9n, etc.

This will pass -nT instead of just -n if the gzip program is
actually pigz.
 1.54 06-Mar-2014  matt branches: 1.54.2;
When building a DEBUG kernel, mdsetimage into the .gdb as well (so if it's
used with gxemul, it has the md image in it.)
 1.53 28-Feb-2014  matt Don't hardcode MACHINE_ARCH
 1.52 23-Aug-2013  matt Add a SYSTEM_DEP for the ramdisk on INSTALL kernels.
 1.51 10-Mar-2013  christos branches: 1.51.6;
Explicitly set KERN_AS (this could be done in /usr/src/sys/conf/Makefile.*)
so that modules work, on config files that did not set it explicitly. All
the files now use the standard logic, except the ones that set KERN_AS=obj
and Makefile.usermode which sets KERN_AS=library.
 1.50 21-Mar-2012  matt branches: 1.50.2;
For BookE kernels, use -mmultiple and -misel and enable -fstack-protector
 1.49 01-Feb-2012  matt branches: 1.49.2;
Make sure the walnut system_tail_extra is very last thing.
 1.48 30-Jun-2011  matt branches: 1.48.2; 1.48.6;
Get rid of local TOOL_GZIP definition that now bsd.own.mk does it for us.
 1.47 25-Jun-2011  matt Move some stuff from evbppc's Makefile.inc to powerpc's.
This avoids redundant objcopy's
 1.46 18-Jun-2011  matt Make a common genassym.cf (powerpc/genassym.cf) and then
only put specific stuff in foo/genassym.cf
 1.45 04-Jun-2011  matt Make sure the kernel is compiled with -msdata=none since it uses %r2 and %r13
for other uses.
 1.44 18-Jan-2011  matt branches: 1.44.4;
Add support for BookE Freescale MPC85xx (e500 core) processors.
Add fast softint support for PowerPC (though only booke uses it).
Redo FPU/VEC support and add e500 SPE support.
Rework trap/intrs to use a common trapframe format.
Support SOFTFLOAT (no hardfloat or fpu emulation) for BookE.
 1.43 15-Feb-2009  cube branches: 1.43.4; 1.43.6;
Convert the recently introduced awk command to retrieve the value of the
option MODULAR to using %MODULAR%. While it is now possible to only
request the new version in the affected Makefiles, it is made mandatory for
everybody because I just fixed a bug in config(1) that would not make it
fail in the case of a syntax error in the Makefile template.
 1.42 14-Feb-2009  apb Now that "options MODULAR" is handled via defflag, the Makefile
generated by config(1) in the kernel compile directory no longer
contains IDENT=-DMODULAR. Instead, there's an opt_modular.h file that
might or might not contain "#define MODULAR 1".

Adapt to this by adding an OPT_MODULAR variable to relevant Makefiles,
set via an awk script that parses opt_modular.h.
 1.41 13-Nov-2008  ad branches: 1.41.4;
LKM -> MODULAR
 1.40 07-Mar-2008  phx branches: 1.40.4; 1.40.10; 1.40.12; 1.40.22;
mem*.S no longer include assym.h
 1.39 03-Mar-2008  matt Make kernlib depend on assym.h
 1.38 01-Mar-2008  joerg mem*.S needs assym.h.
 1.37 08-Jan-2008  joerg branches: 1.37.2; 1.37.6;
lock_stubs.S needs assym.h.
 1.36 24-Nov-2005  dbj branches: 1.36.50; 1.36.56; 1.36.64;
. 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.35 02-Jun-2005  he branches: 1.35.2; 1.35.8;
Remove the hack to compile oea/pmap.c with -Wno-cast-qual, and instead
make use of the new __UNVOLATILE() macro in memset() usage.
 1.34 02-Jun-2005  he Put a band-aid over the cast qualification warnings for oea/pmap.c.
It cannot be compiled with -Wno-cast-qual due to a volatile pointer
being passed to memset(), and there's no easy way other than open-
coding memset() to fix this. So instead we cheat for now and add
-Wno-cast-qual to CFLAGS for this file. To be documented in doc/HACKS.
 1.33 31-May-2005  christos s/GENASSYM/GENASSYM_CONF/ so we can use "GENASSYM" as the program name.
 1.32 12-Feb-2005  matt When building kernel for OEA, allow unaligned accesses since OEA
processors will deal with them properly.
 1.31 09-Dec-2004  matt branches: 1.31.2; 1.31.4;
Add -Wa,-maltivec so that AltiVec instuctions will be recognized.
 1.30 04-Jun-2004  thorpej Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.
 1.29 06-Jan-2004  briggs branches: 1.29.4;
Change CPPFLAGS to -D${MACHINE}=${MACHINE} instead of just -D${MACHINE}
This makes it possible to define header files on the command line that
might include ${MACHINE} somewhere in the path. This might be used in
evbppc, for example, when defining PPC_PCI_MACHDEP_IMPL as, for example:

PPC_PCI_MACHDEP_IMPL="<arch/evbppc/sandpoint/pci_machdep.h>"

which will be included as

#include PPC_PCI_MACHDEP_IMPL

Prior to this change, the compile would fail trying to include
<arch/evbppc/1/pci_machdep.h>
 1.28 29-Sep-2003  simonb Add a dependancy on assym.h; helps "make -j N" kernel builds.
 1.27 24-Feb-2003  matt branches: 1.27.2;
Only define KERN_AS= object if IDENT has -DLKM.
 1.26 19-Feb-2003  matt Set KERN_AS=obj now that LKMs work. (otherwise when you loaded LKMs they
wouldn't have all the library routines available).
 1.25 01-Jan-2003  augustss Add NEED_SYMTAB to run dbsym.
 1.24 23-Aug-2002  scw Allow port-specific Makefiles to override the name and location
of locore.[So].
This is in preparation for arch/evbppc.
 1.23 19-May-2002  augustss Add NEED_BINARY, similar to NEED_SREC.
 1.22 18-Apr-2002  matt branches: 1.22.2;
Use a common genassym.cf for all the PPC_MPC6XX ports. Add a makeoptions to
std.foo to indicate the directory to get genassym.cf from. Add an intrframe
to <powerpc/frame.h> and make trap_subr.S use symbolic offsets into it.
 1.21 05-Jan-2002  dbj change apparent typo of MS_SFILES to MD_SFILES
This fixes some dependency problems with locore.S
 1.20 09-Dec-2001  atatat Roll the rest of the ports over to the new MI kernel build machinery.
Any problems reported by testers have been fixed, and massive
cross-compiling of kernels has shown that any problems that remain
with actually building kernels are not related to this.
 1.19 26-Oct-2001  jmc branches: 1.19.2;
Change defaults for kernel compiles. Default all to USETOOLS?=no and have
the etc Makefile override that by putting USETOOLS into $.MAKEOVERRIDES
This way the default for kernel compiles is still to use the installed
toolchain instead of depending on $TOOLDIR. $TOOLDIR can be used by
simply adding USETOOLS=yes to the command line as usual.

Adjust each ports template to set the default no setting and also pull in
bsd.own.mk if they weren't already to ensure they'll build correctly
with the new toolchain setup.
 1.18 23-Oct-2001  thorpej branches: 1.18.2;
Set MACHINE_ARCH explicitly in Makefiles for which it is constant.
Also, since config(8) now explcitly sets MACHINE, there is no need
to do it here in the Makefile.
 1.17 23-Oct-2001  thorpej Use MACHINE, not TARGET_MACHINE.
 1.16 21-Oct-2001  thorpej Use <bsd.own.mk> so that the right thing happens when building a
kernel w/ USE_NEW_TOOLCHAIN.
 1.15 26-Aug-2001  simonb Include ${THISPPC}/conf/Makefile.${TARGET_MACHINE}.inc if it exists (ala
mips' Makefile.mips).
 1.14 26-Aug-2001  matt Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 1.13 28-May-1998  sakamoto branches: 1.13.4;
Rename NetBSD/powerpc to NetBSD/ofppc.
New sys/arch/powerpc with PowerPC-generic stuff.
 1.12 12-Apr-1998  tv Add -Wno-main conditional on compiler being gcc 2.8 or egcs. (This adds
a HAVE_GCC28 check-variable that can now be used to add other gcc-2.8
flags in cases where they may be useful, or to remove gcc 2.7.2 "bug
workaround" flags.)
 1.11 12-Nov-1997  thorpej Make sure CPP, AR, AS, and RANLIB are defined.
 1.10 12-Nov-1997  thorpej Define LORDER, NM, and TSORT here, like we do the rest of the tools.
 1.9 30-Sep-1997  christos branches: 1.9.2;
PR/4162: Chris Jones: make cleandir does not work properly; it does not
remove the object files and the .depend file in the kernel build directory.
 1.8 12-Jul-1997  leo branches: 1.8.2;
Generate assym.h dependencies when making 'depend'.
 1.7 19-Apr-1997  thorpej Fix a pasto
 1.6 16-Apr-1997  thorpej - Use genassym.sh to facilitate cross-compiling.
- Various clean/catch-up.
 1.5 14-Mar-1997  mycroft Define the `cleankernel' target consistently with other ports.
 1.4 04-Feb-1997  perry Nuke some options GENERIC residue.
 1.3 04-Feb-1997  perry Nuke some GENERIC residue.
 1.2 01-Dec-1996  jonathan * Replace explicit -O2 in CFLAGS with COPTS macro. Default COPTS?= -O2.
Lets users over-ride with makeoptions COPTS="..." in kernel config files.

Leave `mandatory' flags (like -msoft-float which on m68k enforces no
FP in kernel) in CFLAGS.
 1.1 30-Sep-1996  ws PowerPC port
 1.8.2.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.9.2.1 12-Nov-1997  thorpej Pull up "make sure tools are defined" changes from trunk.
 1.13.4.4 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.13.4.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.13.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.13.4.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.18.2.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.19.2.7 03-Jan-2003  thorpej Sync with HEAD.
 1.19.2.6 27-Aug-2002  nathanw Catch up to -current.
 1.19.2.5 20-Jun-2002  nathanw Catch up to -current.
 1.19.2.4 28-Feb-2002  nathanw Catch up to -current.
 1.19.2.3 11-Jan-2002  nathanw More catchup.
 1.19.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.19.2.1 26-Oct-2001  nathanw file Makefile.powerpc was added on branch nathanw_sa on 2002-01-08 00:27:08 +0000
 1.22.2.2 31-Aug-2002  gehenna catch up with -current.
 1.22.2.1 30-May-2002  gehenna Catch up with -current.
 1.27.2.7 11-Dec-2005  christos Sync with head.
 1.27.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.27.2.5 15-Feb-2005  skrll Sync with HEAD.
 1.27.2.4 18-Dec-2004  skrll Sync with HEAD.
 1.27.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.27.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.27.2.1 03-Aug-2004  skrll Sync with HEAD
 1.29.4.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.31.4.1 12-Feb-2005  yamt sync with head.
 1.31.2.1 29-Apr-2005  kent sync with -current
 1.35.8.1 29-Nov-2005  yamt sync with head.
 1.35.2.3 17-Mar-2008  yamt sync with head.
 1.35.2.2 21-Jan-2008  yamt sync with head
 1.35.2.1 21-Jun-2006  yamt sync with head.
 1.36.64.1 08-Jan-2008  bouyer Sync with HEAD
 1.36.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.36.50.2 23-Mar-2008  matt sync with HEAD
 1.36.50.1 09-Jan-2008  matt sync with HEAD
 1.37.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.37.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.37.2.1 24-Mar-2008  keiichi sync with head.
 1.40.22.2 26-Jul-2011  matt Merge MKUBOOTIMAGE support from -HEAD
 1.40.22.1 07-Jan-2011  matt Add booke support.
 1.40.12.2 03-Mar-2009  skrll Sync with HEAD.
 1.40.12.1 19-Jan-2009  skrll Sync with HEAD.
 1.40.10.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.40.4.1 04-May-2009  yamt sync with head.
 1.41.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.43.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.43.4.2 12-Jun-2011  rmind sync with head
 1.43.4.1 05-Mar-2011  rmind sync with head
 1.44.4.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.48.6.2 05-Apr-2012  mrg sync to latest -current.
 1.48.6.1 18-Feb-2012  mrg merge to -current.
 1.48.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.48.2.1 17-Apr-2012  yamt sync with head
 1.49.2.1 17-May-2012  riz Pull up following revision(s) (requested by matt in ticket #250):
sys/arch/powerpc/conf/Makefile.powerpc: revision 1.50
For BookE kernels, use -mmultiple and -misel and enable -fstack-protector
 1.50.2.3 03-Dec-2017  jdolecek update from HEAD
 1.50.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.50.2.1 23-Jun-2013  tls resync from head
 1.51.6.2 18-May-2014  rmind sync with head
 1.51.6.1 28-Aug-2013  rmind sync with head
 1.54.2.1 10-Aug-2014  tls Rebase.
 1.58.2.2 19-Mar-2016  skrll Sync with HEAD
 1.58.2.1 22-Sep-2015  skrll Sync with HEAD
 1.60.18.1 10-Jun-2019  christos Sync with HEAD
 1.60.16.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.8 23-Jul-2012  matt Add support for PPC FP emulation to BookE.
Pass a ksiginfo_t to fpu_emulation so it can give more detailed
info on signals.
 1.7 22-Jul-2012  matt Split mdio/mii access into its own "device" and update accordingly.
(on the P1025 the mdio functionality is separate from the etsec functions).
Provide locking for mii access.
 1.6 02-Aug-2011  matt branches: 1.6.2;
Change device name of pq3cfi to cfi.
Add cfi to P2020DS
Add ddrc
 1.5 25-Jul-2011  matt nflash is dead. remove it.
 1.4 15-Jul-2011  cliff Add support for CFI NOR, using MPC8536DS as initial example.
Only AMD/Fujitsu command set is suported so far.
This is still work in progress, be advised.
 1.3 02-May-2011  matt Add nandfcm device glue
 1.2 18-Jan-2011  matt Add support for BookE Freescale MPC85xx (e500 core) processors.
Add fast softint support for PowerPC (though only booke uses it).
Redo FPU/VEC support and add e500 SPE support.
Rework trap/intrs to use a common trapframe format.
Support SOFTFLOAT (no hardfloat or fpu emulation) for BookE.
 1.1 09-Mar-2010  matt branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10;
Add PPC BookE files.
 1.1.10.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.8.5 14-Oct-2011  matt Sync with current pulling P2020 and other newer processor support.
 1.1.8.4 02-Aug-2011  matt Change pq3cfi to cfi
 1.1.8.3 26-Jul-2011  matt Add pq3cfi device
 1.1.8.2 07-Jan-2011  matt Add mpc85xx support for netbsd-5 (with some incompatible kernel changes).
 1.1.8.1 09-Mar-2010  matt file files.booke was added on branch matt-nb5-pq3 on 2011-01-07 01:26:18 +0000
 1.1.6.2 30-Apr-2010  uebayasi Sync with HEAD.
 1.1.6.1 09-Mar-2010  uebayasi file files.booke was added on branch uebayasi-xip on 2010-04-30 14:39:41 +0000
 1.1.4.2 31-May-2011  rmind sync with head
 1.1.4.1 05-Mar-2011  rmind sync with head
 1.1.2.2 11-Mar-2010  yamt sync with head
 1.1.2.1 09-Mar-2010  yamt file files.booke was added on branch yamt-nfs-mp on 2010-03-11 15:02:49 +0000
 1.6.2.1 30-Oct-2012  yamt sync with head
 1.9 18-Mar-2010  kiyohara Support PowerPC 405EX/EXr.
1. Add some new source and header files.
(MAL(split) and RGMII(new) relations for EMAC)
2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h.
3. intr.c supports MULTIUIC with virtual-irq. likes to oea.
support 32-virq/128-hwirq.
4. multiple emac support.
5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx.
6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
 1.8 20-Feb-2008  drochner branches: 1.8.10; 1.8.24; 1.8.30; 1.8.32;
Since files.wscons et al. are included by ~all ports anyway, include
them in the mi "files" file, and remove include statements from md files.
These shouldn't pull in additional kernel code when not in use, so it
shouldn't do any harm except a risk of namespace collisions which
should be easy to fix.
 1.7 10-Apr-2007  macallan branches: 1.7.14;
include files.wsfb
 1.6 19-Sep-2006  simonb branches: 1.6.4; 1.6.8; 1.6.10;
Fix white-space nit.
 1.5 18-Sep-2006  gdamore Conversion of evbppc to generic TODR. ok freza@
 1.4 11-Dec-2005  christos branches: 1.4.20; 1.4.22;
merge ktrace-lwp.
 1.3 06-Oct-2003  shige branches: 1.3.4; 1.3.18;
Add Real time clock support code.
 1.2 06-Oct-2003  scw MD i2c glue for the 405GP's onboard IIC controller.
Bit-bang only for now.
 1.1 23-Sep-2003  shige Add IBM405GPx specific kernel configuration file.
 1.3.18.3 27-Feb-2008  yamt sync with head.
 1.3.18.2 03-Sep-2007  yamt sync with head.
 1.3.18.1 30-Dec-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 06-Oct-2003  skrll file files.ibm405gp was added on branch ktrace-lwp on 2004-08-03 10:39:22 +0000
 1.4.22.1 22-Oct-2006  yamt sync with head
 1.4.20.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 15-Apr-2007  yamt sync with head.
 1.7.14.1 23-Mar-2008  matt sync with HEAD
 1.8.32.1 30-May-2010  rmind sync with head
 1.8.30.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.8.24.1 24-Oct-2010  jym Sync with HEAD
 1.8.10.1 11-Aug-2010  yamt sync with head.
 1.15 21-Nov-2013  kiyohara Support Synopsys DesigneWave OTG on PowerPC 405EX.
 1.14 22-Jun-2011  matt branches: 1.14.2; 1.14.12; 1.14.16;
Add support pci_intr_setattr.
Export non-inline version of pci api for modules (_MODULE is defined).
Fix definition of pc_conf_hook and pc_conf_interrupt.
Switch to using inlines instead of macros.
Switch ibm4xx to use <powerpc/pci_machdep.h>
 1.13 20-Jun-2011  matt Change IBM4xx to use the common powerpc PIC framework.
Consolidate most ibm4xx initppc function into ibm4xx_init
and Make all IBM4xx use it.
Change explora to use initppc instead of bootstrap.
 1.12 06-Nov-2010  uebayasi branches: 1.12.6;
Add IBM405GPr "External Bus" driver.
 1.11 18-Mar-2010  kiyohara Support PowerPC 405EX/EXr.
1. Add some new source and header files.
(MAL(split) and RGMII(new) relations for EMAC)
2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h.
3. intr.c supports MULTIUIC with virtual-irq. likes to oea.
support 32-virq/128-hwirq.
4. multiple emac support.
5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx.
6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
 1.10 13-Mar-2006  shige branches: 1.10.68; 1.10.88; 1.10.90;
IBM4xx on-chip GPIO controller apllying MI GPIO framework.
 1.9 11-Dec-2005  christos branches: 1.9.4; 1.9.6; 1.9.8; 1.9.10;
merge ktrace-lwp.
 1.8 13-Oct-2005  jmc Rename gpio to ppcgpio to resolve naming conflicts w. gpio framework
 1.7 23-Jan-2005  shige branches: 1.7.8;
Add gpio module.
 1.6 17-Jan-2005  shige Add board properties database code.
 1.5 06-Oct-2003  scw branches: 1.5.6; 1.5.8;
MD i2c glue for the 405GP's onboard IIC controller.
Bit-bang only for now.
 1.4 23-Sep-2003  shige Add on-chip IIC driver.
Add some definitions for IIC driver.
 1.3 23-Nov-2002  thorpej branches: 1.3.6;
Put interface attributes on the device, not another attribute with
the same name as the device.
 1.2 23-Aug-2002  scw branches: 1.2.2; 1.2.4; 1.2.6;
Add "ecc at plb" device.
Add an "irq" locator to the plb device.
This gets rid of the original hack where ecc support was wedged into
the cpu driver.
 1.1 13-Aug-2002  simonb Move 4xx devices to their own config include file so they can be used
elsewhere.
 1.2.6.2 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.6.1 23-Aug-2002  jdolecek file files.ibm4xx was added on branch kqueue on 2002-09-06 08:39:00 +0000
 1.2.4.2 31-Aug-2002  gehenna catch up with -current.
 1.2.4.1 23-Aug-2002  gehenna file files.ibm4xx was added on branch gehenna-devsw on 2002-08-31 13:45:41 +0000
 1.2.2.3 11-Dec-2002  thorpej Sync with HEAD.
 1.2.2.2 27-Aug-2002  nathanw Catch up to -current.
 1.2.2.1 23-Aug-2002  nathanw file files.ibm4xx was added on branch nathanw_sa on 2002-08-27 23:45:04 +0000
 1.3.6.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.6.4 24-Jan-2005  skrll Sync with HEAD.
 1.3.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.6.1 03-Aug-2004  skrll Sync with HEAD
 1.5.8.1 29-Apr-2005  kent sync with -current
 1.5.6.1 15-Sep-2005  riz Pull up following revision(s) (requested by shige in ticket #5820):
distrib/evbppc/md-kernel/Makefile 1.3 via patch
etc/etc.evbppc/Makefile.inc 1.3 via patch
sys/arch/evbppc/conf/files.obs405 1.5-1.8 via patch
sys/arch/evbppc/conf/OPENBLOCKS266 1.22,1.25 via patch
sys/arch/evbppc/include/obs266.h 1.1 (new)
sys/arch/evbppc/include/obs405.h 1.1-1.5 (new)
sys/arch/evbppc/include/rbus_machdep.h 1.1 (new)
sys/arch/evbppc/obs405/consinit.c 1.2-1.4
sys/arch/evbppc/obs405/dev/x1226.c deleted
sys/arch/evbppc/obs405/dev/x1226reg.h deleted
sys/arch/evbppc/obs405/machdep.c deleted
sys/arch/evbppc/obs405/obs266_autoconf.c 1.1 (new)
sys/arch/evbppc/obs405/obs266_machdep.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_autoconf.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_machdep.c 1.1 (new)
sys/arch/evbppc/obs405/rbus_machdep.c 1.1 (new)
sys/arch/powerpc/conf/files.ibm4xx 1.6-1.7
sys/arch/powerpc/ibm4xx/board_prop.c 1.1 (new)
sys/arch/powerpc/ibm4xx/dev/com_opb.c 1.12
sys/arch/powerpc/ibm4xx/dev/comopbvar.h 1.1 (new)
sys/arch/powerpc/ibm4xx/ibm40x_machdep.c 1.3-1.4
sys/arch/powerpc/ibm4xx/ibm4xx_autoconf.c 1.1-1.2 (new)
sys/arch/powerpc/ibm4xx/ibm4xx_machdep.c 1.1-1.3 (new)
sys/arch/powerpc/ibm4xx/ibm4xxgpx_autoconf.c 1.2-1.3
sys/arch/powerpc/ibm4xx/openbios/openbios.c 1.1 (new)
sys/arch/powerpc/include/ibm4xx/cpu.h 1.7-1.10
sys/arch/powerpc/include/ibm4xx/openbios.h 1.1 (new)

Update OpenBlockS266 support to more modern, stable sources.
 1.7.8.1 21-Jun-2006  yamt sync with head.
 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.10.90.2 05-Mar-2011  rmind sync with head
 1.10.90.1 30-May-2010  rmind sync with head
 1.10.88.6 09-Nov-2010  uebayasi Sync with HEAD.
 1.10.88.5 09-Nov-2010  uebayasi Sync with HEAD.
 1.10.88.4 19-Aug-2010  uebayasi Define FlashROM addresses in board specific code.
 1.10.88.3 11-Aug-2010  uebayasi Implement flash(4) glue at exb(4).
 1.10.88.2 11-Aug-2010  uebayasi Implement 405GPr's "External Bus" as exb(4).
 1.10.88.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.10.68.1 11-Aug-2010  yamt sync with head.
 1.12.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 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.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 15-Nov-2000  matt branches: 1.5.40; 1.5.82; 1.5.90; 1.5.100; 1.5.102; 1.5.104; 1.5.106;
back out my change powerpc/conf/files.ofw. Enable the inclusion of
dev/ofw/files.ofw on macppc. Add openfirm to ofppc/conf.c
 1.4 14-Nov-2000  matt Add support for /dev/openfirm.
Add OF_nextprop support.
 1.3 15-Feb-1999  hubertf RCS ID police
 1.2 29-May-1998  sakamoto revert. ofppc->powerpc
 1.1 29-May-1998  sakamoto Revert OpenFirmware files to powerpc directory.
OpenFirmware files are used by ofppc/macppc.
 1.5.106.1 25-Oct-2007  bouyer Sync with HEAD.
 1.5.104.1 18-Oct-2007  yamt sync with head.
 1.5.102.1 06-Nov-2007  matt sync with HEAD
 1.5.100.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.5.90.1 24-Sep-2007  macallan add an option for OFWOEA specific debug output
 1.5.82.1 23-Oct-2007  ad Sync with head.
 1.5.40.1 27-Oct-2007  yamt sync with head.
 1.102 30-May-2022  rin Introduce PPC_NO_UNALIGNED flag to indicate that CPU cannot handle
unaligned memory access, and emulation should be provided to userland.
 1.101 07-May-2022  rin Try to fix PV tracking support.

* For oea (with real PV tracking support):

Define __HAVE_PMAP_PV_TRACK. Otherwise, pmap_pv_init() is not called by
uvm_init().

* For booke and ibm4xx (without PV tracking support):

For MODULAR kernel and modules, define __HAVE_PMAP_PV_TRACK together with
PMAP_PV_TRACK_ONLY_STUBS, so that modules can be shared with oea.

Note that PMAP_PV_TRACK_ONLY_STUBS can be used even for oea,
as a compile-time option to strip real PV tracking support.
 1.100 17-Feb-2022  macallan include pmap_pvt.c in bridge mode as well
 1.99 16-Feb-2022  riastradh powerpc: Implement pv-tracking for unmanaged pages.

Needed for drm.
 1.98 05-Mar-2021  rin For Explora 451, call calc_delayconst() before pckbc_cnattach(), which
depends on delay() and DELAY().

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

Therefore, hard-code CPU frequency to calc_delayconst() in case
"processor-frequency" is not initialized.
 1.97 21-Oct-2020  christos branches: 1.97.2;
make process_machdep.c included always since it provides register i/o used by
sys_process_getlwpstatus.c which is always included.
 1.96 20-Oct-2020  christos harmonize process_machdep.c inclusion.
 1.95 10-Sep-2020  rin Introduce PMAP_TLBDEBUG option for ibm4xx: clear only TLBHI[V] bit when
TLB entry is invalidated, instead of clearing entire TLBHI register.
 1.94 30-Jun-2020  maxv Make copystr() a MI C function, part of libkern and shared on all
architectures.

Notes:

- On alpha and ia64 the function is kept but gets renamed locally to avoid
symbol collision. This is because on these two arches, I am not sure
whether the ASM callers do not rely on fixed registers, so I prefer to
keep the ASM body for now.
- On Vax, only the symbol is removed, because the body is used from other
functions.
- On RISC-V, this change fixes a bug: copystr() was just a wrapper around
strlcpy(), but strlcpy() makes the operation less safe (strlen on the
source beyond its size).
- The kASan, kCSan and kMSan wrappers are removed, because now that
copystr() is in C, the compiler transformations are applied to it,
without the need for manual wrappers.

Could test on amd64 only, but should be fine.
 1.93 20-Feb-2020  rin Add PPC_IBM440 flag as 440 is significantly different from 40x processors.
(It may be more easily supported by booke than by ibm4xx.)
 1.92 06-Apr-2019  thorpej branches: 1.92.4; 1.92.6;
Overhaul the API used to fetch and store individual memory cells in
userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(),
subyte(), suword(), etc.) are retired and replaced with new ufetch(9)
and ustore(9) APIs that can return proper error codes, etc. and are
implemented consistently across all platforms. The interrupt-safe
variants are no longer supported (and several of the existing attempts
at fuswintr(), etc. were buggy and not actually interrupt-safe).

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

Welcome to NetBSD 8.99.37.
 1.91 15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.90 01-Jun-2018  macallan branches: 1.90.2;
add clock speed control for 970MP CPUs
 1.89 04-Mar-2014  matt branches: 1.89.28;
compat16 -> compat_16
 1.88 28-Feb-2014  matt sigcode is dependant on compat_16
 1.87 17-Nov-2013  alnsn Enable sljit and bpfjit on powerpc.
 1.86 19-Sep-2013  christos remove unused OPENPIC flags.
 1.85 20-Oct-2012  kiyohara branches: 1.85.2;
Support Cache Protocol 'MEI' with MULTIPROCESSOR.
 1.84 02-Oct-2012  christos move common tlb stuff to uvm
 1.83 29-Mar-2012  matt branches: 1.83.2;
Add PMAP_MINIMALTLB defflag
 1.82 29-Jun-2011  matt branches: 1.82.2; 1.82.6; 1.82.8;
Add VERBOSE_INITPPC flag
 1.81 18-Jun-2011  matt Unconditionally build fixup.c
 1.80 15-Jun-2011  matt Move the interrupt stub from booke_stubs.c into its own intr_stubs.c.
Move the "null" intrsw (used in startup) to intr_stubs.c as well.
 1.79 14-Jun-2011  matt Take the fast softint support in e500_intr.c and make generic so that it can
be used to provide fast softint for other interrupt implementations.
 1.78 12-Jun-2011  rmind Welcome to 5.99.53! Merge rmind-uvmplock branch:

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

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

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

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

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

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.
 1.77 05-Jun-2011  matt Remove <machine/atomic.h>; use <sys/atomic.h> instead.
Add <powerpc/cpuset.h> (for mpc85xx pmap).
Add some initial MP code for mpc85xx
Rework ipi code to be common across all ppcs
Change PPC to keep curlwp in %r13 while in the kernel.
Move astpending from cpu_info to mdlwp
Improve cpu_need_resched to be more MP friendly.
 1.76 02-May-2011  matt branches: 1.76.2;
Move powerpc to use pcu to manage FPU/AltiVec/SPE.
 1.75 26-Apr-2011  joerg Remove Darwin, MACH and Mach-O support.
 1.74 12-Feb-2011  matt When an OEA kernel is configured for multiple MMU types, use the new
powerpc fixup mechanism to bind the kernel to a particular MMU. This
avoids an indirect call for every pmap call.
 1.73 18-Jan-2011  matt branches: 1.73.2;
Add support for BookE Freescale MPC85xx (e500 core) processors.
Add fast softint support for PowerPC (though only booke uses it).
Redo FPU/VEC support and add e500 SPE support.
Rework trap/intrs to use a common trapframe format.
Support SOFTFLOAT (no hardfloat or fpu emulation) for BookE.
 1.72 09-Mar-2010  matt branches: 1.72.2; 1.72.4;
Add PPC_BOOKE cputype and booke files.
 1.71 11-Dec-2008  pooka branches: 1.71.4;
Since oea pmap.c is #included many times, put kernel_pmap_ptr into
its own source module to avoid multiple initialized data definitions.
 1.70 19-Nov-2008  ad Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime
 1.69 05-Feb-2008  garbled branches: 1.69.6; 1.69.10; 1.69.16; 1.69.18; 1.69.28;
Ifdef out all the MPC601 code with PPC_OEA601. Now only arches that have the
possibility of running on an MPC601, are infected with all the extra code
and nops that it added.

Also, fix compilation that I broke with the pmap code, by adding
oeacpufeat to the locores of various ppc arches. Noted by mlelstv.
 1.68 05-Feb-2008  garbled Rewrite a big chunk of the pmap and locore code for powerpc to better
deal with the 64bit bridge mode. pmap changes by Matt Thomas, rest by myself.

Change pmap.c to work similar to exec_elf.c to allow us to compile in
multiple pmaps to a single kernel. This allows the pmap for bridge64 to
co-exist with the 32bit pmap.

Yank __HAVE_PMAP_PHYSSEG from all the oea code.

Add a new global, "oeacpufeat", which is used early in locore to determine
certain cpu features. This allows us to conditionalize code early in the boot
for certain CPUs that have special needs.

Yank most of the ifdef PPC_OEA_BRIDGE64 code from almost every file it was
found in. Some of it seemed incorrect, and my 7044 booted just fine
without it. It would appear that the bridge cpus treat BAT instructions
as nops, so they seem to be safe.

In ofppc, check the oeacpufeat, and if we are on a 64bit proc, clear
MSR[SF], and ASR[V].

With all of these changes, a kernel with both PPC_OEA and PPC_OEA_BRIDGE64
will boot on the POWERIII-2 cpu. However, it will not yet boot on a 32bit
cpu, because of CACHELINESIZE. Work remains to be done there to fix that.
 1.67 25-Jan-2008  joerg Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.

This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.
 1.66 07-Jan-2008  ad Build kobj_machdep.c if MODULAR.
 1.65 17-Oct-2007  garbled branches: 1.65.2; 1.65.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.64 07-Jul-2007  tsutsui branches: 1.64.8; 1.64.10; 1.64.12; 1.64.14;
Remove leftover netns stuff.
 1.63 09-Feb-2007  ad branches: 1.63.6; 1.63.8; 1.63.14;
Merge newlock2 to head.
 1.62 05-Aug-2006  sanjayl branches: 1.62.4;
1st cut of Powermac G5 support (uses bridge mode).
 1.61 11-Dec-2005  christos branches: 1.61.4; 1.61.8;
merge ktrace-lwp.
 1.60 02-Jun-2005  he branches: 1.60.2;
Remove the hack to compile oea/pmap.c with -Wno-cast-qual, and instead
make use of the new __UNVOLATILE() macro in memset() usage.
 1.59 02-Jun-2005  he Put a band-aid over the cast qualification warnings for oea/pmap.c.
It cannot be compiled with -Wno-cast-qual due to a volatile pointer
being passed to memset(), and there's no easy way other than open-
coding memset() to fix this. So instead we cheat for now and add
-Wno-cast-qual to CFLAGS for this file. To be documented in doc/HACKS.
 1.58 03-Jul-2004  manu Move all the MD bits of commpage to a new file.
Map the comm page as RW in kernel (we want to modify it but not to execute it),
and RX in userland (no need to modify it but we want to execute it
 1.57 18-Apr-2004  matt Add entry for netns/ns_cksum.c
 1.56 17-Mar-2004  aymeric defparam PMAP_MEMLIMIT
 1.55 19-Nov-2003  scw Include arch/powerpc/ibm4xx/intr.c only if a particular board actually
uses the generic 4xx interrupt implementation.
There are some 4xx boards with entirely different interrupt controllers.
 1.54 25-Sep-2003  matt Add siginfo support for PowerPC.
 1.53 12-Aug-2003  matt Remove SPILLSTK leftovers.
 1.52 11-Aug-2003  matt Add PTEGCOUNT defparam for opt_pmap.h
 1.51 03-Aug-2003  matt Add PPC_OEA64 and netbsd32_sigcode.S
 1.50 18-Jul-2003  matt Elimindate MD setrunqueue/remrunqueue (which were out-of-date compared to
the canonical versions in kern_synch.c). Define __HAVE_BIGENDIAN_BITOPS
so the canonical versions will be used but will store priorities in the
desired (MSB) order for PowerPC (which allows the use of the cntlzw (count
leading zeroes, word) instruction in locore_subr.S to find the proper
priority).
 1.49 08-May-2003  christos branches: 1.49.2;
rename Locore.c -> locore_c.c so that we can compile on case insensitive
filesystems. (from John Gordon)
 1.48 17-Mar-2003  matt Add CLOCKBASE to opt_ppcparam.h.
 1.47 11-Mar-2003  hannken Add support for the IBM 403GCX cpu. Enabled with "options PPC_IBM403".

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

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.46 26-Feb-2003  jklos Added L3CR_CONFIG to the parameter list for 745x L3 cache configuration.
 1.45 03-Feb-2003  matt Rename PPC_MPC6XX to PPC_OEA (and any mpc6xx reference to oea).
 1.44 02-Feb-2003  matt Remove OLDPMAP support.
 1.43 02-Feb-2003  matt Perform a rototill of the powerpc code. Mandate use of SPRG0 to store
a pointer to current cpu's cpu_info structure. Use cpu_info for
intstk,intr_depth,still_stk,idle_pcb,curpcb,curlwp,etal even on
non-MULTIPROCESSOR machines. Add common macros GET_CPUINFO and
INIT_CPUINFO to get and initialize the cpu_info struct on startup. Make
ibm4xx use the standard <powerpc/frame.h>. Use IFRAME_xx in ibm4xx
trap_subr.S instead of explicit magic offsets. Move INTSTK and SPILLSTK
to std.<platform>. Change faultbuf to a struct instead of an array.

On MPC6XX cpus, stop using the vector page for temporary space and use
reserved space in cpu_info.
 1.42 25-Nov-2002  manu Added an empty shell for signal delivery. Now we just have to fill the
machine dependant bits.
 1.41 17-Nov-2002  manu As we use one FreeBSD file for COMPAT_DARWIN, we must include file.freebsd
 1.40 12-Nov-2002  manu The kernel now builds with COMPAT_DARWIN.
 1.39 03-Nov-2002  manu Added support for Darwin's PowerPC-only system calls:
ppccalls, with system call numbers starting at 0x6000
fasttraps, with system call numbers starting at 0x7FF0

Because the Mach system call dispatching code has grown a bit
too much, introduce an inline function to handle it (mach_syscall_dispatch).

While we are there, remove the Mach and Linux includes from
arch/powerpc/powerpc/syscall.c and push them into
arch/powerpc/powerpc/{mach|linux}_syscall.c
 1.38 30-Oct-2002  manu Add COMPAT_MACH and EXEC_MACHO support on the PowerPC
 1.37 30-Oct-2002  manu Prepare syscall.c for COMPAT_MACH support. linux_syscall_intern is
moved to a Linux specific file, child_return is moved to trap.c,
and we introduce a EMULNAME macro co that syscall.c can be included to
define the system call handler for another emulation.
 1.36 30-Oct-2002  manu Moved binary compatibility options from arch directory to cpu directory
 1.35 18-Aug-2002  matt defflag PMAPDEBUG, PMAPCHECK, and PMAPCOUNTERS into opt_pmap.h
 1.34 24-Jul-2002  chs reimplement copy{in,out}str() similarly to copy{in,out}()
(instead of the old way of calling [fs]ubyte() in a loop).
 1.33 17-Jul-2002  matt Add a common file to do pmap_zero_page/pmap_copy_page/pmap_pageidlezero and
pmap_syncicache. This file uses a ppc feature in a sick and twisted way
to avoid mapping the physical pages used by those routines. It performs
the operations with the MMU disabled but PPC exception save and retstore
the machine state and are invoked with the MMU disabled, this doesn't have
an adverse effect on the system.

Currently only enable for MPC6xx and !OLDPMAP.
 1.32 05-Jul-2002  matt Peform a rototill over the powerpc-based ports.

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

Add user Altivec support.

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

Use ci_fpuproc in cpu_info instead of separate fpuproc.

Add separate syscall.c and defined __HAVE_SYSCALL_INTERN.
 1.31 14-Mar-2002  eeh branches: 1.31.4;
Some files have been moved into powerpc/ibm4xx.
 1.30 09-Mar-2002  chs switch all mpc6xx powerpc ports to NEWPMAP by default.
the old pmap is still available with the OLDPMAP option.
 1.29 06-Jan-2002  dbj add support for kgdb over zs
 1.28 07-Dec-2001  bjh21 Change L2CR_CONFIG from defflag to defparam, since it takes an argument.
 1.27 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.26 20-Nov-2001  lukem - replace "defopt" with "defparam" for options which must take a value,
as config(8) will warn for value-less defparam options
- minor whitespace/formatting cleanup
- consolidate opt_tcp_recvspace.h and opt_tcp_sendspace.h into opt_tcp_space.h
 1.25 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.24 30-Aug-2001  briggs branches: 1.24.6;
Create an opt_openpic.h and add both OPENPIC and OPENPIC_SERIAL_MODE to it.
 1.23 26-Aug-2001  matt Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 1.22 20-Jun-2001  briggs branches: 1.22.2;
Build for kgdb as well as for ddb (mutually exclusive).
 1.21 17-Jun-2001  tsubai Forgot to commit this -- move file .../bus_dma.c line to files.${machine}.
 1.20 13-Jun-2001  simonb Add a port to IBM's PPC405GP Reference Board (the "walnut")
by Eduardo Horvath and Simon Burge of Wasabi Systems.

IBM 4xx series CPU features:
- New pmap and revised trap handler.
- Support on-chip timers, PCI controller, UARTs
- Framework for on-chip ethernet and watchdog timer.
General PowerPC features:
- Add in-kernel PPC floating point emulation
- New in{,4}_cksum that is between 1.5 and 5 times faster than the
old version depending on CPU type.
General changes:
- Kernel support for generic dbsym-style symbols.
 1.19 10-Jun-2001  tsubai Make the new pmap optional. Use the old (stable!) pmap by default.
 1.18 06-Jun-2001  matt Introduce a new & faster pmap for the MPC6xx (60x, 7xx, 7xxx) PPC CPUs.
Move MPC6xx dependent header files to powerpc/include/mpc6xx/
 1.17 24-Feb-2001  matt branches: 1.17.2;
Add powerpc/powerpc/powerpc_machdep.c
 1.16 04-Feb-2001  briggs defopt openpic
 1.15 02-Feb-2001  briggs Split OpenPIC support into powerpc so ports only need minimal custom
configuration. openpic_init() now takes a single argument that is the
base of the OpenPIC register space.
 1.14 25-Nov-2000  matt Add placeholder for AltiVec support file.
 1.13 14-Feb-2000  thorpej Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().
 1.12 17-Nov-1999  kleink Move signal management code common to all PowerPC platforms (sendsig(),
sigreturn(), sigcode) to a single place in the shared powerpc directory.
(The struct sigcontext etc. definitions were already being shared.)
 1.11 15-Feb-1999  hubertf branches: 1.11.8; 1.11.14;
RCS ID police
 1.10 18-Sep-1998  sakamoto powerpc/bcopy.c is unnecessary.
 1.9 13-Sep-1998  thorpej Make signal delivery work again.
 1.8 28-May-1998  sakamoto Rename NetBSD/powerpc to NetBSD/ofppc.
New sys/arch/powerpc with PowerPC-generic stuff.
 1.7 24-Feb-1998  mycroft Catch up with changes in dev/ofw. Add mainbus.
 1.6 23-Feb-1998  mycroft Slight rearrangement.
 1.5 27-Jan-1998  sakamoto Import DDB from OpenBSD/powerpc.
 1.4 05-Jan-1998  perry RCSID Police.
 1.3 16-Apr-1997  thorpej - Pull in new ofwmagic.S and soft_spl.c files
- firepowerbugs -> firmworksbugs
 1.2 16-Oct-1996  ws Rename recently checked in KGDB to IPKDB to resolve conflicts with older KGDB
 1.1 30-Sep-1996  ws PowerPC port
 1.11.14.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.11.8.4 12-Mar-2001  bouyer Sync with HEAD.
 1.11.8.3 11-Feb-2001  bouyer Sync with HEAD.
 1.11.8.2 08-Dec-2000  bouyer Sync with HEAD.
 1.11.8.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.17.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.22.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.22.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.22.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.22.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.22.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.24.6.9 11-Dec-2002  thorpej Sync with HEAD.
 1.24.6.8 11-Nov-2002  nathanw Catch up to -current
 1.24.6.7 27-Aug-2002  nathanw Catch up to -current.
 1.24.6.6 01-Aug-2002  nathanw Catch up to -current.
 1.24.6.5 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.24.6.4 28-Feb-2002  nathanw Catch up to -current.
 1.24.6.3 11-Jan-2002  nathanw More catchup.
 1.24.6.2 08-Jan-2002  nathanw Catch up to -current.
 1.24.6.1 30-Aug-2001  nathanw file files.powerpc was added on branch nathanw_sa on 2002-01-08 00:27:08 +0000
 1.31.4.3 31-Aug-2002  gehenna catch up with -current.
 1.31.4.2 21-Jul-2002  gehenna catch up with -current.
 1.31.4.1 16-Jul-2002  gehenna catch up with -current.
 1.49.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.49.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.49.2.1 03-Aug-2004  skrll Sync with HEAD
 1.60.2.7 11-Feb-2008  yamt sync with head.
 1.60.2.6 04-Feb-2008  yamt sync with head.
 1.60.2.5 21-Jan-2008  yamt sync with head
 1.60.2.4 27-Oct-2007  yamt sync with head.
 1.60.2.3 03-Sep-2007  yamt sync with head.
 1.60.2.2 26-Feb-2007  yamt sync with head.
 1.60.2.1 30-Dec-2006  yamt sync with head.
 1.61.8.1 11-Aug-2006  yamt sync with head
 1.61.4.1 09-Sep-2006  rpaulo sync with head
 1.62.4.1 28-Jan-2007  ad powerpc changes.
 1.63.14.3 03-Oct-2007  garbled Sync with HEAD
 1.63.14.2 15-Aug-2007  macallan add a config option to control the number of ranges we can bus_space_map()
per bus, also bump it from 8 to 20 so all PCI devices in my iBook work
again.
 1.63.14.1 02-Aug-2007  macallan sync with HEAD
 1.63.8.1 11-Jul-2007  mjf Sync with head.
 1.63.6.2 23-Oct-2007  ad Sync with head.
 1.63.6.1 15-Jul-2007  ad Sync with head.
 1.64.14.1 25-Oct-2007  bouyer Sync with HEAD.
 1.64.12.1 18-Oct-2007  yamt sync with head.
 1.64.10.3 23-Mar-2008  matt sync with HEAD
 1.64.10.2 09-Jan-2008  matt sync with HEAD
 1.64.10.1 06-Nov-2007  matt sync with HEAD
 1.64.8.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.65.8.1 08-Jan-2008  bouyer Sync with HEAD
 1.65.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.69.28.3 14-Oct-2011  matt Sync with current pulling P2020 and other newer processor support.
 1.69.28.2 17-Jan-2011  matt Add SPE (signal processing engine) support for mpc85xx/booke. Think of it
as AltiVec-lite (really lite). Genercize AltiVec support so that it could
the same interface could support SPE as well. Rework the FPU support along
the same lines. Move the __asm() to their own XXX_subr.S (altivec, fpu, spe).
 1.69.28.1 07-Jan-2011  matt Add booke support.
 1.69.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.69.16.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.69.10.2 11-Mar-2010  yamt sync with head
 1.69.10.1 04-May-2009  yamt sync with head.
 1.69.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.71.4.5 30-Oct-2010  uebayasi xmd_machdep.c is gone.
 1.71.4.4 25-Aug-2010  uebayasi Indent.
 1.71.4.3 19-Aug-2010  uebayasi Initial addition of xmd(4), XIP memory disk.
 1.71.4.2 11-Aug-2010  uebayasi Support bus_space_physload(9) and friends.
 1.71.4.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.72.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.72.2.4 12-Jun-2011  rmind sync with head
 1.72.2.3 31-May-2011  rmind sync with head
 1.72.2.2 05-Mar-2011  rmind sync with head
 1.72.2.1 18-Mar-2010  rmind Unify /dev/{mem,kmem,zero,null} implementations in MI code. Based on patch
from Joerg Sonnenberger, proposed on tech-kern@, in February 2008.

Work and depression still in progress.
 1.73.2.1 17-Feb-2011  bouyer Sync with HEAD
 1.76.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.82.8.1 09-May-2012  riz Pull up following revision(s) (requested by matt in ticket #241):
sys/arch/powerpc/conf/kern-mb.ldscript: revision 1.1
sys/arch/powerpc/include/booke/pmap.h: revision 1.9
sys/arch/powerpc/booke/e500_tlb.c: revision 1.8
sys/arch/powerpc/conf/files.powerpc: revision 1.83
sys/arch/powerpc/booke/booke_pmap.c: revision 1.13
sys/arch/powerpc/include/booke/e500var.h: revision 1.5
sys/arch/evbppc/mpc85xx/machdep.c: revision 1.23
Add ldscript which aligns .data to a 1MB boundary. (used for testing)
Add PMAP_MINIMALTLB defflag
Add vsize_t to pmap_md_{un,}map_poolpage.
Add pmap_kvptefill prototype.
Slightly change pmap_bootstrap prototype.
Add e500_tlb_minimize prototype.
Add support PMAP_MINIMALTLB option. This changes the default use of TLB1
entries to map all of physical memory to using two TLB1 entries, one for
mapping text and one for data. The rest of memory is mapped using the
page table which is updated as needed. This is used to trap memory
corruption issues.
Add support for PMAP_MINIMALTLB.
 1.82.6.1 05-Apr-2012  mrg sync to latest -current.
 1.82.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.82.2.2 30-Oct-2012  yamt sync with head
 1.82.2.1 17-Apr-2012  yamt sync with head
 1.83.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.83.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.85.2.1 18-May-2014  rmind sync with head
 1.89.28.2 28-Jul-2018  pgoyette Sync with HEAD
 1.89.28.1 25-Jun-2018  pgoyette Sync with HEAD
 1.90.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.90.2.1 10-Jun-2019  christos Sync with HEAD
 1.92.6.1 29-Feb-2020  ad Sync with head.
 1.92.4.1 25-Feb-2020  martin Pull up following revision(s) (requested by rin in ticket #730):

sys/arch/powerpc/conf/files.powerpc: revision 1.93
sys/arch/powerpc/include/pio.h: revision 1.8
sys/arch/powerpc/pic/intr.c: revision 1.27
sys/arch/powerpc/powerpc/bus_dma.c: revision 1.50
sys/arch/powerpc/powerpc/pio_subr.S: revision 1.17

Add PPC_IBM440 flag as 440 is significantly different from 40x processors.
(It may be more easily supported by booke than by ibm4xx.)

-

eieio is implemented as sync on 40x. Therefore, "sync; eieio" and
"eieio; sync" can be replaced by a single sync.
 1.97.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1 14-Jan-2007  aymeric branches: 1.1.2; 1.1.6;
Basic support for RTAS (CHRP's Run-Time Abstraction Services).
Tested on the Efika; now it knows what time it is.
rtas can attach to mainbus. Not added to any kernel config file yet.
 1.1.6.2 26-Feb-2007  yamt sync with head.
 1.1.6.1 14-Jan-2007  yamt file files.rtas was added on branch yamt-lazymbuf on 2007-02-26 09:07:51 +0000
 1.1.2.2 01-Feb-2007  ad Sync with head.
 1.1.2.1 14-Jan-2007  ad file files.rtas was added on branch newlock2 on 2007-02-01 08:48:10 +0000
 1.4 24-Aug-2015  uebayasi Don't mention stab and DWARF sections, because these (poorly mtaintained)
lists only help to make them harder to read.

If those sections are found in inputs, they simply appear in outputs as
orphaned sections, sorted by section types and attributes.
 1.3 21-Aug-2015  uebayasi I bet setting search-directory for ld.so is useless in any kernel.
 1.2 20-Aug-2015  uebayasi Indent with 2 spaces.
 1.1 29-Mar-2012  matt branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.22;
Add ldscript which aligns .data to a 1MB boundary. (used for testing)
 1.1.22.1 22-Sep-2015  skrll Sync with HEAD
 1.1.8.1 03-Dec-2017  jdolecek update from HEAD
 1.1.6.2 09-May-2012  riz Pull up following revision(s) (requested by matt in ticket #241):
sys/arch/powerpc/conf/kern-mb.ldscript: revision 1.1
sys/arch/powerpc/include/booke/pmap.h: revision 1.9
sys/arch/powerpc/booke/e500_tlb.c: revision 1.8
sys/arch/powerpc/conf/files.powerpc: revision 1.83
sys/arch/powerpc/booke/booke_pmap.c: revision 1.13
sys/arch/powerpc/include/booke/e500var.h: revision 1.5
sys/arch/evbppc/mpc85xx/machdep.c: revision 1.23
Add ldscript which aligns .data to a 1MB boundary. (used for testing)
Add PMAP_MINIMALTLB defflag
Add vsize_t to pmap_md_{un,}map_poolpage.
Add pmap_kvptefill prototype.
Slightly change pmap_bootstrap prototype.
Add e500_tlb_minimize prototype.
Add support PMAP_MINIMALTLB option. This changes the default use of TLB1
entries to map all of physical memory to using two TLB1 entries, one for
mapping text and one for data. The rest of memory is mapped using the
page table which is updated as needed. This is used to trap memory
corruption issues.
Add support for PMAP_MINIMALTLB.
 1.1.6.1 29-Mar-2012  riz file kern-mb.ldscript was added on branch netbsd-6 on 2012-05-09 22:42:31 +0000
 1.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 29-Mar-2012  yamt file kern-mb.ldscript was added on branch yamt-pagecache on 2012-04-17 00:06:46 +0000
 1.1.2.2 05-Apr-2012  mrg sync to latest -current.
 1.1.2.1 29-Mar-2012  mrg file kern-mb.ldscript was added on branch jmcneill-usbmp on 2012-04-05 21:33:18 +0000
 1.9 24-Aug-2015  uebayasi Don't mention stab and DWARF sections, because these (poorly mtaintained)
lists only help to make them harder to read.

If those sections are found in inputs, they simply appear in outputs as
orphaned sections, sorted by section types and attributes.
 1.8 21-Aug-2015  uebayasi I bet setting search-directory for ld.so is useless in any kernel.
 1.7 20-Aug-2015  uebayasi Indent with 2 spaces.
 1.6 19-Jan-2014  mrg branches: 1.6.6;
make this look more like the latest elf32ppc.x. tested on pegasosII.
 1.5 16-Nov-2013  mrg make sure that .text.startup and .text.unlikely end up in the
text section. GCC 4.8 ofppc kernels now boot, though they are
unable to load the symbol table correctly.

also tested with GCC 4.5 and ofppc (pegasosII.)
 1.4 12-Feb-2011  matt branches: 1.4.2; 1.4.6; 1.4.16; 1.4.20;
When an OEA kernel is configured for multiple MMU types, use the new
powerpc fixup mechanism to bind the kernel to a particular MMU. This
avoids an indirect call for every pmap call.
 1.3 23-Jan-2011  matt Add support for __read_mostly and __cacheline_aligned (using 32 bytes as
the cacheline as its the most prevalent sized used even though IBM970 has
a 128 byte cacheline).
 1.2 18-Jan-2011  matt branches: 1.2.2;
Add support for BookE Freescale MPC85xx (e500 core) processors.
Add fast softint support for PowerPC (though only booke uses it).
Redo FPU/VEC support and add e500 SPE support.
Rework trap/intrs to use a common trapframe format.
Support SOFTFLOAT (no hardfloat or fpu emulation) for BookE.
 1.1 07-Jan-2011  matt branches: 1.1.2; 1.1.4;
file kern.ldscript was initially added on branch matt-nb5-pq3.
 1.1.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.1.2.1 07-Jan-2011  matt Add mpc85xx support for netbsd-5 (with some incompatible kernel changes).
 1.2.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.2.2.1 08-Feb-2011  bouyer Sync with HEAD
 1.4.20.1 18-May-2014  rmind sync with head
 1.4.16.2 03-Dec-2017  jdolecek update from HEAD
 1.4.16.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.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.4.2.2 05-Mar-2011  rmind sync with head
 1.4.2.1 12-Feb-2011  rmind file kern.ldscript was added on branch rmind-uvmplock on 2011-03-05 20:51:35 +0000
 1.6.6.1 22-Sep-2015  skrll Sync with HEAD
 1.4 24-Aug-2015  uebayasi Don't mention stab and DWARF sections, because these (poorly mtaintained)
lists only help to make them harder to read.

If those sections are found in inputs, they simply appear in outputs as
orphaned sections, sorted by section types and attributes.
 1.3 21-Aug-2015  uebayasi I bet setting search-directory for ld.so is useless in any kernel.
 1.2 20-Aug-2015  uebayasi Indent with 2 spaces.
 1.1 19-Apr-2014  matt branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10; 1.1.12;
ldscript for ppc64 kernels
 1.1.12.1 22-Sep-2015  skrll Sync with HEAD
 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 19-Apr-2014  tls file kern64.ldscript was added on branch tls-maxphys on 2014-08-20 00:03:19 +0000
 1.1.6.2 10-Aug-2014  tls Rebase.
 1.1.6.1 19-Apr-2014  tls file kern64.ldscript was added on branch tls-earlyentropy on 2014-08-10 06:54:05 +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 19-Apr-2014  yamt file kern64.ldscript was added on branch yamt-pagecache on 2014-05-22 11:40:03 +0000
 1.1.2.2 18-May-2014  rmind sync with head
 1.1.2.1 19-Apr-2014  rmind file kern64.ldscript was added on branch rmind-smpnet on 2014-05-18 17:45:22 +0000
 1.17 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.16 04-Apr-2020  jdolecek branches: 1.16.8;
mark nsmb major obsolete
 1.15 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.14 28-Jan-2019  dholland branches: 1.14.6;
Systematize handling of removed drivers.

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

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

Note that some of the things now explicitly listed as obsolete are
really ancient history. My scan went back as far as when the majors
files were added. (But not before that.)
 1.13 27-Jan-2019  dholland Restore satlink's majors entries commented out and marked obsolete.
Otherwise they might accidentally get reused later and cause a
security problem.
 1.12 27-Jan-2019  maxv Remove the satlink driver. It was disabled everywhere, had no man page and
no use either. Spotted by thorpej in PR/21345, ok christos.
 1.11 23-Sep-2018  maxv Remove ISDN from the kernel. It has remained unmaintained for a long time,
is of poor quality, and is now an obstacle to MP-ification. It was removed
ten years ago from FreeBSD for the same reason.

This retires a big user of the mbuf API, and will ease maintenance of the
kernel.
 1.10 08-Dec-2016  nat branches: 1.10.14; 1.10.16;
Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.9 23-Apr-2015  pgoyette branches: 1.9.2;
Update device dependency information - the sysmon major device now depends on the sysmon module itself, not on the individual components.
 1.8 30-Jun-2011  wiz branches: 1.8.12; 1.8.30;
dependant -> dependent
 1.7 01-Mar-2011  phx Revert the major number for satmgr(4) back to 100 and allocate it from
majors.powerpc, as suggested by matt@.
 1.6 29-May-2010  phx branches: 1.6.2; 1.6.4;
sysmon_power is needed to be able to use powerd(8).
 1.5 06-Mar-2010  plunky branches: 1.5.2;
use a MI major number for uhso(4) driver
(requested by mrg)
 1.4 06-Mar-2010  plunky add major device for usho(4) driver
 1.3 12-Nov-2008  ad branches: 1.3.6;
Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.2 31-Dec-2007  ad branches: 1.2.2; 1.2.4; 1.2.10; 1.2.14; 1.2.20; 1.2.22;
Remove systrace. Ok core@.
 1.1 10-Dec-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10;
Add a new majors.powerpc. This was cobbled together from the majors
files of all the different powerpc ports (except amigappc). It should be
compatible with sandpoint and macppc. It is compatible with evbppc minus
one device (gtmpsc).

To convert a port to use this file rather than a local one, delete your
majors file, and edit your files.port to point to this instead. (I will
follow up with a MAKEDEV fix to support this)
 1.1.10.2 26-Dec-2007  ad Sync with head.
 1.1.10.1 10-Dec-2007  ad file majors.powerpc was added on branch vmlocking2 on 2007-12-26 19:17:17 +0000
 1.1.8.2 18-Feb-2008  mjf Sync with HEAD.
 1.1.8.1 10-Dec-2007  mjf file majors.powerpc was added on branch mjf-devfs on 2008-02-18 21:04:57 +0000
 1.1.6.3 02-Jan-2008  bouyer Sync with HEAD
 1.1.6.2 13-Dec-2007  bouyer Sync with HEAD
 1.1.6.1 10-Dec-2007  bouyer file majors.powerpc was added on branch bouyer-xeni386 on 2007-12-13 21:54:52 +0000
 1.1.2.2 11-Dec-2007  yamt sync with head.
 1.1.2.1 10-Dec-2007  yamt file majors.powerpc was added on branch yamt-kmem on 2007-12-11 15:20:39 +0000
 1.2.22.1 19-Jan-2009  skrll Sync with HEAD.
 1.2.20.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.2.14.2 11-Aug-2010  yamt sync with head.
 1.2.14.1 04-May-2009  yamt sync with head.
 1.2.10.1 17-Jan-2009  mjf Sync with HEAD.
 1.2.4.2 21-Jan-2008  yamt sync with head
 1.2.4.1 31-Dec-2007  yamt file majors.powerpc was added on branch yamt-lazymbuf on 2008-01-21 09:38:20 +0000
 1.2.2.2 09-Jan-2008  matt sync with HEAD
 1.2.2.1 31-Dec-2007  matt file majors.powerpc was added on branch matt-armv6 on 2008-01-09 01:47:46 +0000
 1.3.6.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.5.2.2 05-Mar-2011  rmind sync with head
 1.5.2.1 30-May-2010  rmind sync with head
 1.6.4.1 05-Mar-2011  bouyer Sync with HEAD
 1.6.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.8.30.2 05-Feb-2017  skrll Sync with HEAD
 1.8.30.1 06-Jun-2015  skrll Sync with HEAD
 1.8.12.1 03-Dec-2017  jdolecek update from HEAD
 1.9.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.10.16.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.16.1 10-Jun-2019  christos Sync with HEAD
 1.10.14.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.14.6.1 29-Feb-2020  ad Sync with head.
 1.16.8.1 01-Aug-2021  thorpej Sync with HEAD.

RSS XML Feed