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:
Joel Sherrill
2007-05-11 14:01:27 +00:00
parent f39ff53250
commit 9744fc97ba
22 changed files with 12 additions and 2047 deletions

View File

@@ -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

View File

@@ -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 )

View File

@@ -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

View File

@@ -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.

View 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

View File

@@ -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}

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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);
}

View File

@@ -1,4 +0,0 @@
bspopts.h
bspopts.h.in
stamp-h
stamp-h.in

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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 );
}

View File

@@ -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 */
}

View File

@@ -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 . */
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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