[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gettimeofday seconds rollover problem?
- Date: Fri, 24 Feb 2006 10:40:03 +1100
- From: chrisj at rtems.org (Chris Johns)
- Subject: gettimeofday seconds rollover problem?
Joel Sherrill wrote:
>
> This is the C code we are looking at the assembly for, correct?
>
Yes.
> rtems_interrupt_disable(level);
> seconds = _TOD_Seconds_since_epoch;
> microseconds = _TOD_Current.ticks;
> rtems_interrupt_enable(level);
>
> and the assembly inlines for that are:
>
> #define m68k_disable_interrupts( _level ) \
> do { register uint32_t _tmpsr = 0x0700; \
> asm volatile ( "move.w %%sr,%0\n\t" \
> "or.l %0,%1\n\t" \
> "move.w %1,%%sr" \
> : "=d" (_level), "=d"(_tmpsr) : "1"(_tmpsr) ); \
> } while( 0 )
> #define m68k_enable_interrupts( _level ) \
> asm volatile ( "move.w %0,%%sr " : : "d" (_level));
>
> Which compiler did you check that with?
>
gcc 3.4.3 and gcc 4.0.2.
Regards
Chris