mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-11-16 12:34:45 +00:00
Compare commits
200 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2d1119e7ed | ||
|
|
a5222eeff9 | ||
|
|
5d6e54d08b | ||
|
|
6fa59698c7 | ||
|
|
cdd0fc8a89 | ||
|
|
ae557d1abb | ||
|
|
37f094158b | ||
|
|
aba5ed401e | ||
|
|
7a92e3ddc3 | ||
|
|
eefbe35533 | ||
|
|
59d55753a8 | ||
|
|
3ffa814199 | ||
|
|
774515b753 | ||
|
|
1348869fbb | ||
|
|
d2a30c77f5 | ||
|
|
73c2d237de | ||
|
|
d490fff3c1 | ||
|
|
e75e10dcac | ||
|
|
fb573a71f1 | ||
|
|
24b6d2f9a8 | ||
|
|
a3b4632866 | ||
|
|
dc4bd19dfa | ||
|
|
3741506c42 | ||
|
|
8747cac1e3 | ||
|
|
5a5af8c1a1 | ||
|
|
21a6137140 | ||
|
|
52adbd42e5 | ||
|
|
d7bf841a96 | ||
|
|
58cfecc76a | ||
|
|
0bb4dd0337 | ||
|
|
feedcdc65f | ||
|
|
3c838f1ac8 | ||
|
|
45a32542db | ||
|
|
f54bc05285 | ||
|
|
fd06f6c0d4 | ||
|
|
cc2efb6012 | ||
|
|
82973a283f | ||
|
|
4a4c78d97f | ||
|
|
3d7d233c03 | ||
|
|
ecfdafc62e | ||
|
|
f45e8840c8 | ||
|
|
5978038f77 | ||
|
|
5c12a265fa | ||
|
|
3424a93ace | ||
|
|
28e7d30f34 | ||
|
|
cec508dafb | ||
|
|
73ca21f95e | ||
|
|
b0c516bfa1 | ||
|
|
7918027fad | ||
|
|
da56a02f6c | ||
|
|
c230bc312d | ||
|
|
c3f26834d6 | ||
|
|
41ef136059 | ||
|
|
9d31e3498c | ||
|
|
d2565cefae | ||
|
|
0bdfa8d3ff | ||
|
|
53923e8377 | ||
|
|
64c3f790a2 | ||
|
|
ba10dea56a | ||
|
|
6e8a68e6c4 | ||
|
|
745760302e | ||
|
|
732b2b3976 | ||
|
|
0be243352f | ||
|
|
70541799ee | ||
|
|
9f781394bd | ||
|
|
44eb0beb20 | ||
|
|
0a7bcfd60a | ||
|
|
e8ece0b494 | ||
|
|
410c6f8593 | ||
|
|
0bedb7eced | ||
|
|
21b54fc117 | ||
|
|
9146692992 | ||
|
|
bf423bdb2b | ||
|
|
624f551480 | ||
|
|
848d015196 | ||
|
|
f778d4c531 | ||
|
|
561f53b71e | ||
|
|
24fced7e13 | ||
|
|
52d276b6bc | ||
|
|
0293ad1159 | ||
|
|
30062b7576 | ||
|
|
022ee190c8 | ||
|
|
70fefe6879 | ||
|
|
d700909e7e | ||
|
|
b90855ceb3 | ||
|
|
0b929fe94b | ||
|
|
5dba517449 | ||
|
|
f74483f280 | ||
|
|
9d8590da5d | ||
|
|
bd91ff4e71 | ||
|
|
ae460ecea9 | ||
|
|
ef842b4665 | ||
|
|
6316b74ef1 | ||
|
|
5f56c3c73c | ||
|
|
d0c64050ec | ||
|
|
c03dd07226 | ||
|
|
9150b49feb | ||
|
|
881da84b2f | ||
|
|
eb961b2a63 | ||
|
|
ee50e9a30a | ||
|
|
a561860261 | ||
|
|
1a626ab72f | ||
|
|
a240bf2122 | ||
|
|
e95cc1ca1a | ||
|
|
1f1252a197 | ||
|
|
5550a389ad | ||
|
|
1157fe214e | ||
|
|
8d55b1f03c | ||
|
|
27320205e8 | ||
|
|
22ba3c63dd | ||
|
|
801595223e | ||
|
|
08d8625f92 | ||
|
|
201f1c038d | ||
|
|
6944b20eed | ||
|
|
a78aada98b | ||
|
|
1d7f365cfc | ||
|
|
0bd6d2b1aa | ||
|
|
359d170476 | ||
|
|
728abc471a | ||
|
|
172f7dc444 | ||
|
|
5378a296f4 | ||
|
|
361d58eef6 | ||
|
|
ab924e93e7 | ||
|
|
0f5bc89c21 | ||
|
|
206d973621 | ||
|
|
fafdf95453 | ||
|
|
38d354d335 | ||
|
|
df5f3ca7f5 | ||
|
|
d49e8f8238 | ||
|
|
a3fab15ad8 | ||
|
|
993b7d1e85 | ||
|
|
dd7db0f74e | ||
|
|
5ef84356b8 | ||
|
|
d3f0606f9a | ||
|
|
8ad2873774 | ||
|
|
b92e6124dd | ||
|
|
506ac56d9f | ||
|
|
069bf7544e | ||
|
|
f485c56bfc | ||
|
|
8230fa8199 | ||
|
|
fa2acf9d00 | ||
|
|
64bd5e3532 | ||
|
|
cdbe374774 | ||
|
|
3950f549d3 | ||
|
|
ba8c439f08 | ||
|
|
98b30aa72e | ||
|
|
1bdb08c7fb | ||
|
|
9bbeed5df6 | ||
|
|
0f20ef5418 | ||
|
|
0ca88a1dd4 | ||
|
|
8c829996c3 | ||
|
|
046f0094b5 | ||
|
|
508023527b | ||
|
|
e3da6673b5 | ||
|
|
38198f3057 | ||
|
|
7feb6f9f65 | ||
|
|
e18303d997 | ||
|
|
72dfb969aa | ||
|
|
469c41a421 | ||
|
|
6fbf5c39f1 | ||
|
|
304d1a52df | ||
|
|
01c96bfb75 | ||
|
|
cfc43898e6 | ||
|
|
0732eb4997 | ||
|
|
e2ce15fc77 | ||
|
|
f7219b211f | ||
|
|
922db6549e | ||
|
|
640f1cb6b2 | ||
|
|
e2f50f9d6d | ||
|
|
ca6c741739 | ||
|
|
df54012a8a | ||
|
|
17bbaddcac | ||
|
|
424f2e40e9 | ||
|
|
fbe21ef363 | ||
|
|
24a8fb3736 | ||
|
|
107459f117 | ||
|
|
4a74b03d7c | ||
|
|
91a52b3105 | ||
|
|
59db174d07 | ||
|
|
869f6029d8 | ||
|
|
9cec348537 | ||
|
|
81cc5b271b | ||
|
|
04b4b389b8 | ||
|
|
6a15087d24 | ||
|
|
c3e88cadf1 | ||
|
|
8a41da4108 | ||
|
|
d1266a5990 | ||
|
|
30529eb7a5 | ||
|
|
1a17efbd2d | ||
|
|
9a93d54070 | ||
|
|
70e27c2d80 | ||
|
|
ec8472e0b7 | ||
|
|
4e0498e1f6 | ||
|
|
a4454ed9c5 | ||
|
|
04aa02d1d3 | ||
|
|
fe05191353 | ||
|
|
ede694c5d6 | ||
|
|
1620d0208a | ||
|
|
38c7e48100 | ||
|
|
d1bcf10669 |
84
ChangeLog
84
ChangeLog
@@ -1,3 +1,87 @@
|
||||
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.
|
||||
|
||||
@@ -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])])
|
||||
|
||||
@@ -4,12 +4,13 @@ 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
|
||||
@@ -23,9 +24,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
|
||||
erc32nfp) $2=erc32 ;; # erc32 without fpu
|
||||
leon1) $2=leon ;; # leon without fpu
|
||||
leon2) $2=leon ;; # leon with fpu
|
||||
sis) $2=erc32 ;; # ERC32 SIS simulator
|
||||
leon2) $2=leon2 ;; # leon with fpu
|
||||
leon3) $2=leon3 ;; # another leon variant
|
||||
simsh7032) $2=shsim ;; # SH7032 simulator
|
||||
simsh7045) $2=shsim ;; # SH7045 simulator
|
||||
*) $2=$1;;
|
||||
@@ -34,7 +35,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]))]
|
||||
)
|
||||
|
||||
@@ -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}:%%"`
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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?
|
||||
|
||||
@@ -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 erc32nfp";;
|
||||
leon) $1="[$]$1 leon1 leon2";;
|
||||
erc32) $1="[$]$1 erc32 sis";;
|
||||
leon) $1="[$]$1 leon2 leon3";;
|
||||
sim68000) $1="[$]$1 sim68000 simcpu32";;
|
||||
shsim) $1="[$]$1 simsh7032 simsh7045";;
|
||||
*) $1="[$]$1 $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])
|
||||
|
||||
@@ -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])
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"],
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}])
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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)])],
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
dnl $Id$
|
||||
|
||||
AC_DEFUN(RTEMS_ENABLE_ITRON,
|
||||
AC_DEFUN([RTEMS_ENABLE_ITRON],
|
||||
[
|
||||
## AC_BEFORE([$0], [RTEMS_CHECK_ITRON_API])dnl
|
||||
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
dnl $Id$
|
||||
|
||||
AC_DEFUN(RTEMS_ENABLE_NETWORKING,
|
||||
AC_DEFUN([RTEMS_ENABLE_NETWORKING],
|
||||
[
|
||||
## AC_BEFORE([$0], [RTEMS_CHECK_NETWORKING])dnl
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
dnl $Id$
|
||||
|
||||
AC_DEFUN(RTEMS_ENABLE_POSIX,
|
||||
AC_DEFUN([RTEMS_ENABLE_POSIX],
|
||||
[
|
||||
## AC_BEFORE([$0], [RTEMS_CHECK_POSIX_API])dnl
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
dnl $Id$
|
||||
|
||||
AC_DEFUN(RTEMS_ENABLE_RDBG,
|
||||
AC_DEFUN([RTEMS_ENABLE_RDBG],
|
||||
[
|
||||
AC_BEFORE([$0], [RTEMS_CHECK_RDBG])dnl
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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? ])
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
[
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
[
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
])
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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])
|
||||
|
||||
@@ -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])
|
||||
|
||||
|
||||
@@ -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])])
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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])
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
AC_DEFUN([RTEMS_VERSIONING],
|
||||
m4_define([_RTEMS_VERSION],[4.6.0]))
|
||||
m4_define([_RTEMS_VERSION],[4.6.5]))
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
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,
|
||||
|
||||
@@ -48,6 +48,8 @@ SECTIONS
|
||||
{
|
||||
_sdata = .;
|
||||
*(.data);
|
||||
*(.gnu.linkonce.d*)
|
||||
*(.gcc_except_table)
|
||||
_edata = .;
|
||||
}
|
||||
_data_start = ADDR(.data) ;
|
||||
|
||||
@@ -1,3 +1,44 @@
|
||||
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>
|
||||
|
||||
PR649/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
|
||||
|
||||
@@ -2,10 +2,11 @@
|
||||
## $Id$
|
||||
##
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/../../shared/tod:@srcdir@/../../../shared
|
||||
|
||||
PGM = $(ARCH)/clock.rel
|
||||
|
||||
C_FILES = ckinit.c rtc.c
|
||||
C_FILES = ckinit.c todcfg.c tod.c
|
||||
clock_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT))
|
||||
|
||||
include $(top_srcdir)/../../../../../../automake/compile.am
|
||||
@@ -25,6 +26,6 @@ all-local: $(ARCH) $(clock_rel_OBJECTS) $(PGM)
|
||||
|
||||
.PRECIOUS: $(PGM)
|
||||
|
||||
EXTRA_DIST = ckinit.c rtc.c
|
||||
EXTRA_DIST =
|
||||
|
||||
include $(top_srcdir)/../../../../../../automake/local.am
|
||||
|
||||
36
c/src/lib/libbsp/i386/pc386/clock/todcfg.c
Normal file
36
c/src/lib/libbsp/i386/pc386/clock/todcfg.c
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* 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;
|
||||
@@ -16,6 +16,22 @@ RTEMS_CANONICALIZE_TOOLS
|
||||
|
||||
RTEMS_CHECK_NETWORKING
|
||||
|
||||
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"])
|
||||
|
||||
@@ -270,8 +270,11 @@ _IBMPC_outch(char c)
|
||||
{
|
||||
static int escaped = 0;
|
||||
|
||||
if ( ! (escaped = handleEscape(escaped, c)) )
|
||||
if ( ! (escaped = handleEscape(escaped, c)) ) {
|
||||
if ( '\n' == c )
|
||||
videoPutChar('\r');
|
||||
videoPutChar(c);
|
||||
}
|
||||
} /* _IBMPC_outch */
|
||||
|
||||
|
||||
|
||||
@@ -36,7 +36,8 @@ extern ide_ctrl_fns_t pc386_ide_ctrl_fns;
|
||||
|
||||
/* IDE controllers Table */
|
||||
ide_controller_bsp_table_t IDE_Controller_Table[] = {
|
||||
{"/dev/ide",
|
||||
#if IDE_USE_PRIMARY_INTERFACE
|
||||
{"/dev/ide0",
|
||||
IDE_STD, /* standard IDE controller */
|
||||
&pc386_ide_ctrl_fns,
|
||||
NULL, /* probe for IDE standard registers */
|
||||
@@ -45,6 +46,21 @@ 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 */
|
||||
|
||||
@@ -9,11 +9,15 @@ if HAS_NETWORKING
|
||||
WD80X3 = wd80x3.h
|
||||
endif
|
||||
|
||||
include_HEADERS = bsp.h crt.h coverhd.h $(WD80X3) bspopts.h
|
||||
include_HEADERS = bsp.h crt.h coverhd.h tod.h $(WD80X3) bspopts.h
|
||||
|
||||
coverhd.h: $(top_srcdir)/../../shared/include/coverhd.h
|
||||
cp $< $@
|
||||
CLEANFILES = coverhd.h
|
||||
|
||||
tod.h: $(top_srcdir)/../../shared/tod.h
|
||||
cp $< $@
|
||||
|
||||
CLEANFILES = coverhd.h tod.h
|
||||
|
||||
$(PROJECT_INCLUDE):
|
||||
$(mkinstalldirs) $@
|
||||
|
||||
@@ -82,12 +82,18 @@ void bsp_postdriver_hook(void);
|
||||
void bsp_pretasking_hook(void)
|
||||
{
|
||||
rtems_unsigned32 topAddr, val;
|
||||
int i;
|
||||
int i, lowest;
|
||||
|
||||
|
||||
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)
|
||||
{
|
||||
/*
|
||||
@@ -95,13 +101,13 @@ void bsp_pretasking_hook(void)
|
||||
* between 2M and 2048M.
|
||||
* let us first write
|
||||
*/
|
||||
for(i=2048; i>=2; i--)
|
||||
for(i=2048; i>=lowest; i--)
|
||||
{
|
||||
topAddr = i*1024*1024 - 4;
|
||||
*(volatile rtems_unsigned32 *)topAddr = topAddr;
|
||||
}
|
||||
|
||||
for(i=2; i<=2048; i++)
|
||||
for(i=lowest; i<=2048; i++)
|
||||
{
|
||||
topAddr = i*1024*1024 - 4;
|
||||
val = *(rtems_unsigned32 *)topAddr;
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
| $Id$
|
||||
+--------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <bsp.h>
|
||||
@@ -51,7 +50,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 (rtems_unsigned32)(2000) /* TWO_MS = 2000us (sic!) */
|
||||
#define TWO_MS (uint32_t)(2000) /* TWO_MS = 2000us (sic!) */
|
||||
|
||||
#define MSK_NULL_COUNT 0x40 /* bit counter available for reading */
|
||||
|
||||
@@ -59,27 +58,36 @@
|
||||
/*-------------------------------------------------------------------------+
|
||||
| Global Variables
|
||||
+--------------------------------------------------------------------------*/
|
||||
volatile rtems_unsigned32 Ttimer_val;
|
||||
volatile uint32_t 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)
|
||||
@@ -90,30 +98,28 @@ 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
|
||||
Timer_exit(void)
|
||||
tsc_timer_exit(void)
|
||||
{
|
||||
} /* Timer_exit */
|
||||
|
||||
} /* tsc_timer_exit */
|
||||
|
||||
/*-------------------------------------------------------------------------+
|
||||
| Function: Timer_initialize
|
||||
| Description: Timer initialization routine.
|
||||
| Global Variables: Ttimer_val.
|
||||
| Arguments: None.
|
||||
| Returns: Nothing.
|
||||
| Returns: Nothing.
|
||||
+--------------------------------------------------------------------------*/
|
||||
void
|
||||
Timer_initialize(void)
|
||||
tsc_timer_initialize(void)
|
||||
{
|
||||
static rtems_boolean First = TRUE;
|
||||
|
||||
@@ -124,22 +130,21 @@ Timer_initialize(void)
|
||||
atexit(Timer_exit); /* Try not to hose the system at exit. */
|
||||
}
|
||||
Ttimer_val = rdtsc(); /* read starting time */
|
||||
} /* Timer_initialize */
|
||||
|
||||
} /* tsc_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.
|
||||
+--------------------------------------------------------------------------*/
|
||||
rtems_unsigned32
|
||||
Read_timer(void)
|
||||
uint32_t
|
||||
tsc_read_timer(void)
|
||||
{
|
||||
register rtems_unsigned32 total;
|
||||
register uint32_t total;
|
||||
|
||||
total = (rtems_unsigned32)(rdtsc() - Ttimer_val);
|
||||
total = (uint32_t)(rdtsc() - Ttimer_val);
|
||||
|
||||
if (Timer_driver_Find_average_overhead)
|
||||
return total;
|
||||
@@ -147,23 +152,20 @@ Read_timer(void)
|
||||
return 0; /* below timer resolution */
|
||||
else
|
||||
return (total - AVG_OVERHEAD);
|
||||
} /* Read_timer */
|
||||
|
||||
#else /* pentium */
|
||||
} /* tsc_read_timer */
|
||||
|
||||
/*-------------------------------------------------------------------------+
|
||||
| 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)
|
||||
@@ -178,8 +180,7 @@ 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 */
|
||||
@@ -192,10 +193,11 @@ 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,
|
||||
@@ -211,10 +213,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
|
||||
Timer_exit(void)
|
||||
i386_timer_exit(void)
|
||||
{
|
||||
i386_delete_idt_entry (&timer_raw_irq_data);
|
||||
} /* Timer_exit */
|
||||
@@ -224,10 +226,10 @@ Timer_exit(void)
|
||||
| Description: Timer initialization routine.
|
||||
| Global Variables: Ttimer_val.
|
||||
| Arguments: None.
|
||||
| Returns: Nothing.
|
||||
| Returns: Nothing.
|
||||
+--------------------------------------------------------------------------*/
|
||||
void
|
||||
Timer_initialize(void)
|
||||
i386_timer_initialize(void)
|
||||
{
|
||||
static rtems_boolean First = TRUE;
|
||||
|
||||
@@ -248,19 +250,18 @@ 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.
|
||||
+--------------------------------------------------------------------------*/
|
||||
rtems_unsigned32
|
||||
Read_timer(void)
|
||||
uint32_t
|
||||
i386_read_timer(void)
|
||||
{
|
||||
register rtems_unsigned32 total, clicks;
|
||||
register rtems_unsigned8 lsb, msb;
|
||||
register uint32_t total, clicks;
|
||||
register uint8_t lsb, msb;
|
||||
|
||||
outport_byte(TIMER_MODE, TIMER_SEL0|TIMER_LATCH);
|
||||
inport_byte(TIMER_CNTR0, lsb);
|
||||
@@ -276,28 +277,68 @@ Read_timer(void)
|
||||
return (total - AVG_OVERHEAD);
|
||||
}
|
||||
|
||||
#endif /* pentium */
|
||||
/*
|
||||
* General timer functions using either TSC-based implementation
|
||||
* or interrupt-based implementation
|
||||
*/
|
||||
|
||||
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)
|
||||
@@ -319,11 +360,10 @@ 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()
|
||||
{
|
||||
@@ -338,7 +378,7 @@ unsigned int readTimer0()
|
||||
count = ( msb << 8 ) | lsb ;
|
||||
if (status & RB_OUTPUT )
|
||||
count += lastLoadedValue;
|
||||
|
||||
|
||||
return (2*lastLoadedValue - count);
|
||||
}
|
||||
|
||||
@@ -372,19 +412,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;
|
||||
@@ -437,24 +477,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;
|
||||
|
||||
@@ -462,7 +502,7 @@ Calibrate_loop_1ms(void)
|
||||
/*
|
||||
* calibrate slow loop
|
||||
*/
|
||||
|
||||
|
||||
while(1)
|
||||
{
|
||||
int previousSign = 0; /* 0 = unset, 1 = incrementing, 2 = decrementing */
|
||||
@@ -497,7 +537,7 @@ Calibrate_loop_1ms(void)
|
||||
/*
|
||||
* calibrate fast loop
|
||||
*/
|
||||
|
||||
|
||||
if (fastLoopGranularity != 0 ) {
|
||||
while(1) {
|
||||
int previousSign = 0; /* 0 = unset, 1 = incrementing, 2 = decrementing */
|
||||
@@ -525,11 +565,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);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------+
|
||||
@@ -537,7 +577,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){
|
||||
@@ -550,9 +590,3 @@ Wait_X_ms( unsigned int timeToWait){
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
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).
|
||||
|
||||
@@ -218,6 +218,64 @@ 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,
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
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,
|
||||
|
||||
@@ -26,13 +26,13 @@ m68k_isr_entry set_vector( /* returns old vector */
|
||||
int type /* RTEMS or RAW intr */
|
||||
)
|
||||
{
|
||||
m68k_isr_entry previous_isr;
|
||||
rtems_isr_entry previous_isr;
|
||||
|
||||
if ( type )
|
||||
rtems_interrupt_catch( handler, vector, (rtems_isr_entry *) &previous_isr );
|
||||
rtems_interrupt_catch( handler, vector, &previous_isr );
|
||||
else {
|
||||
_CPU_ISR_install_raw_handler( vector, handler, (void *)&previous_isr );
|
||||
}
|
||||
return previous_isr;
|
||||
return (m68k_isr_entry) previous_isr;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
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.
|
||||
|
||||
@@ -33,6 +33,7 @@ shared/pci/Makefile
|
||||
shared/residual/Makefile
|
||||
shared/start/Makefile
|
||||
shared/startup/Makefile
|
||||
shared/tod/Makefile
|
||||
shared/vectors/Makefile
|
||||
shared/vme/Makefile])
|
||||
AC_OUTPUT
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
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
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
* 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$
|
||||
*/
|
||||
@@ -88,14 +90,8 @@ 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
|
||||
/*
|
||||
@@ -298,6 +294,27 @@ 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:
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
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
|
||||
|
||||
@@ -145,7 +145,6 @@ 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) }
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
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
|
||||
|
||||
@@ -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*/
|
||||
|
||||
@@ -1,3 +1,23 @@
|
||||
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.
|
||||
|
||||
@@ -542,6 +542,13 @@ 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;
|
||||
@@ -647,7 +654,26 @@ 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
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
* 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$
|
||||
*/
|
||||
@@ -127,11 +129,7 @@ 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
|
||||
/*
|
||||
@@ -338,6 +336,27 @@ 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:
|
||||
|
||||
@@ -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,7 +201,22 @@ void bsp_start(void)
|
||||
if( Cpu_table.interrupt_stack_size < 4 * 1024 )
|
||||
Cpu_table.interrupt_stack_size = 4 * 1024;
|
||||
|
||||
Cpu_table.clicks_per_usec = 1; /* for 4MHz extclk */
|
||||
#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.serial_per_sec = 10000000;
|
||||
Cpu_table.serial_external_clock = 1;
|
||||
Cpu_table.serial_xon_xoff = 0;
|
||||
|
||||
@@ -271,6 +271,7 @@ 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 */
|
||||
@@ -300,6 +301,7 @@ 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;
|
||||
@@ -316,6 +318,7 @@ 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
|
||||
*/
|
||||
@@ -584,6 +587,7 @@ 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
|
||||
*/
|
||||
|
||||
@@ -31,19 +31,8 @@
|
||||
* location is equal to its real address.
|
||||
*/
|
||||
MMU_TLB_table_t MMU_TLB_table[] = {
|
||||
#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) || \
|
||||
#if ( defined(mbx860_001b) || \
|
||||
defined(mbx860_002b) || \
|
||||
defined(mbx860_003b) || \
|
||||
defined(mbx821_001b) || \
|
||||
defined(mbx821_002b) || \
|
||||
|
||||
@@ -243,6 +243,46 @@ 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
|
||||
*/
|
||||
|
||||
@@ -115,6 +115,11 @@ 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;
|
||||
|
||||
@@ -1,3 +1,19 @@
|
||||
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
|
||||
|
||||
@@ -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@ vme wrapup
|
||||
startup bootloader motorola @exceptions@ tod vme wrapup
|
||||
|
||||
include $(top_srcdir)/../../bsp.am
|
||||
|
||||
EXTRA_DIST = BOOTING README.MVME2300 README.OTHERBOARDS README.dec21140 \
|
||||
bsp_specs times.mcp750 times.mvme2307
|
||||
EXTRA_DIST = BOOTING README.MVME2100 README.MVME2300 README.OTHERBOARDS \
|
||||
README.dec21140 bsp_specs times.mcp750 times.mvme2307
|
||||
|
||||
include $(top_srcdir)/../../../../../../automake/subdirs.am
|
||||
include $(top_srcdir)/../../../../../../automake/local.am
|
||||
|
||||
132
c/src/lib/libbsp/powerpc/motorola_powerpc/README.MVME2100
Normal file
132
c/src/lib/libbsp/powerpc/motorola_powerpc/README.MVME2100
Normal file
@@ -0,0 +1,132 @@
|
||||
#
|
||||
# $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
|
||||
|
||||
@@ -24,8 +24,8 @@ LD = @LD@
|
||||
DEFAULT_INCLUDES =
|
||||
|
||||
# Remove references to EABI when compiling bootloader
|
||||
BOOTLOADER_CPU_FLAGS=$(subst -msdata=eabi,,$(subst -meabi,,$(CPU_CFLAGS)))
|
||||
AM_CPPFLAGS = -D__BOOT__ -DDEBUG
|
||||
BOOTLOADER_CPU_CFLAGS=$(subst -msdata=eabi,,$(subst -meabi,,$(CPU_CFLAGS)))
|
||||
AM_CPPFLAGS = -D__BOOT__
|
||||
AM_CFLAGS = \
|
||||
$(GCC_SPECS) -specs bsp_specs -qrtems -mrelocatable \
|
||||
-msoft-float -mstrict-align -fno-builtin -Wall -mmultiple \
|
||||
|
||||
@@ -3,11 +3,10 @@
|
||||
%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:
|
||||
|
||||
@@ -20,6 +20,16 @@ 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
|
||||
@@ -43,6 +53,7 @@ pci/Makefile
|
||||
residual/Makefile
|
||||
start/Makefile
|
||||
startup/Makefile
|
||||
tod/Makefile
|
||||
vectors/Makefile
|
||||
vme/Makefile
|
||||
wrapup/Makefile])
|
||||
|
||||
@@ -5,11 +5,12 @@
|
||||
include_HEADERS = bspopts.h
|
||||
|
||||
include_HEADERS += ../../shared/include/nvram.h ../../shared/include/bsp.h \
|
||||
../../../shared/include/coverhd.h
|
||||
../../../shared/include/coverhd.h ../../../shared/tod.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) $@
|
||||
@@ -29,6 +30,9 @@ $(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) $< $@
|
||||
|
||||
@@ -46,6 +50,7 @@ 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
|
||||
|
||||
22
c/src/lib/libbsp/powerpc/motorola_powerpc/tod/Makefile.am
Normal file
22
c/src/lib/libbsp/powerpc/motorola_powerpc/tod/Makefile.am
Normal file
@@ -0,0 +1,22 @@
|
||||
##
|
||||
## $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
|
||||
@@ -2,7 +2,8 @@
|
||||
## $Id$
|
||||
##
|
||||
|
||||
BSP_PIECES = clock console irq openpic pci residual startup vectors motorola vme
|
||||
BSP_PIECES = clock console irq openpic pci residual startup \
|
||||
tod vectors motorola vme
|
||||
|
||||
# bummer; have to use $foreach since % pattern subst rules only replace 1x
|
||||
OBJS = $(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/*.$(OBJEXT)) \
|
||||
|
||||
@@ -1,3 +1,22 @@
|
||||
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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -12,6 +12,9 @@
|
||||
* 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$
|
||||
*/
|
||||
|
||||
@@ -93,11 +96,7 @@ 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
|
||||
|
||||
@@ -301,6 +300,27 @@ 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:
|
||||
|
||||
@@ -48,6 +48,8 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include <rtems/rtems_bsdnet.h>
|
||||
|
||||
#include <sys/param.h>
|
||||
/*#include <sys/systm.h>
|
||||
#include <sys/kernel.h> */
|
||||
|
||||
@@ -1,3 +1,29 @@
|
||||
2005-04-11 Jennifer Averett <jennifer@OARcorp.com>
|
||||
|
||||
PR 777/bsps
|
||||
* include/bsp.h: Add a Processor_Synchronize command in bsp.h
|
||||
|
||||
2005-03-17 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* irq/.cvsignore: New file.
|
||||
|
||||
2004-11-22 Jennifer Averett <jennifer@OARcorp.com>
|
||||
|
||||
* Makefile.am, wrapup/Makefile.am: Pick up SHM driver when MP enabled.
|
||||
|
||||
2004-11-22 Jennifer Averett <jennifer@OARcorp.com>
|
||||
|
||||
PR 617/bsps
|
||||
PR 581/bsps
|
||||
* Makefile.am, bsp_specs, configure.ac, clock/Makefile.am,
|
||||
include/bsp.h, start/Makefile.am, start/start.S, startup/Makefile.am,
|
||||
startup/bspstart.c, startup/linkcmds, vectors/Makefile.am,
|
||||
vectors/vectors.S, wrapup/Makefile.am: Convert PSIM to new exception
|
||||
model.
|
||||
* irq/Makefile.am, irq/irq.c, irq/irq.h, irq/irq_asm.S,
|
||||
irq/irq_init.c: New files.
|
||||
* clock/clock.c: Removed.
|
||||
|
||||
2003-12-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
PR 533/bsps
|
||||
|
||||
@@ -6,7 +6,7 @@ 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 start clock console startup shmsupp timer vectors \
|
||||
SUBDIRS = include start irq clock console startup shmsupp timer vectors \
|
||||
@exceptions@ wrapup \
|
||||
tools
|
||||
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
%{!qnolinkcmds: -T linkcmds%s}}}
|
||||
|
||||
*startfile:
|
||||
%{!qrtems: %(old_startfile)} %{!nostdlib: %{qrtems: ecrti%O%s \
|
||||
%{!qrtems: %(old_startfile)} %{!nostdlib: %{qrtems: ecrti%O%s rtems_crti%O%s crtbegin.o%s \
|
||||
%{!qrtems_debug: start.o%s} \
|
||||
%{qrtems_debug: start_g.o%s}}}
|
||||
|
||||
*endfile:
|
||||
%{!qrtems: %(old_endfile)} %{qrtems: ecrtn%O%s}
|
||||
|
||||
*link:
|
||||
%{!qrtems: %(old_link)} %{qrtems: -Qy -dp -Bstatic -e _start -u __vectors}
|
||||
|
||||
*endfile:
|
||||
%{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s ecrtn.o%s}
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
##
|
||||
|
||||
|
||||
PGM = $(ARCH)/clock.rel
|
||||
VPATH = @srcdir@:@srcdir@/../../shared/clock
|
||||
|
||||
C_FILES = clock.c
|
||||
C_FILES = p_clock.c
|
||||
C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT))
|
||||
|
||||
OBJS = $(C_O_FILES)
|
||||
@@ -17,15 +17,8 @@ include $(top_srcdir)/../../../../../../automake/lib.am
|
||||
# (OPTIONAL) Add local stuff here using +=
|
||||
#
|
||||
|
||||
$(PGM): $(OBJS)
|
||||
$(make-rel)
|
||||
|
||||
# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
|
||||
|
||||
all-local: $(ARCH) $(OBJS) $(PGM)
|
||||
|
||||
.PRECIOUS: $(PGM)
|
||||
|
||||
EXTRA_DIST = clock.c
|
||||
all-local: $(ARCH) $(OBJS)
|
||||
|
||||
include $(top_srcdir)/../../../../../../automake/local.am
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
/*
|
||||
* Instantiate the clock driver shell for psim based
|
||||
* on the decrementer register.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include <rtems.h>
|
||||
|
||||
/*
|
||||
* If defined, speed up the clock ticks while the idle task is running so
|
||||
* time spent in the idle task is minimized. This significantly reduces
|
||||
* the wall time required to execute the RTEMS test suites.
|
||||
*/
|
||||
|
||||
/* #define CLOCK_DRIVER_USE_FAST_IDLE */
|
||||
|
||||
#define CLOCK_VECTOR PPC_IRQ_DECREMENTER
|
||||
|
||||
/* On psim, each click of the decrementer register corresponds
|
||||
* to 1 instruction. By setting this to 100, we are indicating
|
||||
* that we are assuming it can execute 100 instructions per
|
||||
* microsecond. This corresponds to sustaining 1 instruction
|
||||
* per cycle at 100 Mhz. Whether this is a good guess or not
|
||||
* is anyone's guess.
|
||||
*/
|
||||
|
||||
extern int PSIM_INSTRUCTIONS_PER_MICROSECOND;
|
||||
|
||||
unsigned int PPC_DECREMENTER_CLICKS;
|
||||
|
||||
#define Clock_driver_support_install_isr( _new, _old ) \
|
||||
do { \
|
||||
_old = (rtems_isr_entry) set_vector( _new, CLOCK_VECTOR, 1 ); \
|
||||
PPC_DECREMENTER_CLICKS = (unsigned int)&PSIM_INSTRUCTIONS_PER_MICROSECOND; \
|
||||
PPC_DECREMENTER_CLICKS *= rtems_configuration_get_microseconds_per_tick(); \
|
||||
/* PPC_DECREMENTER_CLICKS = 5000; */ \
|
||||
} while(0)
|
||||
|
||||
#define Clock_driver_support_initialize_hardware() \
|
||||
do { \
|
||||
unsigned int _clicks = PPC_DECREMENTER_CLICKS; \
|
||||
PPC_Set_decrementer( _clicks ); \
|
||||
} while (0)
|
||||
|
||||
#define Clock_driver_support_at_tick() \
|
||||
Clock_driver_support_initialize_hardware()
|
||||
|
||||
#define Clock_driver_support_shutdown_hardware()
|
||||
|
||||
#include "../../../shared/clockdrv_shell.c"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user