sparc erc32 FPU confusion

Kenneth J. Peters Kenneth.J.Peters at jpl.nasa.gov
Wed May 31 16:39:34 UTC 2006


Updating from RTEMS 4.5.0 to 4.6.6, I noticed that some 
erc32-specific initialization code that used to be in 
c/src/exec/score/cpu/sparc/cpu.c now seems to be completely gone, but 
I think that it is still needed at some point in the boot process 
AFTER bsp_start() is done using *rdb_start to hold the stack address, 
but BEFORE any OS timers are started.

Since for my BSP port, I needed my own modified copy of bspstart.c 
anyway, I just added the following lines at the end of that file in 
my erc32_mod/startup directory:

   _ERC32_MEC_Timer_Control_Mirror = 0;
   ERC32_MEC.Timer_Control = 0;

   ERC32_MEC.Control |= ERC32_CONFIGURATION_POWER_DOWN_ALLOWED;

However, since in the RTEMS distribution bspstart.c is shared among 
the sparc BSPs, and since the boardinit.S found in the erc32/startup 
directory is no longer used (and is the wrong place for this anyway), 
I do not know the best way to make this fix in the distribution.

It also seems to me that the ENABLE_SIS_QUIRKS section of start.S 
should be before the work-space stack and frame pointer settings in 
that file, but I could easily be mistaken about that.

Ken Peters
Ken.Peters at jpl.nasa.gov



More information about the users mailing list