Home | History | Annotate | only in /src/sys/arch/evbppc/ev64260
History log of /src/sys/arch/evbppc/ev64260
RevisionDateAuthorComments
 1.19 03-Oct-2025  thorpej Use device_setprop_data() to set the "mac-address" property.
 1.18 02-Oct-2025  thorpej Rename property "mac-addr" -> "mac-address" to match everyone else.
 1.17 29-Jul-2012  mlelstv Do not call setroot() from MD code and from MI code, which has
unwanted sideeffects in the RB_ASKNAME case. This fixes PR/46732.

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

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

Make cpu_rootconf(9) describe the calling order.
 1.16 18-Jun-2011  matt branches: 1.16.2; 1.16.8;
struct device * -> device_t
struct cfdata * -> cfdata_t
use device accessors, use device_private.
some softc/device_t splits (macppc needs a bunch more)
aprint*_dev used considerably more
 1.15 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.14 02-Jun-2010  kiyohara branches: 1.14.6;
Move memory protection parameters to MI part.
Gtpci believes the initialization of the firmware(boot-loader) if protection
information is not obtained.
 1.13 28-Apr-2010  kiyohara Clean up gt and peripherals.
This change tested compile only.
 1.12 18-Mar-2009  cegger branches: 1.12.2; 1.12.4;
Ansify function definitions w/o arguments. Generated with sed.
 1.11 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.10 12-Feb-2008  joerg branches: 1.10.10; 1.10.18; 1.10.24;
Introduce device_find_by_xname and device_find_by_driver_unit to replace
alldevs iterations all over src.

Patch discussed with and improved on suggestioned from cube@.
 1.9 17-Oct-2007  garbled branches: 1.9.2;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.8 11-Dec-2005  christos branches: 1.8.30; 1.8.38; 1.8.48; 1.8.50; 1.8.52; 1.8.54;
merge ktrace-lwp.
 1.7 23-Oct-2004  thorpej branches: 1.7.12;
Centralize the declaration of booted_device and booted_partition.
 1.6 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 04-Jul-2003  thorpej Add device_register().
 1.3 18-Jun-2003  drochner branches: 1.3.2;
don't #include <sys/dkstat.h> where it is (appearently) unused
 1.2 09-Apr-2003  matt Make the imask_t typedef a struct rather than a naked array. The attribute
on the array typedef was contaminating other u_int32_t naked arrays and
affecting their alignment.
 1.1 05-Mar-2003  matt Add preliminary support Marvell (Galileo) Discovery System Controllers.
This code was contributed by Allegro Networks.
 1.3.2.4 02-Nov-2004  skrll Sync with HEAD.
 1.3.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.1 03-Aug-2004  skrll Sync with HEAD
 1.7.12.2 27-Feb-2008  yamt sync with head.
 1.7.12.1 27-Oct-2007  yamt sync with head.
 1.8.54.1 25-Oct-2007  bouyer Sync with HEAD.
 1.8.52.1 18-Oct-2007  yamt sync with head.
 1.8.50.2 23-Mar-2008  matt sync with HEAD
 1.8.50.1 06-Nov-2007  matt sync with HEAD
 1.8.48.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.8.38.2 17-Oct-2007  garbled Back out most of the PIC rennovation on ev64260, it was not completed,
and can be completed post-merge. With these changes, ev64260 compiles
again on the branch. Untested.
 1.8.38.1 22-May-2007  matt WIP. Adapt ev64260 to the new pic code.
 1.8.30.1 23-Oct-2007  ad Sync with head.
 1.9.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.10.24.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.10.18.1 28-Apr-2009  skrll Sync with HEAD.
 1.10.10.2 11-Aug-2010  yamt sync with head.
 1.10.10.1 04-May-2009  yamt sync with head.
 1.12.4.2 03-Jul-2010  rmind sync with head
 1.12.4.1 30-May-2010  rmind sync with head
 1.12.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.12.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.14.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.16.8.1 08-Aug-2012  martin Pull up following revision(s) (requested by mlelstv in ticket #466):
sys/arch/amiga/amiga/autoconf.c: revision 1.113
sys/arch/rs6000/rs6000/autoconf.c: revision 1.4
sys/arch/emips/emips/autoconf.c: revision 1.6
sys/arch/sandpoint/sandpoint/autoconf.c: revision 1.27
sys/arch/evbmips/alchemy/autoconf.c: revision 1.18
sys/arch/sgimips/sgimips/autoconf.c: revision 1.43
sys/arch/atari/atari/autoconf.c: revision 1.63
sys/arch/powerpc/oea/ofw_autoconf.c: revision 1.17
sys/arch/mmeye/mmeye/autoconf.c: revision 1.9
distrib/sets/lists/comp/mi: revision 1.1771
sys/arch/mipsco/mipsco/autoconf.c: revision 1.25
sys/arch/iyonix/iyonix/autoconf.c: revision 1.14
sys/arch/hp300/hp300/autoconf.c: revision 1.100
sys/kern/init_main.c: revision 1.445
sys/arch/pmax/pmax/autoconf.c: revision 1.79
sys/arch/netwinder/netwinder/autoconf.c: revision 1.11
sys/arch/dreamcast/dreamcast/autoconf.c: revision 1.10
sys/arch/ibmnws/ibmnws/autoconf.c: revision 1.12
sys/arch/evbppc/ev64260/autoconf.c: revision 1.17
sys/arch/evbmips/gdium/autoconf.c: revision 1.5
sys/arch/algor/algor/autoconf.c: revision 1.21
share/man/man9/Makefile: revision 1.367
sys/arch/ews4800mips/ews4800mips/autoconf.c: revision 1.9
sys/arch/amigappc/amigappc/autoconf.c: revision 1.5
sys/arch/x86/x86/x86_autoconf.c: revision 1.65
sys/arch/acorn26/acorn26/autoconf.c: revision 1.9
sys/arch/mvmeppc/mvmeppc/autoconf.c: revision 1.13
sys/arch/vax/vax/autoconf.c: revision 1.94
sys/arch/usermode/dev/cpu.c: revision 1.72
sys/arch/evbppc/virtex/autoconf.c: revision 1.5
sys/arch/next68k/next68k/autoconf.c: revision 1.26
sys/arch/mac68k/mac68k/autoconf.c: revision 1.73
sys/arch/ia64/ia64/autoconf.c: revision 1.6
sys/arch/evbppc/obs405/obs405_autoconf.c: revision 1.6
share/man/man9/cpu_rootconf.9: revision 1.7
sys/arch/landisk/landisk/autoconf.c: revision 1.6
sys/arch/evbmips/malta/autoconf.c: revision 1.16
sys/arch/sun3/sun3/autoconf.c: revision 1.76
sys/arch/evbppc/explora/autoconf.c: revision 1.13
sys/arch/sun3/sun3/autoconf.c: revision 1.77
sys/arch/evbmips/loongson/autoconf.c: revision 1.3
sys/arch/evbmips/atheros/autoconf.c: revision 1.11
sys/arch/sparc64/sparc64/autoconf.c: revision 1.188
sys/arch/acorn32/acorn32/autoconf.c: revision 1.18
sys/arch/evbarm/evbarm/autoconf.c: revision 1.13
sys/arch/cobalt/cobalt/autoconf.c: revision 1.30
sys/arch/mvme68k/mvme68k/autoconf.c: revision 1.46
sys/arch/hp700/hp700/autoconf.c: revision 1.48
sys/arch/evbmips/adm5120/autoconf.c: revision 1.5
sys/arch/hpcmips/hpcmips/autoconf.c: revision 1.25
sys/arch/alpha/alpha/autoconf.c: revision 1.52
sys/arch/sparc/sparc/autoconf.c: revision 1.244
sys/arch/evbppc/pmppc/autoconf.c: revision 1.7
sys/arch/bebox/bebox/autoconf.c: revision 1.25
sys/arch/luna68k/luna68k/autoconf.c: revision 1.13
sys/arch/hpcarm/hpcarm/autoconf.c: revision 1.20
sys/arch/evbppc/walnut/autoconf.c: revision 1.21
sys/arch/cesfic/cesfic/autoconf.c: revision 1.26
sys/arch/cats/cats/autoconf.c: revision 1.17
sys/arch/x68k/x68k/autoconf.c: revision 1.67
sys/arch/news68k/news68k/autoconf.c: revision 1.21
sys/arch/arc/arc/autoconf.c: revision 1.34
sys/arch/evbsh3/evbsh3/autoconf.c: revision 1.11
sys/sys/conf.h: revision 1.143
sys/arch/evbmips/rasoc/autoconf.c: revision 1.3
sys/arch/hpcsh/hpcsh/autoconf.c: revision 1.26
sys/arch/sun68k/sun68k/autoconf.c: revision 1.29
sys/arch/evbmips/rmixl/autoconf.c: revision 1.6
sys/arch/zaurus/zaurus/autoconf.c: revision 1.12
sys/arch/xen/x86/autoconf.c: revision 1.15
sys/arch/evbppc/mpc85xx/autoconf.c: revision 1.6
sys/arch/shark/shark/autoconf.c: revision 1.18
sys/arch/prep/prep/autoconf.c: revision 1.25
sys/arch/newsmips/newsmips/autoconf.c: revision 1.36
sys/arch/sbmips/sbmips/autoconf.c: revision 1.8
Do not call setroot() from MD code and from MI code, which has
unwanted sideeffects in the RB_ASKNAME case. This fixes PR/46732.
No longer wrap MD cpu_rootconf(), as hp300 port stores reboot information
as a side effect. Instead call MI rootconf() from MD code which makes
rootconf() now a wrapper to setroot().
Adjust several MD routines to set the global booted_device,booted_partition
variables instead of passing partial information to setroot().
Make cpu_rootconf(9) describe the calling order.
add rootconf(9) as a link to cpu_rootconf(9)
make this compile again
 1.16.2.1 30-Oct-2012  yamt sync with head
 1.5 16-Mar-2003  matt EV64260 now gets to single user prompt using COM1 (2nd uart) as console
with PPCBOOT as firmware. XXX PCI devices are not found.
 1.4 07-Mar-2003  matt Remove some constant (use value in bus_space_tags).
 1.3 06-Mar-2003  matt Correct pci1 bus_space tag.
 1.2 06-Mar-2003  matt Make most of PPC (OEA) bus_space's identical (or as identical as possible).
(except mvmeppc).
 1.1 05-Mar-2003  matt Add preliminary support Marvell (Galileo) Discovery System Controllers.
This code was contributed by Allegro Networks.
 1.10 08-Jan-2008  simonb GC this file - it should have been removed during the ppcoea-renovation
merge.
 1.9 18-Sep-2006  gdamore branches: 1.9.28; 1.9.34; 1.9.42;
Conversion of evbppc to generic TODR. ok freza@
 1.8 24-Dec-2005  perry branches: 1.8.20; 1.8.22;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.7 23-Nov-2005  nonaka In decr_intr(), update lasttb only when clock interrupt is not masked.
(sync with macppc/macppc/clock.c: rev.1.11 -> 1.12)
 1.6 03-Jun-2005  scw branches: 1.6.2; 1.6.8;
Appease -Wshadow
 1.5 15-Jul-2003  lukem __KERNEL_RCSID()
 1.4 17-Mar-2003  matt branches: 1.4.2;
Get CLOCKBASE from opt_ppcparam.h.
 1.3 16-Mar-2003  matt Remove some debugging code.
 1.2 16-Mar-2003  matt EV64260 now gets to single user prompt using COM1 (2nd uart) as console
with PPCBOOT as firmware. XXX PCI devices are not found.
 1.1 05-Mar-2003  matt Add preliminary support Marvell (Galileo) Discovery System Controllers.
This code was contributed by Allegro Networks.
 1.4.2.5 11-Dec-2005  christos Sync with head.
 1.4.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6.8.1 29-Nov-2005  yamt sync with head.
 1.6.2.3 21-Jan-2008  yamt sync with head
 1.6.2.2 30-Dec-2006  yamt sync with head.
 1.6.2.1 21-Jun-2006  yamt sync with head.
 1.8.22.1 22-Oct-2006  yamt sync with head
 1.8.20.1 18-Nov-2006  ad Sync with head.
 1.9.42.1 08-Jan-2008  bouyer Sync with HEAD
 1.9.34.1 18-Feb-2008  mjf Sync with HEAD.
 1.9.28.1 09-Jan-2008  matt sync with HEAD
 1.12 08-Dec-2018  thorpej Clean up initialization of com_regs structure, in preparation for
some additional changers.
 1.11 01-Jul-2011  dyoung branches: 1.11.52; 1.11.54;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.10 28-Apr-2010  kiyohara Clean up gt and peripherals.
This change tested compile only.
 1.9 21-Nov-2009  rmind branches: 1.9.2; 1.9.4;
Use lwp_getpcb() on mips, powerpc and sh3, clean from struct user usage.
 1.8 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.7 14-Mar-2008  cube branches: 1.7.2; 1.7.4;
Split device_t and softc for all com(4) devices (well, everything that
uses a com_softc backend). Use proper types and ansify where appropriate.
 1.6 13-Jul-2006  gdamore branches: 1.6.34; 1.6.54; 1.6.58;
Add an option COM_REGMAP to allow com(4) to use an array of register indices.
This allows us to convert aucom to just another com attachment, and cleanup
some code in the com_arbus.c.

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

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

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

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

ok kamil christos
 1.19 20-Jun-2011  matt branches: 1.19.52; 1.19.54;
Don't include *pmap.h in assembly files. Get the needed definitions
from "assym.h".
 1.18 18-Jun-2011  matt Make a common genassym.cf (powerpc/genassym.cf) and then
only put specific stuff in foo/genassym.cf
 1.17 01-Feb-2011  matt branches: 1.17.2;
Add a call to cpu_model_init to set oeacpufeat before calling initppc
 1.16 17-Jan-2011  matt branches: 1.16.2;
Kill _NOREGNAMES. Everything should be using %rX now. If it doesn't it
soon will.
 1.15 03-Mar-2010  pooka branches: 1.15.2; 1.15.4;
Fix some historical powerpc curiocity which had kernfs depend on
startsym/endsym, and which crept into most powerpc ports.
 1.14 27-Feb-2010  snj Spell "exception" properly.
 1.13 25-Feb-2010  matt Adapt to <spr.h> breakup.
 1.12 26-Nov-2009  matt branches: 1.12.2;
Kill proc0paddr. Use lwp0.l_addr instead.
 1.11 13-Feb-2009  apb Use "defopt MODULAR" in sys/conf/files, and #include "opt_modular.h"
in all kernel sources that use the MODULAR option.
Proposed in tech-kern on 18 Jan 2009.
 1.10 13-Nov-2008  ad branches: 1.10.4;
LKM -> MODULAR
 1.9 05-Feb-2008  garbled branches: 1.9.6; 1.9.10; 1.9.16; 1.9.18; 1.9.28;
Ifdef out all the MPC601 code with PPC_OEA601. Now only arches that have the
possibility of running on an MPC601, are infected with all the extra code
and nops that it added.

Also, fix compilation that I broke with the pmap code, by adding
oeacpufeat to the locores of various ppc arches. Noted by mlelstv.
 1.8 11-Dec-2005  christos branches: 1.8.50; 1.8.56;
merge ktrace-lwp.
 1.7 31-May-2005  chs branches: 1.7.2;
remove vestigal {,e}intr{names,cnt} symbols now that vmstat doesn't need them.
 1.6 31-Jul-2003  matt Add #define _NOREGNAMES (to suppress asm.h from #define r1 1 ...)
 1.5 27-Apr-2003  ragge branches: 1.5.2;
Preserve the symbol table in the LKM || KSYMS cases also.
 1.4 24-Mar-2003  matt Make PCI interrupts -> GPP mapping configured via config file.
Add bus_spaces for all possile obios. Add gt_halt to make
sure the discovery is not doing dma as soon as possible.
Read the SDRAM register to figure out how much physical RAM
is available.
 1.3 18-Mar-2003  matt work around a cache problem. (flush both caches and disable the D-cache).
 1.2 16-Mar-2003  matt EV64260 now gets to single user prompt using COM1 (2nd uart) as console
with PPCBOOT as firmware. XXX PCI devices are not found.
 1.1 05-Mar-2003  matt Add preliminary support Marvell (Galileo) Discovery System Controllers.
This code was contributed by Allegro Networks.
 1.5.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.2.1 03-Aug-2004  skrll Sync with HEAD
 1.7.2.1 11-Feb-2008  yamt sync with head.
 1.8.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.8.50.1 23-Mar-2008  matt sync with HEAD
 1.9.28.1 07-Jan-2011  matt Deal with the splitting of <spr.h>
 1.9.18.2 03-Mar-2009  skrll Sync with HEAD.
 1.9.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.9.16.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.9.10.2 11-Mar-2010  yamt sync with head
 1.9.10.1 04-May-2009  yamt sync with head.
 1.9.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.10.4.1 13-May-2009  jym Sync with HEAD.

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

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.35 05-Mar-2024  thorpej Move the at-shutdown call to resettodr() from cpu_reboot() to kern_reboot().

It's a small step, but it's a step.
 1.34 04-Mar-2021  thorpej Don't forget to 0-terminate the BAT mapping list passed to oea_batinit()!
 1.33 15-Jul-2018  maxv branches: 1.33.12;
Retire ipkdb entirely. The option was removed from the config files
yesterday.

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

uvm_setpagesize() is now subsumed within this funciton.
 1.31 25-Feb-2014  martin branches: 1.31.6; 1.31.10;
Remove an unused variable
 1.30 01-Mar-2013  joerg branches: 1.30.6;
Retire OSI network stack. OK core@
 1.29 20-Jun-2011  matt branches: 1.29.2; 1.29.12;
Cleanup includes. (<net/netisr.h> is handled by softints, not MD anymore,
so this can be nuked).
 1.28 20-Dec-2010  matt branches: 1.28.6;
Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch
from uvmexp to per-cpu cpu_data and move them to 64bits. Remove unneeded
includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.
 1.27 28-Apr-2010  kiyohara Clean up gt and peripherals.
This change tested compile only.
 1.26 26-Nov-2009  matt branches: 1.26.2; 1.26.4;
Kill proc0paddr. Use lwp0.l_addr instead.
 1.25 14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.24 13-Feb-2009  apb Use "defopt MODULAR" in sys/conf/files, and #include "opt_modular.h"
in all kernel sources that use the MODULAR option.
Proposed in tech-kern on 18 Jan 2009.
 1.23 30-Nov-2008  martin branches: 1.23.4;
As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.22 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

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

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

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

I hope that this patch will stop us from flip-flopping between
calling doshutdownhooks() and pmf_system_shutdown() sometimes with
and sometimes without interrupts enabled.
 1.20 17-Oct-2007  garbled branches: 1.20.16; 1.20.20; 1.20.26; 1.20.28;
Merge the ppcoea-renovation branch to HEAD.

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

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

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.19 24-Dec-2005  perry branches: 1.19.30; 1.19.38; 1.19.48; 1.19.50; 1.19.52; 1.19.54;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.18 11-Dec-2005  christos merge ktrace-lwp.
 1.17 03-Jun-2005  scw branches: 1.17.2;
Appease -Wshadow
 1.16 13-Mar-2004  matt Fix some gcc3 uninitialized variables.
 1.15 14-Feb-2004  bjh21 Add a new MI attribute, pckbc_machdep_cnattach, and change pckbc_cnattach()
to only call pckbc_machdep_cnattach() if this is present. This allows
pckbc_machdep_cnattach() to be omitted entirely on most ports, where it only
returns ENXIO anyway.

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

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.19.38.2 17-Oct-2007  garbled Back out most of the PIC rennovation on ev64260, it was not completed,
and can be completed post-merge. With these changes, ev64260 compiles
again on the branch. Untested.
 1.19.38.1 22-May-2007  matt WIP. Adapt ev64260 to the new pic code.
 1.19.30.1 23-Oct-2007  ad Sync with head.
 1.20.28.3 28-Apr-2009  skrll Sync with HEAD.
 1.20.28.2 03-Mar-2009  skrll Sync with HEAD.
 1.20.28.1 19-Jan-2009  skrll Sync with HEAD.
 1.20.26.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.20.20.3 11-Aug-2010  yamt sync with head.
 1.20.20.2 11-Mar-2010  yamt sync with head
 1.20.20.1 04-May-2009  yamt sync with head.
 1.20.16.1 17-Jan-2009  mjf Sync with HEAD.
 1.23.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.26.4.2 05-Mar-2011  rmind sync with head
 1.26.4.1 30-May-2010  rmind sync with head
 1.26.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.28.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.29.12.3 03-Dec-2017  jdolecek update from HEAD
 1.29.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.29.12.1 23-Jun-2013  tls resync from head
 1.29.2.1 22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.30.6.1 18-May-2014  rmind sync with head
 1.31.10.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.31.6.1 05-Feb-2017  skrll Sync with HEAD
 1.32.16.1 10-Jun-2019  christos Sync with HEAD
 1.32.14.1 28-Jul-2018  pgoyette Sync with HEAD
 1.33.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.9 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.8 24-Apr-2021  thorpej branches: 1.8.8;
Merge thorpej-cfargs branch:

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

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

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

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

...and a sentinel value CFARG_EOL.

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

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.7 05-Jun-2011  matt branches: 1.7.68;
struct device * -> device_t, struct cfdata * -> cfdata_t
CFATTACH_DECL(*, sizeof(struct device), -> CFATTACH_DECL_NEW(&, 0
 1.6 28-Apr-2010  kiyohara branches: 1.6.2; 1.6.6;
Clean up gt and peripherals.
This change tested compile only.
 1.5 11-Dec-2005  christos branches: 1.5.78; 1.5.98; 1.5.100;
merge ktrace-lwp.
 1.4 15-Jul-2003  lukem __KERNEL_RCSID()
 1.3 16-Mar-2003  matt branches: 1.3.2;
EV64260 now gets to single user prompt using COM1 (2nd uart) as console
with PPCBOOT as firmware. XXX PCI devices are not found.
 1.2 07-Mar-2003  matt Remove some constant (use value in bus_space_tags).
 1.1 05-Mar-2003  matt Add preliminary support Marvell (Galileo) Discovery System Controllers.
This code was contributed by Allegro Networks.
 1.3.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.1 03-Aug-2004  skrll Sync with HEAD
 1.5.100.2 12-Jun-2011  rmind sync with head
 1.5.100.1 30-May-2010  rmind sync with head
 1.5.98.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.5.78.1 11-Aug-2010  yamt sync with head.
 1.6.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.6.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.7.68.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.8.8.1 04-Aug-2021  thorpej Adapt to CFARGS().

RSS XML Feed