| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* mpc6xx/exceptions/raw_exception.c, pc6xx/mmu/pte121.c: Modified
slightly to reflect recent PowerPC re-organization and avoid warnings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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".
|
|
|
|
| |
* exceptions/raw_exception.c: Include <libcpu/cpuIdent.h>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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 ='.
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
|
|
|
|
| |
adds .cvsignore.
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
which fixes some PowerPC specific bugs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
<valette@crf.canon.fr> and Jay Kulpinski <jskulpin@eng01.gdds.com>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
As part of this effort, the mpc750 libcpu code is now shared with the
ppc6xx.
|