powerpc-rtems-4.7-gcc-4.0 patch commited
Joel Sherrill <joel@OARcorp.com>
joel.sherrill at OARcorp.com
Fri Feb 18 15:06:23 UTC 2005
Ralf Corsepius wrote:
> On Fri, 2005-02-18 at 06:29 -0600, Joel Sherrill wrote:
>
>>Sergei Organov wrote:
>>
>>>Ralf Corsepius <ralf.corsepius at rtems.org> writes:
>>>
>>>[...]
>>>
>>>
>>>
>>>>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.
>>>
>>>
>>>Well, which one of the following 8 do you mean? Or am I missing
>>>something?
>>>
>>>cpukit/score/cpu/powerpc/rtems/new-exceptions/cpu.h:180: || defined(mpc860) || defined(mpc821) || defined(mpc8260))
>>>cpukit/score/cpu/powerpc/rtems/new-exceptions/cpu.h:192: || defined(mpc860) || defined(mpc821) || defined(mpc8260))
>>>cpukit/score/cpu/powerpc/rtems/old-exceptions/cpu.h:204: || defined(mpc860) || defined(mpc821) || defined(mpc8260))
>>>cpukit/score/cpu/powerpc/rtems/old-exceptions/cpu.h:216: || defined(mpc860) || defined(mpc821) || defined(mpc8260))
>>>cpukit/score/cpu/powerpc/rtems/score/powerpc.h:211:#elif defined(mpc8260)
>>>cpukit/score/cpu/powerpc/rtems/score/powerpc.h:461:#elif defined(mpc8260)
>>>cpukit/score/cpu/powerpc/rtems/score/cpu.h:407: || defined(mpc860) || defined(mpc821) || defined(mpc8260))
>>>cpukit/score/cpu/powerpc/rtems/score/cpu.h:436: || defined(mpc860) || defined(mpc821) || defined(mpc8260))
>>>
>>
>>Most of those are related to having configuration info for drivers in
>>libcpu and could easily be defined in libcpu.
>>
>>There is a PPC_INTERRUPTS_MAX which still remains to be addressed.
>
> That's the one I was referring to.
>
> I know how to eliminate the others (Introducing an abstract base class
> for rtems_cpu_table and to move all CPU-variant specific fields out of
> CPUkit - This would be a major redesign of RTEMS), but I have no idea
> how to clean up the PPC_INTERRUPTS mess in powerpc.h
It should be as simple as a single file in libcpu/powerpc/shared which
defines an initialized variable with the maximum number of vectors.
See below for how the mips does this.
>>Ralf.. I think the the MIPS defines that in libcpu as a variable used by
>>the cpukit.
>
> Hmm? I don't understand.
>
> Do you mean an extern variable in cpukit to be filled in libcpu?
> We already have this at several places. The problem with with powerpc is
> the borked design of the way the interrupt defines are being setup in
> powerpc.h.
find c/src/lib/libcpu/mips -name "maxvectors.c"
A single variable is defined which has the maximum number of vectors.
unsigned int mips_interrupt_number_of_vectors = TX3904_MAXIMUM_VECTORS;
> Ralf
>
>
--
Joel Sherrill, Ph.D. Director of Research & Development
joel at OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985
More information about the users
mailing list