Remove (Abandoned).

This commit is contained in:
Ralf Corsepius
2009-10-14 12:17:42 +00:00
parent dcb98ff335
commit 87a04019fb
42 changed files with 0 additions and 2569 deletions

View File

@@ -1,8 +0,0 @@
aclocal.m4
autom4te*.cache
config.cache
config.log
config.status
configure
Makefile
Makefile.in

View File

@@ -1,106 +0,0 @@
2007-04-17 Joel Sherrill <joel@OARcorp.com>
* posix/tools/runtest.in: Do not run pppd.exe from batch mode script.
2006-12-02 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac: New BUG-REPORT address.
2006-10-17 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac: Require autoconf-2.60. Require automake-1.10.
2004-09-24 Ralf Corsepius <ralf_corsepius@rtems.org>
* configure.ac: Require automake > 1.9.
2004-02-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* acinclude.m4: Regenerate.
2004-02-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: RTEMS_CHECK_BSPDIR([$RTEMS_BSP_FAMILY]).
2004-01-13 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Use @RTEMS_BSP_FAMILY@ instead of
$(RTEMS_BSP_FAMILY).
2003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Require automake >= 1.8, autoconf >= 2.59.
2003-10-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* acinclude.m4: Reflect changes to bootstrap.
* configure.ac: Remove RTEMS_CHECK_CUSTON_BSP.
2003-08-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Reflect having moved aclocal/.
2003-08-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Reflect having moved automake/.
2003-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Use rtems-bugs@rtems.com as bug report email address.
2003-03-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Remove AC_CONFIG_AUX_DIR.
2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: AM_INIT_AUTOMAKE([1.7.2]).
2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: AC_PREREQ(2.57).
2002-12-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Remove RTEMS_CHECK_BSP_CACHE.
2002-10-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* .cvsignore: Reformat.
Add autom4te*cache.
Remove autom4te.cache.
2002-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]).
* Makefile.am: Remove AUTOMAKE_OPTIONS.
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-10-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* acinclude.m4: New file.
* configure.in: Use RTEMS_BSP_SUBDIR.
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-10-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.in, Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros.
Switch to GNU canonicalization.
2000-08-10 Joel Sherrill <joel@OARcorp.com>
* ChangeLog: New file.

View File

@@ -1,11 +0,0 @@
##
## $Id$
##
ACLOCAL_AMFLAGS = -I ../../../aclocal
# Descend into the @RTEMS_BSP_FAMILY@ directory
SUBDIRS = @RTEMS_BSP_FAMILY@
include $(top_srcdir)/../../../automake/subdirs.am
include $(top_srcdir)/../../../automake/local.am

View File

@@ -1,10 +0,0 @@
# RTEMS_CHECK_BSPDIR(RTEMS_BSP_FAMILY)
AC_DEFUN([RTEMS_CHECK_BSPDIR],
[
case "$1" in
posix )
AC_CONFIG_SUBDIRS([posix]);;
*)
AC_MSG_ERROR([Invalid BSP]);;
esac
])

View File

@@ -1,21 +0,0 @@
## Process this file with autoconf to produce a configure script.
##
## $Id$
AC_PREREQ(2.60)
AC_INIT([rtems-c-src-lib-libbsp-unix],[_RTEMS_VERSION],[http://www.rtems.org/bugzilla])
AC_CONFIG_SRCDIR([posix])
RTEMS_TOP(../../../../..)
RTEMS_CANONICAL_TARGET_CPU
AM_INIT_AUTOMAKE([no-define foreign 1.10])
AM_MAINTAINER_MODE
RTEMS_ENV_RTEMSBSP
RTEMS_PROJECT_ROOT
RTEMS_CHECK_BSPDIR([$RTEMS_BSP_FAMILY])
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile])
AC_OUTPUT

View File

@@ -1,8 +0,0 @@
aclocal.m4
autom4te*.cache
config.cache
config.log
config.status
configure
Makefile
Makefile.in

View File

@@ -1,525 +0,0 @@
2009-09-15 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac: Remove RTEMS_BSP_BOOTCARD_OPTIONS.
2009-07-16 Joel Sherrill <joel.sherrill@oarcorp.com>
* configure.ac: Rename BSP_BOOTCARD_OPTIONS to
RTEMS_BSP_BOOTCARD_OPTIONS. Add RTEMS_BSP_CLEANUP_OPTIONS so all BSPs
have the same options.
2009-07-03 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am: Switch to shared routine.
* startup/setvec.c: Removed.
2009-05-08 Joel Sherrill <joel.sherrill@oarcorp.com>
* startup/bspgetworkarea.c: Switch from ssize_t to uintptr_t for
bsp_get_work_area() since the work area is larger than a single
allocatable object.
2009-04-28 Chris Johns <chrisj@rtems.org>
* startup/main.c: Update for boot_card command line change.
2008-12-01 Joel Sherrill <joel.sherrill@OARcorp.com>
* bsp_specs, startup/bspgetworkarea.c: Links hello again.
2008-10-02 Joel Sherrill <joel.sherrill@oarcorp.com>
* startup/bspgetworkarea.c: Change size_t to ssize_t on
bsp_get_work_area(). On 16-bit architectures, size_t can be 16-bits
which would limit the work area to 64K.
2008-09-30 Ralf Corsépius <ralf.corsepius@rtems.org>
* Makefile.am: Eliminate bsp.am. Cleanup.
2008-09-29 Ralf Corsépius <ralf.corsepius@rtems.org>
* Makefile.am: Eliminate *_SOURCES.
2008-09-29 Ralf Corsépius <ralf.corsepius@rtems.org>
* Makefile.am: Remove noinst_PROGRAMS (Unused).
2008-09-26 Ralf Corsépius <ralf.corsepius@rtems.org>
* Makefile.am: Cleanup ../../shared/include/bootcard.h handling.
2008-09-23 Joel Sherrill <joel.sherrill@oarcorp.com>
* configure.ac: Make letting boot_card() handle work area allocation
mandatory. Rename RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION to
BSP_BOOTCARD_OPTIONS.
2008-09-18 Joel Sherrill <joel.sherrill@oarcorp.com>
* include/bsp.h: Remove prototypes of routines in bootcard.h.
2008-09-18 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am, configure.ac, startup/bspstart.c: Add
bsp_get_work_area() implementation and use more of the BSP
Initialization Framework.
* startup/bspgetworkarea.c, startup/bsppost.c: New files.
2008-09-18 Joel Sherrill <joel.sherrill@oarcorp.com>
* include/bsp.h: Remove unnecessary boilerplate comments.
2008-09-16 Joel Sherrill <joel.sherrill@oarcorp.com>
* clock/clock.c: Remove unnecessary includes of rtems/libcsupport.h and
rtems/libio.h.
2008-09-10 Joel Sherrill <joel.sherrill@oarcorp.com>
* include/bsp.h: Review of all bsp_cleanup() implementations. In this
phase, all prototypes were removed from bsp.h and empty
implementations were removed and made to use the shared stub.
2008-09-05 Joel Sherrill <joel.sherrill@OARcorp.com>
* clock/clock.c: The Shared Memory Driver no longer requires the
special IOCTL in Clock_control. This was a hack which has existed
since before the Classic API Timer Manager was implemented. All
implementations of and references to Clock_control were removed.
2008-09-05 Ralf Corsépius <ralf.corsepius@rtems.org>
* timer/timer.c: Convert to "bool".
2008-08-31 Joel Sherrill <joel.sherrill@oarcorp.com>
* timer/timer.c: Eliminate empty function from every benchmark timer
driver. Fix spelling.
2008-08-31 Joel Sherrill <joel.sherrill@oarcorp.com>
* timer/timer.c: Rename timer driver methods to follow RTEMS
programming conventions.
2008-05-15 Joel Sherrill <joel.sherrill@OARcorp.com>
* startup/bspstart.c: Add capability for bootcard.c BSP Initialization
Framework to ask the BSP where it has memory for the RTEMS Workspace
and C Program Heap. These collectively are referred to as work area.
If the BSP supports this, then it does not have to include code to
split the available memory between the two areas. This reduces the
amount of code in the BSP specific bspstart.c file. Additionally, the
shared framework can initialize the C Library, call
rtems_debug_enable(), and dirty the work area memory. Until most/all
BSPs support this new capability, if the BSP supports this, it should
call RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac.
When the transition is complete, this autoconf macro can be removed.
2008-05-14 Joel Sherrill <joel.sherrill@OARcorp.com>
* Makefile.am: Rework to avoid .rel files.
2008-05-12 Joel Sherrill <joel.sherrill@OARcorp.com>
* startup/bspstart.c: Refactored and renamed initialization routines to
rtems_initialize_data_structures, rtems_initialize_before_drivers,
rtems_initialize_device_drivers, and
rtems_initialize_start_multitasking. This opened the sequence up so
that bootcard() could provide a more robust and flexible framework
which is easier to explain and understand. This also lays the
groundwork for sharing the division of available memory between the
RTEMS workspace and heap and the C library initialization across all
BSPs.
2007-12-12 Joel Sherrill <joel.sherrill@OARcorp.com>
* Makefile.am, startup/bspstart.c: Links and runs again.
* console/console-io.c: New file.
2007-12-11 Joel Sherrill <joel.sherrill@OARcorp.com>
* clock/clock.c, include/bsp.h, startup/bspstart.c,
startup/rtems-ctor.cc: Eliminate copies of the Configuration Table.
Use the RTEMS provided accessor macros to obtain configuration
fields.
2007-12-04 Joel Sherrill <joel.sherrill@OARcorp.com>
* include/bsp.h, startup/bspstart.c: Move interrupt_stack_size field
from CPU Table to Configuration Table. Eliminate CPU Table from all
ports. Delete references to CPU Table in all forms.
2007-12-03 Joel Sherrill <joel.sherrill@OARcorp.com>
* startup/bspstart.c: Moved most of the remaining CPU Table fields to
the Configuration Table. This included pretasking_hook,
predriver_hook, postdriver_hook, idle_task, do_zero_of_workspace,
extra_mpci_receive_server_stack, stack_allocate_hook, and
stack_free_hook. As a side-effect of this effort some multiprocessing
code was made conditional and some style clean up occurred.
2007-08-07 Joel Sherrill <joel.sherrill@OARcorp.com>
* preinstall.am: Save changes again to make tagger happy.
2007-07-31 Joel Sherrill <joel.sherrill@OARcorp.com>
* Makefile.am, preinstall.am: You need main() to link all applications.
There is no C++ specific way to link currently.
2007-07-24 Joel Sherrill <joel.sherrill@OARcorp.com>
* Makefile.am, startup/main.c: Now can link with C compiler and not
require C++ compiler to link. The file rtems-ctor.cc is not being
built but if there is a need for C++ code to run on this BSP, then it
will have to be addressed. The simplest solution which might work is
to check the RTEMS system state before calling bsp_start() in main().
2007-05-07 Ralf Corsépius <ralf.corsepius@rtems.org>
* startup/bspstart.c: Use uintptr_t for address arithmetics.
* bsp_specs: Remove -qrtems_debug.
2006-12-02 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac: New BUG-REPORT address.
2006-10-30 Joel Sherrill <joel@OARcorp.com>
* startup/rtems-ctor.cc: Conditionally disable non-GCC code.
2006-10-17 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac: Require autoconf-2.60. Require automake-1.10.
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-22 Ralf Corsepius <ralf.corsepius@rtems.org>
* Makefile.am: Merge rtems-ctor.o into libbsp.a.
Fix building rtems-ctor.o and no-ctor.o.
2005-01-07 Ralf Corsepius <ralf.corsepius@rtems.org>
* Makefile.am: Eliminate CFLAGS_OPTIMIZE_V.
2005-01-02 Ralf Corsepius <ralf.corsepius@rtems.org>
* Makefile.am: Remove build-variant support.
2004-09-24 Ralf Corsepius <ralf_corsepius@rtems.org>
* configure.ac: Require automake > 1.9.
2004-04-23 Ralf Corsepius <ralf_corsepius@rtems.org>
PR 610/bsps
* Makefile.am: Add include/tm27.h, Cosmetics.
* include/tm27.h: Final cosmetics.
2004-04-22 Ralf Corsepius <ralf_corsepius@rtems.org>
* include/bsp.h: Split out tmtest27 support.
* include/tm27.h: New.
2004-04-21 Ralf Corsepius <ralf_corsepius@rtems.org>
PR 613/bsps
* include/bsp.h: Remove MAX_LONG_TEST_DURATION.
2004-04-21 Ralf Corsepius <ralf_corsepius@rtems.org>
PR 614/bsps
* include/bsp.h: Remove MAX_SHORT_TEST_DURATION (Unused).
2004-04-08 Ralf Corsepius <ralf_corsepius@rtems.org>
* Makefile.am: Build main.o for !HAS_CXX.
Set EXEEXT = <empty> (Workaround to a bug in automake).
2004-04-01 Ralf Corsepius <ralf_corsepius@rtems.org>
* include/bsp.h: Include <rtems/clockdrv.h> instead of <clockdrv.h>.
* startup/exit.c: 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>.
2004-03-31 Ralf Corsepius <ralf_corsepius@rtems.org>
* clock/clock.c, include/bsp.h, shmsupp/cause_intr.c,
shmsupp/getcfg.c, shmsupp/lock.c, startup/bspstart.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-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Remove AM_CONDITIONAL(HAS_MP).
2004-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Merge-in clock/Makefile.am, console/Makefile.am,
shmsupp/Makefile.am, startup/Makefile.am, timer/Makefile.am,
wrapup/Makefile.am. Use automake compilation rules.
* clock/Makefile.am, console/Makefile.am, shmsupp/Makefile.am,
startup/Makefile.am, timer/Makefile.am, wrapup/Makefile.am: Remove.
* configure.ac: Reflect changes above.
2004-01-28 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Add nostdinc to AUTOMAKE_OPTIONS.
Add RTEMS_PROG_CCAS.
2004-01-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Add PREINSTALL_DIRS.
2004-01-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* startup/Makefile.am: Re-add dirstamps to PRE/TMPINSTALL_FILES.
Add PRE/TMPINSTALL_FILES to CLEANFILES.
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-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* wrapup/Makefile.am: Remove GENERIC_FILES.
2003-12-13 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* startup/Makefile.am: s,${PROJECT_RELEASE}/lib,$(PROJECT_LIB),g.
2003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* 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-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* startup/Makefile.am: Add custom compilation rule for
rtems-ctor$(LIB_VARIANT).$(OBJEXT).
2003-12-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* startup/Makefile.am: Misc cleanups and fixes.
* wrapup/Makefile.am: Misc cleanups and fixes.
2003-12-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Add preinstallation dirstamp support.
* clock/Makefile.am: Cosmetics.
* console/Makefile.am: Cosmetics.
* shmsupp/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).
* shmsupp/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-26 Joel Sherrill <joel@OARcorp.com>
* timer/timer.c: Obsoleting HP PA-RISC port and removing all
references.
2003-09-04 Joel Sherrill <joel@OARcorp.com>
* clock/clock.c, console/console.c, include/bsp.h, shmsupp/addrconv.c,
shmsupp/cause_intr.c, shmsupp/getcfg.c, shmsupp/lock.c,
shmsupp/mpisr.c, startup/bspclean.c, startup/bspstart.c,
startup/exit.c, startup/setvec.c, timer/timer.c: URL for license
changed.
2003-08-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Reflect having moved aclocal/.
2003-08-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Reflect having moved automake/.
* clock/Makefile.am: Reflect having moved automake/.
* console/Makefile.am: Reflect having moved automake/.
* include/Makefile.am: Reflect having moved automake/.
* shmsupp/Makefile.am: Reflect having moved automake/.
* startup/Makefile.am: Reflect having moved automake/.
* timer/Makefile.am: Reflect having moved automake/.
* wrapup/Makefile.am: Reflect having moved automake/.
2003-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Use rtems-bugs@rtems.com as bug report email address.
2003-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-15 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Add BSPOPTS (WORKSPACE_MB, HEAPSPACE_MB).
* clock/Makefile.am: Don't include @RTEMS_BSP@.cfg.
* console/Makefile.am: Don't include @RTEMS_BSP@.cfg.
* shmsupp/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-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* wrapup/Makefile.am: Don't include @RTEMS_BSP@.cfg.
2002-11-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Remove RTEMS_OUTPUT_BUILD_SUBDIRS. Cosmetical
changes.
2002-11-05 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Unconditionally check for CXX (Hack to bug in
autoconf > 2.54).
2002-10-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* .cvsignore: Reformat.
Add autom4te*cache.
Remove autom4te.cache.
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.
* shmsupp/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-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,
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.
* shmsupp/Makefile.am: Remove AUTOMAKE_OPTIONS.
* startup/Makefile.am: Remove AUTOMAKE_OPTIONS.
* timer/Makefile.am: Remove AUTOMAKE_OPTIONS.
* wrapup/Makefile.am: Remove AUTOMAKE_OPTIONS.
2001-11-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Introduce RTEMS_BSP_CONFIGURE.
2001-11-07 Joel Sherrill <joel@OARcorp.com>
* startup/Makefile.am: Do NOT use the standard bootcard.c.
NOTE: With this fix all test including the mptest ran as expected.
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 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/Makefile.am: Use 'CLEANFILES ='.
* include/Makefile.am: Use 'TMPINSTALL_FILES ='.
2001-08-17 Joel Sherrill <joel@OARcorp.com>
* include/Makefile.am: Include coverhd.h so tmtests will compile.
2001-05-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.in: Add bspopts.h.
* include/.cvsignore: Add bspopts.h*, stamp-h*, coverhd.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-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* bsp_specs: Add qnolinkcmds.
2000-10-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros.
Switch to GNU canonicalization.
2000-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* clock/Makefile.am, console/Makefile.am, shmsupp/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,54 +0,0 @@
##
## $Id$
##
ACLOCAL_AMFLAGS = -I ../../../../aclocal
EXEEXT =
# wrapup is the one that actually builds and installs the library
# from the individual .rel files built in other directories
SUBDIRS = . tools
include $(top_srcdir)/../../../../automake/compile.am
include_bspdir = $(includedir)/bsp
dist_project_lib_DATA = bsp_specs
include_HEADERS = include/bsp.h
include_HEADERS += include/tm27.h
nodist_include_HEADERS = include/bspopts.h
nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h
DISTCLEANFILES = include/bspopts.h
nodist_include_HEADERS += ../../shared/include/coverhd.h
noinst_LIBRARIES = libbsp.a
libbsp_a_SOURCES =
# startup
libbsp_a_SOURCES += startup/bspclean.c ../../shared/bsplibc.c \
../../shared/bsppredriverhook.c ../../shared/bsppretaskinghook.c \
startup/bspstart.c startup/bsppost.c startup/bspgetworkarea.c \
../../shared/setvec.c ../../shared/bootcard.c
libbsp_a_SOURCES += startup/main.c
# clock
libbsp_a_SOURCES += clock/clock.c
# console
libbsp_a_SOURCES += console/console.c console/console-io.c
# timer
libbsp_a_SOURCES += timer/timer.c
if HAS_MP
# shmsupp
libbsp_a_SOURCES += shmsupp/addrconv.c shmsupp/getcfg.c \
shmsupp/cause_intr.c shmsupp/lock.c shmsupp/mpisr.c
endif
EXTRA_DIST = times
include $(srcdir)/preinstall.am
include $(top_srcdir)/../../../../automake/local.am

View File

@@ -1,18 +0,0 @@
#
# $Id$
#
This is a "generic" BSP for a modern UNIX system which is enough
System V and POSIX compliant to support at least the following:
+ semaphores
+ itimers
+ mmap
+ shared memory
At the moment, this BSP is known to work with the following UNIXes:
+ HP-UX 9.0.x
+ Solaris 2.x
+ Linux 1.1.x (single processor only -- mmap is broken)

View File

@@ -1,8 +0,0 @@
%rename lib old_lib
*lib:
%{!qrtems: %(old_lib)} \
%{qrtems: --start-group -lrtemsbsp -lrtemscpu --end-group \
%(old_lib) \
%{qnolinkcmds: } }

View File

@@ -1,78 +0,0 @@
/* Clock
*
* This routine generates clock ticks using standard POSIX services.
* The tick frequency is specified by the bsp.
*
* 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 <stdlib.h>
void Clock_exit(void);
volatile uint32_t Clock_driver_ticks;
uint32_t Clock_driver_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;
void Install_clock(rtems_isr_entry clock_isr)
{
Clock_driver_ticks = 0;
(void) set_vector( clock_isr, Clock_driver_vector, 1 );
_CPU_Start_clock( rtems_configuration_get_microseconds_per_tick() );
atexit(Clock_exit);
}
void Clock_isr(int vector)
{
Clock_driver_ticks++;
rtems_clock_tick();
}
/*
* Called via atexit()
* Remove the clock signal
*/
void Clock_exit(void)
{
_CPU_Stop_clock();
(void) set_vector( 0, Clock_driver_vector, 1 );
}
rtems_device_driver Clock_initialize(
rtems_device_major_number major,
rtems_device_minor_number minor,
void *pargp
)
{
Clock_driver_vector = _CPU_Get_clock_vector();
Install_clock((rtems_isr_entry) Clock_isr);
/*
* make major/minor avail to others such as shared memory driver
*/
rtems_clock_major = major;
rtems_clock_minor = minor;
return RTEMS_SUCCESSFUL;
}

View File

@@ -1,42 +0,0 @@
## Process this file with autoconf to produce a configure script.
##
## $Id$
AC_PREREQ(2.60)
AC_INIT([rtems-c-src-lib-libbsp-unix-posix],[_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_ENABLE_CXX
RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm])
RTEMS_PROG_CXX_FOR_TARGET
RTEMS_CANONICALIZE_TOOLS
RTEMS_PROG_CCAS
RTEMS_CHECK_MULTIPROCESSING(RTEMS_BSP)
RTEMS_CHECK_CXX
RTEMS_CONFIG_BUILD_SUBDIRS(tools)
AM_CONDITIONAL(HAS_CXX,test "$HAS_CPLUSPLUS" = "yes")
## bsp-specific options
RTEMS_BSPOPTS_SET([WORKSPACE_MB],[*],[2])
RTEMS_BSPOPTS_HELP([WORKSPACE_MB],
[The BSP's workspace RAM in MB.])
RTEMS_BSPOPTS_SET([HEAPSPACE_MB],[*],[1])
RTEMS_BSPOPTS_HELP([HEAPSPACE_MB],
[The BSP's heapspace RAM in MB.])
RTEMS_BSP_CLEANUP_OPTIONS(0, 0)
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile])
AC_OUTPUT

View File

@@ -1,21 +0,0 @@
/*
* UNIX BSP Debug IO
*
* 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$
*/
/*
* To support printk
*/
#include <rtems/bspIo.h>
#include <stdio.h>
void POSIX_BSP_output_char(char c) { fputc( c, stderr ); }
BSP_output_char_function_type BSP_output_char = POSIX_BSP_output_char;
BSP_polling_getchar_function_type BSP_poll_char = NULL;

View File

@@ -1,94 +0,0 @@
/*
* Console IO Support Routines
*
* These provide UNIX-like read and write calls for the C library.
*
* NOTE: For the most part, this is just a space holder.
*
* COPYRIGHT (c) 1994 by Division Incorporated
*
* 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 <unistd.h>
#include <errno.h>
rtems_device_driver
console_initialize(rtems_device_major_number major,
rtems_device_minor_number minor,
void * arg
)
{
return 0;
}
/*
* Open entry point
*/
rtems_device_driver console_open(
rtems_device_major_number major,
rtems_device_minor_number minor,
void * arg
)
{
return RTEMS_SUCCESSFUL;
}
/*
* Close entry point
*/
rtems_device_driver console_close(
rtems_device_major_number major,
rtems_device_minor_number minor,
void * arg
)
{
return RTEMS_SUCCESSFUL;
}
/*
* read bytes from the serial port. We only have stdin.
*/
rtems_device_driver console_read(
rtems_device_major_number major,
rtems_device_minor_number minor,
void * arg
)
{
return RTEMS_UNSATISFIED;
}
/*
* write bytes to the serial port. Stdout and stderr are the same.
*/
rtems_device_driver console_write(
rtems_device_major_number major,
rtems_device_minor_number minor,
void * arg
)
{
return -1;
}
/*
* IO Control entry point
*/
rtems_device_driver console_control(
rtems_device_major_number major,
rtems_device_minor_number minor,
void * arg
)
{
return RTEMS_SUCCESSFUL;
}

View File

@@ -1,5 +0,0 @@
bspopts.h
bspopts.h.in
coverhd.h
stamp-h
stamp-h.in

View File

@@ -1,38 +0,0 @@
/*
* This include file contains all POSIX BSP definitions.
*
* COPYRIGHT (c) 1989-2008.
* 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/clockdrv.h>
#include <rtems/console.h>
#include <rtems/iosupp.h>
/* functions */
rtems_isr_entry set_vector(rtems_isr_entry, rtems_vector_number, int);
extern int cpu_number;
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -1,35 +0,0 @@
/*
* tm27.h
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#ifndef _RTEMS_TMTEST27
#error "This is an RTEMS internal file you must not include directly."
#endif
#ifndef __tm27_h
#define __tm27_h
/*
* Stuff for Time Test 27
*/
#define MUST_WAIT_FOR_INTERRUPT 1
#define Install_tm27_vector( handler ) \
set_vector( (handler), 16, 1 )
#define Cause_tm27_intr() \
raise( 16 )
#define Clear_tm27_intr() /* empty */
#define Lower_tm27_intr() \
_ISR_Set_level( 0 );
#endif

View File

@@ -1,54 +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-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_INCLUDE)/bsp/$(dirstamp):
@$(MKDIR_P) $(PROJECT_INCLUDE)/bsp
@: > $(PROJECT_INCLUDE)/bsp/$(dirstamp)
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/bsp/$(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)/bsp/bootcard.h: ../../shared/include/bootcard.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/bootcard.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/bootcard.h
$(PROJECT_INCLUDE)/coverhd.h: ../../shared/include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/coverhd.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h

View File

@@ -1,9 +0,0 @@
#
# $Id$
#
This directory contains the SHM driver support files for
System V/POSIX derived UNIX flavors.
WARNING: The interrupt support in this directory currently will
only work in a homogeneous system.

View File

@@ -1,29 +0,0 @@
/* addrconv.v
*
* No address range conversion is required.
*
* Input parameters:
* addr - address to convert
*
* Output parameters:
* returns - converted address
*
* 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 <shm_driver.h>
void *Shm_Convert_address(
void *addr
)
{
return ( addr );
}

View File

@@ -1,33 +0,0 @@
/* void Shm_interrupt_unix( node )
*
* This routine is the shared memory driver routine which
* generates interrupts to other CPUs.
*
* Input parameters:
* node - destination of this packet (0 = broadcast)
*
* 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 <bsp.h>
#include <shm_driver.h>
#include <sys/types.h> /* pid_t */
void Shm_Cause_interrupt_unix(
uint32_t node
)
{
Shm_Interrupt_information *intr;
intr = &Shm_Interrupt_table[node];
_CPU_SHM_Send_interrupt( (pid_t) intr->address, intr->value );
}

View File

@@ -1,74 +0,0 @@
/* void Shm_get_config( localnode, &shmcfg )
*
* This routine initializes, if necessary, and returns a pointer
* to the Shared Memory Configuration Table for the UNIX
* simulator.
*
* INPUT PARAMETERS:
* localnode - local node number
* shmcfg - address of pointer to SHM Config Table
*
* OUTPUT PARAMETERS:
* *shmcfg - pointer to SHM Config Table
*
* NOTES: This driver is capable of supporting a practically unlimited
* number of nodes.
*
* 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 <shm_driver.h>
#include <sys/types.h> /* pid_t */
shm_config_table BSP_shm_cfgtbl;
int semid;
void Shm_Cause_interrupt_unix(
uint32_t node
);
void Shm_Get_configuration(
uint32_t localnode,
shm_config_table **shmcfg
)
{
_CPU_SHM_Init(
Shm_Maximum_nodes,
Shm_Is_master_node(),
(void **)&BSP_shm_cfgtbl.base,
(uint32_t*)&BSP_shm_cfgtbl.length
);
BSP_shm_cfgtbl.format = SHM_BIG;
BSP_shm_cfgtbl.cause_intr = Shm_Cause_interrupt_unix;
#ifdef NEUTRAL_BIG
BSP_shm_cfgtbl.convert = NULL_CONVERT;
#else
BSP_shm_cfgtbl.convert = CPU_swap_u32;
#endif
if ( _CPU_SHM_Get_vector() ) {
BSP_shm_cfgtbl.poll_intr = INTR_MODE;
BSP_shm_cfgtbl.Intr.address = (vol_u32 *) _CPU_Get_pid(); /* process id */
BSP_shm_cfgtbl.Intr.value = _CPU_SHM_Get_vector(); /* signal to send */
BSP_shm_cfgtbl.Intr.length = LONG;
} else {
BSP_shm_cfgtbl.poll_intr = POLLED_MODE;
BSP_shm_cfgtbl.Intr.address = NO_INTERRUPT;
BSP_shm_cfgtbl.Intr.value = NO_INTERRUPT;
BSP_shm_cfgtbl.Intr.length = NO_INTERRUPT;
}
*shmcfg = &BSP_shm_cfgtbl;
}

View File

@@ -1,71 +0,0 @@
/* Shared Memory Lock Routines
*
* This shared memory locked queue support routine need to be
* able to lock the specified locked queue. Interrupts are
* disabled while the queue is locked to prevent preemption
* and deadlock when two tasks poll for the same lock.
* previous level.
*
* 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 <shm_driver.h>
/*
* Shm_Initialize_lock
*
* Initialize the lock for the specified locked queue.
*/
void Shm_Initialize_lock(
Shm_Locked_queue_Control *lq_cb
)
{
lq_cb->lock = lq_cb - Shm_Locked_queues;
}
/* Shm_Lock( &lq_cb )
*
* This shared memory locked queue support routine locks the
* specified locked queue. It disables interrupts to prevent
* a deadlock condition.
*/
void Shm_Lock(
Shm_Locked_queue_Control *lq_cb
)
{
uint32_t isr_level;
rtems_interrupt_disable( isr_level );
Shm_isrstat = isr_level;
_CPU_SHM_Lock( lq_cb->lock );
}
/*
* Shm_Unlock
*
* Unlock the lock for the specified locked queue.
*/
void Shm_Unlock(
Shm_Locked_queue_Control *lq_cb
)
{
uint32_t isr_level;
_CPU_SHM_Unlock( lq_cb->lock );
isr_level = Shm_isrstat;
rtems_interrupt_enable( isr_level );
}

View File

@@ -1,31 +0,0 @@
/* Shm_setvec
*
* This driver routine sets the SHM interrupt vector to point to the
* driver's SHM interrupt service routine.
*
* 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 <bsp.h>
#include <shm_driver.h>
void Shm_setvec( void )
{
int vector;
vector = _CPU_SHM_Get_vector();
if ( vector )
set_vector( Shm_isr, vector, 1 );
}

View File

@@ -1,40 +0,0 @@
/* bsp_cleanup()
*
* This routine normally is part of start.s and returns
* control to a monitor but on the UNIX simulator
* we do that directly from main.c.
*
* INPUT: NONE
*
* OUTPUT: NONE
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#include <bsp.h>
#include <stdio.h>
/*
* The app has "exited" (called rtems_shutdown_executive)
*/
void bsp_cleanup( void )
{
/*
* Invoke any fatal error extension and "halt"
* By definition, rtems_fatal_error_occurred does not return.
*/
fflush(stdout);
fflush(stderr);
rtems_fatal_error_occurred(0);
}

View File

@@ -1,37 +0,0 @@
/*
* COPYRIGHT (c) 1989-2008.
* 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/libcsupport.h>
#include <rtems/libio.h>
#include <bsp/bootcard.h>
void bsp_get_work_area(
void **work_area_start,
uintptr_t *work_area_size,
void **heap_start,
uintptr_t *heap_size
)
{
uintptr_t workspace_ptr;
workspace_ptr = (uintptr_t)
sbrk(rtems_configuration_get_work_space_size() + CPU_ALIGNMENT);
workspace_ptr += CPU_ALIGNMENT - 1;
workspace_ptr &= ~(CPU_ALIGNMENT - 1);
/* start with requested workspace + 1 MB for heap */
*work_area_start = (void *) workspace_ptr;
*work_area_size = rtems_configuration_get_work_space_size() +
(1 * 1024 * 1024);
*heap_start = BSP_BOOTCARD_HEAP_USES_WORK_AREA;
*heap_size = BSP_BOOTCARD_HEAP_SIZE_DEFAULT;
}

View File

@@ -1,22 +0,0 @@
/*
* This is a shared BSP post driver hook designed to open
* /dev/console for stdin, stdout, and stderr if it exists.
* Newlib will automatically associate the file descriptors
* with the first thress files opened.
*
* COPYRIGHT (c) 1989-2008.
* 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/bootcard.h>
void bsp_postdriver_hook(void)
{
}

View File

@@ -1,72 +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.
*
* Called by RTEMS::RTEMS constructor in startup-ctor.cc
*
* 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 <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <bsp.h>
#include <rtems/libcsupport.h>
/*
* Amount to increment itimer by each pass
* It is a variable instead of a #define to allow the 'looptest'
* script to bump it without recompiling rtems
*/
uint32_t CPU_CLICKS_PER_TICK;
/*
* bsp_start
*
* This routine does the bulk of the system initialization.
*/
void bsp_start(void)
{
cpu_number = 0;
#if defined(RTEMS_MULTIPROCESSING)
/*
* If the node number is -1 then the application better provide
* it through environment variables RTEMS_NODE.
* Ditto for RTEMS_MAXIMUM_NODES
*/
if (Configuration.User_multiprocessing_table) {
char *p;
if (Configuration.User_multiprocessing_table->node == -1) {
p = getenv("RTEMS_NODE");
Configuration.User_multiprocessing_table->node = p ? atoi(p) : 1;
}
/* If needed provide maximum_nodes also */
if (Configuration.User_multiprocessing_table->maximum_nodes == -1) {
p = getenv("RTEMS_MAXIMUM_NODES");
Configuration.User_multiprocessing_table->maximum_nodes = p ? atoi(p) : 1;
}
}
/*
* Set cpu_number to accurately reflect our cpu number
*/
if (Configuration.User_multiprocessing_table)
cpu_number = Configuration.User_multiprocessing_table->node - 1;
#endif
CPU_CLICKS_PER_TICK = 1;
}

View File

@@ -1,26 +0,0 @@
/*
* exit
*
* This routine returns control to "the pre-RTEMS environment".
*
* 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/clockdrv.h>
void _exit( void )
{
/* Clock or Timer cleanup is run by at_exit() */
Io_cleanup();
bsp_cleanup();
}

View File

@@ -1,30 +0,0 @@
/*
* Description:
* This file exists solely to (try to) ensure RTEMS is initialized.
* It is not to be used in systems which want C++ support.
*
* $Id$
*/
#include <bsp.h>
#include <stdio.h>
#include <stdlib.h>
/*
* RTEMS program name
* Probably not used by anyone, but it is nice to have it.
* Actually the UNIX version of CPU_INVOKE_DEBUGGER will probably
* need to use it
*/
char *rtems_progname;
int main(
int argc,
char **argv
)
{
boot_card(0);
return 0;
}

View File

@@ -1,16 +0,0 @@
/*
* rtems, floss, libc are always compiled with GNU compilers
* application code may be compiled with some other C++ compiler
* that has a different global constructor technique.
*
* For the simple case, where the app has no global constructors or
* is compiled by g++, we provide this empty routine
* In order to get both g++ constructors (RTEMS::RTEMS, for example)
* and application constructors run, we provide this routine.
*
* $Id$
*/
void invoke_non_gnu_constructors(void)
{
}

View File

@@ -1,121 +0,0 @@
/*
* rtems-ctor.cc
*
* Description:
* This file exists solely to (try to) ensure RTEMS is initialized
* before any global constructors are run.
*
* The problem:
* Global constructors might reasonably expect that new() will
* work, but since new() uses malloc() which uses RTEMS regions,
* it can not be called until after initialize_executive().
*
* Global constructors are called in GNU systems one of 2 ways:
*
* an "invisible" call to __main() inserted by compiler
* This __main() calls __do_global_ctors() which
* walks thru the table and calls all global
* constructors.
*
* or -
* A special section is put into the linked binary. The
* system startup code knows to run the constructors in
* this special section before calling main().
*
* By making RTEMS initialization a constructor, we avoid having
* too much about all this. All we have to guarantee is that
* this constructor is the first one run.
*
*
* So for the first case above, this is what happens
*
* host crt0
* main()
* __main()
* __do_global_ctors()
* bsp_start()
* init_executive_early()
* <<any other constructors>>
*
* init_executive_late()
* bsp_cleanup()
*
* TODO:
*
* $Id$
*/
#include <bsp.h>
#include <stdio.h>
#include <stdlib.h>
class RTEMS {
public:
RTEMS();
~RTEMS();
};
RTEMS rtems_constructor;
RTEMS::RTEMS()
{
bsp_start();
}
RTEMS::~RTEMS()
{
bsp_cleanup();
}
extern "C" {
#ifndef __GNUC__
extern void invoke_non_gnu_constructors(void);
#endif
int
main(int argc,
char **argv,
char ** /* environp is unused */)
{
rtems_argc = argc;
rtems_argv = argv;
rtems_interrupt_level bsp_isr_level;
/*
* Make sure interrupts are disabled.
*/
rtems_interrupt_disable( bsp_isr_level );
if ((argc > 0) && argv && argv[0])
rtems_progname = argv[0];
else
rtems_progname = "RTEMS";
/*
* run any non-gnu constructors we may need
*/
#ifndef __GNUC__
invoke_non_gnu_constructors();
#endif
rtems_initialize_executive_early( &Configuration );
/*
* Start multitasking
*/
rtems_initialize_executive_late( bsp_isr_level );
/*
* Returns when multitasking is stopped
* This allows our destructors to get run normally
*/
fflush( stdout );
fflush( stderr );
return 0;
}
}

View File

@@ -1,65 +0,0 @@
/* timer.c
*
* This file manages the interval timer on a UNIX BSP.
*
* NOTE: It is important that the timer start/stop overhead be
* determined when porting or modifying this code.
*
* COPYRIGHT (c) 1989-2003.
* 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 <time.h>
#include <sys/time.h>
struct timeval Timer_start;
struct timeval Timer_stop;
struct timezone Time_zone;
bool benchmark_timer_find_average_overhead;
void benchmark_timer_initialize()
{
gettimeofday( &Timer_start, &Time_zone );
}
#define AVG_OVERHEAD 0 /* It typically takes xxx microseconds */
/* (XX countdowns) to start/stop the timer. */
#define LEAST_VALID 10 /* Don't trust a value lower than this */
int benchmark_timer_read()
{
int total;
gettimeofday( &Timer_stop, &Time_zone );
if ( Timer_stop.tv_sec == Timer_start.tv_sec )
total = Timer_stop.tv_usec - Timer_start.tv_usec;
else {
total = 1000000 - Timer_start.tv_usec;
total += (Timer_stop.tv_sec - Timer_start.tv_sec - 1) * 1000000;
total += Timer_stop.tv_usec;
}
if ( benchmark_timer_find_average_overhead == true )
return total; /* in countdown units */
else {
if ( total < LEAST_VALID )
return 0; /* below timer resolution */
return total - AVG_OVERHEAD;
}
}
void benchmark_timer_disable_subtracting_average_overhead(
bool find_flag
)
{
benchmark_timer_find_average_overhead = find_flag;
}

View File

@@ -1,10 +0,0 @@
#
# Timing Test Suite Results for the UNIX Simulator BSP
#
# $Id$
#
The times when running on the UNIX simulator are irrelevant. They vary based
on a variety of factors including host OS, host configuration, and system load.
The intent of the UNIX simulator is to provide a testing and prototyping
environment not to compete with the "normal" embedded role of RTEMS.

View File

@@ -1,12 +0,0 @@
aclocal.m4
autom4te*.cache
config.cache
config.log
config.status
configure
looptest
Makefile
Makefile.in
runtest
semdump
shmdump

View File

@@ -1,118 +0,0 @@
2008-03-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* runtest.in: Skip all fatal error tests.
2007-09-04 Joel Sherrill <joel.sherrill@OARcorp.com>
* runtest.in: Add capture to list of interative tests to skip in batch
mode.
2007-01-26 Ralf Corsépius <ralf.corsepius@rtems.org>
* Makefile.am: Use MKDIR_P instead of mkdir_p.
2006-12-02 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac: New BUG-REPORT address.
2006-10-17 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac: Require autoconf-2.60. Require automake-1.10.
2004-09-24 Ralf Corsepius <ralf_corsepius@rtems.org>
* configure.ac: Require automake > 1.9.
2004-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Add RTEMS_ENV_RTEMSBSP.
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.
2003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Reworked.
2003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Require automake >= 1.8, autoconf >= 2.59.
2003-12-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Misc cleanups and fixes.
2003-10-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Use AC_PATH_PROG(PERL,perl) instead of
RTEMS_PATH_PERL.
2003-08-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Reflect having moved aclocal/.
2003-08-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Reflect having moved automake/.
2003-08-14 Joel Sherrill <joel@OARcorp.com>
* runtest.in: Add fileio to list of interactive tests.
2003-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Use rtems-bugs@rtems.com as bug report email address.
2003-03-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Remove AC_CONFIG_AUX_DIR.
2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: AM_INIT_AUTOMAKE([1.7.2]).
2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: AC_PREREQ(2.57).
2002-10-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* .cvsignore: Reformat.
Add autom4te*cache.
Remove autom4te.cache.
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]).
* Makefile.am: Remove AUTOMAKE_OPTIONS.
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 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Use 'TMPINSTALL_FILES ='.
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-10-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros.
Switch to GNU canonicalization.
2000-08-10 Joel Sherrill <joel@OARcorp.com>
* ChangeLog: New file.

View File

@@ -1,45 +0,0 @@
##
## $Id$
##
ACLOCAL_AMFLAGS = -I ../../../../../aclocal
transform =
bsptools_bindir = ${exec_prefix}/@RTEMS_BSP@/tests
bsptools_bin_SCRIPTS = runtest looptest
if PERL
bsptools_bin_SCRIPTS += shmdump semdump
endif
## HACK: install to build-tree
all-local: $(TMPINSTALL_FILES)
TMPINSTALL_FILES =
$(PROJECT_ROOT)/@RTEMS_BSP@/tests/$(dirstamp):
@$(MKDIR_P) $(PROJECT_ROOT)/@RTEMS_BSP@/tests
@: > $(PROJECT_ROOT)/@RTEMS_BSP@/tests/$(dirstamp)
TMPINSTALL_FILES += $(PROJECT_ROOT)/@RTEMS_BSP@/tests/$(dirstamp)
$(PROJECT_ROOT)/@RTEMS_BSP@/tests/runtest: runtest $(PROJECT_ROOT)/@RTEMS_BSP@/tests/$(dirstamp)
$(INSTALL_SCRIPT) $< $(PROJECT_ROOT)/@RTEMS_BSP@/tests/runtest
TMPINSTALL_FILES += $(PROJECT_ROOT)/@RTEMS_BSP@/tests/runtest
$(PROJECT_ROOT)/@RTEMS_BSP@/tests/looptest: looptest $(PROJECT_ROOT)/@RTEMS_BSP@/tests/$(dirstamp)
$(INSTALL_SCRIPT) $< $(PROJECT_ROOT)/@RTEMS_BSP@/tests/looptest
TMPINSTALL_FILES += $(PROJECT_ROOT)/@RTEMS_BSP@/tests/looptest
if PERL
$(PROJECT_ROOT)/@RTEMS_BSP@/tests/shmdump: shmdump $(PROJECT_ROOT)/@RTEMS_BSP@/tests/$(dirstamp)
$(INSTALL_SCRIPT) $< $(PROJECT_ROOT)/@RTEMS_BSP@/tests/shmdump
TMPINSTALL_FILES += $(PROJECT_ROOT)/@RTEMS_BSP@/tests/shmdump
$(PROJECT_ROOT)/@RTEMS_BSP@/tests/semdump: semdump $(PROJECT_ROOT)/@RTEMS_BSP@/tests/$(dirstamp)
$(INSTALL_SCRIPT) $< $(PROJECT_ROOT)/@RTEMS_BSP@/tests/semdump
TMPINSTALL_FILES += $(PROJECT_ROOT)/@RTEMS_BSP@/tests/semdump
endif
CLEANFILES = $(TMPINSTALL_FILES)
include $(top_srcdir)/../../../../../automake/host.am

View File

@@ -1,31 +0,0 @@
## Process this file with autoconf to produce a configure script.
##
## $Id$
AC_PREREQ(2.60)
AC_INIT([rtems-c-src-lib-libbsp-unix-posix-tools],[_RTEMS_VERSION],[http://www.rtems.org/bugzilla])
AC_CONFIG_SRCDIR([runtest.in])
RTEMS_TOP(../../../../../../..)
RTEMS_CANONICAL_TARGET_CPU
AM_INIT_AUTOMAKE([no-define foreign 1.10])
AM_MAINTAINER_MODE
RTEMS_ENV_RTEMSBSP
RTEMS_PATH_KSH
AC_PATH_PROG(PERL,perl)
AM_CONDITIONAL(PERL,test -n "$PERL")
RTEMS_PROJECT_ROOT
RTEMS_TOOLPATHS
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile
runtest
shmdump
looptest
semdump])
AC_OUTPUT

View File

@@ -1,93 +0,0 @@
#!@KSH@ -p
#
# $Id$
#
# progname=`basename $0`
progname=${0##*/} # fast basename hack for ksh, bash
# must be uppercase hex; dc is feeble minded
clicks_per_tick="1"
# default is 0x3
hexbump=1
iterations=10
USAGE=\
"usage: $progname [ -opts ] file [ file ... ]
-o options -- specify options to be passed to runtest
-c clicks -- specify (hex) value for clicks / tick (default $clicks_per_tick)
-n iterations -- num times to loop thru specified tests (default $iterations)
-b hexbump -- increment clicks-per-ticks this much each loop (default $hexbump)
-v -- verbose"
# log an error to stderr
prerr()
{
echo "$*" >&2
}
fatal() {
[ "$1" ] && prerr $*
prerr "$USAGE"
exit 1
}
warn() {
[ "$1" ] && prerr $*
}
#
# process the options
#
# defaults for getopt vars
#
verbose=""
extra_options=""
while getopts vo:c:n:b: OPT
do
case "$OPT" in
v)
verbose="yes";;
o)
extra_options="$OPTARG";;
c)
clicks_per_ticks="$OPTARG";;
n)
iterations="$OPTARG";;
b)
hexbump="$OPTARG";;
*)
fatal;;
esac
done
((shiftcount = $OPTIND - 1))
shift $shiftcount
args=$*
#
# Run the tests
# After each run, rename 'log' to log.$clicks_per_tick
#
tests="$args"
while [ $iterations -gt 0 ]
do
./runtest $extra_options -c $clicks_per_tick $tests
rm -rf log.$clicks_per_tick.OLD
[ -d log.$clicks_per_tick ] && mv log.$clicks_per_tick log.$clicks_per_tick.OLD
mv log log.$clicks_per_tick
((iterations = $iterations - 1))
clicks_per_tick=`echo 16 o 16 i $clicks_per_tick $hexbump + p q | dc`
done
exit 0
# Local Variables: ***
# mode:ksh ***
# End: ***

View File

@@ -1,255 +0,0 @@
#!@KSH@ -p
#
# Run rtems tests on a POSIX-ish UNIX
#
# $Id$
#
trap "test_exit 1" 1 2 3 13 14 15
trap "test_exit 1" 1 2 3 13 14 15
# progname=`basename $0`
progname=${0##*/} # fast basename hack for ksh, bash
USAGE=\
"usage: $progname [ -opts ] test [ test ... ]
-c clicks -- specify (hex) value for clicks / tick
-v -- verbose
-l logdir -- specify log directory (default is 'logdir')
Specify test as 'test' or 'test.exe'.
All multiprocessing tests *must* be specified simply as 'mp01', etc.
"
# export everything
set -a
# log an error to stderr
prerr()
{
echo "$*" >&2
}
fatal() {
[ "$1" ] && prerr $*
prerr "$USAGE"
exit 1
}
warn() {
[ "$1" ] && prerr $*
}
# print args, 1 per line
ml_echo()
{
for l
do
echo "$l"
done
}
killem()
{
kill -9 $pid $pid1 $pid2 2> /dev/null
}
killem()
{
kill -9 $pid $pid1 $pid2 2> /dev/null
}
test_exit()
{
exit_code=$1
killem
killem
rm -f ${logfile}.tmp*
exit $exit_code
}
#
# process the options
#
# defaults for getopt vars
#
verbose=""
extra_options=""
clicks_per_tick=""
logdir=log
# how long can we run; rtems tests might run 300 seconds
max_run_time=400
run_to_completion="yes"
while getopts vo:c:l: OPT
do
case "$OPT" in
v)
verbose="yes";;
l)
logdir="$OPTARG";;
o)
extra_options="$OPTARG";;
c)
clicks_per_tick="$OPTARG";;
*)
fatal;;
esac
done
let $((shiftcount = $OPTIND - 1))
shift $shiftcount
args=$*
#
# Run the tests
#
tests="$args"
if [ ! "$tests" ]
then
set -- `echo *.exe`
tests="$*"
fi
[ -d $logdir ] || mkdir $logdir || fatal "could not create log directory ($logdir)"
for tfile in $tests
do
tname=`echo $tfile | sed -e 's/\.exe$//'`
tname=`basename $tname`
TEST_TYPE="single"
case $tname in
capture* | monitor* | termios* | fileio* | pppd*)
if [ $run_to_completion = "yes" ]
then
warn "Skipping $tname; it is interactive"
continue
fi
;;
*-node2*)
warn "Skipping $tname; 'runtest' runs both nodes when for *-node1"
continue;;
*-node1*)
tname=`echo $tname | sed 's/-node.*//'`
warn "Running both nodes associated with $tname"
TEST_TYPE="mp"
;;
stackchk*|*fatal*|malloctest*|termio*)
warn "Skipping $tname; it locks up or takes a VERY long time to run"
continue
;;
esac
if [ $TEST_TYPE = "mp" ]
then
logfile1=$logdir/${tname}_1
infofile1=$logfile1.info
logfile2=$logdir/${tname}_2
infofile2=$logfile2.info
rm -f ${logfile1}
rm -f ${logfile2}
date=`date`
echo "Starting $tname at $date"
./${tname}-node1.exe > $logfile1 2>&1 &
pid1=$!
./${tname}-node2.exe > $logfile2 2>&1 &
pid2=$!
# Wait for both cpu's to complete, ensuring they don't run forever...
time_run=0
while [ $time_run -lt $max_run_time ]
do
# sleep 5s at a time waiting for jobs to finish or timer to expire
# if job has exited, then we exit, too.
sleep 5
kill -0 $pid1 2> /dev/null
running1=$?
kill -0 $pid2 2> /dev/null
running2=$?
if [ $running1 -eq 0 ] && [ $running2 -eq 0 ] # both still running
then
time_run=$((time_run + 5))
if [ $time_run -ge $max_run_time ]
then
echo "$tname ran too long; killing it"
ran_too_long="yes"
fi
else
ran_too_long="no"
# if one is still running, have to kill them
if [ $running1 -ne $running2 ]
then
sleep 10 # give other node a chance to gracefully die
fi
break
fi
done
# make sure they are gone
kill -9 $pid1 2> /dev/null
kill -9 $pid2 2> /dev/null
fi
if [ $TEST_TYPE = "single" ]
then
logfile=$logdir/$tname
infofile=$logfile.info
rm -f ${logfile}
date=`date`
echo "Starting $tname.exe at $date"
./$tname.exe > $logfile 2>&1 &
pid=$!
# Make sure it won't run forever...
time_run=0
while [ $time_run -lt $max_run_time ]
do
# sleep 5s at a time waiting for job to finish or timer to expire
# if job has exited, then we exit, too.
sleep 5
kill -0 $pid 2> /dev/null
running=$?
if [ $running -eq 0 ]
then
time_run=$((time_run + 5))
if [ $time_run -ge $max_run_time ]
then
kill -9 $pid 2> /dev/null
ran_too_long="yes"
fi
else
ran_too_long="no"
break
fi
done
fi
pid=""
done
test_exit 0
# Local Variables: ***
# mode:ksh ***
# End: ***

View File

@@ -1,59 +0,0 @@
#!@PERL@
#
# $Id$
#
eval "exec @PERL@ -S $0 $*"
if $running_under_some_shell;
# dump semaphore array values tony@divnc.com
require 'sys/sem.ph';
require 'getopts.pl';
&Getopts("vhi:k:"); # verbose, help, id, key
if ($opt_h || ($opt_i && $opt_k))
{
print STDERR <<NO_MORE_HELP;
semdump
Dump info about specified semaphore.
Usage: $0 [-v] { -i semid | -k semkey }
-v -- possibly more verbose
-i semid -- semaphore id
-k semkey -- semaphore key
-h -- help
anything else == this help message
NO_MORE_HELP
exit 1;
}
$verbose = $opt_v;
$id = $opt_i;
$key = $opt_k;
if ($key)
{
$key = oct($key) if $key =~ /^0/;
die "Could not convert key to id; $!" unless $id = semget($key, 1, 0);
}
# I don't know to find out how many sem's are attached to the id
# so just keep reading them until we get an error.
printf("KEY: 0x%X (%d) ", $key, $key) if $key;
print "ID: $id\n";
semlist:
for ($semnum=0; $semnum < 10; $semnum++)
{
$val = semctl($id, $semnum, &GETVAL, 0);
$val || ($val = -1);
last semlist if ($val == -1);
printf " %d: %d\n", $semnum, $val;
}

View File

@@ -1,134 +0,0 @@
#!@PERL@
#
# $Id$
#
eval "exec @PERL@ -S $0 $*"
if $running_under_some_shell;
# dump shared memory segment tony@divnc.com
require 'sys/shm.ph';
require 'getopts.pl';
&Getopts("vhi:k:f:l:b:w"); # verbose, help, id, key, first, length, word, base
if ($opt_h || ($opt_i && $opt_k))
{
print STDERR <<NO_MORE_HELP;
shmdump
Dump contents of specifed shared memory segment.
Usage: $0 [options]
-h -- help
-v -- possibly more verbose
-i shmid -- shm id
-k shmkey -- shm key
-f first -- start of partial dump
-l length -- length of partial dump
-w -- dump as 4byte words instead of bytes
-b base -- use 'base' as base address for output
anything else == this help message
NO_MORE_HELP
exit 1;
}
$verbose = $opt_v;
$id = $opt_i;
$key = $opt_k;
$offset = $opt_f;
$print_length = $opt_l;
$base = $opt_b;
$word_dump = $opt_w;
if ($key)
{
# ensure key is an integer
$key = oct($key) if $key =~ /^0/;
die "Could not convert key to id; $!" unless $id = shmget($key, 1, 0);
}
# ensure integerhood in case of leading '0x'
$base = oct($base) if $base =~ /^0/;
$offset = oct($offset) if $offset =~ /^0/;
$print_length = oct($print_length) if $print_length =~ /^0/;
if ( ! shmctl($id, &IPC_STAT, $shmid_ds))
{
die "shmctl(2) for id $id failed -- (I was trying to get size): $!";
}
# Pick the length out.
# It is at byte offset 0x30 on hpux9 and probably hpux10
# Also get the key if we don't have it already. Don't need it tho...
$length = unpack("I", substr($shmid_ds, 0x30, 4));
$key = unpack("I", substr($shmid_ds, 0x14, 4)) if ! $key;
# poke around looking for length and key
# print "I guess: length: $length, key: $key\n";
# print "****$shmid_ds****\n"; die "";
# make sure offset and print length make sense
$print_length = $length if ! $print_length;
if (($offset + $print_length) > $length)
{
die "offset ($offset) and length ($print_length) go beyond end of segment ($length bytes)";
}
printf("KEY: 0x%X (%d) ", $key, $key) if ($key);
printf "ID: $id\n";
printf " %d bytes (0x%X), %d words, logical base is 0x%X\n",
$length, $length, $length / 4, $base;
if ($offset || ($print_length != $length))
{
printf " printing %X (%d) bytes starting at offset 0x%X (%d)\n",
$print_length, $print_length, $offset, $offset;
}
printf "\n";
if ( ! shmread($id, $shm_data, $offset, $print_length))
{
die "could not attach and read from shmid $id: $!";
}
# the dump code below derived from "Real Perl Programs" example "xdump"
# from Camel book
$base += $offset;
$offset = 0;
for ($len = $print_length; $len >= 16; )
{
$data = substr($shm_data, $offset, 16);
@array = unpack('N4', $data);
$data =~ tr/\0-\37\177-\377/./;
printf "%8.8lX %8.8lX %8.8lX %8.8lX %8.8lX |%s|\n",
$base, @array, $data;
$offset += 16;
$base += 16;
$len -= 16;
}
# Now finish up the end a byte at a time
if ($len)
{
$data = substr($shm_data, $offset, $len);
@array = unpack('C*', $data);
for (@array)
{
$_ = sprintf('%2.2X', $_);
}
push(@array, ' ') while $len++ < 16;
$data =~ tr/\0-\37\177-\377/./;
$data =~ s/[^ -~]/./g;
printf "%8.8lX ", $base;
printf "%s%s%s%s %s%s%s%s %s%s%s%s %s%s%s%s |%-16s|\n",
@array, $data;
}