Possible sparc erc32 BSP bug in 4.6.5
Kenneth J. Peters
Kenneth.J.Peters at jpl.nasa.gov
Mon Apr 24 22:39:24 UTC 2006
Updating from RTEMS 4.5.0 to 4.6.5, 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