mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
2007-05-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* dmv152/.cvsignore, dmv152/ChangeLog, dmv152/Makefile.am, dmv152/bsp_specs, dmv152/configure.ac, dmv152/preinstall.am, dmv152/times, dmv152/clock/ckinit.c, dmv152/console/console.c, dmv152/include/.cvsignore, dmv152/include/bsp.h, dmv152/include/coverhd.h, dmv152/include/tm27.h, dmv152/spurious/spinit.c, dmv152/startup/bspclean.c, dmv152/startup/bspstart.c, dmv152/startup/linkcmds, dmv152/startup/vmeintr.c, dmv152/timer/timer.c, dmv152/timer/timerisr.S: Removed.
This commit is contained in:
@@ -1,3 +1,15 @@
|
||||
2007-05-11 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* dmv152/.cvsignore, dmv152/ChangeLog, dmv152/Makefile.am,
|
||||
dmv152/bsp_specs, dmv152/configure.ac, dmv152/preinstall.am,
|
||||
dmv152/times, dmv152/clock/ckinit.c, dmv152/console/console.c,
|
||||
dmv152/include/.cvsignore, dmv152/include/bsp.h,
|
||||
dmv152/include/coverhd.h, dmv152/include/tm27.h,
|
||||
dmv152/spurious/spinit.c, dmv152/startup/bspclean.c,
|
||||
dmv152/startup/bspstart.c, dmv152/startup/linkcmds,
|
||||
dmv152/startup/vmeintr.c, dmv152/timer/timer.c,
|
||||
dmv152/timer/timerisr.S: Removed.
|
||||
|
||||
2007-04-17 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* mcf5206elite/tools/runtest: Do not run pppd.exe from batch mode
|
||||
|
||||
@@ -6,8 +6,6 @@ AC_DEFUN([RTEMS_CHECK_BSPDIR],
|
||||
AC_CONFIG_SUBDIRS([av5282]);;
|
||||
csb360 )
|
||||
AC_CONFIG_SUBDIRS([csb360]);;
|
||||
dmv152 )
|
||||
AC_CONFIG_SUBDIRS([dmv152]);;
|
||||
gen68302 )
|
||||
AC_CONFIG_SUBDIRS([gen68302]);;
|
||||
gen68340 )
|
||||
|
||||
@@ -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
|
||||
@@ -1,429 +0,0 @@
|
||||
2007-05-03 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* startup/linkcmds: Handle .data.* sections
|
||||
|
||||
2007-04-12 Ralf Corsépius <ralf.corsepius@rtems.org>
|
||||
|
||||
* bsp_specs: Remove qrtems_debug.
|
||||
|
||||
2007-04-02 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* Makefile.am: Add dummy printk support so all tests link.
|
||||
|
||||
2007-03-11 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* startup/bspstart.c: Remove assignments of
|
||||
Cpu_table.do_zero_of_workspace to TRUE since TRUE is the default
|
||||
value in boot_card.c
|
||||
|
||||
2006-12-02 Ralf Corsépius <ralf.corsepius@rtems.org>
|
||||
|
||||
* configure.ac: New BUG-REPORT address.
|
||||
|
||||
2006-11-15 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* Makefile.am: Merge c_rtems_main() into boot_card(). This eliminated a
|
||||
file and simplified initialization.
|
||||
|
||||
2006-10-17 Ralf Corsépius <ralf.corsepius@rtems.org>
|
||||
|
||||
* Makefile.am: Remove superfluous -DASM.
|
||||
|
||||
2006-10-17 Ralf Corsépius <ralf.corsepius@rtems.org>
|
||||
|
||||
* configure.ac: Require autoconf-2.60. Require automake-1.10.
|
||||
|
||||
2006-02-08 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* startup/linkcmds: Add sections required by newer gcc versions.
|
||||
|
||||
2006-01-11 Ralf Corsepius <ralf.corsepius@rtems.org>
|
||||
|
||||
* Makefile.am: Add preinstall.am.
|
||||
|
||||
2005-05-26 Ralf Corsepius <ralf.corsepius@rtems.org>
|
||||
|
||||
* include/bsp.h: New header guard.
|
||||
|
||||
2005-01-07 Ralf Corsepius <ralf.corsepius@rtems.org>
|
||||
|
||||
* Makefile.am: Eliminate CFLAGS_OPTIMIZE_V.
|
||||
|
||||
2005-01-02 Ralf Corsepius <ralf.corsepius@rtems.org>
|
||||
|
||||
* Makefile.am: Remove build-variant support.
|
||||
|
||||
2004-11-25 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* startup/linkcmds: Add new bss sections .bss.* and .gnu.linkonce.b*.
|
||||
|
||||
2004-09-24 Ralf Corsepius <ralf_corsepius@rtems.org>
|
||||
|
||||
* configure.ac: Require automake > 1.9.
|
||||
|
||||
2004-04-23 Ralf Corsepius <ralf_corsepius@rtems.org>
|
||||
|
||||
PR 610/bsps
|
||||
* Makefile.am: Add include/tm27.h, Cosmetics.
|
||||
* include/tm27.h: Final cosmetics.
|
||||
|
||||
2004-04-22 Ralf Corsepius <ralf_corsepius@rtems.org>
|
||||
|
||||
* include/bsp.h: Split out tmtest27 support.
|
||||
* include/tm27.h: New.
|
||||
|
||||
2004-04-21 Ralf Corsepius <ralf_corsepius@rtems.org>
|
||||
|
||||
PR 613/bsps
|
||||
* include/bsp.h: Remove MAX_LONG_TEST_DURATION.
|
||||
|
||||
2004-04-21 Ralf Corsepius <ralf_corsepius@rtems.org>
|
||||
|
||||
PR 614/bsps
|
||||
* include/bsp.h: Remove MAX_SHORT_TEST_DURATION (Unused).
|
||||
|
||||
2004-04-08 Ralf Corsepius <ralf_corsepius@rtems.org>
|
||||
|
||||
* dmv152/include/bsp.h: Include <rtems/zilog/z8536.h> instead of
|
||||
<zilog/z8536.h>.
|
||||
* dmv152/include/bsp.h: Include <rtems/zilog/z8530.h> instead of
|
||||
<zilog/z8530.h>.
|
||||
|
||||
2004-04-02 Ralf Corsepius <ralf_corsepius@rtems.org>
|
||||
|
||||
* timer/timerisr.S: Include <rtems/asm.h> instead of <asm.h>.
|
||||
|
||||
2004-04-01 Ralf Corsepius <ralf_corsepius@rtems.org>
|
||||
|
||||
* include/bsp.h: Include <rtems/clockdrv.h> instead of <clockdrv.h>.
|
||||
* include/bsp.h: Include <rtems/console.h> instead of <console.h>.
|
||||
* include/bsp.h: Include <rtems/iosupp.h> instead of <iosupp.h>.
|
||||
* include/bsp.h: Include <rtems/vmeintr.h> instead of <vmeintr.h>.
|
||||
* startup/vmeintr.c: Include <rtems/vmeintr.h> instead of <vmeintr.h>.
|
||||
|
||||
2004-03-31 Ralf Corsepius <ralf_corsepius@rtems.org>
|
||||
|
||||
* clock/ckinit.c, console/console.c, include/bsp.h,
|
||||
spurious/spinit.c, startup/bspstart.c, startup/vmeintr.c,
|
||||
timer/timer.c: Convert to using c99 fixed size types.
|
||||
|
||||
2004-02-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* Makefile.am: Reflect changes to bsp.am.
|
||||
Preinstall dist_project_lib*.
|
||||
|
||||
2004-02-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* Makefile.am: Reflect changes to bsp.am.
|
||||
|
||||
2004-02-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* Makefile.am: Use CPPASCOMPILE instead of CCASCOMPILE.
|
||||
|
||||
2004-02-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* Makefile.am: Pickup files from ../../m68k/shared instead of
|
||||
../shared. Reformat.
|
||||
|
||||
2004-01-28 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: Add nostdinc to AUTOMAKE_OPTIONS.
|
||||
|
||||
2004-01-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* Makefile.am: Merge-in clock/Makefile.am, console/Makefile.am,
|
||||
spurious/Makefile.am, startup/Makefile.am, timer/Makefile.am,
|
||||
wrapup/Makefile.am.
|
||||
Use automake compilation rules.
|
||||
* clock/Makefile.am, console/Makefile.am, spurious/Makefile.am,
|
||||
startup/Makefile.am, timer/Makefile.am, wrapup/Makefile.am:
|
||||
Remove.
|
||||
* configure.ac: Reflect changes above.
|
||||
|
||||
2004-01-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* Makefile.am: Add PREINSTALL_DIRS.
|
||||
* wrapup/Makefile.am: Reflect changes to libcpu.
|
||||
|
||||
2004-01-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* wrapup/Makefile.am: Reflect changes to libcpu.
|
||||
|
||||
2004-01-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* Makefile.am: Re-add dirstamps to PRE/TMPINSTALL_FILES.
|
||||
Add PRE/TMPINSTALL_FILES to CLEANFILES.
|
||||
* startup/Makefile.am: Ditto.
|
||||
|
||||
2004-01-13 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* start/.cvsignore: Remove.
|
||||
|
||||
2004-01-13 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* start/Makefile.am: Remove.
|
||||
* Makefile.am: Merge-in start/Makefile.am.
|
||||
* configure.ac: Reflect changes above.
|
||||
|
||||
2004-01-05 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* wrapup/Makefile.am: Eliminate $(LIB).
|
||||
Use noinst_DATA to trigger building libbsp.a.
|
||||
|
||||
2003-12-13 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* start/Makefile.am: s,${PROJECT_RELEASE}/lib,$(PROJECT_LIB),g.
|
||||
* startup/Makefile.am: s,${PROJECT_RELEASE}/lib,$(PROJECT_LIB),g.
|
||||
|
||||
2003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* start/Makefile.am: Use mkdir_p. Remove dirs from PRE/TMPINSTALL_FILES.
|
||||
* startup/Makefile.am: Use mkdir_p. Remove dirs from PRE/TMPINSTALL_FILES.
|
||||
|
||||
2003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: Require automake >= 1.8, autoconf >= 2.59.
|
||||
|
||||
2003-12-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* start/Makefile.am: Misc cleanups and fixes.
|
||||
* startup/Makefile.am: Misc cleanups and fixes.
|
||||
* wrapup/Makefile.am: Misc cleanups and fixes.
|
||||
|
||||
2003-12-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* 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 <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* 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 <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* Makefile.am: Merge-in include/Makefile.am.
|
||||
Reflect changes to bsp.am.
|
||||
* include/Makefile.am: Remove.
|
||||
* configure.ac: Reflect changes above.
|
||||
|
||||
2003-09-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* bsp_specs: Remove *lib:.
|
||||
|
||||
2003-09-04 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* clock/ckinit.c, console/console.c, include/bsp.h, include/coverhd.h,
|
||||
spurious/spinit.c, startup/bspclean.c, startup/bspstart.c,
|
||||
startup/linkcmds, startup/vmeintr.c, timer/timer.c, timer/timerisr.S:
|
||||
URL for license changed.
|
||||
|
||||
2003-08-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* Makefile.am: Reflect having moved aclocal/.
|
||||
|
||||
2003-08-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* Makefile.am: Reflect having moved automake/.
|
||||
* clock/Makefile.am: Reflect having moved automake/.
|
||||
* console/Makefile.am: Reflect having moved automake/.
|
||||
* include/Makefile.am: Reflect having moved automake/.
|
||||
* 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 <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
PR 452/bsps
|
||||
* startup/Makefile.am: Remove USE_INIT_FINI.
|
||||
|
||||
2003-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: Use rtems-bugs@rtems.com as bug report email address.
|
||||
|
||||
2003-08-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
PR 445/bsps
|
||||
* bsp_specs: Remove -D__embedded__ -Asystem(embedded) from cpp.
|
||||
Remove cpp, old_cpp (now unused).
|
||||
|
||||
2003-03-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: Remove AC_CONFIG_AUX_DIR.
|
||||
|
||||
2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: AM_INIT_AUTOMAKE([1.7.2]).
|
||||
|
||||
2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: AC_PREREQ(2.57).
|
||||
|
||||
2003-01-20 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* startup/linkcmds*: Add FreeBSD sysctl() sections.
|
||||
|
||||
2002-12-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* clock/Makefile.am: Don't include @RTEMS_BSP@.cfg.
|
||||
* console/Makefile.am: Don't include @RTEMS_BSP@.cfg.
|
||||
* 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 <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* start/Makefile.am: Use install-data-local to install startfile.
|
||||
|
||||
2002-12-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* wrapup/Makefile.am: Don't include @RTEMS_BSP@.cfg.
|
||||
|
||||
2002-10-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* .cvsignore: Reformat.
|
||||
Add autom4te*cache.
|
||||
Remove autom4te.cache.
|
||||
|
||||
2002-08-21 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* bsp_specs: Added support for -nostdlibs.
|
||||
|
||||
2002-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* clock/Makefile.am: Use .$(OBJEXT) instead of .o.
|
||||
* console/Makefile.am: Use .$(OBJEXT) instead of .o.
|
||||
* 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-07-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* start/Makefile.am: Eliminate PGM.
|
||||
Add bsplib_DATA = $(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).o.
|
||||
|
||||
2002-07-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* startup/Makefile.am: Add bsplib_DATA = linkcmds.
|
||||
|
||||
2002-07-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* wrapup/Makefile.am: Eliminate TMPINSTALL_FILES.
|
||||
Remove $(OBJS) from all-local.
|
||||
|
||||
2002-06-29 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* wrapup/Makefile.am: Remove preinstallation of libbsp.a,
|
||||
|
||||
2001-05-09 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* 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 <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* 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 <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* bsp_specs: Replace -lrtemsall with -lrtemsbsp -lrtemscpu,
|
||||
replace -lrtemsall_g with -lrtemsbsp_g -lrtemscpu_g.
|
||||
|
||||
2001-11-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: Introduce RTEMS_BSP_CONFIGURE.
|
||||
|
||||
2001-11-15 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: Add RTEMS_BSPOPTS_*(USE_CONSOLE_A),
|
||||
add RTEMS_BSPOPTS_*(USE_CONSOLE_B).
|
||||
|
||||
2001-10-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* .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 <joel@OARcorp.com>
|
||||
|
||||
* include/bsp.h: Renamed delay() to rtems_bsp_delay().
|
||||
|
||||
2001-09-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* include/Makefile.am: Use 'TMPINSTALL_FILES ='.
|
||||
|
||||
2001-05-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* 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 <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.in: Use RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm]).
|
||||
|
||||
2000-11-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS.
|
||||
|
||||
2000-11-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* Makefile.am: Switch to ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal.
|
||||
|
||||
2000-11-01 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* 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 <rtems/XXX.h>. Header file order
|
||||
was cleaned up while doing this.
|
||||
|
||||
2000-10-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros.
|
||||
Switch to GNU canonicalization.
|
||||
|
||||
2000-09-29 Charles-Antoine Gauthier <charles.gauthier@nrc.ca>
|
||||
|
||||
* 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 <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* 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 <joel@OARcorp.com>
|
||||
|
||||
* ChangeLog: New file.
|
||||
@@ -1,66 +0,0 @@
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
|
||||
ACLOCAL_AMFLAGS = -I ../../../../aclocal
|
||||
|
||||
include $(top_srcdir)/../../../../automake/compile.am
|
||||
include $(top_srcdir)/../../bsp.am
|
||||
|
||||
dist_project_lib_DATA = bsp_specs
|
||||
|
||||
include_HEADERS = include/bsp.h
|
||||
include_HEADERS += include/tm27.h
|
||||
|
||||
nodist_include_HEADERS = include/bspopts.h
|
||||
DISTCLEANFILES = include/bspopts.h
|
||||
noinst_PROGRAMS =
|
||||
|
||||
include_HEADERS += include/coverhd.h
|
||||
|
||||
EXTRA_DIST = ../../m68k/shared/start.S
|
||||
start.$(OBJEXT): ../../m68k/shared/start.S
|
||||
$(CPPASCOMPILE) -o $@ -c $<
|
||||
project_lib_DATA = start.$(OBJEXT)
|
||||
|
||||
dist_project_lib_DATA += startup/linkcmds
|
||||
|
||||
noinst_PROGRAMS += startup.rel
|
||||
startup_rel_SOURCES = startup/bspclean.c ../../shared/bsplibc.c \
|
||||
../../shared/bsppost.c startup/bspstart.c ../../shared/bootcard.c \
|
||||
../../m68k/shared/m68kpretaskinghook.c \
|
||||
../../shared/sbrk.c ../../m68k/shared/setvec.c startup/vmeintr.c \
|
||||
../../shared/gnatinstallhandler.c
|
||||
startup_rel_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
startup_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
|
||||
|
||||
noinst_PROGRAMS += clock.rel
|
||||
clock_rel_SOURCES = clock/ckinit.c
|
||||
clock_rel_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
clock_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
|
||||
|
||||
noinst_PROGRAMS += console.rel
|
||||
console_rel_SOURCES = console/console.c ../../shared/dummy_printk_support.c
|
||||
console_rel_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
console_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
|
||||
|
||||
noinst_PROGRAMS += spurious.rel
|
||||
spurious_rel_SOURCES = spurious/spinit.c
|
||||
spurious_rel_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
spurious_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
|
||||
|
||||
noinst_PROGRAMS += timer.rel
|
||||
timer_rel_SOURCES = timer/timer.c timer/timerisr.S
|
||||
timer_rel_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
timer_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
|
||||
|
||||
noinst_LIBRARIES = libbsp.a
|
||||
libbsp_a_SOURCES =
|
||||
libbsp_a_LIBADD = startup.rel clock.rel console.rel spurious.rel timer.rel
|
||||
libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/shared/cache.rel \
|
||||
../../../libcpu/@RTEMS_CPU@/shared/misc.rel
|
||||
|
||||
EXTRA_DIST += times
|
||||
|
||||
include $(srcdir)/preinstall.am
|
||||
include $(top_srcdir)/../../../../automake/local.am
|
||||
@@ -1,13 +0,0 @@
|
||||
%rename endfile old_endfile
|
||||
%rename startfile old_startfile
|
||||
%rename link old_link
|
||||
|
||||
*startfile:
|
||||
%{!qrtems: %(old_startfile)} \
|
||||
%{!nostdlib: %{qrtems: start.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}
|
||||
@@ -1,154 +0,0 @@
|
||||
/* Clock_init()
|
||||
*
|
||||
* This routine initializes the Z80386 1 on the MVME136 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 <stdlib.h>
|
||||
|
||||
#include <bsp.h>
|
||||
#include <rtems/libio.h>
|
||||
|
||||
uint32_t Clock_isrs; /* ISRs until next tick */
|
||||
volatile uint32_t Clock_driver_ticks;
|
||||
/* ticks since initialization */
|
||||
rtems_isr_entry Old_ticker;
|
||||
|
||||
void Clock_exit( void );
|
||||
|
||||
#define CLOCK_VECTOR TIMER_VECTOR
|
||||
|
||||
/*
|
||||
* These are set by clock driver during its init
|
||||
*/
|
||||
|
||||
rtems_device_major_number rtems_clock_major = ~0;
|
||||
rtems_device_minor_number rtems_clock_minor;
|
||||
|
||||
/*
|
||||
* ISR Handler
|
||||
*/
|
||||
|
||||
rtems_isr Clock_isr(
|
||||
rtems_vector_number vector
|
||||
)
|
||||
{
|
||||
Clock_driver_ticks += 1;
|
||||
|
||||
Z8x36_WRITE( TIMER, CT1_CMD_STATUS, 0xE2 );
|
||||
Z8x36_WRITE( TIMER, CT1_CMD_STATUS, 0x22 );
|
||||
Z8x36_WRITE( TIMER, CT1_CMD_STATUS, 0xC6 );
|
||||
|
||||
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
|
||||
)
|
||||
{
|
||||
uint8_t data;
|
||||
|
||||
Clock_driver_ticks = 0;
|
||||
Clock_isrs = BSP_Configuration.microseconds_per_tick / 1000;
|
||||
|
||||
Old_ticker = (rtems_isr_entry) set_vector( clock_isr, CLOCK_VECTOR, 1 );
|
||||
|
||||
Z8x36_WRITE( TIMER, MASTER_CFG, 0xd4 );
|
||||
Z8x36_READ ( TIMER, MASTER_INTR, data );
|
||||
Z8x36_WRITE( TIMER, MASTER_INTR, (data & 0x7E) );
|
||||
Z8x36_WRITE( TIMER, CT1_TIME_CONST_MSB, 0x04 );
|
||||
Z8x36_WRITE( TIMER, CT1_TIME_CONST_LSB, 0xCE );
|
||||
Z8x36_WRITE( TIMER, CT1_MODE_SPEC, 0x83 );
|
||||
Z8x36_WRITE( TIMER, CNT_TMR_VECTOR, CLOCK_VECTOR );
|
||||
Z8x36_WRITE( TIMER, CT1_CMD_STATUS, 0x20 );
|
||||
Z8x36_READ ( TIMER, MASTER_INTR, data );
|
||||
Z8x36_WRITE( TIMER, MASTER_INTR, (data & 0xDA) | 0x80 );
|
||||
|
||||
/*
|
||||
* ACC_IC54 - interrupt 5 will be vectored and mapped to level 6
|
||||
*/
|
||||
|
||||
data = (*(uint8_t*)0x0D00000B);
|
||||
(*(uint8_t*)0x0D00000B) = (data & 0x7F) | 0x60;
|
||||
|
||||
Z8x36_WRITE( TIMER, CT1_CMD_STATUS, 0xC6 );
|
||||
|
||||
atexit( Clock_exit );
|
||||
}
|
||||
|
||||
void Clock_exit( void )
|
||||
{
|
||||
uint8_t data;
|
||||
|
||||
Z8x36_READ ( TIMER, MASTER_INTR, data );
|
||||
Z8x36_WRITE( TIMER, MASTER_INTR, (data & 0x01) );
|
||||
/* 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
|
||||
)
|
||||
{
|
||||
uint32_t isrlevel;
|
||||
rtems_libio_ioctl_args_t *args = pargp;
|
||||
|
||||
if (args == 0)
|
||||
goto done;
|
||||
|
||||
/*
|
||||
* This is hokey, but until we get a defined interface
|
||||
* to do this, it will just be this simple...
|
||||
*/
|
||||
|
||||
if (args->command == rtems_build_name('I', 'S', 'R', ' '))
|
||||
{
|
||||
Clock_isr(CLOCK_VECTOR);
|
||||
}
|
||||
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;
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
## Process this file with autoconf to produce a configure script.
|
||||
##
|
||||
## $Id$
|
||||
|
||||
AC_PREREQ(2.60)
|
||||
AC_INIT([rtems-c-src-lib-libbsp-m68k-dmv152],[_RTEMS_VERSION],[http://www.rtems.org/bugzilla])
|
||||
AC_CONFIG_SRCDIR([bsp_specs])
|
||||
RTEMS_TOP(../../../../../..)
|
||||
|
||||
RTEMS_CANONICAL_TARGET_CPU
|
||||
AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.10])
|
||||
RTEMS_BSP_CONFIGURE
|
||||
|
||||
RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm])
|
||||
RTEMS_CANONICALIZE_TOOLS
|
||||
RTEMS_PROG_CCAS
|
||||
|
||||
RTEMS_BSPOPTS_SET([USE_CHANNEL_A],[*],[1])
|
||||
RTEMS_BSPOPTS_HELP([USE_CHANNEL_A],
|
||||
[set to 1 to indicate this serial port to be used as RTEMS_CONSOLE])
|
||||
|
||||
RTEMS_BSPOPTS_SET([USE_CHANNEL_B],[*],[0])
|
||||
RTEMS_BSPOPTS_HELP([USE_CHANNEL_B],
|
||||
[set to 1 to indicate this serial port to be used as RTEMS_CONSOLE])
|
||||
|
||||
# Explicitly list all Makefiles here
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
AC_OUTPUT
|
||||
@@ -1,238 +0,0 @@
|
||||
/*
|
||||
* This file contains the TTY driver for the serial ports on the DMV152.
|
||||
* The serial ports use a Zilog Z8530.
|
||||
*
|
||||
* NOTE: This driver uses the termios pseudo driver.
|
||||
* This driver is polled only.
|
||||
*
|
||||
* 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 <bsp.h>
|
||||
#include <rtems/libio.h>
|
||||
#include <stdlib.h>
|
||||
#include <assert.h>
|
||||
|
||||
/*
|
||||
* console_outbyte_polled
|
||||
*
|
||||
* This routine transmits a character using polling.
|
||||
*/
|
||||
|
||||
void console_outbyte_polled(
|
||||
int port,
|
||||
char ch
|
||||
)
|
||||
{
|
||||
uint32_t control;
|
||||
uint32_t data;
|
||||
uint8_t rr_0;
|
||||
|
||||
if ( port == 0 ) {
|
||||
control = CONSOLE_CONTROL_A;
|
||||
data = CONSOLE_DATA_A;
|
||||
} else {
|
||||
control = CONSOLE_CONTROL_B;
|
||||
data = CONSOLE_DATA_B;
|
||||
}
|
||||
|
||||
for ( ; ; ) {
|
||||
Z8x30_READ_CONTROL( control, RR_0, rr_0 );
|
||||
if ( (rr_0 & RR_0_TX_BUFFER_EMPTY) != 0 )
|
||||
break;
|
||||
}
|
||||
|
||||
Z8x30_WRITE_DATA( control, ch );
|
||||
}
|
||||
|
||||
/*
|
||||
* console_inbyte_nonblocking
|
||||
*
|
||||
* This routine polls for a character.
|
||||
*/
|
||||
|
||||
int console_inbyte_nonblocking(int port)
|
||||
{
|
||||
uint32_t control;
|
||||
uint32_t data;
|
||||
uint8_t rr_0;
|
||||
char ch;
|
||||
|
||||
if ( port == 0 ) {
|
||||
control = CONSOLE_CONTROL_A;
|
||||
data = CONSOLE_DATA_A;
|
||||
} else {
|
||||
control = CONSOLE_CONTROL_B;
|
||||
data = CONSOLE_DATA_B;
|
||||
}
|
||||
|
||||
Z8x30_READ_CONTROL( control, RR_0, rr_0 );
|
||||
if ( !(rr_0 & RR_0_RX_DATA_AVAILABLE) )
|
||||
return -1;
|
||||
|
||||
Z8x30_READ_DATA( data, ch );
|
||||
return (int) ch;
|
||||
}
|
||||
|
||||
/*
|
||||
* DEBUG_puts
|
||||
*
|
||||
* This should be safe in the event of an error. It attempts to insure
|
||||
* that no TX empty interrupts occur while it is doing polled IO. Then
|
||||
* it restores the state of that external interrupt.
|
||||
*
|
||||
* Input parameters:
|
||||
* string - pointer to debug output string
|
||||
*
|
||||
* Output parameters: NONE
|
||||
*
|
||||
* Return values: NONE
|
||||
*/
|
||||
|
||||
void DEBUG_puts(
|
||||
char *string
|
||||
)
|
||||
{
|
||||
char *s;
|
||||
|
||||
/* should disable interrupts here */
|
||||
for ( s = string ; *s ; s++ )
|
||||
console_outbyte_polled( 0, *s );
|
||||
|
||||
console_outbyte_polled( 0, '\r' );
|
||||
console_outbyte_polled( 0, '\n' );
|
||||
/* should enable interrupts here */
|
||||
}
|
||||
|
||||
/*
|
||||
* Console Termios Support Entry Points
|
||||
*
|
||||
*/
|
||||
|
||||
int console_write_support (int minor, const char *buf, int len)
|
||||
{
|
||||
int nwrite = 0;
|
||||
|
||||
while (nwrite < len) {
|
||||
console_outbyte_polled( minor, *buf++ );
|
||||
nwrite++;
|
||||
}
|
||||
return nwrite;
|
||||
}
|
||||
|
||||
/*
|
||||
* Console Device Driver Entry Points
|
||||
*
|
||||
*/
|
||||
|
||||
rtems_device_driver console_initialize(
|
||||
rtems_device_major_number major,
|
||||
rtems_device_minor_number minor,
|
||||
void *arg
|
||||
)
|
||||
{
|
||||
rtems_status_code status;
|
||||
rtems_device_minor_number console_minor;
|
||||
|
||||
rtems_termios_initialize();
|
||||
|
||||
/*
|
||||
* Register Device Names
|
||||
*/
|
||||
|
||||
#if (USE_CHANNEL_A == 1)
|
||||
console_minor = 0;
|
||||
#elif (USE_CHANNEL_B == 1)
|
||||
console_minor = 1;
|
||||
#else
|
||||
#error "DMV152 Console Driver -- no console port configured!!!"
|
||||
#endif
|
||||
|
||||
status = rtems_io_register_name( "/dev/console", major, console_minor );
|
||||
if (status != RTEMS_SUCCESSFUL)
|
||||
rtems_fatal_error_occurred(status);
|
||||
|
||||
status = rtems_io_register_name( "/dev/console_a", major, 0 );
|
||||
if (status != RTEMS_SUCCESSFUL)
|
||||
rtems_fatal_error_occurred(status);
|
||||
|
||||
status = rtems_io_register_name( "/dev/console_b", major, 1 );
|
||||
if (status != RTEMS_SUCCESSFUL)
|
||||
rtems_fatal_error_occurred(status);
|
||||
|
||||
/*
|
||||
* Initialize Hardware
|
||||
*/
|
||||
|
||||
return RTEMS_SUCCESSFUL;
|
||||
}
|
||||
|
||||
rtems_device_driver console_open(
|
||||
rtems_device_major_number major,
|
||||
rtems_device_minor_number minor,
|
||||
void * arg
|
||||
)
|
||||
{
|
||||
rtems_status_code sc;
|
||||
static const rtems_termios_callbacks pollCallbacks = {
|
||||
NULL, /* firstOpen */
|
||||
NULL, /* lastClose */
|
||||
console_inbyte_nonblocking, /* pollRead */
|
||||
console_write_support, /* write */
|
||||
NULL, /* setAttributes */
|
||||
NULL, /* stopRemoteTx */
|
||||
NULL, /* startRemoteTx */
|
||||
0 /* outputUsesInterrupts */
|
||||
};
|
||||
|
||||
assert( minor <= 1 );
|
||||
if ( minor > 2 )
|
||||
return RTEMS_INVALID_NUMBER;
|
||||
|
||||
sc = rtems_termios_open (major, minor, arg, &pollCallbacks );
|
||||
|
||||
return RTEMS_SUCCESSFUL;
|
||||
}
|
||||
|
||||
rtems_device_driver console_close(
|
||||
rtems_device_major_number major,
|
||||
rtems_device_minor_number minor,
|
||||
void * arg
|
||||
)
|
||||
{
|
||||
return rtems_termios_close (arg);
|
||||
}
|
||||
|
||||
rtems_device_driver console_read(
|
||||
rtems_device_major_number major,
|
||||
rtems_device_minor_number minor,
|
||||
void * arg
|
||||
)
|
||||
{
|
||||
return rtems_termios_read (arg);
|
||||
}
|
||||
|
||||
rtems_device_driver console_write(
|
||||
rtems_device_major_number major,
|
||||
rtems_device_minor_number minor,
|
||||
void * arg
|
||||
)
|
||||
{
|
||||
return rtems_termios_write (arg);
|
||||
}
|
||||
|
||||
rtems_device_driver console_control(
|
||||
rtems_device_major_number major,
|
||||
rtems_device_minor_number minor,
|
||||
void * arg
|
||||
)
|
||||
{
|
||||
return rtems_termios_ioctl (arg);
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
bspopts.h
|
||||
bspopts.h.in
|
||||
stamp-h
|
||||
stamp-h.in
|
||||
@@ -1,154 +0,0 @@
|
||||
/* bsp.h
|
||||
*
|
||||
* This include file contains all DMV152 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 _BSP_H
|
||||
#define _BSP_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <bspopts.h>
|
||||
|
||||
#include <rtems.h>
|
||||
#include <rtems/console.h>
|
||||
#include <rtems/clockdrv.h>
|
||||
#include <rtems/iosupp.h>
|
||||
#include <rtems/vmeintr.h>
|
||||
#include <rtems/zilog/z8530.h>
|
||||
#include <rtems/zilog/z8536.h>
|
||||
|
||||
/*
|
||||
* confdefs.h overrides for this BSP:
|
||||
* - number of termios serial ports (defaults to 1)
|
||||
* - Interrupt stack space is not minimum if defined.
|
||||
*/
|
||||
|
||||
/* #define CONFIGURE_NUMBER_OF_TERMIOS_PORTS 2 */
|
||||
#define CONFIGURE_INTERRUPT_STACK_MEMORY (4 * 1024)
|
||||
|
||||
/*
|
||||
* confdefs.h overrides for this BSP:
|
||||
* - 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) */
|
||||
|
||||
/*
|
||||
* 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 uint32_t _delay=(microseconds); \
|
||||
register uint32_t _tmp=123; \
|
||||
asm volatile( "0: \
|
||||
nbcd %0 ; \
|
||||
nbcd %0 ; \
|
||||
dbf %1,0b" \
|
||||
: "=d" (_tmp), "=d" (_delay) \
|
||||
: "0" (_tmp), "1" (_delay) ); \
|
||||
}
|
||||
|
||||
/* macros */
|
||||
|
||||
#undef Z8x36_STATE0
|
||||
#undef Z8x36_WRITE
|
||||
#undef Z8x36_READ
|
||||
|
||||
#define Z8x36_STATE0 ( z8536 ) \
|
||||
{ char *garbage; \
|
||||
(garbage) = *(VOL8(z8536+0x7)) \
|
||||
}
|
||||
|
||||
#define Z8x36_WRITE( z8536, reg, data ) \
|
||||
*(VOL8(z8536+0x7)) = (reg); \
|
||||
*(VOL8(z8536+0x7)) = (data)
|
||||
|
||||
#define Z8x36_READ( z8536, reg, data ) \
|
||||
*(VOL8(z8536+0x7)) = (reg); \
|
||||
(data) = *(VOL8(z8536+0x7))
|
||||
|
||||
/*
|
||||
* ACC Register Addresses
|
||||
*/
|
||||
|
||||
#define ACC_BASE 0x0D000000
|
||||
|
||||
#define ACC_STAT0 ((volatile uint8_t*) (ACC_BASE + 0x00))
|
||||
#define ACC_STAT1 ((volatile uint8_t*) (ACC_BASE + 0x01))
|
||||
#define ACC_GENCTL ((volatile uint8_t*) (ACC_BASE + 0x02))
|
||||
#define ACC_VINT ((volatile uint8_t*) (ACC_BASE + 0x03))
|
||||
#define ACC_VREQ ((volatile uint8_t*) (ACC_BASE + 0x04))
|
||||
#define ACC_VARB ((volatile uint8_t*) (ACC_BASE + 0x05))
|
||||
#define ACC_ID ((volatile uint8_t*) (ACC_BASE + 0x06))
|
||||
#define ACC_CTL2 ((volatile uint8_t*) (ACC_BASE + 0x07))
|
||||
#define ACC_7IS ((volatile uint8_t*) (ACC_BASE + 0x08))
|
||||
#define ACC_LIS ((volatile uint8_t*) (ACC_BASE + 0x09))
|
||||
#define ACC_7IE ((volatile uint8_t*) (ACC_BASE + 0x0A))
|
||||
#define ACC_LIE ((volatile uint8_t*) (ACC_BASE + 0x0B))
|
||||
#define ACC_VIE ((volatile uint8_t*) (ACC_BASE + 0x0C))
|
||||
#define ACC_IC10 ((volatile uint8_t*) (ACC_BASE + 0x0D))
|
||||
#define ACC_IC32 ((volatile uint8_t*) (ACC_BASE + 0x0E))
|
||||
#define ACC_IC54 ((volatile uint8_t*) (ACC_BASE + 0x0F))
|
||||
|
||||
/* constants */
|
||||
|
||||
#define TIMER 0x0c000000
|
||||
#define TIMER_VECTOR 0x4D
|
||||
|
||||
#define CONSOLE_CONTROL_A 0x0C800005
|
||||
#define CONSOLE_DATA_A 0x0C800007
|
||||
#define CONSOLE_CONTROL_B 0x0C800001
|
||||
#define CONSOLE_DATA_B 0x0C800003
|
||||
|
||||
/* Structures */
|
||||
|
||||
/* none */
|
||||
|
||||
/* miscellaneous stuff assumed to exist */
|
||||
|
||||
extern rtems_configuration_table BSP_Configuration;
|
||||
|
||||
extern m68k_isr_entry M68Kvec[]; /* vector table address */
|
||||
|
||||
/*
|
||||
* 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
|
||||
);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -1,102 +0,0 @@
|
||||
/* coverhd.h
|
||||
*
|
||||
* This include file has defines to represent the overhead associated
|
||||
* with calling a particular directive from C on this target.
|
||||
*
|
||||
* 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 __COVERHD_h
|
||||
#define __COVERHD_h
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define CALLING_OVERHEAD_INITIALIZE_EXECUTIVE 2
|
||||
#define CALLING_OVERHEAD_SHUTDOWN_EXECUTIVE 1
|
||||
#define CALLING_OVERHEAD_TASK_CREATE 3
|
||||
#define CALLING_OVERHEAD_TASK_IDENT 2
|
||||
#define CALLING_OVERHEAD_TASK_START 2
|
||||
#define CALLING_OVERHEAD_TASK_RESTART 2
|
||||
#define CALLING_OVERHEAD_TASK_DELETE 1
|
||||
#define CALLING_OVERHEAD_TASK_SUSPEND 1
|
||||
#define CALLING_OVERHEAD_TASK_RESUME 2
|
||||
#define CALLING_OVERHEAD_TASK_SET_PRIORITY 2
|
||||
#define CALLING_OVERHEAD_TASK_MODE 2
|
||||
#define CALLING_OVERHEAD_TASK_GET_NOTE 2
|
||||
#define CALLING_OVERHEAD_TASK_SET_NOTE 2
|
||||
#define CALLING_OVERHEAD_TASK_WAKE_WHEN 4
|
||||
#define CALLING_OVERHEAD_TASK_WAKE_AFTER 1
|
||||
#define CALLING_OVERHEAD_INTERRUPT_CATCH 2
|
||||
#define CALLING_OVERHEAD_CLOCK_GET 4
|
||||
#define CALLING_OVERHEAD_CLOCK_SET 4
|
||||
#define CALLING_OVERHEAD_CLOCK_TICK 1
|
||||
|
||||
#define CALLING_OVERHEAD_TIMER_CREATE 2
|
||||
#define CALLING_OVERHEAD_TIMER_IDENT 1
|
||||
#define CALLING_OVERHEAD_TIMER_DELETE 2
|
||||
#define CALLING_OVERHEAD_TIMER_FIRE_AFTER 2
|
||||
#define CALLING_OVERHEAD_TIMER_FIRE_WHEN 5
|
||||
#define CALLING_OVERHEAD_TIMER_RESET 1
|
||||
#define CALLING_OVERHEAD_TIMER_CANCEL 1
|
||||
#define CALLING_OVERHEAD_SEMAPHORE_CREATE 2
|
||||
#define CALLING_OVERHEAD_SEMAPHORE_IDENT 1
|
||||
#define CALLING_OVERHEAD_SEMAPHORE_DELETE 2
|
||||
#define CALLING_OVERHEAD_SEMAPHORE_OBTAIN 2
|
||||
#define CALLING_OVERHEAD_SEMAPHORE_RELEASE 1
|
||||
#define CALLING_OVERHEAD_MESSAGE_QUEUE_CREATE 2
|
||||
#define CALLING_OVERHEAD_MESSAGE_QUEUE_IDENT 2
|
||||
#define CALLING_OVERHEAD_MESSAGE_QUEUE_DELETE 1
|
||||
#define CALLING_OVERHEAD_MESSAGE_QUEUE_SEND 2
|
||||
#define CALLING_OVERHEAD_MESSAGE_QUEUE_URGENT 2
|
||||
#define CALLING_OVERHEAD_MESSAGE_QUEUE_BROADCAST 2
|
||||
#define CALLING_OVERHEAD_MESSAGE_QUEUE_RECEIVE 2
|
||||
#define CALLING_OVERHEAD_MESSAGE_QUEUE_FLUSH 2
|
||||
|
||||
#define CALLING_OVERHEAD_EVENT_SEND 2
|
||||
#define CALLING_OVERHEAD_EVENT_RECEIVE 2
|
||||
#define CALLING_OVERHEAD_SIGNAL_CATCH 2
|
||||
#define CALLING_OVERHEAD_SIGNAL_SEND 2
|
||||
#define CALLING_OVERHEAD_PARTITION_CREATE 3
|
||||
#define CALLING_OVERHEAD_PARTITION_IDENT 2
|
||||
#define CALLING_OVERHEAD_PARTITION_DELETE 2
|
||||
#define CALLING_OVERHEAD_PARTITION_GET_BUFFER 2
|
||||
#define CALLING_OVERHEAD_PARTITION_RETURN_BUFFER 2
|
||||
#define CALLING_OVERHEAD_REGION_CREATE 3
|
||||
#define CALLING_OVERHEAD_REGION_IDENT 2
|
||||
#define CALLING_OVERHEAD_REGION_DELETE 1
|
||||
#define CALLING_OVERHEAD_REGION_GET_SEGMENT 3
|
||||
#define CALLING_OVERHEAD_REGION_RETURN_SEGMENT 2
|
||||
#define CALLING_OVERHEAD_PORT_CREATE 3
|
||||
#define CALLING_OVERHEAD_PORT_IDENT 2
|
||||
#define CALLING_OVERHEAD_PORT_DELETE 2
|
||||
#define CALLING_OVERHEAD_PORT_EXTERNAL_TO_INTERNAL 2
|
||||
#define CALLING_OVERHEAD_PORT_INTERNAL_TO_EXTERNAL 2
|
||||
|
||||
#define CALLING_OVERHEAD_IO_INITIALIZE 3
|
||||
#define CALLING_OVERHEAD_IO_OPEN 2
|
||||
#define CALLING_OVERHEAD_IO_CLOSE 2
|
||||
#define CALLING_OVERHEAD_IO_READ 2
|
||||
#define CALLING_OVERHEAD_IO_WRITE 2
|
||||
#define CALLING_OVERHEAD_IO_CONTROL 2
|
||||
#define CALLING_OVERHEAD_FATAL_ERROR_OCCURRED 1
|
||||
#define CALLING_OVERHEAD_RATE_MONOTONIC_CREATE 2
|
||||
#define CALLING_OVERHEAD_RATE_MONOTONIC_IDENT 2
|
||||
#define CALLING_OVERHEAD_RATE_MONOTONIC_DELETE 1
|
||||
#define CALLING_OVERHEAD_RATE_MONOTONIC_CANCEL 1
|
||||
#define CALLING_OVERHEAD_RATE_MONOTONIC_PERIOD 2
|
||||
#define CALLING_OVERHEAD_MULTIPROCESSING_ANNOUNCE 1
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -1,40 +0,0 @@
|
||||
/*
|
||||
* tm27.h
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_TMTEST27
|
||||
#error "This is an RTEMS internal file you must not include directly."
|
||||
#endif
|
||||
|
||||
#ifndef __tm27_h
|
||||
#define __tm27_h
|
||||
|
||||
/*
|
||||
* Define the interrupt mechanism for Time Test 27
|
||||
*/
|
||||
|
||||
/* use a VMEbus interrupt */
|
||||
|
||||
#define MUST_WAIT_FOR_INTERRUPT 1
|
||||
|
||||
#define Install_tm27_vector( handler ) \
|
||||
{ \
|
||||
set_vector( (handler), 0x50, 1 ); \
|
||||
(*(volatile uint32_t*)0x0d800024) = 0x50; /* set IVECT reg */ \
|
||||
(*(volatile uint8_t*)0x0d00000c) = 0x40; /* set VIE reg */ \
|
||||
}
|
||||
|
||||
#define Cause_tm27_intr() \
|
||||
(*(volatile uint8_t*)0x0d000003) = 0x0f /* set VINT */
|
||||
|
||||
#define Clear_tm27_intr() /* no operation necessary */
|
||||
|
||||
#define Lower_tm27_intr() /* empty */
|
||||
|
||||
#endif
|
||||
@@ -1,58 +0,0 @@
|
||||
## Automatically generated by ampolish3 - Do not edit
|
||||
|
||||
if AMPOLISH3
|
||||
$(srcdir)/preinstall.am: Makefile.am
|
||||
$(AMPOLISH3) $(srcdir)/Makefile.am > $(srcdir)/preinstall.am
|
||||
endif
|
||||
|
||||
PREINSTALL_DIRS =
|
||||
DISTCLEANFILES += $(PREINSTALL_DIRS)
|
||||
|
||||
all-local: $(TMPINSTALL_FILES)
|
||||
|
||||
TMPINSTALL_FILES =
|
||||
CLEANFILES = $(TMPINSTALL_FILES)
|
||||
|
||||
all-am: $(PREINSTALL_FILES)
|
||||
|
||||
PREINSTALL_FILES =
|
||||
CLEANFILES += $(PREINSTALL_FILES)
|
||||
|
||||
$(PROJECT_LIB)/$(dirstamp):
|
||||
@$(MKDIR_P) $(PROJECT_LIB)
|
||||
@: > $(PROJECT_LIB)/$(dirstamp)
|
||||
PREINSTALL_DIRS += $(PROJECT_LIB)/$(dirstamp)
|
||||
|
||||
$(PROJECT_INCLUDE)/$(dirstamp):
|
||||
@$(MKDIR_P) $(PROJECT_INCLUDE)
|
||||
@: > $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
|
||||
$(PROJECT_LIB)/bsp_specs: bsp_specs $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/bsp_specs
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/bsp_specs
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp.h: include/bsp.h $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp.h
|
||||
|
||||
$(PROJECT_INCLUDE)/tm27.h: include/tm27.h $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tm27.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/tm27.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bspopts.h: include/bspopts.h $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bspopts.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bspopts.h
|
||||
|
||||
$(PROJECT_INCLUDE)/coverhd.h: include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/coverhd.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h
|
||||
|
||||
$(PROJECT_LIB)/start.$(OBJEXT): start.$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/start.$(OBJEXT)
|
||||
TMPINSTALL_FILES += $(PROJECT_LIB)/start.$(OBJEXT)
|
||||
|
||||
$(PROJECT_LIB)/linkcmds: startup/linkcmds $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
/* Spurious_driver
|
||||
*
|
||||
* This routine installs spurious interrupt handlers for the DMV152.
|
||||
*
|
||||
* 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 <rtems.h>
|
||||
#include <bsp.h>
|
||||
#include <stdio.h>
|
||||
|
||||
rtems_isr Spurious_Isr(
|
||||
rtems_vector_number vector
|
||||
)
|
||||
{
|
||||
void *sp = 0;
|
||||
|
||||
asm volatile ( "movea.l %%sp,%0 " : "=a" (sp) : "0" (sp) );
|
||||
|
||||
fprintf( stderr, "Vector 0x%x sp=0x%p\n", vector, sp );
|
||||
}
|
||||
|
||||
rtems_device_driver Spurious_Initialize(
|
||||
rtems_device_major_number major,
|
||||
rtems_device_minor_number minor,
|
||||
void *pargp,
|
||||
rtems_id tid,
|
||||
uint32_t *rval
|
||||
)
|
||||
{
|
||||
rtems_vector_number vector;
|
||||
|
||||
for ( vector = 0x40 ; vector <= 0xFF ; vector++ )
|
||||
(void) set_vector( Spurious_Isr, vector, 1 );
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
/*
|
||||
* This routine performs final cleanup at exit time.
|
||||
*
|
||||
* 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 <bsp.h>
|
||||
|
||||
void bsp_cleanup( void )
|
||||
{
|
||||
|
||||
VME_interrupt_Disable( 0xff );
|
||||
}
|
||||
@@ -1,102 +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 <string.h>
|
||||
|
||||
#include <bsp.h>
|
||||
#include <rtems/libio.h>
|
||||
#include <rtems/libcsupport.h>
|
||||
|
||||
/*
|
||||
* 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 *, uint32_t, int );
|
||||
void bsp_pretasking_hook(void); /* m68k version */
|
||||
|
||||
/*
|
||||
* bsp_start
|
||||
*
|
||||
* This routine does the bulk of the system initialization.
|
||||
*/
|
||||
|
||||
void bsp_start( void )
|
||||
{
|
||||
m68k_isr_entry *monitors_vector_table;
|
||||
int index;
|
||||
void *vbr;
|
||||
extern void *_WorkspaceBase;
|
||||
extern void *_RamSize;
|
||||
extern unsigned long _M68k_Ramsize;
|
||||
|
||||
_M68k_Ramsize = (unsigned long)&_RamSize; /* RAM size set in linker script */
|
||||
|
||||
monitors_vector_table = (m68k_isr_entry *)0; /* Monitor Vectors are at 0 */
|
||||
m68k_set_vbr( monitors_vector_table );
|
||||
|
||||
for ( index=2 ; index<=255 ; index++ )
|
||||
M68Kvec[ index ] = monitors_vector_table[ 32 ];
|
||||
|
||||
M68Kvec[ 2 ] = monitors_vector_table[ 2 ]; /* bus error vector */
|
||||
M68Kvec[ 4 ] = monitors_vector_table[ 4 ]; /* breakpoints vector */
|
||||
M68Kvec[ 9 ] = monitors_vector_table[ 9 ]; /* trace vector */
|
||||
|
||||
/*
|
||||
* Uncommenting this seems to confuse/break the monitor on this board.
|
||||
* It probably assumes the vector table is at 0.
|
||||
*/
|
||||
|
||||
/* m68k_set_vbr( &M68Kvec ); */
|
||||
|
||||
/*
|
||||
* Adjust the VMEbus mode to round-robin.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This is only apparent with the shared memory driver which has not
|
||||
* yet been supported on this target.
|
||||
*/
|
||||
|
||||
rtems_cache_enable_instruction();
|
||||
|
||||
/*
|
||||
* we only use a hook to get the C library initialized.
|
||||
*/
|
||||
|
||||
Cpu_table.pretasking_hook = bsp_pretasking_hook; /* init libc, etc. */
|
||||
Cpu_table.postdriver_hook = bsp_postdriver_hook;
|
||||
Cpu_table.interrupt_stack_size = CONFIGURE_INTERRUPT_STACK_MEMORY;
|
||||
|
||||
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 */
|
||||
}
|
||||
@@ -1,181 +0,0 @@
|
||||
/*
|
||||
* This file contains directives for the GNU linker which are specific
|
||||
* to the DY-4 DMV152/SVME153 boards.
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* 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$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Declare some sizes.
|
||||
*/
|
||||
_RamBase = DEFINED(_RamBase) ? _RamBase : 0x0;
|
||||
_RamSize = DEFINED(_RamSize) ? _RamSize : 1M;
|
||||
_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x10000;
|
||||
_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
|
||||
|
||||
MEMORY
|
||||
{
|
||||
ram : org = 0x0, l = 1M
|
||||
}
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
ram : {
|
||||
. = 0x12800;
|
||||
} >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 : {
|
||||
copy_start = .;
|
||||
*(.data*)
|
||||
*(.gnu.linkonce.d*)
|
||||
*(.gcc_except_table)
|
||||
*(.jcr)
|
||||
. = ALIGN (16);
|
||||
PROVIDE (_edata = .);
|
||||
copy_end = .;
|
||||
} >ram
|
||||
.bss : {
|
||||
_clear_start = .;
|
||||
*(.dynbss)
|
||||
*(.bss* .gnu.linkonce.b.*)
|
||||
*(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 . */
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
/* vmeintr.c
|
||||
*
|
||||
* VMEbus support routines for the DMV152.
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include <rtems.h>
|
||||
#include <bsp.h>
|
||||
#include <rtems/vmeintr.h>
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
* VME_interrupt_Disable
|
||||
*
|
||||
*/
|
||||
|
||||
void VME_interrupt_Disable (
|
||||
VME_interrupt_Mask mask /* IN */
|
||||
)
|
||||
{
|
||||
volatile uint8_t *VME_interrupt_enable;
|
||||
uint8_t value;
|
||||
|
||||
VME_interrupt_enable = ACC_VIE;
|
||||
value = *VME_interrupt_enable;
|
||||
|
||||
value &= ~mask; /* turn off interrupts for all levels in mask */
|
||||
|
||||
*VME_interrupt_enable = value;
|
||||
}
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
* VME_interrupt_Enable
|
||||
*
|
||||
*/
|
||||
|
||||
void VME_interrupt_Enable (
|
||||
VME_interrupt_Mask mask /* IN */
|
||||
)
|
||||
{
|
||||
volatile uint8_t *VME_interrupt_enable;
|
||||
uint8_t value;
|
||||
|
||||
VME_interrupt_enable = ACC_VIE;
|
||||
value = *VME_interrupt_enable;
|
||||
|
||||
value |= mask; /* turn on interrupts for all levels in mask */
|
||||
|
||||
*VME_interrupt_enable = value;
|
||||
}
|
||||
@@ -1,103 +0,0 @@
|
||||
/* timer.c
|
||||
*
|
||||
* NOTE: These routines will not work if the optimizer is enabled
|
||||
* for some compilers. The multiple writes to the Z8036
|
||||
* may be optimized away.
|
||||
*
|
||||
* It is important that the timer start/stop overhead be
|
||||
* determined when porting or modifying this code.
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include <rtems.h>
|
||||
#include <bsp.h>
|
||||
|
||||
int Ttimer_val;
|
||||
rtems_boolean Timer_driver_Find_average_overhead;
|
||||
|
||||
rtems_isr timerisr();
|
||||
|
||||
void Timer_initialize()
|
||||
{
|
||||
uint8_t data;
|
||||
|
||||
(void) set_vector( timerisr, TIMER_VECTOR, 0 ); /* install ISR */
|
||||
|
||||
Ttimer_val = 0; /* clear timer ISR count */
|
||||
Z8x36_READ ( TIMER, MASTER_INTR, data );
|
||||
Z8x36_WRITE( TIMER, MASTER_INTR, (data & 0x01) );
|
||||
|
||||
Z8x36_WRITE( TIMER, MASTER_CFG, 0xd4 );
|
||||
Z8x36_READ ( TIMER, MASTER_INTR, data );
|
||||
Z8x36_WRITE( TIMER, MASTER_INTR, (data & 0x7E) );
|
||||
Z8x36_WRITE( TIMER, CT1_TIME_CONST_MSB, 0x00 );
|
||||
Z8x36_WRITE( TIMER, CT1_TIME_CONST_LSB, 0x00 );
|
||||
Z8x36_WRITE( TIMER, CT1_MODE_SPEC, 0x87 );
|
||||
Z8x36_WRITE( TIMER, CNT_TMR_VECTOR, TIMER_VECTOR );
|
||||
Z8x36_WRITE( TIMER, CT1_CMD_STATUS, 0x20 );
|
||||
Z8x36_WRITE( TIMER, CT1_CMD_STATUS, 0x26 );
|
||||
Z8x36_READ ( TIMER, MASTER_INTR, data );
|
||||
Z8x36_WRITE( TIMER, MASTER_INTR, (data & 0xDA) | 0x80 );
|
||||
|
||||
Z8x36_WRITE( TIMER, CT1_CMD_STATUS, 0xC6 );
|
||||
|
||||
/*
|
||||
* ACC_IC54 - interrupt 5 will be vectored and mapped to level 6
|
||||
*/
|
||||
|
||||
data = (*(uint8_t*)0x0D00000B);
|
||||
(*(uint8_t*)0x0D00000B) = (data & 0x0F) | 0x60;
|
||||
|
||||
}
|
||||
|
||||
#define AVG_OVERHEAD 9 /* It typically takes 3.65 microseconds */
|
||||
/* (9 countdowns) to start/stop the timer. */
|
||||
#define LEAST_VALID 10 /* Don't trust a value lower than this */
|
||||
|
||||
int Read_timer()
|
||||
{
|
||||
uint8_t data;
|
||||
uint8_t msb, lsb;
|
||||
uint32_t remaining, total;
|
||||
|
||||
Z8x36_WRITE( TIMER, CT1_CMD_STATUS, 0xce ); /* read the counter value */
|
||||
Z8x36_READ( TIMER, CT1_CUR_CNT_MSB, msb );
|
||||
Z8x36_READ( TIMER, CT1_CUR_CNT_LSB, lsb );
|
||||
|
||||
remaining = 0x10000 - ((msb << 8) + lsb);
|
||||
total = (Ttimer_val * 0x10000) + remaining;
|
||||
|
||||
Z8x36_READ ( TIMER, MASTER_INTR, data );
|
||||
Z8x36_WRITE( TIMER, MASTER_INTR, (data & 0x01) );
|
||||
|
||||
/* do not restore old vector */
|
||||
if ( Timer_driver_Find_average_overhead == 1 )
|
||||
return total; /* in countdown units */
|
||||
|
||||
if ( total < LEAST_VALID )
|
||||
return 0; /* below timer resolution */
|
||||
|
||||
/* Clocked at 2.4615 Mhz */
|
||||
|
||||
return (int)(((float)(total-AVG_OVERHEAD)) / 2.4615 * 2.0);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
/* timer_isr()
|
||||
*
|
||||
* This routine provides the ISR for the Z8536 timer on the DMV152
|
||||
* board. The timer is set up to generate an interrupt at maximum
|
||||
* intervals.
|
||||
*
|
||||
* 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 <rtems/asm.h>
|
||||
|
||||
BEGIN_CODE
|
||||
|
||||
.set TIMER, 0x0c000007 | port A
|
||||
.set CT1_CMD_STATUS, 0x0a | command status register
|
||||
.set RELOAD, 0x26 | clr IP & IUS,allow countdown
|
||||
|
||||
PUBLIC(timerisr)
|
||||
SYM (timerisr):
|
||||
movb #CT1_CMD_STATUS,TIMER | set pointer to cmd status reg
|
||||
movb #RELOAD,TIMER | reload countdown
|
||||
addql #1, SYM (Ttimer_val) | increment timer value
|
||||
rte
|
||||
|
||||
END_CODE
|
||||
END
|
||||
@@ -1,195 +0,0 @@
|
||||
#
|
||||
# Timing Test Suite Results for the DY-4 DMV152 BSP
|
||||
#
|
||||
# NOTE: These times also also applicable to similar configurations of
|
||||
# the DY-4 SVME153 which is the commercial grade version of the
|
||||
# same board.
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
Board: DY-4 DMV152 / DY-4 SVME153
|
||||
CPU: Motorola MC68020
|
||||
Clock Speed: 20 Mhz
|
||||
Memory Configuration: SRAM
|
||||
Wait States: 0
|
||||
|
||||
Times Reported in: microseconds
|
||||
Timer Source: Zilog Z8036 Count Down Timer
|
||||
|
||||
Column A: 3.5.1 pre-release
|
||||
Column B: unused
|
||||
|
||||
# DESCRIPTION A B
|
||||
== ================================================================= ==== ====
|
||||
1 rtems_semaphore_create 67
|
||||
rtems_semaphore_delete 63
|
||||
rtems_semaphore_obtain: available 45
|
||||
rtems_semaphore_obtain: not available -- NO_WAIT 44
|
||||
rtems_semaphore_release: no waiting tasks 49
|
||||
|
||||
2 rtems_semaphore_obtain: not available -- caller blocks 114
|
||||
|
||||
3 rtems_semaphore_release: task readied -- preempts caller 92
|
||||
|
||||
4 rtems_task_restart: blocked task -- preempts caller 153
|
||||
rtems_task_restart: ready task -- preempts caller 145
|
||||
rtems_semaphore_release: task readied -- returns to caller 71
|
||||
rtems_task_create 154
|
||||
rtems_task_start 83
|
||||
rtems_task_restart: suspended task -- returns to caller 95
|
||||
rtems_task_delete: suspended task 144
|
||||
rtems_task_restart: ready task -- returns to caller 98
|
||||
rtems_task_restart: blocked task -- returns to caller 128
|
||||
rtems_task_delete: blocked task 149
|
||||
|
||||
5 rtems_task_suspend: calling task 76
|
||||
rtems_task_resume: task readied -- preempts caller 72
|
||||
|
||||
6 rtems_task_restart: calling task 100
|
||||
rtems_task_suspend: returns to caller 49
|
||||
rtems_task_resume: task readied -- returns to caller 50
|
||||
rtems_task_delete: ready task 150
|
||||
|
||||
7 rtems_task_restart: suspended task -- preempts caller 100
|
||||
|
||||
8 rtems_task_set_priority: obtain current priority 37
|
||||
rtems_task_set_priority: returns to caller 69
|
||||
rtems_task_mode: obtain current mode 16
|
||||
rtems_task_mode: no reschedule 18
|
||||
rtems_task_mode: reschedule -- returns to caller 24
|
||||
rtems_task_mode: reschedule -- preempts caller 66
|
||||
rtems_task_set_note 39
|
||||
rtems_task_get_note 39
|
||||
rtems_clock_set 90
|
||||
rtems_clock_get 3
|
||||
|
||||
9 rtems_message_queue_create 206
|
||||
rtems_message_queue_send: no waiting tasks 103
|
||||
rtems_message_queue_urgent: no waiting tasks 102
|
||||
rtems_message_queue_receive: available 87
|
||||
rtems_message_queue_flush: no messages flushed 37
|
||||
rtems_message_queue_flush: messages flushed 46
|
||||
rtems_message_queue_delete 85
|
||||
|
||||
10 rtems_message_queue_receive: not available -- NO_WAIT 52
|
||||
rtems_message_queue_receive: not available -- caller blocks 119
|
||||
|
||||
11 rtems_message_queue_send: task readied -- preempts caller 128
|
||||
|
||||
12 rtems_message_queue_send: task readied -- returns to caller 106
|
||||
|
||||
13 rtems_message_queue_urgent: task readied -- preempts caller 128
|
||||
|
||||
14 rtems_message_queue_urgent: task readied -- returns to caller 106
|
||||
|
||||
15 rtems_event_receive: obtain current events 0
|
||||
rtems_event_receive: not available -- NO_WAIT 32
|
||||
rtems_event_receive: not available -- caller blocks 91
|
||||
rtems_event_send: no task readied 34
|
||||
rtems_event_receive: available 37
|
||||
rtems_event_send: task readied -- returns to caller 66
|
||||
|
||||
16 rtems_event_send: task readied -- preempts caller 89
|
||||
|
||||
17 rtems_task_set_priority: preempts caller 109
|
||||
|
||||
18 rtems_task_delete: calling task 175
|
||||
|
||||
19 rtems_signal_catch 24
|
||||
rtems_signal_send: returns to caller 43
|
||||
rtems_signal_send: signal to self 50
|
||||
exit ASR overhead: returns to calling task 37
|
||||
exit ASR overhead: returns to preempting task 64
|
||||
|
||||
20 rtems_partition_create 79
|
||||
rtems_region_create 72
|
||||
rtems_partition_get_buffer: available 43
|
||||
rtems_partition_get_buffer: not available 41
|
||||
rtems_partition_return_buffer 51
|
||||
rtems_partition_delete 47
|
||||
rtems_region_get_segment: available 59
|
||||
rtems_region_get_segment: not available -- NO_WAIT 55
|
||||
rtems_region_return_segment: no waiting tasks 63
|
||||
rtems_region_get_segment: not available -- caller blocks 127
|
||||
rtems_region_return_segment: task readied -- preempts caller 143
|
||||
rtems_region_return_segment: task readied -- returns to caller 121
|
||||
rtems_region_delete 47
|
||||
rtems_io_initialize 6
|
||||
rtems_io_open 3
|
||||
rtems_io_close 2
|
||||
rtems_io_read 2
|
||||
rtems_io_write 2
|
||||
rtems_io_control 2
|
||||
|
||||
21 rtems_task_ident 352
|
||||
rtems_message_queue_ident 343
|
||||
rtems_semaphore_ident 369
|
||||
rtems_partition_ident 342
|
||||
rtems_region_ident 349
|
||||
rtems_port_ident 342
|
||||
rtems_timer_ident 344
|
||||
rtems_rate_monotonic_ident 343
|
||||
|
||||
22 rtems_message_queue_broadcast: task readied -- returns to caller 114
|
||||
rtems_message_queue_broadcast: no waiting tasks 58
|
||||
rtems_message_queue_broadcast: task readied -- preempts caller 136
|
||||
|
||||
23 rtems_timer_create 36
|
||||
rtems_timer_fire_after: inactive 64
|
||||
rtems_timer_fire_after: active 68
|
||||
rtems_timer_cancel: active 41
|
||||
rtems_timer_cancel: inactive 38
|
||||
rtems_timer_reset: inactive 59
|
||||
rtems_timer_reset: active 63
|
||||
rtems_timer_fire_when: inactive 93
|
||||
rtems_timer_fire_when: active 93
|
||||
rtems_timer_delete: active 54
|
||||
rtems_timer_delete: inactive 50
|
||||
rtems_task_wake_when 120
|
||||
|
||||
24 rtems_task_wake_after: yield -- returns to caller 25
|
||||
rtems_task_wake_after: yields -- preempts caller 63
|
||||
|
||||
25 rtems_clock_tick 13
|
||||
|
||||
26 _ISR_Disable 1
|
||||
_ISR_Flash 1
|
||||
_ISR_Enable 0
|
||||
_Thread_Disable_dispatch 1
|
||||
_Thread_Enable_dispatch 20
|
||||
_Thread_Set_state 24
|
||||
_Thread_Disptach (NO FP) 52
|
||||
context switch: no floating point contexts 43
|
||||
context switch: self 9
|
||||
context switch: to another task 9
|
||||
context switch: restore 1st FP task 47
|
||||
fp context switch: save idle, restore idle 73
|
||||
fp context switch: save idle, restore initialized 60
|
||||
fp context switch: save initialized, restore initialized 58
|
||||
_Thread_Resume 17
|
||||
_Thread_Unblock 17
|
||||
_Thread_Ready 22
|
||||
_Thread_Get 11
|
||||
_Semaphore_Get 10
|
||||
_Thread_Get: invalid id 2
|
||||
|
||||
27 interrupt entry overhead: returns to interrupted task 10
|
||||
interrupt exit overhead: returns to interrupted task 9
|
||||
interrupt entry overhead: returns to nested interrupt 9
|
||||
interrupt exit overhead: returns to nested interrupt 6
|
||||
interrupt entry overhead: returns to preempting task 10
|
||||
interrupt exit overhead: returns to preempting task 62
|
||||
|
||||
28 rtems_port_create 44
|
||||
rtems_port_external_to_internal 34
|
||||
rtems_port_internal_to_external 34
|
||||
rtems_port_delete 45
|
||||
|
||||
29 rtems_rate_monotonic_create 41
|
||||
rtems_rate_monotonic_period: initiate period -- returns to caller 61
|
||||
rtems_rate_monotonic_period: obtain status 39
|
||||
rtems_rate_monotonic_cancel 46
|
||||
rtems_rate_monotonic_delete: inactive 55
|
||||
rtems_rate_monotonic_delete: active 58
|
||||
rtems_rate_monotonic_period: conclude periods -- caller blocks 82
|
||||
Reference in New Issue
Block a user