diff options
Diffstat (limited to 'c/src/lib/libbsp/arm')
-rw-r--r-- | c/src/lib/libbsp/arm/realview-pbx-a9/configure.ac | 5 | ||||
-rw-r--r-- | c/src/lib/libbsp/arm/shared/arm-a9mpcore-clock-config.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/configure.ac b/c/src/lib/libbsp/arm/realview-pbx-a9/configure.ac index f26f726e07..5b641849c0 100644 --- a/c/src/lib/libbsp/arm/realview-pbx-a9/configure.ac +++ b/c/src/lib/libbsp/arm/realview-pbx-a9/configure.ac @@ -41,6 +41,11 @@ RTEMS_BSPOPTS_HELP([CLOCK_DRIVER_USE_FAST_IDLE], occurs while the IDLE thread is executing. This can significantly reduce simulation times.]) +RTEMS_BSPOPTS_SET([CLOCK_DRIVER_USE_ONLY_BOOT_PROCESSOR],[*qemu*],[1]) +RTEMS_BSPOPTS_HELP([CLOCK_DRIVER_USE_ONLY_BOOT_PROCESSOR], +[If defined, then do the clock tick processing on the boot processor on behalf +of all other processors.]) + RTEMS_CHECK_SMP AM_CONDITIONAL(HAS_SMP,[test "$rtems_cv_HAS_SMP" = "yes"]) diff --git a/c/src/lib/libbsp/arm/shared/arm-a9mpcore-clock-config.c b/c/src/lib/libbsp/arm/shared/arm-a9mpcore-clock-config.c index 3dcf708bcc..63a3dd7fd2 100644 --- a/c/src/lib/libbsp/arm/shared/arm-a9mpcore-clock-config.c +++ b/c/src/lib/libbsp/arm/shared/arm-a9mpcore-clock-config.c @@ -94,7 +94,7 @@ static void a9mpcore_clock_gt_init( | A9MPCORE_GT_CTRL_TMR_EN; } -#ifdef RTEMS_SMP +#if defined(RTEMS_SMP) && !defined(CLOCK_DRIVER_USE_ONLY_BOOT_PROCESSOR) typedef struct { uint64_t cmpval; uint32_t interval; @@ -116,7 +116,7 @@ static void a9mpcore_clock_secondary_initialization( uint32_t interval ) { -#ifdef RTEMS_SMP +#if defined(RTEMS_SMP) && !defined(CLOCK_DRIVER_USE_ONLY_BOOT_PROCESSOR) a9mpcore_clock_init_data init_data = { .cmpval = cmpval, .interval = interval |