broken m68k genmcf548x BSPs
Joel Sherrill
joel.sherrill at OARcorp.com
Mon Apr 16 19:26:04 UTC 2012
Hi,
lm32 built OK. m68k has a couple of genmcf548x variants which
do not build (COBRA5475 and m5484FireEngine). Gedare did not
break these. It looks like they assume POSIX is enabled.
/* Switch on FPU in CACR shadow register if necessary */
if ((Configuration_POSIX_API.number_of_initialization_threads > 0) ||
((Configuration_RTEMS_API.number_of_initialization_tasks > 0) &&
(Configuration_RTEMS_API.User_initialization_tasks_table
->attribute_set & RTEMS_FLOATING_POINT) != 0)
) {
_CPU_cacr_shadow &= ~MCF548X_CACR_DF;
}
I can understand why the bspstart.c is doing this. But
(1) it assumes POSIX is enabled
(2) if this bsp was in the tree for 4.10, it was broken for ITRON
(3) if there is more than one Classic API Initialization task, then
it is broken. That is allowed to be an array of tasks and this
code is only checking the first one.
(4) this logic should be in a helper method named something
like rtems_configuration_are_any_initialization_tasks_fp?
--
Joel Sherrill, Ph.D. Director of Research& Development
joel.sherrill 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 devel
mailing list