| Commit message (Collapse) | Author | Files | Lines |
|
* cpu.c: Per PR211 fix
saving/restoring floating point context. The fpsave and fprestore
routines are only used in a executing context which _is_ fp and hence
has the FPU enabled. The current behavior required the FPU always to
be on which is very dangerous if lazy context switching is used.
[Joel Note: Some ports explicitly enabled the FPU in the FP save and
restore routines to avoid this.]
The patch also makes sure (on powerpc only) that the FPU is disabled
for integer tasks. Note that this is crucial if deferred fp context
switching is used. Otherwise, fp context corruption may go undetected!
Also note that even tasks which merely push/pop FP registers to/from
the stack without modifying them still MUST be FP tasks - otherwise
(if lazy FP context switching is used), FP register corruption (of
other, FP, tasks may occur)!
Furthermore, (on PPC) by default, lazy FP context save/restore
is _disabled_.
|
|
* rtems/score/cpu.h: Removed.
* Makefile.am: Reflect changes above.
|
|
* Per PR94, all rtems/score/CPUtypes.h are named rtems/score/types.h.
* rtems/score/cpu.h: Account for name change.
|
|
* configure.ac:
AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS).
AM_INIT_AUTOMAKE([no-define foreign 1.6]).
* Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
This was tracked as PR91.
* rtems/score/cpu.h: Added CPU_PROVIDES_ISR_IS_IN_PROGRESS macro which
is used to specify if the port uses the standard macro for this (FALSE).
A TRUE setting indicates the port provides its own implementation.
* rtems/score/c_isr.inl: Deleted and contents merged into cpu.c.
* cpu.c: Received contents of c_isr.inl.
* Makefile.am: Deleted reference to c_isr.inl.
|
|
* .cvsignore: Add aclocal.m4, autom4te.*, config.*, configure.
|
|
* Makefile.am: Preinstall c_isr.inl (HACK).
* ChangeLog: New file.
|
|
* support/new_exception_processing/configure.ac,
support/new_exception_processing/rtems/score/c_isr.inl,
support/new_exception_processing/rtems/score/cpu.h,
support/old_exception_processing/configure.ac,
support/old_exception_processing/rtems/score/c_isr.inl,
support/old_exception_processing/rtems/score/cpu.h,
support/old_exception_processing/rtems/score/ppc_offs.h: New files
missed in previous commit.
|
|
* support/new_exception_processing/Makefile.am,
support/old_exception_processing/Makefile.am,
support/old_exception_processing/cpu_asm.S,
support/old_exception_processing/irq_stub.S: Modified to reflect
old versus new exception processing being a per BSP option.
* support/new_exception_processing/c_isr.inl,
support/new_exception_processing/cpu.h,
support/old_exception_processing/c_isr.inl,
support/old_exception_processing/cpu.h,
support/old_exception_processing/ppc_offs.h: Removed.
|
|
* new_exception_processing/cpu_asm.S: Support double or single
precision context switches. Note that doing a single precision
context save/restore on a double precision PowerPC machine does not
only result in rounding errors but also screws up the FPSCR register!
|
|
* Makefile.am, README, configure.ac, new_exception_processing/cpu.h,
shared/include/cpu.h, shared/include/cpuIdent.c, shared/src/cache.c:
Added mpc8260 support.
|
|
* 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 ='.
|
|
* 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.
|
|
* new_exception_processing/cpu.h, old_exception_processing/cpu.c:
old_exception_processing/cpu.h, Added _CPU_Initialize_vectors().
In particular, spurious vector initialization had to be moved
on old exception processing model.
|
|
* 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
|
|
|
|
|
|
were needed to move exception processing to score/cpu.
|
|
from score/cpu to libcpu because the determination of which to use is
based on RTEMS_CPU_MODEL. Thus it can not be determined based solely on
multilib information.
|
|
_Interrupt_Manager_initialization.
|
|
|
|
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
|
|
old_exception_processing tree.
|
|
<corsepiu@faw.uni-ulm.de>:
The patch below provides
* automake support for score/cpu/powerpc
* The hack to propagate values from *.cfg to automake configuration
* A fix for librdbg/powerpc/mcp750/Makefile.am (Was completely corrupted
before)
* Fixes some files which apparently where missing in
rtems-rc-19991123-rc-2.diff
* some minor configuration related patches
To apply:
rm -rf ./c/src/exec/score/cpu/powerpc/wrap
patch -p1 < rtems-rc-19991123-rc-3.diff
Attention:
c/src/exec/score/cpu/[configure.in|aclocal.m4|configure] should be
removed after applying the patch.
|
|
As part of this effort, the mpc750 libcpu code is now shared with the
ppc6xx.
|