Home | History | Annotate | Download | only in ibm4xx
History log of /src/sys/arch/powerpc/ibm4xx/ibm4xx_machdep.c
RevisionDateAuthorComments
 1.39  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.38  05-Oct-2022  rin Minor style fixes to asm codes. No binary changes.
 1.37  30-Mar-2021  rin Use ``for (;;)'' for infinite loop, as required by style.
No binary changes.
 1.36  30-Mar-2021  rin Centralize cpu_reboot().
 1.35  06-Mar-2021  rin branches: 1.35.2;
For booke and ibm4xx, switch to software-based single-stepping for PT_STEP
ptrace(2) command from broken hardware-based implementation.

As described in proposal on port-powerpc@,

http://mail-index.netbsd.org/port-powerpc/2021/02/26/msg003597.html

hardware debug facilities of booke and 4xx use critical interrupts, that
are difficult to handle for this purpose; they are not automatically masked
when entering kernel mode via system call trap or hardware interrupt.
See my proposal above for more details.

Now, hardware debug facilities are exclusively usable by kernel itself.
They are much more functional than PSL_SE MSR bit of oea, and should be
useful to, e.g., support byte-granular watchpoint for DDB in the future.
 1.34  18-Jan-2021  rin white space --> tab
 1.33  06-Jan-2021  rin Sort headers. No functional changes intended.
 1.32  06-Jul-2020  rin branches: 1.32.2;
Set cpu_psluserset, cpu_pslusermod, cpu_pslusermask for MODULAR.
 1.31  06-Jul-2020  rin Drop unused opt_compat_netbsd.h include.
 1.30  06-Jul-2020  rin Style and cosmetic changes. No binary changes intended.
 1.29  11-Jun-2020  ad uvm_availmem(): give it a boolean argument to specify whether a recent
cached value will do, or if the very latest total must be fetched. It can
be called thousands of times a second and fetching the totals impacts not
only the calling LWP but other CPUs doing unrelated activity in the VM
system.
 1.28  31-Dec-2019  ad Rename uvm_free() -> uvm_availmem().
 1.27  21-Dec-2019  ad uvmexp.free -> uvm_free()
 1.26  15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.25  26-Dec-2016  rin branches: 1.25.14; 1.25.16;
Assert that the size of a trap handler does not exceed its room.

XXX
The debug exception is critical for ibm4xx. Since rev 1.24, we use the critical
trap hundler for it. Sorry for the wrong commit log for rev 1.24.
 1.24  26-Dec-2016  rin No need to have same trap handlers in trap_subr.S.
No functional changes.
 1.23  26-Dec-2016  rin We cannot have DDB and IPKDB at the same time.
 1.22  22-Dec-2016  cherry switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.21  16-Dec-2016  rin Fix typo: s/IPKBD/IPKDB/
 1.20  16-Dec-2016  rin Fix comments. No functional changes.
 1.19  15-Dec-2016  rin Fix build without DDB.
 1.18  12-Dec-2011  kiyohara branches: 1.18.6; 1.18.24; 1.18.28;
Remove white-spaces.
Indents.
 1.17  20-Jun-2011  matt branches: 1.17.2; 1.17.6;
Change IBM4xx to use the common powerpc PIC framework.
Consolidate most ibm4xx initppc function into ibm4xx_init
and Make all IBM4xx use it.
Change explora to use initppc instead of bootstrap.
 1.16  18-Jun-2011  matt Use <sys/foo.h> instead of <machine/foo.h> if such a file exists.
Don't assume <sys/cpu.h> includes <powerpc/subarch/cpu*.h>. Include it
explicitly.
 1.15  18-Jan-2011  matt branches: 1.15.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.14  17-Jan-2011  matt branches: 1.14.2;
Add a #include <machine/pcb.h>
 1.13  25-Feb-2010  matt branches: 1.13.2;
Adapt to spr.h breakup.
 1.12  27-Nov-2009  rmind branches: 1.12.2;
- Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.11  26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.10  21-Nov-2009  rmind Use lwp_getpcb() on mips, powerpc and sh3, clean from struct user usage.
 1.9  07-Nov-2009  cegger Add a flags argument to pmap_kenter_pa(9).
Patch showed on tech-kern@ http://mail-index.netbsd.org/tech-kern/2009/11/04/msg006434.html
No objections.
 1.8  02-Jul-2008  ad branches: 1.8.18;
Replce exec_map with a pool. Proposed on tech-kern@, reviewed by chs@.
 1.7  04-Mar-2007  christos branches: 1.7.40; 1.7.44; 1.7.46; 1.7.48;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.6  22-Feb-2007  thorpej TRUE -> true, FALSE -> false
 1.5  24-Dec-2005  perry branches: 1.5.26;
bare asm -> __asm
 1.4  11-Dec-2005  christos merge ktrace-lwp.
 1.3  25-Apr-2005  lukem branches: 1.3.2; 1.3.4; 1.3.6;
Move the MI printing of `copyright' to the MD cpu_startup() code
where the printing of `version' is already performed.
This has the benefit of allowing the copyright to be available
via dmesg(8) on platforms which need the `msgbuf' to be setup
in cpu_startup() before printed output is remembered.
 1.2  01-Apr-2005  yamt merge yamt-km branch.
- don't use managed mappings/backing objects for wired memory allocations.
save some resources like pv_entry. also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.
 1.1  18-Jan-2005  shige branches: 1.1.2; 1.1.4;
Arrange some machine-dependent code.
- ibm40x_machdep.c: ibm40x specific
. ibm40x_memsize_init
. mem_regions
. other functions are moved to machdep.c or ibm4xx_machdep.c.
- ibm4xx_machdep.c: ibm4xx specific
. ibm4xx_init (moved from ibm40x_machdep.c)
. ibm4xx_install_extint (moved from ibm40x_machdep.c)
. ibm4xx_cpu_startup (moved from ibm40x_machdep.c:ibm4xx_startup)
. ibm4xx_dumpsys
 1.1.4.1  28-Jan-2005  yamt convert arch/powerpc to new apis.
 1.1.2.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.2.3  01-Apr-2005  skrll Sync with HEAD.
 1.1.2.2  24-Jan-2005  skrll Sync with HEAD.
 1.1.2.1  18-Jan-2005  skrll file ibm4xx_machdep.c was added on branch ktrace-lwp on 2005-01-24 08:34:26 +0000
 1.3.6.2  15-Sep-2005  riz Pull up following revision(s) (requested by shige in ticket #5820):
distrib/evbppc/md-kernel/Makefile 1.3 via patch
etc/etc.evbppc/Makefile.inc 1.3 via patch
sys/arch/evbppc/conf/files.obs405 1.5-1.8 via patch
sys/arch/evbppc/conf/OPENBLOCKS266 1.22,1.25 via patch
sys/arch/evbppc/include/obs266.h 1.1 (new)
sys/arch/evbppc/include/obs405.h 1.1-1.5 (new)
sys/arch/evbppc/include/rbus_machdep.h 1.1 (new)
sys/arch/evbppc/obs405/consinit.c 1.2-1.4
sys/arch/evbppc/obs405/dev/x1226.c deleted
sys/arch/evbppc/obs405/dev/x1226reg.h deleted
sys/arch/evbppc/obs405/machdep.c deleted
sys/arch/evbppc/obs405/obs266_autoconf.c 1.1 (new)
sys/arch/evbppc/obs405/obs266_machdep.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_autoconf.c 1.1 (new, plus patch)
sys/arch/evbppc/obs405/obs405_machdep.c 1.1 (new)
sys/arch/evbppc/obs405/rbus_machdep.c 1.1 (new)
sys/arch/powerpc/conf/files.ibm4xx 1.6-1.7
sys/arch/powerpc/ibm4xx/board_prop.c 1.1 (new)
sys/arch/powerpc/ibm4xx/dev/com_opb.c 1.12
sys/arch/powerpc/ibm4xx/dev/comopbvar.h 1.1 (new)
sys/arch/powerpc/ibm4xx/ibm40x_machdep.c 1.3-1.4
sys/arch/powerpc/ibm4xx/ibm4xx_autoconf.c 1.1-1.2 (new)
sys/arch/powerpc/ibm4xx/ibm4xx_machdep.c 1.1-1.3 (new)
sys/arch/powerpc/ibm4xx/ibm4xxgpx_autoconf.c 1.2-1.3
sys/arch/powerpc/ibm4xx/openbios/openbios.c 1.1 (new)
sys/arch/powerpc/include/ibm4xx/cpu.h 1.7-1.10
sys/arch/powerpc/include/ibm4xx/openbios.h 1.1 (new)

Update OpenBlockS266 support to more modern, stable sources.
 1.3.6.1  25-Apr-2005  riz file ibm4xx_machdep.c was added on branch netbsd-2 on 2005-09-15 14:28:44 +0000
 1.3.4.3  03-Sep-2007  yamt sync with head.
 1.3.4.2  26-Feb-2007  yamt sync with head.
 1.3.4.1  21-Jun-2006  yamt sync with head.
 1.3.2.2  29-Apr-2005  kent sync with -current
 1.3.2.1  25-Apr-2005  kent file ibm4xx_machdep.c was added on branch kent-audio2 on 2005-04-29 11:28:19 +0000
 1.5.26.2  12-Mar-2007  rmind Sync with HEAD.
 1.5.26.1  27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.7.48.1  03-Jul-2008  simonb Sync with head.
 1.7.46.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.7.44.2  11-Mar-2010  yamt sync with head
 1.7.44.1  04-May-2009  yamt sync with head.
 1.7.40.1  02-Jul-2008  mjf Sync with HEAD.
 1.8.18.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.8.18.1  07-Jan-2011  matt Deal with new powerpc world.
 1.12.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.13.2.1  05-Mar-2011  rmind sync with head
 1.14.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.15.4.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.17.6.1  18-Feb-2012  mrg merge to -current.
 1.17.2.1  17-Apr-2012  yamt sync with head
 1.18.28.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.18.24.1  05-Feb-2017  skrll Sync with HEAD
 1.18.6.1  03-Dec-2017  jdolecek update from HEAD
 1.25.16.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.25.16.1  10-Jun-2019  christos Sync with HEAD
 1.25.14.1  28-Jul-2018  pgoyette Sync with HEAD
 1.32.2.1  03-Apr-2021  thorpej Sync with HEAD.
 1.35.2.1  03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed