* rtems/score/cpu.h: Add RTEMS_COMPILER_NO_RETURN_ATTRIBUTE to
_CPU_Context_restore() because it does not return. Telling GCC this
avoids generation of dead code.
PR 1635/cpukit
* rtems/score/cpu.h, rtems/score/types.h: Refactoring of priority
handling, to isolate the bitmap implementation of priorities in the
supercore so that priority management is a little more modular. This
change is in anticipation of scheduler implementations that can
select how they manage tracking priority levels / finding the highest
priority ready task. Note that most of the changes here are simple
renaming, to clarify the use of the bitmap-based priority management.
PR 1573/cpukit
* rtems/new-exceptions/cpu.h: Add a per cpu data structure which
contains the information required by RTEMS for each CPU core. This
encapsulates information such as thread executing, heir, idle and
dispatch needed.
* score/cpu/powerpc/rtems/score/cpu.h: Added space for non-
volatile AltiVec registers to context struct. Added declaration
for AltiVec-related routines to be implemented by CPU/BSP
support.
* rtems/score/cpu.h: Changed fpscr field to an integer type in
Context_Control_fp. Fixed warnings in PPC_Set_timebase_register().
Changed _CPU_Context_Initialize_fp() to initialize all fields and
avoid floating-point instructions.
* rtems/score/powerpc.h: Removed PPC_INIT_FPSCR define.
* rtems/new-exceptions/cpu.h, rtems/score/cpu.h: Eliminate
_CPU_Thread_dispatch_pointer and passing address of _Thread_Dispatch
to _CPU_Initialize. Clean up comments.
* rtems/new-exceptions/cpu.h, rtems/old-exceptions/cpu.h,
rtems/score/cpu.h: Move interrupt_stack_size field from CPU Table to
Configuration Table. Eliminate CPU Table from all ports. Delete
references to CPU Table in all forms.
* rtems/new-exceptions/cpu.h, rtems/old-exceptions/cpu.h: Moved most of
the remaining CPU Table fields to the Configuration Table. This
included pretasking_hook, predriver_hook, postdriver_hook, idle_task,
do_zero_of_workspace, extra_mpci_receive_server_stack,
stack_allocate_hook, and stack_free_hook. As a side-effect of this
effort some multiprocessing code was made conditional and some style
clean up occurred.
* rtems/score/cpu.h: Wonderful bookE doesn't have mftb/mftbu;
( CPU_Get_timebase_low() ) they only define the TBRU/TBRL SPRs
so we use these. Should work on all CPUs.
* rtems/new-exceptions/cpu.h, rtems/old-exceptions/cpu.h,
rtems/score/cpu.h: Eliminate PowerPC specific elements from the CPU
Table. They have been replaced with variables named bsp_XXX as
needed.
* rtems/score/powerpc.h: Added a '__ppc_generic' CPU variant.
The goal would be making cpukit and hopefully libcpu work
for all (or at least most) CPUs/BSPs with -D__ppc_generic so
that eventually all tests [#if defined(<cpu_flavor>)] for CPU
flavors can be eliminated.
* rtems/new-exceptions/cpu.h, rtems/old-exceptions/cpu.h,
rtems/score/cpu.h: Part of a large patch to improve Doxygen output.
As a side-effect, grammar and spelling errors were corrected, spacing
errors were address, and some variable names were improved.