Home | History | Annotate | Download | only in ibm4xx
History log of /src/sys/arch/powerpc/ibm4xx/cpu.c
RevisionDateAuthorComments
 1.39  05-Oct-2022  rin Minor style fixes to asm codes. No binary changes.
 1.38  30-Mar-2021  simonb Fix nearly 20 year old type - cache sizes are 2048 bytes, not 2848 bytes.
 1.37  30-Mar-2021  rin According to "PPC405GP Embedded Processor User’s Manual",
405GP has 16KB instruction cache, not 8KB.
 1.36  05-Mar-2021  rin branches: 1.36.2;
Show PVR as 8-digit hex.
 1.35  05-Mar-2021  rin Add 403 family processors other than 403GCX.
 1.34  05-Mar-2020  rin branches: 1.34.4;
Cosmetic change. No binary changes.
 1.33  24-Mar-2014  christos branches: 1.33.30; 1.33.34;
use cpu_{g,s}etmodel
 1.32  21-Jun-2011  matt branches: 1.32.2; 1.32.12; 1.32.16;
Reap the ci_ev_soft* evcnts since every variant implements __HAVE_FAST_SOFTINTS
 1.31  18-Jun-2011  matt Constify cputab.
 1.30  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.29  05-Jun-2011  matt struct device * -> device_t, struct cfdata * -> cfdata_t
CFATTACH_DECL(*, sizeof(struct device), -> CFATTACH_DECL_NEW(&, 0
 1.28  18-Mar-2010  kiyohara branches: 1.28.2; 1.28.6;
Support PowerPC 405EX/EXr.
1. Add some new source and header files.
(MAL(split) and RGMII(new) relations for EMAC)
2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h.
3. intr.c supports MULTIUIC with virtual-irq. likes to oea.
support 32-virq/128-hwirq.
4. multiple emac support.
5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx.
6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
 1.27  18-Mar-2009  cegger branches: 1.27.2; 1.27.4;
Ansify function definitions w/o arguments. Generated with sed.
 1.26  19-Nov-2007  ad branches: 1.26.18; 1.26.26; 1.26.32;
Set curlwp for the boot CPU before entering main().
 1.25  31-Aug-2006  freza branches: 1.25.12; 1.25.30; 1.25.32; 1.25.36; 1.25.38;
* add PVR values for Xilinx 405 cores
* don't try to decode vendor-specific PVR, print raw value instead.
* panic() if we see cache wasn't probed, we'd crash later anyway.
* rework the way PVR gets translated to core name.
* while there, normalize printf format ("%s: ...", device_xname(self), ...).

OK by matt@
 1.24  30-Jun-2006  freza 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.23  05-May-2006  thorpej branches: 1.23.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.22  24-Dec-2005  perry branches: 1.22.4; 1.22.6; 1.22.8; 1.22.10; 1.22.12;
bare asm -> __asm
 1.21  24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.20  11-Dec-2005  christos merge ktrace-lwp.
 1.19  03-Jun-2005  scw branches: 1.19.2;
Appease -Wshadow and -Wcast-qual
 1.18  13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.17  23-Sep-2003  shige Add global cpu_model variable.
 1.16  15-Jul-2003  lukem __KERNEL_RCSID()
 1.15  13-Jun-2003  simonb branches: 1.15.2;
Sprinkle some TABs to line up the columns in the cputab models array.
 1.14  13-Jun-2003  msaitoh Add support IBM 405GPr
 1.13  02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.12  11-Mar-2003  hannken 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.11  02-Feb-2003  matt Perform a rototill of the powerpc code. Mandate use of SPRG0 to store
a pointer to current cpu's cpu_info structure. Use cpu_info for
intstk,intr_depth,still_stk,idle_pcb,curpcb,curlwp,etal even on
non-MULTIPROCESSOR machines. Add common macros GET_CPUINFO and
INIT_CPUINFO to get and initialize the cpu_info struct on startup. Make
ibm4xx use the standard <powerpc/frame.h>. Use IFRAME_xx in ibm4xx
trap_subr.S instead of explicit magic offsets. Move INTSTK and SPILLSTK
to std.<platform>. Change faultbuf to a struct instead of an array.

On MPC6XX cpus, stop using the vector page for temporary space and use
reserved space in cpu_info.
 1.10  02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.9  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.8  27-Sep-2002  thorpej Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver. The cfdriver is then looked
up in a list which is built at run-time.
 1.7  23-Aug-2002  scw Add "ecc at plb" device.
Add an "irq" locator to the plb device.
This gets rid of the original hack where ecc support was wedged into
the cpu driver.
 1.6  23-Aug-2002  simonb Show the IRQ we attach the ECC handler to.
 1.5  23-Aug-2002  scw Install the ECC error interrupt handler at the level specified by
a "4xx-ecc-irq" property.
If the property isn't defined, assume the hardware has no ECC support.
This should, ideally, be a config file option.
 1.4  12-Aug-2002  simonb Reorganise the IBM 4xx bus layout, using terminology from the IBM
documentation:
- Remove "mainbus" altogether.
- The new root is "plb" - the Processor Local Bus.
- Attached to this is the "opb" - the On-chip Peripheral Bus, to which
all the on-chip devices are attached (except the cpu and pci host
bridge).
- Port-specific code can pass an array of 'struct plb_dev' to
config_rootfound() to attach extra devices to the plb. The walnut
port attaches a "pbus" (Peripheral Bus) in here for the RTC and
pc keyboard controller to attach to.
There is still much 405GP specific code; the next round of changes will
generalise this to enable easier support for other 4xx CPUs.
 1.3  11-Jul-2002  simonb Clean up some white space niggles.
 1.2  15-Mar-2002  eeh branches: 1.2.2; 1.2.6; 1.2.8;
Use properties instead of board_info.
 1.1  13-Mar-2002  eeh Add cache_info to cpu_info which provides details about D$ and I$
sizes and line sizes. This is needed for cache flusing, clearing
memory, and several other operations. This information is accessible
from userland through a new CPU_CACHEINFO sysctl.
 1.2.8.2  31-Aug-2002  gehenna catch up with -current.
 1.2.8.1  16-Jul-2002  gehenna catch up with -current.
 1.2.6.6  18-Oct-2002  nathanw Catch up to -current.
 1.2.6.5  27-Aug-2002  nathanw Catch up to -current.
 1.2.6.4  13-Aug-2002  nathanw Catch up to -current.
 1.2.6.3  01-Aug-2002  nathanw Catch up to -current.
 1.2.6.2  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.6.1  15-Mar-2002  nathanw file cpu.c was added on branch nathanw_sa on 2002-04-01 07:42:01 +0000
 1.2.2.5  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.2.2.4  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.2.3  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.2.2  16-Mar-2002  jdolecek Catch up with -current.
 1.2.2.1  15-Mar-2002  jdolecek file cpu.c was added on branch kqueue on 2002-03-16 15:59:15 +0000
 1.15.2.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.15.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.15.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.15.2.1  03-Aug-2004  skrll Sync with HEAD
 1.19.2.3  07-Dec-2007  yamt sync with head
 1.19.2.2  30-Dec-2006  yamt sync with head.
 1.19.2.1  21-Jun-2006  yamt sync with head.
 1.22.12.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.22.10.1  11-May-2006  elad sync with head
 1.22.8.3  03-Sep-2006  yamt sync with head.
 1.22.8.2  11-Aug-2006  yamt sync with head
 1.22.8.1  24-May-2006  yamt sync with head.
 1.22.6.1  01-Jun-2006  kardel Sync with head.
 1.22.4.1  09-Sep-2006  rpaulo sync with head
 1.23.4.1  13-Jul-2006  gdamore Merge from HEAD.
 1.25.38.1  08-Dec-2007  mjf Sync with HEAD.
 1.25.36.1  21-Nov-2007  bouyer Sync with HEAD
 1.25.32.1  09-Jan-2008  matt sync with HEAD
 1.25.30.1  21-Nov-2007  joerg Sync with HEAD.
 1.25.12.1  03-Dec-2007  ad Sync with HEAD.
 1.26.32.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.26.26.1  28-Apr-2009  skrll Sync with HEAD.
 1.26.18.2  11-Aug-2010  yamt sync with head.
 1.26.18.1  04-May-2009  yamt sync with head.
 1.27.4.2  12-Jun-2011  rmind sync with head
 1.27.4.1  30-May-2010  rmind sync with head
 1.27.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.28.6.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.28.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.32.16.1  18-May-2014  rmind sync with head
 1.32.12.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.32.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.33.34.1  09-Mar-2020  martin Pull up following revision(s) (requested by rin in ticket #774):

sys/arch/powerpc/ibm4xx/cpu.c: revision 1.34
sys/arch/powerpc/ibm4xx/pic_uic.c: revision 1.5

Cosmetic change. No binary changes.

Remove unused macros.
 1.33.30.1  08-Apr-2020  martin Merge changes from current as of 20200406
 1.34.4.1  03-Apr-2021  thorpej Sync with HEAD.
 1.36.2.1  03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed