Compare commits

..

1 Commits
4.6.6 ... 4.6.0

Author SHA1 Message Date
cvs2git
f810577581 This commit was manufactured by cvs2svn to create tag 'rtems-4-6-0'.
Sprout from rtems-4-6-branch 2004-02-09 13:21:25 UTC cvs2git <rtems-devel@rtems.org> 'This commit was manufactured by cvs2svn to create branch 'rtems-4-6-branch'.'
Delete:
    scripts/rtems/rtems-source.add
2004-02-09 13:21:26 +00:00
587 changed files with 2834 additions and 15476 deletions

View File

@@ -1,95 +1,3 @@
2006-04-24 Joel Sherrill <joel@OARcorp.com>
* VERSION: Updated to rtems-4.6.6.
2006-04-24 Joel Sherrill <joel@OARcorp.com>
* aclocal/version.m4: Updated to rtems-4.6.6.
2005-10-06 Joel Sherrill <joel@OARcorp.com>
* VERSION: Updated to rtems-4.6.5.
2005-10-06 Joel Sherrill <joel@OARcorp.com>
* aclocal/version.m4: Updated to rtems-4.6.5.
2005-10-05 Jiri Gaisler <jiri@gaisler.com>
Edvin Catovic <edvin@gaisler.com>
Konrad Eisele <konrad@gaisler.com>
PR 827/bsps
* aclocal/bsp-alias.m4, aclocal/check-bsps.m4: Portion of large update
of SPARC BSPs. Includes addition of sis, leon2 and leon3 BSPs,
deletion of leon BSP, addition of SMC91111 NIC driver and much more.
2005-09-01 Joel Sherrill <joel@OARcorp.com>
* VERSION: Updated to rtems-4.6.4.
2005-09-01 Joel Sherrill <joel@OARcorp.com>
* aclocal/version.m4: Updated to rtems-4.6.4.
2005-03-17 Joel Sherrill <joel@OARcorp.com>
* VERSION: Updated to rtems-4.6.3.
2004-11-10 Richard Campbell <richard.campbell@oarcorp.com>
* aclocal/bsp-alias.m4: Add MVME2100 BSP.
2004-10-18 Joel Sherrill <joel@OARcorp.com>
* VERSION: Updated to rtems-4.6.2.
2004-10-18 Joel Sherrill <joel@OARcorp.com>
* aclocal/version.m4: Updated to rtems-4.6.2.
2004-08-18 Ralf Corsepius <ralf_corsepius@rtems.org>
PR 673/make_build
* config-ml.in: Quote 'cd "${ml_origdir}"'.
Quote 'cd "${ML_POPDIR}"'.
2004-08-18 Ralf Corsepius <ralf_corsepius@rtems.org>
PR 673/make_build
* aclocal/ppc.m4 (RTEMS_PPC_EXCEPTIONS): Quote ac_popdir uses.
* aclocal/target.m4 (_RTEMS_POP_BUILDDIR): Ditto.
* acinclude.m4 (_RTEMS_CONFIG_SUBDIR): Quote ac_popdir uses.
2004-08-18 Ralf Corsepius <ralf_corsepius@rtems.org>
* acinclude.m4: Fix m4-underquoting.
2004-08-18 Ralf Corsepius <ralf_corsepius@rtems.org>
* aclocal/bsp-alias.m4, aclocal/bsp-arg-enable.m4,
aclocal/canonical-host.m4, aclocal/canonical-target-name.m4,
aclocal/canonicalize-tools.m4, aclocal/check-bsps.m4,
aclocal/check-cpu.m4, aclocal/check-custom-bsp.m4, aclocal/check-cxx.m4,
aclocal/check-itron.m4, aclocal/check-multiprocessing.m4,
aclocal/check-networking.m4, aclocal/check-newlib.m4,
aclocal/check-posix.m4, aclocal/check-rdbg.m4, aclocal/check-tool.m4,
aclocal/config-subdirs.m4, aclocal/enable-bare.m4,
aclocal/enable-cxx.m4, aclocal/enable-inlines.m4,
aclocal/enable-itron.m4, aclocal/enable-multiprocessing.m4,
aclocal/enable-networking.m4, aclocal/enable-posix.m4,
aclocal/enable-rdbg.m4, aclocal/enable-rtemsbsp.m4,
aclocal/enable-tests.m4, aclocal/env-rtemsbsp.m4,
aclocal/gcc-isystem.m4, aclocal/gcc-pipe.m4, aclocal/gcc-specs.m4,
aclocal/i386-gas-code16.m4, aclocal/multilib.m4, aclocal/path-ksh.m4,
aclocal/path-perl.m4, aclocal/prog-cc.m4, aclocal/prog-cxx.m4,
aclocal/project-root.m4, aclocal/rtems-debug.m4,
aclocal/rtems-test-no-pause.m4, aclocal/rtems-top.m4,
aclocal/target.m4, aclocal/tool-paths.m4: Fix m4-underquoting.
2004-04-08 Joel Sherrill <joel@OARcorp.com>
* aclocal/version.m4: Updated to rtems-4.6.1.
2004-02-03 Joel Sherrill <joel@OARcorp.com>
* VERSION: Updated to rtems-4.6.0.

View File

@@ -4,4 +4,4 @@
# $Id$
#
RTEMS Version 4.6.6
RTEMS Version 4.6.0

View File

@@ -261,7 +261,7 @@ if test "$no_recursion" != yes; then
AC_MSG_ERROR([$ac_sub_configure failed for $ac_dir])
fi
cd "$ac_popdir"
cd $ac_popdir
done
fi
fi
@@ -332,7 +332,7 @@ m4_divert_text([DEFAULTS],
m4_expand_once([_RTEMS_COMMANDS_POST_CONFIG_SUBDIRS])
])
AC_DEFUN([_RTEMS_BUILD_CONFIG_PREPARE],[
AC_DEFUN(_RTEMS_BUILD_CONFIG_PREPARE,[
## # Record the configure arguments in Makefile.
m4_ifdef([_RTEMS_BUILD_CONFIGDIRS_LIST],
[
@@ -358,7 +358,7 @@ m4_divert_text([DEFAULTS],
m4_expand_once([_RTEMS_COMMANDS_POST_CONFIG_SUBDIRS])
])
AC_DEFUN([_RTEMS_HOST_CONFIG_PREPARE],[
AC_DEFUN(_RTEMS_HOST_CONFIG_PREPARE,[
m4_ifdef([_RTEMS_HOST_CONFIGDIRS_LIST],
[
m4_expand_once([_RTEMS_TOOLS([host],[HOST])])
@@ -382,7 +382,7 @@ m4_divert_text([DEFAULTS],
m4_expand_once([_RTEMS_COMMANDS_POST_CONFIG_SUBDIRS])
])
AC_DEFUN([_RTEMS_TARGET_CONFIG_PREPARE],[
AC_DEFUN(_RTEMS_TARGET_CONFIG_PREPARE,[
m4_ifdef([_RTEMS_TARGET_CONFIGDIRS_LIST],
[
m4_expand_once([_RTEMS_TOOLS([target],[TARGET])])

View File

@@ -4,13 +4,12 @@ dnl
dnl _RTEMS_BSP_ALIAS(BSP_ALIAS,RTEMS_BSP_FAMILY)
dnl Internal subroutine to RTEMS_BSP_ALIAS
AC_DEFUN([_RTEMS_BSP_ALIAS],
AC_DEFUN(_RTEMS_BSP_ALIAS,
[# account for "aliased" bsps which share source code
case $1 in
simcpu32) $2=sim68000 ;; # BSVC CPU32 variant
c3xsim) $2=c4xsim ;; # TI C3x Simulator in gdb
mcp750) $2=motorola_powerpc ;; # Motorola PPC board variant
mvme2100) $2=motorola_powerpc ;; # Motorola PPC board variant
mvme2307) $2=motorola_powerpc ;; # Motorola PPC board variant
mtx603e) $2=motorola_powerpc ;; # Motorola PPC board variant
mvme162lx) $2=mvme162 ;; # m68k - mvme162 board variant
@@ -24,9 +23,9 @@ AC_DEFUN([_RTEMS_BSP_ALIAS],
pc686) $2=pc386 ;; # i386 - PC with PentiumPro
pck6) $2=pc386 ;; # i386 - PC with K6
bare*) $2=bare ;; # EXP: bare-aliases
sis) $2=erc32 ;; # ERC32 SIS simulator
leon2) $2=leon2 ;; # leon with fpu
leon3) $2=leon3 ;; # another leon variant
erc32nfp) $2=erc32 ;; # erc32 without fpu
leon1) $2=leon ;; # leon without fpu
leon2) $2=leon ;; # leon with fpu
simsh7032) $2=shsim ;; # SH7032 simulator
simsh7045) $2=shsim ;; # SH7045 simulator
*) $2=$1;;
@@ -35,7 +34,7 @@ AC_DEFUN([_RTEMS_BSP_ALIAS],
dnl RTEMS_BSP_ALIAS(BSP_ALIAS,RTEMS_BSP_FAMILY)
dnl convert a bsp alias $1 into its bsp directory RTEMS_BSP_FAMILY
AC_DEFUN([RTEMS_BSP_ALIAS],
AC_DEFUN(RTEMS_BSP_ALIAS,
[_RTEMS_BSP_ALIAS(m4_if([$1],,[$RTEMS_BSP],[$1]),
m4_if([$2],,[RTEMS_BSP_FAMILY],[$2]))]
)

View File

@@ -9,7 +9,7 @@ dnl Configure scripts will receive <bsp-value> if <RTEMS_BSP> matches the
dnl actual value of the shell variable RTEMS_BSP (cf. RTEMS_ENV_RTEMSBSP),
dnl and the raw value passed to --enable-FEATURE otherwise.
dnl
AC_DEFUN([RTEMS_BSP_ARG_ENABLE],
AC_DEFUN(RTEMS_BSP_ARG_ENABLE,
[AC_REQUIRE([RTEMS_ENV_RTEMSBSP])
AC_ARG_ENABLE([$1],[$2],
[enableval=`echo "[$enable_]patsubst([$1], -, _)" | sed -e "s%^${RTEMS_BSP}:%%"`

View File

@@ -1,6 +1,6 @@
dnl $Id$
AC_DEFUN([RTEMS_CANONICAL_HOST],
AC_DEFUN(RTEMS_CANONICAL_HOST,
[dnl
AC_REQUIRE([AC_CANONICAL_HOST])
RTEMS_HOST=$host_os

View File

@@ -8,7 +8,7 @@ dnl target naming conventions "processor-vendor-os"
dnl Therefore autoconf's AC_CANONICAL_TARGET will fail for them
dnl and we have to fix it for rtems ourselves
AC_DEFUN([RTEMS_CANONICAL_TARGET_CPU],
AC_DEFUN(RTEMS_CANONICAL_TARGET_CPU,
[
AC_CANONICAL_TARGET
AC_MSG_CHECKING(rtems target cpu)

View File

@@ -4,7 +4,7 @@ dnl
dnl Set target tools
dnl
AC_DEFUN([RTEMS_CANONICALIZE_TOOLS],
AC_DEFUN(RTEMS_CANONICALIZE_TOOLS,
[AC_REQUIRE([RTEMS_PROG_CC])dnl
dnl FIXME: What shall be done if these tools are not available?

View File

@@ -4,7 +4,7 @@ dnl Report all available bsps for a target,
dnl check if a bsp-subdirectory is present for all bsps found
dnl
dnl RTEMS_CHECK_BSPS(bsp_list)
AC_DEFUN([RTEMS_CHECK_BSPS],
AC_DEFUN(RTEMS_CHECK_BSPS,
[
AC_REQUIRE([RTEMS_CHECK_CPU])dnl sets RTEMS_CPU, target
AC_REQUIRE([RTEMS_TOP])dnl sets RTEMS_TOPdir
@@ -21,8 +21,8 @@ AC_MSG_CHECKING([for bsps])
mbx8xx) $1="[$]$1 mbx821_001 mbx860_002 mbx860_005b";;
motorola_powerpc) $1="[$]$1 mvme2307 mcp750 mtx603e";;
pc386) $1="[$]$1 pc386 pc386dx pc486 pc586 pc686 pck6";;
erc32) $1="[$]$1 erc32 sis";;
leon) $1="[$]$1 leon2 leon3";;
erc32) $1="[$]$1 erc32 erc32nfp";;
leon) $1="[$]$1 leon1 leon2";;
sim68000) $1="[$]$1 sim68000 simcpu32";;
shsim) $1="[$]$1 simsh7032 simsh7045";;
*) $1="[$]$1 $file";;

View File

@@ -1,7 +1,7 @@
dnl $Id$
dnl check if RTEMS support a cpu
AC_DEFUN([RTEMS_CHECK_CPU],
AC_DEFUN(RTEMS_CHECK_CPU,
[dnl
AC_REQUIRE([RTEMS_TOP])
AC_REQUIRE([RTEMS_CANONICAL_TARGET_CPU])

View File

@@ -1,6 +1,6 @@
dnl $Id$
AC_DEFUN([RTEMS_CHECK_CUSTOM_BSP],[
AC_DEFUN(RTEMS_CHECK_CUSTOM_BSP,[
AC_REQUIRE([RTEMS_TOP])
AC_MSG_CHECKING([for make/custom/[$]$1.cfg])

View File

@@ -1,6 +1,6 @@
dnl $Id$
dnl
AC_DEFUN([RTEMS_CHECK_CXX],
AC_DEFUN(RTEMS_CHECK_CXX,
[dnl
AC_REQUIRE([RTEMS_CHECK_CPU])dnl
AC_REQUIRE([RTEMS_PROG_CC_FOR_TARGET])dnl

View File

@@ -1,6 +1,6 @@
dnl $Id$
dnl
AC_DEFUN([RTEMS_CHECK_ITRON_API],
AC_DEFUN(RTEMS_CHECK_ITRON_API,
[dnl
AC_REQUIRE([RTEMS_CHECK_CPU])dnl
AC_REQUIRE([RTEMS_ENABLE_ITRON])dnl
@@ -28,7 +28,7 @@ fi
AC_SUBST(HAS_ITRON_API)dnl
])
AC_DEFUN([RTEMS_DEFINE_ITRON_API],
AC_DEFUN(RTEMS_DEFINE_ITRON_API,
[AC_REQUIRE([RTEMS_CHECK_ITRON_API])dnl
if test x"${HAS_ITRON_API}" = x"yes";
then

View File

@@ -2,7 +2,7 @@ dnl
dnl $Id$
dnl
AC_DEFUN([RTEMS_CHECK_MULTIPROCESSING],
AC_DEFUN(RTEMS_CHECK_MULTIPROCESSING,
[dnl
AC_REQUIRE([RTEMS_ENABLE_MULTILIB])dnl
AC_REQUIRE([RTEMS_ENV_RTEMSBSP])dnl

View File

@@ -1,6 +1,6 @@
dnl $Id$
dnl
AC_DEFUN([RTEMS_CHECK_NETWORKING],
AC_DEFUN(RTEMS_CHECK_NETWORKING,
[dnl
AC_REQUIRE([RTEMS_CHECK_CPU])dnl
AC_REQUIRE([RTEMS_ENABLE_NETWORKING])dnl

View File

@@ -1,6 +1,6 @@
dnl $Id$
AC_DEFUN([RTEMS_CHECK_NEWLIB],
AC_DEFUN(RTEMS_CHECK_NEWLIB,
[dnl
AC_REQUIRE([RTEMS_PROG_CC_FOR_TARGET])dnl
AC_REQUIRE([RTEMS_CANONICALIZE_TOOLS])dnl

View File

@@ -1,6 +1,6 @@
dnl $Id$
dnl
AC_DEFUN([RTEMS_CHECK_POSIX_API],
AC_DEFUN(RTEMS_CHECK_POSIX_API,
[dnl
AC_REQUIRE([RTEMS_CHECK_CPU])dnl
AC_REQUIRE([RTEMS_ENABLE_POSIX])dnl
@@ -28,7 +28,7 @@ fi
AC_SUBST(HAS_POSIX_API)dnl
])
AC_DEFUN([RTEMS_DEFINE_POSIX_API],
AC_DEFUN(RTEMS_DEFINE_POSIX_API,
[AC_REQUIRE([RTEMS_CHECK_POSIX_API])dnl
AS_IF(
[test x"${HAS_POSIX_API}" = x"yes"],

View File

@@ -1,6 +1,6 @@
dnl $Id$
dnl
AC_DEFUN([RTEMS_CHECK_RDBG],
AC_DEFUN(RTEMS_CHECK_RDBG,
[dnl
AC_REQUIRE([RTEMS_TOP])dnl
AC_REQUIRE([RTEMS_CHECK_CPU])dnl

View File

@@ -3,7 +3,7 @@ dnl $Id$
## Check for a cross tool, similar to AC_CHECK_TOOL, but do not fall back to
## the un-prefixed version of PROG-TO-CHECK-FOR.
dnl RTEMS_CHECK_TOOL(VARIABLE, PROG-TO-CHECK-FOR[, VALUE-IF-NOT-FOUND [, PATH]])
AC_DEFUN([RTEMS_CHECK_TOOL],
AC_DEFUN(RTEMS_CHECK_TOOL,
[
AS_IF([test "x$build_alias" != "x$host_alias"],
[rtems_tool_prefix=${ac_tool_prefix}])

View File

@@ -11,7 +11,7 @@ dnl
dnl
dnl _AC_DOTS(PATH)
dnl
AC_DEFUN([_AC_DOTS],[
AC_DEFUN(_AC_DOTS,[
# A "../" for each directory in $1.
ac_dots=`echo $1 | \
sed -e 's%^\./%%' -e 's%[[^/]]$%&/%' -e 's%[[^/]]*/%../%g'`
@@ -20,7 +20,7 @@ AC_DEFUN([_AC_DOTS],[
dnl
dnl _RTEMS_ADJUST_SRCDIR(REVAR,CONFIG_DIR[,TARGET_SUBDIR])
dnl
AC_DEFUN([_RTEMS_ADJUST_SRCDIR],[
AC_DEFUN(_RTEMS_ADJUST_SRCDIR,[
_AC_DOTS(ifelse([$3], ,[$2],[$3/$2]))
case "$srcdir" in

View File

@@ -1,4 +1,4 @@
AC_DEFUN([RTEMS_ENABLE_BARE],
AC_DEFUN(RTEMS_ENABLE_BARE,
[
AC_ARG_ENABLE(bare-cpu-cflags,
[AC_HELP_STRING([--enable-bare-cpu-cflags],

View File

@@ -1,6 +1,6 @@
dnl $Id$
AC_DEFUN([RTEMS_ENABLE_CXX],
AC_DEFUN(RTEMS_ENABLE_CXX,
[
AC_ARG_ENABLE(cxx,
[AC_HELP_STRING([--enable-cxx],

View File

@@ -1,6 +1,6 @@
dnl $Id$
AC_DEFUN([RTEMS_ENABLE_INLINES],
AC_DEFUN(RTEMS_ENABLE_INLINES,
[AC_ARG_ENABLE(rtems-inlines,
[AC_HELP_STRING([--enable-rtems-inlines],
[enable RTEMS inline functions (default:enabled, disable to use macros)])],

View File

@@ -1,6 +1,6 @@
dnl $Id$
AC_DEFUN([RTEMS_ENABLE_ITRON],
AC_DEFUN(RTEMS_ENABLE_ITRON,
[
## AC_BEFORE([$0], [RTEMS_CHECK_ITRON_API])dnl

View File

@@ -1,6 +1,6 @@
dnl $Id$
AC_DEFUN([RTEMS_ENABLE_MULTIPROCESSING],
AC_DEFUN(RTEMS_ENABLE_MULTIPROCESSING,
[
AC_ARG_ENABLE(multiprocessing,
[AC_HELP_STRING([--enable-multiprocessing],

View File

@@ -1,6 +1,6 @@
dnl $Id$
AC_DEFUN([RTEMS_ENABLE_NETWORKING],
AC_DEFUN(RTEMS_ENABLE_NETWORKING,
[
## AC_BEFORE([$0], [RTEMS_CHECK_NETWORKING])dnl

View File

@@ -1,6 +1,6 @@
dnl $Id$
AC_DEFUN([RTEMS_ENABLE_POSIX],
AC_DEFUN(RTEMS_ENABLE_POSIX,
[
## AC_BEFORE([$0], [RTEMS_CHECK_POSIX_API])dnl

View File

@@ -1,6 +1,6 @@
dnl $Id$
AC_DEFUN([RTEMS_ENABLE_RDBG],
AC_DEFUN(RTEMS_ENABLE_RDBG,
[
AC_BEFORE([$0], [RTEMS_CHECK_RDBG])dnl

View File

@@ -3,7 +3,7 @@ dnl $Id$
dnl Override the set of BSPs to be built.
dnl used by the toplevel configure script
dnl RTEMS_ENABLE_RTEMSBSP(rtems_bsp_list)
AC_DEFUN([RTEMS_ENABLE_RTEMSBSP],
AC_DEFUN(RTEMS_ENABLE_RTEMSBSP,
[
AC_BEFORE([$0], [RTEMS_ENV_RTEMSBSP])
AC_ARG_ENABLE(rtemsbsp,

View File

@@ -1,6 +1,6 @@
dnl $Id$
AC_DEFUN([RTEMS_ENABLE_TESTS],
AC_DEFUN(RTEMS_ENABLE_TESTS,
[
# If the tests are enabled, then find all the test suite Makefiles
AC_MSG_CHECKING([if the test suites are enabled? ])

View File

@@ -2,7 +2,7 @@ dnl $Id$
dnl Pass a single BSP via an environment variable
dnl used by per BSP configure scripts
AC_DEFUN([RTEMS_ENV_RTEMSBSP],
AC_DEFUN(RTEMS_ENV_RTEMSBSP,
[dnl
AC_BEFORE([$0], [RTEMS_ENABLE_RTEMSBSP])dnl
AC_BEFORE([$0], [RTEMS_PROJECT_ROOT])dnl

View File

@@ -4,7 +4,7 @@ dnl
dnl Check whether the gcc accepts -isystem
dnl
AC_DEFUN([RTEMS_GCC_ISYSTEM],
AC_DEFUN(RTEMS_GCC_ISYSTEM,
[AC_REQUIRE([RTEMS_PROG_CC])
AC_CACHE_CHECK(whether $CC accepts -isystem,rtems_cv_gcc_isystem,
[

View File

@@ -4,7 +4,7 @@ dnl
dnl Check whether the target compiler accepts -pipe
dnl
AC_DEFUN([RTEMS_GCC_PIPE],
AC_DEFUN(RTEMS_GCC_PIPE,
[AC_REQUIRE([RTEMS_PROG_CC])
AC_REQUIRE([AC_CANONICAL_HOST])
AC_CACHE_CHECK(whether $CC accepts --pipe,rtems_cv_gcc_pipe,

View File

@@ -4,7 +4,7 @@ dnl
dnl Check whether the target compiler accepts -specs
dnl
AC_DEFUN([RTEMS_GCC_SPECS],
AC_DEFUN(RTEMS_GCC_SPECS,
[AC_REQUIRE([RTEMS_PROG_CC])
AC_CACHE_CHECK(whether $CC accepts -specs,rtems_cv_gcc_specs,
[

View File

@@ -5,7 +5,7 @@ dnl
dnl check for i386 gas supporting 16 bit mode
dnl - binutils 2.9.1.0.7 and higher
AC_DEFUN([RTEMS_I386_GAS_CODE16],
AC_DEFUN(RTEMS_I386_GAS_CODE16,
[ if test "${host_cpu}" = "i386"; then
AC_CACHE_CHECK([for 16 bit mode assembler support],
rtems_cv_prog_gas_code16,

View File

@@ -2,7 +2,7 @@ dnl This provides configure definitions used for multilib support
dnl parts of these macros are derived from newlib-1.8.2's multilib support
AC_DEFUN([RTEMS_ENABLE_MULTILIB],
AC_DEFUN(RTEMS_ENABLE_MULTILIB,
[
AC_ARG_ENABLE(multilib,
AC_HELP_STRING([--enable-multilib],

View File

@@ -1,6 +1,6 @@
dnl $Id$
AC_DEFUN([RTEMS_PATH_KSH],
AC_DEFUN(RTEMS_PATH_KSH,
[
dnl NOTE: prefer bash over ksh over sh
AC_PATH_PROGS(KSH,bash ksh sh)

View File

@@ -1,6 +1,6 @@
dnl $Id$
AC_DEFUN([RTEMS_PATH_PERL],
AC_DEFUN(RTEMS_PATH_PERL,
[
AC_PATH_PROG(PERL,perl)
if test -z "$PERL" ; then

View File

@@ -80,7 +80,7 @@ if test "$no_recursion" != yes; then
AC_MSG_ERROR([$ac_sub_configure failed for $ac_subdir])
fi
cd "$ac_popdir"
cd $ac_popdir
done
fi
])

View File

@@ -4,7 +4,7 @@ dnl
dnl Check for target gcc
dnl
AC_DEFUN([RTEMS_PROG_CC],
AC_DEFUN(RTEMS_PROG_CC,
[
AC_BEFORE([$0], [AC_PROG_CPP])dnl
AC_BEFORE([$0], [AC_PROG_CC])dnl
@@ -22,7 +22,7 @@ AC_PROG_CPP
AM_CONDITIONAL(RTEMS_USE_GCC,test x"$GCC" = x"yes")
])
AC_DEFUN([RTEMS_PROG_CC_FOR_TARGET],
AC_DEFUN(RTEMS_PROG_CC_FOR_TARGET,
[
dnl check target cc
RTEMS_PROG_CC

View File

@@ -4,7 +4,7 @@ dnl
dnl Check for target g++
dnl
AC_DEFUN([RTEMS_PROG_CXX_FOR_TARGET],
AC_DEFUN(RTEMS_PROG_CXX_FOR_TARGET,
[
AC_BEFORE([$0], [RTEMS_CANONICALIZE_TOOLS])dnl
AC_REQUIRE([RTEMS_ENABLE_CXX])

View File

@@ -12,7 +12,7 @@ dnl RTEMS_ROOT .. path to the top of a bsp's build directory
dnl [Applied by custom/*.cfg, depredicated otherwise]
dnl
AC_DEFUN([RTEMS_PROJECT_ROOT],
AC_DEFUN(RTEMS_PROJECT_ROOT,
[dnl
AC_REQUIRE([RTEMS_TOP])

View File

@@ -1,6 +1,6 @@
## $Id$
AC_DEFUN([RTEMS_ENABLE_RTEMS_DEBUG],
AC_DEFUN(RTEMS_ENABLE_RTEMS_DEBUG,
[
AC_ARG_ENABLE(rtems-debug,
AC_HELP_STRING([--enable-rtems-debug],[enable RTEMS_DEBUG]),
@@ -11,7 +11,7 @@ AC_HELP_STRING([--enable-rtems-debug],[enable RTEMS_DEBUG]),
esac],[enable_rtems_debug=no])
])
AC_DEFUN([RTEMS_CHECK_RTEMS_DEBUG],
AC_DEFUN(RTEMS_CHECK_RTEMS_DEBUG,
[AC_REQUIRE([RTEMS_ENABLE_RTEMS_DEBUG])
AS_IF([test x"${enable_rtems_debug}" = x"yes"]
[AC_DEFINE_UNQUOTED(RTEMS_DEBUG,1,[if RTEMS_DEBUG is enabled])])

View File

@@ -1,4 +1,4 @@
AC_DEFUN([RTEMS_ENABLE_RTEMS_TEST_NO_PAUSE],
AC_DEFUN(RTEMS_ENABLE_RTEMS_TEST_NO_PAUSE,
[AC_ARG_ENABLE(test-no-pause,
AC_HELP_STRING([--disable-test-no-pause],[disable RTEMS_TEST_NO_PAUSE]),
[case "${enableval}" in
@@ -8,7 +8,7 @@ AC_HELP_STRING([--disable-test-no-pause],[disable RTEMS_TEST_NO_PAUSE]),
esac],[RTEMS_TEST_NO_PAUSE=yes])
])
AC_DEFUN([RTEMS_CHECK_RTEMS_TEST_NO_PAUSE],
AC_DEFUN(RTEMS_CHECK_RTEMS_TEST_NO_PAUSE,
[AC_REQUIRE([RTEMS_ENABLE_RTEMS_TEST_NO_PAUSE])
if test x"${RTEMS_TEST_NO_PAUSE}" = x"yes";
then

View File

@@ -7,7 +7,7 @@ dnl RTEMS_TOP($1)
dnl
dnl $1 .. relative path from this configure.in to the toplevel configure.in
dnl
AC_DEFUN([RTEMS_TOP],
AC_DEFUN(RTEMS_TOP,
[dnl
AC_REQUIRE([RTEMS_VERSIONING])
AC_CONFIG_AUX_DIR([$1])

View File

@@ -2,7 +2,7 @@ dnl $Id$
## HACK: Work-around to structural issue with RTEMS
## The macros below violate most autoconf and canonicalization standards
AC_DEFUN([RTEMS_CONFIG_BUILD_SUBDIRS],
AC_DEFUN(RTEMS_CONFIG_BUILD_SUBDIRS,
[AC_REQUIRE([_RTEMS_OUTPUT_BUILD_SUBDIRS])
RTEMS_BUILD_SUBDIRS="$RTEMS_BUILD_SUBDIRS [$1]"
])
@@ -86,7 +86,7 @@ dnl
dnl
dnl _RTEMS_PUSH_BUILDDIR(SUBDIR)
dnl
AC_DEFUN([_RTEMS_PUSH_BUILDDIR],
AC_DEFUN(_RTEMS_PUSH_BUILDDIR,
[
# _RTEMS_PUSH_BUILDDIR
echo configuring in $1
@@ -103,15 +103,15 @@ AC_DEFUN([_RTEMS_PUSH_BUILDDIR],
dnl
dnl _RTEMS_POP_BUILDDIR
dnl
AC_DEFUN([_RTEMS_POP_BUILDDIR],
AC_DEFUN(_RTEMS_POP_BUILDDIR,
[
cd "$ac_popdir"
cd $ac_popdir
])
dnl
dnl _RTEMS_GIVEN_INSTALL
dnl
AC_DEFUN([_RTEMS_GIVEN_INSTALL],
AC_DEFUN(_RTEMS_GIVEN_INSTALL,
[
ifdef([AC_PROVIDE_AC_PROG_INSTALL],[
case "$ac_given_INSTALL" in
@@ -124,7 +124,7 @@ ifdef([AC_PROVIDE_AC_PROG_INSTALL],[
dnl
dnl _RTEMS_SUB_SRCDIR(AC_CONFIG_DIR[,TARGET_SUBDIR])
dnl
AC_DEFUN([_RTEMS_SUB_SRCDIR],[
AC_DEFUN(_RTEMS_SUB_SRCDIR,[
# _RTEMS_SUB_SRCDIR
_RTEMS_ADJUST_SRCDIR(ac_sub_srcdir,$1,$2)

View File

@@ -1,4 +1,4 @@
AC_DEFUN([RTEMS_TOOLPATHS],
AC_DEFUN(RTEMS_TOOLPATHS,
[
# tooldir='$(exec_prefix)/'$target_alias
# Temporary work-around until building in source tree is supported

View File

@@ -1,2 +1,2 @@
AC_DEFUN([RTEMS_VERSIONING],
m4_define([_RTEMS_VERSION],[4.6.6]))
m4_define([_RTEMS_VERSION],[4.6.0]))

View File

@@ -1,7 +1,3 @@
2004-08-17 Ralf Corsepius <ralf_corsepius@rtems.org>
* acinclude.m4 (_RTEMS_CONFIG_SUBDIR): Quote ac_popdir uses.
2003-12-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* support/Makefile.am: Pass @RTEMS_BSP@ to AM_CPPFLAGS.

View File

@@ -79,7 +79,7 @@ if test "$no_recursion" != yes; then
AC_MSG_ERROR([$ac_sub_configure failed for $ac_subdir])
fi
cd "$ac_popdir"
cd $ac_popdir
done
fi
fi

View File

@@ -1,9 +1,3 @@
2006-04-24 Jiri Gaisler <jiri@gaisler.com>
Edvin Catovic <edvin@gaisler.com>
PR bsps/972
* shmdr/shm_driver.h: Add sparc lock/unlock values.
2003-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Use rtems-bugs@rtems.com as bug report email address.

View File

@@ -1,8 +1,3 @@
2004-09-27 Joel Sherrill <joel@OARcorp.com>
PR 679/bsps
* startup/linkcmds: Add gnu.linkonce.d and .gcc_except_table.
2003-09-04 Joel Sherrill <joel@OARcorp.com>
* clock/ckinit.c, console/console.c, include/bsp.h, include/coverhd.h,

View File

@@ -48,8 +48,6 @@ SECTIONS
{
_sdata = .;
*(.data);
*(.gnu.linkonce.d*)
*(.gcc_except_table)
_edata = .;
}
_data_start = ADDR(.data) ;

View File

@@ -1,57 +1,3 @@
2006-04-24 Joel Sherrill <joel@OARcorp.com>
* configure.ac, console/console.c:
2005-11-08 Till Straumann <strauman@slac.stanford.edu>
PR832/bsps
* startup/ldsegs.S: move CPU segment descriptor tables from .text to
.data; the CPU modifies the descriptor tables and this could be a
problem: a) if text segment is ever write-protected b) rtems-gdb-stub
checksums the text segment against the file gdb is using. A checksum
mismatch results because of the CPU touching the accessed bit...
2005-08-23 Karel Gardas <kgardas@objectsecurity.com>>
* timer/timer.c: Enhance to use either interupt-based timer
functions on older CPUs or to use TSC-based timer functions on
more recent (Pentium and above) CPUs. The decision is made in
Timer_initialize function when it is called for the first time
based on a result obtained from cpuid instruction during the BSP
initialization phase. During the first call, there are also late
bindings to the implementation functions initialized to
appropriate values.
2005-09-29 Thomas Doerfler <Thomas.Doerfler@imd-systems.de>
PR 649/filesystem
* ide/idecfg.c: added configuration items for primary/secondary
IDE interface
* configure.ac: added configuration items for primary/secondary
IDE interface
2005-09-01 Joel Sherrill <joel@OARcorp.com>
* clock/Makefile.am, include/Makefile.am: Install tod.h
2005-01-20 Joel Sherrill <joel@OARcorp.com>
PR 743/bsps
* clock/Makefile.am: Did not install tod.h.
2004-10-13 Eric Norum <norume@aps.anl.gov>
PR 688/bsps
* Makefile.am clock/todcfg.c: Add support for MC146818A TOD chip.
2004-05-21 Till Strauman <strauman@slac.stanford.edu>
* PR 624/bsps
startup/bspstart.c: When probing the memory, make sure not to
corrupt the application. Only probe addresses beyond rtemsFreeMemStart.
* Let IBMPC_outch() convert LF -> CRLF to avoid printk scrambling
the screen.
2003-10-02 Till Strauman <strauman@slac.stanford.edu>
PR 502/bsps

View File

@@ -2,11 +2,10 @@
## $Id$
##
VPATH = @srcdir@:@srcdir@/../../shared/tod:@srcdir@/../../../shared
PGM = $(ARCH)/clock.rel
C_FILES = ckinit.c todcfg.c tod.c
C_FILES = ckinit.c rtc.c
clock_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT))
include $(top_srcdir)/../../../../../../automake/compile.am
@@ -26,6 +25,6 @@ all-local: $(ARCH) $(clock_rel_OBJECTS) $(PGM)
.PRECIOUS: $(PGM)
EXTRA_DIST =
EXTRA_DIST = ckinit.c rtc.c
include $(top_srcdir)/../../../../../../automake/local.am

View File

@@ -1,36 +0,0 @@
/*
* This file contains the RTC driver table for Motorola shared BSPs.
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#include <bsp.h>
#include <libchip/rtc.h>
#include <libchip/mc146818a.h>
/* The following table configures the RTC drivers used in this BSP */
rtc_tbl RTC_Table[] = {
{
"/dev/rtc", /* sDeviceName */
RTC_MC146818A, /* deviceType */
&mc146818a_fns, /* pDeviceFns */
mc146818a_probe, /* deviceProbe */
NULL, /* pDeviceParams */
0x70, /* ulCtrlPort1 */
0x00, /* ulDataPort */
mc146818a_get_register, /* getRegister */
mc146818a_set_register /* setRegister */
}
};
/* Some information used by the RTC driver */
#define NUM_RTCS (sizeof(RTC_Table)/sizeof(rtc_tbl))
unsigned long RTC_Count = NUM_RTCS;
rtems_device_minor_number RTC_Minor;

View File

@@ -16,28 +16,6 @@ RTEMS_CANONICALIZE_TOOLS
RTEMS_CHECK_NETWORKING
RTEMS_BSPOPTS_SET([USE_COM1_AS_CONSOLE],[*],[0])
RTEMS_BSPOPTS_HELP([USE_COM1_AS_CONSOLE],
[Determines, whether the console will be associated with the standard
VGA display or with the COM1 serial port. Currently only the VGA
display and COM1 support printk.])
RTEMS_BSPOPTS_SET([IDE_USE_PRIMARY_INTERFACE],[*],[1])
RTEMS_BSPOPTS_HELP([IDE_USE_PRIMARY_INTERFACE],
[Determines, whether RTEMS will try to use the primary IDE interface.
Disable it, if:
- you have no primary IDE interface
- or you have no disk attached to this interface
- or you do not want to access disks attached to this interface])
RTEMS_BSPOPTS_SET([IDE_USE_SECONDARY_INTERFACE],[*],[0])
RTEMS_BSPOPTS_HELP([IDE_USE_SECONDARY_INTERFACE],
[Determines, whether RTEMS will try to use the primary IDE interface.
Enable it, if:
- you have a secondary IDE interface
- and you have at least one disk attached to this interface
- and you do want to access disks attached to this interface])
## if this is an i386, does gas have good code16 support?
RTEMS_I386_GAS_CODE16
AM_CONDITIONAL(RTEMS_GAS_CODE16,[test "$RTEMS_GAS_CODE16" = "yes"])

View File

@@ -61,14 +61,10 @@ void __assert (const char *file, int line, const char *msg);
* to same serial device it does not work that great
*/
#if (USE_COM1_AS_CONSOLE == 1)
int BSPConsolePort = BSP_UART_COM1;
int BSPPrintkPort = BSP_UART_COM1;
#else
int BSPConsolePort = BSP_CONSOLE_PORT_CONSOLE;
int BSPPrintkPort = BSP_CONSOLE_PORT_CONSOLE;
#endif
/* int BSPConsolePort = BSP_UART_COM2; */
int BSPBaseBaud = 115200;
extern BSP_polling_getchar_function_type BSP_poll_char;

View File

@@ -270,11 +270,8 @@ _IBMPC_outch(char c)
{
static int escaped = 0;
if ( ! (escaped = handleEscape(escaped, c)) ) {
if ( '\n' == c )
videoPutChar('\r');
if ( ! (escaped = handleEscape(escaped, c)) )
videoPutChar(c);
}
} /* _IBMPC_outch */

View File

@@ -36,8 +36,7 @@ extern ide_ctrl_fns_t pc386_ide_ctrl_fns;
/* IDE controllers Table */
ide_controller_bsp_table_t IDE_Controller_Table[] = {
#if IDE_USE_PRIMARY_INTERFACE
{"/dev/ide0",
{"/dev/ide",
IDE_STD, /* standard IDE controller */
&pc386_ide_ctrl_fns,
NULL, /* probe for IDE standard registers */
@@ -46,21 +45,6 @@ ide_controller_bsp_table_t IDE_Controller_Table[] = {
FALSE,0, /* not (yet) interrupt driven */
NULL
}
#if IDE_USE_SECONDARY_INTERFACE
, /* colon only neede when bith interfaces present */
#endif
#endif
#if IDE_USE_SECONDARY_INTERFACE
{"/dev/ide1",
IDE_STD, /* standard IDE controller */
&pc386_ide_ctrl_fns,
NULL, /* probe for IDE standard registers */
FALSE, /* not (yet) initialized */
0x170, /* base I/O address for second IDE controller */
FALSE,0, /* not (yet) interrupt driven */
NULL
}
#endif
};
/* Number of rows in IDE_Controller_Table */

View File

@@ -9,15 +9,11 @@ if HAS_NETWORKING
WD80X3 = wd80x3.h
endif
include_HEADERS = bsp.h crt.h coverhd.h tod.h $(WD80X3) bspopts.h
include_HEADERS = bsp.h crt.h coverhd.h $(WD80X3) bspopts.h
coverhd.h: $(top_srcdir)/../../shared/include/coverhd.h
cp $< $@
tod.h: $(top_srcdir)/../../shared/tod.h
cp $< $@
CLEANFILES = coverhd.h tod.h
CLEANFILES = coverhd.h
$(PROJECT_INCLUDE):
$(mkinstalldirs) $@

View File

@@ -82,18 +82,12 @@ void bsp_postdriver_hook(void);
void bsp_pretasking_hook(void)
{
rtems_unsigned32 topAddr, val;
int i, lowest;
int i;
if (rtemsFreeMemStart & (CPU_ALIGNMENT - 1)) /* not aligned => align it */
rtemsFreeMemStart = (rtemsFreeMemStart+CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
/* find the lowest 1M boundary to probe */
lowest = ((rtemsFreeMemStart + (1<<20)) >> 20) + 1;
if ( lowest < 2 )
lowest = 2;
if(_heap_size == 0)
{
/*
@@ -101,13 +95,13 @@ void bsp_pretasking_hook(void)
* between 2M and 2048M.
* let us first write
*/
for(i=2048; i>=lowest; i--)
for(i=2048; i>=2; i--)
{
topAddr = i*1024*1024 - 4;
*(volatile rtems_unsigned32 *)topAddr = topAddr;
}
for(i=lowest; i<=2048; i++)
for(i=2; i<=2048; i++)
{
topAddr = i*1024*1024 - 4;
val = *(rtems_unsigned32 *)topAddr;

View File

@@ -187,7 +187,6 @@ SYM (_return_to_monitor):
| GDT itself
+--------------------------------------------------------------------------*/
BEGIN_DATA
.p2align 4
PUBLIC (_Global_descriptor_table)
@@ -217,6 +216,7 @@ SYM (gdtdesc):
/*---------------------------------------------------------------------------+
| IDT itself
+---------------------------------------------------------------------------*/
BEGIN_DATA
.p2align 4
PUBLIC(Interrupt_descriptor_table)
@@ -224,17 +224,18 @@ SYM(Interrupt_descriptor_table):
.rept 256
.word 0,0,0,0
.endr
END_DATA
/*---------------------------------------------------------------------------+
| Descriptor of IDT
+--------------------------------------------------------------------------*/
BEGIN_CODE
.p2align 4
SYM(idtdesc):
.word (256*8 - 1)
.long SYM (Interrupt_descriptor_table)
END_DATA
END_CODE
.section .m_hdr
.long 0x1BADB002

View File

@@ -38,6 +38,7 @@
| $Id$
+--------------------------------------------------------------------------*/
#include <stdlib.h>
#include <bsp.h>
@@ -50,7 +51,7 @@
#define LEAST_VALID 1 /* Don't trust a value lower than this. */
#define SLOW_DOWN_IO 0x80 /* io which does nothing */
#define TWO_MS (uint32_t)(2000) /* TWO_MS = 2000us (sic!) */
#define TWO_MS (rtems_unsigned32)(2000) /* TWO_MS = 2000us (sic!) */
#define MSK_NULL_COUNT 0x40 /* bit counter available for reading */
@@ -58,36 +59,27 @@
/*-------------------------------------------------------------------------+
| Global Variables
+--------------------------------------------------------------------------*/
volatile uint32_t Ttimer_val;
volatile rtems_unsigned32 Ttimer_val;
rtems_boolean Timer_driver_Find_average_overhead = TRUE;
volatile unsigned int fastLoop1ms, slowLoop1ms;
void (*Timer_initialize_function)(void) = 0;
uint32_t (*Read_timer_function)(void) = 0;
void (*Timer_exit_function)(void) = 0;
/*-------------------------------------------------------------------------+
| External Prototypes
+--------------------------------------------------------------------------*/
extern void timerisr(void);
/* timer (int 08h) Interrupt Service Routine (defined in 'timerisr.s') */
extern int x86_capability;
/*
* forward declarations
*/
void Timer_exit();
/*-------------------------------------------------------------------------+
| Pentium optimized timer handling.
+--------------------------------------------------------------------------*/
#if defined(pentium)
/*-------------------------------------------------------------------------+
| Function: rdtsc
| Description: Read the value of PENTIUM on-chip cycle counter.
| Global Variables: None.
| Arguments: None.
| Returns: Value of PENTIUM on-chip cycle counter.
| Returns: Value of PENTIUM on-chip cycle counter.
+--------------------------------------------------------------------------*/
static inline unsigned long long
rdtsc(void)
@@ -98,28 +90,30 @@ rdtsc(void)
return result;
} /* rdtsc */
/*-------------------------------------------------------------------------+
| Function: Timer_exit
| Description: Timer cleanup routine at RTEMS exit. NOTE: This routine is
| not really necessary, since there will be a reset at exit.
| Global Variables: None.
| Arguments: None.
| Returns: Nothing.
| Returns: Nothing.
+--------------------------------------------------------------------------*/
void
tsc_timer_exit(void)
Timer_exit(void)
{
} /* tsc_timer_exit */
} /* Timer_exit */
/*-------------------------------------------------------------------------+
| Function: Timer_initialize
| Description: Timer initialization routine.
| Global Variables: Ttimer_val.
| Arguments: None.
| Returns: Nothing.
| Returns: Nothing.
+--------------------------------------------------------------------------*/
void
tsc_timer_initialize(void)
Timer_initialize(void)
{
static rtems_boolean First = TRUE;
@@ -130,21 +124,22 @@ tsc_timer_initialize(void)
atexit(Timer_exit); /* Try not to hose the system at exit. */
}
Ttimer_val = rdtsc(); /* read starting time */
} /* tsc_timer_initialize */
} /* Timer_initialize */
/*-------------------------------------------------------------------------+
| Function: Read_timer
| Description: Read hardware timer value.
| Global Variables: Ttimer_val, Timer_driver_Find_average_overhead.
| Arguments: None.
| Returns: Nothing.
| Returns: Nothing.
+--------------------------------------------------------------------------*/
uint32_t
tsc_read_timer(void)
rtems_unsigned32
Read_timer(void)
{
register uint32_t total;
register rtems_unsigned32 total;
total = (uint32_t)(rdtsc() - Ttimer_val);
total = (rtems_unsigned32)(rdtsc() - Ttimer_val);
if (Timer_driver_Find_average_overhead)
return total;
@@ -152,20 +147,23 @@ tsc_read_timer(void)
return 0; /* below timer resolution */
else
return (total - AVG_OVERHEAD);
} /* tsc_read_timer */
} /* Read_timer */
#else /* pentium */
/*-------------------------------------------------------------------------+
| Non-Pentium timer handling.
+--------------------------------------------------------------------------*/
#define US_PER_ISR 250 /* Number of micro-seconds per timer interruption */
/*-------------------------------------------------------------------------+
| Function: Timer_exit
| Description: Timer cleanup routine at RTEMS exit. NOTE: This routine is
| not really necessary, since there will be a reset at exit.
| Global Variables: None.
| Arguments: None.
| Returns: Nothing.
| Returns: Nothing.
+--------------------------------------------------------------------------*/
static void
timerOff(const rtems_raw_irq_connect_data* used)
@@ -180,7 +178,8 @@ timerOff(const rtems_raw_irq_connect_data* used)
outport_byte(TIMER_CNTR0, 0);
} /* Timer_exit */
static void
static void
timerOn(const rtems_raw_irq_connect_data* used)
{
/* load timer for US_PER_ISR microsecond period */
@@ -193,11 +192,10 @@ timerOn(const rtems_raw_irq_connect_data* used)
BSP_irq_enable_at_i8259s(used->idtIndex - BSP_IRQ_VECTOR_BASE);
}
static int
static int
timerIsOn(const rtems_raw_irq_connect_data *used)
{
return BSP_irq_enabled_at_i8259s(used->idtIndex - BSP_IRQ_VECTOR_BASE);
}
return BSP_irq_enabled_at_i8259s(used->idtIndex - BSP_IRQ_VECTOR_BASE);}
static rtems_raw_irq_connect_data timer_raw_irq_data = {
BSP_PERIODIC_TIMER + BSP_IRQ_VECTOR_BASE,
@@ -213,10 +211,10 @@ static rtems_raw_irq_connect_data timer_raw_irq_data = {
| not really necessary, since there will be a reset at exit.
| Global Variables: None.
| Arguments: None.
| Returns: Nothing.
| Returns: Nothing.
+--------------------------------------------------------------------------*/
void
i386_timer_exit(void)
Timer_exit(void)
{
i386_delete_idt_entry (&timer_raw_irq_data);
} /* Timer_exit */
@@ -226,10 +224,10 @@ i386_timer_exit(void)
| Description: Timer initialization routine.
| Global Variables: Ttimer_val.
| Arguments: None.
| Returns: Nothing.
| Returns: Nothing.
+--------------------------------------------------------------------------*/
void
i386_timer_initialize(void)
Timer_initialize(void)
{
static rtems_boolean First = TRUE;
@@ -250,18 +248,19 @@ i386_timer_initialize(void)
Ttimer_val = 0;
} /* Timer_initialize */
/*-------------------------------------------------------------------------+
| Function: Read_timer
| Description: Read hardware timer value.
| Global Variables: Ttimer_val, Timer_driver_Find_average_overhead.
| Arguments: None.
| Returns: Nothing.
| Returns: Nothing.
+--------------------------------------------------------------------------*/
uint32_t
i386_read_timer(void)
rtems_unsigned32
Read_timer(void)
{
register uint32_t total, clicks;
register uint8_t lsb, msb;
register rtems_unsigned32 total, clicks;
register rtems_unsigned8 lsb, msb;
outport_byte(TIMER_MODE, TIMER_SEL0|TIMER_LATCH);
inport_byte(TIMER_CNTR0, lsb);
@@ -277,68 +276,28 @@ i386_read_timer(void)
return (total - AVG_OVERHEAD);
}
/*
* General timer functions using either TSC-based implementation
* or interrupt-based implementation
*/
#endif /* pentium */
void
Timer_initialize(void)
{
static rtems_boolean First = TRUE;
if (First) {
if (x86_capability & (1 << 4) ) {
#if defined(DEBUG)
printk("TSC: timer initialization\n");
#endif
Timer_initialize_function = &tsc_timer_initialize;
Read_timer_function = &tsc_read_timer;
Timer_exit_function = &tsc_timer_exit;
}
else {
#if defined(DEBUG)
printk("ISR: timer initialization\n");
#endif
Timer_initialize_function = &i386_timer_initialize;
Read_timer_function = &i386_read_timer;
Timer_exit_function = &i386_timer_exit;
}
First = FALSE;
}
(*Timer_initialize_function)();
}
uint32_t
Read_timer()
{
return (*Read_timer_function)();
}
void
Timer_exit()
{
return (*Timer_exit_function)();
}
/*-------------------------------------------------------------------------+
| Function: Empty_function
| Description: Empty function used in time tests.
| Global Variables: None.
| Arguments: None.
| Returns: Nothing.
| Returns: Nothing.
+--------------------------------------------------------------------------*/
rtems_status_code Empty_function(void)
{
return RTEMS_SUCCESSFUL;
} /* Empty function */
/*-------------------------------------------------------------------------+
| Function: Set_find_average_overhead
| Description: Set internal Timer_driver_Find_average_overhead flag value.
| Global Variables: Timer_driver_Find_average_overhead.
| Arguments: find_flag - new value of the flag.
| Returns: Nothing.
| Returns: Nothing.
+--------------------------------------------------------------------------*/
void
Set_find_average_overhead(rtems_boolean find_flag)
@@ -360,10 +319,11 @@ void loadTimerValue( unsigned short loadedValue )
outport_byte(TIMER_CNTR0, (loadedValue >> 8) & 0xff);
}
/*-------------------------------------------------------------------------+
| Description: Reads the current value of the timer, and converts the
| number of ticks to micro-seconds.
| Returns: number of clock bits elapsed since last load.
| Description: Reads the current value of the timer, and converts the
| number of ticks to micro-seconds.
| Returns: number of clock bits elapsed since last load.
+--------------------------------------------------------------------------*/
unsigned int readTimer0()
{
@@ -378,7 +338,7 @@ unsigned int readTimer0()
count = ( msb << 8 ) | lsb ;
if (status & RB_OUTPUT )
count += lastLoadedValue;
return (2*lastLoadedValue - count);
}
@@ -412,19 +372,19 @@ Calibrate_loop_1ms(void)
unsigned int targetClockBits, currentClockBits;
unsigned int slowLoopGranularity, fastLoopGranularity;
rtems_interrupt_level level;
#ifdef DEBUG_CALIBRATE
printk( "Calibrate_loop_1ms is starting, please wait ( but not too loooong. )\n" );
#endif
#endif
targetClockBits = US_TO_TICK(1000);
rtems_interrupt_disable(level);
/*
* Fill up the cache to get a correct offset
*/
Timer0Reset();
readTimer0();
/*
/*
* Compute the minimal offset to apply due to read counter register.
*/
offset = 0xffffffff;
@@ -477,24 +437,24 @@ Calibrate_loop_1ms(void)
while (1);
}
slowLoopGranularity = (res - offset - emptyCall)/ 10;
if (slowLoopGranularity == 0) {
printk("Problem #3 in Calibrate_loop_1ms in file libbsp/i386/pc386/timer/timer.c\n");
while (1);
}
targetClockBits += offset;
#ifdef DEBUG_CALIBRATE
#ifdef DEBUG_CALIBRATE
printk("offset = %u, emptyCall = %u, targetClockBits = %u\n",
offset, emptyCall, targetClockBits);
printk("slowLoopGranularity = %u fastLoopGranularity = %u\n",
slowLoopGranularity, fastLoopGranularity);
#endif
#endif
slowLoop1ms = (targetClockBits - emptyCall) / slowLoopGranularity;
if (slowLoop1ms != 0) {
fastLoop1ms = targetClockBits % slowLoopGranularity;
if (fastLoop1ms > emptyCall) fastLoop1ms -= emptyCall;
}
}
else
fastLoop1ms = targetClockBits - emptyCall / fastLoopGranularity;
@@ -502,7 +462,7 @@ Calibrate_loop_1ms(void)
/*
* calibrate slow loop
*/
while(1)
{
int previousSign = 0; /* 0 = unset, 1 = incrementing, 2 = decrementing */
@@ -537,7 +497,7 @@ Calibrate_loop_1ms(void)
/*
* calibrate fast loop
*/
if (fastLoopGranularity != 0 ) {
while(1) {
int previousSign = 0; /* 0 = unset, 1 = incrementing, 2 = decrementing */
@@ -565,11 +525,11 @@ Calibrate_loop_1ms(void)
}
}
}
#ifdef DEBUG_CALIBRATE
#ifdef DEBUG_CALIBRATE
printk("slowLoop1ms = %u, fastLoop1ms = %u\n", slowLoop1ms, fastLoop1ms);
#endif
#endif
rtems_interrupt_enable(level);
}
/*-------------------------------------------------------------------------+
@@ -577,7 +537,7 @@ Calibrate_loop_1ms(void)
| Description: loop which waits at least timeToWait ms
| Global Variables: loop1ms
| Arguments: timeToWait
| Returns: Nothing.
| Returns: Nothing.
+--------------------------------------------------------------------------*/
void
Wait_X_ms( unsigned int timeToWait){
@@ -590,3 +550,9 @@ Wait_X_ms( unsigned int timeToWait){
}
}

View File

@@ -1,14 +1,3 @@
2005-11-08 Till Straumann <strauman@slac.stanford.edu>
PR832/bsps
* pci/pcibios.c: replace BSP_pciFindDevice implementation by pcibios
call.
2004-09-27 Greg Menke <gregory.menke@gsfc.nasa.gov>
PR 608/bsps
* pci/pcibios.c: BusCountPCI().
2003-12-29 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* shared/io/Makefile.am: Remove (Unused).

View File

@@ -218,80 +218,59 @@ pcib_find_by_class(int classCode, int idx, int *sig)
#define PCI_MAX_DEVICES 16
#define PCI_MAX_FUNCTIONS 8
#define PCI_VENDOR_ID 0x00 /* 16 bits */
#define PCI_DEVICE_ID 0x02 /* 16 bits */
#define PCI_CLASS_REVISION 0x08
#define PCI_HEADER_TYPE 0x0e
#define PCI_SUBORDINATE_BUS 0x1a
#define PCI_CLASS_BRIDGE_PCI 0x0604
static unsigned8 ucBusCount = 0xff;
int
BusCountPCI()
{
if( ucBusCount == 0xff )
{
unsigned char bus,dev,hd;
unsigned int d;
int sig;
ucBusCount = 0;
for(bus=0; bus< 0xff; bus++)
{
for(dev=0; dev<PCI_MAX_DEVICES; dev++)
{
sig = PCIB_DEVSIG_MAKE(bus,dev,0);
pcib_conf_read32(sig, PCI_VENDOR_ID, &d);
if( d != -1 )
{
pcib_conf_read32(sig, PCI_CLASS_REVISION, &d);
if( (d >> 16) == PCI_CLASS_BRIDGE_PCI )
{
pcib_conf_read8(sig, PCI_SUBORDINATE_BUS, &hd);
if( hd > ucBusCount )
ucBusCount = hd;
}
}
}
}
if( ucBusCount == 0 )
{
printk("BusCountPCI() found 0 busses, assuming 1\n");
ucBusCount = 1;
}
else if( ucBusCount == 0xff )
{
printk("BusCountPCI() found 0xff busses, assuming 1\n");
ucBusCount = 1;
}
}
return ucBusCount;
}
int
BSP_pciFindDevice( unsigned short vendorid, unsigned short deviceid,
int instance, int *pbus, int *pdev, int *pfun )
{
int sig, rval;
int sig;
unsigned int d;
unsigned short s;
unsigned char bus,dev,fun,hd;
rval = pcib_find_by_devid(vendorid, deviceid, instance, &sig);
for (bus=0; bus<BusCountPCI(); bus++)
{
for (dev=0; dev<PCI_MAX_DEVICES; dev++)
{
sig = PCIB_DEVSIG_MAKE(bus,dev,0);
if ( PCIB_ERR_SUCCESS == rval ) {
*pbus = PCIB_DEVSIG_BUS(sig);
*pdev = PCIB_DEVSIG_DEV(sig);
*pfun = PCIB_DEVSIG_FUNC(sig);
/* pci_read_config_byte(bus,dev,0, PCI_HEADER_TYPE, &hd); */
pcib_conf_read8(sig, 0xe, &hd);
hd = (hd & PCI_MULTI_FUNCTION ? PCI_MAX_FUNCTIONS : 1);
for (fun=0; fun<hd; fun++) {
/*
* The last devfn id/slot is special; must skip it
*/
if( PCI_MAX_DEVICES-1 == dev && PCI_MAX_FUNCTIONS-1 == fun )
break;
/*pci_read_config_dword(bus,dev,fun,PCI_VENDOR_ID,&d); */
pcib_conf_read32(sig, 0, &d);
if( d == -1 )
continue;
#ifdef PCI_DEBUG
printk("BSP_pciFindDevice: found 0x%08x at %d/%d/%d\n",d,bus,dev,fun);
#endif
/* pci_read_config_word(bus,dev,fun,PCI_VENDOR_ID,&s); */
pcib_conf_read16(sig, 0, &s);
if (vendorid != s)
continue;
/* pci_read_config_word(bus,dev,fun,PCI_DEVICE_ID,&s); */
pcib_conf_read16(sig, 0x2, &s);
if (deviceid == s) {
if (instance--) continue;
*pbus=bus;
*pdev=dev;
*pfun=fun;
return 0;
}
}
}
}
return rval;
return -1;
}

View File

@@ -1,17 +1,3 @@
2006-03-07 Aaron Frye <aaron@frye.com>
PR 719/bsps
* m68kpretaskinghook.c: The optimizer on gcc 3.4.2 assumes that the
address of a variable cannot be 0, so it optimizes out any such
checks. this breaks the shared m68k bsp_pretasking_hook() which uses
such a check to determine heap size during runtime.
2004-03-05 Joel Sherrill <joel@OARcorp.com>
PR 505/bsps
* setvec.c: Rework to remove punned pointer warning generated by gcc
3.3 and newer.
2003-09-04 Joel Sherrill <joel@OARcorp.com>
* bspspuriousinit.c, m68000spurious.c, m68kpretaskinghook.c, setvec.c,

View File

@@ -36,21 +36,20 @@ extern rtems_configuration_table BSP_Configuration;
extern void *_RamBase;
extern void *_WorkspaceBase;
extern volatile void *_HeapSize;
extern void *_HeapSize;
unsigned long _M68k_Ramsize;
void bsp_pretasking_hook(void)
{
void *heapStart;
volatile unsigned long heapSize = (volatile unsigned long)&_HeapSize;
unsigned long ramSpace;
void *heapStart;
unsigned long heapSize = (unsigned long)&_HeapSize;
unsigned long ramSpace;
heapStart = (void *)
((unsigned long)&_WorkspaceBase + BSP_Configuration.work_space_size);
ramSpace = (unsigned long) &_RamBase + _M68k_Ramsize -
(unsigned long) heapStart;
ramSpace = (unsigned long) &_RamBase + _M68k_Ramsize - (unsigned long) heapStart;
if (heapSize == 0)
heapSize = ramSpace;

View File

@@ -26,13 +26,13 @@ m68k_isr_entry set_vector( /* returns old vector */
int type /* RTEMS or RAW intr */
)
{
rtems_isr_entry previous_isr;
m68k_isr_entry previous_isr;
if ( type )
rtems_interrupt_catch( handler, vector, &previous_isr );
rtems_interrupt_catch( handler, vector, (rtems_isr_entry *) &previous_isr );
else {
_CPU_ISR_install_raw_handler( vector, handler, (void *)&previous_isr );
}
return (m68k_isr_entry) previous_isr;
return previous_isr;
}

View File

@@ -1,8 +1,3 @@
2004-11-10 Richard Campbell <richard.campbell@oarcorp.com>
* configure.ac: Add TOD support in shared as part of adding MVME2100
BSP.
2003-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Use rtems-bugs@rtems.com as bug report email address.

View File

@@ -33,7 +33,6 @@ shared/pci/Makefile
shared/residual/Makefile
shared/start/Makefile
shared/startup/Makefile
shared/tod/Makefile
shared/vectors/Makefile
shared/vme/Makefile])
AC_OUTPUT

View File

@@ -1,18 +1,3 @@
2005-11-07 Till Straumann <strauman@slac.stanford.edu>
PR 834/bsps
* vectors/vectors.S: reload stack pointer/R1 from exception frame
instead of adding static offset.
2005-10-06 Till Straumann <strauman@slac.stanford.edu>
PR 833/bsps
* irq/irq_asm.S: Currently, all (new exception) BSPs explicitely enable
the FPU across the user ISR but DONT save/restore the FPU context.
Any use of the FPU fron the user handler (e.g., due to GCC
optimizations) result in corruption. The fix results in an exception
in such cases (user ISR must explicitely save/enable/restore FPU).
2003-12-19 Joel Sherrill <joel@OARcorp.com>
PR 545/bsps

View File

@@ -12,8 +12,6 @@
* Till Straumann <strauman@slac.stanford.edu>, 2003/7:
* - store isr nesting level in _ISR_Nest_level rather than
* SPRG0 - RTEMS relies on that variable.
* Till Straumann <strauman@slac.stanford.edu>, 2005/4:
* - DONT enable FP across user USR since fpregs are never saved!!
*
* $Id$
*/
@@ -90,8 +88,14 @@ SYM (shared_raw_irq_code_entry):
/*
* Enable data and instruction address translation, exception recovery
*
* also, on CPUs with FP, enable FP so that FP context can be
* saved and restored (using FP instructions)
*/
#if (PPC_HAS_FPU == 0)
ori r3, r3, MSR_RI | MSR_IR | MSR_DR
#else
ori r3, r3, MSR_RI | MSR_IR | MSR_DR | MSR_FP
#endif
mtmsr r3
SYNC
/*
@@ -294,27 +298,6 @@ nested:
rfi
switch:
#if ( PPC_HAS_FPU != 0 )
#if ! defined( CPU_USE_DEFERRED_FP_SWITCH )
#error missing include file???
#endif
mfmsr r4
#if ( CPU_USE_DEFERRED_FP_SWITCH == TRUE )
/* if the executing thread has FP enabled propagate
* this now so _Thread_Dispatch can save/restore the FPREGS
* NOTE: it is *crucial* to disable the FPU across the
* user ISR [independent of using the 'deferred'
* strategy or not]. We don't save FP regs across
* the user ISR and hence we prefer an exception to
* be raised rather than experiencing corruption.
*/
lwz r3, SRR1_FRAME_OFFSET(r1)
rlwimi r4, r3, 0, 18, 18 /* MSR_FP */
#else
ori r4, r4, MSR_FP
#endif
mtmsr r4
#endif
bl SYM (_Thread_Dispatch)
easy_exit:

View File

@@ -137,10 +137,6 @@ SYM (push_normalized_frame):
mtsrr0 r3
lwz r3, GPR3_OFFSET(r1)
/* DONT add back the frame size but reload the value
* stored in the frame -- maybe the exception handler
* changed it with good reason (e.g., gdb pushed a dummy frame)
*/
lwz r1, GPR1_OFFSET(r1)
addi r1,r1, EXCEPTION_FRAME_END
SYNC
rfi

View File

@@ -1,8 +1,3 @@
2004-10-15 Gene Smith <gene.smith@seimens.com>
PR 691/bsps
* startup/linkcmds: Correct bug in linker script.
2003-12-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
PR 533/bsps

View File

@@ -145,6 +145,7 @@ SECTIONS
PROVIDE(_heap_end = heap.end);
/* reserve 64KByte for stack... */
stack.end = heap.end + 64K;
PROVIDE(_end = stack.end);
.line 0 : { *(.line) }
.debug 0 : { *(.debug) }

View File

@@ -1,9 +1,3 @@
2004-10-02 Ralf Corsepius <ralf_corsepius@rtems.org>
PR 697/bsps
* flashentry/flashentry.S: Fix broken comments
(Patch by Thomas.Doerfler@imd-systems.de)
2003-12-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
PR 533/bsps

View File

@@ -191,7 +191,7 @@ stack_top:
lis r3,0x0100 /* size 16 MB = 0x01000000 */
bl ramacc /* test memory accessibility */
cmpi 0,0,r4,0 /* memory ok? else test smaller size */
beq ramcfgok /* ok, we found configuration... */
beq ramcfgok /* ok, we found configuration... +/
lis r2,0x0000 /* disable BR6, config not ok */
mtdcr br6,r2 /* write to DCR BR6*/
@@ -263,7 +263,7 @@ ramcfgt18:
lis r3,0x0080 /* size 8 MB = 0x00800000 */
bl ramacc /* test memory accessibility */
cmpi 0,0,r4,0 /* memory ok? else test smaller size */
beq ramcfgok /* ok, we found configuration... */
beq ramcfgok /* ok, we found configuration... +/
lis r2,0x0000 /* disable BR6, config not ok */
mtdcr br6,r2 /* write to DCR BR6*/
@@ -333,7 +333,7 @@ ramcfgt14:
lis r3,0x0040 /* size 4 MB = 0x00400000 */
bl ramacc /* test memory accessibility */
cmpi 0,0,r4,0 /* memory ok? else test smaller size */
beq ramcfgok /* ok, we found configuration... */
beq ramcfgok /* ok, we found configuration... +/
lis r2,0x0000 /* disable BR6, config not ok */
mtdcr br6,r2 /* write to DCR BR6*/

View File

@@ -1,29 +1,3 @@
2005-11-07 Till Straumann <strauman@slac.stanford.edu>
PR 834/bsps
* vectors/vectors.S: reload stack pointer/R1 from exception frame
instead of adding static offset.
2005-10-06 Till Straumann <strauman@slac.stanford.edu>
PR 833/bsps
* irq/irq_asm.S: Currently, all (new exception) BSPs explicitely enable
the FPU across the user ISR but DONT save/restore the FPU context.
Any use of the FPU fron the user handler (e.g., due to GCC
optimizations) result in corruption. The fix results in an exception
in such cases (user ISR must explicitely save/enable/restore FPU).
2005-09-12 Thomas Doerfler <Thomas.Doerfler@imd-systems.de>
PR 527/bsps
PR 822/bsps
* console/console.c, startup/bspstart.c, startup/imbx8xx.c,
startup/mmutlbtab.c, startup/start.S, vectors/vectors_init.c:
Currently the MBX8xx BSP does not boot, because some logical errors
are in the startup code. Additionally, the mpc8xx shared clock driver
does not support the clocking scheme of some of the board variants,
which are clocked from a 32768Hz (!) external crystal.
2003-12-29 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* startup/Makefile.am: start.S instead of start.s.

View File

@@ -542,13 +542,6 @@ serial_init()
unsigned int dpaddr, memaddr;
bd_t *bd;
#if NVRAM_CONFIGURE == 1
if ( ((nvram->console_mode & 0x06) != 0x04 ) ||
((nvram->console_mode & 0x30) != 0x20 )) {
/*
* FIXME: refine this condition...
*/
#endif
bd = eppcbugInfo;
cp = cpmp;
@@ -654,26 +647,7 @@ serial_init()
/* Enable transmitter/receiver.
*/
sp->smc_smcmr |= SMCMR_REN | SMCMR_TEN;
#if NVRAM_CONFIGURE == 1
}
else {
const char bootmsg_text[]= "using EPPC bug for console I/O\n";
_EPPCBug_pollWrite((nvram->console_printk_port & 0x70) >> 4,
bootmsg_text,
sizeof(bootmsg_text)-1);
}
#endif
#if NVRAM_CONFIGURE == 1
if ((nvram->console_mode & 0x30) == 0x20 ) {
BSP_output_char = _BSP_output_char;
}
else {
BSP_output_char = serial_putchar;
}
#else
BSP_output_char = serial_putchar;
#endif
}
void

View File

@@ -12,8 +12,6 @@
* Till Straumann <strauman@slac.stanford.edu>, 2003/7:
* - store isr nesting level in _ISR_Nest_level rather than
* SPRG0 - RTEMS relies on that variable.
* Till Straumann <strauman@slac.stanford.edu>, 2005/4:
* - DONT enable FP across user ISR since fpregs are never saved!!
*
* $Id$
*/
@@ -129,7 +127,11 @@ SYM (shared_raw_irq_code_entry):
* also, on CPUs with FP, enable FP so that FP context can be
* saved and restored (using FP instructions)
*/
#if (PPC_HAS_FPU == 0)
ori r3, r3, MSR_RI | MSR_IR | MSR_DR
#else
ori r3, r3, MSR_RI | MSR_IR | MSR_DR | MSR_FP
#endif
mtmsr r3
SYNC
/*
@@ -336,27 +338,6 @@ nested:
rfi
switch:
#if ( PPC_HAS_FPU != 0 )
#if ! defined( CPU_USE_DEFERRED_FP_SWITCH )
#error missing include file???
#endif
mfmsr r4
#if ( CPU_USE_DEFERRED_FP_SWITCH == TRUE )
/* if the executing thread has FP enabled propagate
* this now so _Thread_Dispatch can save/restore the FPREGS
* NOTE: it is *crucial* to disable the FPU across the
* user ISR [independent of using the 'deferred'
* strategy or not]. We don't save FP regs across
* the user ISR and hence we prefer an exception to
* be raised rather than experiencing corruption.
*/
lwz r3, SRR1_FRAME_OFFSET(r1)
rlwimi r4, r3, 0, 18, 18 /* MSR_FP */
#else
ori r4, r4, MSR_FP
#endif
mtmsr r4
#endif
bl SYM (_Thread_Dispatch)
easy_exit:

View File

@@ -148,7 +148,7 @@ void bsp_start(void)
myCpuRevision = get_ppc_cpu_revision();
mmu_init();
/*
* Enable instruction and data caches. Do not force writethrough mode.
*/
@@ -201,22 +201,7 @@ void bsp_start(void)
if( Cpu_table.interrupt_stack_size < 4 * 1024 )
Cpu_table.interrupt_stack_size = 4 * 1024;
#if ( defined(mbx821_001b) ||\
defined(mbx821_002b) ||\
defined(mbx821_003b) ||\
defined(mbx821_004b) ||\
defined(mbx821_005b) ||\
defined(mbx821_006b) ||\
defined(mbx860_001b) ||\
defined(mbx860_002b) ||\
defined(mbx860_003b) ||\
defined(mbx860_004b) ||\
defined(mbx860_005b) ||\
defined(mbx860_006b))
Cpu_table.clicks_per_usec = 0; /* for 32768 Hz oscclk */
#else
Cpu_table.clicks_per_usec = 1; /* for 4MHz oscclk */
#endif
Cpu_table.clicks_per_usec = 1; /* for 4MHz extclk */
Cpu_table.serial_per_sec = 10000000;
Cpu_table.serial_external_clock = 1;
Cpu_table.serial_xon_xoff = 0;

View File

@@ -271,7 +271,6 @@ void _InitMBX8xx (void)
m8xx.sccrk = M8xx_UNLOCK_KEY; /* unlock SCCR */
m8xx.sccr = 0x02800000; /* for MBX860/MBX821 */
#if 0 /* IMD hack: do not init PLL after EPPCbug load */
/* Initialize the PLL, Low-Power, and Reset Control Register (PLPRCR) */
/* - set the clock speed and set normal power mode */
m8xx.plprck = M8xx_UNLOCK_KEY; /* unlock PLPRCR */
@@ -301,7 +300,6 @@ void _InitMBX8xx (void)
m8xx.plprcr = 0x4C400000;
#else
#error "MBX board not defined"
#endif
#endif
/* Unlock the timebase and decrementer registers. */
m8xx.tbk = M8xx_UNLOCK_KEY;
@@ -318,7 +316,6 @@ void _InitMBX8xx (void)
_mtspr( M8xx_TBU_WR, r1 );
_mtspr( M8xx_TBL_WR, r1 );
#if 0 /* IMD hack: do not init UPMs after EPPCbug load */
/*
* Memory Controller Initialization
*/
@@ -587,7 +584,6 @@ void _InitMBX8xx (void)
#endif
m8xx.memc[7]._br = M8xx_BR_BA(0xFC000000) | M8xx_BR_AT(0) | M8xx_BR_PS8 |
M8xx_BR_MS_GPCM | M8xx_MEMC_BR_V;
#endif /* IMD hack */
/*
* PCMCIA initialization
*/

View File

@@ -31,8 +31,19 @@
* location is equal to its real address.
*/
MMU_TLB_table_t MMU_TLB_table[] = {
#if ( defined(mbx860_001b) || \
defined(mbx860_002b) || \
#if ( defined(mbx860_001b) )
/*
* DRAM: CS1, Start address 0x00000000, 2M,
* ASID=0x0, APG=0x0, not guarded memory, copyback data cache policy,
* R/W,X for all, no ASID comparison, not cache-inhibited.
* Last 512K block is cache-inhibited, but not guarded for use by EPPCBug.
* EPN TWC RPN
*/
{ 0x00000200, 0x05, 0x000009FD }, /* DRAM - PS=512K */
{ 0x00080200, 0x05, 0x000809FD }, /* DRAM - PS=512K */
{ 0x00100200, 0x05, 0x001009FD }, /* DRAM - PS=512K */
{ 0x00180200, 0x05, 0x001809FF }, /* DRAM - PS=512K, cache-inhibited */
#elif ( defined(mbx860_002b) || \
defined(mbx860_003b) || \
defined(mbx821_001b) || \
defined(mbx821_002b) || \

View File

@@ -243,46 +243,6 @@ spin:
*/
#define LOADED_BY_EPPCBUG
#define EARLY_CONSOLE
/*
* test function: blink orange led once
*/
#define LEDBLINK_DELAY (5*1000*1000)
#define LEDPORT 0xFA100001
#define LEDMASK 0xf0
#define LEDON 0x00
#define LEDOFF 0x08
PUBLIC_VAR(ledblink)
SYM(ledblink):
lis r3,LEDBLINK_DELAY>>16
ledblink1:
subi r3,r3,1
cmpi 0,1,r3,0
bne ledblink1
/*
* turn orange led off
*/
lis r3,LEDPORT@ha
lbz r0,LEDPORT@l(r3)
andi. r0,r0,LEDMASK
ori r0,r0,LEDOFF
stb r0,LEDPORT@l(r3)
lis r3,LEDBLINK_DELAY>>16
ledblink2:
subi r3,r3,1
cmpi 0,1,r3,0
bne ledblink2
/*
* turn orange led on
*/
lis r3,LEDPORT@ha
lbz r0,LEDPORT@l(r3)
andi. r0,r0,LEDMASK
ori r0,r0,LEDON
stb r0,LEDPORT@l(r3)
blr
/*
* Initialization code
*/

View File

@@ -144,10 +144,6 @@ SYM (push_normalized_frame):
mtsrr0 r3
lwz r3, GPR3_OFFSET(r1)
/* DONT add back the frame size but reload the value
* stored in the frame -- maybe the exception handler
* changed it with good reason (e.g., gdb pushed a dummy frame)
*/
lwz r1, GPR1_OFFSET(r1)
addi r1,r1, EXCEPTION_FRAME_END
SYNC
rfi

View File

@@ -115,11 +115,6 @@ void initialize_exceptions()
if (!mpc8xx_vector_is_valid (i)) {
continue;
}
#if 0 /* FIXME: refine this condition, leave Syscall for EPPCBug console */
if (i == ASM_SYS_VECTOR) {
continue;
}
#endif
exception_table[i].exceptIndex = i;
exception_table[i].hdl = exception_config.defaultRawEntry.hdl;
exception_table[i].hdl.vector = i;

View File

@@ -1,19 +1,3 @@
2005-05-20 Ralf Corsepius <ralf_corsepius@rtems.org>
PR 717/bsps
* bootloader/Makefile.am: Typo results in wrong flags being used.
2004-11-16 Richard Campbell <richard.campbell@OARcorp.com>
* README.MVME2100: Update to include DBAT0.
* bsp_specs: Fix spacing.
2004-11-10 Richard Campbell <richard.campbell@oarcorp.com>
* Makefile.am, configure.ac, bootloader/Makefile.am,
include/Makefile.am, wrapup/Makefile.am: Add MVME2100 BSP.
* README.MVME2100, tod/.cvsignore, tod/Makefile.am: New files.
2003-12-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
PR 533/bsps

View File

@@ -7,12 +7,12 @@ ACLOCAL_AMFLAGS = -I ../../../../../../aclocal
# wrapup is the one that actually builds and installs the library
# from the individual .rel files built in other directories
SUBDIRS = include clock console pci residual openpic irq vectors start \
startup bootloader motorola @exceptions@ tod vme wrapup
startup bootloader motorola @exceptions@ vme wrapup
include $(top_srcdir)/../../bsp.am
EXTRA_DIST = BOOTING README.MVME2100 README.MVME2300 README.OTHERBOARDS \
README.dec21140 bsp_specs times.mcp750 times.mvme2307
EXTRA_DIST = BOOTING README.MVME2300 README.OTHERBOARDS README.dec21140 \
bsp_specs times.mcp750 times.mvme2307
include $(top_srcdir)/../../../../../../automake/subdirs.am
include $(top_srcdir)/../../../../../../automake/local.am

View File

@@ -1,132 +0,0 @@
#
# $Id$
#
The MVME2100 is a Motorola VMEbus board which is similar to the other
Motorola PowerPC boards supported by this BSP. But it does not support
the Motorola CPU Configuration Register. This makes it impossible to
dynamically probe and determine that you are executing on this board
variant. So this BSP variant must be explicitly built to only support
the MVME2100. The complete list of differences found so far is:
* No CPU Configuration Register
* one COM port
* COM port is on PCI IRQ not ISA IRQ
* limited on RAM (32 or 64 MB)
* uses the EPIC interrupt controller on the MPC8240
* does not have an ISA bus but has an ISA I/O address space
* cannot set DBAT2 in bspstart like other variants because
there are PCI/ISA Interrupt Acknowledge registers at this space
This BSP may have left some PCI memory uncovered
* PPCBug starts programs with vectors still in ROM
Supported Features:
- Interrupt driven console using termios
- Network device driver
- Real-Time Clock driver
- Clock Tick Device Driver
Things to address:
- Does not return to monitor
- Level 1 cache is disabled for now
- Check on trying to read CPU Configuration Register for CHRP/Prep for PCI
and report a failure if in the wrong mode. May be able to set the model
but it may be hard to test if we break PPCBug.
- Use NVRAM for network configuration information
BSP Features Not Implemented:
- VMEbus mapped in but untested
- OpenPIC features not required for BSP are not supported
Memory Map
==========
BAT Mapping
ffff ffff |------------------------------------| ----- ffff ffff
| ROM/FLASH Bank 0 | |
fff0 0000 |------------------------------------| |
| System I/O | |
ffe0 0000 |------------------------------------| |
| Replicated ROM/FLASH Bank 0 | |
| Replicated System I/O | |
ff80 0000 |------------------------------------| |
| ROM/FLASH Bank 1 | DBAT3
ff00 0000 |------------------------------------| - Supervisor R/W
| PCI Interrupt Acknowledge | - Cache Inhibited
fef0 0000 |------------------------------------| - Guarded
| PCI Configuration Data Register | |
fee0 0000 |------------------------------------| |
| PCI Configuration Address Register | |
fec0 0000 |------------------------------------| |
| PCI I/O Space | |
fe80 0000 |------------------------------------| |
| PCI/ISA I/O Space | |
fe00 0000 |------------------------------------| |
| PCI/ISA Memory Space | |
fd00 0000 |------------------------------------| |
| | |
| xxxxxxxxxxxxxx| ----- f000 0000
| x not mapped | |
| xxxxxxxxxxxxxx| ----- a000 0000
| | |
| | |
| | DBAT0
| | - Supervisor R/W
| | - Cache Inhibited
| | - Guarded
| | |
| | |
| | ----- 9000 0000
| | |
| | |
| PCI Memory Space | DBAT2
| | - Supervisor R/W
| | - Cache Inhibited
| | - Guarded
| | |
| | |
| | |
8000 0000 |------------------------------------| ----- 8000 0000
| x |
| x not mapped |
| Reserved xxxxxxxxxxxxxx| ----- 1000 0000
| | |
| | |
0200 0000 |------------------------------------| |
| | |
| | |
| | |
| | |
| DRAM (32MB) | DBAT1/IBAT1
| | - Supervisor R/W
| | |
| | |
| | |
| | |
0000 0000 |------------------------------------| ----- 0000 0000
TTCP Performance on First Day Run
=================================
Fedora Core 1 on (according to /proc/cpuinfo) a 300 Mhz P3 using Netgear
10/100 CardBus NIC on a dedicated 10BaseT LAN.
ON MVME2100: ttcp -t -s 192.168.2.107
REPORTED ON MVME2100:
ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> 192.168.2.107
ttcp-t: socket
ttcp-t: connect
ttcp-t: 16777216 bytes in 20.80 real seconds = 787.69 KB/sec +++
ttcp-t: 2048 I/O calls, msec/call = 10.40, calls/sec = 98.46
ttcp-t: 0.0user 20.8sys 0:20real 100% 0i+0d 0maxrss 0+0pf 0+0csw
ON MVME2100: ttcp -t -s 192.168.2.107
REPORTED ON MVME2100:
ttcp -r -s
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.2.107
ttcp-r: 16777216 bytes in 15.41 real seconds = 1063.21 KB/sec +++
ttcp-r: 11588 I/O calls, msec/call = 1.36, calls/sec = 751.98
ttcp-r: 0.0user 15.4sys 0:15real 100% 0i+0d 0maxrss 0+0pf 0+0csw

View File

@@ -24,8 +24,8 @@ LD = @LD@
DEFAULT_INCLUDES =
# Remove references to EABI when compiling bootloader
BOOTLOADER_CPU_CFLAGS=$(subst -msdata=eabi,,$(subst -meabi,,$(CPU_CFLAGS)))
AM_CPPFLAGS = -D__BOOT__
BOOTLOADER_CPU_FLAGS=$(subst -msdata=eabi,,$(subst -meabi,,$(CPU_CFLAGS)))
AM_CPPFLAGS = -D__BOOT__ -DDEBUG
AM_CFLAGS = \
$(GCC_SPECS) -specs bsp_specs -qrtems -mrelocatable \
-msoft-float -mstrict-align -fno-builtin -Wall -mmultiple \

View File

@@ -3,10 +3,11 @@
%rename startfile old_startfile
%rename link old_link
*lib:
%{!qrtems: %(old_lib)} %{!nostdlib: %{qrtems: --start-group \
%{!qrtems_debug: -lrtemsbsp -lrtemscpu} %{qrtems_debug: -lrtemsbsp_g -lrtemscpu_g} \
-lc -lgcc --end-group \
-lc -lgcc --end-group \
%{!qnolinkcmds: -T linkcmds%s}}}
*startfile:

View File

@@ -20,16 +20,6 @@ AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes")
AS=$CC
AM_PROG_AS
RTEMS_BSPOPTS_SET([mvme2100],[mvme2100],[1])
RTEMS_BSPOPTS_SET([mvme2100],[*],[])
RTEMS_BSPOPTS_HELP([mvme2100],
[Defined for MVME2100 -- undefined for others])
RTEMS_BSPOPTS_SET([mpc8240],[mvme2100],[1])
RTEMS_BSPOPTS_SET([mpc8240],[*],[])
RTEMS_BSPOPTS_HELP([mpc8240],
[Defined for boards with MPC8240 -- undefined for others])
RTEMS_BSPOPTS_SET([PPC_USE_DATA_CACHE],[*],[1])
RTEMS_BSPOPTS_HELP([PPC_USE_DATA_CACHE],
[If defined, then the PowerPC specific code in RTEMS will use
@@ -53,7 +43,6 @@ pci/Makefile
residual/Makefile
start/Makefile
startup/Makefile
tod/Makefile
vectors/Makefile
vme/Makefile
wrapup/Makefile])

View File

@@ -5,12 +5,11 @@
include_HEADERS = bspopts.h
include_HEADERS += ../../shared/include/nvram.h ../../shared/include/bsp.h \
../../../shared/include/coverhd.h ../../../shared/tod.h
../../../shared/include/coverhd.h
include_bspdir = $(includedir)/bsp
include_bsp_HEADERS = ../../shared/console/consoleIo.h \
../../shared/console/uart.h ../../shared/irq/irq.h \
../../shared/motorola/motorola.h
include_bsp_HEADERS = ../../shared/console/consoleIo.h ../../shared/console/uart.h \
../../shared/irq/irq.h ../../shared/motorola/motorola.h
$(PROJECT_INCLUDE):
$(mkinstalldirs) $@
@@ -30,9 +29,6 @@ $(PROJECT_INCLUDE)/bsp.h: ../../shared/include/bsp.h
$(PROJECT_INCLUDE)/coverhd.h: ../../../shared/include/coverhd.h
$(INSTALL_DATA) $< $@
$(PROJECT_INCLUDE)/tod.h: ../../../shared/tod.h
$(INSTALL_DATA) $< $@
$(PROJECT_INCLUDE)/bsp/consoleIo.h: ../../shared/console/consoleIo.h
$(INSTALL_DATA) $< $@
@@ -50,7 +46,6 @@ TMPINSTALL_FILES += $(PROJECT_INCLUDE)/bspopts.h
TMPINSTALL_FILES += $(PROJECT_INCLUDE)/bsp.h
TMPINSTALL_FILES += $(PROJECT_INCLUDE)/nvram.h
TMPINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h
TMPINSTALL_FILES += $(PROJECT_INCLUDE)/tod.h
TMPINSTALL_FILES += $(PROJECT_INCLUDE)/bsp
TMPINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/motorola.h

View File

@@ -1,22 +0,0 @@
##
## $Id$
##
VPATH = @srcdir@:@srcdir@/../../shared/tod:@srcdir@/../../../shared
C_FILES = todcfg.c tod.c
C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT))
OBJS = $(C_O_FILES)
include $(top_srcdir)/../../../../../../automake/compile.am
include $(top_srcdir)/../../../../../../automake/lib.am
#
# (OPTIONAL) Add local stuff here using +=
#
all-local: $(ARCH) $(OBJS)
include $(top_srcdir)/../../../../../../automake/local.am

View File

@@ -2,8 +2,7 @@
## $Id$
##
BSP_PIECES = clock console irq openpic pci residual startup \
tod vectors motorola vme
BSP_PIECES = clock console irq openpic pci residual startup vectors motorola vme
# bummer; have to use $foreach since % pattern subst rules only replace 1x
OBJS = $(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/*.$(OBJEXT)) \

View File

@@ -1,28 +1,3 @@
2005-11-07 Till Straumann <strauman@slac.stanford.edu>
PR 834/bsps
* vectors/vectors.S: reload stack pointer/R1 from exception frame
instead of adding static offset.
2005-10-06 Till Straumann <strauman@slac.stanford.edu>
PR 833/bsps
* irq/irq_asm.S: Currently, all (new exception) BSPs explicitely enable
the FPU across the user ISR but DONT save/restore the FPU context.
Any use of the FPU fron the user handler (e.g., due to GCC
optimizations) result in corruption. The fix results in an exception
in such cases (user ISR must explicitely save/enable/restore FPU).
2004-09-27 Joel Sherrill <joel@OARcorp.com>
PR 680/bsps
* network/if_hdlcsubr.c: Add missing #include <rtems/rtems_bsdnet.h>.
2004-04-07 Joel Sherrill <joel@OARcorp.com>
PR 602/bsps
* irq/irq.h: Fix typo.
2003-12-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
PR 545/bsps

View File

@@ -348,7 +348,7 @@ int BSP_rtems_irq_mngt_get(rtems_irq_global_settings**);
extern void BSP_rtems_irq_mng_init(unsigned cpuId);
#ifdef __cplusplus
}
extern "C" {
#endif
#endif

View File

@@ -12,9 +12,6 @@
* Modifications to store nesting level in global _ISR_Nest_level
* variable instead of SPRG0. Andy Dachs <a.dachs@sstl.co.uk>
*
* Till Straumann <strauman@slac.stanford.edu>, 2005/4:
* - DONT enable FP across user ISR since fpregs are never saved!!
*
* $Id$
*/
@@ -96,7 +93,11 @@ SYM (shared_raw_irq_code_entry):
* also, on CPUs with FP, enable FP so that FP context can be
* saved and restored (using FP instructions)
*/
#if (PPC_HAS_FPU == 0)
ori r3, r3, MSR_RI /*| MSR_IR | MSR_DR*/
#else
ori r3, r3, MSR_RI | /*MSR_IR | MSR_DR |*/ MSR_FP
#endif
mtmsr r3
SYNC
@@ -300,27 +301,6 @@ nested:
rfi
switch:
#if ( PPC_HAS_FPU != 0 )
#if ! defined( CPU_USE_DEFERRED_FP_SWITCH )
#error missing include file???
#endif
mfmsr r4
#if ( CPU_USE_DEFERRED_FP_SWITCH == TRUE )
/* if the executing thread has FP enabled propagate
* this now so _Thread_Dispatch can save/restore the FPREGS
* NOTE: it is *crucial* to disable the FPU across the
* user ISR [independent of using the 'deferred'
* strategy or not]. We don't save FP regs across
* the user ISR and hence we prefer an exception to
* be raised rather than experiencing corruption.
*/
lwz r3, SRR1_FRAME_OFFSET(r1)
rlwimi r4, r3, 0, 18, 18 /* MSR_FP */
#else
ori r4, r4, MSR_FP
#endif
mtmsr r4
#endif
bl SYM (_Thread_Dispatch)
easy_exit:

View File

@@ -48,8 +48,6 @@
* $Id$
*/
#include <rtems/rtems_bsdnet.h>
#include <sys/param.h>
/*#include <sys/systm.h>
#include <sys/kernel.h> */

Some files were not shown because too many files have changed in this diff Show More