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