summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/powerpc/mpc6xx (unfollow)
Commit message (Collapse)AuthorFilesLines
2002-07-222002-07-22 Till Straumann <strauman@slac.stanford.edu>Joel Sherrill1-1/+1
* mpc6xx/mmu/bat.c: Per PR241, fix a tiny bug introduced by the fix for an earlier patch (PR213) which added support for setting BAT0 to setdbat().
2002-05-172001-05-17 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2-3/+3
* mpc6xx/exceptions/raw_exception.c, pc6xx/mmu/pte121.c: Modified slightly to reflect recent PowerPC re-organization and avoid warnings.
2002-05-152001-05-15 Till Straumann <strauman@slac.stanford.edu>Joel Sherrill2-0/+1021
* mpc6xx/mmu/pte121.c, mpc6xx/mmu/pte121.h: New files. Missed in merge of PR213.
2002-05-142001-05-14 Till Straumann <strauman@slac.stanford.edu>Joel Sherrill4-55/+153
* rtems/powerpc/registers.h, rtems/score/ppc.h: Per PR213, add the following: - support for the MPC74000 (AKA G4); there is no AltiVec support yet, however. - the cache flushing assembly code uses hardware-flush on the G4. Also, a couple of hardcoded numerical values were replaced by more readable symbolic constants. - extended interrupt-disabled code section so enclose the entire cache flush/invalidate procedure (as recommended by the book). This is not (latency) critical as it is only used by init code but prevents possible corruption. - Trivial page table support as been added. (1:1 effective-virtual-physical address mapping which is only useful only on CPUs which feature hardware TLB replacement, e.g. >604. This allows for write-protecting memory regions, e.g. text/ro-data which makes catching corruptors a lot easier. It also frees one DBAT/IBAT and gives more flexibility for setting up address maps :-) - setdbat() allows changing BAT0 also (since the BSP may use a page table, BAT0 could be available...). - asm_setdbatX() violated the SVR ABI by using r20 as a scratch register; changed for r0 - according to the book, a context synchronizing instruction is necessary prior to and after changing a DBAT -> isync added
2002-04-182002-04-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill5-11/+7
* shared/include/cpu.h: Removed. * shared/include/Makefile.am: Reflect changes above. * shared/include/spr.h: Include rtems/powerpc/registers.h instead of libcpu/cpu.h. * mpc6xx/clock/c_clock.c: Reflect changes to <rtems/score/cpu.h>. * mpc6xx/exceptions/asm_utils.S: Ditto. * mpc6xx/exceptions/raw_exception.c: Ditto. * mpc6xx/mmu/mmuAsm.S: Ditto. * mpc6xx/timer/timer.c: Ditto. * mpc8260/exceptions/asm_utils.S: Ditto. * mpc8260/exceptions/raw_exception.c: Ditto. * mpc8xx/exceptions/asm_utils.S: Ditto. * mpc8xx/exceptions/raw_exception.c: Ditto. * ppc403/vectors/vectors.S: Include <asm.h> instead of "asm.h".
2002-04-172002-04-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1-0/+1
* exceptions/raw_exception.c: Include <libcpu/cpuIdent.h>.
2002-03-282002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill6-6/+0
* configure.ac: AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS). AM_INIT_AUTOMAKE([no-define foreign 1.6]). * mpc505/ictrl/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc505/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc505/timer/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc505/vectors/Makefile.am: Remove AUTOMAKE_OPTIONS. * Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc6xx/clock/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc6xx/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc6xx/exceptions/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc6xx/mmu/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc6xx/timer/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc6xx/wrapup/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc8260/clock/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc8260/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc8260/console-generic/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc8260/cpm/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc8260/exceptions/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc8260/include/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc8260/mmu/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc8260/timer/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc8xx/clock/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc8xx/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc8xx/console-generic/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc8xx/cpm/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc8xx/exceptions/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc8xx/include/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc8xx/mmu/Makefile.am: Remove AUTOMAKE_OPTIONS. * mpc8xx/timer/Makefile.am: Remove AUTOMAKE_OPTIONS. * ppc403/clock/Makefile.am: Remove AUTOMAKE_OPTIONS. * ppc403/Makefile.am: Remove AUTOMAKE_OPTIONS. * ppc403/console/Makefile.am: Remove AUTOMAKE_OPTIONS. * ppc403/ictrl/Makefile.am: Remove AUTOMAKE_OPTIONS. * ppc403/timer/Makefile.am: Remove AUTOMAKE_OPTIONS. * ppc403/tty_drv/Makefile.am: Remove AUTOMAKE_OPTIONS. * ppc403/vectors/Makefile.am: Remove AUTOMAKE_OPTIONS. * shared/include/Makefile.am: Remove AUTOMAKE_OPTIONS. * shared/Makefile.am: Remove AUTOMAKE_OPTIONS. * shared/src/Makefile.am: Remove AUTOMAKE_OPTIONS. * wrapup/Makefile.am: Remove AUTOMAKE_OPTIONS.
2002-01-042002-01-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2-2/+2
* mpc6xx/clock/c_clock.c: Include rtems/bspIo.h instead of bspIo.h. * mpc6xx/mmu/bat.h: Include rtems/bspIo.h instead of bspIo.h. * mpc8260/console-generic/console-generic.c: Include rtems/bspIo.h instead of bspIo.h. * mpc8260/cpm/brg.c: Include rtems/bspIo.h instead of bspIo.h. * mpc8xx/console-generic/console-generic.c: Include rtems/bspIo.h instead of bspIo.h. * shared/include/cpuIdent.c: Include rtems/bspIo.h instead of bspIo.h.
2001-10-122001-10-12 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2-2/+0
* mpc6xx/clock/c_clock.c, mpc6xx/clock/c_clock.h, mpc8xx/clock/clock.c, mpc8xx/timer/timer.c, new_exception_processing/cpu.c, new_exception_processing/cpu.h, new_exception_processing/cpu_asm.S, old_exception_processing/cpu.c, old_exception_processing/cpu.h, old_exception_processing/cpu_asm.S, old_exception_processing/rtems.S: Fixed typo.
2001-09-272001-09-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill3-3/+3
* new_exception_processing/Makefile.am: Use 'PREINSTALL_FILES ='. * old_exception_processing/Makefile.am: Use 'PREINSTALL_FILES ='. * mpc6xx/mmu/Makefile.am: Use 'PREINSTALL_FILES ='. * mpc6xx/clock/Makefile.am: Use 'PREINSTALL_FILES ='. * mpc6xx/exceptions/Makefile.am: Use 'PREINSTALL_FILES ='. * mpc8xx/include/Makefile.am: Use 'PREINSTALL_FILES ='. * mpc8xx/exceptions/Makefile.am: Use 'PREINSTALL_FILES ='. * shared/include/Makefile.am: Use 'PREINSTALL_FILES ='. * shared/src/Makefile.am: Use 'PREINSTALL_FILES ='. * shared/src/Makefile.am: Use 'CLEANFILES ='.
2001-05-242001-05-24 Tom Armistead <tom_armistead@phx.mcd.mot.com>Joel Sherrill1-2/+1
* mpc6xx/timer/timer.c: Added include of bsp.h and removed external declaration of BSP_Convert_decrementer() to correct unresolved reference to this routine.
2001-04-062001-03-30 Eric Valette <valette@crf.canon.fr>Joel Sherrill1-1/+1
* mpc8xx/exceptions/.cvsignore, mpc8xx/exceptions/Makefile.am, mpc8xx/exceptions/asm_utils.S, mpc8xx/exceptions/raw_exception.c, mpc8xx/exceptions/raw_exception.h: New files. * configure.in, mpc6xx/mmu/bat.h, mpc8xx/Makefile.am, mpc8xx/clock/clock.c, mpc8xx/console-generic/console-generic.c, mpc8xx/include/mpc8xx.h, mpc8xx/mmu/mmu.c, new_exception_processing/cpu.h, shared/include/byteorder.h, wrapup/Makefile.am: This is conversion of the mpc8xx CPU to the "new exception processing model."
2001-03-052001-02-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill3-6/+12
* mpc505/ictrl/Makefile.am, mpc6xx/clock/Makefile.am, mpc6xx/exceptions/Makefile.am, mpc6xx/mmu/Makefile.am, mpc8xx/include/Makefile.am, new_exception_processing/Makefile.am, old_exception_processing/Makefile.am, pc403/ictrl/Makefile.am, shared/include/Makefile.am, shared/src/Makefile.am: Apply *_HEADERS instead of *H_FILES. * shared/src/.cvsignore: Add cache.h.
2000-10-182000-10-18 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-6/+2
* mpc6xx/clock/c_clock.h: Removed commented out reference to <bsp.h>. * mpc6xx/timer/timer.c: Ditto.
2000-10-182000-10-18 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2-7/+0
* mpc6xx/clock/c_clock.h: Removed commented out reference to <bsp.h>. * mpc6xx/timer/timer.c: Ditto.
2000-10-182000-10-18 Joel Sherrill <joel@OARcorp.com>Joel Sherrill3-5/+31
* mpc6xx/clock/c_clock.c, mpc6xx/clock/c_clock.h: Removed use of bsp.h and replaced it with use of proper interfaces or explicit externs of required functions and data. * mpc6xx/timer/timer.c: Ditto.
2000-09-052000-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill5-0/+5
* mpc505/timer/Makefile.am, mpc505/vectors/Makefile.am, mpc6xx/clock/Makefile.am, mpc6xx/exceptions/Makefile.am, mpc6xx/mmu/Makefile.am, mpc6xx/timer/Makefile.am, mpc6xx/wrapup/Makefile.am, ppc403/clock/Makefile.am, ppc403/console/Makefile.am, ppc403/ictrl/Makefile.am, ppc403/timer/Makefile.am, ppc403/vectors/Makefile.am, shared/include/Makefile.am, shared/src/Makefile.am, wrapup/Makefile.am, mpc8xx/clock/Makefile.am, mpc8xx/console-generic/Makefile.am, mpc8xx/cpm/Makefile.am, mpc8xx/mmu/Makefile.am, mpc8xx/timer/Makefile.am, mpc8xx/vectors/Makefile.am, new_exception_processing/Makefile.am, old_exception_processing/Makefile.am: Include compile.am
2000-07-06Patch from Eric Valette <valette@crf.canon.fr>Joel Sherrill1-11/+18
2000-06-12Merged from 4.5.0-beta3aJoel Sherrill6-23/+15
2000-04-13Patch rtems-rc-4.5.0-13-cvs.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>.Joel Sherrill6-0/+12
adds .cvsignore.
2000-01-31Patches rtems-rc-20000118-3.diff and rtems-rc-20000118-4.diff fromJoel Sherrill4-32/+31
Ralf Corsepius <corsepiu@faw.uni-ulm.de> that contain: * Modifications, (minor) corrections, cleanups to most existing Makefile.ams * Adds automake support to all remaining BSPs which have not yet been converted to automake. * Makefile.am for all remaining wrapup/Makefile.ams
2000-01-11Removed old hack of using Configuration Table entry ticks_per_timesliceJoel Sherrill1-9/+5
being set to 0 to indicate that there should be no Clock Tick. This was used by the Timing Tests to avoid clock tick overhead perturbing execution times. Now the Timing Tests simply leave the Clock Tick Driver out of the Device Driver Table.
2000-01-10Patch rtems-rc-20000104-14.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill3-6/+6
which fixes some PowerPC specific bugs.
2000-01-10Patch rtems-rc-20000104-13.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill10-359/+184
which does the following: * some cleanups, fixes, addtions to the libbsp automake transition patches * The missing Automake transistion patches all libcpu/<cpu>/<variant>/* previously not yet been converted to automake (libcpu/powerpc, libcpu/hppa1.1, libcpu/mips64orion, libcpu/sparc) => With this patch, libcpu/*/* is under full automake control. NOTES: * This patch is tested by building for random set of bsps affected by this patch, but not tested for all BSPs. * The parts of this patch related to libcpu/powerpc fix many small bugs inside of those Makefiles. * Have a look into libcpu/powerpc/mpc6xx/, which is in rather bad shape, IMO. Obviously most subdirectories seem to be build but are not included into libcpu.a by wrapup/Makefile. Addtionally, no actual BSP uses this cpu-variant subdirectory. Furthermore libcpu/powerpc/mpc6xx has a different directory layout than all other powerpc/<variant>/ directories. Joel's note: I agree but the issue is that there is a conflict between including timer or clock in libcpu/XXX/wrapup/Makefile.* and letting a BSP specifically decide to pick it up. There is no clear solution to this at the moment.
2000-01-07Patch rtems-rc-20000104-0.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1-1/+1
which is described below: This one is a (minor) patch in preparation of the upcoming patches. It actually is an excerpt of the upcoming patches and therefore is completely untested in this standalone form, but I don't expect it to break something. The essential changes in this patch are: * An update to rtems-polish.sh (Now can also be run in subdirectories) * A bug-fix for the libcpu/powerpc (A directory was missing from SUBDIRS in a Makefile.am) * An update to gensh2.cfg. * Cleanups/Enhancements to configuration files To apply: cd <srcdir> patch -p0 < rtems-rc-20000104-0.diff cvs rm -f c/src/lib/libbsp/Makefile.am.new
2000-01-03Combination of coverhd.h cleanup and MVME23xx/MCP750 patch from Eric ValetteJoel Sherrill4-25/+114
<valette@crf.canon.fr> and Jay Kulpinski <jskulpin@eng01.gdds.com>.
1999-12-21New files.Joel Sherrill2-0/+165
1999-12-21Removing Makefile.in and adding Makefile.am. These were missed in conversionJoel Sherrill2-25/+10
to automake by Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
1999-12-21 Patch rtems-rc-19991203-7.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill4-11/+17
which adds partial automake support to libcpu/<cpu>/*. Until now I have only implemented full automake support for the sh (my demonstration example :) and the i386 (inevitiable for structural reasons of this subdirectory). For all other cpus only their toplevel directories (exception: powerpc), include subdirectories and a few selected subdirectories have been converted to automake. I did this on purpose, because add automake support to each subdirectory requires individual adaptations which to be tested individually. Additionally the weirdnesses of the powerpc subdirectories hit again, esp. some powerpc cpu-models * install files to $(PROJECT_INCLUDE)/<cpu-model>/ while others install them to $(PROJECT_INCLUDE)/ * the scheme used to configure libcpu/powerpc/ is difficult to implement using automake, therefore this subdirectory still is configured by autoconf (The one out of an unlimited set selection scheme hits again :), though powerpc/*/* subdirectories already apply automake. The patch also reveils structural weaknesses in RTEMS: E.g. There seem to exist at least 5 different general schemes: * Not using libcpu at all (eg. i960) * Strictly tree-style a libcpu/<cpu-variant>/* (eg. m68k, sh) * Flat libcpu directory layout with cpu-variants merged into sources or not destinguishing cpu-variants (i386) * Not supporting variants with deep source tree (sparc, hppa, mips64orion) * Woven directory structure with shared directories (powerpc) I regret having to say this, but from my POV this means, that there doesn't exist a general implementation scheme for libcpu at all. To apply: rm -rf ./c/src/lib/libcpu/i386/wrapup rm -rf ./c/src/lib/libcpu/mips64orion/include rm -rf ./c/src/lib/libcpu/powerpc/ppc403/include patch -p1 < rtems-rc-19991203-7.diff ./bootstrap
1999-12-02Merged of mcp750 and mvme2307 BSP by Eric Valette <valette@crf.canon.fr>.Joel Sherrill13-0/+1319
As part of this effort, the mpc750 libcpu code is now shared with the ppc6xx.