Changeset b61d5cac in rtems
- Timestamp:
- 06/14/16 08:56:09 (7 years ago)
- Branches:
- 5, master
- Children:
- ea02782a
- Parents:
- 042072b
- git-author:
- Sebastian Huber <sebastian.huber@…> (06/14/16 08:56:09)
- git-committer:
- Sebastian Huber <sebastian.huber@…> (06/14/16 09:57:48)
- Location:
- c/src/lib/libbsp
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/lib/libbsp/arm/realview-pbx-a9/configure.ac
r042072b rb61d5cac 42 42 simulation times.]) 43 43 44 RTEMS_BSPOPTS_SET([CLOCK_DRIVER_USE_ONLY_BOOT_PROCESSOR],[*qemu*],[1]) 45 RTEMS_BSPOPTS_HELP([CLOCK_DRIVER_USE_ONLY_BOOT_PROCESSOR], 46 [If defined, then do the clock tick processing on the boot processor on behalf 47 of all other processors.]) 48 44 49 RTEMS_CHECK_SMP 45 50 AM_CONDITIONAL(HAS_SMP,[test "$rtems_cv_HAS_SMP" = "yes"]) -
c/src/lib/libbsp/arm/shared/arm-a9mpcore-clock-config.c
r042072b rb61d5cac 95 95 } 96 96 97 #if def RTEMS_SMP97 #if defined(RTEMS_SMP) && !defined(CLOCK_DRIVER_USE_ONLY_BOOT_PROCESSOR) 98 98 typedef struct { 99 99 uint64_t cmpval; … … 117 117 ) 118 118 { 119 #if def RTEMS_SMP119 #if defined(RTEMS_SMP) && !defined(CLOCK_DRIVER_USE_ONLY_BOOT_PROCESSOR) 120 120 a9mpcore_clock_init_data init_data = { 121 121 .cmpval = cmpval, -
c/src/lib/libbsp/shared/clockdrv_shell.h
r042072b rb61d5cac 22 22 #include <rtems/score/percpu.h> 23 23 #include <rtems/score/smpimpl.h> 24 #include <rtems/score/watchdogimpl.h> 24 25 25 26 #ifdef Clock_driver_nanoseconds_since_last_tick … … 65 66 */ 66 67 #ifndef Clock_driver_timecounter_tick 67 #ifdef CLOCK_DRIVER_USE_DUMMY_TIMECOUNTER 68 #define Clock_driver_timecounter_tick() rtems_clock_tick() 69 #else 70 #define Clock_driver_timecounter_tick() rtems_timecounter_tick() 71 #endif 68 static void Clock_driver_timecounter_tick( void ) 69 { 70 #if defined(CLOCK_DRIVER_USE_DUMMY_TIMECOUNTER) 71 rtems_clock_tick(); 72 #elif defined(RTEMS_SMP) && defined(CLOCK_DRIVER_USE_ONLY_BOOT_PROCESSOR) 73 uint32_t cpu_count = _SMP_Get_processor_count(); 74 uint32_t cpu_index; 75 76 for ( cpu_index = 0 ; cpu_index < cpu_count ; ++cpu_index ) { 77 Per_CPU_Control *cpu; 78 79 cpu = _Per_CPU_Get_by_index( cpu_index ); 80 81 if ( _Per_CPU_Is_boot_processor( cpu ) ) { 82 rtems_timecounter_tick(); 83 } else if ( _Processor_mask_Is_set( _SMP_Online_processors, cpu_index ) ) { 84 _Watchdog_Tick( cpu ); 85 } 86 } 87 #else 88 rtems_timecounter_tick(); 89 #endif 90 } 72 91 #endif 73 92
Note: See TracChangeset
for help on using the changeset viewer.