diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-04-20 12:08:42 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-04-20 13:52:19 +0200 |
commit | e0dd8a5ad830798bc8082b03b8c42c32fb9660e0 (patch) | |
tree | d147bfc4d670fcdfbd2e2d2e75eb209f92e07df1 /c/src/lib/libbsp/sparc/leon2 | |
parent | bsps: Move startup files to bsps (diff) | |
download | rtems-e0dd8a5ad830798bc8082b03b8c42c32fb9660e0.tar.bz2 |
bsps: Move benchmark timer to bsps
This patch is a part of the BSP source reorganization.
Update #3285.
Diffstat (limited to 'c/src/lib/libbsp/sparc/leon2')
-rw-r--r-- | c/src/lib/libbsp/sparc/leon2/Makefile.am | 6 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon2/timer/timer.c | 83 |
2 files changed, 3 insertions, 86 deletions
diff --git a/c/src/lib/libbsp/sparc/leon2/Makefile.am b/c/src/lib/libbsp/sparc/leon2/Makefile.am index 34cd6fcd12..7e5d8b6363 100644 --- a/c/src/lib/libbsp/sparc/leon2/Makefile.am +++ b/c/src/lib/libbsp/sparc/leon2/Makefile.am @@ -66,8 +66,8 @@ librtemsbsp_a_SOURCES += ../shared/amba/ambapp_show.c librtemsbsp_a_SOURCES += ../shared/amba/ahbstat.c # Clock Driver and Timer Library -librtemsbsp_a_SOURCES += ../shared/timer/gptimer.c -librtemsbsp_a_SOURCES += ../shared/timer/tlib.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/shared/btimer/gptimer.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/shared/btimer/tlib.c # PCI librtemsbsp_a_SOURCES += ../shared/pci/grpci2.c @@ -137,7 +137,7 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/leon2/start/cache.c # griommu librtemsbsp_a_SOURCES += ../shared/iommu/griommu.c # timer -librtemsbsp_a_SOURCES += timer/timer.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/leon2/btimer/btimer.c # TM/TC librtemsbsp_a_SOURCES += ../shared/tmtc/grtc.c diff --git a/c/src/lib/libbsp/sparc/leon2/timer/timer.c b/c/src/lib/libbsp/sparc/leon2/timer/timer.c deleted file mode 100644 index de115c965a..0000000000 --- a/c/src/lib/libbsp/sparc/leon2/timer/timer.c +++ /dev/null @@ -1,83 +0,0 @@ -/** - * @file - * @ingroup sparc_leon2 - * @brief Implement a benchmark timer using timer 2 - */ - -/* timer.c - * - * This file implements a benchmark timer using timer 2. - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - * - * Ported to LEON implementation of the SPARC by On-Line Applications - * Research Corporation (OAR) under contract to the European Space - * Agency (ESA). - * - * LEON modifications of respective RTEMS file: COPYRIGHT (c) 1995. - * European Space Agency. - */ - - -#include <bsp.h> -#include <rtems/btimer.h> - -bool benchmark_timer_find_average_overhead; - -bool benchmark_timer_is_initialized = false; - -void benchmark_timer_initialize(void) -{ - /* - * Timer runs long and accurate enough not to require an interrupt. - */ - - if ( benchmark_timer_is_initialized == false ) { - - /* approximately 1 us per countdown */ - LEON_REG.Timer_Counter_2 = 0xffffff; - LEON_REG.Timer_Reload_2 = 0xffffff; - - } else { - benchmark_timer_is_initialized = true; - } - - LEON_REG.Timer_Control_2 = ( - LEON_REG_TIMER_COUNTER_ENABLE_COUNTING | - LEON_REG_TIMER_COUNTER_LOAD_COUNTER - ); - -} - -#define AVG_OVERHEAD 3 /* It typically takes 3.0 microseconds */ - /* to start/stop the timer. */ -#define LEAST_VALID 2 /* Don't trust a value lower than this */ - -benchmark_timer_t benchmark_timer_read(void) -{ - uint32_t total; - - total = LEON_REG.Timer_Counter_2; - - total = 0xffffff - total; - - if ( benchmark_timer_find_average_overhead == true ) - return total; /* in one microsecond units */ - - if ( total < LEAST_VALID ) - return 0; /* below timer resolution */ - - return total - AVG_OVERHEAD; -} - -void benchmark_timer_disable_subtracting_average_overhead( - bool find_flag -) -{ - benchmark_timer_find_average_overhead = find_flag; -} |