summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2005-05-07 07:17:10 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2005-05-07 07:17:10 +0000
commit3bdce60b61bb0aa009eae2d6684db913edb430a9 (patch)
tree15bed511d2a0026fb9f5c639bc94f6a8a289b162
parent2005-05-07 Ralf Corsepius <ralf_corsepius@rtems.org> (diff)
downloadrtems-3bdce60b61bb0aa009eae2d6684db913edb430a9.tar.bz2
Remove.
-rw-r--r--c/src/lib/libbsp/or32/.cvsignore14
-rw-r--r--c/src/lib/libbsp/or32/ChangeLog92
-rw-r--r--c/src/lib/libbsp/or32/Makefile.am14
-rw-r--r--c/src/lib/libbsp/or32/acinclude.m410
-rw-r--r--c/src/lib/libbsp/or32/configure.ac21
-rw-r--r--c/src/lib/libbsp/or32/orp/.cvsignore14
-rw-r--r--c/src/lib/libbsp/or32/orp/ChangeLog287
-rw-r--r--c/src/lib/libbsp/or32/orp/Makefile.am104
-rw-r--r--c/src/lib/libbsp/or32/orp/README69
-rw-r--r--c/src/lib/libbsp/or32/orp/bsp_specs12
-rw-r--r--c/src/lib/libbsp/or32/orp/clock/clockdrv.c225
-rw-r--r--c/src/lib/libbsp/or32/orp/configure.ac20
-rw-r--r--c/src/lib/libbsp/or32/orp/console/console.c374
-rw-r--r--c/src/lib/libbsp/or32/orp/console/console.h70
-rw-r--r--c/src/lib/libbsp/or32/orp/include/.cvsignore5
-rw-r--r--c/src/lib/libbsp/or32/orp/include/bsp.h84
-rw-r--r--c/src/lib/libbsp/or32/orp/include/tm27.h32
-rw-r--r--c/src/lib/libbsp/or32/orp/start/start.S799
-rw-r--r--c/src/lib/libbsp/or32/orp/startup/bspclean.c26
-rw-r--r--c/src/lib/libbsp/or32/orp/startup/bspstart.c118
-rw-r--r--c/src/lib/libbsp/or32/orp/startup/linkcmds82
-rw-r--r--c/src/lib/libbsp/or32/orp/startup/setvec.c42
-rw-r--r--c/src/lib/libbsp/or32/orp/timer/timer.c103
-rw-r--r--c/src/lib/libbsp/or32/orp/timer/timerisr.c36
-rw-r--r--c/src/lib/libbsp/or32/orp/times194
25 files changed, 0 insertions, 2847 deletions
diff --git a/c/src/lib/libbsp/or32/.cvsignore b/c/src/lib/libbsp/or32/.cvsignore
deleted file mode 100644
index bfdfd995be..0000000000
--- a/c/src/lib/libbsp/or32/.cvsignore
+++ /dev/null
@@ -1,14 +0,0 @@
-aclocal.m4
-autom4te*.cache
-config.cache
-config.guess
-config.log
-config.status
-config.sub
-configure
-depcomp
-install-sh
-Makefile
-Makefile.in
-missing
-mkinstalldirs
diff --git a/c/src/lib/libbsp/or32/ChangeLog b/c/src/lib/libbsp/or32/ChangeLog
deleted file mode 100644
index bbd2aa5214..0000000000
--- a/c/src/lib/libbsp/or32/ChangeLog
+++ /dev/null
@@ -1,92 +0,0 @@
-2005-05-07 Ralf Corsepius <ralf_corsepius@rtems.org>
-
- * Makefile.am, configure.ac, acinclude.m4: Remove.
-
-2004-09-24 Ralf Corsepius <ralf_corsepius@rtems.org>
-
- * configure.ac: Require automake > 1.9.
-
-2004-02-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * acinclude.m4: Regenerate.
-
-2004-02-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: RTEMS_CHECK_BSPDIR([$RTEMS_BSP_FAMILY]).
-
-2004-01-13 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Use @RTEMS_BSP_FAMILY@ instead of
- $(RTEMS_BSP_FAMILY).
-
-2003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Require automake >= 1.8, autoconf >= 2.59.
-
-2003-10-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * acinclude.m4: Reflect changes to bootstrap.
- * configure.ac: Remove RTEMS_CHECK_CUSTON_BSP.
-
-2003-08-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Reflect having moved aclocal/.
-
-2003-08-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Reflect having moved automake/.
-
-2003-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Use rtems-bugs@rtems.com as bug report email address.
-
-2003-03-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Remove AC_CONFIG_AUX_DIR.
-
-2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: AM_INIT_AUTOMAKE([1.7.2]).
-
-2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: AC_PREREQ(2.57).
-
-2002-12-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Remove RTEMS_CHECK_BSP_CACHE.
-
-2002-10-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * .cvsignore: Reformat.
- Add autom4te*cache.
- Remove autom4te.cache.
-
-2002-08-07 Ivan Guzvinec <ivang@opencores.org>
-
- * acinclude.m4, configure.ac: Bender BSP renamed to OpenRisc
- Reference Platform or ORP.
-
-2002-08-06 Joel Sherrill <joel@OARcorp.com>
-
- * acinclude.m4, configure.ac: Go back to name bender for
- the or32/or1200 BSP.
-
-2002-08-06 Joel Sherrill <joel@OARcorp.com>
-
- * acinclude.m4, configure.ac: Update and fix minor things so this
- BSP compiles and almost completely links.
-
-2002-08-06 Joel Sherrill <joel@OARcorp.com>
-
- * .cvsignore: New file.
-
-2002-08-06 Joel Sherrill <joel@OARcorp.com>
-
- * Makefile.am: New file.
-
-2002-08-06 Chris Ziomkowski <chris@asics.ws>
-
- * ChangeLog, acinclude.m4, configure.ac: New files added as part
- of merge from OpenCores repository.
-
diff --git a/c/src/lib/libbsp/or32/Makefile.am b/c/src/lib/libbsp/or32/Makefile.am
deleted file mode 100644
index f8d34b33b3..0000000000
--- a/c/src/lib/libbsp/or32/Makefile.am
+++ /dev/null
@@ -1,14 +0,0 @@
-##
-## $Id$
-##
-
-ACLOCAL_AMFLAGS = -I ../../../aclocal
-
-## Descend into the @RTEMS_BSP_FAMILY@ directory
-## Currently, the shared directory is not explicitly
-## added but it is present in the source tree.
-## Currently no shared
-SUBDIRS = @RTEMS_BSP_FAMILY@
-
-include $(top_srcdir)/../../../automake/subdirs.am
-include $(top_srcdir)/../../../automake/local.am
diff --git a/c/src/lib/libbsp/or32/acinclude.m4 b/c/src/lib/libbsp/or32/acinclude.m4
deleted file mode 100644
index ca867fb2cb..0000000000
--- a/c/src/lib/libbsp/or32/acinclude.m4
+++ /dev/null
@@ -1,10 +0,0 @@
-# RTEMS_CHECK_BSPDIR(RTEMS_BSP_FAMILY)
-AC_DEFUN([RTEMS_CHECK_BSPDIR],
-[
- case "$1" in
- orp )
- AC_CONFIG_SUBDIRS([orp]);;
- *)
- AC_MSG_ERROR([Invalid BSP]);;
- esac
-])
diff --git a/c/src/lib/libbsp/or32/configure.ac b/c/src/lib/libbsp/or32/configure.ac
deleted file mode 100644
index c7a4db3729..0000000000
--- a/c/src/lib/libbsp/or32/configure.ac
+++ /dev/null
@@ -1,21 +0,0 @@
-## Process this file with autoconf to produce a configure script.
-##
-## $Id$
-
-AC_PREREQ(2.59)
-AC_INIT([rtems-c-src-lib-libbsp-or32],[_RTEMS_VERSION],[rtems-bugs@rtems.com])
-AC_CONFIG_SRCDIR([orp])
-RTEMS_TOP(../../../../..)
-
-RTEMS_CANONICAL_TARGET_CPU
-AM_INIT_AUTOMAKE([no-define foreign 1.9])
-AM_MAINTAINER_MODE
-
-RTEMS_ENV_RTEMSBSP
-
-RTEMS_PROJECT_ROOT
-RTEMS_CHECK_BSPDIR([$RTEMS_BSP_FAMILY])
-
-# Explicitly list all Makefiles here
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
diff --git a/c/src/lib/libbsp/or32/orp/.cvsignore b/c/src/lib/libbsp/or32/orp/.cvsignore
deleted file mode 100644
index bfdfd995be..0000000000
--- a/c/src/lib/libbsp/or32/orp/.cvsignore
+++ /dev/null
@@ -1,14 +0,0 @@
-aclocal.m4
-autom4te*.cache
-config.cache
-config.guess
-config.log
-config.status
-config.sub
-configure
-depcomp
-install-sh
-Makefile
-Makefile.in
-missing
-mkinstalldirs
diff --git a/c/src/lib/libbsp/or32/orp/ChangeLog b/c/src/lib/libbsp/or32/orp/ChangeLog
deleted file mode 100644
index d2acd8c278..0000000000
--- a/c/src/lib/libbsp/or32/orp/ChangeLog
+++ /dev/null
@@ -1,287 +0,0 @@
-2005-05-07 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * bsp_specs, clock/clockdrv.c, configure.ac,
- console/console.c, console/console.h, include/bsp.h,
- include/tm27.h, Makefile.am, README, start/start.S,
- startup/bspclean.c, startup/bspstart.c, startup/linkcmds,
- startup/setvec.c, timer/timer.c, timer/timerisr.c, times: Remove.
-
-2005-01-07 Ralf Corsepius <ralf.corsepius@rtems.org>
- * Makefile.am: Eliminate CFLAGS_OPTIMIZE_V.
-
-2005-01-02 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * Makefile.am: Remove build-variant support.
-
-2004-09-24 Ralf Corsepius <ralf_corsepius@rtems.org>
-
- * configure.ac: Require automake > 1.9.
-
-2004-04-23 Ralf Corsepius <ralf_corsepius@rtems.org>
-
- PR 610/bsps
- * Makefile.am: Add include/tm27.h, Cosmetics.
- * include/tm27.h: Final cosmetics.
-
-2004-04-22 Ralf Corsepius <ralf_corsepius@rtems.org>
-
- * include/bsp.h: Split out tmtest27 support.
- * include/tm27.h: New.
-
-2004-04-21 Ralf Corsepius <ralf_corsepius@rtems.org>
-
- PR 613/bsps
- * include/bsp.h: Remove MAX_LONG_TEST_DURATION.
-
-2004-04-21 Ralf Corsepius <ralf_corsepius@rtems.org>
-
- PR 614/bsps
- * include/bsp.h: Remove MAX_SHORT_TEST_DURATION (Unused).
-
-2004-04-02 Ralf Corsepius <ralf_corsepius@rtems.org>
-
- * start/start.S: Include <rtems/asm.h> instead of <asm.h>.
-
-2004-04-01 Ralf Corsepius <ralf_corsepius@rtems.org>
-
- * include/bsp.h: Include <rtems/clockdrv.h> instead of <clockdrv.h>.
- * include/bsp.h: Include <rtems/console.h> instead of <console.h>.
-
-2004-03-31 Ralf Corsepius <ralf_corsepius@rtems.org>
-
- * clock/clockdrv.c, console/console.c, startup/bspstart.c,
- timer/timer.c, timer/timerisr.c: Convert to using c99 fixed size
- types.
-
-2004-02-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Reflect changes to bsp.am.
- Preinstall dist_project_lib*.
-
-2004-02-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Reflect changes to bsp.am.
-
-2004-02-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Use CPPASCOMPILE instead of CCASCOMPILE.
-
-2004-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Cosmetics.
-
-2004-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Merge-in clock/Makefile.am, console/Makefile.am,
- start/Makefile.am, startup/Makefile.am, timer/Makefile.am,
- wrapup/Makefile.am. Use automake compilation rules.
- * clock/Makefile.am, console/Makefile.am, start/Makefile.am,
- startup/Makefile.am, timer/Makefile.am, wrapup/Makefile.am: Remove.
- * configure.ac: Reflect changes above.
-
-2004-01-28 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Add nostdinc to AUTOMAKE_OPTIONS.
- Add RTEMS_PROG_CCAS.
-
-2004-01-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Add PREINSTALL_DIRS.
-
-2004-01-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Re-add dirstamps to PRE/TMPINSTALL_FILES.
- Add PRE/TMPINSTALL_FILES to CLEANFILES.
- * start/Makefile.am: Ditto.
- * startup/Makefile.am: Ditto.
-
-2004-01-05 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * wrapup/Makefile.am: Eliminate $(LIB).
- Use noinst_DATA to trigger building libbsp.a.
-
-2003-12-13 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * start/Makefile.am: s,${PROJECT_RELEASE}/lib,$(PROJECT_LIB),g.
- * startup/Makefile.am: s,${PROJECT_RELEASE}/lib,$(PROJECT_LIB),g.
-
-2003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * start/Makefile.am: Use mkdir_p. Remove dirs from PRE/TMPINSTALL_FILES.
- * startup/Makefile.am: Use mkdir_p. Remove dirs from PRE/TMPINSTALL_FILES.
-
-2003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Require automake >= 1.8, autoconf >= 2.59.
-
-2003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * wrapup/Makefile.am: Cosmetics.
-
-2003-12-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * start/Makefile.am: Misc cleanups and fixes.
- * startup/Makefile.am: Misc cleanups and fixes.
- * wrapup/Makefile.am: Misc cleanups and fixes.
-
-2003-12-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * startup/Makefile.am: Remove S_FILES. Cosmetics.
-
-2003-12-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Add preinstallation dirstamp support.
- * clock/Makefile.am: Cosmetics.
- * console/Makefile.am: Cosmetics.
- * startup/Makefile.am: Cosmetics.
- * timer/Makefile.am: Cosmetics.
- * wrapup/Makefile.am: Cosmetics.
-
-2003-12-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * clock/Makefile.am: Remove all-local: $(ARCH).
- * console/Makefile.am: Remove all-local: $(ARCH).
- * start/Makefile.am: Remove all-local: $(ARCH).
- * startup/Makefile.am: Remove all-local: $(ARCH).
- * timer/Makefile.am: Remove all-local: $(ARCH).
- * wrapup/Makefile.am: Remove all-local: $(ARCH).
-
-2003-09-29 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Merge-in include/Makefile.am.
- Reflect changes to bsp.am.
- * include/Makefile.am: Remove.
- * configure.ac: Reflect changes above.
-
-2003-09-08 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * bsp_specs: Remove *lib:.
-
-2003-09-04 Joel Sherrill <joel@OARcorp.com>
-
- * clock/clockdrv.c, console/console.c, console/console.h,
- include/bsp.h, start/start.S, startup/bspclean.c, startup/bspstart.c,
- startup/linkcmds, startup/setvec.c, timer/timer.c, timer/timerisr.c:
- URL for license changed.
-
-2003-08-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Reflect having moved aclocal/.
-
-2003-08-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Reflect having moved automake/.
- * clock/Makefile.am: Reflect having moved automake/.
- * console/Makefile.am: Reflect having moved automake/.
- * include/Makefile.am: Reflect having moved automake/.
- * start/Makefile.am: Reflect having moved automake/.
- * startup/Makefile.am: Reflect having moved automake/.
- * timer/Makefile.am: Reflect having moved automake/.
- * wrapup/Makefile.am: Reflect having moved automake/.
-
-2003-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Use rtems-bugs@rtems.com as bug report email address.
-
-2003-08-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- PR 445/bsps
- * bsp_specs: Remove -D__embedded__ -Asystem(embedded) from cpp.
- Remove cpp, old_cpp (now unused).
-
-2003-03-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Remove AC_CONFIG_AUX_DIR.
-
-2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: AM_INIT_AUTOMAKE([1.7.2]).
-
-2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: AC_PREREQ(2.57).
-
-2003-01-20 Joel Sherrill <joel@OARcorp.com>
-
- * startup/linkcmds*: Add FreeBSD sysctl() sections.
-
-2002-12-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * clock/Makefile.am: Don't include @RTEMS_BSP@.cfg.
- * console/Makefile.am: Don't include @RTEMS_BSP@.cfg.
- * start/Makefile.am: Don't include @RTEMS_BSP@.cfg.
- * startup/Makefile.am: Don't include @RTEMS_BSP@.cfg.
- * timer/Makefile.am: Don't include @RTEMS_BSP@.cfg.
-
-2002-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * start/Makefile.am: Use install-data-local to install startfile.
-
-2002-12-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * wrapup/Makefile.am: Don't include @RTEMS_BSP@.cfg.
-
-2002-10-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * .cvsignore: Reformat.
- Add autom4te*cache.
- Remove autom4te.cache.
-
-2002-10-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * .cvsignore: Add autom4te.cache.
-
-2002-09-14 Ivan Guzvinec <ivang@opencores.org>
-
- * include/bsp.h, startup/Makefile.am, startup/bspclean.c:
- Cleanup so the BSP works.
-
-2002-08-21 Joel Sherrill <joel@OARcorp.com>
-
- * bsp_specs: Added support for -nostdlibs.
-
-2002-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * clock/Makefile.am: Use .$(OBJEXT) instead of .o.
- * console/Makefile.am: Use .$(OBJEXT) instead of .o.
- * start/Makefile.am: Use .$(OBJEXT) instead of .o.
- * startup/Makefile.am: Use .$(OBJEXT) instead of .o.
- * timer/Makefile.am: Use .$(OBJEXT) instead of .o.
- * wrapup/Makefile.am: Use .$(OBJEXT) instead of .o.
-
-2002-08-07 Ivan Guzvinec <ivang@opencores.org>
-
- * configure.ac: Bender BSP renamed to OpenRisc Reference Platform
- for ORP.
-
-2002-08-07 Ivan Guzvinec <ivang@opencores.org>
-
- * include/bsp.h, start/start.S, startup/linkcmds: Patches which
- were required to make the BSP run.
-
-2002-08-06 Joel Sherrill <joel@OARcorp.com>
-
- * configure.ac: GO back to name bender for the or32/or1200 BSP.
-
-2002-08-06 Joel Sherrill <joel@OARcorp.com>
-
- * bsp_specs, configure.ac, startup/bspstart.c: Update and fix
- minor things so this BSP compiles and almost completely links.
- * startup/Makefile.am: New file.
-
-2002-08-06 Joel Sherrill <joel@OARcorp.com>
-
- * include/.cvsignore: Updated to account for more files.
-
-2002-08-06 Chris Ziomkowski <chris@asics.ws>
-
- * .cvsignore, Makefile.am, README, bsp_specs, configure.ac, times,
- clock/.cvsignore, clock/Makefile.am, clock/clockdrv.c,
- console/.cvsignore, console/Makefile.am, console/console.c,
- console/console.h, include/.cvsignore, include/Makefile.am,
- include/bsp.h, start/.cvsignore, start/Makefile.am, start/start.S,
- startup/.cvsignore, startup/bspclean.c, startup/bspstart.c,
- startup/linkcmds, startup/main.c, startup/setvec.c, timer/.cvsignore,
- timer/Makefile.am, timer/timer.c, timer/timerisr.c,
- wrapup/.cvsignore, wrapup/Makefile.am, ChangeLog: New files added
- as part of merge from OpenCores repository.
diff --git a/c/src/lib/libbsp/or32/orp/Makefile.am b/c/src/lib/libbsp/or32/orp/Makefile.am
deleted file mode 100644
index 2ab98ae06f..0000000000
--- a/c/src/lib/libbsp/or32/orp/Makefile.am
+++ /dev/null
@@ -1,104 +0,0 @@
-##
-## $Id$
-##
-
-ACLOCAL_AMFLAGS = -I ../../../../aclocal
-
-include $(top_srcdir)/../../../../automake/compile.am
-include $(top_srcdir)/../../bsp.am
-
-dist_project_lib_DATA = bsp_specs
-
-include_HEADERS = include/bsp.h
-include_HEADERS += include/tm27.h
-
-nodist_include_HEADERS = include/bspopts.h
-DISTCLEANFILES = include/bspopts.h
-
-noinst_PROGRAMS =
-
-include_HEADERS += include/coverhd.h
-
-EXTRA_DIST = start.S
-start.$(OBJEXT): start/start.S
- $(CPPASCOMPILE) -DASM -o $@ -c $<
-project_lib_DATA = start.$(OBJEXT)
-
-dist_project_lib_DATA += startup/linkcmds
-
-noinst_PROGRAMS += startup.rel
-startup_rel_SOURCES = ../../shared/bsplibc.c ../../shared/bsppost.c \
- startup/bspstart.c startup/bspclean.c ../../shared/bootcard.c \
- ../../shared/main.c ../../shared/sbrk.c \
- ../../shared/gnatinstallhandler.c startup/setvec.c
-startup_rel_CPPFLAGS = $(AM_CPPFLAGS)
-startup_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
-
-noinst_PROGRAMS += clock.rel
-clock_rel_SOURCES = clock/clockdrv.c
-clock_rel_CPPFLAGS = $(AM_CPPFLAGS)
-clock_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
-
-noinst_PROGRAMS += console.rel
-console_rel_SOURCES = console/console.c console/console.h
-console_rel_CPPFLAGS = $(AM_CPPFLAGS)
-console_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
-
-noinst_PROGRAMS += timer.rel
-timer_rel_SOURCES = timer/timer.c timer/timerisr.c
-timer_rel_CPPFLAGS = $(AM_CPPFLAGS)
-timer_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
-
-noinst_LIBRARIES = libbsp.a
-libbsp_a_SOURCES =
-libbsp_a_LIBADD = startup.rel clock.rel console.rel timer.rel
-
-all-local: $(PREINSTALL_FILES) $(TMPINSTALL_FILES)
-
-PREINSTALL_DIRS =
-PREINSTALL_FILES =
-TMPINSTALL_FILES =
-
-$(PROJECT_INCLUDE)/$(dirstamp):
- @$(mkdir_p) $(PROJECT_INCLUDE)
- @: > $(PROJECT_INCLUDE)/$(dirstamp)
-PREINSTALL_DIRS += $(PROJECT_INCLUDE)/$(dirstamp)
-
-$(PROJECT_LIB)/$(dirstamp):
- @$(mkdir_p) $(PROJECT_LIB)
- @: > $(PROJECT_LIB)/$(dirstamp)
-PREINSTALL_DIRS += $(PROJECT_LIB)/$(dirstamp)
-
-$(PROJECT_LIB)/bsp_specs: bsp_specs $(PROJECT_LIB)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_LIB)/bsp_specs
-PREINSTALL_FILES += $(PROJECT_LIB)/bsp_specs
-
-$(PROJECT_INCLUDE)/bsp.h: include/bsp.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp.h
-
-$(PROJECT_INCLUDE)/tm27.h: include/tm27.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tm27.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/tm27.h
-
-$(PROJECT_INCLUDE)/bspopts.h: include/bspopts.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bspopts.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bspopts.h
-
-$(PROJECT_INCLUDE)/coverhd.h: include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/coverhd.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h
-
-$(PROJECT_LIB)/start.$(OBJEXT): start.$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_LIB)/start.$(OBJEXT)
-TMPINSTALL_FILES += $(PROJECT_LIB)/start.$(OBJEXT)
-
-$(PROJECT_LIB)/linkcmds: startup/linkcmds $(PROJECT_LIB)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
-PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
-
-CLEANFILES = $(PREINSTALL_FILES)
-DISTCLEANFILES += $(PREINSTALL_DIRS)
-CLEANFILES += $(TMPINSTALL_FILES)
-
-include $(top_srcdir)/../../../../automake/local.am
diff --git a/c/src/lib/libbsp/or32/orp/README b/c/src/lib/libbsp/or32/orp/README
deleted file mode 100644
index 8ed80e29f8..0000000000
--- a/c/src/lib/libbsp/or32/orp/README
+++ /dev/null
@@ -1,69 +0,0 @@
-#
-# $Id$
-#
-# This is a sample hardware description file for a BSP. This comment
-# block does not have to appear in a real one. The intention of this
-# file is to provide a central place to look when searching for
-# information about a board when starting a new BSP. For example,
-# you may want to find an existing timer driver for the chip you are
-# using on your board. It is easier to grep for the chip name in
-# all of the HARDWARE files than to peruse the source tree. Hopefully,
-# making the HARDDWARE files accurate will also alleviate the common
-# problem of not knowing anything about a board based on its BSP
-# name.
-#
-# NOTE: If you have a class of peripheral chip on board which
-# is not in this list please add it to this file so
-# others will also use the same name.
-#
-# Timer resolution is the way it is configured in this BSP.
-# On a counting timer, this is the length of time which
-# corresponds to 1 count.
-#
-
-BSP NAME: fastsbc1
-BOARD: Fasssst Computers, Fast SBC-1
-BUS: SchoolBus
-CPU FAMILY: i386
-CPU: Intel Hexium
-COPROCESSORS: Witch Hex87
-MODE: 32 bit mode
-
-DEBUG MONITOR: HexBug
-
-PERIPHERALS
-===========
-TIMERS: Intel i8254
- RESOLUTION: .0001 microseconds
-SERIAL PORTS: Zilog Z8530 (with 2 ports)
-REAL-TIME CLOCK: RTC-4
-DMA: Intel i8259
-VIDEO: none
-SCSI: none
-NETWORKING: none
-
-DRIVER INFORMATION
-==================
-CLOCK DRIVER: RTC-4
-IOSUPP DRIVER: Zilog Z8530 port A
-SHMSUPP: polled and interrupts
-TIMER DRIVER: Intel i8254
-TTY DRIVER: stub only
-
-STDIO
-=====
-PORT: Console port 0
-ELECTRICAL: RS-232
-BAUD: 9600
-BITS PER CHARACTER: 8
-PARITY: None
-STOP BITS: 1
-
-NOTES
-=====
-
-(1) 900 Mhz and 950 Mhz versions.
-
-(2) 1 Gb or 2 Gb RAM.
-
-(3) PC compatible if HexBug not enabled.
diff --git a/c/src/lib/libbsp/or32/orp/bsp_specs b/c/src/lib/libbsp/or32/orp/bsp_specs
deleted file mode 100644
index 446dafab45..0000000000
--- a/c/src/lib/libbsp/or32/orp/bsp_specs
+++ /dev/null
@@ -1,12 +0,0 @@
-%rename endfile old_endfile
-%rename startfile old_startfile
-%rename link old_link
-
-*startfile:
-%{!qrtems: %(old_startfile)} %{!nostdlib: %{qrtems: \
-%{!qrtems_debug: start.o%s} \
-%{qrtems_debug: start_g.o%s}}}
-
-*link:
-%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N -e _start}
-
diff --git a/c/src/lib/libbsp/or32/orp/clock/clockdrv.c b/c/src/lib/libbsp/or32/orp/clock/clockdrv.c
deleted file mode 100644
index 7577d11e4c..0000000000
--- a/c/src/lib/libbsp/or32/orp/clock/clockdrv.c
+++ /dev/null
@@ -1,225 +0,0 @@
-/* ckinit.c
- *
- * This file provides a template for the clock device driver initialization.
- *
- * COPYRIGHT (c) 1989-1999.
- * 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 <stdlib.h>
-
-#include <rtems.h>
-#include <rtems/libio.h>
-#include <bsp.h>
-static void (*old_handler)(unsigned int,unsigned int,unsigned int,unsigned int);
-
-void Clock_exit( void );
-void Clock_isr( rtems_vector_number vector,unsigned int pc,
- unsigned int address, unsigned int sr);
-
-/*
- * The interrupt vector number associated with the clock tick device
- * driver.
- */
-
-#define CLOCK_VECTOR 8
-
-/*
- * Clock_driver_ticks is a monotonically increasing counter of the
- * number of clock ticks since the driver was initialized.
- */
-
-volatile uint32_t Clock_driver_ticks;
-
-/*
- * Clock_isrs is the number of clock ISRs until the next invocation of
- * the RTEMS clock tick routine. The clock tick device driver
- * gets an interrupt once a millisecond and counts down until the
- * length of time between the user configured microseconds per tick
- * has passed.
- */
-
-uint32_t Clock_isrs; /* ISRs until next tick */
-
-/*
- * These are set by clock driver during its init
- */
-
-rtems_device_major_number rtems_clock_major = ~0;
-rtems_device_minor_number rtems_clock_minor;
-
-void Clock_exit( void );
-
-/* Write this to restart the Timer. Sets mode = 01,
- interrupts enabled, interrupt not pending, report
- at 200,000 (1 msec on 200 MHz CPU) */
-static const unsigned int TTMR_RESET = 0x60030D40;
-
-/*
- * Isr Handler
- */
-
-void Clock_isr(uint32_t vector,
- uint32_t pc,
- uint32_t ear,
- uint32_t sr)
-{
- register int pending;
- register int value = 0x60002710;
-
- /* Was it us? */
- asm volatile ("l.mfspr %0,r0,0x4802 \n\t" /* Read the PIC status */
- "l.andi %0,%0,0x8 \n\t" : "=r" (pending));
-
- if(pending)
- {
- rtems_clock_tick();
- asm ("l.mtspr r0,%0,0x5000 \n\t" :: "r" (value));
- }
-
- if(old_handler)
- (*old_handler)(vector,pc,ear,sr);
-}
-
-/*
- * Install_clock
- *
- * Install a clock tick handler and reprograms the chip. This
- * is used to initially establish the clock tick.
- */
-
-void Install_clock()
-{
- uint32_t tmp,sr,ttmr,ttcr;
- extern uint32_t Or1k_Interrupt_Vectors[16];
-
- ttmr = TTMR_RESET; /* Reset value */
- ttcr = 0; /* Start at 0 */
-
- /*
- * Initialize the clock tick device driver variables
- */
-
- /* Make sure the Timer (interrupt 3) is enabled and
- reports a high prority interrupt */
-
- asm volatile ("l.mfspr %0,r0,0x4800 \n\t" /* Get the PIC mask */
- "l.ori %0,%0,0x8 \n\t" /* Enable int 3 */
- "l.mtspr r0,%0,0x4800 \n\t" /* Write back mask */
- "l.mfspr %0,r0,0x4801 \n\t" /* Get priority mask */
- "l.ori %0,%0,0x8 \n\t" /* Set us to high */
- "l.mtspr r0,%0,0x4801 \n\t" /* Write back to PICPR */
- : "=r" (tmp));
-
- /* Generate a 1 kHz interrupt */
- asm volatile ("l.mfspr %0,r0,0x11 \n\t" /* Get the current setting */
- "l.addi %1,r0,-5 \n\t"
- "l.and %1,%1,%0 \n\t" /* Turn off interrupts */
- "l.mtspr r0,%1,0x11 \n\t" /* Set it in SR */
- "l.mtspr r0,%2,0x5000\n\t" /* Set TTMR */
- "l.mtspr r0,%3,0x5100\n\t" /* Set TTCR */
- : "=&r" (sr), "=&r" (tmp) : "r" (ttmr), "r" (ttcr));
-
- old_handler = (void(*)(unsigned int,unsigned int,unsigned int,unsigned int))
- Or1k_Interrupt_Vectors[8];
- Or1k_Interrupt_Vectors[8] = (uint32_t)Clock_isr;
-
- asm volatile ("l.mtspr r0,%0,0x11\n\t":: "r" (sr));
-
- Clock_driver_ticks = 0;
-
- /*
- * Schedule the clock cleanup routine to execute if the application exits.
- */
-
- atexit( Clock_exit );
-}
-
-/*
- * Clean up before the application exits
- */
-
-void Clock_exit( void )
-{
- register int temp1;
- register int temp2;
-
- /* In the case of a fatal error, we should shut down
- all the interrupts so we don't get woken up again. */
- /* First, turn off the clock in the PIC */
-
- asm volatile ("l.mfspr %0,r0,0x4800 \n\t" /* Get the PIC mask */
- "l.addi %1,%1,-9 \n\t" /* Create a mask to disable */
- "l.and %0,%1,%0 \n\t" /* Mask us out */
- "l.mtspr r0,%0,0x4800 \n\t" /* Write back mask */
- "l.mfspr %0,r0,0x4801 \n\t" /* Get priority mask */
- "l.and %0,%1,%0 \n\t" /* Set us to low */
- "l.mtspr r0,%0,0x4801 \n\t" /* Write back to PICPR */
- : "=r" (temp1), "=r" (temp2));
-
- /* Now turn off the clock at the timer */
- asm volatile ("l.mtspr r0,r0,0x5000\n\t" /* Clear TTMR */
- "l.mtspr r0,r0,0x5100\n\t"); /* Clear TTCR */
-}
-
-/*
- * Clock_initialize
- *
- * Device driver entry point for clock tick driver initialization.
- */
-
-rtems_device_driver Clock_initialize(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *pargp
-)
-{
- Install_clock();
-
- /*
- * make major/minor avail to others such as shared memory driver
- */
-
- rtems_clock_major = major;
- rtems_clock_minor = minor;
-
- return RTEMS_SUCCESSFUL;
-}
-
-rtems_device_driver Clock_control(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *pargp
-)
-{
- uint32_t isrlevel;
- rtems_libio_ioctl_args_t *args = pargp;
-
- if (args == 0)
- goto done;
-
- /*
- * This is hokey, but until we get a defined interface
- * to do this, it will just be this simple...
- */
-
- if (args->command == rtems_build_name('I', 'S', 'R', ' '))
- {
- Clock_isr(CLOCK_VECTOR,0,0,0);
- }
- else if (args->command == rtems_build_name('N', 'E', 'W', ' '))
- {
- rtems_interrupt_disable( isrlevel );
- (void) set_vector( args->buffer, CLOCK_VECTOR, 1 );
- rtems_interrupt_enable( isrlevel );
- }
-
-done:
- return RTEMS_SUCCESSFUL;
-}
diff --git a/c/src/lib/libbsp/or32/orp/configure.ac b/c/src/lib/libbsp/or32/orp/configure.ac
deleted file mode 100644
index ec60b8cf36..0000000000
--- a/c/src/lib/libbsp/or32/orp/configure.ac
+++ /dev/null
@@ -1,20 +0,0 @@
-## Process this file with autoconf to produce a configure script.
-##
-## $Id$
-
-AC_PREREQ(2.59)
-AC_INIT([rtems-c-src-lib-libbsp-or32-orp],[_RTEMS_VERSION],[rtems-bugs@rtems.com])
-AC_CONFIG_SRCDIR([bsp_specs])
-RTEMS_TOP(../../../../../..)
-
-RTEMS_CANONICAL_TARGET_CPU
-AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.9])
-RTEMS_BSP_CONFIGURE
-
-RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm])
-RTEMS_CANONICALIZE_TOOLS
-RTEMS_PROG_CCAS
-
-# Explicitly list all Makefiles here
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
diff --git a/c/src/lib/libbsp/or32/orp/console/console.c b/c/src/lib/libbsp/or32/orp/console/console.c
deleted file mode 100644
index 4d32bb6941..0000000000
--- a/c/src/lib/libbsp/or32/orp/console/console.c
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
- * This file contains the template for a console IO package.
- *
- * COPYRIGHT (c) 1989-1999.
- * 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.
- *
- * This file adapted from no_bsp board library of the RTEMS distribution.
- * The body has been modified for the Bender Or1k implementation by
- * Chris Ziomkowski. <chris@asics.ws>
- */
-
-#define BENDER_INIT
-
-#include <bsp.h>
-#include <rtems/libio.h>
-#include "console.h"
-
-static int localEcho;
-static UART_16450* uart = (UART_16450*)0x80000000; /* This is where the simulator puts it */
-
-/* console_initialize
- *
- * This routine initializes the console IO driver.
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- *
- * Return values:
- */
-
-void (*old_handler)(unsigned int,unsigned int,unsigned int,unsigned int);
-
-void console_interrupt(unsigned int vector,unsigned int pc,
- unsigned int effective_addr, unsigned int status)
-{
- int reason;
- register int pending;
-
- /* First thing's first...is this for us? */
- asm volatile ("l.mfspr %0,r0,0x4802 \n\t" /* Read the PIC status */
- "l.andi %0,%0,0x4 \n\t" : "=r" (pending));
-
- if(pending)
- {
- reason = uart->read.IIR;
-
- switch(reason)
- {
- case 0: /* Interrupt because of modem status */
- break;
- case 2: /* Interrupt because Transmitter empty */
- break;
- case 4: /* Interrupt because Received data available */
- break;
- case 6: /* Interrupt because Status Register */
- break;
- case 12: /* Interrupt because of character timeout (16550 only) */
- break;
- default: /* No interrupt */
- break;
- }
- }
-
- if(old_handler)
- (*old_handler)(vector,pc,effective_addr,status);
-}
-
-rtems_device_driver console_initialize(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg
-)
-{
- rtems_status_code status;
- int tmp,tmp2;
- uint32_t sr;
- extern uint32_t Or1k_Interrupt_Vectors[16];
-
- /* Make sure the UART (interrupt 2) is enabled and
- reports a low prority interrupt */
- asm volatile ("l.mfspr %0,r0,0x4800 \n\t" /* Get the PIC mask */
- "l.ori %0,%0,0x4 \n\t" /* Enable int 2 */
- "l.mtspr r0,%0,0x4800 \n\t" /* Write back mask */
- "l.mfspr %0,r0,0x4801 \n\t" /* Get priority mask */
- "l.addi %1,r0,-5 \n\t"
- "l.and %0,%0,%1 \n\t" /* Set us to low */
- "l.mtspr r0,%0,0x4801 \n\t" /* Write back to PICPR */
- : "=r" (tmp), "=r" (tmp2));
-
- /* Install the interrupt handler */
- asm volatile ("l.mfspr %0,r0,0x11 \n\t"
- "l.addi %1,r0,-5 \n\t"
- "l.and %1,%1,%0 \n\t"
- "l.mtspr r0,%1,0x11 \n\t": "=&r" (sr) : "r" (tmp));
-
- old_handler = (void(*)(unsigned int,unsigned int,unsigned int,unsigned int))
- Or1k_Interrupt_Vectors[5];
- Or1k_Interrupt_Vectors[5] = (uint32_t)console_interrupt;
-
- asm volatile ("l.mtspr r0,%0,0x11\n\t":: "r" (sr));
-
- /* Assume 1843.2/16 kHz clock */
- uart->latch.LCR = 0x80; /* Set the divisor latch bit */
- uart->latch.DLM = 2; /* 57,600 */
- uart->latch.DLL = 0;
- uart->write.LCR = 0x03; /* 8-N-1 */
- uart->write.MCR = 0x03; /* Assert RTS & DTR */
- /* uart->write.FCR = 0x00; */ /* Make sure we're in 16450 mode... Ignore for 16450 driver */
- uart->write.IER = 0x05; /* Don't worry about TEMT unless we need to. */
-
- tmp = uart->read.LSR; /* Make sure interrupts are cleared */
- tmp = uart->read.RBR; /* Clear the input buffer */
- tmp = uart->read.MSR; /* Clear the modem status register */
-
- localEcho = 1; /* Turn on local echo */
-
- status = rtems_io_register_name(
- "/dev/console",
- major,
- (rtems_device_minor_number) 0
- );
-
- if (status != RTEMS_SUCCESSFUL)
- rtems_fatal_error_occurred(status);
-
- return RTEMS_SUCCESSFUL;
-}
-
-/* is_character_ready
- *
- * This routine returns TRUE if a character is available.
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- *
- * Return values:
- */
-
-rtems_boolean is_character_ready(
- char *ch
-)
-{
- *ch = '\0'; /* return NULL for no particular reason */
- return(TRUE);
-}
-
-/* inbyte
- *
- * This routine reads a character from the SOURCE.
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- *
- * Return values:
- * character read from SOURCE
- */
-
-char inbyte( void )
-{
- unsigned int stat;
-
- stat = uart->read.LSR;
- while(!(stat & 0x01)) /* ! Data Ready */
- {
- rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
- stat = uart->read.LSR;
- }
-
- return uart->read.RBR; /* Return the character */
-}
-
-/* outbyte
- *
- * This routine transmits a character out the SOURCE. Flow
- * control is not currently enabled.
- *
- * Input parameters:
- * ch - character to be transmitted
- *
- * Output parameters: NONE
- */
-
-void outbyte(char ch)
-{
- unsigned int stat;
- /*
- * Carriage Return/New line translation.
- */
-
- stat = uart->read.LSR;
- while(!(stat & 0x40)) /* ! TEMT */
- {
- rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
- stat = uart->read.LSR;
- }
-
- uart->write.THR = ch;
- if ( ch == '\n' )
- outbyte( '\r' );
-}
-
-/*
- * Open entry point
- */
-
-rtems_device_driver console_open(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void * arg
-)
-{
- return RTEMS_SUCCESSFUL;
-}
-
-/*
- * Close entry point
- */
-
-rtems_device_driver console_close(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void * arg
-)
-{
- return RTEMS_SUCCESSFUL;
-}
-
-/*
- * read bytes from the serial port. We only have stdin.
- */
-
-rtems_device_driver console_read(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void * arg
-)
-{
- rtems_libio_rw_args_t *rw_args;
- char *buffer;
- int maximum;
- int count = 0;
-
- rw_args = (rtems_libio_rw_args_t *) arg;
-
- buffer = rw_args->buffer;
- maximum = rw_args->count;
-
- for (count = 0; count < maximum; count++)
- {
- buffer[ count ] = inbyte();
-
- if (buffer[ count ] == '\n' || buffer[ count ] == '\r')
- {
- buffer[ count++ ] = '\n';
- if(localEcho)
- outbyte('\n' ); /* newline */
- break; /* Return for a newline */
- }
- else if (buffer[ count ] == '\b' && count > 0 )
- {
- if(localEcho)
- {
- outbyte('\b' ); /* move back one space */
- outbyte(' ' ); /* erase the character */
- outbyte('\b' ); /* move back one space */
- }
- count-=2;
- }
- else if(localEcho)
- outbyte(buffer[ count ]); /* echo the character */
- }
-
- rw_args->bytes_moved = count;
- return (count >= 0) ? RTEMS_SUCCESSFUL : RTEMS_UNSATISFIED;
-}
-
-/*
- * write bytes to the serial port. Stdout and stderr are the same.
- */
-
-rtems_device_driver console_write(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void * arg
-)
-{
- int count;
- int maximum;
- rtems_libio_rw_args_t *rw_args;
- char *buffer;
-
- rw_args = (rtems_libio_rw_args_t *) arg;
-
- buffer = rw_args->buffer;
- maximum = rw_args->count;
-
- for (count = 0; count < maximum; count++) {
- if ( buffer[ count ] == '\n') {
- outbyte('\r');
- }
- outbyte( buffer[ count ] );
- }
-
- rw_args->bytes_moved = maximum;
- return 0;
-}
-
-/*
- * IO Control entry point
- */
-
-rtems_device_driver console_control(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void * arg
-)
-{
- int param,div;
- ConsoleIOCTLRequest* request = (ConsoleIOCTLRequest*)arg;
-
- if (!arg)
- return RTEMS_INVALID_ADDRESS;
-
- switch(request->command)
- {
- case TERM_LOCAL_ECHO:
- param = (int)(request->data);
- if(param < 0 || param > 1)
- return RTEMS_INVALID_NUMBER;
- localEcho = param;
- break;
- case TERM_BIT_RATE:
- param = (int)(request->data);
- switch(param)
- {
- case 50:
- case 150:
- case 300:
- case 600:
- case 1200:
- case 1800:
- case 2000:
- case 2400:
- case 3600:
- case 4800:
- case 7200:
- case 9600:
- case 19200:
- case 38400:
- case 57600:
- case 115200:
- div = 115200/param;
- uart->latch.LCR |= 0x80; /* Set the divisor latch bit */
- uart->latch.DLM = div & 0xFF;
- uart->latch.DLL = div >> 8;
- uart->write.LCR &= 0x7F; /* Clear the divisor latch bit */
- break;
- default:
- return RTEMS_INVALID_NUMBER;
- }
- break;
- default:
- return RTEMS_NOT_CONFIGURED;
- }
-
- return RTEMS_SUCCESSFUL;
-}
diff --git a/c/src/lib/libbsp/or32/orp/console/console.h b/c/src/lib/libbsp/or32/orp/console/console.h
deleted file mode 100644
index 6e8efb24f8..0000000000
--- a/c/src/lib/libbsp/or32/orp/console/console.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* console.h -- console header file for the Bender board using the
- * Or1k architecture.
- *
- * Copyright (C) 2001 Chris Ziomkowski, chris@asics.ws
- *
- * This file is distributed as part of the RTEMS package from
- * OAR Corporation, and follows the licensing and distribution
- * terms as stated for RTEMS.
- *
- * COPYRIGHT (c) 1989-1999.
- * 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.
- */
-
-#ifndef _CONSOLE_H
-#define _CONSOLE_H
-
-typedef enum {
- TERM_LOCAL_ECHO,
- TERM_BIT_RATE,
-} ConsoleIOCTLCommand;
-
-typedef struct {
- ConsoleIOCTLCommand command;
- void* data;
-} ConsoleIOCTLRequest;
-
-typedef struct {
- unsigned char RBR;
- unsigned char IER;
- unsigned char IIR;
- unsigned char LCR;
- unsigned char MCR;
- unsigned char LSR;
- unsigned char MSR;
- unsigned char SCR;
-} UART_16450_Read;
-
-typedef struct {
- unsigned char THR;
- unsigned char IER;
- unsigned char IIR;
- unsigned char LCR;
- unsigned char MCR;
- unsigned char LSR;
- unsigned char MSR;
- unsigned char SCR;
-} UART_16450_Write;
-
-typedef struct {
- unsigned char DLM;
- unsigned char DLL;
- unsigned char IIR;
- unsigned char LCR;
- unsigned char MCR;
- unsigned char LSR;
- unsigned char MSR;
- unsigned char SCR;
-} UART_16450_Latch;
-
-typedef union {
- UART_16450_Read read;
- UART_16450_Write write;
- UART_16450_Latch latch;
-} UART_16450;
-
-#endif
diff --git a/c/src/lib/libbsp/or32/orp/include/.cvsignore b/c/src/lib/libbsp/or32/orp/include/.cvsignore
deleted file mode 100644
index cd2a4e9988..0000000000
--- a/c/src/lib/libbsp/or32/orp/include/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-coverhd.h
-bspopts.h
-bspopts.h.in
-stamp-h
-stamp-h.in
diff --git a/c/src/lib/libbsp/or32/orp/include/bsp.h b/c/src/lib/libbsp/or32/orp/include/bsp.h
deleted file mode 100644
index 24a943926a..0000000000
--- a/c/src/lib/libbsp/or32/orp/include/bsp.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* bsp.h
- *
- * This include file contains all board IO definitions.
- *
- * XXX : put yours in here
- *
- * COPYRIGHT (c) 1989-1999.
- * 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$
- */
-
-#ifndef __ORP_h
-#define __ORP_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <bspopts.h>
-
-#include <rtems.h>
-#include <rtems/console.h>
-#include <rtems/clockdrv.h>
-
-/*
- * confdefs.h overrides for this BSP:
- * - number of termios serial ports (defaults to 1)
- * - Interrupt stack space is not minimum if defined.
- */
-
-/* #define CONFIGURE_NUMBER_OF_TERMIOS_PORTS 2 */
-#define CONFIGURE_INTERRUPT_STACK_MEMORY (4 * 1024)
-
-/*
- * Simple spin delay in microsecond units for device drivers.
- * This is very dependent on the clock speed of the target.
- */
-
-#define delay( microseconds ) \
- { \
- }
-
-/* Constants */
-
-#define RAM_START 0x10000000
-#define RAM_END 0x10800000
-
-/* miscellaneous stuff assumed to exist */
-
-extern rtems_configuration_table BSP_Configuration;
-
-/*
- * Device Driver Table Entries
- */
-
-/*
- * NOTE: Use the standard Console driver entry
- */
-
-/*
- * NOTE: Use the standard Clock driver entry
- */
-
-/* functions */
-
-void bsp_cleanup( void );
-
-no_cpu_isr_entry set_vector( /* returns old vector */
- rtems_isr_entry handler, /* isr routine */
- rtems_vector_number vector, /* vector number */
- int type /* RTEMS or RAW intr */
-);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-/* end of include file */
diff --git a/c/src/lib/libbsp/or32/orp/include/tm27.h b/c/src/lib/libbsp/or32/orp/include/tm27.h
deleted file mode 100644
index a10e11cab1..0000000000
--- a/c/src/lib/libbsp/or32/orp/include/tm27.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * tm27.h
- *
- * 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$
- */
-
-#ifndef _RTEMS_TMTEST27
-#error "This is an RTEMS internal file you must not include directly."
-#endif
-
-#ifndef __tm27_h
-#define __tm27_h
-
-/*
- * Stuff for Time Test 27
- */
-
-#define MUST_WAIT_FOR_INTERRUPT 0
-
-#define Install_tm27_vector( handler ) set_vector( (handler), 0, 1 )
-
-#define Cause_tm27_intr() /* empty */
-
-#define Clear_tm27_intr() /* empty */
-
-#define Lower_tm27_intr() /* empty */
-
-#endif
diff --git a/c/src/lib/libbsp/or32/orp/start/start.S b/c/src/lib/libbsp/or32/orp/start/start.S
deleted file mode 100644
index 1ea2fc4ee5..0000000000
--- a/c/src/lib/libbsp/or32/orp/start/start.S
+++ /dev/null
@@ -1,799 +0,0 @@
-/* start.S -- bootup code for the Bender board using the Or1k
- * architecture.
- *
- * Copyright (C) 2001 Chris Ziomkowski, chris@asics.ws
- *
- * This file is distributed as part of the RTEMS package from
- * OAR Corporation, and follows the licensing and distribution
- * terms as stated for RTEMS.
- *
- * COPYRIGHT (c) 1989-1999.
- * 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.
- */
-
-#include <rtems/asm.h>
-
-/* Since we don't yet have a memory map for Bender, I am
- assuming the following. Hopefully, this will be easily
- modified once we get the real values.
-
- 0x00000000 - 0x00200000: Flash/ROM (boot code / 2 MB)
- 0x01000000 - 0x010FFFFF: Synchronous SRAM (area 2 / 1 MB)
- 0x10000000 - 0x1FFFFFFF: External SDRAM (area 3 / 256 MB)
- 0x20000000 - 0x2FFFFFFF: External SDRAM (area 4 / 256 MB)
-
- 0x80000000 - 0x8000001F: 4 16550 UART controllers
- 0x80010000 - 0x80017FFF: Internal Bender RAM
- 0x80020000 - 0xFFFFFFFF: Memory mapped Bender Peripherals
-
- For this version, I assume that only the flash and 32 MB
- of RAM in area 3 are populated. Everything else should
- return a bus error when accessed.
-*/
-.file "start.S"
-
-.data
- PUBLIC(Or1k_Interrupt_Vectors)
-SYM (Or1k_Interrupt_Vectors):
- .word 0x00000000 # No Vector
- .word _start # Reset Vector (Ignored)
- .word __Internal_error_Occurred # Bus Error
- .word __Internal_error_Occurred # Data Page Fault
- .word __Internal_error_Occurred # Instruction Page Fault
- .word __int_reenable # Low Priority Interrupt
- .word __Internal_error_Occurred # Alignment Exception
- .word __Internal_error_Occurred # Illegal Instruction Exception
- .word __int_reenable # High Priority Interrupt
- .word __Internal_error_Occurred # ITBL Miss
- .word __Internal_error_Occurred # DTBL Miss
- .word 0x00000000 # Range Exception
- .word 0x00000000 # System Call
- .word 0x00000000 # Breakpoint
- .word 0x00000000 # Trap
-
-/*
- PUBLIC(BOTTOM_OF_MEMORY)
-SYM (BOTTOM_OF_MEMORY):
- .word 0x10000000 # Assume RAM @ 0 for the sim
-
- PUBLIC(TOP_OF_MEMORY)
-SYM (TOP_OF_MEMORY):
- .word 0x10800000 # Assume RAM @ 0 for the sim
-*/
- PUBLIC(_mem_end)
-SYM (_mem_end):
- .word 0x10800000
-
- BEGIN_CODE
- .org 0x0
- /**************/
- /* _panic */
- /**************/
-
- /* Place the panic vector at 0 */
-
-.proc __panic
- .def __panic
- .val __panic
- .scl 2
- .type 044
- .endef
- .global __panic
-__panic:
-
- l.jal __exit
- l.nop
-
-.endproc __panic
- .def __panic
- .val .
- .scl -1
- .endef
-
- /* Exception processing...first, we will save the
- 16 non callee saved registers which could be
- corrupted by calling a C function. We have no
- way of knowing which of these will be used, so
- we have to save all of them. We will then save
- the EPCR and ESR, in case a nested exception is
- called. Next, we call the user function. We then
- restore all the registers to their original
- values, and finally disable exceptions, restore
- EPCR and ESR (EEAR is not essential to restore)
- and then return from the interrupt. */
-
- /******************************************/
- /* Normal exception handling */
- /* Called with 80 bytes allocated on the */
- /* stack, the vector function in r11, and */
- /* the vector number in r3. Original */
- /* values at 28(r1) and 0(r1). */
- /******************************************/
-.proc ___standard_exception
- .def ___standard_exception
- .val ___standard_exception
- .scl 2
- .type 044
- .endef
- .global ___standard_exception
-___standard_exception:
- l.sfeqi r11,0 /* Ignore it if it is zero */
- l.bf L2_2
- l.sw 4(r1),r4 /* Save r4 */
-
- /* Ignore fast context switching in this release. */
- /* It's poorly conceived, and will probably never */
- /* be implemented... */
-
- l.sw 8(r1),r5
- l.sw 12(r1),r6
- l.sw 16(r1),r7
-
- l.mfspr r4,r0,0x20 /* Save EPCR */
- l.mfspr r5,r0,0x30 /* Save EEAR */
- l.mfspr r6,r0,0x40 /* Save ESR */
-
- l.mfspr r7,r0,17
- l.ori r7,r7,2
- l.mtspr r0,r7,17 /* Reenable exceptions */
-
- l.sw 20(r1),r8
- l.sw 24(r1),r9
- l.sw 32(r1),r12
- l.sw 36(r1),r14
- l.sw 40(r1),r16
- l.sw 44(r1),r18
- l.sw 48(r1),r20
- l.sw 52(r1),r22
- l.sw 56(r1),r24
- l.sw 60(r1),r26
- l.sw 64(r1),r28
- l.sw 68(r1),r30
- l.sw 72(r1),r4 /* Save EPCR. User could change r4 */
-
- /* Now, call the installed handler with the arguments:
- r3 ==> vector # (1-14)
- r4 ==> EPCR
- r5 ==> EEAR
- r6 ==> ESR
- r11 ==> User function
- */
-
- l.jal ___user_function /* Call the user routine */
- l.sw 76(r1),r6 /* Save ESR. User could change r6 */
- /* Ignore r5 (EEAR). It is not critical for state */
-
- l.lwz r30,68(r1)
- l.lwz r28,64(r1)
- l.lwz r26,60(r1)
- l.lwz r24,56(r1)
- l.lwz r22,52(r1)
- l.lwz r20,48(r1)
- l.lwz r18,44(r1)
- l.lwz r16,40(r1)
- l.lwz r14,36(r1)
- l.lwz r12,32(r1)
- l.lwz r9,24(r1)
- l.lwz r8,20(r1)
- l.lwz r7,16(r1)
- l.lwz r5,8(r1)
-
- l.addi r6,r0,-3 /* Set r6 to 0xFFFFFFFD */
- l.mfspr r3,r0,17 /* Get SR value */
- l.and r3,r3,r6 /* Clear exception bit */
- l.mfspr r0,r3,17 /* Disable exceptions */
-
- l.lwz r6,76(r1) /* Recover ESR */
- l.lwz r4,72(r1) /* Recover EPCR */
- l.mtspr r0,r4,0x20 /* Restore ESR */
- l.mtspr r0,r6,0x40 /* Restore EPCR */
- l.lwz r6,12(r1)
- l.lwz r4,4(r1)
-
-L2_2:
- l.lwz r11,28(r1)
- l.lwz r3,0(r1)
- l.addi r1,r1,80
- l.rfe
- l.nop /* The document doesn't say this is
- a delay slot instruction, but the
- simulator doesn't work without this. */
-
-.endproc ___standard_exception
- .def ___standard_exception
- .val .
- .scl -1
- .endef
-
-/****************************************************************************/
-/* These constants must be in .text section in order to be */
-/* properly addressed in code. */
-
- PUBLIC(BOTTOM_OF_MEMORY)
-SYM (BOTTOM_OF_MEMORY):
- .word 0x10000000 # Assume RAM @ 0 for the sim
-
- PUBLIC(TOP_OF_MEMORY)
-SYM (TOP_OF_MEMORY):
- .word 0x10800000 # Assume RAM @ 0 for the sim
-
-/****************************************************************************/
-
- /** Currently, about 57 of the 64 valid address locations
- are being used here. If you add code to the above
- routine, make sure it isn't more than 7 instructions
- or you will overflow into the reset vector. **/
-
- /****************************/
- /* Reset vector static code */
- /****************************/
- .org 0x100
-.proc ___rst
- .global ___rst
-___rst:
- /* Set the stack pointer */
- l.movhi r1,hi(_TOP_OF_MEMORY)
- l.ori r1,r1,lo(_TOP_OF_MEMORY)
- l.lwz r1,0(r1) /* Dereference it */
-
- /* Set the frame pointer */
- l.add r2,r0,r1
-
- l.mfspr r3,r0,17 /* Get SR value */
- l.ori r3,r3,2 /* Set exception enable bit */
- l.j _start /* Jump to main routine */
- l.mtspr r0,r3,17 /* Enable exceptions (DELAY) */
-.endproc ___rst
-
- /***********************************************************/
- /* Note: right after the reset vector, we are going to */
- /* place a table with the necessary values to initialize */
- /* the memory controller. This pointer will be set and */
- /* passed to the _start routine in r4. The first thing the */
- /* the _start routine will do is to initialize the memory */
- /* controller. The code to initialze the memory controller */
- /* is expected to be larger than the 50 some odd */
- /* instructions that are remaining here before the bus */
- /* error vector, which is why it is left to the _start */
- /* routine. */
- /***********************************************************/
-
- /********************************/
- /* Bus Error vector static code */
- /********************************/
- .org 0x200
-.proc ___bus_error
- .global ___bus_error
-___bus_error:
- l.addi r1,r1,-80
- l.sw 0(r1),r3
- l.sw 28(r1),r11
- l.movhi r11,hi(_Or1k_Interrupt_Vectors)
- l.ori r11,r11,lo(_Or1k_Interrupt_Vectors)
- l.lwz r11,8(r11)
- l.j ___standard_exception
- l.addi r3,r0,2
-
-.endproc ___bus_error
-
- /* Put _Internal_error_Occurred and _int_reenable here */
- /* No reason to waste space...it'll be filled with 0 if */
- /* we don't... */
-
- /********************************/
- /* _Internal_error_Occurred */
- /********************************/
-
-.proc __Internal_error_Occurred
- .def __Internal_error_Occurred
- .val __Internal_error_Occurred
- .scl 2
- .type 044
- .endef
- .global __Internal_error_Occurred
-__Internal_error_Occurred:
-
- l.jal __panic
- l.nop
-
-.endproc __Internal_error_Occurred
- .def __Internal_error_Occurred
- .val .
- .scl -1
- .endef
-
- /*********************/
- /* _int_reenable */
- /*********************/
-
-.proc __int_reenable
- .def __int_reenable
- .val __int_reenable
- .scl 2
- .type 044
- .endef
- .global __int_reenable
-__int_reenable:
-
- l.mfspr r11,r0,17
- l.ori r11,r11,0x04
- l.jr r9
- l.mtspr r0,r11,17
-
-.endproc __int_reenable
- .def __int_reenable
- .val .
- .scl -1
- .endef
-
- /*********************&**/
- /* ___user_function */
- /************************/
-
-.proc ___user_function
- .def ___user_function
- .val ___user_function
- .scl 2
- .type 044
- .endef
- .global ___user_function
-___user_function:
-
- /* r11 contains the address to call. We can
- modify r7, r8, r12, and r14 at will */
-
- l.movhi r7,hi(__Thread_Dispatch_disable_level)
- l.ori r7,r7,lo(__Thread_Dispatch_disable_level)
- l.lwz r8,0(r7)
-
- l.addi r1,r1,-8 # Stack must be DWORD aligned
- l.sw 0(r1),r9 # Save the return address
-
- l.addi r8,r8,1 # Increment __Thread_Dispatch...
- l.jalr r11
- l.sw 0(r7),r8 # Disable thread dispatching
-
- /* Now, we need to determine if we need to
- service the RTEMS environment. RTEMS tries
- to draw a distinction between a RAW handler
- (where this isn't necessary) and an RTEMS
- handler. However, it appears almost all ISR's
- will not be RAW under this definition, and
- those that are will not honestly be hurt by
- the 20 or so extra cycles it will take to do
- the following code. If there is a very frequent
- interrupt, then it should probably be hard
- coded into the static routine anyway, rather
- than suffer the hit of calling it indirectly */
-
- /* Note: RTEMS recommends incrementing and
- decrementing the _ISR_Nest_Level as well.
- We are specifically not doing this because
- in the Or1k architecture it is impossible
- to nest interrupts. Interrupts must run to
- completion before reenabling. If there is a
- significant task to be done, then it should
- run in a bottom half handler, similar to the
- way Linux works. In theory though, even if
- we do allow nested interrupts, there is no
- reason for this flag, as it seems to be for
- the purpose of restoring the normal stack in
- place of the interrupt stack. We don't use a
- separate exception stack, so this should not
- be an issue for us. */
-
- l.movhi r7,hi(__Thread_Dispatch_disable_level)
- l.ori r7,r7,lo(__Thread_Dispatch_disable_level)
- l.lwz r8,0(r7)
- l.addi r8,r8,-1 # Decrement __Thread_Dispatch...
- l.sw 0(r7),r8 # Memory stall likely here...
-
- l.sfeqi r8,0 # Skip if _Thread_Dispatch != 0
- l.bnf L4_2
- l.movhi r7,hi(__Context_Switch_necessary)
-
- l.ori r7,r7,lo(__Context_Switch_necessary)
- l.lwz r8,0(r7)
-
- l.movhi r7,hi(__ISR_Signals_to_thread_executing)
- l.ori r7,r7,lo(__ISR_Signals_to_thread_executing)
- l.lwz r12,0(r7)
-
- l.sfeqi r8,0 # Skip if __Context... is false
- l.bf L4_2
- l.movhi r14,hi(__Thread_Dispatch)
-
- l.sfeqi r12,0 # Skip if __ISR... is true
- l.bnf L4_2
- l.ori r14,r14,lo(__Thread_Dispatch)
-
- l.jalr r14
- l.sw 0(r7),r0 # Set __ISR... to false
-
-L4_2:
- l.lwz r9,0(r1) # Recover the return address
- l.jr r9
- l.addi r1,r1,8 # Reset the stack
-
-.endproc ___user_function
- .def ___user_function
- .val .
- .scl -1
- .endef
-
- /* Code wasted between here and 0x300 */
-
- /**************************************/
- /* Data Page Fault vector static code */
- /**************************************/
- .org 0x300
-.proc ___data_page_fault
- .global ___data_page_fault
-___data_page_fault:
- l.addi r1,r1,-80
- l.sw 0(r1),r3
- l.sw 28(r1),r11
- l.movhi r11,hi(_Or1k_Interrupt_Vectors)
- l.ori r11,r11,lo(_Or1k_Interrupt_Vectors)
- l.lwz r11,12(r11)
- l.j ___standard_exception
- l.addi r3,r0,3
-.endproc ___data_page_fault
-
- /* Code wasted between here and 0x400 */
-
- /*********************************************/
- /* Instruction Page Fault vector static code */
- /*********************************************/
- .org 0x400
-.proc ___insn_page_fault
- .global ___insn_page_fault
-___insn_page_fault:
- l.addi r1,r1,-80
- l.sw 0(r1),r3
- l.sw 28(r1),r11
- l.movhi r11,hi(_Or1k_Interrupt_Vectors)
- l.ori r11,r11,lo(_Or1k_Interrupt_Vectors)
- l.lwz r11,16(r11)
- l.j ___standard_exception
- l.addi r3,r0,4
-.endproc ___insn_page_fault
-
- /* Code wasted between here and 0x500 */
-
- /**************************************/
- /* Low Priority Interrupt static code */
- /**************************************/
- .org 0x500
-.proc ___low_priority_int
- .global ___low_priority_int
-___low_priority_int:
- l.addi r1,r1,-80
- l.sw 0(r1),r3
- l.sw 28(r1),r11
- l.mfspr r3,r0,17 # Get the SR
- l.addi r11,r0,-5 # r11 = 0xFFFFFFFB
- l.and r11,r11,r3 # Clear the EIR bit
- l.mtspr r0,r11,17 # Set the SR w/o INT
- l.movhi r11,hi(_Or1k_Interrupt_Vectors)
- l.ori r11,r11,lo(_Or1k_Interrupt_Vectors)
- l.lwz r11,20(r11)
- l.j ___standard_exception
- l.addi r3,r0,5
-.endproc ___low_priority_int
-
- /* Code wasted between here and 0x600 */
-
- /******************************************/
- /* Alignment Exception vector static code */
- /******************************************/
- .org 0x600
-.proc ___alignment_exception
- .global ___alignment_exception
-___alignment_exception:
- l.addi r1,r1,-80
- l.sw 0(r1),r3
- l.sw 28(r1),r11
- l.movhi r11,hi(_Or1k_Interrupt_Vectors)
- l.ori r11,r11,lo(_Or1k_Interrupt_Vectors)
- l.lwz r11,24(r11)
- l.j ___standard_exception
- l.addi r3,r0,6
-.endproc ___alignment_exception
-
- /* Code wasted between here and 0x700 */
-
- /******************************************/
- /* Illegal Instruction vector static code */
- /******************************************/
- .org 0x700
-.proc ___illegal_instruction
- .global ___illegal_instruction
-___illegal_instruction:
- l.addi r1,r1,-80
- l.sw 0(r1),r3
- l.sw 28(r1),r11
- l.movhi r11,hi(_Or1k_Interrupt_Vectors)
- l.ori r11,r11,lo(_Or1k_Interrupt_Vectors)
- l.lwz r11,28(r11)
- l.j ___standard_exception
- l.addi r3,r0,7
-.endproc ___illegal_instruction
-
- /* Code wasted between here and 0x800 */
-
- /***************************************/
- /* High Priority Interrupt static code */
- /***************************************/
- .org 0x800
-.proc ___high_priority_int
- .global ___high_priority_int
-___high_priority_int:
- l.addi r1,r1,-80
- l.sw 0(r1),r3
- l.sw 28(r1),r11
- l.mfspr r3,r0,17 # Get the SR
- l.addi r11,r0,-5 # r11 = 0xFFFFFFFB
- l.and r11,r11,r3 # Clear the EIR bit
- l.mtspr r0,r11,17 # Set the SR w/o INT
- l.movhi r11,hi(_Or1k_Interrupt_Vectors)
- l.ori r11,r11,lo(_Or1k_Interrupt_Vectors)
- l.lwz r11,32(r11)
- l.j ___standard_exception
- l.addi r3,r0,8
-.endproc ___high_priority_int
-
- /* Code wasted between here and 0x900 */
-
- /********************************/
- /* ITBL Miss vector static code */
- /********************************/
- .org 0x900
-.proc ___ITBL_miss_exception
- .global ___ITBL_miss_exception
-___ITBL_miss_exception:
- l.addi r1,r1,-80
- l.sw 0(r1),r3
- l.sw 28(r1),r11
- l.movhi r11,hi(_Or1k_Interrupt_Vectors)
- l.ori r11,r11,lo(_Or1k_Interrupt_Vectors)
- l.lwz r11,36(r11)
- l.j ___standard_exception
- l.addi r3,r0,9
-.endproc ___ITBL_miss_exception
-
- /* Code wasted between here and 0xA00 */
-
- /********************************/
- /* DTBL Miss vector static code */
- /********************************/
- .org 0xA00
-.proc ___DTBL_miss_exception
- .global ___DTBL_miss_exception
-___DTBL_miss_exception:
- l.addi r1,r1,-80
- l.sw 0(r1),r3
- l.sw 28(r1),r11
- l.movhi r11,hi(_Or1k_Interrupt_Vectors)
- l.ori r11,r11,lo(_Or1k_Interrupt_Vectors)
- l.lwz r11,40(r11)
- l.j ___standard_exception
- l.addi r3,r0,10
-.endproc ___DTBL_miss_exception
-
- /* Code wasted between here and 0xB00 */
-
- /**************************************/
- /* Range Exception vector static code */
- /**************************************/
- .org 0xB00
-.proc ___range_exception
- .global ___range_exception
-___range_exception:
- l.addi r1,r1,-80
- l.sw 0(r1),r3
- l.sw 28(r1),r11
- l.movhi r11,hi(_Or1k_Interrupt_Vectors)
- l.ori r11,r11,lo(_Or1k_Interrupt_Vectors)
- l.lwz r11,44(r11)
- l.j ___standard_exception
- l.addi r3,r0,11
-.endproc ___range_exception
-
- /* Code wasted between here and 0xC00 */
-
- /**********************************/
- /* System Call vector static code */
- /**********************************/
- .org 0xC00
-.proc ___system_call
- .global ___system_call
-___system_call:
- l.addi r1,r1,-80
- l.sw 0(r1),r3
- l.sw 28(r1),r11
- l.movhi r11,hi(_Or1k_Interrupt_Vectors)
- l.ori r11,r11,lo(_Or1k_Interrupt_Vectors)
- l.lwz r11,48(r11)
- l.j ___standard_exception
- l.addi r3,r0,12
-.endproc ___system_call
-
- /* Code wasted between here and 0xD00 */
-
- /**********************************/
- /* Breakpoint vector static code */
- /**********************************/
- .org 0xD00
-.proc ___breakpoint
- .global ___breakpoint
-___breakpoint:
-
- /* In keeping with the necessary requirements for
- gdb to work, we are limiting this vector to
- only 2 statements, which effect an immediate
- return. At a later date, we may insert a debug
- monitor here that will do even more, but for
- now, this is all we want. */
- l.rfe
- l.nop
-
-.endproc ___breakpoint
-
- /* Code wasted between here and 0xE00 */
-
- /*************************************/
- /* Trap Exception vector static code */
- /*************************************/
- .org 0xE00
-.proc ___trap_exception
- .global ___trap_exception
-___trap_exception:
- l.addi r1,r1,-80
- l.sw 0(r1),r3
- l.sw 28(r1),r11
- l.movhi r11,hi(_Or1k_Interrupt_Vectors)
- l.ori r11,r11,lo(_Or1k_Interrupt_Vectors)
- l.lwz r11,56(r11)
- l.j ___standard_exception
- l.addi r3,r0,14
-.endproc ___trap_exception
-
- /* Code wasted between here and 0x2000 */
-
- /* Exceptions from 0xF00 to 0x1F00 are not defined */
- /* in the Or1k architecture. They should be filled */
- /* in here for other implementations. */
-
- .org 0x2000 /* Start after exception vector table */
-
- /*********************/
- /* start */
- /*********************/
-
- /* This is where we jump to right after the reset exception
- handler. The system configuration information should
- be passed to us in a pointer in r4. Generally, the
- reset vector will call this routine directly, and
- the memory configuration information will be stored
- in the ROM/Flash image. It was decided no attempt
- would be made to automatically determine this
- information by probing, as the scheme would be too
- complex and inherently unreliable. */
-
- /* Initialize strings and structures here */
-L_program:
- .ascii "RTEMS_or1k\000"
- .align 4
-L_argv:
- .word L_program
-
-.proc _start
- .def _start
- .val _start
- .scl 2
- .type 044
- .endef
- .global _start
-_start:
-
- /* Initialize the memory controller here!
- Discussions with Rudi have stated that
- the first few bytes of the ROM image should
- contain a RAM map as opposed to trying to
- figure out what to do based on probing. This
- means a separate build of the OS for every
- possible board configuration, but there
- doesn't seem to be a better alternative. */
-
- /*** FIX ME! Initialize the external memory controller! ***/
-
- /* Move the data segment to RAM. Alternatively, we may
- copy the text segment as well. For now, we'll assume
- that the cache gives us sufficient performance that this
- is not necessary. It will be very easy to add this later.
- */
- l.movhi r4,hi(_etext)
- l.ori r4,r4,lo(_etext)
- l.movhi r5,hi(_BOTTOM_OF_MEMORY)
- l.ori r5,r5,lo(_BOTTOM_OF_MEMORY)
- l.lwz r5,0(r5) # Dereference it
-/* l.add r5,r5,r4 # Place it in memory above the text segment*/
- l.movhi r3,hi(_edata)
- l.ori r3,r3,lo(_edata)
- l.movhi r5,hi(_data_start)
- l.ori r5,r5,lo(_data_start)
-
-L3_0:
- l.lwz r6,0(r4)
- l.addi r5,r5,4
- l.addi r4,r4,4
- l.sfeq r3,r5
- l.bnf L3_0
- l.sw -4(r5),r6 # Minimize write after read stalls
-
- /* Initialize the BSS segment */
- l.movhi r3,hi(__end)
- l.ori r3,r3,lo(__end)
-/* l.sub r3,r3,r4
- l.add r3,r3,r5*/
- l.sfleu r3,r5
- l.bf L3_2 # Check for no BSS segment!
- l.nop
-
-L3_1:
- l.addi r5,r5,4
- l.sfeq r5,r3
- l.bnf L3_1
- l.sw -4(r5),r0
-
-L3_2:
- /* Tell everyone where the heap begins */
- l.movhi r4,hi(__mem_end)
- l.ori r4,r4,lo(__mem_end)
- l.sw 0(r4),r5
-
- /* Due to what I consider a bug in RTEMS, the entire
- heap must be zeroed. I think this is the dumbest thing
- I've ever heard, but whatever turns them on. I'd rather
- see the code which depends on this behavior fixed. I
- myself have never written code which assumes zeroes
- will be returned from memory allocated from the heap.
- Anyway, if I don't do it here, I have to set a flag in
- the CPU structure which then will do it anyway, but
- from less efficient C code! Zero from here to the
- stack pointer... One day when I'm old and gray maybe
- I'll set this to random values instead and fix
- whatever breaks. */
-
- l.sw 0(r5),r0
- l.sfeq r5,r1
- l.bnf L3_3
- l.addi r5,r5,4
-
-L3_3:
- l.addi r3,r0,1 /* Set argc to 1 */
- l.movhi r4,hi(L_argv) /* Initialize argv */
- l.ori r4,r4,lo(L_argv)
- l.addi r5,r5,0 /* Set envp to NULL */
-
- l.mfspr r11,r0,17 /* Get SR value */
- l.ori r11,r11,0x4 /* Set interrupt enable bit */
- l.jal _boot_card /* Boot up the card...run the OS */
- l.mtspr r0,r11,17 /* Enable exceptions (DELAY) */
-
- /* We're done. We exited normally. Shut down. */
- l.jal __exit
- l.nop
-
-.endproc _start
- .def _start
- .val .
- .scl -1
- .endef
-
- END_CODE
diff --git a/c/src/lib/libbsp/or32/orp/startup/bspclean.c b/c/src/lib/libbsp/or32/orp/startup/bspclean.c
deleted file mode 100644
index 5a6bbb6744..0000000000
--- a/c/src/lib/libbsp/or32/orp/startup/bspclean.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* bsp_cleanup()
- *
- * This routine normally is part of start.s and usually returns
- * control to a monitor.
- *
- * INPUT: NONE
- *
- * OUTPUT: NONE
- *
- * COPYRIGHT (c) 1989-1999.
- * 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 <rtems.h>
-#include <bsp.h>
-
-void bsp_cleanup( void )
-{
- exit(0);
-}
diff --git a/c/src/lib/libbsp/or32/orp/startup/bspstart.c b/c/src/lib/libbsp/or32/orp/startup/bspstart.c
deleted file mode 100644
index 27bfb58a9e..0000000000
--- a/c/src/lib/libbsp/or32/orp/startup/bspstart.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * This routine starts the application. It includes application,
- * board, and monitor specific initialization and configuration.
- * The generic CPU dependent initialization has been performed
- * before this routine is invoked.
- *
- * COPYRIGHT (c) 1989-1999.
- * 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.
- *
- * This file adapted from no_bsp board library of the RTEMS distribution.
- * The body has been modified for the Bender Or1k implementation by
- * Chris Ziomkowski. <chris@asics.ws>
- */
-
-#include <bsp.h>
-#include <rtems/libio.h>
-
-#include <rtems/libcsupport.h>
-
-#include <string.h>
-extern int _mem_end;
-
-/*
- * The original table from the application and our copy of it with
- * some changes.
- */
-
-extern rtems_configuration_table Configuration;
-
-rtems_configuration_table BSP_Configuration;
-
-rtems_cpu_table Cpu_table;
-
-/*
- * Use the shared implementations of the following routines
- */
-
-void bsp_postdriver_hook(void);
-void bsp_libc_init( void *, uint32_t, int );
-
-/*
- * Function: bsp_pretasking_hook
- * Created: 95/03/10
- *
- * Description:
- * BSP pretasking hook. Called just before drivers are initialized.
- * Used to setup libc and install any BSP extensions.
- *
- * NOTES:
- * Must not use libc (to do io) from here, since drivers are
- * not yet initialized.
- *
- */
-
-void bsp_pretasking_hook(void)
-{
- uint32_t heap_start;
-
- heap_start = (uint32_t) _mem_end;
- if (heap_start & (CPU_ALIGNMENT-1))
- heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
-
- bsp_libc_init((void *) heap_start, 64 * 1024, 0);
-
-#ifdef RTEMS_DEBUG
- rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
-#endif
-}
-
-/*
- * bsp_start
- *
- * This routine does the bulk of the system initialization.
- */
-
-void bsp_start( void )
-{
- /*
- * Allocate the memory for the RTEMS Work Space. This can come from
- * a variety of places: hard coded address, malloc'ed from outside
- * RTEMS world (e.g. simulator or primitive memory manager), or (as
- * typically done by stock BSPs) by subtracting the required amount
- * of work space from the last physical address on the CPU board.
- */
-
- /*
- * Need to "allocate" the memory for the RTEMS Workspace and
- * tell the RTEMS configuration where it is. This memory is
- * not malloc'ed. It is just "pulled from the air".
- */
-
- BSP_Configuration.work_space_start = _mem_end;
- _mem_end += BSP_Configuration.work_space_size + 512;
- ( BSP_Configuration.work_space_size + 512 );
-
- BSP_Configuration.work_space_start = (void *) ((unsigned int)((char *)BSP_Configuration.work_space_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1));
-
- /*
- * initialize the CPU table for this BSP
- */
-
- Cpu_table.pretasking_hook = bsp_pretasking_hook; /* init libc, etc. */
- Cpu_table.postdriver_hook = bsp_postdriver_hook;
- Cpu_table.do_zero_of_workspace = FALSE;
- Cpu_table.interrupt_stack_size = CONFIGURE_INTERRUPT_STACK_MEMORY;
-
- /*
- * Start RTEMS
- */
-
- rtems_initialize_executive( &BSP_Configuration, &Cpu_table );
-
- bsp_cleanup();
-}
diff --git a/c/src/lib/libbsp/or32/orp/startup/linkcmds b/c/src/lib/libbsp/or32/orp/startup/linkcmds
deleted file mode 100644
index 7c73a1dc9d..0000000000
--- a/c/src/lib/libbsp/or32/orp/startup/linkcmds
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * This file contains directives for the GNU linker which are specific
- * to the NO_CPU NO_BSP BOARD.
- *
- * COPYRIGHT (c) 1989-1999.
- * 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$
- */
-
-MEMORY
- {
- flash : org = 0x00000000, l = 2M
- ram : org = 0x10000000, l = 32M
- }
-
-SECTIONS
-{
- .text : AT (0x0) {
- text_start = . ;
- _text_start = . ;
-
- *(.text)
- . = ALIGN (16);
-
- /*
- * Special FreeBSD sysctl sections.
- */
- . = ALIGN (16);
- __start_set_sysctl_set = .;
- *(set_sysctl_*);
- __stop_set_sysctl_set = ABSOLUTE(.);
- *(set_domain_*);
- *(set_pseudo_*);
-
- *(.eh_fram)
- . = ALIGN (16);
-
- /*
- * C++ constructors
- */
- __CTOR_LIST__ = .;
- LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
- *(.ctors)
- LONG(0)
- __CTOR_END__ = .;
- __DTOR_LIST__ = .;
- LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
- *(.dtors)
- LONG(0)
- __DTOR_END__ = .;
- _etext = ALIGN( 0x10 ) ;
- . = ALIGN( 0x10) ;
- } > flash
-
- .data : AT ( ADDR(.text) + SIZEOF(.text) ) {
- data_start = . ;
- _data_start = . ;
-
- *(.data)
-
- _edata = ALIGN( 0x10 );
- . = ALIGN (0x10);
- } > ram
-
- .bss : AT ( ADDR(.text) + SIZEOF(.text) + SIZEOF(.data) ) {
- bss_start = .;
- _bss_start = .;
-
- *(.bss)
- *(COMMON)
-
- end = ALIGN( 0x10 );
- __end = ALIGN( 0x10 );
- . = ALIGN (0x10);
- } > ram
-
-}
diff --git a/c/src/lib/libbsp/or32/orp/startup/setvec.c b/c/src/lib/libbsp/or32/orp/startup/setvec.c
deleted file mode 100644
index e72a92fb24..0000000000
--- a/c/src/lib/libbsp/or32/orp/startup/setvec.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* set_vector
- *
- * This routine installs an interrupt vector on the target Board/CPU.
- * This routine is allowed to be as board dependent as necessary.
- *
- * INPUT:
- * handler - interrupt handler entry point
- * vector - vector number
- * type - 0 indicates raw hardware connect
- * 1 indicates RTEMS interrupt connect
- *
- * RETURNS:
- * address of previous interrupt handler
- *
- * COPYRIGHT (c) 1989-1999.
- * 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 <rtems.h>
-#include <bsp.h>
-
-no_cpu_isr_entry set_vector( /* returns old vector */
- rtems_isr_entry handler, /* isr routine */
- rtems_vector_number vector, /* vector number */
- int type /* RTEMS or RAW intr */
-)
-{
- no_cpu_isr_entry previous_isr;
-
- if ( type )
- rtems_interrupt_catch( handler, vector, (rtems_isr_entry *) &previous_isr );
- else {
- /* XXX: install non-RTEMS ISR as "raw" interupt */
- }
- return previous_isr;
-}
diff --git a/c/src/lib/libbsp/or32/orp/timer/timer.c b/c/src/lib/libbsp/or32/orp/timer/timer.c
deleted file mode 100644
index 82ce3904dd..0000000000
--- a/c/src/lib/libbsp/or32/orp/timer/timer.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/* timer.c
- *
- * This file manages the benchmark timer used by the RTEMS Timing Test
- * Suite. Each measured time period is demarcated by calls to
- * Timer_initialize() and Read_timer(). Read_timer() usually returns
- * the number of microseconds since Timer_initialize() exitted.
- *
- * NOTE: It is important that the timer start/stop overhead be
- * determined when porting or modifying this code.
- *
- * COPYRIGHT (c) 1989-1999.
- * 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 <rtems.h>
-#include <bsp.h>
-
-uint32_t Timer_interrupts;
-rtems_boolean Timer_driver_Find_average_overhead;
-
-void Timer_initialize( void )
-{
-
- /*
- * Timer has never overflowed. This may not be necessary on some
- * implemenations of timer but ....
- */
-
- Timer_interrupts = 0;
-
- /*
- * Somehow start the timer
- */
-}
-
-/*
- * The following controls the behavior of Read_timer().
- *
- * 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 X.X 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 */
-
-int Read_timer( void )
-{
- uint32_t clicks;
- uint32_t total;
-
- /*
- * Read the timer and see how many clicks it has been since we started.
- */
-
- clicks = 0; /* XXX: read some HW here */
-
- /*
- * Total is calculated by taking into account the number of timer overflow
- * interrupts since the timer was initialized and clicks since the last
- * interrupts.
- */
-
- total = clicks * 0;
-
- if ( Timer_driver_Find_average_overhead == 1 )
- return total; /* in XXX microsecond units */
- else {
- if ( total < LEAST_VALID )
- return 0; /* below timer resolution */
- /*
- * Somehow convert total into microseconds
- */
- return (total - AVG_OVERHEAD);
- }
-}
-
-/*
- * Empty function call used in loops to measure basic cost of looping
- * in Timing Test Suite.
- */
-
-rtems_status_code Empty_function( void )
-{
- return RTEMS_SUCCESSFUL;
-}
-
-void Set_find_average_overhead(
- rtems_boolean find_flag
-)
-{
- Timer_driver_Find_average_overhead = find_flag;
-}
diff --git a/c/src/lib/libbsp/or32/orp/timer/timerisr.c b/c/src/lib/libbsp/or32/orp/timer/timerisr.c
deleted file mode 100644
index 7cbd49a050..0000000000
--- a/c/src/lib/libbsp/or32/orp/timer/timerisr.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* timerisr.s
- *
- * If required this ISR is used to bump a count of interval "overflow"
- * interrupts which have occurred since the timer was started. The
- * number of overflows is taken into account in the Read_timer()
- * routine if necessary.
- *
- * To reduce overhead this is best to be the "rawest" hardware interupt
- * handler you can write. This should be the only interrupt which can
- * occur during the measured time period.
- *
- * NOTE: This file is USUALLY in assembly and is LEAN AND MEAN.
- * Any code in this isr is pure overhead which can perturb
- * the accuracy of the Timing Test Suite.
- *
- * COPYRIGHT (c) 1989-1999.
- * 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 <rtems.h>
-
-extern uint32_t _Timer_interrupts;
-
-void timerisr( void )
-{
- /*
- * _Timer_interrupts += TIMER_BETWEEN_OVERFLOWS (usually in microseconds)
- * return from interrupt
- */
-}
diff --git a/c/src/lib/libbsp/or32/orp/times b/c/src/lib/libbsp/or32/orp/times
deleted file mode 100644
index 2ac0b9ee22..0000000000
--- a/c/src/lib/libbsp/or32/orp/times
+++ /dev/null
@@ -1,194 +0,0 @@
-#
-# Timing Test Suite Results for the NO_BSP
-#
-# NOTE: This is just a template. The times are irrelevant since this BSP
-# can only be compiled -- not executed.
-#
-# $Id$
-#
-
-Board:
-CPU: include coprocessor if applicable
-Clock Speed:
-Memory Configuration: SRAM, DRAM, cache, etc
-Wait States:
-
-Times Reported in: cycles, microseconds, etc
-Timer Source: Count Down Timer, on-CPU cycle counter, etc
-
-Column X:
-Column Y:
-
-# DESCRIPTION A B
-== ================================================================= ==== ====
- 1 rtems_semaphore_create 20
- rtems_semaphore_delete 21
- rtems_semaphore_obtain: available 15
- rtems_semaphore_obtain: not available -- NO_WAIT 15
- rtems_semaphore_release: no waiting tasks 16
-
- 2 rtems_semaphore_obtain: not available -- caller blocks 62
-
- 3 rtems_semaphore_release: task readied -- preempts caller 55
-
- 4 rtems_task_restart: blocked task -- preempts caller 77
- rtems_task_restart: ready task -- preempts caller 70
- rtems_semaphore_release: task readied -- returns to caller 25
- rtems_task_create 57
- rtems_task_start 31
- rtems_task_restart: suspended task -- returns to caller 36
- rtems_task_delete: suspended task 47
- rtems_task_restart: ready task -- returns to caller 37
- rtems_task_restart: blocked task -- returns to caller 46
- rtems_task_delete: blocked task 50
-
- 5 rtems_task_suspend: calling task 51
- rtems_task_resume: task readied -- preempts caller 49
-
- 6 rtems_task_restart: calling task 59
- rtems_task_suspend: returns to caller 18
- rtems_task_resume: task readied -- returns to caller 19
- rtems_task_delete: ready task 50
-
- 7 rtems_task_restart: suspended task -- preempts caller 70
-
- 8 rtems_task_set_priority: obtain current priority 12
- rtems_task_set_priority: returns to caller 27
- rtems_task_mode: obtain current mode 5
- rtems_task_mode: no reschedule 5
- rtems_task_mode: reschedule -- returns to caller 8
- rtems_task_mode: reschedule -- preempts caller 39
- rtems_task_set_note 13
- rtems_task_get_note 13
- rtems_clock_set 33
- rtems_clock_get 3
-
- 9 rtems_message_queue_create 110
- rtems_message_queue_send: no waiting tasks 37
- rtems_message_queue_urgent: no waiting tasks 37
- rtems_message_queue_receive: available 31
- rtems_message_queue_flush: no messages flushed 12
- rtems_message_queue_flush: messages flushed 16
- rtems_message_queue_delete 26
-
-10 rtems_message_queue_receive: not available -- NO_WAIT 15
- rtems_message_queue_receive: not available -- caller blocks 62
-
-11 rtems_message_queue_send: task readied -- preempts caller 72
-
-12 rtems_message_queue_send: task readied -- returns to caller 39
-
-13 rtems_message_queue_urgent: task readied -- preempts caller 72
-
-14 rtems_message_queue_urgent: task readied -- returns to caller 39
-
-15 rtems_event_receive: obtain current events 1
- rtems_event_receive: not available -- NO_WAIT 12
- rtems_event_receive: not available -- caller blocks 56
- rtems_event_send: no task readied 12
- rtems_event_receive: available 12
- rtems_event_send: task readied -- returns to caller 24
-
-16 rtems_event_send: task readied -- preempts caller 55
-
-17 rtems_task_set_priority: preempts caller 62
-
-18 rtems_task_delete: calling task 83
-
-19 rtems_signal_catch 9
- rtems_signal_send: returns to caller 15
- rtems_signal_send: signal to self 18
- exit ASR overhead: returns to calling task 22
- exit ASR overhead: returns to preempting task 49
-
-20 rtems_partition_create 35
- rtems_region_create 23
- rtems_partition_get_buffer: available 15
- rtems_partition_get_buffer: not available 13
- rtems_partition_return_buffer 18
- rtems_partition_delete 16
- rtems_region_get_segment: available 22
- rtems_region_get_segment: not available -- NO_WAIT 21
- rtems_region_return_segment: no waiting tasks 19
- rtems_region_get_segment: not available -- caller blocks 64
- rtems_region_return_segment: task readied -- preempts caller 74
- rtems_region_return_segment: task readied -- returns to caller 44
- rtems_region_delete 16
- rtems_io_initialize 2
- rtems_io_open 1
- rtems_io_close 1
- rtems_io_read 1
- rtems_io_write 1
- rtems_io_control 1
-
-21 rtems_task_ident 149
- rtems_message_queue_ident 145
- rtems_semaphore_ident 156
- rtems_partition_ident 145
- rtems_region_ident 148
- rtems_port_ident 145
- rtems_timer_ident 145
- rtems_rate_monotonic_ident 145
-
-22 rtems_message_queue_broadcast: task readied -- returns to caller 42
- rtems_message_queue_broadcast: no waiting tasks 17
- rtems_message_queue_broadcast: task readied -- preempts caller 78
-
-23 rtems_timer_create 14
- rtems_timer_fire_after: inactive 22
- rtems_timer_fire_after: active 24
- rtems_timer_cancel: active 15
- rtems_timer_cancel: inactive 13
- rtems_timer_reset: inactive 21
- rtems_timer_reset: active 23
- rtems_timer_fire_when: inactive 34
- rtems_timer_fire_when: active 34
- rtems_timer_delete: active 19
- rtems_timer_delete: inactive 17
- rtems_task_wake_when 69
-
-24 rtems_task_wake_after: yield -- returns to caller 9
- rtems_task_wake_after: yields -- preempts caller 45
-
-25 rtems_clock_tick 4
-
-26 _ISR_Disable 0
- _ISR_Flash 1
- _ISR_Enable 1
- _Thread_Disable_dispatch 0
- _Thread_Enable_dispatch 7
- _Thread_Set_state 11
- _Thread_Disptach (NO FP) 31
- context switch: no floating point contexts 21
- context switch: self 10
- context switch: to another task 10
- context switch: restore 1st FP task 25
- fp context switch: save idle, restore idle 31
- fp context switch: save idle, restore initialized 19
- fp context switch: save initialized, restore initialized 20
- _Thread_Resume 7
- _Thread_Unblock 7
- _Thread_Ready 9
- _Thread_Get 4
- _Semaphore_Get 2
- _Thread_Get: invalid id 0
-
-27 interrupt entry overhead: returns to interrupted task 6
- interrupt exit overhead: returns to interrupted task 6
- interrupt entry overhead: returns to nested interrupt 6
- interrupt exit overhead: returns to nested interrupt 5
- interrupt entry overhead: returns to preempting task 7
- interrupt exit overhead: returns to preempting task 36
-
-28 rtems_port_create 16
- rtems_port_external_to_internal 11
- rtems_port_internal_to_external 11
- rtems_port_delete 16
-
-29 rtems_rate_monotonic_create 15
- rtems_rate_monotonic_period: initiate period -- returns to caller 21
- rtems_rate_monotonic_period: obtain status 13
- rtems_rate_monotonic_cancel 16
- rtems_rate_monotonic_delete: inactive 18
- rtems_rate_monotonic_delete: active 20
- rtems_rate_monotonic_period: conclude periods -- caller blocks 53