* new-exceptions/bspsupport/vectors_init.c: added
features to C_exception_handler() (the default global
handler):
- try to catch recursion
- print info about context where the exception occurred
(ISR or task with task ID).
- suspend offending task rather than spinning forever.
* new-exceptions/bspsupport/vectors_init.c: must not
align start of stack downwards (we don't 'own' memory
below start). Instead, use original boundaries but
align the stack pointer as required.
Added test to verify that R13 was loaded with _SDA_BASE_
during early initialization (low-level assembly code
relies on it).
* new-exceptions/bspsupport/ppc_exc_asm_macros.h: Added
a test to TEST_LOCK_crit so that a context switch is
always prevented if MSR_CE is not set in the interrupt mask.
(Support mode where the user wants to leave MSR_CE always enabled
but abstains from calling OS primitives from the exception
handler.)
* mpc6xx/mmu/pte121.c: use general "memory" clobber
rather than memory input operand in inline assembly
("m" doesn't do what the manual says; see discussion
on gcc mailing list around 2008/3/30)
* ChangeLog, mpc8xx/clock/clock.c, ppc403/clock/clock.c,
ppc403/irq/ictrl.h, rtems/powerpc/powerpc.h:
Removed all macro definitions which depended on
the compiler defining a PPC CPU-model dependent
symbol from files in cpukit.
Macros which were not used by cpukit have been
moved to libcpu/powerpc/rtems/powerpc/powerpc.h.
* new-exceptions/bspsupport/ppc_exc_asm_macros.S,
new-exceptions/bspsupport/ppc_exc_bspsupp.h,
new-exceptions/bspsupport/ppc_exc_hdl.c,
new-exceptions/bspsupport/vectors_init.c:
fixed and enabled stack-switching algorithm which figures out
if we already run on the ISR stack rather than relying on the
_ISR_Nest_level.
Added 'ppc_exc_crit_always_enabled' variable which defines
the semantics of critical interrupts. Added a test to
TEST_LOCK_crit so that calling ppc_exc_wrapup() (and
possibly the dispatcher) is always skipped if the BSP/user
wants to leave critical interrupts always enabled (at the
expense of having no OS support).
changed TEST_LOCK_mchk so that asynchronous machine-check
handlers never call ppc_exc_wrapup() (and the dispatcher).
We don't want to disable MSR_ME ever (to avoid checkstops)
and hence asynchronous MEs must not use OS services anyways.
added and commented new variables 'ppc_exc_intr_stack_size'
'ppc_exc_crit_always_enabled'.
directly. Supports special variants for Book E and e300 cores. For
standard decrementer CPUs the new decrementer value is calculated with
reference to a time base so that a time drift is avoided
* Makefile.am, mcf532x/include/mcf532x.h, shared/cache/cache_.h: Add
cache support for 5329. Enable the cache in copyback and
write-through so we can assume that in BSP.
* mcf532x/cache/cachepd.c: New file.
* Makefile.am, README, include/coverhd.h, network/network.c,
startup/bspstart.c, startup/cfinit.c, startup/linkcmdsflash: Add
cache support for 5329. Fix bug in network driver. Enable the cache
in copyback and write-through so we can assume that in BSP.