RTEMS PowerPC progress.

Nick Thomas nick.thomas at pixsan.com
Thu Jun 3 13:05:53 UTC 2010

> >> It would be worth backporting the 4.9 timer server code
> >> and supporting directives.  It may even be worth backporting
> >> the version on the head.
> >>
> > I would not use the 4.9 timer server code.
> >
> > http://www.rtems.com/pipermail/rtems-users/2009-November/006248.html
> >
> >
> Wasn't all that resolved on the end of the 4.9 branch?
> >> It would be better to upgrade but you have eliminated that
> >> option. :)
> >>
> > [...]
> >
> > Yes.

OK, I have back-ported the timer server code from 4.9.4 in my 4.7.3 source
But, it still crashes.

I have noticed that it behaves itself for longer if I make each call to
rtems_timer_server_fire_after preceeded by rtems_interrupt_disable(), and
make the calling task RTEMS_NO_PREEMPT.
And putting the settings back immediately after the call.

This has stopped interrupts getting in during the period after _ISR_Enable,
which was causing the _Thread_Dispatch_disable_level to go negative.

But, I suspect that the Timer_Server_body task itself is running during this
period, and causing the _Thread_Dispatch_disable_level to go to zero, and
the next call to _Thread_Enable_dispatch() in rtems_timer_server_fire_after
is making it go negative.

So, still have a problem here.



More information about the users mailing list