summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sh/simsh4/timer
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2001-10-11 21:04:35 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2001-10-11 21:04:35 +0000
commitcd67dcaf009326c46d67951976f87a6559ed7928 (patch)
tree96f9988bfe3f4c56ea79b00f2146f8c09c6be5d0 /c/src/lib/libbsp/sh/simsh4/timer
parent2001-10-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff)
downloadrtems-cd67dcaf009326c46d67951976f87a6559ed7928.tar.bz2
2001-10-11 Alexandra Kossovsky <sasha@oktet.ru>
* clock/Makefile.am, clock/ckinit.c, clock/.cvsignore, Makefile.am, README, bsp_specs, console/Makefile.am, console/console.c, console/.cvsignore, include/Makefile.am, include/bsp.h, include/coverhd.h, include/syscall.h, include/ramdisk.h, include/.cvsignore, start/Makefile.am, start/start.S, start/.cvsignore, startup/Makefile.am, startup/bspstart.c, startup/hw_init.c, startup/linkcmds, startup/linkcmds-le, startup/linkcmds-le.coff, startup/.cvsignore, timer/Makefile.am, timer/timer.c, timer/.cvsignore, wrapup/Makefile.am, wrapup/.cvsignore, configure.ac, .cvsignore, ChangeLog: New files. Reviewed and updated to latest automake and autoconf standards by Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
Diffstat (limited to 'c/src/lib/libbsp/sh/simsh4/timer')
-rw-r--r--c/src/lib/libbsp/sh/simsh4/timer/.cvsignore2
-rw-r--r--c/src/lib/libbsp/sh/simsh4/timer/Makefile.am35
-rw-r--r--c/src/lib/libbsp/sh/simsh4/timer/timer.c111
3 files changed, 148 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/sh/simsh4/timer/.cvsignore b/c/src/lib/libbsp/sh/simsh4/timer/.cvsignore
new file mode 100644
index 0000000000..282522db03
--- /dev/null
+++ b/c/src/lib/libbsp/sh/simsh4/timer/.cvsignore
@@ -0,0 +1,2 @@
+Makefile
+Makefile.in
diff --git a/c/src/lib/libbsp/sh/simsh4/timer/Makefile.am b/c/src/lib/libbsp/sh/simsh4/timer/Makefile.am
new file mode 100644
index 0000000000..d81ff87872
--- /dev/null
+++ b/c/src/lib/libbsp/sh/simsh4/timer/Makefile.am
@@ -0,0 +1,35 @@
+##
+## $Id$
+##
+
+AUTOMAKE_OPTIONS = foreign 1.4
+
+PGM = $(ARCH)/timer.rel
+
+C_FILES = timer.c
+C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.o)
+S_FILES =
+S_O_FILES = $(S_FILES:%.S=$(ARCH)/%.o)
+
+OBJS = $(C_O_FILES) $(S_O_FILES)
+
+include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
+include $(top_srcdir)/../../../../../../automake/compile.am
+include $(top_srcdir)/../../../../../../automake/lib.am
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+$(PGM): $(OBJS)
+ $(make-rel)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+
+all: $(ARCH) $(OBJS) $(PGM)
+
+.PRECIOUS: $(PGM)
+
+EXTRA_DIST = timer.c timerisr.S
+
+include $(top_srcdir)/../../../../../../automake/local.am
diff --git a/c/src/lib/libbsp/sh/simsh4/timer/timer.c b/c/src/lib/libbsp/sh/simsh4/timer/timer.c
new file mode 100644
index 0000000000..d8feb88e0a
--- /dev/null
+++ b/c/src/lib/libbsp/sh/simsh4/timer/timer.c
@@ -0,0 +1,111 @@
+/*
+ * Timer Init
+ *
+ * This module implements benchmark stub for simulator.
+ *
+ * Copyright (C) 2001 OKTET Ltd., St.-Petersburg, Russia
+ * Author: Victor V. Vengerov <vvv@oktet.ru>
+ *
+ * COPYRIGHT (c) 1989-1998-2001.
+ * 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.OARcorp.com/rtems/license.html.
+ *
+ * $Id$
+ */
+
+#include <rtems.h>
+#include <bsp.h>
+
+rtems_unsigned32 Timer_interrupts;
+
+rtems_boolean Timer_driver_Find_average_overhead;
+
+/* External assembler interrupt handler routine */
+extern rtems_isr timerisr(rtems_vector_number vector);
+
+
+/* Timer_initialize --
+ * Initialize timer 2 for accurate time measurement.
+ *
+ * PARAMETERS:
+ * none
+ *
+ * RETURNS:
+ * none
+ */
+void
+Timer_initialize(void)
+{
+ return;
+}
+
+/*
+ * The following controls the behavior of Read_timer().
+ *
+ * FIND_AVG_OVERHEAD * instructs the routine to return the "raw" count.
+ *
+ * AVG_OVEREHAD is the overhead for starting and stopping the timer. It
+ * is usually deducted from the number returned.
+ *
+ * LEAST_VALID is the lowest number this routine should trust. Numbers
+ * below this are "noise" and zero is returned.
+ */
+
+#define AVG_OVERHEAD 0 /* It typically takes 2.0 microseconds */
+ /* (Y countdowns) to start/stop the timer. */
+ /* This value is in microseconds. */
+#define LEAST_VALID 1 /* Don't trust a clicks value lower than this */
+
+/* Read_timer --
+ * Read timer value in microsecond units since timer start.
+ *
+ * PARAMETERS:
+ * none
+ *
+ * RETURNS:
+ * number of microseconds since timer has been started
+ */
+int
+Read_timer( void )
+{
+ return 0;
+}
+
+
+/* Empty_function --
+ * Empty function call used in loops to measure basic cost of looping
+ * in Timing Test Suite.
+ *
+ * PARAMETERS:
+ * none
+ *
+ * RETURNS:
+ * RTEMS_SUCCESSFUL
+ */
+rtems_status_code
+Empty_function(void)
+{
+ return RTEMS_SUCCESSFUL;
+}
+
+/* Set_find_average_overhead --
+ * This routine is invoked by the "Check Timer" (tmck) test in the
+ * RTEMS Timing Test Suite. It makes the Read_timer routine not
+ * subtract the overhead required to initialize and read the benchmark
+ * timer.
+ *
+ * PARAMETERS:
+ * find_flag - boolean flag, TRUE if overhead must not be subtracted.
+ *
+ * RETURNS:
+ * none
+ */
+void
+Set_find_average_overhead(rtems_boolean find_flag)
+{
+ Timer_driver_Find_average_overhead = find_flag;
+}