Home | History | Annotate | only in /src/sys/arch/evbppc/pmppc
History log of /src/sys/arch/evbppc/pmppc
RevisionDateAuthorComments
 1.7 29-Jul-2012  mlelstv Do not call setroot() from MD code and from MI code, which has
unwanted sideeffects in the RB_ASKNAME case. This fixes PR/46732.

No longer wrap MD cpu_rootconf(), as hp300 port stores reboot information
as a side effect. Instead call MI rootconf() from MD code which makes
rootconf() now a wrapper to setroot().

Adjust several MD routines to set the global booted_device,booted_partition
variables instead of passing partial information to setroot().

Make cpu_rootconf(9) describe the calling order.
 1.6 18-Jun-2011  matt branches: 1.6.2; 1.6.8;
split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.5 18-Mar-2009  cegger branches: 1.5.10;
Ansify function definitions w/o arguments. Generated with sed.
 1.4 12-Feb-2008  joerg branches: 1.4.10; 1.4.18; 1.4.24;
Introduce device_find_by_xname and device_find_by_driver_unit to replace
alldevs iterations all over src.

Patch discussed with and improved on suggestioned from cube@.
 1.3 05-Dec-2007  tsutsui Use TAILQ_FIRST(3) and TAILQ_NEXT(3) macro.
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; 1.2.10;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.1 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file autoconf.c was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.2 10-May-2007  garbled More cleanup:
1) Remove lcsplx, strayintr, and foosoft from all the converted ports.
None of this stuff is needed anymore.
2) because lcsplx is just "return spllower", just call spllower from
locore_subr.S instead.
3) Every port (except macppc) had a pretty similar cpu_configure(), so
take the common parts out and make a genppc_cpu_configure() in an attempt
to stop using imask[] outside of intr.c
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.10.1 08-Dec-2007  ad Sync with head.
 1.2.8.4 23-Mar-2008  matt sync with HEAD
 1.2.8.3 09-Jan-2008  matt sync with HEAD
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file autoconf.c was added on branch matt-armv6 on 2007-11-06 23:16:19 +0000
 1.2.6.2 18-Feb-2008  mjf Sync with HEAD.
 1.2.6.1 08-Dec-2007  mjf Sync with HEAD.
 1.2.4.4 27-Feb-2008  yamt sync with head.
 1.2.4.3 07-Dec-2007  yamt sync with head
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file autoconf.c was added on branch yamt-lazymbuf on 2007-10-27 11:25:56 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file autoconf.c was added on branch vmlocking on 2007-10-23 20:35:45 +0000
 1.4.24.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.4.18.1 28-Apr-2009  skrll Sync with HEAD.
 1.4.10.1 04-May-2009  yamt sync with head.
 1.5.10.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.6.8.1 08-Aug-2012  martin Pull up following revision(s) (requested by mlelstv in ticket #466):
sys/arch/amiga/amiga/autoconf.c: revision 1.113
sys/arch/rs6000/rs6000/autoconf.c: revision 1.4
sys/arch/emips/emips/autoconf.c: revision 1.6
sys/arch/sandpoint/sandpoint/autoconf.c: revision 1.27
sys/arch/evbmips/alchemy/autoconf.c: revision 1.18
sys/arch/sgimips/sgimips/autoconf.c: revision 1.43
sys/arch/atari/atari/autoconf.c: revision 1.63
sys/arch/powerpc/oea/ofw_autoconf.c: revision 1.17
sys/arch/mmeye/mmeye/autoconf.c: revision 1.9
distrib/sets/lists/comp/mi: revision 1.1771
sys/arch/mipsco/mipsco/autoconf.c: revision 1.25
sys/arch/iyonix/iyonix/autoconf.c: revision 1.14
sys/arch/hp300/hp300/autoconf.c: revision 1.100
sys/kern/init_main.c: revision 1.445
sys/arch/pmax/pmax/autoconf.c: revision 1.79
sys/arch/netwinder/netwinder/autoconf.c: revision 1.11
sys/arch/dreamcast/dreamcast/autoconf.c: revision 1.10
sys/arch/ibmnws/ibmnws/autoconf.c: revision 1.12
sys/arch/evbppc/ev64260/autoconf.c: revision 1.17
sys/arch/evbmips/gdium/autoconf.c: revision 1.5
sys/arch/algor/algor/autoconf.c: revision 1.21
share/man/man9/Makefile: revision 1.367
sys/arch/ews4800mips/ews4800mips/autoconf.c: revision 1.9
sys/arch/amigappc/amigappc/autoconf.c: revision 1.5
sys/arch/x86/x86/x86_autoconf.c: revision 1.65
sys/arch/acorn26/acorn26/autoconf.c: revision 1.9
sys/arch/mvmeppc/mvmeppc/autoconf.c: revision 1.13
sys/arch/vax/vax/autoconf.c: revision 1.94
sys/arch/usermode/dev/cpu.c: revision 1.72
sys/arch/evbppc/virtex/autoconf.c: revision 1.5
sys/arch/next68k/next68k/autoconf.c: revision 1.26
sys/arch/mac68k/mac68k/autoconf.c: revision 1.73
sys/arch/ia64/ia64/autoconf.c: revision 1.6
sys/arch/evbppc/obs405/obs405_autoconf.c: revision 1.6
share/man/man9/cpu_rootconf.9: revision 1.7
sys/arch/landisk/landisk/autoconf.c: revision 1.6
sys/arch/evbmips/malta/autoconf.c: revision 1.16
sys/arch/sun3/sun3/autoconf.c: revision 1.76
sys/arch/evbppc/explora/autoconf.c: revision 1.13
sys/arch/sun3/sun3/autoconf.c: revision 1.77
sys/arch/evbmips/loongson/autoconf.c: revision 1.3
sys/arch/evbmips/atheros/autoconf.c: revision 1.11
sys/arch/sparc64/sparc64/autoconf.c: revision 1.188
sys/arch/acorn32/acorn32/autoconf.c: revision 1.18
sys/arch/evbarm/evbarm/autoconf.c: revision 1.13
sys/arch/cobalt/cobalt/autoconf.c: revision 1.30
sys/arch/mvme68k/mvme68k/autoconf.c: revision 1.46
sys/arch/hp700/hp700/autoconf.c: revision 1.48
sys/arch/evbmips/adm5120/autoconf.c: revision 1.5
sys/arch/hpcmips/hpcmips/autoconf.c: revision 1.25
sys/arch/alpha/alpha/autoconf.c: revision 1.52
sys/arch/sparc/sparc/autoconf.c: revision 1.244
sys/arch/evbppc/pmppc/autoconf.c: revision 1.7
sys/arch/bebox/bebox/autoconf.c: revision 1.25
sys/arch/luna68k/luna68k/autoconf.c: revision 1.13
sys/arch/hpcarm/hpcarm/autoconf.c: revision 1.20
sys/arch/evbppc/walnut/autoconf.c: revision 1.21
sys/arch/cesfic/cesfic/autoconf.c: revision 1.26
sys/arch/cats/cats/autoconf.c: revision 1.17
sys/arch/x68k/x68k/autoconf.c: revision 1.67
sys/arch/news68k/news68k/autoconf.c: revision 1.21
sys/arch/arc/arc/autoconf.c: revision 1.34
sys/arch/evbsh3/evbsh3/autoconf.c: revision 1.11
sys/sys/conf.h: revision 1.143
sys/arch/evbmips/rasoc/autoconf.c: revision 1.3
sys/arch/hpcsh/hpcsh/autoconf.c: revision 1.26
sys/arch/sun68k/sun68k/autoconf.c: revision 1.29
sys/arch/evbmips/rmixl/autoconf.c: revision 1.6
sys/arch/zaurus/zaurus/autoconf.c: revision 1.12
sys/arch/xen/x86/autoconf.c: revision 1.15
sys/arch/evbppc/mpc85xx/autoconf.c: revision 1.6
sys/arch/shark/shark/autoconf.c: revision 1.18
sys/arch/prep/prep/autoconf.c: revision 1.25
sys/arch/newsmips/newsmips/autoconf.c: revision 1.36
sys/arch/sbmips/sbmips/autoconf.c: revision 1.8
Do not call setroot() from MD code and from MI code, which has
unwanted sideeffects in the RB_ASKNAME case. This fixes PR/46732.
No longer wrap MD cpu_rootconf(), as hp300 port stores reboot information
as a side effect. Instead call MI rootconf() from MD code which makes
rootconf() now a wrapper to setroot().
Adjust several MD routines to set the global booted_device,booted_partition
variables instead of passing partial information to setroot().
Make cpu_rootconf(9) describe the calling order.
add rootconf(9) as a link to cpu_rootconf(9)
make this compile again
 1.6.2.1 30-Oct-2012  yamt sync with head
 1.1 08-May-2007  garbled branches: 1.1.2;
file kgdb_glue.c was initially added on branch ppcoea-renovation.
 1.1.2.2 09-May-2007  garbled Four copies of this file, all the same. New one lives in powerpc/oea.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.16 05-Mar-2024  thorpej Move the at-shutdown call to resettodr() from cpu_reboot() to kern_reboot().

It's a small step, but it's a step.
 1.15 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.14 15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.13 22-Dec-2016  cherry branches: 1.13.14; 1.13.16;
switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.12 01-Mar-2013  joerg branches: 1.12.14; 1.12.18;
Retire OSI network stack. OK core@
 1.11 20-Jun-2011  matt branches: 1.11.2; 1.11.12;
Cleanup includes. (<net/netisr.h> is handled by softints, not MD anymore,
so this can be nuked).
 1.10 20-Dec-2010  matt branches: 1.10.6;
Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch
from uvmexp to per-cpu cpu_data and move them to 64bits. Remove unneeded
includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.
 1.9 11-Dec-2010  matt Don't init cpu_initclocks too early since that results in decrementer
exceptions before the exceptions have been setup.
 1.8 21-Nov-2009  rmind branches: 1.8.4;
Use lwp_getpcb() on mips, powerpc and sh3, clean from struct user usage.
 1.7 18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.6 30-Nov-2008  martin branches: 1.6.4;
As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.5 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

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

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

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

I hope that this patch will stop us from flip-flopping between
calling doshutdownhooks() and pmf_system_shutdown() sometimes with
and sometimes without interrupts enabled.
 1.3 28-Apr-2008  martin branches: 1.3.6; 1.3.8; 1.3.18;
Remove clause 3 and 4 from TNF licenses
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.8; 1.2.22; 1.2.24; 1.2.26;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.1 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file machdep.c was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.4 16-Oct-2007  garbled if 0 out a rather strange looking initialization of struct cpu_info to
make PMPPC compile again.
 1.1.2.3 10-May-2007  garbled HAVE_GENERIC_SOFTINTRS is no longer optional. Delete ifndef'd code from
oea_machdep.c, and move softintr__init() to oea_startup(). Remove
softintr__init from every port's cpu_startup().
 1.1.2.2 10-May-2007  garbled More cleanup:
1) Remove lcsplx, strayintr, and foosoft from all the converted ports.
None of this stuff is needed anymore.
2) because lcsplx is just "return spllower", just call spllower from
locore_subr.S instead.
3) Every port (except macppc) had a pretty similar cpu_configure(), so
take the common parts out and make a genppc_cpu_configure() in an attempt
to stop using imask[] outside of intr.c
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.26.3 11-Mar-2010  yamt sync with head
 1.2.26.2 04-May-2009  yamt sync with head.
 1.2.26.1 16-May-2008  yamt sync with head.
 1.2.24.1 18-May-2008  yamt sync with head.
 1.2.22.2 17-Jan-2009  mjf Sync with HEAD.
 1.2.22.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file machdep.c was added on branch matt-armv6 on 2007-11-06 23:16:19 +0000
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file machdep.c was added on branch yamt-lazymbuf on 2007-10-27 11:25:57 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file machdep.c was added on branch vmlocking on 2007-10-23 20:35:46 +0000
 1.3.18.2 18-Feb-2011  matt Add a call to cpu_model_init() after bss is cleared.
 1.3.18.1 07-Jan-2011  matt cpu_initclocks should not be done this early.
 1.3.8.2 28-Apr-2009  skrll Sync with HEAD.
 1.3.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.3.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.6.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.4.1 05-Mar-2011  rmind sync with head
 1.10.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.11.12.2 03-Dec-2017  jdolecek update from HEAD
 1.11.12.1 23-Jun-2013  tls resync from head
 1.11.2.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.12.18.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.12.14.1 05-Feb-2017  skrll Sync with HEAD
 1.13.16.1 10-Jun-2019  christos Sync with HEAD
 1.13.14.1 28-Jul-2018  pgoyette Sync with HEAD
 1.8 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.7 24-Apr-2021  thorpej branches: 1.7.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.6 01-Jul-2011  dyoung branches: 1.6.68;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.5 18-Jun-2011  matt struct device * -> device_t
struct cfdata * -> cfdata_t
use device accessors, use device_private.
some softc/device_t splits (macppc needs a bunch more)
aprint*_dev used considerably more
 1.4 05-Jun-2011  matt struct device * -> device_t, struct cfdata * -> cfdata_t
CFATTACH_DECL(*, sizeof(struct device), -> CFATTACH_DECL_NEW(&, 0
 1.3 28-Apr-2008  martin branches: 1.3.22; 1.3.28; 1.3.32;
Remove clause 3 and 4 from TNF licenses
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.8; 1.2.22; 1.2.24; 1.2.26;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.1 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file mainbus.c was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.26.1 16-May-2008  yamt sync with head.
 1.2.24.1 18-May-2008  yamt sync with head.
 1.2.22.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file mainbus.c was added on branch matt-armv6 on 2007-11-06 23:16:20 +0000
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file mainbus.c was added on branch yamt-lazymbuf on 2007-10-27 11:25:57 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file mainbus.c was added on branch vmlocking on 2007-10-23 20:35:47 +0000
 1.3.32.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.3.28.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.22.1 12-Jun-2011  rmind sync with head
 1.6.68.3 22-Mar-2021  thorpej Audit CFARG_IATTR in config_found() calls, and remove it in situations
where the interface attribute is not ambiguous.
 1.6.68.2 22-Mar-2021  thorpej Mechanical conversion of config_found_sm_loc() -> config_found().
CFARG_IATTR usage needs to be audited.
 1.6.68.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.7.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.8 21-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.7 10-Nov-2019  chs branches: 1.7.8;
in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.6 01-Jul-2011  dyoung branches: 1.6.54;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.5 20-Dec-2010  matt Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch
from uvmexp to per-cpu cpu_data and move them to 64bits. Remove unneeded
includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.
 1.4 28-Apr-2008  martin branches: 1.4.22;
Remove clause 3 and 4 from TNF licenses
 1.3 24-Apr-2008  alc branches: 1.3.2;
add a dummy argument to cpc700_get_irq() to match the function pointer's
prototype in `struct pic_ops'.

fix build of PMPPC

ok garbled@
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.8; 1.2.22; 1.2.24;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.1 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file pic_cpc700.c was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.24.1 18-May-2008  yamt sync with head.
 1.2.22.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file pic_cpc700.c was added on branch matt-armv6 on 2007-11-06 23:16:21 +0000
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file pic_cpc700.c was added on branch yamt-lazymbuf on 2007-10-27 11:25:58 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file pic_cpc700.c was added on branch vmlocking on 2007-10-23 20:35:47 +0000
 1.3.2.1 16-May-2008  yamt sync with head.
 1.4.22.1 05-Mar-2011  rmind sync with head
 1.6.54.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.7.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.13 26-Feb-2021  thorpej Declare oeacpufeat once, in powerpc/oea/cpu_subr.c, rather than in
N different locore.S files.
 1.12 15-Jul-2018  maxv branches: 1.12.12;
Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.11 20-Jun-2011  matt branches: 1.11.52; 1.11.54;
Don't include *pmap.h in assembly files. Get the needed definitions
from "assym.h".
 1.10 18-Jun-2011  matt Make a common genassym.cf (powerpc/genassym.cf) and then
only put specific stuff in foo/genassym.cf
 1.9 17-Jan-2011  matt branches: 1.9.4;
Kill _NOREGNAMES. Everything should be using %rX now. If it doesn't it
soon will.
 1.8 11-Dec-2010  matt branches: 1.8.2;
Don't use r0 in INIT_CPUINFO since it has special meaning to add instructions.
 1.7 03-Mar-2010  pooka branches: 1.7.2;
Fix some historical powerpc curiocity which had kernfs depend on
startsym/endsym, and which crept into most powerpc ports.
 1.6 27-Feb-2010  snj Spell "exception" properly.
 1.5 25-Feb-2010  matt Adapt to <spr.h> breakup.
 1.4 26-Nov-2009  matt branches: 1.4.2;
Kill proc0paddr. Use lwp0.l_addr instead.
 1.3 05-Feb-2008  garbled branches: 1.3.10; 1.3.32;
Ifdef out all the MPC601 code with PPC_OEA601. Now only arches that have the
possibility of running on an MPC601, are infected with all the extra code
and nops that it added.

Also, fix compilation that I broke with the pmap code, by adding
oeacpufeat to the locores of various ppc arches. Noted by mlelstv.
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.1 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file pmppc_locore.S was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.1 08-May-2007  garbled Forgot to add this file in the pmppc->ebvppc move
 1.2.8.3 23-Mar-2008  matt sync with HEAD
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file pmppc_locore.S was added on branch matt-armv6 on 2007-11-06 23:16:21 +0000
 1.2.6.1 18-Feb-2008  mjf Sync with HEAD.
 1.2.4.3 11-Feb-2008  yamt sync with head.
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file pmppc_locore.S was added on branch yamt-lazymbuf on 2007-10-27 11:25:58 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file pmppc_locore.S was added on branch vmlocking on 2007-10-23 20:35:48 +0000
 1.3.32.1 07-Jan-2011  matt Deal with the splitting of <spr.h>
 1.3.10.1 11-Mar-2010  yamt sync with head
 1.4.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.7.2.1 05-Mar-2011  rmind sync with head
 1.8.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.9.4.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.11.54.1 10-Jun-2019  christos Sync with HEAD
 1.11.52.1 28-Jul-2018  pgoyette Sync with HEAD
 1.12.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.8 21-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.7 10-Nov-2019  chs branches: 1.7.8;
in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.6 01-Jul-2011  dyoung branches: 1.6.54;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.5 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.4 06-Jun-2011  matt More device_t, cfdata, CFATTACH_DECL_NEW cleanup.
 1.3 28-Apr-2008  martin branches: 1.3.22; 1.3.32;
Remove clause 3 and 4 from TNF licenses
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.8; 1.2.22; 1.2.24; 1.2.26;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.1 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file cpc_mainbus.c was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.2 09-May-2007  garbled Convert pmppc to generic pci. Also fix the prototype for
pci_conf_interrupt while I'm here.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.26.1 16-May-2008  yamt sync with head.
 1.2.24.1 18-May-2008  yamt sync with head.
 1.2.22.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file cpc_mainbus.c was added on branch matt-armv6 on 2007-11-06 23:16:22 +0000
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file cpc_mainbus.c was added on branch yamt-lazymbuf on 2007-10-27 11:25:59 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file cpc_mainbus.c was added on branch vmlocking on 2007-10-23 20:35:49 +0000
 1.3.32.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.3.22.1 12-Jun-2011  rmind sync with head
 1.6.54.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.7.8.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.8 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.7 09-Dec-2010  uebayasi Fix DEBUG build.
 1.6 28-Apr-2008  martin branches: 1.6.22;
Remove clause 3 and 4 from TNF licenses
 1.5 29-Mar-2008  tsutsui branches: 1.5.2; 1.5.4;
Don't forget to initialize sc_dev.
 1.4 28-Mar-2008  tsutsui Split device_t and softc for MI mc146818 clock,
and other related misc cosmetics.
 1.3 10-Jan-2008  tsutsui branches: 1.3.6;
Move todr_attach(9) calls from each MD attachment to MI mc146818_attach().
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; 1.2.14;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.1 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file ds17485.c was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.14.1 10-Jan-2008  bouyer Sync with HEAD
 1.2.8.3 23-Mar-2008  matt sync with HEAD
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file ds17485.c was added on branch matt-armv6 on 2007-11-06 23:16:22 +0000
 1.2.6.1 18-Feb-2008  mjf Sync with HEAD.
 1.2.4.3 21-Jan-2008  yamt sync with head
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file ds17485.c was added on branch yamt-lazymbuf on 2007-10-27 11:26:00 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file ds17485.c was added on branch vmlocking on 2007-10-23 20:35:50 +0000
 1.3.6.2 02-Jun-2008  mjf Sync with HEAD.
 1.3.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.5.4.1 16-May-2008  yamt sync with head.
 1.5.2.1 18-May-2008  yamt sync with head.
 1.6.22.1 05-Mar-2011  rmind sync with head
 1.5 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.4 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.3 28-Apr-2008  martin branches: 1.3.32;
Remove clause 3 and 4 from TNF licenses
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.8; 1.2.22; 1.2.24; 1.2.26;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.1 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file flash.c was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.26.1 16-May-2008  yamt sync with head.
 1.2.24.1 18-May-2008  yamt sync with head.
 1.2.22.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file flash.c was added on branch matt-armv6 on 2007-11-06 23:16:23 +0000
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file flash.c was added on branch yamt-lazymbuf on 2007-10-27 11:26:00 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file flash.c was added on branch vmlocking on 2007-10-23 20:35:50 +0000
 1.3.32.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.10 03-Feb-2025  andvar fix various typos in comments.
 1.9 16-Feb-2022  riastradh branches: 1.9.10;
powerpc: Sprinkle "memory" clobbers on eieio and nearby asm blocks.

Otherwise the compiler may reorder these around loads and stores,
which mostly defeats the purpose. `asm volatile' just ensures the
instruction isn't _deleted_; it may still move around.
 1.8 13-Apr-2015  riastradh MD rnd.h cleanups. Please let me know if I broke anything!
 1.7 02-Feb-2012  tls branches: 1.7.6; 1.7.24;
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.
 1.6 20-Jun-2011  matt branches: 1.6.2; 1.6.6;
Cleanup includes.
 1.5 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.4 22-Sep-2009  tsutsui branches: 1.4.10;
Split device_t/softc. Tested only on cs at ofisa on shark.
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.8; 1.2.22; 1.2.24; 1.2.26;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.1 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file if_cs_mainbus.c was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.26.2 11-Mar-2010  yamt sync with head
 1.2.26.1 16-May-2008  yamt sync with head.
 1.2.24.1 18-May-2008  yamt sync with head.
 1.2.22.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file if_cs_mainbus.c was added on branch matt-armv6 on 2007-11-06 23:16:24 +0000
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file if_cs_mainbus.c was added on branch yamt-lazymbuf on 2007-10-27 11:26:01 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file if_cs_mainbus.c was added on branch vmlocking on 2007-10-23 20:35:51 +0000
 1.4.10.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.6.6.1 18-Feb-2012  mrg merge to -current.
 1.6.2.1 17-Apr-2012  yamt sync with head
 1.7.24.1 06-Jun-2015  skrll Sync with HEAD
 1.7.6.1 03-Dec-2017  jdolecek update from HEAD
 1.9.10.1 02-Aug-2025  perseant Sync with HEAD
 1.5 22-Jun-2011  matt Add support pci_intr_setattr.
Export non-inline version of pci api for modules (_MODULE is defined).
Fix definition of pc_conf_hook and pc_conf_interrupt.
Switch to using inlines instead of macros.
Switch ibm4xx to use <powerpc/pci_machdep.h>
 1.4 22-Jun-2011  matt Make pmppc use stock <powerpc/pci_machdep.h>
Move some private declartions to <pmppc/dev/mainbus.h>
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.8; 1.2.22; 1.2.24; 1.2.26;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.1 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file mainbus.h was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.26.1 16-May-2008  yamt sync with head.
 1.2.24.1 18-May-2008  yamt sync with head.
 1.2.22.1 02-Jun-2008  mjf Sync with HEAD.
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file mainbus.h was added on branch matt-armv6 on 2007-11-06 23:16:25 +0000
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file mainbus.h was added on branch yamt-lazymbuf on 2007-10-27 11:26:01 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file mainbus.h was added on branch vmlocking on 2007-10-23 20:35:52 +0000
 1.1 08-May-2007  garbled branches: 1.1.2;
file pchb.c was initially added on branch ppcoea-renovation.
 1.1.2.2 09-May-2007  garbled Convert pmppc to generic pci. Also fix the prototype for
pci_conf_interrupt while I'm here.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.7 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.6 19-Oct-2016  nonaka Added MSI/MSI-X and interrupt_distribute(9) support for powerpc.
 1.5 30-Jun-2011  matt branches: 1.5.12; 1.5.30; 1.5.34;
Modify mapiodev to take a third argument indicating whether the space
should be prefetchable (true) or not (false).
 1.4 22-Jun-2011  matt Add support pci_intr_setattr.
Export non-inline version of pci api for modules (_MODULE is defined).
Fix definition of pc_conf_hook and pc_conf_interrupt.
Switch to using inlines instead of macros.
Switch ibm4xx to use <powerpc/pci_machdep.h>
 1.3 04-Apr-2011  dyoung Neither pci_dma64_available(), pci_probe_device(), pci_mapreg_map(9),
pci_find_rom(), pci_intr_map(9), pci_enumerate_bus(), nor the match
predicate passed to pciide_compat_intr_establish() should ever modify
their pci_attach_args argument, so make their pci_attach_args arguments
const and deal with the fallout throughout the kernel.

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

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

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

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

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

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

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

alpha GENERIC
amd64 GENERIC XEN3_DOM0
arc GENERIC
atari HADES MILAN-PCIIDE
bebox GENERIC
cats GENERIC
cobalt GENERIC
evbarm-eb NSLU2
evbarm-el ADI_BRH ARMADILLO9 CP3100 GEMINI GEMINI_MASTER GEMINI_SLAVE GUMSTIX
HDL_G IMX31LITE INTEGRATOR IQ31244 IQ80310 IQ80321 IXDP425 IXM1200
KUROBOX_PRO LUBBOCK MARVELL_NAS NAPPI SHEEVAPLUG SMDK2800 TEAMASA_NPWR
TEAMASA_NPWR_FC TS7200 TWINTAIL ZAO425
evbmips-el AP30 DBAU1500 DBAU1550 MALTA MERAKI MTX-1 OMSAL400 RB153 WGT624V3
evbmips64-el XLSATX
evbppc EV64260 MPC8536DS MPC8548CDS OPENBLOCKS200 OPENBLOCKS266
OPENBLOCKS266_OPT P2020RDB PMPPC RB800 WALNUT
hp700 GENERIC
i386 ALL XEN3_DOM0 XEN3_DOMU
ibmnws GENERIC
macppc GENERIC
mvmeppc GENERIC
netwinder GENERIC
ofppc GENERIC
prep GENERIC
sandpoint GENERIC
sgimips GENERIC32_IP2x
sparc GENERIC_SUN4U KRUPS
sparc64 GENERIC

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

### evbmips-el GDIUM

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

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

### ia64 GENERIC

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

### sgimips GENERIC32_IP3x

crmfb.o: In function `crmfb_attach':
crmfb.c:(.text+0x2304): undefined reference to `ddc_read_edid'
crmfb.c:(.text+0x2304): relocation truncated to fit: R_MIPS_26 against `ddc_read_edid'
crmfb.c:(.text+0x234c): undefined reference to `edid_parse'
crmfb.c:(.text+0x234c): relocation truncated to fit: R_MIPS_26 against `edid_parse'
crmfb.c:(.text+0x2354): undefined reference to `edid_print'
crmfb.c:(.text+0x2354): relocation truncated to fit: R_MIPS_26 against `edid_print'
 1.2 17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.8; 1.2.48; 1.2.54;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.1 08-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file pci_machdep.c was initially added on branch ppcoea-renovation.
 1.1.8.1 18-Oct-2007  yamt sync with head.
 1.1.6.1 02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.2 09-May-2007  garbled Convert pmppc to generic pci. Also fix the prototype for
pci_conf_interrupt while I'm here.
 1.1.2.1 08-May-2007  garbled Move pmppc over to evbppc. (previous location sys/arch/pmppc)
 1.2.54.1 06-Jun-2011  jruoho Sync with HEAD.
 1.2.48.1 21-Apr-2011  rmind sync with head
 1.2.8.2 06-Nov-2007  matt sync with HEAD
 1.2.8.1 17-Oct-2007  matt file pci_machdep.c was added on branch matt-armv6 on 2007-11-06 23:16:25 +0000
 1.2.4.2 27-Oct-2007  yamt sync with head.
 1.2.4.1 17-Oct-2007  yamt file pci_machdep.c was added on branch yamt-lazymbuf on 2007-10-27 11:26:02 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 17-Oct-2007  ad file pci_machdep.c was added on branch vmlocking on 2007-10-23 20:35:53 +0000
 1.5.34.1 04-Nov-2016  pgoyette Sync with HEAD
 1.5.30.1 05-Dec-2016  skrll Sync with HEAD
 1.5.12.1 03-Dec-2017  jdolecek update from HEAD

RSS XML Feed