Added block05, block06 and block07

This commit is contained in:
Thomas Doerfler
2009-11-09 16:27:42 +00:00
parent f20ea02f85
commit e6000760b2
15 changed files with 4931 additions and 1 deletions

View File

@@ -1,3 +1,10 @@
2009-11-09 Sebastian Huber <Sebastian.Huber@embedded-brains.de>
* block05/init.c, block05/block05.scn, block05/Makefile.am,
block06/init.c, block06/block06.scn, block06/Makefile.am,
block07/init.c, block07/block07.scn, block07/Makefile.am: New files.
* Makefile.am, configure.ac: Added block05, block06 and block07.
2009-11-01 Ralf Corsépius <ralf.corsepius@rtems.org>
* termios/init.c: Remove sh2 hacks.

View File

@@ -6,7 +6,7 @@ ACLOCAL_AMFLAGS = -I ../aclocal
SUBDIRS = bspcmdline01 cpuuse malloctest heapwalk putenvtest monitor \
monitor02 rtmonuse stackchk stackchk01 termios termios01 termios02 \
rtems++ tztest block01 block02 block03 block04
rtems++ tztest block01 block02 block03 block04 block05 block06 block07
include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am

View File

@@ -0,0 +1,27 @@
##
## $Id$
##
MANAGERS = io semaphore event
rtems_tests_PROGRAMS = block05
block05_SOURCES = init.c
dist_rtems_tests_DATA = block05.scn
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
block05_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
LINK_OBJS = $(block05_OBJECTS) $(block05_LDADD)
LINK_LIBS = $(block05_LDLIBS)
block05$(EXEEXT): $(block05_OBJECTS) $(block05_DEPENDENCIES)
@rm -f block05$(EXEEXT)
$(make-exe)
include $(top_srcdir)/../automake/local.am

View File

@@ -0,0 +1,583 @@
# Makefile.in generated by automake 1.11 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
rtems_tests_PROGRAMS = block05$(EXEEXT)
DIST_COMMON = $(dist_rtems_tests_DATA) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(top_srcdir)/../automake/compile.am \
$(top_srcdir)/../automake/leaf.am \
$(top_srcdir)/../automake/local.am
subdir = block05
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = \
$(top_srcdir)/../aclocal/canonical-target-name.m4 \
$(top_srcdir)/../aclocal/canonicalize-tools.m4 \
$(top_srcdir)/../aclocal/check-custom-bsp.m4 \
$(top_srcdir)/../aclocal/check-cxx.m4 \
$(top_srcdir)/../aclocal/check-tool.m4 \
$(top_srcdir)/../aclocal/enable-cxx.m4 \
$(top_srcdir)/../aclocal/env-rtemsbsp.m4 \
$(top_srcdir)/../aclocal/prog-cc.m4 \
$(top_srcdir)/../aclocal/prog-cxx.m4 \
$(top_srcdir)/../aclocal/project-root.m4 \
$(top_srcdir)/../aclocal/rtems-test-no-pause.m4 \
$(top_srcdir)/../aclocal/rtems-top.m4 \
$(top_srcdir)/../aclocal/version.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(rtems_testsdir)" \
"$(DESTDIR)$(rtems_testsdir)"
PROGRAMS = $(rtems_tests_PROGRAMS)
am_block05_OBJECTS = init.$(OBJEXT)
block05_OBJECTS = $(am_block05_OBJECTS)
block05_DEPENDENCIES = \
$(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/../../depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(block05_SOURCES)
DIST_SOURCES = $(block05_SOURCES)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
DATA = $(dist_rtems_tests_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@ $(GCCSPECS)
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@ $(GCCSPECS)
CPPFLAGS = @CPPFLAGS@
CPUKIT_ROOT = @CPUKIT_ROOT@
CXX = @CXX@ $(GCCSPECS)
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ENDIF = @ENDIF@
EXEEXT = @EXEEXT@
GCCSPECS = @GCCSPECS@
HAS_CPLUSPLUS = @HAS_CPLUSPLUS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKE = @MAKE@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NM = @NM@
OBJCOPY = @OBJCOPY@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PACKHEX = @PACKHEX@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROJECT_INCLUDE = @PROJECT_INCLUDE@
PROJECT_LIB = @PROJECT_LIB@
PROJECT_RELEASE = @PROJECT_RELEASE@
PROJECT_ROOT = @PROJECT_ROOT@
PROJECT_TOPdir = @PROJECT_TOPdir@
RANLIB = @RANLIB@
RTEMS_BSP = @RTEMS_BSP@
RTEMS_BSP_FAMILY = @RTEMS_BSP_FAMILY@
RTEMS_CPU = @RTEMS_CPU@
RTEMS_ROOT = @RTEMS_ROOT@
RTEMS_TOPdir = @RTEMS_TOPdir@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE = @SIZE@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
rtems_testsdir = @rtems_testsdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
MANAGERS = io semaphore event
block05_SOURCES = init.c
dist_rtems_tests_DATA = block05.scn
AM_CPPFLAGS = -I$(top_srcdir)/../support/include
AM_CFLAGS =
AM_CXXFLAGS =
CXXLINK_APP = $(CXXLINK) $(LDLIBS) $(LINK_OBJS) $(LINK_LIBS)
LINK_APP = $(LINK) $(LDLIBS) $(LINK_OBJS) $(LINK_LIBS)
block05_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
LINK_OBJS = $(block05_OBJECTS) $(block05_LDADD)
LINK_LIBS = $(block05_LDLIBS)
PROJECT_TOOLS = $(PROJECT_RELEASE)/build-tools
all: all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../automake/compile.am $(top_srcdir)/../automake/leaf.am $(top_srcdir)/../automake/local.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign block05/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign block05/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-rtems_testsPROGRAMS: $(rtems_tests_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(rtems_testsdir)" || $(MKDIR_P) "$(DESTDIR)$(rtems_testsdir)"
@list='$(rtems_tests_PROGRAMS)'; test -n "$(rtems_testsdir)" || list=; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p; \
then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(rtems_testsdir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(rtems_testsdir)$$dir" || exit $$?; \
} \
; done
uninstall-rtems_testsPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(rtems_tests_PROGRAMS)'; test -n "$(rtems_testsdir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' `; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(rtems_testsdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(rtems_testsdir)" && rm -f $$files
clean-rtems_testsPROGRAMS:
-test -z "$(rtems_tests_PROGRAMS)" || rm -f $(rtems_tests_PROGRAMS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
install-dist_rtems_testsDATA: $(dist_rtems_tests_DATA)
@$(NORMAL_INSTALL)
test -z "$(rtems_testsdir)" || $(MKDIR_P) "$(DESTDIR)$(rtems_testsdir)"
@list='$(dist_rtems_tests_DATA)'; test -n "$(rtems_testsdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(rtems_testsdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(rtems_testsdir)" || exit $$?; \
done
uninstall-dist_rtems_testsDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_rtems_tests_DATA)'; test -n "$(rtems_testsdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
test -n "$$files" || exit 0; \
echo " ( cd '$(DESTDIR)$(rtems_testsdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(rtems_testsdir)" && rm -f $$files
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS) $(DATA)
installdirs:
for dir in "$(DESTDIR)$(rtems_testsdir)" "$(DESTDIR)$(rtems_testsdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-local clean-rtems_testsPROGRAMS \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_rtems_testsDATA \
install-rtems_testsPROGRAMS
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_rtems_testsDATA \
uninstall-rtems_testsPROGRAMS
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-local clean-rtems_testsPROGRAMS ctags distclean \
distclean-compile distclean-generic distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dist_rtems_testsDATA \
install-dvi install-dvi-am install-exec install-exec-am \
install-html install-html-am install-info install-info-am \
install-man install-pdf install-pdf-am install-ps \
install-ps-am install-rtems_testsPROGRAMS install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-dist_rtems_testsDATA \
uninstall-rtems_testsPROGRAMS
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
clean-local:
$(RM) *.num *.nxe *.elf *.srec* *.bin *.bt *.ralf
include $(RTEMS_ROOT)/make/leaf.cfg
ifndef make-cxx-exe
define make-cxx-exe
$(CXXLINK_APP)
endef
@ENDIF@
ifndef make-exe
define make-exe
$(LINK_APP)
endef
@ENDIF@
block05$(EXEEXT): $(block05_OBJECTS) $(block05_DEPENDENCIES)
@rm -f block05$(EXEEXT)
$(make-exe)
preinstall:
.PHONY: preinstall
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@@ -0,0 +1,2 @@
*** TEST BLOCK 5 ***
*** END OF TEST BLOCK 5 ***

View File

@@ -0,0 +1,487 @@
/**
* @file
*
* @ingroup test_bdbuf
*
* @brief Bdbuf test.
*/
/*
* Copyright (c) 2009
* embedded brains GmbH
* Obere Lagerstr. 30
* D-82178 Puchheim
* Germany
* <rtems@embedded-brains.de>
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#include <assert.h>
#include <stdarg.h>
#include <errno.h>
#include <rtems.h>
#include <rtems/bdbuf.h>
#include <rtems/diskdevs.h>
#define ASSERT_SC(sc) assert((sc) == RTEMS_SUCCESSFUL)
#define PRIORITY_INIT 1
#define PRIORITY_HIGH 2
#define PRIORITY_LOW_ALT 3
#define PRIORITY_SWAPOUT 4
#define PRIORITY_LOW 5
#define PRIORITY_RESUME 6
#define BLOCK_SIZE_A 1
#define BLOCK_COUNT_A 2
#define BLOCK_SIZE_B 2
#define BLOCK_COUNT_B 1
static unsigned output_level = 0;
static dev_t dev_a;
static dev_t dev_b;
static rtems_id task_id_init;
static rtems_id task_id_low;
static rtems_id task_id_high;
static rtems_id task_id_resume;
static volatile bool finish_low;
static volatile bool finish_high;
static volatile enum resume_style {
RESUME_IMMEDIATE,
RESUME_FINISH
} resume;
static volatile enum trig_style {
SUSP,
NO_SUSP
} trig;
static volatile enum get_type {
GET,
READ
} trig_get, low_get, high_get;
static volatile enum blk_kind {
BLK_A0,
BLK_A1,
BLK_B0
} trig_blk, low_blk, high_blk;
static volatile enum rel_type {
REL,
REL_MOD,
SYNC
} trig_rel, low_rel, high_rel;
static void print(unsigned level, const char *fmt, ...)
{
if (level <= output_level) {
va_list ap;
va_start(ap, fmt);
vprintk(fmt, ap);
va_end(ap);
}
}
static void set_task_prio(rtems_id task, rtems_task_priority prio)
{
rtems_status_code sc = RTEMS_SUCCESSFUL;
rtems_task_priority cur = 0;
sc = rtems_task_set_priority(task, prio, &cur);
ASSERT_SC(sc);
}
static rtems_bdbuf_buffer *get(enum get_type type, enum blk_kind kind)
{
rtems_status_code sc = RTEMS_SUCCESSFUL;
rtems_bdbuf_buffer *bd = NULL;
rtems_blkdev_bnum blk_index = 0;
rtems_status_code (*get_bd)(dev_t, rtems_blkdev_bnum, rtems_bdbuf_buffer **)
= NULL;
dev_t dev = 0;
switch (kind) {
case BLK_A0:
dev = dev_a;
blk_index = 0;
break;
case BLK_A1:
dev = dev_a;
blk_index = 1;
break;
case BLK_B0:
dev = dev_b;
blk_index = 0;
break;
default:
assert(false);
break;
}
switch (type) {
case GET:
get_bd = rtems_bdbuf_get;
break;
case READ:
get_bd = rtems_bdbuf_read;
break;
default:
assert(false);
break;
}
sc = (*get_bd)(dev, blk_index, &bd);
assert(sc == RTEMS_SUCCESSFUL && bd->dev == dev && bd->block == blk_index);
return bd;
}
static void rel(rtems_bdbuf_buffer *bd, enum rel_type type)
{
rtems_status_code sc = RTEMS_SUCCESSFUL;
rtems_status_code (*rel_bd)(rtems_bdbuf_buffer *) = NULL;
switch (type) {
case REL:
rel_bd = rtems_bdbuf_release;
break;
case REL_MOD:
rel_bd = rtems_bdbuf_release_modified;
break;
case SYNC:
rel_bd = rtems_bdbuf_sync;
break;
default:
assert(false);
break;
}
sc = (*rel_bd)(bd);
ASSERT_SC(sc);
}
static void task_low(rtems_task_argument arg)
{
rtems_status_code sc = RTEMS_SUCCESSFUL;
while (true) {
print(2, "LG\n");
rtems_bdbuf_buffer *bd = get(low_get, low_blk);
print(2, "LR\n");
rel(bd, low_rel);
finish_low = true;
sc = rtems_task_suspend(RTEMS_SELF);
ASSERT_SC(sc);
}
}
static void task_high(rtems_task_argument arg)
{
rtems_status_code sc = RTEMS_SUCCESSFUL;
while (true) {
print(2, "HG\n");
rtems_bdbuf_buffer *bd = get(high_get, high_blk);
print(2, "HR\n");
rel(bd, high_rel);
finish_high = true;
sc = rtems_task_suspend(RTEMS_SELF);
ASSERT_SC(sc);
}
}
static void task_resume(rtems_task_argument arg)
{
while (true) {
bool do_resume = false;
switch (resume) {
case RESUME_IMMEDIATE:
print(2, "RI\n");
do_resume = true;
break;
case RESUME_FINISH:
print(2, "RF\n");
do_resume = finish_low && finish_high;
break;
default:
assert(false);
break;
}
if (do_resume) {
rtems_task_resume(task_id_init);
}
}
}
static void execute_test(unsigned i)
{
rtems_status_code sc = RTEMS_SUCCESSFUL;
rtems_bdbuf_buffer *bd = NULL;
bool suspend = false;
print(
1,
"[%05u]T%i,TG%i,TB%i,TR%i,LG%i,LB%i,LR%i,HG%i,HB%i,HR%i\n",
i, trig, trig_get, trig_blk, trig_rel,
low_get, low_blk, low_rel,
high_get, high_blk, high_rel
);
set_task_prio(task_id_low, PRIORITY_LOW);
finish_low = false;
finish_high = false;
sc = rtems_task_resume(task_id_low);
ASSERT_SC(sc);
sc = rtems_task_resume(task_id_high);
ASSERT_SC(sc);
sc = rtems_bdbuf_get(dev_b, 0, &bd);
assert(sc == RTEMS_SUCCESSFUL && bd->dev == dev_b && bd->block == 0);
sc = rtems_bdbuf_release(bd);
ASSERT_SC(sc);
switch (trig) {
case SUSP:
suspend = true;
break;
case NO_SUSP:
suspend = false;
break;
default:
assert(false);
break;
}
print(2, "TG\n");
bd = get(trig_get, trig_blk);
if (suspend) {
print(2, "S\n");
resume = RESUME_IMMEDIATE;
sc = rtems_task_suspend(RTEMS_SELF);
ASSERT_SC(sc);
}
resume = RESUME_FINISH;
print(2, "TR\n");
rel(bd, trig_rel);
sc = rtems_task_suspend(RTEMS_SELF);
ASSERT_SC(sc);
print(2, "F\n");
sc = rtems_bdbuf_syncdev(dev_a);
ASSERT_SC(sc);
sc = rtems_bdbuf_syncdev(dev_b);
ASSERT_SC(sc);
}
static const rtems_driver_address_table disk_ops = {
.initialization_entry = NULL,
RTEMS_GENERIC_BLOCK_DEVICE_DRIVER_ENTRIES
};
static int disk_ioctl(rtems_disk_device *dd, uint32_t req, void *argp)
{
if (req == RTEMS_BLKIO_REQUEST) {
rtems_blkdev_request *r = argp;
set_task_prio(task_id_low, PRIORITY_LOW_ALT);
switch (r->req) {
case RTEMS_BLKDEV_REQ_READ:
case RTEMS_BLKDEV_REQ_WRITE:
r->req_done(r->done_arg, RTEMS_SUCCESSFUL, 0);
return 0;
default:
errno = EINVAL;
return -1;
}
} else {
return rtems_blkdev_ioctl(dd, req, argp);
}
}
rtems_status_code disk_register(
uint32_t block_size,
rtems_blkdev_bnum block_count,
dev_t *dev_ptr
)
{
rtems_status_code sc = RTEMS_SUCCESSFUL;
rtems_device_major_number major = 0;
dev_t dev = 0;
sc = rtems_io_register_driver(0, &disk_ops, &major);
ASSERT_SC(sc);
dev = rtems_filesystem_make_dev_t(major, 0);
sc = rtems_disk_create_phys(
dev,
block_size,
block_count,
disk_ioctl,
NULL,
NULL
);
ASSERT_SC(sc);
*dev_ptr = dev;
return RTEMS_SUCCESSFUL;
}
static rtems_task Init(rtems_task_argument argument)
{
rtems_status_code sc = RTEMS_SUCCESSFUL;
unsigned i = 0;
printk("\n\n*** TEST BLOCK 5 ***\n");
task_id_init = rtems_task_self();
sc = rtems_disk_io_initialize();
ASSERT_SC(sc);
sc = disk_register(BLOCK_SIZE_A, BLOCK_COUNT_A, &dev_a);
ASSERT_SC(sc);
sc = disk_register(BLOCK_SIZE_B, BLOCK_COUNT_B, &dev_b);
ASSERT_SC(sc);
sc = rtems_task_create(
rtems_build_name(' ', 'L', 'O', 'W'),
PRIORITY_LOW,
0,
RTEMS_DEFAULT_MODES,
RTEMS_DEFAULT_ATTRIBUTES,
&task_id_low
);
ASSERT_SC(sc);
sc = rtems_task_start(task_id_low, task_low, 0);
ASSERT_SC(sc);
sc = rtems_task_create(
rtems_build_name('H', 'I', 'G', 'H'),
PRIORITY_HIGH,
0,
RTEMS_DEFAULT_MODES,
RTEMS_DEFAULT_ATTRIBUTES,
&task_id_high
);
ASSERT_SC(sc);
sc = rtems_task_start(task_id_high, task_high, 0);
ASSERT_SC(sc);
sc = rtems_task_create(
rtems_build_name('R', 'E', 'S', 'U'),
PRIORITY_RESUME,
0,
RTEMS_DEFAULT_MODES,
RTEMS_DEFAULT_ATTRIBUTES,
&task_id_resume
);
ASSERT_SC(sc);
sc = rtems_task_start(task_id_resume, task_resume, 0);
ASSERT_SC(sc);
sc = rtems_task_suspend(task_id_low);
ASSERT_SC(sc);
sc = rtems_task_suspend(task_id_high);
ASSERT_SC(sc);
for (trig = SUSP; trig <= NO_SUSP; ++trig) {
for (trig_get = GET; trig_get <= READ; ++trig_get) {
for (low_get = GET; low_get <= READ; ++low_get) {
for (high_get = GET; high_get <= READ; ++high_get) {
for (trig_blk = BLK_A0; trig_blk <= BLK_B0; ++trig_blk) {
for (low_blk = BLK_A0; low_blk <= BLK_B0; ++low_blk) {
for (high_blk = BLK_A0; high_blk <= BLK_B0; ++high_blk) {
for (trig_rel = REL; trig_rel <= SYNC; ++trig_rel) {
for (low_rel = REL; low_rel <= SYNC; ++low_rel) {
for (high_rel = REL; high_rel <= SYNC; ++high_rel) {
execute_test(i);
++i;
}
}
}
}
}
}
}
}
}
}
printk("*** END OF TEST BLOCK 5 ***\n");
exit(0);
}
#define CONFIGURE_INIT
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_LIBBLOCK
#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
#define CONFIGURE_MAXIMUM_TASKS 6
#define CONFIGURE_MAXIMUM_DRIVERS 4
#define CONFIGURE_MAXIMUM_SEMAPHORES 5
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
#define CONFIGURE_INIT_TASK_PRIORITY PRIORITY_INIT
#define CONFIGURE_INIT_TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES
#define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES
#define CONFIGURE_SWAPOUT_TASK_PRIORITY PRIORITY_SWAPOUT
#define CONFIGURE_BDBUF_BUFFER_MIN_SIZE BLOCK_SIZE_A
#define CONFIGURE_BDBUF_BUFFER_MAX_SIZE BLOCK_SIZE_B
#define CONFIGURE_BDBUF_CACHE_MEMORY_SIZE BLOCK_SIZE_B
#include <rtems/confdefs.h>

View File

@@ -0,0 +1,27 @@
##
## $Id$
##
MANAGERS = io semaphore event
rtems_tests_PROGRAMS = block06
block06_SOURCES = init.c
dist_rtems_tests_DATA = block06.scn
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
block06_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
LINK_OBJS = $(block06_OBJECTS) $(block06_LDADD)
LINK_LIBS = $(block06_LDLIBS)
block06$(EXEEXT): $(block06_OBJECTS) $(block06_DEPENDENCIES)
@rm -f block06$(EXEEXT)
$(make-exe)
include $(top_srcdir)/../automake/local.am

View File

@@ -0,0 +1,583 @@
# Makefile.in generated by automake 1.11 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
rtems_tests_PROGRAMS = block06$(EXEEXT)
DIST_COMMON = $(dist_rtems_tests_DATA) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(top_srcdir)/../automake/compile.am \
$(top_srcdir)/../automake/leaf.am \
$(top_srcdir)/../automake/local.am
subdir = block06
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = \
$(top_srcdir)/../aclocal/canonical-target-name.m4 \
$(top_srcdir)/../aclocal/canonicalize-tools.m4 \
$(top_srcdir)/../aclocal/check-custom-bsp.m4 \
$(top_srcdir)/../aclocal/check-cxx.m4 \
$(top_srcdir)/../aclocal/check-tool.m4 \
$(top_srcdir)/../aclocal/enable-cxx.m4 \
$(top_srcdir)/../aclocal/env-rtemsbsp.m4 \
$(top_srcdir)/../aclocal/prog-cc.m4 \
$(top_srcdir)/../aclocal/prog-cxx.m4 \
$(top_srcdir)/../aclocal/project-root.m4 \
$(top_srcdir)/../aclocal/rtems-test-no-pause.m4 \
$(top_srcdir)/../aclocal/rtems-top.m4 \
$(top_srcdir)/../aclocal/version.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(rtems_testsdir)" \
"$(DESTDIR)$(rtems_testsdir)"
PROGRAMS = $(rtems_tests_PROGRAMS)
am_block06_OBJECTS = init.$(OBJEXT)
block06_OBJECTS = $(am_block06_OBJECTS)
block06_DEPENDENCIES = \
$(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/../../depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(block06_SOURCES)
DIST_SOURCES = $(block06_SOURCES)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
DATA = $(dist_rtems_tests_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@ $(GCCSPECS)
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@ $(GCCSPECS)
CPPFLAGS = @CPPFLAGS@
CPUKIT_ROOT = @CPUKIT_ROOT@
CXX = @CXX@ $(GCCSPECS)
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ENDIF = @ENDIF@
EXEEXT = @EXEEXT@
GCCSPECS = @GCCSPECS@
HAS_CPLUSPLUS = @HAS_CPLUSPLUS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKE = @MAKE@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NM = @NM@
OBJCOPY = @OBJCOPY@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PACKHEX = @PACKHEX@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROJECT_INCLUDE = @PROJECT_INCLUDE@
PROJECT_LIB = @PROJECT_LIB@
PROJECT_RELEASE = @PROJECT_RELEASE@
PROJECT_ROOT = @PROJECT_ROOT@
PROJECT_TOPdir = @PROJECT_TOPdir@
RANLIB = @RANLIB@
RTEMS_BSP = @RTEMS_BSP@
RTEMS_BSP_FAMILY = @RTEMS_BSP_FAMILY@
RTEMS_CPU = @RTEMS_CPU@
RTEMS_ROOT = @RTEMS_ROOT@
RTEMS_TOPdir = @RTEMS_TOPdir@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE = @SIZE@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
rtems_testsdir = @rtems_testsdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
MANAGERS = io semaphore event
block06_SOURCES = init.c
dist_rtems_tests_DATA = block06.scn
AM_CPPFLAGS = -I$(top_srcdir)/../support/include
AM_CFLAGS =
AM_CXXFLAGS =
CXXLINK_APP = $(CXXLINK) $(LDLIBS) $(LINK_OBJS) $(LINK_LIBS)
LINK_APP = $(LINK) $(LDLIBS) $(LINK_OBJS) $(LINK_LIBS)
block06_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
LINK_OBJS = $(block06_OBJECTS) $(block06_LDADD)
LINK_LIBS = $(block06_LDLIBS)
PROJECT_TOOLS = $(PROJECT_RELEASE)/build-tools
all: all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../automake/compile.am $(top_srcdir)/../automake/leaf.am $(top_srcdir)/../automake/local.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign block06/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign block06/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-rtems_testsPROGRAMS: $(rtems_tests_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(rtems_testsdir)" || $(MKDIR_P) "$(DESTDIR)$(rtems_testsdir)"
@list='$(rtems_tests_PROGRAMS)'; test -n "$(rtems_testsdir)" || list=; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p; \
then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(rtems_testsdir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(rtems_testsdir)$$dir" || exit $$?; \
} \
; done
uninstall-rtems_testsPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(rtems_tests_PROGRAMS)'; test -n "$(rtems_testsdir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' `; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(rtems_testsdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(rtems_testsdir)" && rm -f $$files
clean-rtems_testsPROGRAMS:
-test -z "$(rtems_tests_PROGRAMS)" || rm -f $(rtems_tests_PROGRAMS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
install-dist_rtems_testsDATA: $(dist_rtems_tests_DATA)
@$(NORMAL_INSTALL)
test -z "$(rtems_testsdir)" || $(MKDIR_P) "$(DESTDIR)$(rtems_testsdir)"
@list='$(dist_rtems_tests_DATA)'; test -n "$(rtems_testsdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(rtems_testsdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(rtems_testsdir)" || exit $$?; \
done
uninstall-dist_rtems_testsDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_rtems_tests_DATA)'; test -n "$(rtems_testsdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
test -n "$$files" || exit 0; \
echo " ( cd '$(DESTDIR)$(rtems_testsdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(rtems_testsdir)" && rm -f $$files
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS) $(DATA)
installdirs:
for dir in "$(DESTDIR)$(rtems_testsdir)" "$(DESTDIR)$(rtems_testsdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-local clean-rtems_testsPROGRAMS \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_rtems_testsDATA \
install-rtems_testsPROGRAMS
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_rtems_testsDATA \
uninstall-rtems_testsPROGRAMS
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-local clean-rtems_testsPROGRAMS ctags distclean \
distclean-compile distclean-generic distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dist_rtems_testsDATA \
install-dvi install-dvi-am install-exec install-exec-am \
install-html install-html-am install-info install-info-am \
install-man install-pdf install-pdf-am install-ps \
install-ps-am install-rtems_testsPROGRAMS install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-dist_rtems_testsDATA \
uninstall-rtems_testsPROGRAMS
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
clean-local:
$(RM) *.num *.nxe *.elf *.srec* *.bin *.bt *.ralf
include $(RTEMS_ROOT)/make/leaf.cfg
ifndef make-cxx-exe
define make-cxx-exe
$(CXXLINK_APP)
endef
@ENDIF@
ifndef make-exe
define make-exe
$(LINK_APP)
endef
@ENDIF@
block06$(EXEEXT): $(block06_OBJECTS) $(block06_DEPENDENCIES)
@rm -f block06$(EXEEXT)
$(make-exe)
preinstall:
.PHONY: preinstall
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@@ -0,0 +1,512 @@
*** TEST BLOCK 6 ***
lower priority to 31: successful completion
register disk driver
disk io init: successful completion
disk init: /dev/bddisk0
disk lock: successful completion
disk init: /dev/bddisk1
disk lock: successful completion
creating task: bdt0: priority: 30: successful completion
starting task: bdt0: successful completion
creating task: bdt1: priority: 29: successful completion
starting task: bdt1: successful completion
creating task: bdt2: priority: 28: successful completion
starting task: bdt2: successful completion
test 1: Task 0 get buffer 0 from pool 0
master: wake task 0: 0a010003: successful completion
bdt0: rtems_bdbuf_get[0]: successful completion
bdt0: rtems_bdbuf_release[0]: successful completion
bdt0: rtems_bdbuf_get[0]: successful completion
bdt0: rtems_bdbuf_release[0]: successful completion
test 1: passed
test 2: Task 0 get buffer 0 -> 4 from pool 0, task 2 and 1 block getting
master: wake task 0: 0a010003: successful completion
bdt0: rtems_bdbuf_get[0]: successful completion
bdt0: rtems_bdbuf_get[1]: successful completion
bdt0: rtems_bdbuf_get[2]: successful completion
bdt0: rtems_bdbuf_get[3]: successful completion
bdt0: rtems_bdbuf_get[4]: successful completion
bdt0: wake master: 0a010001: successful completion
master: wake task 1: 0a010004: successful completion
master: wake task 2: 0a010005: successful completion
master: wake task 0: 0a010003: successful completion
bdt2: rtems_bdbuf_get[0]: blocking ...
bdt1: rtems_bdbuf_get[0]: blocking ...
bdt0: rtems_bdbuf_release[0]: unblocks task 1
bdt2: rtems_bdbuf_get[0]: successful completion
bdt2: rtems_bdbuf_release[0]: successful completion
bdt2: wake master: 0a010001: successful completion
bdt2: rtems_bdbuf_get[1]: blocking ...
bdt1: rtems_bdbuf_get[0]: successful completion
bdt1: rtems_bdbuf_release[0]: successful completion
bdt1: rtems_bdbuf_get[1]: blocking ...
bdt0: rtems_bdbuf_release[0]: successful completion
master: wake task 0: 0a010003: successful completion
bdt0: rtems_bdbuf_release[1]: unblocks task 1
bdt2: rtems_bdbuf_get[1]: successful completion
bdt2: rtems_bdbuf_release[1]: successful completion
bdt2: wake master: 0a010001: successful completion
bdt2: rtems_bdbuf_get[2]: blocking ...
bdt1: rtems_bdbuf_get[1]: successful completion
bdt1: rtems_bdbuf_release[1]: successful completion
bdt1: rtems_bdbuf_get[2]: blocking ...
bdt0: rtems_bdbuf_release[1]: successful completion
master: wake task 0: 0a010003: successful completion
bdt0: rtems_bdbuf_release[2]: unblocks task 1
bdt2: rtems_bdbuf_get[2]: successful completion
bdt2: rtems_bdbuf_release[2]: successful completion
bdt2: wake master: 0a010001: successful completion
bdt2: rtems_bdbuf_get[3]: blocking ...
bdt1: rtems_bdbuf_get[2]: successful completion
bdt1: rtems_bdbuf_release[2]: successful completion
bdt1: rtems_bdbuf_get[3]: blocking ...
bdt0: rtems_bdbuf_release[2]: successful completion
master: wake task 0: 0a010003: successful completion
bdt0: rtems_bdbuf_release[3]: unblocks task 1
bdt2: rtems_bdbuf_get[3]: successful completion
bdt2: rtems_bdbuf_release[3]: successful completion
bdt2: wake master: 0a010001: successful completion
bdt2: rtems_bdbuf_get[4]: blocking ...
bdt1: rtems_bdbuf_get[3]: successful completion
bdt1: rtems_bdbuf_release[3]: successful completion
bdt1: rtems_bdbuf_get[4]: blocking ...
bdt0: rtems_bdbuf_release[3]: successful completion
master: wake task 0: 0a010003: successful completion
bdt0: rtems_bdbuf_release[4]: unblocks task 1
bdt2: rtems_bdbuf_get[4]: successful completion
bdt2: rtems_bdbuf_release[4]: successful completion
bdt2: wake master: 0a010001: successful completion
bdt1: rtems_bdbuf_get[4]: successful completion
bdt1: rtems_bdbuf_release[4]: successful completion
bdt0: rtems_bdbuf_release[4]: successful completion
test 2: passed
test 3: Task 0 read buffer 5, modify and release modified
master: wake task 0: 0a010003: successful completion
bdt0: rtems_bdbuf_read[5]: successful completion
bdt0: rtems_bdbuf_release_modified[5]: successful completion
bdt0: rtems_bdbuf_read[5]: successful completion
bdt0: rtems_bdbuf_release[5]: successful completion
bdt0: disk ioctl: wake watcher: 0a010003: successful completion
test 3: passed
test 4: Task 0 read all buffers, task 1 blocks waiting for acessed buffer
master: wake task 0: 0a010003: successful completion
bdt0: rtems_bdbuf_read[0]: successful completion
bdt0: rtems_bdbuf_read[1]: successful completion
bdt0: rtems_bdbuf_read[2]: successful completion
bdt0: rtems_bdbuf_read[3]: successful completion
bdt0: rtems_bdbuf_read[4]: successful completion
bdt0: rtems_bdbuf_read[5]: successful completion
bdt0: rtems_bdbuf_read[6]: successful completion
bdt0: rtems_bdbuf_read[7]: successful completion
bdt0: rtems_bdbuf_read[8]: successful completion
bdt0: rtems_bdbuf_read[9]: successful completion
bdt0: rtems_bdbuf_read[10]: successful completion
bdt0: rtems_bdbuf_read[11]: successful completion
bdt0: rtems_bdbuf_read[12]: successful completion
bdt0: rtems_bdbuf_read[13]: successful completion
bdt0: rtems_bdbuf_read[14]: successful completion
bdt0: rtems_bdbuf_read[15]: successful completion
bdt0: rtems_bdbuf_read[16]: successful completion
bdt0: rtems_bdbuf_read[17]: successful completion
bdt0: rtems_bdbuf_read[18]: successful completion
bdt0: rtems_bdbuf_read[19]: successful completion
bdt0: rtems_bdbuf_read[20]: successful completion
bdt0: rtems_bdbuf_read[21]: successful completion
bdt0: rtems_bdbuf_read[22]: successful completion
bdt0: rtems_bdbuf_read[23]: successful completion
bdt0: rtems_bdbuf_read[24]: successful completion
bdt0: rtems_bdbuf_read[25]: successful completion
bdt0: rtems_bdbuf_read[26]: successful completion
bdt0: rtems_bdbuf_read[27]: successful completion
bdt0: rtems_bdbuf_read[28]: successful completion
bdt0: rtems_bdbuf_read[29]: successful completion
bdt0: rtems_bdbuf_read[30]: successful completion
bdt0: rtems_bdbuf_read[31]: successful completion
bdt0: rtems_bdbuf_read[32]: successful completion
bdt0: rtems_bdbuf_read[33]: successful completion
bdt0: rtems_bdbuf_read[34]: successful completion
bdt0: rtems_bdbuf_read[35]: successful completion
bdt0: rtems_bdbuf_read[36]: successful completion
bdt0: rtems_bdbuf_read[37]: successful completion
bdt0: rtems_bdbuf_read[38]: successful completion
bdt0: rtems_bdbuf_read[39]: successful completion
bdt0: rtems_bdbuf_read[40]: successful completion
bdt0: rtems_bdbuf_read[41]: successful completion
bdt0: rtems_bdbuf_read[42]: successful completion
bdt0: rtems_bdbuf_read[43]: successful completion
bdt0: rtems_bdbuf_read[44]: successful completion
bdt0: rtems_bdbuf_read[45]: successful completion
bdt0: rtems_bdbuf_read[46]: successful completion
bdt0: rtems_bdbuf_read[47]: successful completion
bdt0: rtems_bdbuf_read[48]: successful completion
bdt0: rtems_bdbuf_read[49]: successful completion
bdt0: rtems_bdbuf_read[50]: successful completion
bdt0: rtems_bdbuf_read[51]: successful completion
bdt0: rtems_bdbuf_read[52]: successful completion
bdt0: rtems_bdbuf_read[53]: successful completion
bdt0: rtems_bdbuf_read[54]: successful completion
bdt0: rtems_bdbuf_read[55]: successful completion
bdt0: rtems_bdbuf_read[56]: successful completion
bdt0: rtems_bdbuf_read[57]: successful completion
bdt0: rtems_bdbuf_read[58]: successful completion
bdt0: rtems_bdbuf_read[59]: successful completion
bdt0: rtems_bdbuf_read[60]: successful completion
bdt0: rtems_bdbuf_read[61]: successful completion
bdt0: rtems_bdbuf_read[62]: successful completion
bdt0: rtems_bdbuf_read[63]: successful completion
bdt0: wake master: 0a010001: successful completion
master: wake task 1: 0a010004: successful completion
bdt1: rtems_bdbuf_get[0]: blocking ...
master: wake task 0: 0a010003: successful completion
bdt0: rtems_bdbuf_release_modified[0]: unblocks task 1
bdt1: rtems_bdbuf_get[0]: successful completion
bdt1: rtems_bdbuf_release[0]: successful completion
bdt1: rtems_bdbuf_get[1]: blocking ...
bdt0: rtems_bdbuf_release_modified[0]: successful completion
bdt0: rtems_bdbuf_release_modified[1]: unblocks task 1
bdt1: rtems_bdbuf_get[1]: successful completion
bdt1: rtems_bdbuf_release[1]: successful completion
bdt1: rtems_bdbuf_get[2]: blocking ...
bdt0: rtems_bdbuf_release_modified[1]: successful completion
bdt0: rtems_bdbuf_release_modified[2]: unblocks task 1
bdt1: rtems_bdbuf_get[2]: successful completion
bdt1: rtems_bdbuf_release[2]: successful completion
bdt1: rtems_bdbuf_get[3]: blocking ...
bdt0: rtems_bdbuf_release_modified[2]: successful completion
bdt0: rtems_bdbuf_release_modified[3]: unblocks task 1
bdt1: rtems_bdbuf_get[3]: successful completion
bdt1: rtems_bdbuf_release[3]: successful completion
bdt1: rtems_bdbuf_get[4]: blocking ...
bdt0: rtems_bdbuf_release_modified[3]: successful completion
bdt0: rtems_bdbuf_release_modified[4]: unblocks task 1
bdt1: rtems_bdbuf_get[4]: successful completion
bdt1: rtems_bdbuf_release[4]: successful completion
bdt1: rtems_bdbuf_get[5]: blocking ...
bdt0: rtems_bdbuf_release_modified[4]: successful completion
bdt0: rtems_bdbuf_release_modified[5]: unblocks task 1
bdt1: rtems_bdbuf_get[5]: successful completion
bdt1: rtems_bdbuf_release[5]: successful completion
bdt1: rtems_bdbuf_get[6]: blocking ...
bdt0: rtems_bdbuf_release_modified[5]: successful completion
bdt0: rtems_bdbuf_release_modified[6]: unblocks task 1
bdt1: rtems_bdbuf_get[6]: successful completion
bdt1: rtems_bdbuf_release[6]: successful completion
bdt1: rtems_bdbuf_get[7]: blocking ...
bdt0: rtems_bdbuf_release_modified[6]: successful completion
bdt0: rtems_bdbuf_release_modified[7]: unblocks task 1
bdt1: rtems_bdbuf_get[7]: successful completion
bdt1: rtems_bdbuf_release[7]: successful completion
bdt1: rtems_bdbuf_get[8]: blocking ...
bdt0: rtems_bdbuf_release_modified[7]: successful completion
bdt0: rtems_bdbuf_release_modified[8]: unblocks task 1
bdt1: rtems_bdbuf_get[8]: successful completion
bdt1: rtems_bdbuf_release[8]: successful completion
bdt0: rtems_bdbuf_release_modified[8]: successful completion
bdt0: rtems_bdbuf_release_modified[9]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[9]: successful completion
bdt0: rtems_bdbuf_release_modified[10]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[10]: successful completion
bdt0: rtems_bdbuf_release_modified[11]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[11]: successful completion
bdt0: rtems_bdbuf_release_modified[12]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[12]: successful completion
bdt0: rtems_bdbuf_release_modified[13]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[13]: successful completion
bdt0: rtems_bdbuf_release_modified[14]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[14]: successful completion
bdt0: rtems_bdbuf_release_modified[15]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[15]: successful completion
bdt0: rtems_bdbuf_release_modified[16]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[16]: successful completion
bdt0: rtems_bdbuf_release_modified[17]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[17]: successful completion
bdt0: rtems_bdbuf_release_modified[18]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[18]: successful completion
bdt0: rtems_bdbuf_release_modified[19]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[19]: successful completion
bdt0: rtems_bdbuf_release_modified[20]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[20]: successful completion
bdt0: rtems_bdbuf_release_modified[21]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[21]: successful completion
bdt0: rtems_bdbuf_release_modified[22]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[22]: successful completion
bdt0: rtems_bdbuf_release_modified[23]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[23]: successful completion
bdt0: rtems_bdbuf_release_modified[24]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[24]: successful completion
bdt0: rtems_bdbuf_release_modified[25]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[25]: successful completion
bdt0: rtems_bdbuf_release_modified[26]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[26]: successful completion
bdt0: rtems_bdbuf_release_modified[27]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[27]: successful completion
bdt0: rtems_bdbuf_release_modified[28]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[28]: successful completion
bdt0: rtems_bdbuf_release_modified[29]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[29]: successful completion
bdt0: rtems_bdbuf_release_modified[30]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[30]: successful completion
bdt0: rtems_bdbuf_release_modified[31]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[31]: successful completion
bdt0: disk ioctl: wake watcher: 0a010003: successful completion
bdt0: rtems_bdbuf_release_modified[32]: successful completion
bdt0: rtems_bdbuf_release_modified[33]: successful completion
bdt0: rtems_bdbuf_release_modified[34]: successful completion
bdt0: rtems_bdbuf_release_modified[35]: successful completion
bdt0: rtems_bdbuf_release_modified[36]: successful completion
bdt0: rtems_bdbuf_release_modified[37]: successful completion
bdt0: rtems_bdbuf_release_modified[38]: successful completion
bdt0: rtems_bdbuf_release_modified[39]: successful completion
bdt0: rtems_bdbuf_release_modified[40]: successful completion
bdt0: rtems_bdbuf_release_modified[41]: successful completion
bdt0: rtems_bdbuf_release_modified[42]: successful completion
bdt0: rtems_bdbuf_release_modified[43]: successful completion
bdt0: rtems_bdbuf_release_modified[44]: successful completion
bdt0: rtems_bdbuf_release_modified[45]: successful completion
bdt0: rtems_bdbuf_release_modified[46]: successful completion
bdt0: rtems_bdbuf_release_modified[47]: successful completion
bdt0: rtems_bdbuf_release_modified[48]: successful completion
bdt0: rtems_bdbuf_release_modified[49]: successful completion
bdt0: rtems_bdbuf_release_modified[50]: successful completion
bdt0: rtems_bdbuf_release_modified[51]: successful completion
bdt0: rtems_bdbuf_release_modified[52]: successful completion
bdt0: rtems_bdbuf_release_modified[53]: successful completion
bdt0: rtems_bdbuf_release_modified[54]: successful completion
bdt0: rtems_bdbuf_release_modified[55]: successful completion
bdt0: rtems_bdbuf_release_modified[56]: successful completion
bdt0: rtems_bdbuf_release_modified[57]: successful completion
bdt0: rtems_bdbuf_release_modified[58]: successful completion
bdt0: rtems_bdbuf_release_modified[59]: successful completion
bdt0: rtems_bdbuf_release_modified[60]: successful completion
bdt0: rtems_bdbuf_release_modified[61]: successful completion
bdt0: rtems_bdbuf_release_modified[62]: successful completion
bdt0: rtems_bdbuf_release_modified[63]: successful completion
bdt0: disk ioctl: wake watcher: 0a010003: successful completion
test 4: passed
test 5: Task 0 read all buffers, task 1 blocks waiting for new buffer
master: wake task 0: 0a010003: successful completion
bdt0: rtems_bdbuf_read[0]: successful completion
bdt0: rtems_bdbuf_read[1]: successful completion
bdt0: rtems_bdbuf_read[2]: successful completion
bdt0: rtems_bdbuf_read[3]: successful completion
bdt0: rtems_bdbuf_read[4]: successful completion
bdt0: rtems_bdbuf_read[5]: successful completion
bdt0: rtems_bdbuf_read[6]: successful completion
bdt0: rtems_bdbuf_read[7]: successful completion
bdt0: rtems_bdbuf_read[8]: successful completion
bdt0: rtems_bdbuf_read[9]: successful completion
bdt0: rtems_bdbuf_read[10]: successful completion
bdt0: rtems_bdbuf_read[11]: successful completion
bdt0: rtems_bdbuf_read[12]: successful completion
bdt0: rtems_bdbuf_read[13]: successful completion
bdt0: rtems_bdbuf_read[14]: successful completion
bdt0: rtems_bdbuf_read[15]: successful completion
bdt0: rtems_bdbuf_read[16]: successful completion
bdt0: rtems_bdbuf_read[17]: successful completion
bdt0: rtems_bdbuf_read[18]: successful completion
bdt0: rtems_bdbuf_read[19]: successful completion
bdt0: rtems_bdbuf_read[20]: successful completion
bdt0: rtems_bdbuf_read[21]: successful completion
bdt0: rtems_bdbuf_read[22]: successful completion
bdt0: rtems_bdbuf_read[23]: successful completion
bdt0: rtems_bdbuf_read[24]: successful completion
bdt0: rtems_bdbuf_read[25]: successful completion
bdt0: rtems_bdbuf_read[26]: successful completion
bdt0: rtems_bdbuf_read[27]: successful completion
bdt0: rtems_bdbuf_read[28]: successful completion
bdt0: rtems_bdbuf_read[29]: successful completion
bdt0: rtems_bdbuf_read[30]: successful completion
bdt0: rtems_bdbuf_read[31]: successful completion
bdt0: rtems_bdbuf_read[32]: successful completion
bdt0: rtems_bdbuf_read[33]: successful completion
bdt0: rtems_bdbuf_read[34]: successful completion
bdt0: rtems_bdbuf_read[35]: successful completion
bdt0: rtems_bdbuf_read[36]: successful completion
bdt0: rtems_bdbuf_read[37]: successful completion
bdt0: rtems_bdbuf_read[38]: successful completion
bdt0: rtems_bdbuf_read[39]: successful completion
bdt0: rtems_bdbuf_read[40]: successful completion
bdt0: rtems_bdbuf_read[41]: successful completion
bdt0: rtems_bdbuf_read[42]: successful completion
bdt0: rtems_bdbuf_read[43]: successful completion
bdt0: rtems_bdbuf_read[44]: successful completion
bdt0: rtems_bdbuf_read[45]: successful completion
bdt0: rtems_bdbuf_read[46]: successful completion
bdt0: rtems_bdbuf_read[47]: successful completion
bdt0: rtems_bdbuf_read[48]: successful completion
bdt0: rtems_bdbuf_read[49]: successful completion
bdt0: rtems_bdbuf_read[50]: successful completion
bdt0: rtems_bdbuf_read[51]: successful completion
bdt0: rtems_bdbuf_read[52]: successful completion
bdt0: rtems_bdbuf_read[53]: successful completion
bdt0: rtems_bdbuf_read[54]: successful completion
bdt0: rtems_bdbuf_read[55]: successful completion
bdt0: rtems_bdbuf_read[56]: successful completion
bdt0: rtems_bdbuf_read[57]: successful completion
bdt0: rtems_bdbuf_read[58]: successful completion
bdt0: rtems_bdbuf_read[59]: successful completion
bdt0: rtems_bdbuf_read[60]: successful completion
bdt0: rtems_bdbuf_read[61]: successful completion
bdt0: rtems_bdbuf_read[62]: successful completion
bdt0: rtems_bdbuf_read[63]: successful completion
bdt0: wake master: 0a010001: successful completion
master: wake task 1: 0a010004: successful completion
bdt1: rtems_bdbuf_get[20]: blocking ...
master: wake task 0: 0a010003: successful completion
bdt0: rtems_bdbuf_release_modified[0]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[0]: successful completion
bdt0: rtems_bdbuf_release_modified[1]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[1]: successful completion
bdt0: rtems_bdbuf_release_modified[2]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[2]: successful completion
bdt0: rtems_bdbuf_release_modified[3]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[3]: successful completion
bdt0: rtems_bdbuf_release_modified[4]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[4]: successful completion
bdt0: rtems_bdbuf_release_modified[5]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[5]: successful completion
bdt0: rtems_bdbuf_release_modified[6]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[6]: successful completion
bdt0: rtems_bdbuf_release_modified[7]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[7]: successful completion
bdt0: rtems_bdbuf_release_modified[8]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[8]: successful completion
bdt0: rtems_bdbuf_release_modified[9]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[9]: successful completion
bdt0: rtems_bdbuf_release_modified[10]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[10]: successful completion
bdt0: rtems_bdbuf_release_modified[11]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[11]: successful completion
bdt0: rtems_bdbuf_release_modified[12]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[12]: successful completion
bdt0: rtems_bdbuf_release_modified[13]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[13]: successful completion
bdt0: rtems_bdbuf_release_modified[14]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[14]: successful completion
bdt0: rtems_bdbuf_release_modified[15]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[15]: successful completion
bdt0: rtems_bdbuf_release_modified[16]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[16]: successful completion
bdt0: rtems_bdbuf_release_modified[17]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[17]: successful completion
bdt0: rtems_bdbuf_release_modified[18]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[18]: successful completion
bdt0: rtems_bdbuf_release_modified[19]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[19]: successful completion
bdt0: rtems_bdbuf_release_modified[20]: unblocks task 1
bdt1: rtems_bdbuf_get[20]: successful completion
bdt1: rtems_bdbuf_release[20]: successful completion
bdt1: rtems_bdbuf_get[21]: blocking ...
bdt0: rtems_bdbuf_release_modified[20]: successful completion
bdt0: rtems_bdbuf_release_modified[21]: unblocks task 1
bdt1: rtems_bdbuf_get[21]: successful completion
bdt1: rtems_bdbuf_release[21]: successful completion
bdt1: rtems_bdbuf_get[22]: blocking ...
bdt0: rtems_bdbuf_release_modified[21]: successful completion
bdt0: rtems_bdbuf_release_modified[22]: unblocks task 1
bdt1: rtems_bdbuf_get[22]: successful completion
bdt1: rtems_bdbuf_release[22]: successful completion
bdt1: rtems_bdbuf_get[23]: blocking ...
bdt0: rtems_bdbuf_release_modified[22]: successful completion
bdt0: rtems_bdbuf_release_modified[23]: unblocks task 1
bdt1: rtems_bdbuf_get[23]: successful completion
bdt1: rtems_bdbuf_release[23]: successful completion
bdt1: rtems_bdbuf_get[24]: blocking ...
bdt0: rtems_bdbuf_release_modified[23]: successful completion
bdt0: rtems_bdbuf_release_modified[24]: unblocks task 1
bdt1: rtems_bdbuf_get[24]: successful completion
bdt1: rtems_bdbuf_release[24]: successful completion
bdt0: rtems_bdbuf_release_modified[24]: successful completion
bdt0: rtems_bdbuf_release_modified[25]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[25]: successful completion
bdt0: rtems_bdbuf_release_modified[26]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[26]: successful completion
bdt0: rtems_bdbuf_release_modified[27]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[27]: successful completion
bdt0: rtems_bdbuf_release_modified[28]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[28]: successful completion
bdt0: rtems_bdbuf_release_modified[29]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[29]: successful completion
bdt0: rtems_bdbuf_release_modified[30]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[30]: successful completion
bdt0: rtems_bdbuf_release_modified[31]: unblocks task 1
bdt0: rtems_bdbuf_release_modified[31]: successful completion
bdt0: disk ioctl: wake watcher: 0a010003: successful completion
bdt0: rtems_bdbuf_release_modified[32]: successful completion
bdt0: rtems_bdbuf_release_modified[33]: successful completion
bdt0: rtems_bdbuf_release_modified[34]: successful completion
bdt0: rtems_bdbuf_release_modified[35]: successful completion
bdt0: rtems_bdbuf_release_modified[36]: successful completion
bdt0: rtems_bdbuf_release_modified[37]: successful completion
bdt0: rtems_bdbuf_release_modified[38]: successful completion
bdt0: rtems_bdbuf_release_modified[39]: successful completion
bdt0: rtems_bdbuf_release_modified[40]: successful completion
bdt0: rtems_bdbuf_release_modified[41]: successful completion
bdt0: rtems_bdbuf_release_modified[42]: successful completion
bdt0: rtems_bdbuf_release_modified[43]: successful completion
bdt0: rtems_bdbuf_release_modified[44]: successful completion
bdt0: rtems_bdbuf_release_modified[45]: successful completion
bdt0: rtems_bdbuf_release_modified[46]: successful completion
bdt0: rtems_bdbuf_release_modified[47]: successful completion
bdt0: rtems_bdbuf_release_modified[48]: successful completion
bdt0: rtems_bdbuf_release_modified[49]: successful completion
bdt0: rtems_bdbuf_release_modified[50]: successful completion
bdt0: rtems_bdbuf_release_modified[51]: successful completion
bdt0: rtems_bdbuf_release_modified[52]: successful completion
bdt0: rtems_bdbuf_release_modified[53]: successful completion
bdt0: rtems_bdbuf_release_modified[54]: successful completion
bdt0: rtems_bdbuf_release_modified[55]: successful completion
bdt0: rtems_bdbuf_release_modified[56]: successful completion
bdt0: rtems_bdbuf_release_modified[57]: successful completion
bdt0: rtems_bdbuf_release_modified[58]: successful completion
bdt0: rtems_bdbuf_release_modified[59]: successful completion
bdt0: rtems_bdbuf_release_modified[60]: successful completion
bdt0: rtems_bdbuf_release_modified[61]: successful completion
bdt0: rtems_bdbuf_release_modified[62]: successful completion
bdt0: rtems_bdbuf_release_modified[63]: successful completion
bdt0: disk ioctl: wake watcher: 0a010003: successful completion
test 5: passed
test 6: Task 0 release modified 4 buffers then syncs a 5th buffer
master: wake task 0: 0a010003: successful completion
bdt0: rtems_bdbuf_read[0]: successful completion
bdt0: rtems_bdbuf_read[1]: successful completion
bdt0: rtems_bdbuf_read[2]: successful completion
bdt0: rtems_bdbuf_read[3]: successful completion
bdt0: rtems_bdbuf_read[4]: successful completion
bdt0: rtems_bdbuf_release_modified[0]: successful completion
bdt0: rtems_bdbuf_release_modified[1]: successful completion
bdt0: rtems_bdbuf_release_modified[2]: successful completion
bdt0: rtems_bdbuf_release_modified[3]: successful completion
bdt0: rtems_bdbuf_sync[4]: successful completion
test 6: passed
test 7: Task 0 release modified 5 buffers then sync the device
master: wake task 0: 0a010003: successful completion
bdt0: rtems_bdbuf_read[0]: successful completion
bdt0: rtems_bdbuf_read[1]: successful completion
bdt0: rtems_bdbuf_read[2]: successful completion
bdt0: rtems_bdbuf_read[3]: successful completion
bdt0: rtems_bdbuf_read[4]: successful completion
bdt0: rtems_bdbuf_release_modified[0]: successful completion
bdt0: rtems_bdbuf_release_modified[1]: successful completion
bdt0: rtems_bdbuf_release_modified[2]: successful completion
bdt0: rtems_bdbuf_release_modified[3]: successful completion
bdt0: rtems_bdbuf_release_modified[4]: successful completion
bdt0: rtems_bdbuf_syncdev[5:2]: successful completion
test 7: passed
test 8: Task 0 releases modified 5 buffers is out or order sequence and the driver checks the buffers are in order
master: wake task 0: 0a010003: successful completion
bdt0: rtems_bdbuf_read[0]: successful completion
bdt0: rtems_bdbuf_read[1]: successful completion
bdt0: rtems_bdbuf_read[2]: successful completion
bdt0: rtems_bdbuf_read[3]: successful completion
bdt0: rtems_bdbuf_read[4]: successful completion
bdt0: rtems_bdbuf_release_modified[4]: successful completion
bdt0: rtems_bdbuf_release_modified[3]: successful completion
bdt0: rtems_bdbuf_release_modified[0]: successful completion
bdt0: rtems_bdbuf_release_modified[1]: successful completion
bdt0: rtems_bdbuf_release_modified[2]: successful completion
bdt0: rtems_bdbuf_syncdev[3:2]: checking order
disk ioctl: multi-block order check: count = 5
bdt0: rtems_bdbuf_syncdev[3:2]: successful completion
test 8: passed
*** END OF TEST BLOCK 6 ***

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,27 @@
##
## $Id$
##
MANAGERS = io semaphore event
rtems_tests_PROGRAMS = block07
block07_SOURCES = init.c
dist_rtems_tests_DATA = block07.scn
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
block07_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
LINK_OBJS = $(block07_OBJECTS) $(block07_LDADD)
LINK_LIBS = $(block07_LDLIBS)
block07$(EXEEXT): $(block07_OBJECTS) $(block07_DEPENDENCIES)
@rm -f block07$(EXEEXT)
$(make-exe)
include $(top_srcdir)/../automake/local.am

View File

@@ -0,0 +1,583 @@
# Makefile.in generated by automake 1.11 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
rtems_tests_PROGRAMS = block07$(EXEEXT)
DIST_COMMON = $(dist_rtems_tests_DATA) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(top_srcdir)/../automake/compile.am \
$(top_srcdir)/../automake/leaf.am \
$(top_srcdir)/../automake/local.am
subdir = block07
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = \
$(top_srcdir)/../aclocal/canonical-target-name.m4 \
$(top_srcdir)/../aclocal/canonicalize-tools.m4 \
$(top_srcdir)/../aclocal/check-custom-bsp.m4 \
$(top_srcdir)/../aclocal/check-cxx.m4 \
$(top_srcdir)/../aclocal/check-tool.m4 \
$(top_srcdir)/../aclocal/enable-cxx.m4 \
$(top_srcdir)/../aclocal/env-rtemsbsp.m4 \
$(top_srcdir)/../aclocal/prog-cc.m4 \
$(top_srcdir)/../aclocal/prog-cxx.m4 \
$(top_srcdir)/../aclocal/project-root.m4 \
$(top_srcdir)/../aclocal/rtems-test-no-pause.m4 \
$(top_srcdir)/../aclocal/rtems-top.m4 \
$(top_srcdir)/../aclocal/version.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(rtems_testsdir)" \
"$(DESTDIR)$(rtems_testsdir)"
PROGRAMS = $(rtems_tests_PROGRAMS)
am_block07_OBJECTS = init.$(OBJEXT)
block07_OBJECTS = $(am_block07_OBJECTS)
block07_DEPENDENCIES = \
$(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/../../depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(block07_SOURCES)
DIST_SOURCES = $(block07_SOURCES)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
DATA = $(dist_rtems_tests_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@ $(GCCSPECS)
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@ $(GCCSPECS)
CPPFLAGS = @CPPFLAGS@
CPUKIT_ROOT = @CPUKIT_ROOT@
CXX = @CXX@ $(GCCSPECS)
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ENDIF = @ENDIF@
EXEEXT = @EXEEXT@
GCCSPECS = @GCCSPECS@
HAS_CPLUSPLUS = @HAS_CPLUSPLUS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKE = @MAKE@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NM = @NM@
OBJCOPY = @OBJCOPY@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PACKHEX = @PACKHEX@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROJECT_INCLUDE = @PROJECT_INCLUDE@
PROJECT_LIB = @PROJECT_LIB@
PROJECT_RELEASE = @PROJECT_RELEASE@
PROJECT_ROOT = @PROJECT_ROOT@
PROJECT_TOPdir = @PROJECT_TOPdir@
RANLIB = @RANLIB@
RTEMS_BSP = @RTEMS_BSP@
RTEMS_BSP_FAMILY = @RTEMS_BSP_FAMILY@
RTEMS_CPU = @RTEMS_CPU@
RTEMS_ROOT = @RTEMS_ROOT@
RTEMS_TOPdir = @RTEMS_TOPdir@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE = @SIZE@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
rtems_testsdir = @rtems_testsdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
MANAGERS = io semaphore event
block07_SOURCES = init.c
dist_rtems_tests_DATA = block07.scn
AM_CPPFLAGS = -I$(top_srcdir)/../support/include
AM_CFLAGS =
AM_CXXFLAGS =
CXXLINK_APP = $(CXXLINK) $(LDLIBS) $(LINK_OBJS) $(LINK_LIBS)
LINK_APP = $(LINK) $(LDLIBS) $(LINK_OBJS) $(LINK_LIBS)
block07_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
LINK_OBJS = $(block07_OBJECTS) $(block07_LDADD)
LINK_LIBS = $(block07_LDLIBS)
PROJECT_TOOLS = $(PROJECT_RELEASE)/build-tools
all: all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../automake/compile.am $(top_srcdir)/../automake/leaf.am $(top_srcdir)/../automake/local.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign block07/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign block07/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-rtems_testsPROGRAMS: $(rtems_tests_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(rtems_testsdir)" || $(MKDIR_P) "$(DESTDIR)$(rtems_testsdir)"
@list='$(rtems_tests_PROGRAMS)'; test -n "$(rtems_testsdir)" || list=; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p; \
then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(rtems_testsdir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(rtems_testsdir)$$dir" || exit $$?; \
} \
; done
uninstall-rtems_testsPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(rtems_tests_PROGRAMS)'; test -n "$(rtems_testsdir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' `; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(rtems_testsdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(rtems_testsdir)" && rm -f $$files
clean-rtems_testsPROGRAMS:
-test -z "$(rtems_tests_PROGRAMS)" || rm -f $(rtems_tests_PROGRAMS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
install-dist_rtems_testsDATA: $(dist_rtems_tests_DATA)
@$(NORMAL_INSTALL)
test -z "$(rtems_testsdir)" || $(MKDIR_P) "$(DESTDIR)$(rtems_testsdir)"
@list='$(dist_rtems_tests_DATA)'; test -n "$(rtems_testsdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(rtems_testsdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(rtems_testsdir)" || exit $$?; \
done
uninstall-dist_rtems_testsDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_rtems_tests_DATA)'; test -n "$(rtems_testsdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
test -n "$$files" || exit 0; \
echo " ( cd '$(DESTDIR)$(rtems_testsdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(rtems_testsdir)" && rm -f $$files
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS) $(DATA)
installdirs:
for dir in "$(DESTDIR)$(rtems_testsdir)" "$(DESTDIR)$(rtems_testsdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-local clean-rtems_testsPROGRAMS \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_rtems_testsDATA \
install-rtems_testsPROGRAMS
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_rtems_testsDATA \
uninstall-rtems_testsPROGRAMS
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-local clean-rtems_testsPROGRAMS ctags distclean \
distclean-compile distclean-generic distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dist_rtems_testsDATA \
install-dvi install-dvi-am install-exec install-exec-am \
install-html install-html-am install-info install-info-am \
install-man install-pdf install-pdf-am install-ps \
install-ps-am install-rtems_testsPROGRAMS install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-dist_rtems_testsDATA \
uninstall-rtems_testsPROGRAMS
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
clean-local:
$(RM) *.num *.nxe *.elf *.srec* *.bin *.bt *.ralf
include $(RTEMS_ROOT)/make/leaf.cfg
ifndef make-cxx-exe
define make-cxx-exe
$(CXXLINK_APP)
endef
@ENDIF@
ifndef make-exe
define make-exe
$(LINK_APP)
endef
@ENDIF@
block07$(EXEEXT): $(block07_OBJECTS) $(block07_DEPENDENCIES)
@rm -f block07$(EXEEXT)
$(make-exe)
preinstall:
.PHONY: preinstall
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@@ -0,0 +1,13 @@
*** TEST BLOCK 7 ***
I: try access: 0
I: access: 0
L: try access: 0
H: try access: 0
I: release: 0
I: release done: 0
L: access: 0
L: release: 0
H: access: 0
H: release: 0
H: release done: 0
*** END OF TEST BLOCK 7 ***

View File

@@ -0,0 +1,224 @@
/**
* @file
*
* @ingroup test_bdbuf
*
* @brief Bdbuf test for block size change event.
*/
/*
* Copyright (c) 2009
* embedded brains GmbH
* Obere Lagerstr. 30
* D-82178 Puchheim
* Germany
* <rtems@embedded-brains.de>
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <assert.h>
#include <rtems.h>
#include <rtems/ramdisk.h>
#include <rtems/bdbuf.h>
#include <rtems/diskdevs.h>
#define ASSERT_SC(sc) assert((sc) == RTEMS_SUCCESSFUL)
#define PRIORITY_INIT 1
#define PRIORITY_HIGH 2
#define PRIORITY_LOW 3
#define PRIORITY_SWAPOUT 4
#define PRIORITY_IDLE 5
#define BLOCK_SIZE_A 1
#define BLOCK_SIZE_B 2
#define BLOCK_COUNT 2
static dev_t dev;
static rtems_id task_id_low;
static rtems_id task_id_high;
static void change_block_size(void)
{
int rv = 0;
uint32_t new_block_size = BLOCK_SIZE_B;
int fd = open("/dev/rda", O_RDWR);
assert(fd >= 0);
rv = ioctl(fd, RTEMS_BLKIO_SETBLKSIZE, &new_block_size);
assert(rv == 0);
rv = close(fd);
assert(rv == 0);
}
static void task_low(rtems_task_argument arg)
{
rtems_status_code sc = RTEMS_SUCCESSFUL;
rtems_bdbuf_buffer *bd = NULL;
printk("L: try access: 0\n");
sc = rtems_bdbuf_get(dev, 0, &bd);
ASSERT_SC(sc);
printk("L: access: 0\n");
assert(bd->group->bds_per_group == 2);
printk("L: release: 0\n");
sc = rtems_bdbuf_release(bd);
ASSERT_SC(sc);
printk("L: release done: 0\n");
rtems_task_delete(RTEMS_SELF);
}
static void task_high(rtems_task_argument arg)
{
rtems_status_code sc = RTEMS_SUCCESSFUL;
rtems_bdbuf_buffer *bd = NULL;
change_block_size();
printk("H: try access: 0\n");
sc = rtems_bdbuf_get(dev, 0, &bd);
ASSERT_SC(sc);
printk("H: access: 0\n");
assert(bd->group->bds_per_group == 1);
printk("H: release: 0\n");
sc = rtems_bdbuf_release(bd);
ASSERT_SC(sc);
printk("H: release done: 0\n");
printk("*** END OF TEST BLOCK 7 ***\n");
exit(0);
}
static rtems_task Init(rtems_task_argument argument)
{
rtems_status_code sc = RTEMS_SUCCESSFUL;
rtems_task_priority cur_prio = 0;
rtems_bdbuf_buffer *bd = NULL;
printk("\n\n*** TEST BLOCK 7 ***\n");
sc = rtems_disk_io_initialize();
ASSERT_SC(sc);
sc = ramdisk_register(BLOCK_SIZE_A, BLOCK_COUNT, false, "/dev/rda", &dev);
ASSERT_SC(sc);
sc = rtems_task_create(
rtems_build_name(' ', 'L', 'O', 'W'),
PRIORITY_LOW,
0,
RTEMS_DEFAULT_MODES,
RTEMS_DEFAULT_ATTRIBUTES,
&task_id_low
);
ASSERT_SC(sc);
sc = rtems_task_start(task_id_low, task_low, 0);
ASSERT_SC(sc);
sc = rtems_task_create(
rtems_build_name('H', 'I', 'G', 'H'),
PRIORITY_HIGH,
0,
RTEMS_DEFAULT_MODES,
RTEMS_DEFAULT_ATTRIBUTES,
&task_id_high
);
ASSERT_SC(sc);
sc = rtems_task_start(task_id_high, task_high, 0);
ASSERT_SC(sc);
sc = rtems_task_suspend(task_id_high);
ASSERT_SC(sc);
sc = rtems_bdbuf_get(dev, 1, &bd);
ASSERT_SC(sc);
sc = rtems_bdbuf_release(bd);
ASSERT_SC(sc);
printk("I: try access: 0\n");
sc = rtems_bdbuf_get(dev, 0, &bd);
ASSERT_SC(sc);
printk("I: access: 0\n");
sc = rtems_task_set_priority(RTEMS_SELF, PRIORITY_IDLE, &cur_prio);
ASSERT_SC(sc);
sc = rtems_task_resume(task_id_high);
ASSERT_SC(sc);
sc = rtems_task_set_priority(RTEMS_SELF, PRIORITY_INIT, &cur_prio);
ASSERT_SC(sc);
printk("I: release: 0\n");
sc = rtems_bdbuf_release(bd);
ASSERT_SC(sc);
printk("I: release done: 0\n");
rtems_task_delete(RTEMS_SELF);
}
#define CONFIGURE_INIT
#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_LIBBLOCK
#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 4
#define CONFIGURE_MAXIMUM_TASKS 5
#define CONFIGURE_MAXIMUM_DRIVERS 2
#define CONFIGURE_MAXIMUM_SEMAPHORES 5
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
#define CONFIGURE_INIT_TASK_PRIORITY PRIORITY_INIT
#define CONFIGURE_INIT_TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES
#define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES
#define CONFIGURE_SWAPOUT_TASK_PRIORITY PRIORITY_SWAPOUT
#define CONFIGURE_BDBUF_BUFFER_MIN_SIZE BLOCK_SIZE_A
#define CONFIGURE_BDBUF_BUFFER_MAX_SIZE BLOCK_SIZE_B
#define CONFIGURE_BDBUF_CACHE_MEMORY_SIZE (BLOCK_SIZE_A * BLOCK_COUNT)
#include <rtems/confdefs.h>

View File

@@ -37,6 +37,9 @@ block01/Makefile
block02/Makefile
block03/Makefile
block04/Makefile
block05/Makefile
block06/Makefile
block07/Makefile
bspcmdline01/Makefile
cpuuse/Makefile
heapwalk/Makefile