Home | History | Annotate | Download | only in ibm4xx
History log of /src/sys/arch/powerpc/ibm4xx/clock.c
RevisionDateAuthorComments
 1.33  05-Oct-2022  rin Minor style fixes to asm codes. No binary changes.
 1.32  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.31  18-Jan-2021  rin Invoke hardclock() and statclock() in the interrupt context.

Otherwise, entropy_enter() is used instead of entropy_enter_intr() in
statclock(), which results in KASSERT() failure.
 1.30  18-Jan-2021  rin Simplify and correct stale comment; nticks-th hardclock() had no longer
been special since rev 1.24:

http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/powerpc/ibm4xx/clock.c#rev1.24

No functional changes intended.
 1.29  06-Jul-2020  rin branches: 1.29.2;
Include missing opt_ppcarch.h.
 1.28  29-May-2020  rin For struct timecounter, use C99 initializers.
Compile tested. No functional changes intended.
 1.27  09-Jan-2012  kiyohara Reenable interrupt before was call pic_do_pending_int() by splx(), or KASSERT().
 1.26  20-Jun-2011  matt branches: 1.26.2; 1.26.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.25  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.24  18-Jan-2011  matt branches: 1.24.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.23  20-Dec-2010  matt branches: 1.23.2;
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.22  25-Feb-2010  matt branches: 1.22.2;
Adapt to spr.h breakup.
 1.21  09-Jan-2008  simonb branches: 1.21.10; 1.21.30; 1.21.34;
Bump uvmexp.intrs when we get a clock or statclock interrupt.
 1.20  08-Jan-2008  joerg Mask is unsigned, add missing u.
 1.19  08-Jan-2008  joerg Finish conversion of ppc and evbppc to timecounter.
Tested by simonb@ on WALNUT.
 1.18  27-Sep-2006  freza branches: 1.18.28; 1.18.34; 1.18.42;
Make sure we mask statclock timer on ibm4xx systems. This avoids
pthread "related" panics like:

panic: remrunqueue: bit 18 not set
Stopped in pid 479.3 (exsprite) at netbsd:cpu_Debugger+0x10: lwz
r
0, r1, 0x14
db> bt
0x869abe00: at panic+0x1b4
0x869abe50: at remrunqueue+0x80
0x869abe60: at mi_switch+0x114
0x869abea0: at sa_unblock_userret+0x4e8
0x869abee0: at syscall_plain+0x224
0x869abf40: user SC trap #93 by 0x41949810: srr1=0xc030
r1=0x445fff40 cr=0x40000002 xer=0 ctr=0x41aae208 esr=0 pid=0x36

While there, cleanup IPL_ definitions somewhat and fix interrupt mask
calculation per spl(9).

OK by matt@
 1.17  30-Jun-2006  freza branches: 1.17.4; 1.17.6;
Bring ibm4xx interrupt code up to date:

- generic soft interrupts (ie. use powerpc/softintr.c)
- interrupt event counters (using the ones from powerpc/cpu.h:cpu_info
where appropriate)
- cleanup ibm4xx_intr.h, move implementation details to intr.c

Convert all affected evbppc platforms.

OK by simonb@, some points discussed with matt@
 1.16  05-May-2006  thorpej branches: 1.16.4;
Remove the devprop API and switch everthing over to the new proplib. Add
a new device_properties() accessor for device_t that returns the device's
property dictionary.
 1.15  08-Mar-2006  lukem branches: 1.15.2;
Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings.
Add a space between numbers and Hz unit.
 1.14  24-Dec-2005  perry branches: 1.14.4; 1.14.6; 1.14.8; 1.14.10;
bare asm -> __asm
 1.13  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.12  03-Jun-2005  scw branches: 1.12.2; 1.12.8;
Appease the -Wshadow and -Wcast-qual gods.
 1.11  19-Jan-2005  simonb A more accurate microtime() implementation. Avoids precision
errors when the clock frequency doesn't divide nicely in to 10^9.
 1.10  02-Sep-2004  scw branches: 1.10.4;
Apply suggested changes from PR port-powerpc/24830 arch/powerpc/ibm4xx:
Bad register constraints in copyin(), copyout(), copyinstr(), copyoutstr(),
and delay().
 1.9  15-Jul-2003  lukem __KERNEL_RCSID()
 1.8  11-Mar-2003  hannken branches: 1.8.2;
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.7  27-Aug-2002  scw Don't need <machine/walnut.h> here.
 1.6  23-Aug-2002  scw Don't frob cpu-specific DCR registers in common code.
 1.5  06-Aug-2002  chs move more inlines to cpu.h: mftb(), mftbl() and mfpvr().
(the mftb() in pmap.c only wanted the lower 32 bits, so that's now mftbl()).
 1.4  03-Aug-2002  simonb Sprinkle a small amount of KNF.
 1.3  11-Jul-2002  simonb Clean up some white space niggles.
 1.2  15-Mar-2002  eeh branches: 1.2.4; 1.2.6; 1.2.10;
Use properties instead of board_info.
 1.1  13-Mar-2002  eeh This should be pretty standard.
 1.2.10.3  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.10.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.10.1  15-Mar-2002  jdolecek file clock.c was added on branch kqueue on 2002-06-23 17:39:38 +0000
 1.2.6.2  31-Aug-2002  gehenna catch up with -current.
 1.2.6.1  16-Jul-2002  gehenna catch up with -current.
 1.2.4.5  27-Aug-2002  nathanw Catch up to -current.
 1.2.4.4  06-Aug-2002  nathanw Catch up with powerpc rototilling.
 1.2.4.3  01-Aug-2002  nathanw Catch up to -current.
 1.2.4.2  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.4.1  15-Mar-2002  nathanw file clock.c was added on branch nathanw_sa on 2002-04-01 07:42:01 +0000
 1.8.2.7  11-Dec-2005  christos Sync with head.
 1.8.2.6  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.8.2.5  24-Jan-2005  skrll Sync with HEAD.
 1.8.2.4  21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.2.3  18-Sep-2004  skrll Sync with HEAD.
 1.8.2.2  03-Sep-2004  skrll Sync with HEAD
 1.8.2.1  03-Aug-2004  skrll Sync with HEAD
 1.10.4.1  29-Apr-2005  kent sync with -current
 1.12.8.1  29-Nov-2005  yamt sync with head.
 1.12.2.3  21-Jan-2008  yamt sync with head
 1.12.2.2  30-Dec-2006  yamt sync with head.
 1.12.2.1  21-Jun-2006  yamt sync with head.
 1.14.10.2  11-May-2006  elad sync with head
 1.14.10.1  19-Apr-2006  elad sync with head - hopefully this will work
 1.14.8.3  11-Aug-2006  yamt sync with head
 1.14.8.2  24-May-2006  yamt sync with head.
 1.14.8.1  13-Mar-2006  yamt sync with head.
 1.14.6.2  01-Jun-2006  kardel Sync with head.
 1.14.6.1  22-Apr-2006  simonb Sync with head.
 1.14.4.1  09-Sep-2006  rpaulo sync with head
 1.15.2.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.16.4.1  13-Jul-2006  gdamore Merge from HEAD.
 1.17.6.1  22-Oct-2006  yamt sync with head
 1.17.4.1  18-Nov-2006  ad Sync with head.
 1.18.42.2  10-Jan-2008  bouyer Sync with HEAD
 1.18.42.1  08-Jan-2008  bouyer Sync with HEAD
 1.18.34.1  18-Feb-2008  mjf Sync with HEAD.
 1.18.28.2  23-Mar-2008  matt sync with HEAD
 1.18.28.1  09-Jan-2008  matt sync with HEAD
 1.21.34.1  07-Jan-2011  matt Deal with new powerpc world.
 1.21.30.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.21.10.1  11-Mar-2010  yamt sync with head
 1.22.2.1  05-Mar-2011  rmind sync with head
 1.23.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.24.4.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.26.6.1  18-Feb-2012  mrg merge to -current.
 1.26.2.1  17-Apr-2012  yamt sync with head
 1.29.2.1  03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed