powerpc-rtems-4.7-gcc-4.0 patch commited
Joel Sherrill <joel@OARcorp.com>
joel.sherrill at OARcorp.com
Fri Feb 18 12:24:22 UTC 2005
> E.g. the m8260 would be superflous, if it could be removed from cpukit.
> The code it uses is _identical_ to the 603e, except of 1 define in
> cpukit.
OK. Are you referring to this code?
#if (defined(ppc403) || defined(mpc860) || defined(mpc821) ||
defined(mpc8260))
uint32_t serial_per_sec; /* Serial clocks per second */
boolean serial_external_clock;
boolean serial_xon_xoff;
boolean serial_cts_rts;
uint32_t serial_rate;
uint32_t timer_average_overhead; /* Average overhead of timer in
ticks */
uint32_t timer_least_valid; /* Least valid number from timer
*/
boolean timer_internal_clock; /* TRUE, when timer runs with
CPU clk */
#endif
#if (defined(mpc555) || defined(mpc860) || defined(mpc821) ||
defined(mpc8260))
uint32_t clock_speed; /* Speed of CPU in Hz */
#endif
These are the HW configuration parameters required by portions of
libcpu which are provided by the BSP. How about another mechanical fix?
Two alternatives:
+ Define this as a structure that is provided by the BSP.
+ Like other portions of libcpu, assume that the BSP is providing
a single global variable like "BSP_clock_speed" and change the
code in libcpu to use it.
However it is done, it is BSP specific information required by libcpu
code. No reason for it to be defined in cpukit.
That would seem to eliminate the need for mpc555, mpc860, mpc8260, and
mpc821.
>>Note that a #ifdef __mpcXXX in a BSP is *not* a valid reason as the
>>respective compiler
>
> Right.
>
>
>>The only (legacy) reason I can think of are #ifdef __mpcXXX in cpukit
>>and/or libcpu - however,
>>these should be cleaned up.
>
> Fully agreed.
>
> Eg. let's implement a common API, shared between old and new exception
> processing. Lack of this is the cause for at least 3 multilib variants.
Can you point me to a specific ifdef to nibble on?
--joel
More information about the users
mailing list