I don't actually expect anyone will be able to help, but I figure it doesn't hurt to ask while I continue investigating.
OS: Sys/Bios v.6.42.3.45
Processor: C6455
So I just recently discovered that my application, which has been in the field now for seven years, doesn't have a internal clock (timer tick) running! It used to, but I suspect it stopped working when I upgraded from BIOS5 to Sys/Bios 6. (I never noticed because I never actually timeout on anything.)
What's odd is I can't figure out why. Other than ensuring that the device speed is set correctly in the platform configuration (or just initializing directly BIOS' configuration), no actual user setup is actually required. So it's not like I'm setting it incorrectly: it's setup by the kernel itself. For my other applications, the Sys/Bios handles setting up its internal clock just fine. Even on this device, I can create a "Hello World" app, and the clock is running just fine: semaphores timeout as they should, Clock_getTick() properly returns increasing values each time it's called, etc.
But on this application, nada, even though the Sys/Bios initialization code and configuration file is identical (as far as clocks and timers are concerned meaning NEITHER have any specific initialization code related to the clock). I looked at the clock, timer, and SWI modules in ROV (at run-time) for both this and my working "Hello World" app, and everything is identical.
Shot in the dark, I know, but anyone have clue where else I might look for issues? Maybe the timer's interrupt is being disabled? But shouldn't BIOS handle re-enabling it in or after BIOS_start() when it's configuring the timer? Tomorrow I guess I'll try implementing a custom clock and call Clock_tick() manually, but I'm still puzzled why I need to do that.