From 9a529819186f7d091ff23ae5fb7963311c6646f6 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 7 Jan 2004 20:59:03 +0000 Subject: 2004-01-07 Joel Sherrill Per John S. Gwynne , there are no longer any users of these boards so we are removing them. * efi332/.cvsignore, efi332/ChangeLog, efi332/Makefile.am, efi332/README, efi332/bsp_specs, efi332/configure.ac, efi332/times, efi332/clock/.cvsignore, efi332/clock/Makefile.am, efi332/clock/ckinit.c, efi332/console/.cvsignore, efi332/console/Makefile.am, efi332/console/console.c, efi332/include/.cvsignore, efi332/include/bsp.h, efi332/include/efi332.h, efi332/misc/dotests, efi332/misc/gdbinit68, efi332/misc/interr.c, efi332/spurious/.cvsignore, efi332/spurious/Makefile.am, efi332/spurious/spinit.c, efi332/start/.cvsignore, efi332/start/Makefile.am, efi332/start/except_vect_332_ROM.S, efi332/start/ram_init.ld, efi332/start/ram_init.sed, efi332/start/start.c, efi332/startup/.cvsignore, efi332/startup/Makefile.am, efi332/startup/bspclean.c, efi332/startup/bspstart.c, efi332/startup/linkcmds, efi332/startup/linkcmds_ROM, efi332/timer/.cvsignore, efi332/timer/Makefile.am, efi332/timer/timer.c, efi332/wrapup/.cvsignore, efi332/wrapup/Makefile.am, efi68k/.cvsignore, efi68k/ChangeLog, efi68k/Makefile.am, efi68k/README, efi68k/bsp_specs, efi68k/configure.ac, efi68k/times, efi68k/clock/.cvsignore, efi68k/clock/Makefile.am, efi68k/clock/ckinit.c, efi68k/console/.cvsignore, efi68k/console/Makefile.am, efi68k/console/console.c, efi68k/include/.cvsignore, efi68k/include/16550.h, efi68k/include/DP8570A.h, efi68k/include/bsp.h, efi68k/include/efi68k.h, efi68k/spurious/.cvsignore, efi68k/spurious/Makefile.am, efi68k/spurious/spinit.c, efi68k/start/.cvsignore, efi68k/start/start.c, efi68k/startup/.cvsignore, efi68k/startup/Makefile.am, efi68k/startup/bspclean.c, efi68k/startup/bspstart.c, efi68k/startup/efi68k_tcp.c, efi68k/startup/efi68k_wd.c, efi68k/startup/linkcmds, efi68k/startup/m68k-stub.c, efi68k/startup/setvec.c, efi68k/timer/.cvsignore, efi68k/timer/Makefile.am, efi68k/timer/timer.c, efi68k/wrapup/.cvsignore, efi68k/wrapup/Makefile.am: Removed. --- c/src/lib/libbsp/m68k/ChangeLog | 40 ++ c/src/lib/libbsp/m68k/efi332/.cvsignore | 14 - c/src/lib/libbsp/m68k/efi332/ChangeLog | 316 --------- c/src/lib/libbsp/m68k/efi332/Makefile.am | 30 - c/src/lib/libbsp/m68k/efi332/README | 29 - c/src/lib/libbsp/m68k/efi332/bsp_specs | 16 - c/src/lib/libbsp/m68k/efi332/clock/.cvsignore | 2 - c/src/lib/libbsp/m68k/efi332/clock/Makefile.am | 30 - c/src/lib/libbsp/m68k/efi332/clock/ckinit.c | 129 ---- c/src/lib/libbsp/m68k/efi332/configure.ac | 26 - c/src/lib/libbsp/m68k/efi332/console/.cvsignore | 2 - c/src/lib/libbsp/m68k/efi332/console/Makefile.am | 30 - c/src/lib/libbsp/m68k/efi332/console/console.c | 392 ----------- c/src/lib/libbsp/m68k/efi332/include/.cvsignore | 6 - c/src/lib/libbsp/m68k/efi332/include/bsp.h | 165 ----- c/src/lib/libbsp/m68k/efi332/include/efi332.h | 52 -- c/src/lib/libbsp/m68k/efi332/misc/dotests | 15 - c/src/lib/libbsp/m68k/efi332/misc/gdbinit68 | 16 - c/src/lib/libbsp/m68k/efi332/misc/interr.c | 99 --- c/src/lib/libbsp/m68k/efi332/spurious/.cvsignore | 2 - c/src/lib/libbsp/m68k/efi332/spurious/Makefile.am | 30 - c/src/lib/libbsp/m68k/efi332/spurious/spinit.c | 88 --- c/src/lib/libbsp/m68k/efi332/start/.cvsignore | 2 - c/src/lib/libbsp/m68k/efi332/start/Makefile.am | 65 -- .../libbsp/m68k/efi332/start/except_vect_332_ROM.S | 290 -------- c/src/lib/libbsp/m68k/efi332/start/ram_init.ld | 22 - c/src/lib/libbsp/m68k/efi332/start/ram_init.sed | 47 -- c/src/lib/libbsp/m68k/efi332/start/start.c | 228 ------ c/src/lib/libbsp/m68k/efi332/startup/.cvsignore | 2 - c/src/lib/libbsp/m68k/efi332/startup/Makefile.am | 45 -- c/src/lib/libbsp/m68k/efi332/startup/bspclean.c | 27 - c/src/lib/libbsp/m68k/efi332/startup/bspstart.c | 84 --- c/src/lib/libbsp/m68k/efi332/startup/linkcmds | 206 ------ c/src/lib/libbsp/m68k/efi332/startup/linkcmds_ROM | 216 ------ c/src/lib/libbsp/m68k/efi332/timer/.cvsignore | 2 - c/src/lib/libbsp/m68k/efi332/timer/Makefile.am | 30 - c/src/lib/libbsp/m68k/efi332/timer/timer.c | 83 --- c/src/lib/libbsp/m68k/efi332/times | 193 ----- c/src/lib/libbsp/m68k/efi332/wrapup/.cvsignore | 2 - c/src/lib/libbsp/m68k/efi332/wrapup/Makefile.am | 20 - c/src/lib/libbsp/m68k/efi68k/.cvsignore | 14 - c/src/lib/libbsp/m68k/efi68k/ChangeLog | 306 -------- c/src/lib/libbsp/m68k/efi68k/Makefile.am | 52 -- c/src/lib/libbsp/m68k/efi68k/README | 41 -- c/src/lib/libbsp/m68k/efi68k/bsp_specs | 16 - c/src/lib/libbsp/m68k/efi68k/clock/.cvsignore | 2 - c/src/lib/libbsp/m68k/efi68k/clock/Makefile.am | 30 - c/src/lib/libbsp/m68k/efi68k/clock/ckinit.c | 150 ---- c/src/lib/libbsp/m68k/efi68k/configure.ac | 25 - c/src/lib/libbsp/m68k/efi68k/console/.cvsignore | 2 - c/src/lib/libbsp/m68k/efi68k/console/Makefile.am | 30 - c/src/lib/libbsp/m68k/efi68k/console/console.c | 365 ---------- c/src/lib/libbsp/m68k/efi68k/include/.cvsignore | 6 - c/src/lib/libbsp/m68k/efi68k/include/16550.h | 110 --- c/src/lib/libbsp/m68k/efi68k/include/DP8570A.h | 275 -------- c/src/lib/libbsp/m68k/efi68k/include/bsp.h | 173 ----- c/src/lib/libbsp/m68k/efi68k/include/efi68k.h | 34 - c/src/lib/libbsp/m68k/efi68k/spurious/.cvsignore | 2 - c/src/lib/libbsp/m68k/efi68k/spurious/Makefile.am | 30 - c/src/lib/libbsp/m68k/efi68k/spurious/spinit.c | 85 --- c/src/lib/libbsp/m68k/efi68k/start/.cvsignore | 2 - c/src/lib/libbsp/m68k/efi68k/start/start.c | 72 -- c/src/lib/libbsp/m68k/efi68k/startup/.cvsignore | 2 - c/src/lib/libbsp/m68k/efi68k/startup/Makefile.am | 43 -- c/src/lib/libbsp/m68k/efi68k/startup/bspclean.c | 27 - c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c | 92 --- c/src/lib/libbsp/m68k/efi68k/startup/efi68k_tcp.c | 239 ------- c/src/lib/libbsp/m68k/efi68k/startup/efi68k_wd.c | 45 -- c/src/lib/libbsp/m68k/efi68k/startup/linkcmds | 213 ------ c/src/lib/libbsp/m68k/efi68k/startup/m68k-stub.c | 782 --------------------- c/src/lib/libbsp/m68k/efi68k/startup/setvec.c | 44 -- c/src/lib/libbsp/m68k/efi68k/timer/.cvsignore | 2 - c/src/lib/libbsp/m68k/efi68k/timer/Makefile.am | 30 - c/src/lib/libbsp/m68k/efi68k/timer/timer.c | 141 ---- c/src/lib/libbsp/m68k/efi68k/times | 193 ----- c/src/lib/libbsp/m68k/efi68k/wrapup/.cvsignore | 2 - c/src/lib/libbsp/m68k/efi68k/wrapup/Makefile.am | 20 - 77 files changed, 40 insertions(+), 6750 deletions(-) delete mode 100644 c/src/lib/libbsp/m68k/efi332/.cvsignore delete mode 100644 c/src/lib/libbsp/m68k/efi332/ChangeLog delete mode 100644 c/src/lib/libbsp/m68k/efi332/Makefile.am delete mode 100644 c/src/lib/libbsp/m68k/efi332/README delete mode 100644 c/src/lib/libbsp/m68k/efi332/bsp_specs delete mode 100644 c/src/lib/libbsp/m68k/efi332/clock/.cvsignore delete mode 100644 c/src/lib/libbsp/m68k/efi332/clock/Makefile.am delete mode 100644 c/src/lib/libbsp/m68k/efi332/clock/ckinit.c delete mode 100644 c/src/lib/libbsp/m68k/efi332/configure.ac delete mode 100644 c/src/lib/libbsp/m68k/efi332/console/.cvsignore delete mode 100644 c/src/lib/libbsp/m68k/efi332/console/Makefile.am delete mode 100644 c/src/lib/libbsp/m68k/efi332/console/console.c delete mode 100644 c/src/lib/libbsp/m68k/efi332/include/.cvsignore delete mode 100644 c/src/lib/libbsp/m68k/efi332/include/bsp.h delete mode 100644 c/src/lib/libbsp/m68k/efi332/include/efi332.h delete mode 100644 c/src/lib/libbsp/m68k/efi332/misc/dotests delete mode 100644 c/src/lib/libbsp/m68k/efi332/misc/gdbinit68 delete mode 100644 c/src/lib/libbsp/m68k/efi332/misc/interr.c delete mode 100644 c/src/lib/libbsp/m68k/efi332/spurious/.cvsignore delete mode 100644 c/src/lib/libbsp/m68k/efi332/spurious/Makefile.am delete mode 100644 c/src/lib/libbsp/m68k/efi332/spurious/spinit.c delete mode 100644 c/src/lib/libbsp/m68k/efi332/start/.cvsignore delete mode 100644 c/src/lib/libbsp/m68k/efi332/start/Makefile.am delete mode 100644 c/src/lib/libbsp/m68k/efi332/start/except_vect_332_ROM.S delete mode 100644 c/src/lib/libbsp/m68k/efi332/start/ram_init.ld delete mode 100644 c/src/lib/libbsp/m68k/efi332/start/ram_init.sed delete mode 100644 c/src/lib/libbsp/m68k/efi332/start/start.c delete mode 100644 c/src/lib/libbsp/m68k/efi332/startup/.cvsignore delete mode 100644 c/src/lib/libbsp/m68k/efi332/startup/Makefile.am delete mode 100644 c/src/lib/libbsp/m68k/efi332/startup/bspclean.c delete mode 100644 c/src/lib/libbsp/m68k/efi332/startup/bspstart.c delete mode 100644 c/src/lib/libbsp/m68k/efi332/startup/linkcmds delete mode 100644 c/src/lib/libbsp/m68k/efi332/startup/linkcmds_ROM delete mode 100644 c/src/lib/libbsp/m68k/efi332/timer/.cvsignore delete mode 100644 c/src/lib/libbsp/m68k/efi332/timer/Makefile.am delete mode 100644 c/src/lib/libbsp/m68k/efi332/timer/timer.c delete mode 100644 c/src/lib/libbsp/m68k/efi332/times delete mode 100644 c/src/lib/libbsp/m68k/efi332/wrapup/.cvsignore delete mode 100644 c/src/lib/libbsp/m68k/efi332/wrapup/Makefile.am delete mode 100644 c/src/lib/libbsp/m68k/efi68k/.cvsignore delete mode 100644 c/src/lib/libbsp/m68k/efi68k/ChangeLog delete mode 100644 c/src/lib/libbsp/m68k/efi68k/Makefile.am delete mode 100644 c/src/lib/libbsp/m68k/efi68k/README delete mode 100644 c/src/lib/libbsp/m68k/efi68k/bsp_specs delete mode 100644 c/src/lib/libbsp/m68k/efi68k/clock/.cvsignore delete mode 100644 c/src/lib/libbsp/m68k/efi68k/clock/Makefile.am delete mode 100644 c/src/lib/libbsp/m68k/efi68k/clock/ckinit.c delete mode 100644 c/src/lib/libbsp/m68k/efi68k/configure.ac delete mode 100644 c/src/lib/libbsp/m68k/efi68k/console/.cvsignore delete mode 100644 c/src/lib/libbsp/m68k/efi68k/console/Makefile.am delete mode 100644 c/src/lib/libbsp/m68k/efi68k/console/console.c delete mode 100644 c/src/lib/libbsp/m68k/efi68k/include/.cvsignore delete mode 100644 c/src/lib/libbsp/m68k/efi68k/include/16550.h delete mode 100644 c/src/lib/libbsp/m68k/efi68k/include/DP8570A.h delete mode 100644 c/src/lib/libbsp/m68k/efi68k/include/bsp.h delete mode 100644 c/src/lib/libbsp/m68k/efi68k/include/efi68k.h delete mode 100644 c/src/lib/libbsp/m68k/efi68k/spurious/.cvsignore delete mode 100644 c/src/lib/libbsp/m68k/efi68k/spurious/Makefile.am delete mode 100644 c/src/lib/libbsp/m68k/efi68k/spurious/spinit.c delete mode 100644 c/src/lib/libbsp/m68k/efi68k/start/.cvsignore delete mode 100644 c/src/lib/libbsp/m68k/efi68k/start/start.c delete mode 100644 c/src/lib/libbsp/m68k/efi68k/startup/.cvsignore delete mode 100644 c/src/lib/libbsp/m68k/efi68k/startup/Makefile.am delete mode 100644 c/src/lib/libbsp/m68k/efi68k/startup/bspclean.c delete mode 100644 c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c delete mode 100644 c/src/lib/libbsp/m68k/efi68k/startup/efi68k_tcp.c delete mode 100644 c/src/lib/libbsp/m68k/efi68k/startup/efi68k_wd.c delete mode 100644 c/src/lib/libbsp/m68k/efi68k/startup/linkcmds delete mode 100644 c/src/lib/libbsp/m68k/efi68k/startup/m68k-stub.c delete mode 100644 c/src/lib/libbsp/m68k/efi68k/startup/setvec.c delete mode 100644 c/src/lib/libbsp/m68k/efi68k/timer/.cvsignore delete mode 100644 c/src/lib/libbsp/m68k/efi68k/timer/Makefile.am delete mode 100644 c/src/lib/libbsp/m68k/efi68k/timer/timer.c delete mode 100644 c/src/lib/libbsp/m68k/efi68k/times delete mode 100644 c/src/lib/libbsp/m68k/efi68k/wrapup/.cvsignore delete mode 100644 c/src/lib/libbsp/m68k/efi68k/wrapup/Makefile.am (limited to 'c/src/lib/libbsp') diff --git a/c/src/lib/libbsp/m68k/ChangeLog b/c/src/lib/libbsp/m68k/ChangeLog index 556feae683..6280793d37 100644 --- a/c/src/lib/libbsp/m68k/ChangeLog +++ b/c/src/lib/libbsp/m68k/ChangeLog @@ -1,3 +1,43 @@ +2004-01-07 Joel Sherrill + + Per John S. Gwynne , there are no longer any + users of these boards so we are removing them. + * efi332/.cvsignore, efi332/ChangeLog, efi332/Makefile.am, + efi332/README, efi332/bsp_specs, efi332/configure.ac, efi332/times, + efi332/clock/.cvsignore, efi332/clock/Makefile.am, + efi332/clock/ckinit.c, efi332/console/.cvsignore, + efi332/console/Makefile.am, efi332/console/console.c, + efi332/include/.cvsignore, efi332/include/bsp.h, + efi332/include/efi332.h, efi332/misc/dotests, efi332/misc/gdbinit68, + efi332/misc/interr.c, efi332/spurious/.cvsignore, + efi332/spurious/Makefile.am, efi332/spurious/spinit.c, + efi332/start/.cvsignore, efi332/start/Makefile.am, + efi332/start/except_vect_332_ROM.S, efi332/start/ram_init.ld, + efi332/start/ram_init.sed, efi332/start/start.c, + efi332/startup/.cvsignore, efi332/startup/Makefile.am, + efi332/startup/bspclean.c, efi332/startup/bspstart.c, + efi332/startup/linkcmds, efi332/startup/linkcmds_ROM, + efi332/timer/.cvsignore, efi332/timer/Makefile.am, + efi332/timer/timer.c, efi332/wrapup/.cvsignore, + efi332/wrapup/Makefile.am, efi68k/.cvsignore, efi68k/ChangeLog, + efi68k/Makefile.am, efi68k/README, efi68k/bsp_specs, + efi68k/configure.ac, efi68k/times, efi68k/clock/.cvsignore, + efi68k/clock/Makefile.am, efi68k/clock/ckinit.c, + efi68k/console/.cvsignore, efi68k/console/Makefile.am, + efi68k/console/console.c, efi68k/include/.cvsignore, + efi68k/include/16550.h, efi68k/include/DP8570A.h, + efi68k/include/bsp.h, efi68k/include/efi68k.h, + efi68k/spurious/.cvsignore, efi68k/spurious/Makefile.am, + efi68k/spurious/spinit.c, efi68k/start/.cvsignore, + efi68k/start/start.c, efi68k/startup/.cvsignore, + efi68k/startup/Makefile.am, efi68k/startup/bspclean.c, + efi68k/startup/bspstart.c, efi68k/startup/efi68k_tcp.c, + efi68k/startup/efi68k_wd.c, efi68k/startup/linkcmds, + efi68k/startup/m68k-stub.c, efi68k/startup/setvec.c, + efi68k/timer/.cvsignore, efi68k/timer/Makefile.am, + efi68k/timer/timer.c, efi68k/wrapup/.cvsignore, + efi68k/wrapup/Makefile.am: Removed. + 2003-12-12 Ralf Corsepius * configure.ac: Require automake >= 1.8, autoconf >= 2.59. diff --git a/c/src/lib/libbsp/m68k/efi332/.cvsignore b/c/src/lib/libbsp/m68k/efi332/.cvsignore deleted file mode 100644 index bfdfd995be..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/.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/m68k/efi332/ChangeLog b/c/src/lib/libbsp/m68k/efi332/ChangeLog deleted file mode 100644 index 035190caa0..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/ChangeLog +++ /dev/null @@ -1,316 +0,0 @@ -2004-01-05 Ralf Corsepius - - * wrapup/Makefile.am: Eliminate $(LIB). - Use noinst_DATA to trigger building libbsp.a. - -2003-12-13 Ralf Corsepius - - * 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 - - * 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 - - * configure.ac: Require automake >= 1.8, autoconf >= 2.59. - -2003-12-10 Ralf Corsepius - - * start/Makefile.am: Misc cleanups and fixes. - * startup/Makefile.am: Misc cleanups and fixes. - * wrapup/Makefile.am: Misc cleanups and fixes. - -2003-12-04 Ralf Corsepius - - * startup/Makefile.am: Remove S_FILES. - -2003-12-03 Ralf Corsepius - - * Makefile.am: Add preinstallation dirstamp support. - * clock/Makefile.am: Cosmetics. - * console/Makefile.am: Cosmetics. - * spurious/Makefile.am: Cosmetics. - * start/Makefile.am: Cosmetics. - * startup/Makefile.am: Cosmetics. - * timer/Makefile.am: Cosmetics. - * wrapup/Makefile.am: Cosmetics. - -2003-12-02 Ralf Corsepius - - * clock/Makefile.am: Remove all-local: $(ARCH). - * console/Makefile.am: Remove all-local: $(ARCH). - * spurious/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 - - * Makefile.am: Merge-in include/Makefile.am. - Reflect changes to bsp.am. - * include/Makefile.am: Remove. - * configure.ac: Reflect changes above. - -2003-09-19 Ralf Corsepius - - * bsp_specs: Remove *lib:. - -2003-09-15 Joel Sherrill - - PR 483/bsps - * start/start.c, startup/bspstart.c: Spurious interrupt handlers cannot - be installed until RTEMS has initialized the vector table. - -2003-09-04 Joel Sherrill - - * clock/ckinit.c, console/console.c, include/bsp.h, misc/interr.c, - spurious/spinit.c, startup/bspclean.c, startup/bspstart.c, - timer/timer.c: URL for license changed. - -2003-08-18 Ralf Corsepius - - * Makefile.am: Reflect having moved aclocal/. - -2003-08-16 Ralf Corsepius - - * 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/. - * spurious/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 - - PR 452/bsps - * startup/Makefile.am: Remove USE_INIT_FINI. - -2003-08-11 Ralf Corsepius - - * configure.ac: Use rtems-bugs@rtems.com as bug report email address. - -2003-08-06 Ralf Corsepius - - PR 445/bsps - * bsp_specs: Remove -D__embedded__ -Asystem(embedded) from cpp. - Remove cpp, old_cpp (now unused). - -2003-03-06 Ralf Corsepius - - * configure.ac: Remove AC_CONFIG_AUX_DIR. - -2003-02-11 Ralf Corsepius - - * configure.ac: AM_INIT_AUTOMAKE([1.7.2]). - -2003-02-11 Ralf Corsepius - - * configure.ac: AC_PREREQ(2.57). - -2003-01-20 Joel Sherrill - - * startup/linkcmds*: Add FreeBSD sysctl() sections. - -2002-12-19 Ralf Corsepius - - * start/Makefile.am: Remove stray '\'. - -2002-12-18 Ralf Corsepius - - * clock/Makefile.am: Don't include @RTEMS_BSP@.cfg. - * console/Makefile.am: Don't include @RTEMS_BSP@.cfg. - * spurious/Makefile.am: Don't include @RTEMS_BSP@.cfg. - * start/Makefile.am: Don't include @RTEMS_BSP@.cfg. - Various fixes to get it compiling again. - * startup/Makefile.am: Don't include @RTEMS_BSP@.cfg. - * timer/Makefile.am: Don't include @RTEMS_BSP@.cfg. - -2002-12-12 Ralf Corsepius - - * start/Makefile.am: Use install-data-local to install startfile. - -2002-12-10 Ralf Corsepius - - * wrapup/Makefile.am: Don't include @RTEMS_BSP@.cfg. - -2002-11-01 Joel Sherrill - - * console/console.c, start/start.c: Removed warnings. - -2002-10-21 Ralf Corsepius - - * .cvsignore: Reformat. - Add autom4te*cache. - Remove autom4te.cache. - -2002-08-21 Joel Sherrill - - * wrapup/Makefile.am: PR217 required that the idle task be moved to - libcpu so it could be more acutely aware of the CPU model. This - file was modified to pick up the idle task from there. - -2002-08-21 Joel Sherrill - - * bsp_specs: Added support for -nostdlibs. - -2002-08-11 Ralf Corsepius - - * clock/Makefile.am: Use .$(OBJEXT) instead of .o. - * console/Makefile.am: Use .$(OBJEXT) instead of .o. - * spurious/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-05 Joel Sherrill - - * Per PR260 eliminate use of make-target-options. This impacted - RTEMS allowing a distinction between the CPU32 and CPU32+ in the - SuperCore and required that the m68k optimized memcpy be moved - to libcpu. - * wrapup/Makefile.am: Pick up memcpy.o from libcpu. - -2002-07-21 Ralf Corsepius - - * start/Makefile.am: Eliminate PGM. - Add bsplib_DATA = $(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).o. - bsplib_DATA += $(PROJECT_RELEASE)/lib/except_vect_332_ROM$(LIB_VARIANT).o - bsplib_DATA += $(PROJECT_RELEASE)/lib/ram_init$(LIB_VARIANT) - bsplib_DATA += $(PROJECT_RELEASE)/lib/ram_init_FW$(LIB_VARIANT) - -2002-07-19 Ralf Corsepius - - * startup/Makefile.am: Add bsplib_DATA = linkcmds linkcmds_ROM. - -2002-07-04 Ralf Corsepius - - * wrapup/Makefile.am: Eliminate TMPINSTALL_FILES. - Remove $(OBJS) from all-local. - -2002-06-29 Ralf Corsepius - - * wrapup/Makefile.am: Remove preinstallation of libbsp.a, - -2001-05-09 Joel Sherrill - - * startup/linkcmds: In support of gcc 3.1, added one of more - of the sections .jcr, .rodata*, .data.*, .gnu.linkonce.s2.*, - .gnu.linkonce.sb2.*, and .gnu.linkonce.s.*. Spacing corrections - and direction of segments to memory regions may also have been - addressed. This was a sweep across all BSPs. - -2002-03-27 Ralf Corsepius - - * configure.ac: - AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS). - AM_INIT_AUTOMAKE([no-define foreign 1.6]). - * clock/Makefile.am: Remove AUTOMAKE_OPTIONS. - * Makefile.am: Remove AUTOMAKE_OPTIONS. - * console/Makefile.am: Remove AUTOMAKE_OPTIONS. - * include/Makefile.am: Remove AUTOMAKE_OPTIONS. - * spurious/Makefile.am: Remove AUTOMAKE_OPTIONS. - * start/Makefile.am: Remove AUTOMAKE_OPTIONS. - * startup/Makefile.am: Remove AUTOMAKE_OPTIONS. - * timer/Makefile.am: Remove AUTOMAKE_OPTIONS. - * wrapup/Makefile.am: Remove AUTOMAKE_OPTIONS. - -2001-12-22 Ralf Corsepius - - * bsp_specs: Replace -lrtemsall with -lrtemsbsp -lrtemscpu, - replace -lrtemsall_g with -lrtemsbsp_g -lrtemscpu_g. - -2001-11-30 Ralf Corsepius - - * configure.ac: Introduce RTEMS_BSP_CONFIGURE. - -2001-10-11 Ralf Corsepius - - * .cvsignore: Add autom4te.cache for autoconf > 2.52. - * configure.in: Remove. - * configure.ac: New file, generated from configure.in by autoupdate. - -2001-09-27 Joel Sherrill - - * include/bsp.h: Renamed delay() to rtems_bsp_delay(). - -2001-09-27 Ralf Corsepius - - * include/Makefile.am: Use 'CLEANFILES ='. - * include/Makefile.am: Use 'TMPINSTALL_FILES ='. - -2001-05-26 Ralf Corsepius - - * configure.in: Add bspopts.h. - * include/.cvsignore: Add bspopts.h*, stamp-h*. - * include/Makefile.am: Use *_HEADERS instead of *H_FILES. - * include/bsp.h: Include bspopts.h. - -2001-05-10 Ralf Corsepius - - * configure.in: Use RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm]). - -2000-11-09 Ralf Corsepius - - * Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS. - -2000-11-02 Ralf Corsepius - - * Makefile.am: Switch to ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal. - -2000-11-01 Joel Sherrill - - * startup/bspstart.c: assoc.h, error.h, libio_.h, libio.h, - and libcsupport.h moved from libc to lib/include/rtems and - now must be referenced as . Header file order - was cleaned up while doing this. - -2000-10-27 Ralf Corsepius - - * Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros. - Switch to GNU canonicalization. - -2000-10-12 John S Gwynne - - * start/start.c: Modified to support generation of ram_init. - * start/ram_init.ld, BSP/start/ram_init.sed: New files. - These changes enable RTEMS to automatically generate - the ram_init file used by gdb with the BDM patches. The 332 has - on-board chip select lines (for RAM and FLASH) that must be - configured before use of these peripherals. These patches parse - data from start.c where the chip select lines are configured in - the runtime executable and automatically generates the gdb - initialization file using the same settings. A great time saver. - A similar file, ram_init_FW (flash writable), is also generated - that the flash programming tool uses. - * start/Makefile.am: Modified to support above. - * CPU/sim.h: Modified to support above. - * startup/except_vect_332_ROM.S: Moved to start so it would not - be included in libbsp.a. Moving it to start ensures it is - available as a single object file. - * start/except_vect_332_ROM.S: Moved from startup. - * startup/linkcmds, startup/linkcmds_ROM: Fixes to the memory map - shown in the comments. - -2000-09-29 Charles-Antoine Gauthier - - * startup/linkcmds: Added lines so DWARF debug information - would be available. Otherwise gdb complains that the offsets - for the debug info are incorrect and doesn't load the files. - -2000-09-04 Ralf Corsepius - - * clock/Makefile.am, console/Makefile.am, spurious/Makefile.am, - start/Makefile.am, startup/Makefile.am, timer/Makefile.am, - wrapup/Makefile.am: Include compile.am - -2000-08-10 Joel Sherrill - - * ChangeLog: New file. diff --git a/c/src/lib/libbsp/m68k/efi332/Makefile.am b/c/src/lib/libbsp/m68k/efi332/Makefile.am deleted file mode 100644 index e908110b45..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/Makefile.am +++ /dev/null @@ -1,30 +0,0 @@ -## -## $Id$ -## - -ACLOCAL_AMFLAGS = -I ../../../../aclocal - -# wrapup is the one that actually builds and installs the library -# from the individual .rel files built in other directories -SUBDIRS = . start startup clock console spurious timer wrapup - -include $(top_srcdir)/../../bsp.am - -include_HEADERS += include/efi332.h - -nodist_include_HEADERS += $(top_srcdir)/../../shared/include/coverhd.h - -all-local: $(PREINSTALL_FILES) - -EXTRA_DIST = times - -$(PROJECT_INCLUDE)/efi332.h: include/efi332.h $(PROJECT_INCLUDE)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/efi332.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/efi332.h - -$(PROJECT_INCLUDE)/coverhd.h: $(top_srcdir)/../../shared/include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/coverhd.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h - -include $(top_srcdir)/../../../../automake/subdirs.am -include $(top_srcdir)/../../../../automake/local.am diff --git a/c/src/lib/libbsp/m68k/efi332/README b/c/src/lib/libbsp/m68k/efi332/README deleted file mode 100644 index 2ece9ff5bb..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/README +++ /dev/null @@ -1,29 +0,0 @@ -# -# $Id$ -# - -Description: efi68k -============ -CPU: MC68332 @20MHz -RAM: 256k max. (supports several configurations) -ROM: 512k (supports several configurations) - - This general purpose controller has been designed by a group of -Internet subscribes to the mailing list "efi332" (an offshoot of the -"diy_efi" mailing list). Although efi332 was initially designed for -automotive research, it is a fairly generalized embedded controller -when used without the companion EFI I/O board, and is patterned much -after the the Motorola BCC. A 4x3 inch (approx.) printed circuit board -is available (about $14US). For complete information see - - http://www.diy-efi.org - -TODO: -===== -- integrate the interrupt driven stdin/stdout into RTEMS to (a) reduce - the interrupt priority and (2) to prevent it from blocking. -- add a timer driver for the tmtest set. - - - John S Gwynne, PhD. - jgwynne@mrcday.com diff --git a/c/src/lib/libbsp/m68k/efi332/bsp_specs b/c/src/lib/libbsp/m68k/efi332/bsp_specs deleted file mode 100644 index 6480bbd1b5..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/bsp_specs +++ /dev/null @@ -1,16 +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} \ -crti.o%s crtbegin.o%s}} - -*link: -%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N -e start} - -*endfile: -%{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s crtn.o%s} - diff --git a/c/src/lib/libbsp/m68k/efi332/clock/.cvsignore b/c/src/lib/libbsp/m68k/efi332/clock/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/clock/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/lib/libbsp/m68k/efi332/clock/Makefile.am b/c/src/lib/libbsp/m68k/efi332/clock/Makefile.am deleted file mode 100644 index 01bde7b3e4..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/clock/Makefile.am +++ /dev/null @@ -1,30 +0,0 @@ -## -## $Id$ -## - -PGM = $(ARCH)/clock.rel - -C_FILES = ckinit.c -C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT)) - -OBJS = $(C_O_FILES) - -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-local: $(OBJS) $(PGM) - -.PRECIOUS: $(PGM) - -EXTRA_DIST = ckinit.c - -include $(top_srcdir)/../../../../automake/local.am diff --git a/c/src/lib/libbsp/m68k/efi332/clock/ckinit.c b/c/src/lib/libbsp/m68k/efi332/clock/ckinit.c deleted file mode 100644 index b32a660542..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/clock/ckinit.c +++ /dev/null @@ -1,129 +0,0 @@ -/* Clock_init() - * - * This routine initailizes the periodic interrupt timer on - * the Motorola 68332. - * - * Input parameters: NONE - * - * Output parameters: 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 -#include -#include -#include - -#define CLOCK_VECTOR EFI_PIV - -rtems_unsigned32 Clock_isrs; /* ISRs until next tick */ -volatile rtems_unsigned32 Clock_driver_ticks; - /* ticks since initialization */ -rtems_isr_entry Old_ticker; - -void Clock_exit( void ); - -/* - * These are set by clock driver during its init - */ - -rtems_device_major_number rtems_clock_major = ~0; -rtems_device_minor_number rtems_clock_minor; - -rtems_isr Clock_isr(rtems_vector_number vector) -{ - Clock_driver_ticks += 1; - - if ( Clock_isrs == 1 ) { - rtems_clock_tick(); - Clock_isrs = BSP_Configuration.microseconds_per_tick / 1000; - } - else - Clock_isrs -= 1; -} - -void Install_clock( - rtems_isr_entry clock_isr -) -{ - Clock_driver_ticks = 0; - Clock_isrs = BSP_Configuration.microseconds_per_tick / 1000; - - Old_ticker = (rtems_isr_entry) set_vector( clock_isr, CLOCK_VECTOR, 1 ); - - /* enable 1mS interrupts */ - *PITR = (unsigned short int)( SAM(0x09,0,PITM) );/* load counter */ - *PICR = (unsigned short int) /* enable interrupt */ - ( SAM(ISRL_PIT,8,PIRQL) | SAM(CLOCK_VECTOR,0,PIV) ); - - atexit( Clock_exit ); -} - -void Clock_exit( void ) -{ - /* shutdown the periodic interrupt */ - *PICR = (unsigned short int) - ( SAM(0,8,PIRQL) | SAM(CLOCK_VECTOR,0,PIV) ); - /* ^^ zero disables interrupt */ - - /* do not restore old vector */ -} - -rtems_device_driver Clock_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) -{ - Install_clock( Clock_isr ); - - /* - * 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 -) -{ - rtems_unsigned32 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); - } - 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/m68k/efi332/configure.ac b/c/src/lib/libbsp/m68k/efi332/configure.ac deleted file mode 100644 index c1e2c7eac8..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/configure.ac +++ /dev/null @@ -1,26 +0,0 @@ -## Process this file with autoconf to produce a configure script. -## -## $Id$ - -AC_PREREQ(2.59) -AC_INIT([rtems-c-src-lib-libbsp-m68k-efi332],[_RTEMS_VERSION],[rtems-bugs@rtems.com]) -AC_CONFIG_SRCDIR([bsp_specs]) -RTEMS_TOP(../../../../../..) - -RTEMS_CANONICAL_TARGET_CPU -AM_INIT_AUTOMAKE([no-define foreign 1.8]) -RTEMS_BSP_CONFIGURE - -RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm]) -RTEMS_CANONICALIZE_TOOLS - -# Explicitly list all Makefiles here -AC_CONFIG_FILES([Makefile -clock/Makefile -console/Makefile -spurious/Makefile -start/Makefile -startup/Makefile -timer/Makefile -wrapup/Makefile]) -AC_OUTPUT diff --git a/c/src/lib/libbsp/m68k/efi332/console/.cvsignore b/c/src/lib/libbsp/m68k/efi332/console/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/console/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/lib/libbsp/m68k/efi332/console/Makefile.am b/c/src/lib/libbsp/m68k/efi332/console/Makefile.am deleted file mode 100644 index 9f4fde7145..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/console/Makefile.am +++ /dev/null @@ -1,30 +0,0 @@ -## -## $Id$ -## - -PGM = $(ARCH)/console.rel - -C_FILES = console.c -C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT)) - -OBJS = $(C_O_FILES) - -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-local: $(OBJS) $(PGM) - -.PRECIOUS: $(PGM) - -EXTRA_DIST = console.c - -include $(top_srcdir)/../../../../automake/local.am diff --git a/c/src/lib/libbsp/m68k/efi332/console/console.c b/c/src/lib/libbsp/m68k/efi332/console/console.c deleted file mode 100644 index f10eec8d52..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/console/console.c +++ /dev/null @@ -1,392 +0,0 @@ -/* - * This file contains the efi332 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. - * - * $Id$ - */ - -#include -#include -#include - -/* BUFFER_LENGTH must be 2^n for n=1, 2, 3, .... */ -#define BUFFER_LENGTH 256 -#define RTS_STOP_SIZE BUFFER_LENGTH-64 -#define RTS_START_SIZE 16 - -char xmt_buf[BUFFER_LENGTH]; -char rcv_buf[BUFFER_LENGTH]; -/* in: last entry into the buffer; always on a valid character */ -/* out: points to the next character to be pull from the buffer */ -/* in+1=out => buffer empty */ -/* in+2=out => buffer full */ -struct UART_buf { - char *offset; - char *in; - char *out; -}; -static volatile struct UART_buf xmt = { xmt_buf, (char *)0, (char *)1}; -static volatile struct UART_buf rcv = { rcv_buf, (char *)0, (char *)1}; -static volatile char _debug_flag = 0; - -#define SET_RTS(a) {*PORTF0 = (*PORTF0 & ~0x4) | ( (a)? 0 : 0x4); } -#define GET_CTS (!(*PORTF0 & 0x2)) - -/* _catchSCIint, _catchCTSint, and _catchSPURIOUSint are the - interrupt front-ends */ -extern void _catchSCIint(); -asm(" .text\n\ - .align 2\n\ - .globl _catchSCIint\n\ -_catchSCIint:\n\ - moveml %d0-%d7/%a0-%a6,%sp@- /* save registers */\n\ - jbsr uart_interrupt\n\ - moveml %sp@+,%d0-%d7/%a0-%a6 \n\ - rte\n\ - "); - -extern void _catchCTSint(); -asm(" .text\n\ - .align 2\n\ - .globl _catchCTSint\n\ -_catchCTSint:\n\ - moveml %d0-%d7/%a0-%a6,%sp@- /* save registers */\n\ - jbsr cts_interrupt\n\ - moveml %sp@+,%d0-%d7/%a0-%a6 \n\ - rte\n\ - "); - -extern void _catchSPURIOUSint(); -asm(" .text\n\ - .align 2\n\ - .globl _catchSPURIOUSint\n\ -_catchSPURIOUSint:\n\ - moveml %d0-%d7/%a0-%a6,%sp@- /* save registers */\n\ - jbsr spurious_interrupt\n\ - moveml %sp@+,%d0-%d7/%a0-%a6 \n\ - rte\n\ - "); - -int _spurious_int_counter=0; - -/* note: cts uses int1. If it "bounces", a spurious interrupt is generated */ -void spurious_interrupt(void) { - _spurious_int_counter++; /* there should never be alot of these */ -} - -/* _fake_trap_1 will continue the UART interrupt (%sr *still* - UART_ISR_LEVEL) as a trap #1 to enter the debugger */ - -/* *****fix me; this is for 68000 w/jsr ram exception table ******* */ -asm(" .text\n\ - .align 2\n\ -_fake_trap_1:\n\ - unlk %a6 /* clear interrupt frame */\n\ - lea %sp@(4),%sp /* remove jbsr instruction */\n\ - moveml %sp@+,%d0-%d7/%a0-%a6 /* pop registers */\n\ - jmp (33*6-12) /* jump exception 1 */\n\ - "); - -/* dispatch UART interrupt */ -void xmit_interrupt(void); -void rcvr_interrupt(void); -void _fake_trap_1(void); - -void uart_interrupt(void) { - /* receiver status bits are cleared by a SCSR read followed - by a SCDR read. transmitter status bits are cleared by - a SCSR read followed by a SCDR write. */ - if ((*SCSR) & (TDRE | TC)) - xmit_interrupt(); - - if ((*SCSR) & (RDRF)) - rcvr_interrupt(); - - if (_debug_flag) { - _debug_flag = 0; /* reset the flag */ - _fake_trap_1(); /* fake a trap #1 */ - } -} - -/* transfer received character to the buffer */ -void rcvr_interrupt(void) { - register char *a, c; - register int length; - - while((*SCSR) & (RDRF)) { - if ((c=*SCDR) == 0x1a) /* use ctl-z to reboot */ - reboot(); -/* else if (c == 0x03) { */ /* use ctl-c to enter debugger */ -/* _debug_flag = 1; */ -/* continue; */ -/* } */ - - *(char *)((int)rcv.offset +(int) - (a=(char *)(((int)rcv.in+1) & ((int)BUFFER_LENGTH-1)))) = c; - if ((char *)(((int)rcv.in+2) & ((int)BUFFER_LENGTH-1)) != rcv.out) - rcv.in=a; - }; - - length = (BUFFER_LENGTH -1) & ( - ( ((int)rcv.out <= (int)rcv.in) ? 0 : BUFFER_LENGTH) - (int)rcv.out - + (int)rcv.in + 1); - if (length >= RTS_STOP_SIZE) - SET_RTS(0); -} - -/* tranfer buffered characters to the UART */ -void xmit_interrupt(void) { - register short int oldsr; - - _CPU_ISR_Disable( oldsr ); /* for when outbyte or flush calls */ - while ((*SCSR) & (TDRE)) { - if ((char *)(((int)xmt.in+1) & ((int)BUFFER_LENGTH-1)) != xmt.out) - /* xmit buffer not empty */ - if (GET_CTS) { - /* send next char */ - *SCDR=*(char *)((int)xmt.offset+(int)xmt.out); - xmt.out= (char *)(((int)xmt.out+1) & ((int)BUFFER_LENGTH-1)); - *SCCR1 = (*SCCR1 & ~(TIE | TCIE)) | (TIE); - } - else { - /* configue CTS interrupt and shutdown xmit interrupts */ - *SCCR1 &= ~(TIE | TCIE); - *PFPAR |= 0x2; - break; - } - else { - /* xmit buffer empty; shutdown interrupts */ - *SCCR1 &= ~(TIE | TCIE); - break; - } - } - _CPU_ISR_Enable( oldsr ); -} - -void cts_interrupt(void) { - register short int oldsr; - - _CPU_ISR_Disable( oldsr ); /* for when outbyte calls */ - - *PFPAR &= ~0x2; - *SCCR1 = (*SCCR1 & ~(TIE | TCIE)) | (TIE); - - _CPU_ISR_Enable( oldsr ); -} - - - -/* transfer character from the buffer */ -char inbyte(void) { - register char a; - register int length; - - while ((char *)(((int)rcv.in+1) & ((int)BUFFER_LENGTH-1))== rcv.out); - a=*(char *)((int)rcv.offset+(int)rcv.out); - rcv.out= (char *)(((int)rcv.out+1) & ((int)BUFFER_LENGTH-1)); - length = (BUFFER_LENGTH -1) & ( - ( ((int)rcv.out <= (int)rcv.in) ? 0 : BUFFER_LENGTH) - (int)rcv.out - + (int)rcv.in + 1); - if (length < RTS_START_SIZE) - SET_RTS(1); - return (a); -} - -/* once room is avaliable in the buffer, transfer - the character into the buffer and enable - the xmtr interrupt */ -void outbyte(char c) { - register char *a; - - while ((char *)(((int)xmt.in+2) & ((int)BUFFER_LENGTH-1)) == xmt.out); - *(char *)((int)xmt.offset+(int) - (a=(char *)(((int)xmt.in+1) & ((int)BUFFER_LENGTH-1))))=c; - xmt.in=a; - - if (!(*SCCR1 & (TIE | TCIE)) && (!(*PFPAR & 0x2)) ) - /* if neither interrupts are running, */ - xmit_interrupt(); /* we need to restart the xmiter */ -} - -void _UART_flush(void) { - /* loop till xmt buffer empty. Works with interrupts disabled */ - while ((char *)(((int)xmt.in+1) & ((int)BUFFER_LENGTH-1)) != xmt.out) - xmit_interrupt(); - /* loop till UART buffer empty */ - while ( (*SCSR & TC) == 0 ); -} - -/* console_initialize - * - * This routine initializes the console IO driver. - * - * Input parameters: NONE - * - * Output parameters: NONE - * - * Return values: - */ - -void console_init() -{ - *QSMCR = ( SAM(QSM_IARB,0,IARB) ); - *QILR = ( SAM(ISRL_QSPI,4,ILQSPI) | SAM(ISRL_SCI,0,ILSCI) ); - *QIVR = ( SAM(EFI_QIVR,0,INTV) ); - - *SCCR0 = ( (int)( SYS_CLOCK/SCI_BAUD/32.0+0.5 ) & 0x1fff ); - *SCCR1 = ( RIE | TE | RE ); - - set_vector(_catchSPURIOUSint, EFI_SPINT, 0); - set_vector(_catchSCIint, EFI_QIVR, 0); - set_vector(_catchCTSint, EFI_INT1, 0); -} - -rtems_device_driver console_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *arg -) -{ - rtems_status_code status; - - 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 -) -{ - if ((char *)(((int)rcv.in+1) & ((int)BUFFER_LENGTH-1))== rcv.out) - return(FALSE); - else - return(TRUE); -} - -/* - * 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; - - 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'; - break; - } - } - - 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 -) -{ - return RTEMS_SUCCESSFUL; -} - diff --git a/c/src/lib/libbsp/m68k/efi332/include/.cvsignore b/c/src/lib/libbsp/m68k/efi332/include/.cvsignore deleted file mode 100644 index b0be3c54e6..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/include/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -Makefile -Makefile.in -bspopts.h -bspopts.h.in -stamp-h -stamp-h.in diff --git a/c/src/lib/libbsp/m68k/efi332/include/bsp.h b/c/src/lib/libbsp/m68k/efi332/include/bsp.h deleted file mode 100644 index ebbb6c17fb..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/include/bsp.h +++ /dev/null @@ -1,165 +0,0 @@ -/* bsp.h - * - * This include file contains all efi332 board IO definitions. - * - * 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 __EFI332_BSP_h -#define __EFI332_BSP_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#include -#include -#include -#include -#include -#include -#include - -/* - * 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 (TBD * 1024) */ - -/* - * Define the time limits for RTEMS Test Suite test durations. - * Long test and short test duration limits are provided. These - * values are in seconds and need to be converted to ticks for the - * application. - * - */ - -#define MAX_LONG_TEST_DURATION 300 /* 5 minutes = 300 seconds */ -#define MAX_SHORT_TEST_DURATION 3 /* 3 seconds */ - -/* - * Define the interrupt mechanism for Time Test 27 - */ - -/* XXX - JRS - I want to compile the tmtests */ - -#define MUST_WAIT_FOR_INTERRUPT 1 - -#define Install_tm27_vector( handler ) - -#define Cause_tm27_intr() - -#define Clear_tm27_intr() - -#define Lower_tm27_intr() - -/* - * Simple spin delay in microsecond units for device drivers. - * This is very dependent on the clock speed of the target. - */ - -#define rtems_bsp_delay( microseconds ) \ - { register rtems_unsigned32 _delay=(microseconds); \ - register rtems_unsigned32 _tmp=123; \ - asm volatile( "0: \ - nbcd %0 ; \ - nbcd %0 ; \ - dbf %1,0b" \ - : "=d" (_tmp), "=d" (_delay) \ - : "0" (_tmp), "1" (_delay) ); \ - } - -/* externals */ - -extern char _etext[]; -extern char _copy_start[]; -extern char _edata[]; -extern char _clear_start[]; -extern char end[]; -extern char _copy_data_from_rom[]; - -/* constants */ - -#ifdef __START_C__ -#define STACK_SIZE "#0x800" -#else -#define STACK_SIZE 0x800 -#endif - -/* macros */ - -#define RAW_PUTS(str) \ - { register char *ptr = str; \ - while (*ptr) outbyte(*ptr++); \ - } - -#define RAW_PUTI(n) { \ - register int i, j; \ - \ - RAW_PUTS("0x"); \ - for (i=28;i>=0;i -= 4) { \ - j = (n>>i) & 0xf; \ - outbyte( (j>9 ? j-10+'a' : j+'0') ); \ - } \ - } - -/* miscellaneous stuff assumed to exist */ - -extern rtems_configuration_table BSP_Configuration; - -extern m68k_isr_entry M68Kvec[]; /* vector table address */ - -extern int stack_size; - -extern int stack_start; - -/* - * Device Driver Table Entries - */ - -/* - * NOTE: Use the standard Console driver entry - */ - -/* - * NOTE: Use the standard Clock driver entry - */ - -/* functions */ - -void bsp_cleanup( void ); - -m68k_isr_entry set_vector( - rtems_isr_entry handler, - rtems_vector_number vector, - int type -); - -void console_init(void); - -void Spurious_Initialize(void); - -void _UART_flush(void); - -void Clock_exit(void); - -void outbyte(char); - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/lib/libbsp/m68k/efi332/include/efi332.h b/c/src/lib/libbsp/m68k/efi332/include/efi332.h deleted file mode 100644 index b19b225109..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/include/efi332.h +++ /dev/null @@ -1,52 +0,0 @@ -/* efi332.h - * - * $Id$ - */ - -#ifndef _EFI332_H_ -#define _EFI332_H_ - - -/* SIM_MM (SIM Module Mapping) determines the location of the control - register block. When MM=0, register addresses range fom 0x7ff000 to - 0x7FFFFF. When MM=1, register addresses range from 0xfff000 to - 0xffffff. */ -#define SIM_MM 1 - - -/* Interrupt related definitions */ -#define SIM_IARB 15 -#define QSM_IARB 10 - -#define EFI_PIV 64 -#define ISRL_PIT 4 /* zero disables PIT */ - -#define EFI_QIVR 66 /* 66=>SCI and 67=>QSPI interrupt */ -#define ISRL_QSPI 0 - -#define EFI_SPINT 24 /* spurious interrupt */ -#define EFI_INT1 25 /* CTS interrupt */ -#define ISRL_SCI 6 - - - -/* System Clock definitions */ -#define XTAL 32768.0 /* crystal frequency in Hz */ -#define EFI_W 0 /* system clock parameters */ -#define EFI_X 1 -#define EFI_Y 0x38 -#define SYS_CLOCK (XTAL*4.0*(EFI_Y+1)*(1 << (2*EFI_W+EFI_X))) -#define SCI_BAUD 115200 /* RS232 Baud Rate */ - - -/* macros/functions */ - -/* - * This prototype really should have the noreturn attribute but - * that causes a warning. Not sure how to fix that. - */ -/* static void reboot(void) __attribute__ ((noreturn)); */ -static void reboot(void); -__inline__ static void reboot() {asm("trap #15");} - -#endif /* _EFI332_H_ */ diff --git a/c/src/lib/libbsp/m68k/efi332/misc/dotests b/c/src/lib/libbsp/m68k/efi332/misc/dotests deleted file mode 100644 index f701e01114..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/misc/dotests +++ /dev/null @@ -1,15 +0,0 @@ -#! /bin/bash -# -# $Id$ -# - -mkdir MyTests -find -name MyTests -prune -or -name "*.nxe" -exec cp {} MyTests \; - -stty 1:0:80001cb2:0:3:1c:7f:15:4:5:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0 -#include -#include -#include - -/*PAGE - * - * _Internal_error_Occurred - * - * This routine will invoke the fatal error handler supplied by the user - * followed by the the default one provided by the executive. The default - * error handler assumes no hardware is present to help inform the user - * of the problem. Halt stores the error code in a known register, - * disables interrupts, and halts the CPU. If the CPU does not have a - * halt instruction, it will loop to itself. - * - * Input parameters: - * the_source - what subsystem the error originated in - * is_internal - if the error was internally generated - * the_error - fatal error status code - * - * Output parameters: - * As much information as possible is stored in a CPU dependent fashion. - * See the CPU dependent code for more information. - * - * NOTE: The the_error is not necessarily a directive status code. - */ - -/* - * Ugly hack.... _CPU_Fatal_halt() disonnects the bdm. Without this - * change, the_error is only known only to the cpu :). - * - * From "bsp.h" which is not yet available in the arch tree during - * this phase of install. jsg - */ -void outbyte(char); -void bsp_cleanup( void ); - -#define RAW_PUTS(str) \ - { register char *ptr = str; \ - while (*ptr) outbyte(*ptr++); \ - } - -#define RAW_PUTI(n) { \ - register int i, j; \ - \ - RAW_PUTS("0x"); \ - for (i=28;i>=0;i -= 4) { \ - j = (n>>i) & 0xf; \ - outbyte( (j>9 ? j-10+'a' : j+'0') ); \ - } \ - } - -void volatile _Internal_error_Occurred( - Internal_errors_Source the_source, - boolean is_internal, - unsigned32 the_error -) -{ - - Internal_errors_What_happened.the_source = the_source; - Internal_errors_What_happened.is_internal = is_internal; - Internal_errors_What_happened.the_error = the_error; - - _User_extensions_Fatal( the_source, is_internal, the_error ); - - _System_state_Set( SYSTEM_STATE_FAILED ); - - /* try to print error message to outbyte */ - RAW_PUTS("\r\nRTEMS: A fatal error has occured.\r\n"); - RAW_PUTS("RTEMS: fatal error "); - RAW_PUTI( the_error ); - RAW_PUTS(" ("); - outbyte( (char)((the_error>>24) & 0xff) ); - outbyte( (char)((the_error>>16) & 0xff) ); - outbyte( (char)((the_error>>8) & 0xff) ); - outbyte( (char)(the_error & 0xff) ); - RAW_PUTS(").\r\n"); - - /* configure peripherals for a safe exit */ - bsp_cleanup(); - - _CPU_Fatal_halt( the_error ); - - /* will not return from this routine */ -} diff --git a/c/src/lib/libbsp/m68k/efi332/spurious/.cvsignore b/c/src/lib/libbsp/m68k/efi332/spurious/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/spurious/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/lib/libbsp/m68k/efi332/spurious/Makefile.am b/c/src/lib/libbsp/m68k/efi332/spurious/Makefile.am deleted file mode 100644 index 265ed15700..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/spurious/Makefile.am +++ /dev/null @@ -1,30 +0,0 @@ -## -## $Id$ -## - -PGM = $(ARCH)/spurious.rel - -C_FILES = spinit.c -C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT)) - -OBJS = $(C_O_FILES) - -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-local: $(OBJS) $(PGM) - -.PRECIOUS: $(PGM) - -EXTRA_DIST = spinit.c - -include $(top_srcdir)/../../../../automake/local.am diff --git a/c/src/lib/libbsp/m68k/efi332/spurious/spinit.c b/c/src/lib/libbsp/m68k/efi332/spurious/spinit.c deleted file mode 100644 index f165366236..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/spurious/spinit.c +++ /dev/null @@ -1,88 +0,0 @@ -/* Spurious_driver - * - * This routine installs spurious interrupt handlers for the efi332. - * - * Input parameters: NONE - * - * Output parameters: NONE - * - * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993. - * 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 -#include - -const char * const _Spurious_Error_[] = {"Reset","Bus Error","Address Error", - "Illegal Instruction","Zero Division","CHK, CHK2 Instruction", - "TRAPcc, TRAPV Instruction","Privilege Violation","Trace", - "Line 1010 Emulation","Line 1111 Emulation","Hardware Breakpoint", - "Coprocessor Protocal Violation", - "Format Error ans Uninitialized Interrupt","Unassigned", - "Spurious Interrupt","AVec1","AVec2","AVec3","AVec4","AVec5","AVec6", - "AVec7","Trap Instruction","Debug","Reboot","Reserved Coprocessor", - "Reserved Unassigned","User Defined"}; - -rtems_isr Spurious_Isr( - rtems_vector_number vector -) -{ - int sp = 0; - const char * const VectDescrip[] = { - _Spurious_Error_[0], _Spurious_Error_[0], _Spurious_Error_[1], - _Spurious_Error_[2], _Spurious_Error_[3], _Spurious_Error_[4], - _Spurious_Error_[5], _Spurious_Error_[6], _Spurious_Error_[7], - _Spurious_Error_[8], _Spurious_Error_[9], _Spurious_Error_[10], - _Spurious_Error_[11], _Spurious_Error_[12], _Spurious_Error_[13], - _Spurious_Error_[13], _Spurious_Error_[14], _Spurious_Error_[14], - _Spurious_Error_[14], _Spurious_Error_[14], _Spurious_Error_[14], - _Spurious_Error_[14], _Spurious_Error_[14], _Spurious_Error_[14], - _Spurious_Error_[15], _Spurious_Error_[16], _Spurious_Error_[17], - _Spurious_Error_[18], _Spurious_Error_[19], _Spurious_Error_[20], - _Spurious_Error_[21], _Spurious_Error_[22], _Spurious_Error_[23], - _Spurious_Error_[24], _Spurious_Error_[23], _Spurious_Error_[23], - _Spurious_Error_[23], _Spurious_Error_[23], _Spurious_Error_[23], - _Spurious_Error_[23], _Spurious_Error_[23], _Spurious_Error_[23], - _Spurious_Error_[23], _Spurious_Error_[23], _Spurious_Error_[23], - _Spurious_Error_[23], _Spurious_Error_[23], _Spurious_Error_[25], - _Spurious_Error_[26], _Spurious_Error_[26], _Spurious_Error_[26], - _Spurious_Error_[26], _Spurious_Error_[26], _Spurious_Error_[26], - _Spurious_Error_[26], _Spurious_Error_[26], _Spurious_Error_[26], - _Spurious_Error_[26], _Spurious_Error_[26], _Spurious_Error_[27], - _Spurious_Error_[27], _Spurious_Error_[27], _Spurious_Error_[27], - _Spurious_Error_[27], _Spurious_Error_[28]}; - - asm volatile ( "movea.l %%sp,%0 " : "=a" (sp) : "0" (sp) ); - - _CPU_ISR_Set_level( 7 ); - _UART_flush(); - - RAW_PUTS("\n\rRTEMS: Spurious interrupt: "); - RAW_PUTS((char *)VectDescrip[( (vector>64) ? 64 : vector )]); - RAW_PUTS("\n\rRTEMS: Vector: "); - RAW_PUTI(vector); - RAW_PUTS(" sp: "); - RAW_PUTI(sp); - RAW_PUTS("\n\r"); - - bsp_cleanup(); - - /* BDM SIGEMT */ - asm(" .word 0x4afa"); - - for(;;); -} - -void Spurious_Initialize(void) -{ - rtems_vector_number vector; - - for ( vector = 0x0 ; vector <= 0xFF ; vector++ ) - (void) set_vector( Spurious_Isr, vector, 1 ); -} diff --git a/c/src/lib/libbsp/m68k/efi332/start/.cvsignore b/c/src/lib/libbsp/m68k/efi332/start/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/start/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/lib/libbsp/m68k/efi332/start/Makefile.am b/c/src/lib/libbsp/m68k/efi332/start/Makefile.am deleted file mode 100644 index 917008e050..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/start/Makefile.am +++ /dev/null @@ -1,65 +0,0 @@ -## -## $Id$ -## - -C_FILES = start.c -OBJS = $(C_FILES:%.c=$(ARCH)/%$(LIB_VARIANT).$(OBJEXT)) -S_FILES = except_vect_332_ROM.S -OBJS += $(S_FILES:%.c=$(ARCH)/%$(LIB_VARIANT).$(OBJEXT)) - -include $(top_srcdir)/../../../../automake/compile.am -include $(top_srcdir)/../../../../automake/lib.am -include $(top_srcdir)/../../bspstart.am - -# -# (OPTIONAL) Add local stuff here using += -# - -project_lib_DATA = $(ARCH)/start$(LIB_VARIANT).$(OBJEXT) -project_lib_DATA += $(ARCH)/except_vect_332_ROM$(LIB_VARIANT).$(OBJEXT) -project_lib_DATA += $(ARCH)/ram_init$(LIB_VARIANT) -project_lib_DATA += $(ARCH)/ram_init_FW$(LIB_VARIANT) - -$(ARCH)/ram_init$(LIB_VARIANT): $(srcdir)/start.c $(srcdir)/ram_init.ld $(srcdir)/ram_init.sed $(ARCH)/$(dirstamp) - sed -f $(srcdir)/ram_init.sed $(srcdir)/start.c >$(ARCH)/ram_init.S - $(CC) -D SIM_CRB=0x0000 -E $(ARCH)/ram_init.S >$(ARCH)/ram_init1.S - sed "/.$(OBJEXT)rg/ {N; s/\n/%/; P;}; /\.text/P; D;" $(ARCH)/ram_init1.S | \ - sort | sed "h;1{s/.*/.data/;P;g;};s/%.*//;P;g;s/.*%//;" \ - >$(ARCH)/ram_init2.S - $(CC) -nostdlib -Wl,-T$(srcdir)/ram_init.ld $(ARCH)/ram_init2.S \ - -o $(ARCH)/ram_init$(LIB_VARIANT) - -$(ARCH)/ram_init_FW$(LIB_VARIANT): $(srcdir)/ram_init.ld $(ARCH)/ram_init.S $(ARCH)/$(dirstamp) - $(CC) -D FLASHWRITE -D SIM_CRB=0x0000 -E $(ARCH)/ram_init.S \ - >$(ARCH)/ram_init_FW1.S - sed "/.$(OBJEXT)rg/ {N; s/\n/%/; P;}; /\.text/P; D;" $(ARCH)/ram_init_FW1.S | \ - sort | sed "h;1{s/.*/.data/;P;g;};s/%.*//;P;g;s/.*%//;" \ - >$(ARCH)/ram_init_FW2.S - $(CC) -nostdlib -Wl,-T$(srcdir)/ram_init.ld $(ARCH)/ram_init_FW2.S \ - -o $(ARCH)/ram_init_FW$(LIB_VARIANT) - -all-local: $(TMPINSTALL_FILES) - -EXTRA_DIST = start.c except_vect_332_ROM.S ram_init.ld ram_init.sed - -$(PROJECT_LIB)/$(dirstamp): - @$(mkdir_p) $(PROJECT_LIB) - @: > $(PROJECT_LIB)/$(dirstamp) - -$(PROJECT_LIB)/start$(LIB_VARIANT).$(OBJEXT): $(ARCH)/start$(LIB_VARIANT).$(OBJEXT) $(PROJECT_LIB)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_LIB)/start$(LIB_VARIANT).$(OBJEXT) -TMPINSTALL_FILES += $(PROJECT_LIB)/start$(LIB_VARIANT).$(OBJEXT) - -$(PROJECT_LIB)/except_vect_332_ROM$(LIB_VARIANT).$(OBJEXT): $(ARCH)/except_vect_332_ROM$(LIB_VARIANT).$(OBJEXT) $(PROJECT_LIB)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_LIB)/except_vect_332_ROM$(LIB_VARIANT).$(OBJEXT) -TMPINSTALL_FILES += $(PROJECT_LIB)/except_vect_332_ROM$(LIB_VARIANT).$(OBJEXT) - -$(PROJECT_LIB)/ram_init$(LIB_VARIANT): $(ARCH)/ram_init$(LIB_VARIANT) $(PROJECT_LIB)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_LIB)/ram_init$(LIB_VARIANT) -TMPINSTALL_FILES += $(PROJECT_LIB)/ram_init$(LIB_VARIANT) - -$(PROJECT_LIB)/ram_init_FW$(LIB_VARIANT): $(ARCH)/ram_init_FW$(LIB_VARIANT) $(PROJECT_LIB)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_LIB)/ram_init_FW$(LIB_VARIANT) -TMPINSTALL_FILES += $(PROJECT_LIB)/ram_init_FW$(LIB_VARIANT) - -include $(top_srcdir)/../../../../automake/local.am diff --git a/c/src/lib/libbsp/m68k/efi332/start/except_vect_332_ROM.S b/c/src/lib/libbsp/m68k/efi332/start/except_vect_332_ROM.S deleted file mode 100644 index 9eb2f20556..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/start/except_vect_332_ROM.S +++ /dev/null @@ -1,290 +0,0 @@ -/* - * $Id$ - */ - -/* Exception Vector definitions follow */ - - /* !!! Warning !!! This table is not tested, and - the user must make sure it is complete. */ - - /* If we use TRAP #15 for reboot, note that group 0 and 1 exceptions - will have priority. */ - - /* Vector 0: RESET: Initial SSP */ - .long _RamEnd - /* Vector 1: RESET: Initial PC */ - .long start - - /* default action for undefined vectors is to re-boot */ - - /* Note group 0 and 1 exception (like trace) have priority - over other exceptions (like trap #15) that may call this. */ - - /* Vectors 2-255 */ - .long reboot /* exception vector: 2 */ - .long reboot /* exception vector: 3 */ - .long reboot /* exception vector: 4 */ - .long reboot /* exception vector: 5 */ - .long reboot /* exception vector: 6 */ - .long reboot /* exception vector: 7 */ - .long reboot /* exception vector: 8 */ - .long reboot /* exception vector: 9 */ - .long reboot /* exception vector: 10 */ - .long reboot /* exception vector: 11 */ - .long reboot /* exception vector: 12 */ - .long reboot /* exception vector: 13 */ - .long reboot /* exception vector: 14 */ - .long reboot /* exception vector: 15 */ - .long reboot /* exception vector: 16 */ - .long reboot /* exception vector: 17 */ - .long reboot /* exception vector: 18 */ - .long reboot /* exception vector: 19 */ - .long reboot /* exception vector: 20 */ - .long reboot /* exception vector: 21 */ - .long reboot /* exception vector: 22 */ - .long reboot /* exception vector: 23 */ - .long reboot /* exception vector: 24 */ - .long reboot /* exception vector: 25 */ - .long reboot /* exception vector: 26 */ - .long reboot /* exception vector: 27 */ - .long reboot /* exception vector: 28 */ - .long reboot /* exception vector: 29 */ - .long reboot /* exception vector: 30 */ - .long reboot /* exception vector: 31 */ - .long reboot /* exception vector: 32 */ - .long reboot /* exception vector: 33 */ - .long reboot /* exception vector: 34 */ - .long reboot /* exception vector: 35 */ - .long reboot /* exception vector: 36 */ - .long reboot /* exception vector: 37 */ - .long reboot /* exception vector: 38 */ - .long reboot /* exception vector: 39 */ - .long reboot /* exception vector: 40 */ - .long reboot /* exception vector: 41 */ - .long reboot /* exception vector: 42 */ - .long reboot /* exception vector: 43 */ - .long reboot /* exception vector: 44 */ - .long reboot /* exception vector: 45 */ - .long reboot /* exception vector: 46 */ - .long _reboot /* the reboot trap: 47 */ - .long reboot /* exception vector: 48 */ - .long reboot /* exception vector: 49 */ - .long reboot /* exception vector: 50 */ - .long reboot /* exception vector: 51 */ - .long reboot /* exception vector: 52 */ - .long reboot /* exception vector: 53 */ - .long reboot /* exception vector: 54 */ - .long reboot /* exception vector: 55 */ - .long reboot /* exception vector: 56 */ - .long reboot /* exception vector: 57 */ - .long reboot /* exception vector: 58 */ - .long reboot /* exception vector: 59 */ - .long reboot /* exception vector: 60 */ - .long reboot /* exception vector: 61 */ - .long reboot /* exception vector: 62 */ - .long reboot /* exception vector: 63 */ - .long reboot /* exception vector: 64 */ - .long reboot /* exception vector: 65 */ - .long reboot /* exception vector: 66 */ - .long reboot /* exception vector: 67 */ - .long reboot /* exception vector: 68 */ - .long reboot /* exception vector: 69 */ - .long reboot /* exception vector: 70 */ - .long reboot /* exception vector: 71 */ - .long reboot /* exception vector: 72 */ - .long reboot /* exception vector: 73 */ - .long reboot /* exception vector: 74 */ - .long reboot /* exception vector: 75 */ - .long reboot /* exception vector: 76 */ - .long reboot /* exception vector: 77 */ - .long reboot /* exception vector: 78 */ - .long reboot /* exception vector: 79 */ - .long reboot /* exception vector: 80 */ - .long reboot /* exception vector: 81 */ - .long reboot /* exception vector: 82 */ - .long reboot /* exception vector: 83 */ - .long reboot /* exception vector: 84 */ - .long reboot /* exception vector: 85 */ - .long reboot /* exception vector: 86 */ - .long reboot /* exception vector: 87 */ - .long reboot /* exception vector: 88 */ - .long reboot /* exception vector: 89 */ - .long reboot /* exception vector: 90 */ - .long reboot /* exception vector: 91 */ - .long reboot /* exception vector: 92 */ - .long reboot /* exception vector: 93 */ - .long reboot /* exception vector: 94 */ - .long reboot /* exception vector: 95 */ - .long reboot /* exception vector: 96 */ - .long reboot /* exception vector: 97 */ - .long reboot /* exception vector: 98 */ - .long reboot /* exception vector: 99 */ - .long reboot /* exception vector: 100 */ - .long reboot /* exception vector: 101 */ - .long reboot /* exception vector: 102 */ - .long reboot /* exception vector: 103 */ - .long reboot /* exception vector: 104 */ - .long reboot /* exception vector: 105 */ - .long reboot /* exception vector: 106 */ - .long reboot /* exception vector: 107 */ - .long reboot /* exception vector: 108 */ - .long reboot /* exception vector: 109 */ - .long reboot /* exception vector: 110 */ - .long reboot /* exception vector: 111 */ - .long reboot /* exception vector: 112 */ - .long reboot /* exception vector: 113 */ - .long reboot /* exception vector: 114 */ - .long reboot /* exception vector: 115 */ - .long reboot /* exception vector: 116 */ - .long reboot /* exception vector: 117 */ - .long reboot /* exception vector: 118 */ - .long reboot /* exception vector: 119 */ - .long reboot /* exception vector: 120 */ - .long reboot /* exception vector: 121 */ - .long reboot /* exception vector: 122 */ - .long reboot /* exception vector: 123 */ - .long reboot /* exception vector: 124 */ - .long reboot /* exception vector: 125 */ - .long reboot /* exception vector: 126 */ - .long reboot /* exception vector: 127 */ - .long reboot /* exception vector: 128 */ - .long reboot /* exception vector: 129 */ - .long reboot /* exception vector: 130 */ - .long reboot /* exception vector: 131 */ - .long reboot /* exception vector: 132 */ - .long reboot /* exception vector: 133 */ - .long reboot /* exception vector: 134 */ - .long reboot /* exception vector: 135 */ - .long reboot /* exception vector: 136 */ - .long reboot /* exception vector: 137 */ - .long reboot /* exception vector: 138 */ - .long reboot /* exception vector: 139 */ - .long reboot /* exception vector: 140 */ - .long reboot /* exception vector: 141 */ - .long reboot /* exception vector: 142 */ - .long reboot /* exception vector: 143 */ - .long reboot /* exception vector: 144 */ - .long reboot /* exception vector: 145 */ - .long reboot /* exception vector: 146 */ - .long reboot /* exception vector: 147 */ - .long reboot /* exception vector: 148 */ - .long reboot /* exception vector: 149 */ - .long reboot /* exception vector: 150 */ - .long reboot /* exception vector: 151 */ - .long reboot /* exception vector: 152 */ - .long reboot /* exception vector: 153 */ - .long reboot /* exception vector: 154 */ - .long reboot /* exception vector: 155 */ - .long reboot /* exception vector: 156 */ - .long reboot /* exception vector: 157 */ - .long reboot /* exception vector: 158 */ - .long reboot /* exception vector: 159 */ - .long reboot /* exception vector: 160 */ - .long reboot /* exception vector: 161 */ - .long reboot /* exception vector: 162 */ - .long reboot /* exception vector: 163 */ - .long reboot /* exception vector: 164 */ - .long reboot /* exception vector: 165 */ - .long reboot /* exception vector: 166 */ - .long reboot /* exception vector: 167 */ - .long reboot /* exception vector: 168 */ - .long reboot /* exception vector: 169 */ - .long reboot /* exception vector: 170 */ - .long reboot /* exception vector: 171 */ - .long reboot /* exception vector: 172 */ - .long reboot /* exception vector: 173 */ - .long reboot /* exception vector: 174 */ - .long reboot /* exception vector: 175 */ - .long reboot /* exception vector: 176 */ - .long reboot /* exception vector: 177 */ - .long reboot /* exception vector: 178 */ - .long reboot /* exception vector: 179 */ - .long reboot /* exception vector: 180 */ - .long reboot /* exception vector: 181 */ - .long reboot /* exception vector: 182 */ - .long reboot /* exception vector: 183 */ - .long reboot /* exception vector: 184 */ - .long reboot /* exception vector: 185 */ - .long reboot /* exception vector: 186 */ - .long reboot /* exception vector: 187 */ - .long reboot /* exception vector: 188 */ - .long reboot /* exception vector: 189 */ - .long reboot /* exception vector: 190 */ - .long reboot /* exception vector: 191 */ - .long reboot /* exception vector: 192 */ - .long reboot /* exception vector: 193 */ - .long reboot /* exception vector: 194 */ - .long reboot /* exception vector: 195 */ - .long reboot /* exception vector: 196 */ - .long reboot /* exception vector: 197 */ - .long reboot /* exception vector: 198 */ - .long reboot /* exception vector: 199 */ - .long reboot /* exception vector: 200 */ - .long reboot /* exception vector: 201 */ - .long reboot /* exception vector: 202 */ - .long reboot /* exception vector: 203 */ - .long reboot /* exception vector: 204 */ - .long reboot /* exception vector: 205 */ - .long reboot /* exception vector: 206 */ - .long reboot /* exception vector: 207 */ - .long reboot /* exception vector: 208 */ - .long reboot /* exception vector: 209 */ - .long reboot /* exception vector: 210 */ - .long reboot /* exception vector: 211 */ - .long reboot /* exception vector: 212 */ - .long reboot /* exception vector: 213 */ - .long reboot /* exception vector: 214 */ - .long reboot /* exception vector: 215 */ - .long reboot /* exception vector: 216 */ - .long reboot /* exception vector: 217 */ - .long reboot /* exception vector: 218 */ - .long reboot /* exception vector: 219 */ - .long reboot /* exception vector: 220 */ - .long reboot /* exception vector: 221 */ - .long reboot /* exception vector: 222 */ - .long reboot /* exception vector: 223 */ - .long reboot /* exception vector: 224 */ - .long reboot /* exception vector: 225 */ - .long reboot /* exception vector: 226 */ - .long reboot /* exception vector: 227 */ - .long reboot /* exception vector: 228 */ - .long reboot /* exception vector: 229 */ - .long reboot /* exception vector: 230 */ - .long reboot /* exception vector: 231 */ - .long reboot /* exception vector: 232 */ - .long reboot /* exception vector: 233 */ - .long reboot /* exception vector: 234 */ - .long reboot /* exception vector: 235 */ - .long reboot /* exception vector: 236 */ - .long reboot /* exception vector: 237 */ - .long reboot /* exception vector: 238 */ - .long reboot /* exception vector: 239 */ - .long reboot /* exception vector: 240 */ - .long reboot /* exception vector: 241 */ - .long reboot /* exception vector: 242 */ - .long reboot /* exception vector: 243 */ - .long reboot /* exception vector: 244 */ - .long reboot /* exception vector: 245 */ - .long reboot /* exception vector: 246 */ - .long reboot /* exception vector: 247 */ - .long reboot /* exception vector: 248 */ - .long reboot /* exception vector: 249 */ - .long reboot /* exception vector: 250 */ - .long reboot /* exception vector: 251 */ - .long reboot /* exception vector: 252 */ - .long reboot /* exception vector: 253 */ - .long reboot /* exception vector: 254 */ - .long reboot /* exception vector: 255 */ - - -_reboot: - move #0x2700,%sr /* mask interrupts */ - movea.l (0x0).w,%a7 /* load stack */ - movea.l (0x4).w,%a0 /* jmp to location of reset vector */ - jmp (%a0) - -reboot: - trap #15 /* use trap exception to enter supervisor - state. Trace mode ( and other group 0 - and 1 exceptions) *could* screw this up if - not vectored to reboot or did not return. */ diff --git a/c/src/lib/libbsp/m68k/efi332/start/ram_init.ld b/c/src/lib/libbsp/m68k/efi332/start/ram_init.ld deleted file mode 100644 index d469431027..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/start/ram_init.ld +++ /dev/null @@ -1,22 +0,0 @@ -OUTPUT_ARCH(m68k) -__DYNAMIC = 0; - -start = 0; - -MEMORY -{ - ram : ORIGIN = 0xfffa00, LENGTH = 256K -} - -SECTIONS -{ - .text : { - *(.text) - } >ram - .data : { - *(.data) - } >ram - .bss : { - *(.bss) - } >ram -} diff --git a/c/src/lib/libbsp/m68k/efi332/start/ram_init.sed b/c/src/lib/libbsp/m68k/efi332/start/ram_init.sed deleted file mode 100644 index ae664ca32d..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/start/ram_init.sed +++ /dev/null @@ -1,47 +0,0 @@ -1 { -i\ -#include \ -#define ASM\ -#include "sim.h"\ -\ -/* This file is automatically generated from EFI332_crt0.c -- DO NOT EDIT */\ -\ -/* note: For one reason or another, I could not get '|' (bit-or) to\ - work in the version of gas I'm using. I've replaced them with \ - '+' (addition) for this file. */\ -\ - .text\ -\ - -D; -}; -/include in ram_init.S/,/end include in ram_init.S/ { -/\*.*= *\(.*\)/ { -s/*/ .org / -h; -s/=.*// -P; -g; -/(.*short int)/ s/.*short int)/ .short / -/(.*char)/ s/.*char)/ .byte / -s/\/\*.*\*\/// -t dumby -:dumby -s/;//; -t next -N; -s/ *\/\*.*\*\/ *// -t dumby -b dumby -:next -s/ / /g -s/ / / -s/ *\n *//g -s/|/+/g -P; -D; -} -P; -D; -} -D; diff --git a/c/src/lib/libbsp/m68k/efi332/start/start.c b/c/src/lib/libbsp/m68k/efi332/start/start.c deleted file mode 100644 index 20ad83bea2..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/start/start.c +++ /dev/null @@ -1,228 +0,0 @@ -/* - * $Id - */ - -#include -#include -#define __START_C__ -#include "bsp.h" - -m68k_isr_entry M68Kvec[256]; -m68k_isr_entry vectors[256]; -char * const __argv[]= {"main", ""}; - -void boot_card(int argc, char * const argv[]); - -/* - * This prototype really should have the noreturn attribute but - * that causes a warning. Not sure how to fix that. - */ -/* void dumby_start () __attribute__ ((noreturn)); */ -void dumby_start (); - -void dumby_start() { - - /* We need to by-pass the link instruction since the RAM chip- - select pins are not yet configured. */ - asm volatile ( ".global start ;\n\ - start:"); - - /* disable interrupts, load stack pointer */ - asm volatile ( "oriw #0x0700, %sr;\n\ - moveal #M68Kvec, %a0;\n\ - movec %a0, %vbr;\n\ - movel #end, %d0;\n\ - addl " STACK_SIZE ",%d0;\n\ - movel %d0,%sp;\n\ - movel %d0,%a6" - ); - - /* include in ram_init.S */ - /* - * Initalize the SIM module. - * The stack pointer is not usable until the RAM chip select lines - * are configured. The following code must remain inline. - */ - - /* Module Configuration Register */ - /* see section(s) 3.1.3-3.1.6 of the SIM Reference Manual */ - *SIMCR = (unsigned short int) - (FRZSW | FRZBM | SAM(0,8,SHEN) | (MM*SIM_MM) | SAM(SIM_IARB,0,IARB)); - - /* Synthesizer Control Register */ - /* see section(s) 4.8 */ - /* end include in ram_init.S */ - *SYNCR = (unsigned short int) - ( SAM(EFI_W,15,VCO) | SAM(0x0,14,PRESCALE) | SAM(EFI_Y,8,COUNTER) | STSIM ); - while (! (*SYNCR & SLOCK)); /* protect from clock overshoot */ - /* include in ram_init.S */ - *SYNCR = (unsigned short int) - ( SAM(EFI_W,15,VCO) | SAM(EFI_X,14,PRESCALE) | SAM(EFI_Y,8,COUNTER) | STSIM ); - - /* System Protection Control Register */ - /* !!! can only write to once after reset !!! */ - /* see section 3.8.4 of the SIM Reference Manual */ - *SYPCR = (unsigned char)( SAM(0x3,4,SWT) | HME | BME ); - - /* Periodic Interrupr Control Register */ - /* see section 3.8.2 of the SIM Reference Manual */ - *PICR = (unsigned short int) - ( SAM(0,8,PIRQL) | SAM(EFI_PIV,0,PIV) ); - /* ^^^ zero disables interrupt, don't enable here or ram_init will - be wrong. It's enabled below. */ - - /* Periodic Interrupt Timer Register */ - /* see section 3.8.3 of the SIM Reference Manual */ - *PITR = (unsigned short int)( SAM(0x09,0,PITM) ); - /* 1.098mS interrupt */ - - /* Port C Data */ - /* load values before enabled */ - *PORTC = (unsigned char) 0x0; - - /* Chip-Select Base Address Register */ - /* see section 7 of the SIM Reference Manual */ - *CSBARBT = (unsigned short int) - (((0x000000 >> 8)&0xfff8) | BS_512K ); /* 512k bytes located at 0x0000 */ - *CSBAR0 = (unsigned short int) - (((0x000000 >> 8)&0xfff8) | BS_1M ); /* 1M bytes located at 0x0000 */ - *CSBAR1 = (unsigned short int) - (((0x080000 >> 8)&0xfff8) | BS_256K ); /* 256k bytes located at 0x80000 */ - *CSBAR2 = (unsigned short int) - (((0x080000 >> 8)&0xfff8) | BS_256K ); /* 256k bytes located at 0x80000 */ - *CSBAR3 = (unsigned short int) - (((0x0C0000 >> 8)&0xfff8) | BS_256K ); /* 256k bytes located at 0xC0000 */ - *CSBAR4 = (unsigned short int) - (((0x0C0000 >> 8)&0xfff8) | BS_256K ); /* 256k bytes located at 0xC0000 */ - *CSBAR5 = (unsigned short int) - (0xfff8 | BS_64K); /* AVEC interrupts */ -#ifdef EFI332_v040b - *CSBAR6 = (unsigned short int) - (((0x000000 >> 8)&0xfff8) | BS_512K ); /* 512k bytes located at 0x0000 */ - *CSBAR8 = (unsigned short int) /* PCMCIA IOCS */ - (((0x0c0000 >> 8)&0xfff8) | BS_64K ); /* 64k bytes located at 0xc0000 */ - *CSBAR9 = (unsigned short int) /* PCMCIA MEMCS */ - (((0x0D0000 >> 8)&0xfff8) | BS_64K ); /* 64k bytes located at 0xd0000 */ -#else /* EFI332_v040b */ - *CSBAR10 = (unsigned short int) - (((0x000000 >> 8)&0xfff8) | BS_512K ); /* 512k bytes located at 0x0000 */ -#endif /* EFI332_v040b */ - - /* Chip-Select Options Registers */ - /* see section 7 of the SIM Reference Manual */ -#ifdef FLASHWRITE - *CSORBT = (unsigned short int) - ( BothBytes | ReadWrite | SyncAS | WaitStates_2 | UserSupSpace ); -#else /* FLASHWRITE */ - *CSORBT = (unsigned short int) - ( BothBytes | ReadOnly | SyncAS | WaitStates_0 | UserSupSpace ); -#endif /* FLASHWRITE */ - *CSOR0 = (unsigned short int) - ( BothBytes | ReadOnly | SyncAS | External | UserSupSpace ); - *CSOR1 = (unsigned short int) - ( LowerByte | ReadWrite | SyncAS | FastTerm | UserSupSpace ); - *CSOR2 = (unsigned short int) - ( UpperByte | ReadWrite | SyncAS | FastTerm | UserSupSpace ); - *CSOR3 = (unsigned short int) - ( LowerByte | ReadWrite | SyncAS | FastTerm | UserSupSpace ); - *CSOR4 = (unsigned short int) - ( UpperByte | ReadWrite | SyncAS | FastTerm | UserSupSpace ); - *CSOR5 = (unsigned short int) - ( BothBytes | ReadWrite | SyncAS | CPUSpace | IPLevel_any | AVEC ); -#ifdef EFI332_v040b - *CSOR6 = (unsigned short int) - ( BothBytes | ReadOnly | SyncAS | External | UserSupSpace ); - *CSOR8 = (unsigned short int) - ( BothBytes | ReadWrite | SyncAS | External | UserSupSpace ); - *CSOR9 = (unsigned short int) - ( BothBytes | ReadWrite | SyncAS | External | UserSupSpace ); -#else /* EFI332_v040b */ - *CSOR10 = (unsigned short int) - ( BothBytes | ReadOnly | SyncAS | External | UserSupSpace ); -#endif /* EFI332_v040b */ - - /* Chip Select Pin Assignment Register 0 */ - /* see section 7 of the SIM Reference Manual */ - *CSPAR0 = (unsigned short int)( - SAM(DisOut,CS_5,0x3000) | /* AVEC (internally) */ - SAM(CS16bit,CS_4,0x0c00) | /* RAM UDS, bank2 */ - SAM(CS16bit,CS_3,0x0300) | /* RAM LDS, bank2 */ - SAM(CS16bit,CS_2,0x00c0)| /* RAM UDS, bank1 */ - SAM(CS16bit,CS_1,0x0030)| /* RAM LDS, bank1 */ - SAM(CS16bit,CS_0,0x000c)| /* W/!R */ - SAM(CS16bit,CSBOOT,0x0003) /* ROM CS */ - ); - - /* Chip Select Pin Assignment Register 1 */ - /* see section 7 of the SIM Reference Manual */ -#ifdef EFI332_v040b - *CSPAR1 = (unsigned short int)( - SAM(DisOut,CS_10,0x300)| /* ECLK */ - SAM(CS16bit,CS_9,0x0c0) | /* PCMCIA MEMCS */ - SAM(CS16bit,CS_8,0x030) | /* PCMCIA IOCS */ - SAM(DisOut,CS_7,0x00c) | /* PC4 */ - SAM(CS16bit,CS_6,0x003) /* ROM !OE */ - ); -#else /* EFI332_v040b */ - *CSPAR1 = (unsigned short int)( - SAM(CS16bit,CS_10,0x300)| /* ROM !OE */ - SAM(DisOut,CS_9,0x0c0) | /* PC6 */ - SAM(DisOut,CS_8,0x030) | /* PC5 */ - SAM(DisOut,CS_7,0x00c) | /* PC4 */ - SAM(DisOut,CS_6,0x003) /* PC3 */ - ); -#endif /* EFI332_v040b */ - - /* Port E and F Data Register */ - /* see section 9 of the SIM Reference Manual */ - *PORTE0 = (unsigned char) 0; - *PORTF0 = (unsigned char) 0; - - /* Port E and F Data Direction Register */ - /* see section 9 of the SIM Reference Manual */ - *DDRE = (unsigned char) 0xff; - *DDRF = (unsigned char) 0xfd; - - /* Port E and F Pin Assignment Register */ - /* see section 9 of the SIM Reference Manual */ - *PEPAR = (unsigned char) 0xc3; /* siz1|siz0|dsack1|dsack0 */ - *PFPAR = (unsigned char) 0; - - /* end of SIM initalization code */ - /* end include in ram_init.S */ - - - - /* - * Initialize RAM by copying the .data section out of ROM (if - * needed) and "zero-ing" the .bss section. - */ - { - register char *src = _etext; - register char *dst = _copy_start; - - if (_copy_data_from_rom) - /* ROM has data at end of text; copy it. */ - while (dst < _edata) - *dst++ = *src++; - - /* Zero bss */ - for (dst = _clear_start; dst< end; dst++) - *dst = 0; - } - - /* - * Initalize the board. - */ - /* Spurious should be called in the predriver hook */ - /* Spurious_Initialize(); */ - console_init(); - - /* - * Execute main with arguments argc and agrv. - */ - boot_card(1,__argv); - reboot(); - -} - diff --git a/c/src/lib/libbsp/m68k/efi332/startup/.cvsignore b/c/src/lib/libbsp/m68k/efi332/startup/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/startup/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/lib/libbsp/m68k/efi332/startup/Makefile.am b/c/src/lib/libbsp/m68k/efi332/startup/Makefile.am deleted file mode 100644 index 9452c9ade9..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/startup/Makefile.am +++ /dev/null @@ -1,45 +0,0 @@ -## -## $Id$ -## - -VPATH = @srcdir@:@srcdir@/../../shared:@srcdir@/../../../shared - -PGM = $(ARCH)/startup.rel - -C_FILES = bsplibc.c bsppost.c bspstart.c bspclean.c bootcard.c \ - m68kpretaskinghook.c main.c sbrk.c setvec.c gnatinstallhandler.c -C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT)) - -OBJS = $(C_O_FILES) - -include $(top_srcdir)/../../../../automake/compile.am -include $(top_srcdir)/../../../../automake/lib.am - -# -# (OPTIONAL) Add local stuff here using += -# - -$(PGM): $(OBJS) - $(make-rel) - -project_lib_DATA = linkcmds linkcmds_ROM - -# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile - -all-local: $(PGM) $(TMPINSTALL_FILES) - -EXTRA_DIST = bspclean.c bspstart.c linkcmds linkcmds_ROM - -$(PROJECT_LIB)/$(dirstamp): - @$(mkdir_p) $(PROJECT_LIB) - @: > $(PROJECT_LIB)/$(dirstamp) - -$(PROJECT_LIB)/linkcmds: linkcmds $(PROJECT_LIB)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds -TMPINSTALL_FILES += $(PROJECT_LIB)/linkcmds - -$(PROJECT_LIB)/linkcmds_ROM: linkcmds_ROM $(PROJECT_LIB)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds_ROM -TMPINSTALL_FILES += $(PROJECT_LIB)/linkcmds_ROM - -include $(top_srcdir)/../../../../automake/local.am diff --git a/c/src/lib/libbsp/m68k/efi332/startup/bspclean.c b/c/src/lib/libbsp/m68k/efi332/startup/bspclean.c deleted file mode 100644 index 80caa3afe8..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/startup/bspclean.c +++ /dev/null @@ -1,27 +0,0 @@ -/* bsp_cleanup() - * - * This routine cleans up in the sense that it places the board - * in a safe state and flushes the I/O buffers before exiting. - * - * 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 - -void bsp_cleanup(void) -{ - /* interrupt driven stdio must be flushed */ - _CPU_ISR_Set_level( 7 ); - _UART_flush(); -} diff --git a/c/src/lib/libbsp/m68k/efi332/startup/bspstart.c b/c/src/lib/libbsp/m68k/efi332/startup/bspstart.c deleted file mode 100644 index 40f3998924..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/startup/bspstart.c +++ /dev/null @@ -1,84 +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. - * - * $Id$ - */ - -#include - -#include -#include -#include - -/* - * 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; - -char *rtems_progname; - -/* - * Use the shared implementations of the following routines - */ - -void bsp_postdriver_hook(void); -void bsp_libc_init( void *, unsigned32, int ); -void bsp_pretasking_hook(void); /* m68k version */ - -/* - * Call Spurious_Initialize in bsp_predriver_hook because - * bsp_predriver_hook is call after the _ISR_Vector_Table allocation - */ - -void bsp_predriver_hook(void) -{ - void Spurious_Initialize(); - Spurious_Initialize(); -} - -/* - * bsp_start - * - * This routine does the bulk of the system initialization. - */ - -void bsp_start( void ) -{ - void *vbr; - extern void *_WorkspaceBase; - extern void *_RamSize; - extern unsigned long _M68k_Ramsize; - - _M68k_Ramsize = (unsigned long)&_RamSize; /* RAM size set in linker script */ - - /* - * we only use a hook to get the C library initialized. - */ - - Cpu_table.pretasking_hook = bsp_pretasking_hook; - Cpu_table.predriver_hook = bsp_predriver_hook; - Cpu_table.postdriver_hook = bsp_postdriver_hook; - - m68k_get_vbr( vbr ); - Cpu_table.interrupt_vector_table = vbr; - - BSP_Configuration.work_space_start = (void *) &_WorkspaceBase; - - /* Clock_exit is done as an atexit() function */ -} - diff --git a/c/src/lib/libbsp/m68k/efi332/startup/linkcmds b/c/src/lib/libbsp/m68k/efi332/startup/linkcmds deleted file mode 100644 index 803c261d5e..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/startup/linkcmds +++ /dev/null @@ -1,206 +0,0 @@ -/* linkcmds - * - * $Id$ - */ - -OUTPUT_ARCH(m68k) -__DYNAMIC = 0; - -/* - * The memory map looks like this: - * +--------------------+ <- low memory - * | _RamBase | - * | .text | - * | etext | - * | ctor list | the ctor and dtor lists are for - * | dtor list | C++ support - * | _endtext | - * +--------------------+ - * | .data | initialized data goes here - * | _sdata | - * | _edata | - * +--------------------+ - * | .bss | - * | _clear_start| start of bss, cleared by crt0 - * | _end | start of heap, used by sbrk() - * +--------------------+ - * | _WorkspaceBase - * | work space | - * | heapStart | - * | heap space | - * | _RamEnd | top of stack - * +--------------------+ <- high memory - */ - -/* - * Declare some sizes. - */ -_RamBase = DEFINED(_RamBase) ? _RamBase : 0x80000; -_RamSize = DEFINED(_RamSize) ? _RamSize : 0x80000; -_RamEnd = _RamBase + _RamSize; -_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x10000; -_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000; - -MEMORY -{ - ram : ORIGIN = 0x80000, LENGTH = 512K -} - -_copy_data_from_rom = 0; - -/* - * stick everything in ram (of course) - */ -SECTIONS -{ - ram : { - . = .; - } >ram - - /* - * Text, data and bss segments - */ - .text : { - *(.text) - - /* - * C++ constructors/destructors - */ - *(.gnu.linkonce.t.*) - - /* - * Initialization and finalization code. - * - * Various files can provide initialization and finalization - * functions. crtbegin.o and crtend.o are two instances. The - * body of these functions are in .init and .fini sections. We - * accumulate the bodies here, and prepend function prologues - * from crti.o and function epilogues from crtn.o. crti.o must - * be linked first; crtn.o must be linked last. Because these - * are wildcards, it doesn't matter if the user does not - * actually link against crti.o and crtn.o; the linker won't - * look for a file to match a wildcard. The wildcard also - * means that it doesn't matter which directory crti.o and - * crtn.o are in. - */ - PROVIDE (_init = .); - *crti.o(.init) - *(.init) - *crtn.o(.init) - PROVIDE (_fini = .); - *crti.o(.fini) - *(.fini) - *crtn.o(.fini) - - /* - * Special FreeBSD sysctl sections. - */ - . = ALIGN (16); - __start_set_sysctl_set = .; - *(set_sysctl_*); - __stop_set_sysctl_set = ABSOLUTE(.); - *(set_domain_*); - *(set_pseudo_*); - - /* - * C++ constructors/destructors - * - * gcc uses crtbegin.o to find the start of the constructors - * and destructors so we make sure it is first. Because this - * is a wildcard, it doesn't matter if the user does not - * actually link against crtbegin.o; the linker won't look for - * a file to match a wildcard. The wildcard also means that - * it doesn't matter which directory crtbegin.o is in. The - * constructor and destructor list are terminated in - * crtend.o. The same comments apply to it. - */ - . = ALIGN (16); - *crtbegin.o(.ctors) - *(.ctors) - *crtend.o(.ctors) - *crtbegin.o(.dtors) - *(.dtors) - *crtend.o(.dtors) - - /* - * Exception frame info - */ - . = ALIGN (16); - *(.eh_frame) - - /* - * Read-only data - */ - . = ALIGN (16); - _rodata_start = . ; - *(.rodata*) - *(.gnu.linkonce.r*) - - . = ALIGN (16); - PROVIDE (_etext = .); - } >ram - .data : { - PROVIDE (_copy_start = .); - *(.data) - *(.gnu.linkonce.d*) - *(.gcc_except_table) - *(.jcr) - . = ALIGN (16); - PROVIDE (_edata = .); - PROVIDE (_copy_end = .); - } >ram - .bss : { - _clear_start = .; - *(.bss) - *(COMMON) - . = ALIGN (16); - PROVIDE (end = .); - - . += _StackSize; - . = ALIGN (16); - _stack_init = .; - _clear_end = .; - - _WorkspaceBase = .; - } >ram - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - - /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - /* These must appear regardless of . */ -} diff --git a/c/src/lib/libbsp/m68k/efi332/startup/linkcmds_ROM b/c/src/lib/libbsp/m68k/efi332/startup/linkcmds_ROM deleted file mode 100644 index fe8b9d9537..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/startup/linkcmds_ROM +++ /dev/null @@ -1,216 +0,0 @@ -/* linkcmds - * - * $Id$ - */ - -OUTPUT_ARCH(m68k) -STARTUP(except_vect_332_ROM.o) -__DYNAMIC = 0; - -/* - * The memory map looks like this: - * ROM: - * +--------------------+ <- low memory - * | .text | - * | etext | - * | ctor list | the ctor and dtor lists are for - * | dtor list | C++ support - * | _endtext | - * | temporary .data | .data is moved to RAM by crt0 - * | | - * +--------------------+ <- high memory - * - * - * RAM: - * +--------------------+ <- low memory - * | _RamBase | - * | .data | initialized data goes here - * | _sdata | - * | _edata | - * +--------------------+ - * | .bss | - * | _clear_start| start of bss, cleared by crt0 - * | _end | start of heap, used by sbrk() - * +--------------------+ - * | _WorkspaceBase - * | work space | - * | heapStart | - * | heap space | - * | _RamEnd | top of stack - * +--------------------+ <- high memory - */ - -/* - * Declare some sizes. - */ -_RamBase = DEFINED(_RamBase) ? _RamBase : 0x80000; -_RamSize = DEFINED(_RamSize) ? _RamSize : 0x40000; -_RamEnd = _RamBase + _RamSize; -_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x10000; -_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000; - -MEMORY -{ - rom : ORIGIN = 0x00000, LENGTH = 256K - ram : ORIGIN = 0x80000, LENGTH = 256K -} - -_copy_data_from_rom = 1; - -/* - * - */ -SECTIONS -{ - ram : { - . = .; - } >ram - - /* - * Text, data and bss segments - */ - .text : { - *(.text) - - /* - * C++ constructors/destructors - */ - *(.gnu.linkonce.t.*) - - /* - * Initialization and finalization code. - * - * Various files can provide initialization and finalization - * functions. crtbegin.o and crtend.o are two instances. The - * body of these functions are in .init and .fini sections. We - * accumulate the bodies here, and prepend function prologues - * from crti.o and function epilogues from crtn.o. crti.o must - * be linked first; crtn.o must be linked last. Because these - * are wildcards, it doesn't matter if the user does not - * actually link against crti.o and crtn.o; the linker won't - * look for a file to match a wildcard. The wildcard also - * means that it doesn't matter which directory crti.o and - * crtn.o are in. - */ - PROVIDE (_init = .); - *crti.o(.init) - *(.init) - *crtn.o(.init) - PROVIDE (_fini = .); - *crti.o(.fini) - *(.fini) - *crtn.o(.fini) - - /* - * Special FreeBSD sysctl sections. - */ - . = ALIGN (16); - __start_set_sysctl_set = .; - *(set_sysctl_*); - __stop_set_sysctl_set = ABSOLUTE(.); - *(set_domain_*); - *(set_pseudo_*); - - /* - * C++ constructors/destructors - * - * gcc uses crtbegin.o to find the start of the constructors - * and destructors so we make sure it is first. Because this - * is a wildcard, it doesn't matter if the user does not - * actually link against crtbegin.o; the linker won't look for - * a file to match a wildcard. The wildcard also means that - * it doesn't matter which directory crtbegin.o is in. The - * constructor and destructor list are terminated in - * crtend.o. The same comments apply to it. - */ - . = ALIGN (16); - *crtbegin.o(.ctors) - *(.ctors) - *crtend.o(.ctors) - *crtbegin.o(.dtors) - *(.dtors) - *crtend.o(.dtors) - - /* - * Exception frame info - */ - . = ALIGN (16); - *(.eh_frame) - - /* - * Read-only data - */ - . = ALIGN (16); - _rodata_start = . ; - *(.rodata) - *(.gnu.linkonce.r*) - - . = ALIGN (16); - PROVIDE (_etext = .); - } >rom - .data : - AT ( ADDR(.text) + SIZEOF( .text ) ) - { - PROVIDE (_copy_start = .); - *(.data) - *(.gnu.linkonce.d*) - *(.gcc_except_table) - . = ALIGN (16); - PROVIDE (_edata = .); - PROVIDE (_copy_end = .); - } >ram - .bss : { - _clear_start = .; - *(.bss) - *(COMMON) - . = ALIGN (16); - PROVIDE (end = .); - - . += _StackSize; - . = ALIGN (16); - _stack_init = .; - _clear_end = .; - - _WorkspaceBase = .; - } >ram - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - - /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - /* These must appear regardless of . */ -} diff --git a/c/src/lib/libbsp/m68k/efi332/timer/.cvsignore b/c/src/lib/libbsp/m68k/efi332/timer/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/timer/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/lib/libbsp/m68k/efi332/timer/Makefile.am b/c/src/lib/libbsp/m68k/efi332/timer/Makefile.am deleted file mode 100644 index 89cd2f36f3..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/timer/Makefile.am +++ /dev/null @@ -1,30 +0,0 @@ -## -## $Id$ -## - -PGM = $(ARCH)/timer.rel - -C_FILES = timer.c -C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT)) - -OBJS = $(C_O_FILES) - -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-local: $(OBJS) $(PGM) - -.PRECIOUS: $(PGM) - -EXTRA_DIST = timer.c - -include $(top_srcdir)/../../../../automake/local.am diff --git a/c/src/lib/libbsp/m68k/efi332/timer/timer.c b/c/src/lib/libbsp/m68k/efi332/timer/timer.c deleted file mode 100644 index c6173c837e..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/timer/timer.c +++ /dev/null @@ -1,83 +0,0 @@ -/* Timer_init() - * - * This routine initializes a timer in efi68k's DP8570A TCP - * - * Input parameters: NONE - * - * Output parameters: NONE - * - * 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_boolean Timer_driver_Find_average_overhead; - -extern rtems_isr Clock_isr(); - -void Timer_initialize( void ) -{ -} - -/* - * 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 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 */ - -/* - * Return timer value in 1/2-microsecond units - */ -int Read_timer( void ) -{ - rtems_unsigned32 total; - total = 0; - - if ( Timer_driver_Find_average_overhead == 1 ) - return total; /* in XXX microsecond units */ - - if ( total < LEAST_VALID ) - return 0; /* below timer resolution */ - - 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/m68k/efi332/times b/c/src/lib/libbsp/m68k/efi332/times deleted file mode 100644 index 17ac20f2cf..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/times +++ /dev/null @@ -1,193 +0,0 @@ -# -# Timing Test Suite Results for the EFI332 BSP -# -# $Id$ -# - -NOTE: This BSP is used submitted and no information is currently available. - -Board: EFI332 -CPU: 68332 -Clock Speed: 20 Mhz -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 A: unused -Column B: unused - -# 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 diff --git a/c/src/lib/libbsp/m68k/efi332/wrapup/.cvsignore b/c/src/lib/libbsp/m68k/efi332/wrapup/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/wrapup/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/lib/libbsp/m68k/efi332/wrapup/Makefile.am b/c/src/lib/libbsp/m68k/efi332/wrapup/Makefile.am deleted file mode 100644 index 7e923c67cb..0000000000 --- a/c/src/lib/libbsp/m68k/efi332/wrapup/Makefile.am +++ /dev/null @@ -1,20 +0,0 @@ -## -## $Id$ -## - -BSP_PIECES = startup clock console spurious timer - -# bummer; have to use $foreach since % pattern subst rules only replace 1x -OBJS = $(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/*.$(OBJEXT)) \ - $(wildcard \ - ../../../../libcpu/$(RTEMS_CPU)/shared/misc/$(ARCH)/*.$(OBJEXT)) - -include $(top_srcdir)/../../../../automake/compile.am -include $(top_srcdir)/../../../../automake/lib.am - -$(ARCH)/libbsp.a: $(OBJS) - $(make-library) - -noinst_DATA = $(ARCH)/libbsp.a - -include $(top_srcdir)/../../../../automake/local.am diff --git a/c/src/lib/libbsp/m68k/efi68k/.cvsignore b/c/src/lib/libbsp/m68k/efi68k/.cvsignore deleted file mode 100644 index bfdfd995be..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/.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/m68k/efi68k/ChangeLog b/c/src/lib/libbsp/m68k/efi68k/ChangeLog deleted file mode 100644 index 6b250e86f0..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/ChangeLog +++ /dev/null @@ -1,306 +0,0 @@ -2004-01-07 Ralf Corsepius - - * start/Makefile.am: Remove. - * Makefile.am: Merge-in start/Makefile.am. - * configure.ac: Reflect changes above. - -2004-01-05 Ralf Corsepius - - * wrapup/Makefile.am: Eliminate $(LIB). - Use noinst_DATA to trigger building libbsp.a. - -2003-12-13 Ralf Corsepius - - * 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 - - * 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 - - * configure.ac: Require automake >= 1.8, autoconf >= 2.59. - -2003-12-10 Ralf Corsepius - - * start/Makefile.am: Misc cleanups and fixes. - * startup/Makefile.am: Misc cleanups and fixes. - * wrapup/Makefile.am: Misc cleanups and fixes. - -2003-12-03 Ralf Corsepius - - * Makefile.am: Add preinstallation dirstamp support. - * clock/Makefile.am: Cosmetics. - * console/Makefile.am: Cosmetics. - * spurious/Makefile.am: Cosmetics. - * startup/Makefile.am: Cosmetics. - * timer/Makefile.am: Cosmetics. - * wrapup/Makefile.am: Cosmetics. - -2003-12-02 Ralf Corsepius - - * clock/Makefile.am: Remove all-local: $(ARCH). - * console/Makefile.am: Remove all-local: $(ARCH). - * spurious/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-10-02 Joel Sherrill - - PR 503/bsps - * clock/ckinit.c, include/bsp.h, startup/efi68k_tcp.c, timer/timer.c: - Do not include DP8570A.h from bsp.h but still install it. This avoids - polluting the namespace. - -2003-09-29 Ralf Corsepius - - * Makefile.am: Merge-in include/Makefile.am. - Reflect changes to bsp.am. - * include/Makefile.am: Remove. - * configure.ac: Reflect changes above. - -2003-09-19 Ralf Corsepius - - * bsp_specs: Remove *lib:. - -2003-09-15 Joel Sherrill - - PR 483/bsps - * start/start.c, startup/bspstart.c: Spurious interrupt handlers cannot - be installed until RTEMS has initialized the vector table. - -2003-09-04 Joel Sherrill - - * clock/ckinit.c, console/console.c, include/16550.h, - include/DP8570A.h, include/bsp.h, spurious/spinit.c, - startup/bspclean.c, startup/bspstart.c, startup/efi68k_tcp.c, - startup/efi68k_wd.c, startup/setvec.c, timer/timer.c: URL for license - changed. - -2003-08-18 Ralf Corsepius - - * Makefile.am: Reflect having moved aclocal/. - -2003-08-16 Ralf Corsepius - - * 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/. - * spurious/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 - - PR 452/bsps - * startup/Makefile.am: Remove USE_INIT_FINI. - -2003-08-11 Ralf Corsepius - - * configure.ac: Use rtems-bugs@rtems.com as bug report email address. - -2003-08-06 Ralf Corsepius - - PR 445/bsps - * bsp_specs: Remove -D__embedded__ -Asystem(embedded) from cpp. - Remove cpp, old_cpp (now unused). - -2003-03-06 Ralf Corsepius - - * configure.ac: Remove AC_CONFIG_AUX_DIR. - -2003-02-11 Ralf Corsepius - - * configure.ac: AM_INIT_AUTOMAKE([1.7.2]). - -2003-02-11 Ralf Corsepius - - * configure.ac: AC_PREREQ(2.57). - -2003-01-28 Joel Sherrill - - * include/DP8570A.h, include/bsp.h, start/start.c, - startup/efi68k_tcp.c: Rename tcp_init() to bsp_tcp_init() - to avoid conflict with TCP/IP stack internal routine. - -2003-01-20 Joel Sherrill - - * startup/linkcmds*: Add FreeBSD sysctl() sections. - -2002-12-19 Ralf Corsepius - - * clock/Makefile.am: Don't include @RTEMS_BSP@.cfg. - * console/Makefile.am: Don't include @RTEMS_BSP@.cfg. - * spurious/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 - - * start/Makefile.am: Use install-data-local to install startfile. - -2002-12-10 Ralf Corsepius - - * wrapup/Makefile.am: Don't include @RTEMS_BSP@.cfg. - -2002-11-02 Joel Sherrill - - * console/console.c, start/start.c: Removed warnings. - -2002-10-21 Ralf Corsepius - - * .cvsignore: Reformat. - Add autom4te*cache. - Remove autom4te.cache. - -2002-08-21 Joel Sherrill - - * wrapup/Makefile.am: PR217 required that the idle task be moved to - libcpu so it could be more acutely aware of the CPU model. This - file was modified to pick up the idle task from there. - -2002-08-21 Joel Sherrill - - * bsp_specs: Added support for -nostdlibs. - -2002-08-11 Ralf Corsepius - - * clock/Makefile.am: Use .$(OBJEXT) instead of .o. - * console/Makefile.am: Use .$(OBJEXT) instead of .o. - * spurious/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-05 Joel Sherrill - - * Per PR260 eliminate use of make-target-options. This impacted - RTEMS allowing a distinction between the CPU32 and CPU32+ in the - SuperCore and required that the m68k optimized memcpy be moved - to libcpu. - * wrapup/Makefile.am: Pick up memcpy.o from libcpu. - -2002-07-21 Ralf Corsepius - - * start/Makefile.am: Eliminate PGM. - Add bsplib_DATA = $(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).o. - -2002-07-19 Ralf Corsepius - - * startup/Makefile.am: Add bsplib_DATA = linkcmds. - -2002-07-04 Ralf Corsepius - - * wrapup/Makefile.am: Eliminate TMPINSTALL_FILES. - Remove $(OBJS) from all-local. - -2002-06-29 Ralf Corsepius - - * wrapup/Makefile.am: Remove preinstallation of libbsp.a, - -2001-05-09 Joel Sherrill - - * startup/linkcmds: In support of gcc 3.1, added one of more - of the sections .jcr, .rodata*, .data.*, .gnu.linkonce.s2.*, - .gnu.linkonce.sb2.*, and .gnu.linkonce.s.*. Spacing corrections - and direction of segments to memory regions may also have been - addressed. This was a sweep across all BSPs. - -2002-03-27 Ralf Corsepius - - * configure.ac: - AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS). - AM_INIT_AUTOMAKE([no-define foreign 1.6]). - * clock/Makefile.am: Remove AUTOMAKE_OPTIONS. - * Makefile.am: Remove AUTOMAKE_OPTIONS. - * console/Makefile.am: Remove AUTOMAKE_OPTIONS. - * include/Makefile.am: Remove AUTOMAKE_OPTIONS. - * spurious/Makefile.am: Remove AUTOMAKE_OPTIONS. - * start/Makefile.am: Remove AUTOMAKE_OPTIONS. - * startup/Makefile.am: Remove AUTOMAKE_OPTIONS. - * timer/Makefile.am: Remove AUTOMAKE_OPTIONS. - * wrapup/Makefile.am: Remove AUTOMAKE_OPTIONS. - -2001-12-22 Ralf Corsepius - - * bsp_specs: Replace -lrtemsall with -lrtemsbsp -lrtemscpu, - replace -lrtemsall_g with -lrtemsbsp_g -lrtemscpu_g. - -2001-11-30 Ralf Corsepius - - * configure.ac: Introduce RTEMS_BSP_CONFIGURE. - -2001-10-11 Ralf Corsepius - - * .cvsignore: Add autom4te.cache for autoconf > 2.52. - * configure.in: Remove. - * configure.ac: New file, generated from configure.in by autoupdate. - -2001-09-27 Joel Sherrill - - * include/bsp.h: Renamed delay() to rtems_bsp_delay(). - -2001-09-27 Ralf Corsepius - - * include/Makefile.am: Use 'CLEANFILES ='. - * include/Makefile.am: Use 'TMPINSTALL_FILES ='. - -2001-06-18 Ralf Corsepius - - * include/Makefile.am: Fix typo in include_HEADERS. - -2001-05-26 Ralf Corsepius - - * configure.in: Add bspopts.h. - * include/.cvsignore: Add bspopts.h*, stamp-h*. - * include/Makefile.am: Use *_HEADERS instead of *H_FILES. - * include/bsp.h: Include bspopts.h. - -2001-05-10 Ralf Corsepius - - * configure.in: Use RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm]). - -2000-11-09 Ralf Corsepius - - * Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS. - -2000-11-02 Ralf Corsepius - - * Makefile.am: Switch to ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal. - -2000-11-01 Joel Sherrill - - * startup/bspstart.c: assoc.h, error.h, libio_.h, libio.h, - and libcsupport.h moved from libc to lib/include/rtems and - now must be referenced as . Header file order - was cleaned up while doing this. - -2000-10-27 Ralf Corsepius - - * Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros. - Switch to GNU canonicalization. - -2000-09-29 Charles-Antoine Gauthier - - * startup/linkcmds: Added lines so DWARF debug information - would be available. Otherwise gdb complains that the offsets - for the debug info are incorrect and doesn't load the files. - -2000-09-04 Ralf Corsepius - - * clock/Makefile.am, console/Makefile.am, spurious/Makefile.am, - start/Makefile.am, startup/Makefile.am, timer/Makefile.am, - wrapup/Makefile.am: Include compile.am - -2000-08-10 Joel Sherrill - - * ChangeLog: New file. diff --git a/c/src/lib/libbsp/m68k/efi68k/Makefile.am b/c/src/lib/libbsp/m68k/efi68k/Makefile.am deleted file mode 100644 index da789eb2a7..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/Makefile.am +++ /dev/null @@ -1,52 +0,0 @@ -## -## $Id$ -## - -ACLOCAL_AMFLAGS = -I ../../../../aclocal - -include $(top_srcdir)/../../../../automake/compile.am -include $(top_srcdir)/../../bsp.am - -# wrapup is the one that actually builds and installs the library -# from the individual .rel files built in other directories -SUBDIRS = . startup clock console spurious timer wrapup - -nodist_include_HEADERS += $(top_srcdir)/../../shared/include/coverhd.h -include_HEADERS += include/efi68k.h -include_HEADERS += include/16550.h -include_HEADERS += include/DP8570A.h - -EXTRA_DIST = times - -C_FILES = start/start.C -$(ARCH)/%$(LIB_VARIANT).$(OBJEXT): start/start.c $(ARCH)/$(dirstamp) - $(COMPILE) -o $@ -c $< - -project_lib_DATA = $(ARCH)/start$(LIB_VARIANT).$(OBJEXT) - -all-local: $(PREINSTALL_FILES) $(TMPINSTALL_FILES) - -TMPINSTALL_FILES = - -$(PROJECT_INCLUDE)/coverhd.h: $(top_srcdir)/../../shared/include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/coverhd.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h - -$(PROJECT_INCLUDE)/efi68k.h: include/efi68k.h $(PROJECT_INCLUDE)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/efi68k.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/efi68k.h - -$(PROJECT_INCLUDE)/16550.h: include/16550.h $(PROJECT_INCLUDE)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/16550.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/16550.h - -$(PROJECT_INCLUDE)/DP8570A.h: include/DP8570A.h $(PROJECT_INCLUDE)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/DP8570A.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/DP8570A.h - -$(PROJECT_LIB)/start$(LIB_VARIANT).$(OBJEXT): $(ARCH)/start$(LIB_VARIANT).$(OBJEXT) $(PROJECT_LIB)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_LIB)/start$(LIB_VARIANT).$(OBJEXT) -TMPINSTALL_FILES += $(PROJECT_LIB)/start$(LIB_VARIANT).$(OBJEXT) - -include $(top_srcdir)/../../../../automake/subdirs.am -include $(top_srcdir)/../../../../automake/local.am diff --git a/c/src/lib/libbsp/m68k/efi68k/README b/c/src/lib/libbsp/m68k/efi68k/README deleted file mode 100644 index a4cc364c04..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/README +++ /dev/null @@ -1,41 +0,0 @@ -# -# $Id$ -# - -Description: efi68k -============ -CPU: MC68HC000 @16MHz -RAM: 256k -ROM: 256k - - Based upon a 16MHz 68HC000, efi332 is a minimally configured 4x6 -inch single board computer. It includes the following major -components: (a) 256k SRAM (km681000l), (b) 256 EPROM (27C010), -(c) DP8570A (clock/timer/calendar), (d) MAX791 (cpu supervisory chip -with battery backup switch-over and watch dog timer), and -(e) NS16550DN (UART). The following interrupt functions have also been -incorporated: UART, TIMER, Watch Dog, and Low Line voltage (trips at -4.85V; enough time to save the cpu reg before reset is asserted on -power down). - The schematic for efi68k is freely available via e-mail. Send -"index diy_efi" to majordomo@coulomb.eng.ohio-state.edu. Retrieve the -files related to 68hc000-1.00 with the "get diy_efi " -command. efi68k does not have an available printed circuit board, but -can be wire-wrapped in about four days. Cost is about $100US. - -TODO: -===== -- add the "tm27 vector" ... can we use a trap instruction? -- generate include/coverhd.c to perform the tmtest. -- the interrupt drive I/O should be integrated into the RTEMS. -- finish the ROM memory model. -- add separate interrupt stack (low priority). - - John S Gwynne - Gwynne.1@osu.edu -_______________________________________________________________________________ - T h e O h i o - S t a t e U n i v e r s i t y - ElectroScience Laboratory, 1320 Kinnear Road, Columbus, Ohio 43212, USA - Telephone: (614) 292-7981 * Fax: (614) 292-7297 -------------------------------------------------------------------------------- - diff --git a/c/src/lib/libbsp/m68k/efi68k/bsp_specs b/c/src/lib/libbsp/m68k/efi68k/bsp_specs deleted file mode 100644 index 6480bbd1b5..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/bsp_specs +++ /dev/null @@ -1,16 +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} \ -crti.o%s crtbegin.o%s}} - -*link: -%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N -e start} - -*endfile: -%{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s crtn.o%s} - diff --git a/c/src/lib/libbsp/m68k/efi68k/clock/.cvsignore b/c/src/lib/libbsp/m68k/efi68k/clock/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/clock/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/lib/libbsp/m68k/efi68k/clock/Makefile.am b/c/src/lib/libbsp/m68k/efi68k/clock/Makefile.am deleted file mode 100644 index 01bde7b3e4..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/clock/Makefile.am +++ /dev/null @@ -1,30 +0,0 @@ -## -## $Id$ -## - -PGM = $(ARCH)/clock.rel - -C_FILES = ckinit.c -C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT)) - -OBJS = $(C_O_FILES) - -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-local: $(OBJS) $(PGM) - -.PRECIOUS: $(PGM) - -EXTRA_DIST = ckinit.c - -include $(top_srcdir)/../../../../automake/local.am diff --git a/c/src/lib/libbsp/m68k/efi68k/clock/ckinit.c b/c/src/lib/libbsp/m68k/efi68k/clock/ckinit.c deleted file mode 100644 index 6640e6e0c9..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/clock/ckinit.c +++ /dev/null @@ -1,150 +0,0 @@ -/* Clock_init() - * - * This routine initializes the DP8570A periodic interrupt on the - * efi68k board. The tick frequency is 1 millisecond. - * - * Input parameters: NONE - * - * Output parameters: 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 -#include -#include -#include - -#define CLOCK_VECTOR (TCP_ISR_LEVEL+24) - -rtems_unsigned32 Clock_isrs; /* ISRs until next tick */ -volatile rtems_unsigned32 Clock_driver_ticks; - /* ticks since initialization */ -rtems_isr_entry Old_ticker; - -void Clock_exit( void ); - -/* - * 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 per_interrupt(void) -{ - Clock_driver_ticks += 1; - - *MSR = PER; - - if ( Clock_isrs == 1 ) { - rtems_clock_tick(); - Clock_isrs = BSP_Configuration.microseconds_per_tick / 1000; - } - else - Clock_isrs -= 1; -} - -rtems_isr Clock_isr( - rtems_vector_number vector -) -{ - unsigned char entry_msr, msr; - - entry_msr = *MSR; - *MSR = 0; - while ( (msr=*MSR) & INT ) - /* test enabled interrupt bits */ - if (msr & PER) - per_interrupt(); - else if (msr & T0) { - *MSR = T0; /* reset interrupt */ - Timer_interrupts++; /* inc wrap around counter */ - } - else - /* there has been an error if we reach this point */ - /* default action: reset all the interrupts */ - *MSR = ( PER | AL | T0 | T1 ); - *MSR = entry_msr & (RS | PS); -} - -void Install_clock( - rtems_isr_entry clock_isr -) -{ - Clock_driver_ticks = 0; - Clock_isrs = BSP_Configuration.microseconds_per_tick / 1000; - - Old_ticker = (rtems_isr_entry) set_vector( clock_isr, CLOCK_VECTOR, 1 ); - - *MSR = RS; /* enable 1mS interrupts */ - *ICR0 |= OME; - - atexit( Clock_exit ); -} - -void Clock_exit( void ) -{ - /* shutdown periodic interrupt */ - *MSR = RS; - *ICR0 &= 0xc0; - /* do not restore old vector */ -} - -rtems_device_driver Clock_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) -{ - Install_clock( Clock_isr ); - - /* - * 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 -) -{ - rtems_unsigned32 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); - } - 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/m68k/efi68k/configure.ac b/c/src/lib/libbsp/m68k/efi68k/configure.ac deleted file mode 100644 index d59eb47c3f..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/configure.ac +++ /dev/null @@ -1,25 +0,0 @@ -## Process this file with autoconf to produce a configure script. -## -## $Id$ - -AC_PREREQ(2.59) -AC_INIT([rtems-c-src-lib-libbsp-m68k-efi68k],[_RTEMS_VERSION],[rtems-bugs@rtems.com]) -AC_CONFIG_SRCDIR([bsp_specs]) -RTEMS_TOP(../../../../../..) - -RTEMS_CANONICAL_TARGET_CPU -AM_INIT_AUTOMAKE([no-define foreign 1.8]) -RTEMS_BSP_CONFIGURE - -RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm]) -RTEMS_CANONICALIZE_TOOLS - -# Explicitly list all Makefiles here -AC_CONFIG_FILES([Makefile -clock/Makefile -console/Makefile -spurious/Makefile -startup/Makefile -timer/Makefile -wrapup/Makefile]) -AC_OUTPUT diff --git a/c/src/lib/libbsp/m68k/efi68k/console/.cvsignore b/c/src/lib/libbsp/m68k/efi68k/console/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/console/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/lib/libbsp/m68k/efi68k/console/Makefile.am b/c/src/lib/libbsp/m68k/efi68k/console/Makefile.am deleted file mode 100644 index 9f4fde7145..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/console/Makefile.am +++ /dev/null @@ -1,30 +0,0 @@ -## -## $Id$ -## - -PGM = $(ARCH)/console.rel - -C_FILES = console.c -C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT)) - -OBJS = $(C_O_FILES) - -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-local: $(OBJS) $(PGM) - -.PRECIOUS: $(PGM) - -EXTRA_DIST = console.c - -include $(top_srcdir)/../../../../automake/local.am diff --git a/c/src/lib/libbsp/m68k/efi68k/console/console.c b/c/src/lib/libbsp/m68k/efi68k/console/console.c deleted file mode 100644 index f1d5df13e2..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/console/console.c +++ /dev/null @@ -1,365 +0,0 @@ -/* - * This file contains the efi68k 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. - * - * $Id$ - */ - -#include -#include -#include - - -#define BAUD 38400 -#define CLK_FREQ 8000000.0 - -/* BUFFER_LENGTH must be 2^n for n=1, 2, 3, .... */ -#define BUFFER_LENGTH 256 -#define RTS_STOP_SIZE BUFFER_LENGTH-64 -#define RTS_START_SIZE 16 - -char xmt_buf[BUFFER_LENGTH]; -char rcv_buf[BUFFER_LENGTH]; -/* in: last entry into the buffer; always on a valid character */ -/* out: points to the next character to be pull from the buffer */ -/* in+1=out => buffer empty */ -/* in+2=out => buffer full */ -struct UART_buf { - char *offset; - char *in; - char *out; -}; -static volatile struct UART_buf xmt = { xmt_buf, (char *)0, (char *)1}; -static volatile struct UART_buf rcv = { rcv_buf, (char *)0, (char *)1}; -static volatile char _debug_flag = 0; -static volatile char _tx_stop = 0; - -/* _catchUARTint is the interrupt front-end */ -extern void _catchUARTint(); -asm(" .text\n\ - .align 2\n\ - .globl _catchUARTint\n\ -_catchUARTint:\n\ - lea %sp@(4),%sp /* pop return address */\n\ - moveml %d0-%d7/%a0-%a6,%sp@- /* save registers */\n\ - jbsr uart_interrupt\n\ - moveml %sp@+,%d0-%d7/%a0-%a6 \n\ - rte\n\ - "); - -/* _fake_trap_1 will continue the UART interrupt (%sr *still* - UART_ISR_LEVEL) as a trap #1 to enter the debugger */ -asm(" .text\n\ - .align 2\n\ -_fake_trap_1:\n\ - unlk %a6 /* clear interrupt frame */\n\ - lea %sp@(4),%sp /* remove jbsr instruction */\n\ - moveml %sp@+,%d0-%d7/%a0-%a6 /* pop registers */\n\ - jmp (33*6-12+_VBR) /* jump exception 1 */\n\ - "); - -/* dispatch UART interrupt */ -void xmit_interrupt(void); -void rcvr_interrupt(void); -void modem_status(void); -void _fake_trap_1(void); -void uart_interrupt(void) { - register char a; - - a=*IIR & (NIP | IID_MASK); /* read interrupt id register */ - switch (a) { - case 0x04: case 0x0c: - rcvr_interrupt(); - break; - case 0x02: - xmit_interrupt(); - break; - case 0x00: - modem_status(); - break; - default: - break; - } - if (_debug_flag) { - _debug_flag = 0; /* reset the flag */ - _fake_trap_1(); /* fake a trap #1 */ - } -} - -/* transfer received character to the buffer */ -void rcvr_interrupt(void) { - register char *a, c; - register int length; - - while ( (*LSR & DR) != 0) { - if ((c=*RBR) == 0x1a) /* use ctl-z to reboot */ - reboot(); - else if (c == 0x03) { /* use ctl-c to enter debugger */ - _debug_flag = 1; - continue; - } - *(char *)((int)rcv.offset +(int) - (a=(char *)(((int)rcv.in+1) & ((int)BUFFER_LENGTH-1)))) = c; - if ((char *)(((int)rcv.in+2) & ((int)BUFFER_LENGTH-1)) != rcv.out) - rcv.in=a; - } - length = (BUFFER_LENGTH -1) & ( - ( ((int)rcv.out <= (int)rcv.in) ? 0 : BUFFER_LENGTH) - (int)rcv.out - + (int)rcv.in + 1); - if (length >= RTS_STOP_SIZE) - *MCR &= (char) (~RTS); -} - -/* tranfer buffered characters to the UART */ -void xmit_interrupt(void) { - register short int i, oldsr; - - _CPU_ISR_Disable( oldsr ); /* for when outbyte calls */ - if ( (*LSR & THRE) != 0 && _tx_stop == 0 ) - for (i=0;i<16;i++) { - if ((char *)(((int)xmt.in+1) & ((int)BUFFER_LENGTH-1))== xmt.out) - break; - *THR=*(char *)((int)xmt.offset+(int)xmt.out); - xmt.out= (char *)(((int)xmt.out+1) & ((int)BUFFER_LENGTH-1)); - } - _CPU_ISR_Enable( oldsr ); -} - -void modem_status(void) { - register char a; - - if ( ((a=*MDSR) & DCTS) != 0 ) { - if ( (a & CTS) == 0) - _tx_stop = 1; - else { - _tx_stop = 0; - xmit_interrupt(); - } - } -} - -/* transfer character from the buffer */ -char inbyte(void) { - register char a; - register int length; - - while ((char *)(((int)rcv.in+1) & ((int)BUFFER_LENGTH-1))== rcv.out); - a=*(char *)((int)rcv.offset+(int)rcv.out); - rcv.out= (char *)(((int)rcv.out+1) & ((int)BUFFER_LENGTH-1)); - length = (BUFFER_LENGTH -1) & ( - ( ((int)rcv.out <= (int)rcv.in) ? 0 : BUFFER_LENGTH) - (int)rcv.out - + (int)rcv.in + 1); - if (length < RTS_START_SIZE) - *MCR |= (char) RTS; - return (a); -} - -/* once room is avaliable in the buffer, transfer - the character into the buffer and enable - the xmtr interrupt */ -void outbyte(char c) { - register char *a; - - while ((char *)(((int)xmt.in+2) & ((int)BUFFER_LENGTH-1)) == xmt.out); - *(char *)((int)xmt.offset+(int) - (a=(char *)(((int)xmt.in+1) & ((int)BUFFER_LENGTH-1))))=c; - xmt.in=a; - - if ( (*LSR & THRE) != 0 ) /* if THRE, uart has already interrupted */ - xmit_interrupt(); /* and was ignored. Need to restart. */ -} - -void _UART_flush(void) { - /* loop till xmt buffer empty. Works with interrupts disabled */ - while ((char *)(((int)xmt.in+1) & ((int)BUFFER_LENGTH-1)) != xmt.out) - xmit_interrupt(); - /* loop till UART buffer empty */ - while ( (*LSR & TEMT) == 0 ); -} - -/* console_initialize - * - * This routine initializes the console IO driver. - * - * Input parameters: NONE - * - * Output parameters: NONE - * - * Return values: - */ - -void console_init() -{ - /* set clock divisor */ - *LCR = (char)(DLAB); - *DLL = (char)((int)(CLK_FREQ/BAUD/16.0+0.5) & 0xFF); - *DLM = (char)(((int)(CLK_FREQ/BAUD/16.0+0.5) & 0xFF00) >> 8); - - /* Line control setup */ - *LCR = (char)(WL_8 | NSB); - - /* Interrupt setup */ - *IER = (char) 0x0b; /* enable transmit, receive, modem stat int */ - - /* FIFO setup */ - *FCR = (char)(FIFO_E | 0xc0); - - /* Modem control setup */ - *MCR = (char) RTS; - - /* init tx_stop with CTS */ - _tx_stop = ( (*MDSR & CTS) ? 0 : 1); - - set_vector(_catchUARTint, UART_ISR_LEVEL+24, 0); -} - -rtems_device_driver console_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *arg -) -{ - rtems_status_code status; - - 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 -) -{ - if ((char *)(((int)rcv.in+1) & ((int)BUFFER_LENGTH-1))== rcv.out) - return(FALSE); - else - return(TRUE); -} - -/* - * 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'; - break; - } - } - - 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 -) -{ - return RTEMS_SUCCESSFUL; -} diff --git a/c/src/lib/libbsp/m68k/efi68k/include/.cvsignore b/c/src/lib/libbsp/m68k/efi68k/include/.cvsignore deleted file mode 100644 index b0be3c54e6..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/include/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -Makefile -Makefile.in -bspopts.h -bspopts.h.in -stamp-h -stamp-h.in diff --git a/c/src/lib/libbsp/m68k/efi68k/include/16550.h b/c/src/lib/libbsp/m68k/efi68k/include/16550.h deleted file mode 100644 index aeceae205f..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/include/16550.h +++ /dev/null @@ -1,110 +0,0 @@ -/* - *------------------------------------------------------------------- - * - * 16550 -- header file for National Semiconducor's 16550 UART - * - * This file has been created by John S. Gwynne for the efi68k - * project. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. - * - *------------------------------------------------------------------ - * - * $Id$ - */ - -#ifndef _16550_H_ -#define _16550_H_ - -/* base address is the physical location of register 0 */ -#define UART_BASE_ADDRESS 0x0400001 - -/* definitions of register addresses and associate bits */ - -#define RBR (volatile unsigned char * const)(0*2+UART_BASE_ADDRESS) - /* Receiver Buffer Register (w/DLAB=0)*/ - /* 8-bit data */ - -#define THR (volatile unsigned char * const)(0*2+UART_BASE_ADDRESS) - /* Transmitter Holding Register (w/DLAB=0) */ - /* 8-bit data */ - -#define DLL (volatile unsigned char * const)(0*2+UART_BASE_ADDRESS) - /* Divisor Latch (LS) (w/DLAB=1) */ - /* LSB of Divisor */ - -#define DLM (volatile unsigned char * const)(1*2+UART_BASE_ADDRESS) - /* Divisor Latch (MS) (w/DLAB=1) */ - /* MSB of Divisor */ - -#define IER (volatile unsigned char * const)(1*2+UART_BASE_ADDRESS) - /* Interrupt Enable Register (w/DLAB=0) */ -#define ERBFI 0x01 /* Enable Recv Data Available Interrupt */ -#define ETBEI 0x02 /* Enable Trans Holding Reg Empty Inter */ -#define ELSI 0x04 /* Enable Recv Line Status Interrupt */ -#define EDSSI 0x08 /* Enable Modem Status Interrupt */ - -#define IIR (volatile unsigned char * const)(2*2+UART_BASE_ADDRESS) - /* Interrupt Ident Register (read only) */ -#define NIP 0x01 /* No Interrupt Pending */ -#define IID_MASK 0x0e /* Interrupt ID mask */ -#define FE_MASK 0xc0 /* FIFO's Enabled */ - -#define FCR (volatile unsigned char * const)(2*2+UART_BASE_ADDRESS) - /* FIFO Control Register (write only) */ -#define FIFO_E 0x01 /* FIFO Enable */ -#define RFR 0x02 /* RCVR FIFO Reset */ -#define XFR 0x04 /* XMIT FIFO Reset */ -#define DMAMS 0x08 /* DMA Mode Select */ -#define RCVRTG_MASK 0xC0 /* RCVR Triger MSBit/LSBit */ - -#define LCR (volatile unsigned char * const)(3*2+UART_BASE_ADDRESS) - /* Line Control Register */ -#define WLS_MASK 0x03 /* Word Legth Select Mask */ -#define WL_5 0x00 /* 5 bits */ -#define WL_6 0x01 /* 6 bits */ -#define WL_7 0x02 /* 7 bits */ -#define WL_8 0x03 /* 8 bits */ -#define NSB 0x04 /* Number of Stop Bits (set is 2/1.5) */ -#define PEN 0x08 /* Parity Enable */ -#define EPS 0x10 /* Even Parity Select */ -#define STP 0x20 /* Stick Parity */ -#define SETBK 0x40 /* Set Break */ -#define DLAB 0x80 /* Divisor Latch Access Bit */ - -#define MCR (volatile unsigned char * const)(4*2+UART_BASE_ADDRESS) - /* Modem Control Register */ -#define DTR 0x01 /* Data Terminal Ready */ -#define RTS 0x02 /* Request to Send */ -#define OUT1 0x04 /* Out 1 */ -#define OUT2 0x08 /* Out 2 */ -#define LOOP 0x10 /* Loop */ - -#define LSR (volatile unsigned char * const)(5*2+UART_BASE_ADDRESS) - /* Line Status Register */ -#define DR 0x01 /* Data Ready */ -#define OE 0x02 /* Overrun error */ -#define PE 0x04 /* Parity error */ -#define FE 0x08 /* Framing error */ -#define BI 0x10 /* Break Interrupt */ -#define THRE 0x20 /* Transmitter Holding Register */ -#define TEMT 0x40 /* Transmitter Empty */ -#define RCVFIE 0x80 /* Recv FIFO Error */ - -#define MDSR (volatile unsigned char * const)(6*2+UART_BASE_ADDRESS) - /* Modem Status Register */ -#define DCTS 0x01 /* Delta Clear to Send */ -#define DDSR 0x02 /* Delta Data Set Ready */ -#define TERI 0x04 /* Trailing Edge Ring Indicator */ -#define DDCD 0x08 /* Delta Data Carrier Detect */ -#define CTS 0x10 /* Clear to Send */ -#define DSR 0x20 /* Data Set Ready */ -#define RI 0x40 /* Ring Indicator */ -#define DCD 0x80 /* Data Carrier Detect */ - -#define SCR (volatile unsigned char * const)(7*2+UART_BASE_ADDRESS) - /* Scratch Register */ - /* 8-bit register */ -#endif diff --git a/c/src/lib/libbsp/m68k/efi68k/include/DP8570A.h b/c/src/lib/libbsp/m68k/efi68k/include/DP8570A.h deleted file mode 100644 index 1e8c188a16..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/include/DP8570A.h +++ /dev/null @@ -1,275 +0,0 @@ -/* - *------------------------------------------------------------------- - * - * DP8570A -- header file for National Semiconducor's DP8570A TCP - * - * This file has been created by John S. Gwynne for the efi68k - * project. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. - * - *------------------------------------------------------------------ - * - * $Id$ - */ - -#ifndef _DP8570A_H_ -#define _DP8570A_H_ - -/* base address is the physical location of register 0 */ -#define TCP_BASE_ADDRESS 0x0600001 - - -/* definitions of register addresses and associate bits */ - -/* ********************************************************* */ -/* Control Registers */ -/* ********************************************************* */ - -/* REMEMBER: if you are in an interrupt routine, you must - reset RS and PS of MSR to the value they had on entry - to the ISR before exiting */ - -#define MSR (volatile unsigned char * const)(0x00*2+TCP_BASE_ADDRESS) - /* Main Status Register */ -#define INT 0x01 /* Interrupt Status */ -#define PF 0x02 /* Power Fail Interrupt */ -#define PER 0x04 /* Period Interrupt */ -#define AL 0x08 /* Alarm Interrupt */ -#define T0 0x10 /* Timer 0 Interrupt */ -#define T1 0x20 /* Timer 1 Interrupt */ -#define RS 0x40 /* Register Select Bit */ -#define PS 0x80 /* Page Select Bit */ - -#define T0CR (volatile unsigned char * const)(0x01*2+TCP_BASE_ADDRESS) - /* Timer 0 Control Register */ -#define T1CR (volatile unsigned char * const)(0x02*2+TCP_BASE_ADDRESS) - /* Timer 1 Control Register */ -#define TSS 0x01 /* Timer Start/!Stop */ -#define M0 0x02 /* Mode Select */ -#define M1 0x04 /* Mode Select */ -#define C0 0x08 /* Input Clock Select */ -#define C1 0x10 /* Input Clock Select */ -#define C2 0x20 /* Input Clock Select */ -#define RD 0x40 /* Timer Read */ -#define CHG 0x80 /* Count Hold/Gate */ - -#define PFR (volatile unsigned char * const)(0x03*2+TCP_BASE_ADDRESS) - /* Periodic Flag Register */ -#define R_1MIN 0x01 /* Minute Flage */ -#define R_10S 0x02 /* 10 Second Flag */ -#define R_1S 0x04 /* Second Flag */ -#define R_100MS 0x08 /* 100 Millisec Flag */ -#define R_10MS 0x10 /* 10 Millisec Flag */ -#define R_1MS 0x20 /* 1 Millisec Flag */ -#define OSF 0x40 /* Oscillator Failed/Single Supply */ -#define TMODE 0x80 /* Test Mode Enable */ - -#define IRR (volatile unsigned char * const)(0x04*2+TCP_BASE_ADDRESS) - /* Interrupt Routing Register */ -#define PF_R 0x01 /* Power Fail Route */ -#define PR_R 0x02 /* Periodic Route */ -#define AL_R 0x04 /* Alarm Route */ -#define T0_R 0x08 /* Timer 0 Route */ -#define T1_R 0x10 /* Timer 1 Route */ -#define PFD 0x20 /* PF Delay Enable */ -#define LBF 0x40 /* Low Battery Flag */ -#define TMSE 0x80 /* Time Save Enable */ - -#define RTMR (volatile unsigned char * const)(0x01*2+TCP_BASE_ADDRESS) - /* Real Time Mode Register */ -#define LY0 0x01 /* Leap Year LSB */ -#define LY1 0x02 /* Leap Year MSB */ -#define H12 0x04 /* 12/!24 Hour Mode */ -#define CSS 0x08 /* Clock Start/!Stop */ -#define IPF 0x10 /* Interrupt PF Operation */ -#define TPF 0x20 /* Timer PF Operation */ -#define XT0 0x40 /* Crystal Frequency LSB */ -#define XT1 0x80 /* Crystal Frequency MSB */ - -#define OMR (volatile unsigned char * const)(0x02*2+TCP_BASE_ADDRESS) - /* Output Mode Register */ -#define TH 0x01 /* T1 Active Hi/!Low */ -#define TP 0x02 /* T1 Push Pull/!Open Drain */ -#define IH 0x04 /* INTR Active Hi/!Low */ -#define IP 0x08 /* INTR Push Pull/!Open Drain */ -#define MH 0x10 /* MFO Active Hi/!Low */ -#define MP 0x20 /* MFO Push Pull/!Open Drain */ -#define MT 0x40 /* MFO Pin as Timer 0 */ -#define MO 0x80 /* MFO Pin as Oscillator */ - -#define ICR0 (volatile unsigned char * const)(0x03*2+TCP_BASE_ADDRESS) - /* Interrupt control Register 0 */ -#define ME 0x01 /* Minutes Enable */ -#define TSE 0x02 /* 10 Second Enable */ -#define SE 0x04 /* Seconds Enable */ -#define HME 0x08 /* 100 Millisec Enable */ -#define TME 0x10 /* 10 Millisec Enable */ -#define OME 0x20 /* Millisec Enable */ -#define T0E 0x40 /* Timer 0 Enable */ -#define T1E 0x80 /* Timer 1 Enable */ - -#define ICR1 (volatile unsigned char * const)(0x04*2+TCP_BASE_ADDRESS) - /* Interrupt control Register 1 */ -#define SCE 0x01 /* Second Compare Enable */ -#define MNE 0x02 /* Minute Compare Enable */ -#define HRE 0x04 /* Hour Compare Enable */ -#define DOME 0x08 /* Day of Month Compare Enable */ -#define MOE 0x10 /* Month Compare Enable */ -#define DOWE 0x20 /* Day of Week Compare Enable */ -#define ALE 0x40 /* Alarm Interrupt Enable */ -#define PFE 0x80 /* Power Fail Interrupt Enable */ - - - -/* ********************************************************* */ -/* Counters: Clock and Calendar (data is stored in BCD) */ -/* ********************************************************* */ -#define HOFS (volatile unsigned char * const)(0x05*2+TCP_BASE_ADDRESS) - /* Hundredth of Seconds */ -#define SEC (volatile unsigned char * const)(0x06*2+TCP_BASE_ADDRESS) - /* Seconds */ -#define MIN (volatile unsigned char * const)(0x07*2+TCP_BASE_ADDRESS) - /* Minutes */ -#define HRS (volatile unsigned char * const)(0x08*2+TCP_BASE_ADDRESS) - /* Hours */ -#define DOM (volatile unsigned char * const)(0x09*2+TCP_BASE_ADDRESS) - /* Day of Month */ -#define MON (volatile unsigned char * const)(0x0a*2+TCP_BASE_ADDRESS) - /* Month */ -#define YR (volatile unsigned char * const)(0x0b*2+TCP_BASE_ADDRESS) - /* Year */ -#define JD_LSB (volatile unsigned char * const)(0x0c*2+TCP_BASE_ADDRESS) - /* Julian Date (LSB) */ -#define JD_MSM (volatile unsigned char * const)(0x0d*2+TCP_BASE_ADDRESS) - /* Julian Date (MSB) */ -#define DOW (volatile unsigned char * const)(0x0e*2+TCP_BASE_ADDRESS) - /* Day of week */ - - -/* ********************************************************* */ -/* Timer Data Registers */ -/* ********************************************************* */ -#define T0_LSB (volatile unsigned char * const)(0x0f*2+TCP_BASE_ADDRESS) - /* Timer 0 LSB */ -#define T0_MSB (volatile unsigned char * const)(0x10*2+TCP_BASE_ADDRESS) - /* Timer 0 MSB */ -#define T1_LSB (volatile unsigned char * const)(0x11*2+TCP_BASE_ADDRESS) - /* Timer 1 LSB */ -#define T1_MSB (volatile unsigned char * const)(0x12*2+TCP_BASE_ADDRESS) - /* Timer 1 MSB */ - - -/* ********************************************************* */ -/* Timer Compare RAM */ -/* ********************************************************* */ -#define TC_SEC (volatile unsigned char * const)(0x13*2+TCP_BASE_ADDRESS) - /* Seconds Compare RAM */ -#define TC_MIN (volatile unsigned char * const)(0x14*2+TCP_BASE_ADDRESS) - /* Minutes Compare RAM */ -#define TC_HRS (volatile unsigned char * const)(0x15*2+TCP_BASE_ADDRESS) - /* Hours Compare RAM */ -#define TC_DOM (volatile unsigned char * const)(0x16*2+TCP_BASE_ADDRESS) - /* Day of Month Compare RAM */ -#define TC_MON (volatile unsigned char * const)(0x17*2+TCP_BASE_ADDRESS) - /* Month Compare RAM */ -#define TC_DOW (volatile unsigned char * const)(0x18*2+TCP_BASE_ADDRESS) - /* Day of Week Compare RAM */ - - -/* ********************************************************* */ -/* Time Save RAM */ -/* ********************************************************* */ -#define S_SEC (volatile unsigned char * const)(0x19*2+TCP_BASE_ADDRESS) - /* Seconds Save RAM */ -#define S_MIN (volatile unsigned char * const)(0x1a*2+TCP_BASE_ADDRESS) - /* Minutes Save RAM */ -#define S_HRS (volatile unsigned char * const)(0x1b*2+TCP_BASE_ADDRESS) - /* Hours Save RAM */ -#define S_DOM (volatile unsigned char * const)(0x1c*2+TCP_BASE_ADDRESS) - /* Day of Month Save RAM */ -#define S_MON (volatile unsigned char * const)(0x1d*2+TCP_BASE_ADDRESS) - /* Month Save RAM */ - - -/* ********************************************************* */ -/* Miscellaneous Registers */ -/* ********************************************************* */ - /* rem: 0x1e is general purpose RAM */ -#define TMR (volatile unsigned char * const)(0x1F*2+TCP_BASE_ADDRESS) - /* RAM/Test Mode Register */ - - - -/* ********************************************************* */ -/* RAM allocation */ -/* ********************************************************* */ -#define RAM_OSC_FAIL (volatile unsigned char * const)(0x01*2+TCP_BASE_ADDRESS) - /* 1: osc. failed time lost */ -#define RAM_POWERUP (volatile unsigned char * const)(0x02*2+TCP_BASE_ADDRESS) - /* 1: power was removed and the applied - before last TCP init */ -#define RAM_LOWBAT (volatile unsigned char * const)(0x03*2+TCP_BASE_ADDRESS) - /* 1: battery voltage is low (2.2V) */ - /* not valid in single supply mode */ -#define RAM_SINGLE_SUP (volatile unsigned char * const)(0x04*2+TCP_BASE_ADDRESS) - /* 1: single supply mode */ - /* note: single supply mode will be - selected when no backup battery is - present and/or the first time the - system is booted after the loss of - backup battery voltage. */ -#define RAM_TCP_FAILURE (volatile unsigned char * const)(0x05*2+TCP_BASE_ADDRESS) - /* 1: TCP failed to start oscillating */ - - -/* ********************************************************* */ -/* TCP data structures */ -/* ********************************************************* */ - -struct clock_counters { - unsigned char hofs; - unsigned char d0; /* the dx's are place holders since */ - unsigned char sec; /* the TCP is addressable only on */ - unsigned char d1; /* odd addresses. */ - unsigned char min; - unsigned char d2; - unsigned char hrs; - unsigned char d3; - unsigned char dom; - unsigned char d4; - unsigned char mon; - unsigned char d5; - unsigned char yr; - unsigned char d6; - unsigned char jd0; - unsigned char d7; - unsigned char jd1; - unsigned char d8; - unsigned char dow; -}; - -extern struct clock_ram * const tcp_power_up; - -struct clock_ram { - unsigned char sec; - unsigned char d0; /* the dx's are place holders since */ - unsigned char min; /* the TCP is addressable only on */ - unsigned char d1; /* odd addresses. */ - unsigned char hrs; - unsigned char d2; - unsigned char dom; - unsigned char d3; - unsigned char mon; -}; - -extern struct clock_ram * const tcp_power_up; -extern struct clock_ram * const tcp_power_down; -extern struct clock_counters * const tcp_clock; -extern struct clock_ram * const tcp_save_ram; - -void bsp_tcp_init(void); - -#endif /* _DP8570A_H_ */ diff --git a/c/src/lib/libbsp/m68k/efi68k/include/bsp.h b/c/src/lib/libbsp/m68k/efi68k/include/bsp.h deleted file mode 100644 index 431562b44d..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/include/bsp.h +++ /dev/null @@ -1,173 +0,0 @@ -/* bsp.h - * - * This include file contains all efi68k board IO definitions. - * - * 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 __EFI68K_BSP_h -#define __EFI68K_BSP_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#include -#include -#include -#include -#include -#include <16550.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 (TBD * 1024) */ - -/* - * Define the time limits for RTEMS Test Suite test durations. - * Long test and short test duration limits are provided. These - * values are in seconds and need to be converted to ticks for the - * application. - * - */ - -#define MAX_LONG_TEST_DURATION 300 /* 5 minutes = 300 seconds */ -#define MAX_SHORT_TEST_DURATION 3 /* 3 seconds */ - -/* - * Define the interrupt mechanism for Time Test 27 - */ - -/* XXX - JRS - I want to compile the tmtests */ - -#define MUST_WAIT_FOR_INTERRUPT 1 - -#define Install_tm27_vector( handler ) - -#define Cause_tm27_intr() - -#define Clear_tm27_intr() - -#define Lower_tm27_intr() - -/* - * Simple spin delay in microsecond units for device drivers. - * This is very dependent on the clock speed of the target. - */ - -#define rtems_bsp_delay( microseconds ) \ - { register rtems_unsigned32 _delay=(microseconds); \ - register rtems_unsigned32 _tmp=123; \ - asm volatile( "0: \ - nbcd %0 ; \ - nbcd %0 ; \ - dbf %1,0b" \ - : "=d" (_tmp), "=d" (_delay) \ - : "0" (_tmp), "1" (_delay) ); \ - } - -/* externals */ - -extern char _etext[]; -extern char _copy_start[]; -extern char _edata[]; -extern char _clear_start[]; -extern char end[]; -extern char _copy_data_from_rom[]; -extern char __end_of_ram[]; - -/* constants */ - -#define RAM_END ((int)__end_of_ram) - -#ifdef __START_C__ -#define STACK_SIZE "#0x800" -#else -#define STACK_SIZE 0x800 -#endif - -/* macros */ - -#define RAW_PUTS(str) \ - { register char *ptr = str; \ - while (*ptr) outbyte(*ptr++); \ - } - -#define RAW_PUTI(n) { \ - register int i, j; \ - \ - RAW_PUTS("0x"); \ - for (i=28;i>=0;i -= 4) { \ - j = (n>>i) & 0xf; \ - outbyte( (j>9 ? j-10+'a' : j+'0') ); \ - } \ - } - -/* miscellaneous stuff assumed to exist */ - -extern rtems_configuration_table BSP_Configuration; - -extern m68k_isr_entry M68Kvec[]; /* vector table address */ - -extern int stack_size; - -extern int stack_start; - -extern rtems_unsigned32 Timer_interrupts; - -/* - * Device Driver Table Entries - */ - -/* - * NOTE: Use the standard Console driver entry - */ - -/* - * NOTE: Use the standard Clock driver entry - */ - -/* functions */ - -void bsp_cleanup( void ); - -m68k_isr_entry set_vector( - rtems_isr_entry handler, - rtems_vector_number vector, - int type -); - -void console_init(void); - -void watch_dog_init(void); - -void bsp_tcp_init(void); - -void Spurious_Initialize(void); - -void _UART_flush(void); - -void Clock_exit(void); - -void outbyte(char); - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/lib/libbsp/m68k/efi68k/include/efi68k.h b/c/src/lib/libbsp/m68k/efi68k/include/efi68k.h deleted file mode 100644 index 6aa16ce3c0..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/include/efi68k.h +++ /dev/null @@ -1,34 +0,0 @@ -/* efi68k.h - * - * $Id$ - */ - -#ifndef _EFI68k_H_ -#define _EFI68k_H_ - - -/* interrupt levels */ -#define WD_ISR_LEVEL 1 -#define TCP_ISR_LEVEL 4 -#define UART_ISR_LEVEL 6 -#define INTR7 7 - - -/* macro/function definitions */ -#if 0 -/* - * This prototype really should have the noreturn attribute but - * that causes a warning since it appears that the routine does - * return. - * - * void dumby_start () __attribute__ ((noreturn)); - */ - -static void reboot(void); -__inline__ static void reboot() {asm("trap #15");} -#else -#define reboot() do {asm("trap #15");} while(0) -#endif - - -#endif /* _EFI68k_H_ */ diff --git a/c/src/lib/libbsp/m68k/efi68k/spurious/.cvsignore b/c/src/lib/libbsp/m68k/efi68k/spurious/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/spurious/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/lib/libbsp/m68k/efi68k/spurious/Makefile.am b/c/src/lib/libbsp/m68k/efi68k/spurious/Makefile.am deleted file mode 100644 index 265ed15700..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/spurious/Makefile.am +++ /dev/null @@ -1,30 +0,0 @@ -## -## $Id$ -## - -PGM = $(ARCH)/spurious.rel - -C_FILES = spinit.c -C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT)) - -OBJS = $(C_O_FILES) - -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-local: $(OBJS) $(PGM) - -.PRECIOUS: $(PGM) - -EXTRA_DIST = spinit.c - -include $(top_srcdir)/../../../../automake/local.am diff --git a/c/src/lib/libbsp/m68k/efi68k/spurious/spinit.c b/c/src/lib/libbsp/m68k/efi68k/spurious/spinit.c deleted file mode 100644 index b8d965804e..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/spurious/spinit.c +++ /dev/null @@ -1,85 +0,0 @@ -/* Spurious_driver - * - * This routine installs spurious interrupt handlers for the efi68k. - * - * Input parameters: NONE - * - * Output parameters: NONE - * - * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993. - * 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 -#include - -const char * const _Spurious_Error_[] = {"Reset","Bus Error","Address Error", - "Illegal Instruction","Zero Division","CHK, CHK2 Instruction", - "TRAPcc, TRAPV Instruction","Privilege Violation","Trace", - "Line 1010 Emulation","Line 1111 Emulation","Hardware Breakpoint", - "Coprocessor Protocal Violation", - "Format Error ans Uninitialized Interrupt","Unassigned", - "Spurious Interrupt","AVec1","AVec2","AVec3","AVec4","AVec5","AVec6", - "AVec7","Trap Instruction","Debug","Reboot","Reserved Coprocessor", - "Reserved Unassigned","User Defined"}; - -rtems_isr Spurious_Isr( - rtems_vector_number vector -) -{ - int sp = 0; - const char * const VectDescrip[] = { - _Spurious_Error_[0], _Spurious_Error_[0], _Spurious_Error_[1], - _Spurious_Error_[2], _Spurious_Error_[3], _Spurious_Error_[4], - _Spurious_Error_[5], _Spurious_Error_[6], _Spurious_Error_[7], - _Spurious_Error_[8], _Spurious_Error_[9], _Spurious_Error_[10], - _Spurious_Error_[11], _Spurious_Error_[12], _Spurious_Error_[13], - _Spurious_Error_[13], _Spurious_Error_[14], _Spurious_Error_[14], - _Spurious_Error_[14], _Spurious_Error_[14], _Spurious_Error_[14], - _Spurious_Error_[14], _Spurious_Error_[14], _Spurious_Error_[14], - _Spurious_Error_[15], _Spurious_Error_[16], _Spurious_Error_[17], - _Spurious_Error_[18], _Spurious_Error_[19], _Spurious_Error_[20], - _Spurious_Error_[21], _Spurious_Error_[22], _Spurious_Error_[23], - _Spurious_Error_[24], _Spurious_Error_[23], _Spurious_Error_[23], - _Spurious_Error_[23], _Spurious_Error_[23], _Spurious_Error_[23], - _Spurious_Error_[23], _Spurious_Error_[23], _Spurious_Error_[23], - _Spurious_Error_[23], _Spurious_Error_[23], _Spurious_Error_[23], - _Spurious_Error_[23], _Spurious_Error_[23], _Spurious_Error_[25], - _Spurious_Error_[26], _Spurious_Error_[26], _Spurious_Error_[26], - _Spurious_Error_[26], _Spurious_Error_[26], _Spurious_Error_[26], - _Spurious_Error_[26], _Spurious_Error_[26], _Spurious_Error_[26], - _Spurious_Error_[26], _Spurious_Error_[26], _Spurious_Error_[27], - _Spurious_Error_[27], _Spurious_Error_[27], _Spurious_Error_[27], - _Spurious_Error_[27], _Spurious_Error_[28]}; - - asm volatile ( "movea.l %%sp,%0 " : "=a" (sp) : "0" (sp) ); - - _CPU_ISR_Set_level( 7 ); - _UART_flush(); - - RAW_PUTS("\n\rRTEMS: Spurious interrupt: "); - RAW_PUTS((char *)VectDescrip[( (vector>64) ? 64 : vector )]); - RAW_PUTS("\n\rRTEMS: Vector: "); - RAW_PUTI(vector); - RAW_PUTS(" sp: "); - RAW_PUTI(sp); - RAW_PUTS("\n\r"); - - bsp_cleanup(); - - for(;;); -} - -void Spurious_Initialize(void) -{ - rtems_vector_number vector; - - for ( vector = 0x0 ; vector <= 0xFF ; vector++ ) - (void) set_vector( Spurious_Isr, vector, 1 ); -} diff --git a/c/src/lib/libbsp/m68k/efi68k/start/.cvsignore b/c/src/lib/libbsp/m68k/efi68k/start/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/start/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/lib/libbsp/m68k/efi68k/start/start.c b/c/src/lib/libbsp/m68k/efi68k/start/start.c deleted file mode 100644 index d98b54f7e5..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/start/start.c +++ /dev/null @@ -1,72 +0,0 @@ -/* - * $Id$ - */ - -#include -#define __START_C__ -#include "bsp.h" - -m68k_isr_entry M68Kvec[256]; -m68k_isr_entry vectors[256]; -char * const __argv[]= {"main", ""}; -char * const __env[]= {""}; - -/* - * This prototype really should have the noreturn attribute but - * that causes a warning since it appears that the routine does - * return. - * - * void dumby_start () __attribute__ ((noreturn)); - */ - -void dumby_start (); -void dumby_start() { -void boot_card(); - - /* We need to by-pass the link instruction since the RAM chip- - select pins are not yet configured. */ - asm volatile ( ".global start ;\n\ - start:"); - - /* disable interrupts, load stack pointer */ - asm volatile ( "oriw #0x0700, %sr;\n\ - movel #end, %d0;\n\ - addl " STACK_SIZE ",%d0;\n\ - movel %d0,%sp;\n\ - link %a6, #0" - ); - /* - * Initialize RAM by copying the .data section out of ROM (if - * needed) and "zero-ing" the .bss section. - */ - { - register char *src = _etext; - register char *dst = _copy_start; - - if (_copy_data_from_rom) - /* ROM has data at end of text; copy it. */ - while (dst < _edata) - *dst++ = *src++; - - /* Zero bss */ - for (dst = _clear_start; dst< end; dst++) - *dst = 0; - } - - /* - * Initalize the board. - */ - /* Spurious should be called in the predriver hook */ - /* Spurious_Initialize(); */ - console_init(); - watch_dog_init(); - bsp_tcp_init(); - - /* - * Execute main with arguments argv and environment env - */ - /* main(1, __argv, __env); */ - boot_card(); - - reboot(); -} diff --git a/c/src/lib/libbsp/m68k/efi68k/startup/.cvsignore b/c/src/lib/libbsp/m68k/efi68k/startup/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/startup/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/lib/libbsp/m68k/efi68k/startup/Makefile.am b/c/src/lib/libbsp/m68k/efi68k/startup/Makefile.am deleted file mode 100644 index 879a7afb97..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/startup/Makefile.am +++ /dev/null @@ -1,43 +0,0 @@ -## -## $Id$ -## - -VPATH = @srcdir@:@srcdir@/../../shared:@srcdir@/../../../shared - -PGM = $(ARCH)/startup.rel - -C_FILES = bsplibc.c bsppost.c bspstart.c bspclean.c efi68k_tcp.c efi68k_wd.c \ - bootcard.c m68kpretaskinghook.c main.c sbrk.c setvec.c \ - gnatinstallhandler.c -C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT)) - -OBJS = $(C_O_FILES) - -include $(top_srcdir)/../../../../automake/compile.am -include $(top_srcdir)/../../../../automake/lib.am - -# -# (OPTIONAL) Add local stuff here using += -# - -$(PGM): $(OBJS) - $(make-rel) - -project_lib_DATA = linkcmds - -# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile - -all-local: $(PGM) $(TMPINSTALL_FILES) - -EXTRA_DIST = bspclean.c bspstart.c efi68k_tcp.c efi68k_wd.c linkcmds \ - m68k-stub.c setvec.c - -$(PROJECT_LIB)/$(dirstamp): - @$(mkdir_p) $(PROJECT_LIB) - @: > $(PROJECT_LIB)/$(dirstamp) - -$(PROJECT_LIB)/linkcmds: linkcmds $(PROJECT_LIB)/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds -TMPINSTALL_FILES += $(PROJECT_LIB)/linkcmds - -include $(top_srcdir)/../../../../automake/local.am diff --git a/c/src/lib/libbsp/m68k/efi68k/startup/bspclean.c b/c/src/lib/libbsp/m68k/efi68k/startup/bspclean.c deleted file mode 100644 index 80caa3afe8..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/startup/bspclean.c +++ /dev/null @@ -1,27 +0,0 @@ -/* bsp_cleanup() - * - * This routine cleans up in the sense that it places the board - * in a safe state and flushes the I/O buffers before exiting. - * - * 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 - -void bsp_cleanup(void) -{ - /* interrupt driven stdio must be flushed */ - _CPU_ISR_Set_level( 7 ); - _UART_flush(); -} diff --git a/c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c b/c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c deleted file mode 100644 index 0a9c115d2d..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c +++ /dev/null @@ -1,92 +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. - * - * $Id$ - */ - -#include - -#include -#include -#include - -/* - * 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; - -char *rtems_progname; - -rtems_unsigned32 Timer_interrupts; - -extern void set_debug_traps(void); -extern void breakpoint(void); - -/* - * Use the shared implementations of the following routines - */ - -void bsp_postdriver_hook(void); -void bsp_libc_init( void *, unsigned32, int ); -void bsp_pretasking_hook(void); /* m68k version */ - -/* - * Call Spurious_Initialize in bsp_predriver_hook because - * bsp_predriver_hook is call after the _ISR_Vector_Table allocation - */ - -void bsp_predriver_hook(void) -{ - void Spurious_Initialize(); - Spurious_Initialize(); -} - -/* - * bsp_start - * - * This routine does the bulk of the system initialization. - */ - -void bsp_start( void ) -{ - void *vbr; - extern void *_WorkspaceBase; - extern void *_RamSize; - extern unsigned long _M68k_Ramsize; - - _M68k_Ramsize = (unsigned long)&_RamSize; /* RAM size set in linker script */ - -/* set_debug_traps(); */ -/* breakpoint(); */ - - /* - * we only use a hook to get the C library initialized. - */ - - Cpu_table.pretasking_hook = bsp_pretasking_hook; - Cpu_table.predriver_hook = bsp_predriver_hook; - Cpu_table.postdriver_hook = bsp_postdriver_hook; - - m68k_get_vbr( vbr ); - Cpu_table.interrupt_vector_table = vbr; - - BSP_Configuration.work_space_start = (void *) &_WorkspaceBase; - - /* Clock_exit is done as an atexit() function */ -} - diff --git a/c/src/lib/libbsp/m68k/efi68k/startup/efi68k_tcp.c b/c/src/lib/libbsp/m68k/efi68k/startup/efi68k_tcp.c deleted file mode 100644 index 377b4693c9..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/startup/efi68k_tcp.c +++ /dev/null @@ -1,239 +0,0 @@ -/* - *------------------------------------------------------------------- - * - * This file contains the subroutines necessary to initalize - * the DP8750A TCP on the efi68k board. - * - * This file has been created by John S. Gwynne for the efi68k - * project. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. - * - *------------------------------------------------------------------ - * - * $Id$ - */ - -#include -#include - -/* define tcp struct pointers */ -struct clock_ram * const tcp_power_up = - (struct clock_ram * const)(0x16*2+TCP_BASE_ADDRESS); - -struct clock_ram * const tcp_power_down = - (struct clock_ram * const)(0x1b*2+TCP_BASE_ADDRESS); - -struct clock_counters * const tcp_clock = - (struct clock_counters * const)(0x05*2+TCP_BASE_ADDRESS); - -struct clock_ram * const tcp_save_ram = - (struct clock_ram * const)(0x19*2+TCP_BASE_ADDRESS); - -#define X_DELAY 300 /* time-out delay for crystal start */ -#define X1_DELAY 100000 - -void tcp_delay(int count) -{ - int i; - /* change latter to use a counter !!! */ - for (i=0;ihofs = 0; - tcp_clock->sec = 0; - tcp_clock->min = 0; - tcp_clock->hrs = 0; - tcp_clock->dom = 1; - tcp_clock->mon = 1; - tcp_clock->yr = 0x95; - tcp_clock->jd0 = 0x01; - tcp_clock->jd1 = 0; - tcp_clock->dow = 1; - *MSR = PS; - tcp_power_up->sec = 0; - tcp_power_up->min = 0; - tcp_power_up->hrs = 0; - tcp_power_up->dom = 0; - tcp_power_up->mon = 0; - tcp_power_down->sec = 0; - tcp_power_down->min = 0; - tcp_power_down->hrs = 0; - tcp_power_down->dom = 0; - tcp_power_down->mon = 0; - } else { - /* save for power-up test */ - *MSR = 0; - power_up = (*IRR & TMSE ? 0 : 1); - *MSR = PS; - *RAM_POWERUP = power_up; - - /* update tcp_power_up and tcp_power_down on power up */ - if (power_up) { - *MSR = 0; - do { - *PFR; - sec = tcp_clock->sec; - min = tcp_clock->min; - hrs = tcp_clock->hrs; - dom = tcp_clock->dom; - mon = tcp_clock->mon; - } while (*PFR & R_1S); - *MSR = PS; - tcp_power_up->sec = sec; - tcp_power_up->min = min; - tcp_power_up->hrs = hrs; - tcp_power_up->dom = dom; - tcp_power_up->mon = ( (((mon>>4)*10)+(mon&0xf))>12 ? 0 : mon ); - *MSR = 0; /* save ram is not running */ - sec = tcp_save_ram->sec; - min = tcp_save_ram->min; - hrs = tcp_save_ram->hrs; - dom = tcp_save_ram->dom; - mon = tcp_save_ram->mon; - *MSR = PS; - tcp_power_down->sec = sec; - tcp_power_down->min = min; - tcp_power_down->hrs = hrs; - tcp_power_down->dom = dom; - tcp_power_down->mon = ( (((mon>>4)*10)+(mon&0xf))>12 ? 0 : mon ); - } - } - - /* load interrupt routing reg. PF must be enabled to test - for low battery, but I route it to MFO to avoid any - potential problems */ - *MSR = 0; - *IRR = PF_R | TMSE; - - /* initialize the output mode register */ - *MSR = RS; - *OMR = IP | MP | MO; /* INTR active low and push/pull */ - - /* initialize interrupt control reg 0 */ - *MSR = RS; - *ICR0 = 0; /* disable all interrupts */ - - /* initialize interrupt control reg 1 */ - *MSR = RS; - *ICR1 = PFE; /* this also enables the low battery - detection circuit. */ - - /* I had trouble getting the tcp to be completely - flexible to supply modes (i.e., automatically - selecting single or normal battery backup modes based - on inputs at power-up. If single supply mode is - selected, the low battery detect is disabled and the - low battery detect in normal mode does not seem to - detect when no battery is present at all. If normal - mode is selected and no battery is present, the - crystal will stop, but only if reset after - power-up. It would seem that after a power-up reset, - with no battery, the chip may automaticlly switch to - single supply mode which disables the low battery - detection circuit.) The following software tests - works for all permiatations of low batt, reset, - power-on reset, battery, no battery, battery on after - Vcc,.... *except* for battery switched on for the - first time before power up in which case the chip - will still be in single suppy mode till restarted (a - second call to bsp_tcp_init such as when the time is set - or a reboot.) The timer/clock itself should always - be completely functional regardless of the supply - mode. */ - - - /* initialize the real time mode register */ - /* note: write mode bits *before* CSS, then set CSS */ - *MSR = 0; /* clear roll-over */ - *PFR; - count=1; - for (i=0;i=X_DELAY) { - { - /* xtal didn't start; try single supply mode */ - *MSR = 0; /* single supply */ - *PFR = OSF; - *MSR = 0; /* clear roll-over */ - *PFR; - count=1; - for (i=0;i=X1_DELAY) { - /* xtal didn't start; fail tcp */ - *MSR = PS; - *RAM_TCP_FAILURE = 1; - *MSR = PS; - *RAM_SINGLE_SUP=1; - } else { - *MSR = PS; - *RAM_TCP_FAILURE = 0; - *MSR = PS; - *RAM_SINGLE_SUP=1; - } - } - } else { - *MSR = PS; - *RAM_TCP_FAILURE = 0; - *MSR = PS; - *RAM_SINGLE_SUP=0; - } - - /* wait for low battery detection circuit to stabalize */ - tcp_delay(1000); - - /* battery test */ - *MSR = 0; - low_bat = (*IRR & LBF ? 1 : 0 ); - *MSR = PS; - *RAM_LOWBAT = low_bat & !(*RAM_SINGLE_SUP); - - /* reset pending interrupts */ - *MSR = ( PER | AL | T0 | T1 ); - - /* resync the time save ram with the clock */ - tcp_save_ram->sec = 0; - tcp_save_ram->min = 0; - tcp_save_ram->hrs = 0; - tcp_save_ram->dom = 0; - tcp_save_ram->mon = 0; -} diff --git a/c/src/lib/libbsp/m68k/efi68k/startup/efi68k_wd.c b/c/src/lib/libbsp/m68k/efi68k/startup/efi68k_wd.c deleted file mode 100644 index 0ba0ec1499..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/startup/efi68k_wd.c +++ /dev/null @@ -1,45 +0,0 @@ -/* - *------------------------------------------------------------------- - * - * This file contains the subroutines necessary to initalize - * and maintain the MAX791 based watchdog timer used on efi68k - * - * This file has been created by John S. Gwynne for the efi68k - * project. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. - * - *------------------------------------------------------------------ - * - * $Id$ - */ -#include - -void wd_interrupt(void) { - /* toggle WDI of the MAX791. A more sophisticated routine - can be inserted into the exception table after booting. */ - - /* 3 changes guaranty a pulse independent of initial state */ - *MCR |= OUT1; - *MCR &= ~OUT1; - *MCR |= OUT1; -} - -/* _catchWDint is the interrupt front-end */ -extern void _catchWDint(); -asm(" .text\n\ - .align 2\n\ - .globl _catchWDint\n\ -_catchWDint:\n\ - lea %sp@(4),%sp /* pop return address */\n\ - moveml %d0-%d7/%a0-%a6,%sp@- /* save registers */\n\ - jbsr wd_interrupt\n\ - moveml %sp@+,%d0-%d7/%a0-%a6 \n\ - rte\n\ - "); - -void watch_dog_init(void) { - set_vector(_catchWDint, WD_ISR_LEVEL+24, 0); -} diff --git a/c/src/lib/libbsp/m68k/efi68k/startup/linkcmds b/c/src/lib/libbsp/m68k/efi68k/startup/linkcmds deleted file mode 100644 index 9dd4bdab0f..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/startup/linkcmds +++ /dev/null @@ -1,213 +0,0 @@ -/* linkcmds - * - * $Id$ - */ - -OUTPUT_ARCH(m68k) -__DYNAMIC = 0; - -/* - * The memory map looks like this: - * +--------------------+ <- low memory - * | .text | - * | etext | - * | ctor list | the ctor and dtor lists are for - * | dtor list | C++ support - * | _endtext | - * +--------------------+ - * | .data | initialized data goes here - * | _sdata | - * | _edata | - * +--------------------+ - * | .bss | - * | _clear_start| start of bss, cleared by crt0 - * | _end | start of heap, used by sbrk() - * +--------------------+ - * | heap space | - * | _ENDHEAP | - * | stack space | - * | __stack | top of stack - * +--------------------+ <- high memory - */ - - -/* - * User modifiable values: - * - * _VBR location of VBR table - */ - -MEMORY -{ - ram : ORIGIN = 0x203000, LENGTH = 256K -} - -_VBR = 0x200000; /* location of the VBR table (in RAM) */ -__end_of_ram = 0x240000; -_copy_data_from_rom = 0; - -/* - * Declare some sizes. - */ -_RamBase = DEFINED(_RamBase) ? _RamBase : 0x200000; -_RamSize = DEFINED(_RamSize) ? _RamSize : 256K; -_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x10000; -_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000; - -/* - * stick everything in ram (of course) - */ - -SECTIONS -{ - ram : { - . = .; - } >ram - - /* - * Text, data and bss segments - */ - .text : { - *(.text) - - /* - * C++ constructors/destructors - */ - *(.gnu.linkonce.t.*) - - /* - * Initialization and finalization code. - * - * Various files can provide initialization and finalization - * functions. crtbegin.o and crtend.o are two instances. The - * body of these functions are in .init and .fini sections. We - * accumulate the bodies here, and prepend function prologues - * from crti.o and function epilogues from crtn.o. crti.o must - * be linked first; crtn.o must be linked last. Because these - * are wildcards, it doesn't matter if the user does not - * actually link against crti.o and crtn.o; the linker won't - * look for a file to match a wildcard. The wildcard also - * means that it doesn't matter which directory crti.o and - * crtn.o are in. - */ - PROVIDE (_init = .); - *crti.o(.init) - *(.init) - *crtn.o(.init) - PROVIDE (_fini = .); - *crti.o(.fini) - *(.fini) - *crtn.o(.fini) - - /* - * Special FreeBSD sysctl sections. - */ - . = ALIGN (16); - __start_set_sysctl_set = .; - *(set_sysctl_*); - __stop_set_sysctl_set = ABSOLUTE(.); - *(set_domain_*); - *(set_pseudo_*); - - /* - * C++ constructors/destructors - * - * gcc uses crtbegin.o to find the start of the constructors - * and destructors so we make sure it is first. Because this - * is a wildcard, it doesn't matter if the user does not - * actually link against crtbegin.o; the linker won't look for - * a file to match a wildcard. The wildcard also means that - * it doesn't matter which directory crtbegin.o is in. The - * constructor and destructor list are terminated in - * crtend.o. The same comments apply to it. - */ - . = ALIGN (16); - *crtbegin.o(.ctors) - *(.ctors) - *crtend.o(.ctors) - *crtbegin.o(.dtors) - *(.dtors) - *crtend.o(.dtors) - - /* - * Exception frame info - */ - . = ALIGN (16); - *(.eh_frame) - - /* - * Read-only data - */ - . = ALIGN (16); - _rodata_start = . ; - *(.rodata*) - *(.gnu.linkonce.r*) - - . = ALIGN (16); - PROVIDE (_etext = .); - } >ram - .data : { - PROVIDE (_copy_start = .); - *(.data) - *(.gnu.linkonce.d*) - *(.gcc_except_table) - *(.jcr) - . = ALIGN (16); - PROVIDE (_edata = .); - PROVIDE (_copy_end = .); - } >ram - .bss : { - _clear_start = .; - *(.bss) - *(COMMON) - . = ALIGN (16); - PROVIDE (end = .); - - . += _StackSize; - . = ALIGN (16); - _stack_init = .; - _clear_end = .; - - _WorkspaceBase = .; - } >ram - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - - /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - /* These must appear regardless of . */ -} diff --git a/c/src/lib/libbsp/m68k/efi68k/startup/m68k-stub.c b/c/src/lib/libbsp/m68k/efi68k/startup/m68k-stub.c deleted file mode 100644 index a37cd2dc83..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/startup/m68k-stub.c +++ /dev/null @@ -1,782 +0,0 @@ -/* m68k-stub.c - * - * $Id$ - */ - -#include -#include - -m68k_isr_entry set_vector( - rtems_isr_entry handler, - rtems_vector_number vector, - int type -); - - -void (*exceptionHook)() = 0; - -void outbyte(char c); -char putDebugChar( char c) -{ - outbyte(c); - return c; -} - -char inbyte(void); -char getDebugChar(void) -{ - return inbyte(); -} - -void flush_i_cache(void) -{ - return; -} - -void *memset(void *p, int c, int n) -{ - register int i; - void *s=p; - - for (i=0;i 0 prints ill-formed commands in valid packets & checksum errors */ - -static const char hexchars[]="0123456789abcdef"; - -/* there are 180 bytes of registers on a 68020 w/68881 */ -/* many of the fpa registers are 12 byte (96 bit) registers */ -#define NUMREGBYTES 180 -enum regnames {D0,D1,D2,D3,D4,D5,D6,D7, - A0,A1,A2,A3,A4,A5,A6,A7, - PS,PC, - FP0,FP1,FP2,FP3,FP4,FP5,FP6,FP7, - FPCONTROL,FPSTATUS,FPIADDR - }; - - - -typedef struct FrameStruct -{ - struct FrameStruct *previous; - int exceptionPC; /* pc value when this frame created */ - int exceptionVector; /* cpu vector causing exception */ - short frameSize; /* size of cpu frame in words */ - short sr; /* for 68000, this not always sr */ - int pc; - short format; - int fsaveHeader; - int morejunk[0]; /* exception frame, fp save... */ -} Frame; - -#define FRAMESIZE 10 -int gdbFrameStack[FRAMESIZE]; -static Frame *lastFrame; - -/* - * these should not be static cuz they can be used outside this module - */ -int registers[NUMREGBYTES/4]; -int superStack; - -#define STACKSIZE 600 -int remcomStack[STACKSIZE/sizeof(int)]; -static int* stackPtr = &remcomStack[STACKSIZE/sizeof(int) - 1]; - -static ExceptionHook oldExceptionHook; - -#define SAVE_FP_REGS() -#define RESTORE_FP_REGS() - -void return_to_super(); -void return_to_user(); - -asm(" -.text -.align 2 -.globl return_to_super -return_to_super: - oriw #0x0700,%sr - movel registers+60,%sp /* get new stack pointer */ - movel lastFrame,%a0 /* get last frame info */ - bra return_to_any - -.globl return_to_user -return_to_user: - oriw #0x0700,%sr - movel registers+60,%a0 /* get usp */ - movel %a0,%usp /* set usp */ - movel superStack,%sp /* get original stack pointer */ - -return_to_any: - movel lastFrame,%a0 /* get last frame info */ - movel %a0@+,lastFrame /* link in previous frame */ - addql #8,%a0 /* skip over pc, vector#*/ - movew %a0@+,%d0 /* get # of words in cpu frame */ - addw %d0,%a0 /* point to end of data */ - addw %d0,%a0 /* point to end of data */ - movel %a0,%a1 -# -# copy the stack frame - subql #1,%d0 -copyUserLoop: - movew %a1@-,%sp@- - dbf %d0,copyUserLoop -"); - RESTORE_FP_REGS() - asm(" moveml registers,%d0-%d7/%a0-%a6"); - asm(" rte"); /* pop and go! */ - -#define DISABLE_INTERRUPTS() asm(" oriw #0x0700,%sr"); -#define BREAKPOINT() asm(" trap #1"); - -/* this function is called immediately when a level 7 interrupt occurs */ -/* if the previous interrupt level was 7 then we're already servicing */ -/* this interrupt and an rte is in order to return to the debugger. */ -/* For the 68000, the offset for sr is 6 due to the jsr return address */ -asm(" -.text -.align 2 -.globl _debug_level7 -_debug_level7: - movew %d0,%sp@-"); -asm(" movew %sp@(6),%d0"); - -asm(" andiw #0x700,%d0 - cmpiw #0x700,%d0 - beq already7 - movew %sp@+,%d0 - bra _catchException -already7: - movew %sp@+,%d0"); -asm(" lea %sp@(4),%sp"); /* pull off 68000 return address */ - -asm(" rte"); - -extern void _catchException (); - -/* This function is called when an exception occurs. It translates the - * return address found on the stack into an exception vector # which - * is then handled by either handle_exception or a system handler. - * _catchException provides a front end for both. - * - * stack on entry: stack on exit: - * Program counter MSWord exception # MSWord - * Program counter LSWord exception # MSWord - * Status Register - * Return Address MSWord - * Return Address LSWord - */ - -asm(" -.text -.align 2 -.globl _catchException -_catchException: -"); -DISABLE_INTERRUPTS(); -asm(" - moveml %d0-%d7/%a0-%a6,registers /* save registers */ - movel lastFrame,%a0 /* last frame pointer */ - - move.b #64,(0x00600001) - move.b (0x00600007),%d0 - andib #-64,%d0 - move.b %d0,(0x00600007) - -"); -SAVE_FP_REGS(); -asm(" - lea registers,%a5 /* get address of registers */ - movel %sp@+,%d2 /* pop return address */ - addq.l #6,%d2 - sub.l #0x200000,%d2 - divs #6,%d2 -/* addl #1530,%d2 */ /* convert return addr to */ -/* divs #6,%d2 */ /* exception number */ - extl %d2 - - moveql #3,%d3 /* assume a three word frame */ - - cmpiw #3,%d2 /* bus error or address error ? */ - bgt normal /* if >3 then normal error */ - movel %sp@+,%a0@- /* copy error info to frame buff*/ - movel %sp@+,%a0@- /* these are never used */ - moveql #7,%d3 /* this is a 7 word frame */ - -normal: - movew %sp@+,%d1 /* pop status register */ - movel %sp@+,%a4 /* pop program counter */ - movew %d1,%a5@(66) /* save sr */ - movel %a4,%a5@(68) /* save pc in _regisers[] */ - movel %a4,%a0@- /* copy pc to frame buffer */ - movew %d1,%a0@- /* copy sr to frame buffer */ - - movel %sp,superStack /* save supervisor sp */ - - andiw #0x2000,%d1 /* were we in supervisor mode ? */ - beq userMode - movel %a7,%a5@(60) /* save a7 */ - bra saveDone -userMode: - movel %usp,%a1 /* save user stack pointer */ - movel %a1,%a5@(60) /* save user stack pointer */ -saveDone: - - movew %d3,%a0@- /* push frame size in words */ - movel %d2,%a0@- /* push vector number */ - movel %a4,%a0@- /* push exception pc */ - -# -# save old frame link and set the new value - movel lastFrame,%a1 /* last frame pointer */ - movel %a1,%a0@- /* save pointer to prev frame */ - movel %a0,lastFrame - - movel %d2,%sp@- /* push exception num */ - movel exceptionHook,%a0 /* get address of handler */ - jbsr %a0@ /* and call it */ - clrl %sp@ /* replace exception num parm with frame ptr*/ - jbsr _returnFromException /* jbsr, but never returns */ -"); - - -/* - * remcomHandler is a front end for handle_exception. It moves the - * stack pointer into an area reserved for debugger use in case the - * breakpoint happened in supervisor mode. - */ -asm("remcomHandler:"); -asm(" addl #4,%sp"); /* pop off return address */ -asm(" movel %sp@+,%d0"); /* get the exception number */ -asm(" movel stackPtr,%sp"); /* move to remcom stack area */ -asm(" movel %d0,%sp@-"); /* push exception onto stack */ -asm(" andiw #0xf8ff,%sr"); -asm(" jbsr handle_exception"); /* this never returns */ -asm(" rts"); /* return */ - -void _returnFromException( Frame *frame ) -{ - /* if no passed in frame, use the last one */ - if (! frame) - { - frame = lastFrame; - frame->frameSize = 4; - frame->format = 0; - frame->fsaveHeader = -1; /* restore regs, but we dont have fsave info*/ - } - - - /* a 68000 cannot use the internal info pushed onto a bus error - * or address error frame when doing an RTE so don't put this info - * onto the stack or the stack will creep every time this happens. - */ - frame->frameSize=3; - - - /* throw away any frames in the list after this frame */ - lastFrame = frame; - - frame->sr = registers[(int) PS]; - frame->pc = registers[(int) PC]; - - if (registers[(int) PS] & 0x2000) - { - /* return to supervisor mode... */ - return_to_super(); - } - else - { /* return to user mode */ - return_to_user(); - } -} - -int hex(ch) -char ch; -{ - if ((ch >= 'a') && (ch <= 'f')) return (ch-'a'+10); - if ((ch >= '0') && (ch <= '9')) return (ch-'0'); - if ((ch >= 'A') && (ch <= 'F')) return (ch-'A'+10); - return (-1); -} - - -/* scan for the sequence $# */ -void getpacket(buffer) -char * buffer; -{ - unsigned char checksum; - unsigned char xmitcsum; - int i; - int count; - char ch; - - do { - /* wait around for the start character, ignore all other characters */ - while ((ch = getDebugChar()) != '$'); - checksum = 0; - xmitcsum = -1; - - count = 0; - - /* now, read until a # or end of buffer is found */ - while (count < BUFMAX) { - ch = getDebugChar(); - if (ch == '#') break; - checksum = checksum + ch; - buffer[count] = ch; - count = count + 1; - } - buffer[count] = 0; - - if (ch == '#') { - xmitcsum = hex(getDebugChar()) << 4; - xmitcsum += hex(getDebugChar()); - - if (checksum != xmitcsum) putDebugChar('-'); /* failed checksum */ - else { - putDebugChar('+'); /* successful transfer */ - /* if a sequence char is present, reply the sequence ID */ - if (buffer[2] == ':') { - putDebugChar( buffer[0] ); - putDebugChar( buffer[1] ); - /* remove sequence chars from buffer */ - count = db_strlen(buffer); - for (i=3; i <= count; i++) buffer[i-3] = buffer[i]; - } - } - } - } while (checksum != xmitcsum); - -} - -/* send the packet in buffer. The host get's one chance to read it. - This routine does not wait for a positive acknowledge. */ - - -void putpacket(buffer) -char * buffer; -{ - unsigned char checksum; - int count; - char ch; - - /* $#. */ - do { - putDebugChar('$'); - checksum = 0; - count = 0; - - while ((ch=buffer[count])) { - if (! putDebugChar(ch)) return; - checksum += ch; - count += 1; - } - - putDebugChar('#'); - putDebugChar(hexchars[checksum >> 4]); - putDebugChar(hexchars[checksum % 16]); - - } while (1 == 0); /* (getDebugChar() != '+'); */ - -} - -char remcomInBuffer[BUFMAX]; -char remcomOutBuffer[BUFMAX]; -static short error; - - -void debug_error(format, parm) -char * format; -char * parm; -{ - return; -} - -/* convert the memory pointed to by mem into hex, placing result in buf */ -/* return a pointer to the last char put in buf (null) */ -char* mem2hex(mem, buf, count) -char* mem; -char* buf; -int count; -{ - int i; - unsigned char ch; - for (i=0;i> 4]; - *buf++ = hexchars[ch % 16]; - } - *buf = 0; - return(buf); -} - -/* convert the hex array pointed to by buf into binary to be placed in mem */ -/* return a pointer to the character AFTER the last byte written */ -char* hex2mem(buf, mem, count) -char* buf; -char* mem; -int count; -{ - int i; - unsigned char ch; - for (i=0;i=0) - { - *intValue = (*intValue <<4) | hexValue; - numChars ++; - } - else - break; - - (*ptr)++; - } - - return (numChars); -} - -/* - * This function does all command procesing for interfacing to gdb. - */ -void handle_exception(int exceptionVector) -{ - int sigval; - int addr, length; - char * ptr; - int newPC; - Frame *frame; - - /* reply to host that an exception has occurred */ - sigval = computeSignal( exceptionVector ); - remcomOutBuffer[0] = 'S'; - remcomOutBuffer[1] = hexchars[sigval >> 4]; - remcomOutBuffer[2] = hexchars[sigval % 16]; - remcomOutBuffer[3] = 0; - - putpacket(remcomOutBuffer); - - while (1==1) { - error = 0; - remcomOutBuffer[0] = 0; - getpacket(remcomInBuffer); - switch (remcomInBuffer[0]) { - case '?' : remcomOutBuffer[0] = 'S'; - remcomOutBuffer[1] = hexchars[sigval >> 4]; - remcomOutBuffer[2] = hexchars[sigval % 16]; - remcomOutBuffer[3] = 0; - break; - case 'd' : remote_debug = !(remote_debug); /* toggle debug flag */ - break; - case 'g' : /* return the value of the CPU registers */ - mem2hex((char*) registers, remcomOutBuffer, NUMREGBYTES); - break; - case 'G' : /* set the value of the CPU registers - return OK */ - hex2mem(&remcomInBuffer[1], (char*) registers, NUMREGBYTES); - db_strcpy(remcomOutBuffer,"OK"); - break; - - /* mAA..AA,LLLL Read LLLL bytes at address AA..AA */ - case 'm' : - /* TRY TO READ %x,%x. IF SUCCEED, SET PTR = 0 */ - ptr = &remcomInBuffer[1]; - if (hexToInt(&ptr,&addr)) - if (*(ptr++) == ',') - if (hexToInt(&ptr,&length)) - { - ptr = 0; - mem2hex((char*) addr, remcomOutBuffer, length); - } - - if (ptr) - { - db_strcpy(remcomOutBuffer,"E01"); - debug_error("malformed read memory command: %s",remcomInBuffer); - } - break; - - /* MAA..AA,LLLL: Write LLLL bytes at address AA.AA return OK */ - case 'M' : - /* TRY TO READ '%x,%x:'. IF SUCCEED, SET PTR = 0 */ - ptr = &remcomInBuffer[1]; - if (hexToInt(&ptr,&addr)) - if (*(ptr++) == ',') - if (hexToInt(&ptr,&length)) - if (*(ptr++) == ':') - { - hex2mem(ptr, (char*) addr, length); - ptr = 0; - db_strcpy(remcomOutBuffer,"OK"); - } - if (ptr) - { - db_strcpy(remcomOutBuffer,"E02"); - debug_error("malformed write memory command: %s",remcomInBuffer); - } - break; - - /* cAA..AA Continue at address AA..AA(optional) */ - /* sAA..AA Step one instruction from AA..AA(optional) */ - case 'c' : - case 's' : - /* try to read optional parameter, pc unchanged if no parm */ - ptr = &remcomInBuffer[1]; - if (hexToInt(&ptr,&addr)) - registers[ PC ] = addr; - - newPC = registers[ PC]; - - /* clear the trace bit */ - registers[ PS ] &= 0x7fff; - - /* set the trace bit if we're stepping */ - if (remcomInBuffer[0] == 's') registers[ PS ] |= 0x8000; - - /* - * look for newPC in the linked list of exception frames. - * if it is found, use the old frame it. otherwise, - * fake up a dummy frame in returnFromException(). - */ - frame = lastFrame; - while (frame) - { - if (frame->exceptionPC == newPC) break; /* bingo! a match */ - /* - * for a breakpoint instruction, the saved pc may - * be off by two due to re-executing the instruction - * replaced by the trap instruction. Check for this. - */ - if ((frame->exceptionVector == 33) && - (frame->exceptionPC == (newPC+2))) break; - if (frame == frame->previous) - { - frame = 0; /* no match found */ - break; - } - frame = frame->previous; - } - - /* - * If we found a match for the PC AND we are not returning - * as a result of a breakpoint (33), - * trace exception (9), nmi (31), jmp to - * the old exception handler as if this code never ran. - */ - if (frame) - { - if ((frame->exceptionVector != 9) && - (frame->exceptionVector != 31) && - (frame->exceptionVector != 33)) - { - /* - * invoke the previous handler. - */ - if (oldExceptionHook) - (*oldExceptionHook) (frame->exceptionVector); - newPC = registers[ PC ]; /* pc may have changed */ - if (newPC != frame->exceptionPC) - { - /* re-use the last frame, we're skipping it (longjump?)*/ - frame = (Frame *) 0; - _returnFromException( frame ); /* this is a jump */ - } - } - } - - /* if we couldn't find a frame, create one */ - if (frame == 0) - { - frame = lastFrame -1 ; - - /* by using a bunch of print commands with breakpoints, - it's possible for the frame stack to creep down. If it creeps - too far, give up and reset it to the top. Normal use should - not see this happen. - */ - if ((unsigned int) (frame-2) < (unsigned int) &gdbFrameStack) - { - initializeRemcomErrorFrame(); - frame = lastFrame; - } - frame->previous = lastFrame; - lastFrame = frame; - frame = 0; /* null so _return... will properly initialize it */ - } - - _returnFromException( frame ); /* this is a jump */ - - break; - - /* kill the program */ - case 'k' : /* do nothing */ - break; - } /* switch */ - - /* reply to the request */ - putpacket(remcomOutBuffer); - } -} - - -void -initializeRemcomErrorFrame() -{ - lastFrame = ((Frame *) &gdbFrameStack[FRAMESIZE-1]) - 1; - lastFrame->previous = lastFrame; -} - -/* this function is used to set up exception handlers for tracing and - breakpoints */ -void set_debug_traps() -{ - extern void _debug_level7(); - extern void remcomHandler(); - int exception; - - initializeRemcomErrorFrame(); - stackPtr = &remcomStack[STACKSIZE/sizeof(int) - 1]; - - for (exception = 2; exception <= 23; exception++) - set_vector(_catchException,exception,0); - - /* level 7 interrupt */ - set_vector(_debug_level7,31,0); - - /* breakpoint exception (trap #1) */ - set_vector(_catchException,33,0); - - /* This is a trap #8 instruction. Apparently it is someone's software - convention for some sort of SIGFPE condition. Whose? How many - people are being screwed by having this code the way it is? - Is there a clean solution? */ - set_vector(_catchException,40,0); - - /* 48 to 54 are floating point coprocessor errors */ - for (exception = 48; exception <= 54; exception++) - set_vector(_catchException,exception,0); - - if (oldExceptionHook != remcomHandler) - { - oldExceptionHook = exceptionHook; - exceptionHook = remcomHandler; - } - - initialized = 1; - -} - -/* This function will generate a breakpoint exception. It is used at the - beginning of a program to sync up with a debugger and can be used - otherwise as a quick means to stop program execution and "break" into - the debugger. */ - -void breakpoint() -{ - if (initialized) BREAKPOINT(); -} - diff --git a/c/src/lib/libbsp/m68k/efi68k/startup/setvec.c b/c/src/lib/libbsp/m68k/efi68k/startup/setvec.c deleted file mode 100644 index e9c2c51b5d..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/startup/setvec.c +++ /dev/null @@ -1,44 +0,0 @@ -/* set_vector - * - * This routine installs an interrupt vector on the efi68k. - * - * 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 - -m68k_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 */ -) -{ - int *p; - m68k_isr_entry previous_isr; - - if ( type ) - rtems_interrupt_catch( handler, vector, (rtems_isr_entry *) &previous_isr ); - else { - p = (int *)(vector*6-12+2+(int)_VBR); - previous_isr = (m68k_isr_entry) *p; /* return old ISR */ - *p = (int) handler; /* install new ISR */ - } - return previous_isr; -} - diff --git a/c/src/lib/libbsp/m68k/efi68k/timer/.cvsignore b/c/src/lib/libbsp/m68k/efi68k/timer/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/timer/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/lib/libbsp/m68k/efi68k/timer/Makefile.am b/c/src/lib/libbsp/m68k/efi68k/timer/Makefile.am deleted file mode 100644 index 89cd2f36f3..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/timer/Makefile.am +++ /dev/null @@ -1,30 +0,0 @@ -## -## $Id$ -## - -PGM = $(ARCH)/timer.rel - -C_FILES = timer.c -C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT)) - -OBJS = $(C_O_FILES) - -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-local: $(OBJS) $(PGM) - -.PRECIOUS: $(PGM) - -EXTRA_DIST = timer.c - -include $(top_srcdir)/../../../../automake/local.am diff --git a/c/src/lib/libbsp/m68k/efi68k/timer/timer.c b/c/src/lib/libbsp/m68k/efi68k/timer/timer.c deleted file mode 100644 index 3eb81fdefb..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/timer/timer.c +++ /dev/null @@ -1,141 +0,0 @@ -/* Timer_init() - * - * This routine initializes a timer in efi68k's DP8570A TCP - * - * Input parameters: NONE - * - * Output parameters: NONE - * - * 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 -#include - -rtems_boolean Timer_driver_Find_average_overhead; - -extern rtems_isr Clock_isr(); - -void Timer_initialize( void ) -{ - /* stop counter */ - *MSR = 0; - *T0CR = 0; - - /* - * Make sure isr is installed - */ - - set_vector( Clock_isr, TCP_ISR_LEVEL+24, 1); - - /* clear timer ISR count */ - Timer_interrupts = 0; - - /* load count (count down timer) */ - *MSR = 0; - *T0_MSB = 0xff; - *T0_LSB = 0xff; - - /* clear old interrupts */ - *MSR = T0; - - /* enable timer 0 interrupt */ - *MSR = RS; - *ICR0 |= T0E; - - /* - TSS = 1 starts the timer (timer resets on start) - M1/0 = 0/1 rate generator - C2/1/0 = 0/0/0 external clock (8MHz) (1/8 usec resolution) - RD = 0 read data (latchs count) - CHG = 0 hold - */ - *MSR = 0; - *T0CR = (TSS | M0); -} - -/* - * 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 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 */ - -/* - * Return timer value in 1/2-microsecond units - */ -int Read_timer( void ) -{ - rtems_unsigned16 clicks; - rtems_unsigned32 total; - rtems_unsigned32 msb, lsb; - - - /* - * Read the timer and see how many clicks it has been since counter - * rolled over. - */ - - *MSR = 0; - *T0CR |= RD; - /* must read MSB first */ - msb = *T0_MSB; - lsb = *T0_LSB; - clicks = 0xffff - ((msb << 8) | lsb); - - /* - * 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 = (Timer_interrupts * 0x10000 + clicks + 4)/8; /* in micoseconds */ - /* ^^^ round to nearest int */ - - if ( Timer_driver_Find_average_overhead == 1 ) - return total; /* in XXX microsecond units */ - - if ( total < LEAST_VALID ) - return 0; /* below timer resolution */ - - 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/m68k/efi68k/times b/c/src/lib/libbsp/m68k/efi68k/times deleted file mode 100644 index f13320d065..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/times +++ /dev/null @@ -1,193 +0,0 @@ -# -# Timing Test Suite Results for the EFI68k BSP -# -# $Id$ -# - -NOTE: This BSP is used submitted and no information is currently available. - -Board: EFI68k -CPU: Motorola MC68HC000 -Clock Speed: 16 Mhz -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 A: unused -Column B: unused - -# 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 diff --git a/c/src/lib/libbsp/m68k/efi68k/wrapup/.cvsignore b/c/src/lib/libbsp/m68k/efi68k/wrapup/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/wrapup/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/lib/libbsp/m68k/efi68k/wrapup/Makefile.am b/c/src/lib/libbsp/m68k/efi68k/wrapup/Makefile.am deleted file mode 100644 index 7e923c67cb..0000000000 --- a/c/src/lib/libbsp/m68k/efi68k/wrapup/Makefile.am +++ /dev/null @@ -1,20 +0,0 @@ -## -## $Id$ -## - -BSP_PIECES = startup clock console spurious timer - -# bummer; have to use $foreach since % pattern subst rules only replace 1x -OBJS = $(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/*.$(OBJEXT)) \ - $(wildcard \ - ../../../../libcpu/$(RTEMS_CPU)/shared/misc/$(ARCH)/*.$(OBJEXT)) - -include $(top_srcdir)/../../../../automake/compile.am -include $(top_srcdir)/../../../../automake/lib.am - -$(ARCH)/libbsp.a: $(OBJS) - $(make-library) - -noinst_DATA = $(ARCH)/libbsp.a - -include $(top_srcdir)/../../../../automake/local.am -- cgit v1.2.3