summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorJennifer Averett <Jennifer.Averett@OARcorp.com>2011-05-23 17:41:30 +0000
committerJennifer Averett <Jennifer.Averett@OARcorp.com>2011-05-23 17:41:30 +0000
commitb8870a029df4b52eca6ad89b9b393b9798dc812a (patch)
treed8b9dd17d021e50c2886c5de7136ae844b37746f /c
parent2011-05-23 Joel Sherrill <joel.sherrilL@OARcorp.com> (diff)
downloadrtems-b8870a029df4b52eca6ad89b9b393b9798dc812a.tar.bz2
2011-05-23 Jennifer Averett <Jennifer.Averett@OARcorp.com>
PR 1795/bsps * erc32/Makefile.am, leon2/Makefile.am, leon3/Makefile.am: Add rtems_bsp_delay to sparc bsps. * erc32/startup/bspdelay.c, leon2/startup/bspdelay.c, leon3/startup/bspdelay.c: New files.
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/sparc/ChangeLog8
-rw-r--r--c/src/lib/libbsp/sparc/erc32/Makefile.am3
-rw-r--r--c/src/lib/libbsp/sparc/erc32/startup/bspdelay.c25
-rw-r--r--c/src/lib/libbsp/sparc/leon2/Makefile.am4
-rw-r--r--c/src/lib/libbsp/sparc/leon2/startup/bspdelay.c25
-rw-r--r--c/src/lib/libbsp/sparc/leon3/Makefile.am5
-rw-r--r--c/src/lib/libbsp/sparc/leon3/startup/bspdelay.c25
7 files changed, 90 insertions, 5 deletions
diff --git a/c/src/lib/libbsp/sparc/ChangeLog b/c/src/lib/libbsp/sparc/ChangeLog
index 8b05469b01..4c3bc6ed45 100644
--- a/c/src/lib/libbsp/sparc/ChangeLog
+++ b/c/src/lib/libbsp/sparc/ChangeLog
@@ -1,3 +1,11 @@
+2011-05-23 Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+ PR 1795/bsps
+ * erc32/Makefile.am, leon2/Makefile.am, leon3/Makefile.am: Add
+ rtems_bsp_delay to sparc bsps.
+ * erc32/startup/bspdelay.c, leon2/startup/bspdelay.c,
+ leon3/startup/bspdelay.c: New files.
+
2011-03-16 Jennifer Averett <jennifer.averett@OARcorp.com>
PR 1729/cpukit
diff --git a/c/src/lib/libbsp/sparc/erc32/Makefile.am b/c/src/lib/libbsp/sparc/erc32/Makefile.am
index f363e4febc..6a77d0a16d 100644
--- a/c/src/lib/libbsp/sparc/erc32/Makefile.am
+++ b/c/src/lib/libbsp/sparc/erc32/Makefile.am
@@ -39,7 +39,8 @@ libbsp_a_SOURCES += ../../shared/bspclean.c ../../shared/bsplibc.c \
../../sparc/shared/bsppretaskinghook.c ../../shared/bsppost.c \
../../shared/bspstart.c ../../shared/bootcard.c ../../shared/bspinit.c \
../../shared/sbrk.c startup/setvec.c startup/spurious.c \
- startup/erc32mec.c startup/boardinit.S startup/bspidle.c
+ startup/erc32mec.c startup/boardinit.S startup/bspidle.c \
+ startup/bspdelay.c
# ISR Handler
libbsp_a_SOURCES += ../../sparc/shared/irq_asm.S
# gnatsupp
diff --git a/c/src/lib/libbsp/sparc/erc32/startup/bspdelay.c b/c/src/lib/libbsp/sparc/erc32/startup/bspdelay.c
new file mode 100644
index 0000000000..f046e9da50
--- /dev/null
+++ b/c/src/lib/libbsp/sparc/erc32/startup/bspdelay.c
@@ -0,0 +1,25 @@
+/*
+ * ERC32 BSP Delay Method
+ *
+ * COPYRIGHT (c) 1989-2011.
+ * 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.com/license/LICENSE.
+ *
+ * $Id
+ */
+
+#include <bsp.h>
+
+void rtems_bsp_delay(int usecs)
+{
+ uint32_t then;
+
+ then = ERC32_MEC.Real_Time_Clock_Counter;
+ then += usecs;
+
+ while (ERC32_MEC.Real_Time_Clock_Counter >= then)
+ ;
+}
diff --git a/c/src/lib/libbsp/sparc/leon2/Makefile.am b/c/src/lib/libbsp/sparc/leon2/Makefile.am
index 54fa609a54..6de6cd82a7 100644
--- a/c/src/lib/libbsp/sparc/leon2/Makefile.am
+++ b/c/src/lib/libbsp/sparc/leon2/Makefile.am
@@ -1,5 +1,5 @@
##
-## $Id$
+## $Id: Makefile.am,v 1.26 2011/03/16 20:05:24 joel Exp
##
ACLOCAL_AMFLAGS = -I ../../../../aclocal
@@ -59,7 +59,7 @@ libbsp_a_SOURCES += ../../shared/bspclean.c ../../shared/bsplibc.c \
startup/bspstart.c ../../sparc/shared/bsppretaskinghook.c \
../../sparc/shared/bspgetworkarea.c ../../shared/bootcard.c \
../../shared/sbrk.c startup/setvec.c startup/spurious.c startup/bspidle.c \
- ../../shared/bspinit.c
+ ../../shared/bspinit.c startup/bspdelay.c
# ISR Handler
libbsp_a_SOURCES += ../../sparc/shared/irq_asm.S
# gnatsupp
diff --git a/c/src/lib/libbsp/sparc/leon2/startup/bspdelay.c b/c/src/lib/libbsp/sparc/leon2/startup/bspdelay.c
new file mode 100644
index 0000000000..9e91101582
--- /dev/null
+++ b/c/src/lib/libbsp/sparc/leon2/startup/bspdelay.c
@@ -0,0 +1,25 @@
+/*
+ * LEON2 BSP Delay Method
+ *
+ * COPYRIGHT (c) 1989-2011.
+ * 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.com/license/LICENSE.
+ *
+ * $Id
+ */
+
+#include <bsp.h>
+
+void rtems_bsp_delay(int usecs)
+{
+ uint32_t then;
+
+ then = LEON_REG.Timer_Counter_1;
+ then += usecs;
+
+ while (LEON_REG.Timer_Counter_1 >= then)
+ ;
+}
diff --git a/c/src/lib/libbsp/sparc/leon3/Makefile.am b/c/src/lib/libbsp/sparc/leon3/Makefile.am
index 4dc665e678..ec14baea0c 100644
--- a/c/src/lib/libbsp/sparc/leon3/Makefile.am
+++ b/c/src/lib/libbsp/sparc/leon3/Makefile.am
@@ -1,5 +1,5 @@
##
-## $Id$
+## $Id: Makefile.am,v 1.30 2011/03/16 20:05:26 joel Exp
##
ACLOCAL_AMFLAGS = -I ../../../../aclocal
@@ -41,8 +41,9 @@ libbsp_a_SOURCES += ../../shared/bspclean.c ../../shared/bsplibc.c \
../../shared/bsppost.c ../../shared/bootcard.c startup/bspstart.c \
../../sparc/shared/bsppretaskinghook.c ../../shared/bsppredriverhook.c \
../../sparc/shared/bspgetworkarea.c ../../shared/sbrk.c startup/setvec.c \
- startup/spurious.c startup/bspidle.S \
+ startup/spurious.c startup/bspidle.S startup/bspdelay.c \
../../shared/bspinit.c
+
# ISR Handler
libbsp_a_SOURCES += ../../sparc/shared/irq_asm.S
# gnatsupp
diff --git a/c/src/lib/libbsp/sparc/leon3/startup/bspdelay.c b/c/src/lib/libbsp/sparc/leon3/startup/bspdelay.c
new file mode 100644
index 0000000000..19a1dfd8b4
--- /dev/null
+++ b/c/src/lib/libbsp/sparc/leon3/startup/bspdelay.c
@@ -0,0 +1,25 @@
+/*
+ * LEON3 BSP Delay Method
+ *
+ * COPYRIGHT (c) 1989-2011.
+ * 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.com/license/LICENSE.
+ *
+ * $Id
+ */
+
+#include <bsp.h>
+
+void rtems_bsp_delay(int usecs)
+{
+ uint32_t then;
+
+ then =LEON3_Timer_Regs->timer[0].value;
+ then += usecs;
+
+ while (LEON3_Timer_Regs->timer[0].value >= then)
+ ;
+}