Changeset f1c5a522 in rtems


Ignore:
Timestamp:
Mar 10, 2010, 5:16:11 PM (10 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.9
Children:
ea56621a
Parents:
4f112b82
Message:

2010-03-10 Gedare Bloom <gedare@…>

PR 1495/bsp

  • clock/ckinit.c: Calling rtems_clock_get_uptime() in a tight loop sometimes showed time moving backwards.
Location:
c/src/lib/libbsp/i386/pc386
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/i386/pc386/ChangeLog

    r4f112b82 rf1c5a522  
     12010-03-10      Gedare Bloom <gedare@gwu.edu>
     2
     3        PR 1495/bsp
     4        * clock/ckinit.c: Calling rtems_clock_get_uptime() in a tight loop
     5        sometimes showed time moving backwards.
     6
    172009-09-15      Till Straumann <strauman@slac.stanford.edu>
    28
  • c/src/lib/libbsp/i386/pc386/clock/ckinit.c

    r4f112b82 rf1c5a522  
    4848#define CLOCK_DRIVER_ISRS_PER_TICK pc386_isrs_per_tick
    4949
     50/* if so, the driver may use the count in Clock_driver_support_at_tick */
     51#ifdef CLOCK_DRIVER_ISRS_PER_TICK
     52extern volatile uint32_t Clock_driver_isrs;
     53#endif
     54
    5055#define READ_8254( _lsb, _msb )                               \
    5156  do { outport_byte(TIMER_MODE, TIMER_SEL0|TIMER_LATCH);      \
     
    6772void Clock_driver_support_at_tick_tsc(void)
    6873{
     74#ifdef CLOCK_DRIVER_ISRS_PER_TICK
     75  /*
     76   *  The driver is multiple ISRs per clock tick.
     77  */
     78  if (!Clock_driver_isrs)
     79    pc586_tsc_at_tick = rdtsc();
     80#else
     81  /*
     82   *  The driver is one ISR per clock tick.
     83   */
    6984  pc586_tsc_at_tick = rdtsc();
     85#endif
    7086}
    7187
Note: See TracChangeset for help on using the changeset viewer.