Home | History | Annotate | Download | only in include
History log of /src/sys/arch/powerpc/include/spr.h
RevisionDateAuthorComments
 1.56  07-May-2022  rin Remove SPR_CCR0 from <powerpc/spr.h>; we already have it in
<powerpc/ibm4xx/spr.h>, together with other 4xx-specific SPRs.

Thanks uwe@ for pointing out.
 1.55  07-May-2022  rin Instead of hard-coding SPR# for CCR0, define SPR_CCR0 in
<powerpc/spr.h> and use it.

Idea from uwe@, thanks!
(and sorry for delayed response!)
 1.54  02-Nov-2021  ryo fix build with COPTS=-O0
 1.53  06-Jul-2020  rin Include missing opt_ppcarch.h.
 1.52  19-Apr-2018  christos s/static inline/static __inline/g for consistency.
 1.51  22-Mar-2018  macallan first step towards G5 SMP:
- only save/restore BATs on CPUs that have them
- treat HID0 as 64bit on 64bit CPUs
 1.50  21-Jan-2018  mrg branches: 1.50.2;
fix some logic errors in the previous and fix non-kernel builds.
 1.49  21-Jan-2018  mrg fix ofppc/pegasosII (and maybe others).

don't assume PPC_OEA64_BRIDGE means we have a 64 bit cpu (code
for 64 bit in bridge and normal 32 bit can co-exist due to
fixups the early boot code does has, and ofppc builds GENERIC
this way):
- fix mtmsr()/mfmsr() to use the right method based upon the
actually cpu booted on.
- fix cpu_setup() to have 32 bit and 64 bit hid0 variables
and operate on the right one based upon the current cpu.
restore a minor optimisation of not writing hid0 if it
didn't change.

in set_timebase() check if OF_finddevice("/cpus/@0") failed
and returned -1 before using it for OF_getprop().
 1.48  20-Jan-2018  simonb Add a copyright (approx 16.5 years later).
 1.47  07-Jul-2017  macallan fix tpyo
 1.46  07-Jul-2017  macallan add mfspr/mtspr methods suitable for 64bit SPRs on ppc970 in bridge mode
 1.45  25-Feb-2010  matt branches: 1.45.20; 1.45.38;
Split <powerpc/spr.h> into a common <powerpc/spr.h> and <powerpc/XXX/spr.h>
where XXX is ibm4xx or oea.
 1.44  23-Feb-2008  matt branches: 1.44.4; 1.44.24; 1.44.28;
Add some 440 definitions
 1.43  31-Dec-2007  garbled branches: 1.43.2; 1.43.6;
Add a bunch of PVR values for a variety of processors. Taken from
various manuals, and linux.
 1.42  17-Oct-2007  garbled branches: 1.42.2; 1.42.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.41  25-Jun-2007  aymeric branches: 1.41.10;
Recognize the Freescale G2 cores: initialize cache line size, and doze mode
While there, fix the way the major version of a PowerPC processor is computed
 1.40  05-Aug-2006  sanjayl branches: 1.40.14; 1.40.16; 1.40.22;
1st cut of Powermac G5 support (uses bridge mode).
 1.39  06-Jul-2006  scw Fix the entries for SPR_DC_ADR and SPR_DC_DAT.
 1.38  24-Dec-2005  perry branches: 1.38.4; 1.38.8; 1.38.16;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.37  15-Nov-2005  matt Add MPC5200 SVR definition
 1.36  21-Jan-2005  matt branches: 1.36.8; 1.36.14;
Add MPC7448 and change MPC745x_P macro to deal with it.
 1.35  20-Jan-2005  matt Add MPC7447A (0x8003)
 1.34  06-Dec-2004  briggs branches: 1.34.4;
Minor (old) patch from me to correct CPU ID of 604e vs. 604ev.
Tested by Tim Kelly.
Also patched from Tim to
- Delay longer for second CPU spinup.
- Only attempt to print CPU speed and cache configuration on certain
CPU types.
 1.33  20-Sep-2004  scw MPC8xx DC_CST is SPR 0x238, not 0x230.
Reported by Jared Momose in private email.
 1.32  09-Oct-2003  matt Add support for MPC74[45]7
 1.31  23-Sep-2003  shige Add IBM405GPr PVR.
 1.30  17-Aug-2003  chs add some 745x-specific MSSCR0 bits.
 1.29  04-Apr-2003  matt branches: 1.29.2;
MMCRx register definitions should not be prefixed by SPR_
 1.28  04-Apr-2003  matt Add two missing L2CLK speeds.
 1.27  14-Mar-2003  matt Condition ({ ... }) by __GNUC__. Remove redundant SPR_IBAT0U definiton.
 1.26  26-Feb-2003  jklos Added configuration entries for L3CR_CONFIG for L3 caches on 745x
accelerators. Thanks to Monroe Williams.
 1.25  14-Aug-2002  matt Add a bunch of mpc8xx SPR definitions.
 1.24  11-Aug-2002  simonb Add some IBM 4xx CPU PVR values; sort PVRs numerically.
White space nits.
 1.23  10-Aug-2002  matt Add IBM Power3 CPUID.
 1.22  08-Aug-2002  matt Add SPR_ASR from OEA-64. Change mfspr to use register_t.
 1.21  06-Aug-2002  chs add the MSSCR0 register and some more L2CR fields.
 1.20  01-Jul-2002  matt Add VRSAVE.
 1.19  20-Jun-2002  matt Add IBM750FX (0x7000)
 1.18  19-Jun-2002  briggs Include the Processor ID for the MPC8245.
 1.17  03-Apr-2002  matt branches: 1.17.2; 1.17.4;
Add some MPC745x L3CR cache definitions.
 1.16  03-Mar-2002  matt Add MPC7455
 1.15  03-Mar-2002  nathanw Add bit definitions for the MMCR's, and event numbers for the events
that are common to the G3 and G4.
 1.14  03-Mar-2002  nathanw Correct the SPR numbers of PMC3 and PMC4.
SIA wasn't retconned, but the SPR number was wrong. Re-add it, and add
USIA.
 1.13  03-Mar-2002  nathanw Delete the retconned SIAR SPR.
 1.12  03-Mar-2002  nathanw Add MPC7xx/7xxx performance monitor control registers (MMCR0-2, UMMCR0-2).
 1.11  03-Mar-2002  nathanw Add bit definitions for the MPC750 thermal management registers.
 1.10  05-Feb-2002  kleink Add MPC601 MQ and RTCU/RTCL SPRs.
 1.9  02-Dec-2001  thorpej Add PVR processor type fields for IBM 405GP and IBM 405L.
 1.8  29-Oct-2001  simonb branches: 1.8.2;
Include bit definitions for the Debug Status Register; from Artem Belevich
at Riverstone Networks.
 1.7  16-Sep-2001  wiz branches: 1.7.2;
Spell 'occurred' with two 'r's.
 1.6  30-Aug-2001  matt branches: 1.6.2;
Add new 7450 SPRs
 1.5  26-Aug-2001  matt Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 1.4  23-Jun-2001  matt branches: 1.4.2;
Use __asm __volatile. Use _POWERPC_SPR_H_
Add PTE_RO/PTE_RW for old pmap.
 1.3  22-Jun-2001  matt DMISS/DCMP/HASH1/HASH2/IMISS/ICMP/RPA are also valid on the MPC6XX
(specially the 603 and maybe the 601)
 1.2  19-Jun-2001  simonb branches: 1.2.2;
Move the DSISR SPR bit definitions from <powerpc/mpc6xx/pte.h> to
<powerpc/spr.h>. Remove unused ISI/SRR1 bit definitions.
 1.1  13-Jun-2001  simonb Add a port to IBM's PPC405GP Reference Board (the "walnut")
by Eduardo Horvath and Simon Burge of Wasabi Systems.

IBM 4xx series CPU features:
- New pmap and revised trap handler.
- Support on-chip timers, PCI controller, UARTs
- Framework for on-chip ethernet and watchdog timer.
General PowerPC features:
- Add in-kernel PPC floating point emulation
- New in{,4}_cksum that is between 1.5 and 5 times faster than the
old version depending on CPU type.
General changes:
- Kernel support for generic dbsym-style symbols.
 1.2.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.4.2.6  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.4.2.5  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.2.4  16-Mar-2002  jdolecek Catch up with -current.
 1.4.2.3  11-Feb-2002  jdolecek Sync w/ -current.
 1.4.2.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.4.2.1  13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.6.2.1  01-Oct-2001  fvdl Catch up with -current.
 1.7.2.1  12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.8.2.9  27-Aug-2002  nathanw Catch up to -current.
 1.8.2.8  13-Aug-2002  nathanw Catch up to -current.
 1.8.2.7  06-Aug-2002  nathanw Catch up with powerpc rototilling.
 1.8.2.6  01-Aug-2002  nathanw Catch up to -current.
 1.8.2.5  17-Apr-2002  nathanw Catch up to -current.
 1.8.2.4  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.8.2.3  28-Feb-2002  nathanw Catch up to -current.
 1.8.2.2  08-Jan-2002  nathanw Catch up to -current.
 1.8.2.1  29-Oct-2001  nathanw file spr.h was added on branch nathanw_sa on 2002-01-08 00:27:10 +0000
 1.17.4.2  21-Jun-2002  lukem Pull up revision 1.19 (requested by matt in ticket #332):
Add IBM750FX (0x7000)
 1.17.4.1  20-Jun-2002  lukem Pull up revision 1.18 (requested by briggs in ticket #324):
Include the Processor ID for the MPC8245.
 1.17.2.2  31-Aug-2002  gehenna catch up with -current.
 1.17.2.1  16-Jul-2002  gehenna catch up with -current.
 1.29.2.7  11-Dec-2005  christos Sync with head.
 1.29.2.6  24-Jan-2005  skrll Sync with HEAD.
 1.29.2.5  18-Dec-2004  skrll Sync with HEAD.
 1.29.2.4  24-Sep-2004  skrll Sync with HEAD.
 1.29.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.29.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.29.2.1  03-Aug-2004  skrll Sync with HEAD
 1.34.4.1  29-Apr-2005  kent sync with -current
 1.36.14.1  22-Nov-2005  yamt sync with head.
 1.36.8.5  27-Feb-2008  yamt sync with head.
 1.36.8.4  21-Jan-2008  yamt sync with head
 1.36.8.3  03-Sep-2007  yamt sync with head.
 1.36.8.2  30-Dec-2006  yamt sync with head.
 1.36.8.1  21-Jun-2006  yamt sync with head.
 1.38.16.1  13-Jul-2006  gdamore Merge from HEAD.
 1.38.8.1  11-Aug-2006  yamt sync with head
 1.38.4.1  09-Sep-2006  rpaulo sync with head
 1.40.22.2  02-Aug-2007  macallan sync with HEAD
 1.40.22.1  26-Jun-2007  garbled Sync with HEAD.
 1.40.16.1  11-Jul-2007  mjf Sync with head.
 1.40.14.1  15-Jul-2007  ad Sync with head.
 1.41.10.3  23-Mar-2008  matt sync with HEAD
 1.41.10.2  09-Jan-2008  matt sync with HEAD
 1.41.10.1  06-Nov-2007  matt sync with HEAD
 1.42.8.1  02-Jan-2008  bouyer Sync with HEAD
 1.42.2.1  18-Feb-2008  mjf Sync with HEAD.
 1.43.6.1  03-Apr-2008  mjf Sync with HEAD.
 1.43.2.1  24-Mar-2008  keiichi sync with head.
 1.44.28.1  07-Jan-2011  matt Split spr.h into generic PPC <powerpc/spr.h> and chip-specific
<powerpc/XXX/spr.h> (XXX=oea, ibm4xx, booke)
 1.44.24.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.44.4.1  11-Mar-2010  yamt sync with head
 1.45.38.1  28-Aug-2017  skrll Sync with HEAD
 1.45.20.1  03-Dec-2017  jdolecek update from HEAD
 1.50.2.2  22-Apr-2018  pgoyette Sync with HEAD
 1.50.2.1  30-Mar-2018  pgoyette Resolve conflicts between branch and HEAD

RSS XML Feed