* 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.)
* libmisc/shell/shell.c, libmisc/shell/shell.h: New argument sequence
for rtems_shell_init(). This makes it possible to run the shell
forever or invoke it from a program as a subroutine, have a user
enter commands, and wait for it to exit.
* 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.
* cpukit/score/cpu/powerpc/rtems/new-exceptions/cpu.h,
cpukit/score/cpu/powerpc/rtems/score/cpu.h,
cpukit/score/cpu/powerpc/rtems/score/powerpc.h:
Removed all macro definitions which depended on
the compiler defining a PPC CPU-model dependent
symbol.
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'.