| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
* 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().
|
|
|
|
|
| |
* mpc6xx/exceptions/raw_exception.c, pc6xx/mmu/pte121.c: Modified
slightly to reflect recent PowerPC re-organization and avoid warnings.
|
|
|
|
|
| |
* mpc6xx/mmu/pte121.c, mpc6xx/mmu/pte121.h: New files. Missed in
merge of PR213.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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 ='.
|
|
|
|
|
|
| |
* mpc6xx/timer/timer.c: Added include of bsp.h and removed
external declaration of BSP_Convert_decrementer() to
correct unresolved reference to this routine.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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."
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* mpc6xx/clock/c_clock.h: Removed commented out reference to <bsp.h>.
* mpc6xx/timer/timer.c: Ditto.
|
|
|
|
|
| |
* mpc6xx/clock/c_clock.h: Removed commented out reference to <bsp.h>.
* mpc6xx/timer/timer.c: Ditto.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
<valette@crf.canon.fr> and Jay Kulpinski <jskulpin@eng01.gdds.com>.
|
| |
|
|
|
|
| |
to automake by Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|