summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2002-08-05 19:03:52 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2002-08-05 19:03:52 +0000
commit3f5480c29ae26d474c10576cfdeeae08ab163b9c (patch)
tree91b88086697778981b8661d176db0010c7e61ea9
parent2002-08-05 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-3f5480c29ae26d474c10576cfdeeae08ab163b9c.tar.bz2
2002-08-05 Joel Sherrill <joel@OARcorp.com>
* Per PR260 eliminate use of make-target-options. This impacted RTEMS allowing a distinction between the CPU32 and CPU32+ in the SuperCore and required that the m68k optimized memcpy be moved to libcpu. * shared/misc/memcpy.c: Moved from score/cpu/m68k. * configure.ac, shared/Makefile.am: Modified to reflect new directory. * shared/misc/.cvsignore, shared/misc/Makefile.am: New file.
-rw-r--r--c/src/lib/libcpu/m68k/ChangeLog10
-rw-r--r--c/src/lib/libcpu/m68k/configure.ac7
-rw-r--r--c/src/lib/libcpu/m68k/shared/Makefile.am2
-rw-r--r--c/src/lib/libcpu/m68k/shared/misc/.cvsignore2
-rw-r--r--c/src/lib/libcpu/m68k/shared/misc/Makefile.am24
-rw-r--r--c/src/lib/libcpu/m68k/shared/misc/memcpy.c6
6 files changed, 49 insertions, 2 deletions
diff --git a/c/src/lib/libcpu/m68k/ChangeLog b/c/src/lib/libcpu/m68k/ChangeLog
index eb61321fb3..f89966b43f 100644
--- a/c/src/lib/libcpu/m68k/ChangeLog
+++ b/c/src/lib/libcpu/m68k/ChangeLog
@@ -1,3 +1,13 @@
+2002-08-05 Joel Sherrill <joel@OARcorp.com>
+
+ * Per PR260 eliminate use of make-target-options. This impacted
+ RTEMS allowing a distinction between the CPU32 and CPU32+ in the
+ SuperCore and required that the m68k optimized memcpy be moved
+ to libcpu.
+ * shared/misc/memcpy.c: Moved from score/cpu/m68k.
+ * configure.ac, shared/Makefile.am: Modified to reflect new directory.
+ * shared/misc/.cvsignore, shared/misc/Makefile.am: New file.
+
2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac:
diff --git a/c/src/lib/libcpu/m68k/configure.ac b/c/src/lib/libcpu/m68k/configure.ac
index 553504d16b..9286d795d5 100644
--- a/c/src/lib/libcpu/m68k/configure.ac
+++ b/c/src/lib/libcpu/m68k/configure.ac
@@ -34,12 +34,16 @@ AM_CONDITIONAL(shared, test "$RTEMS_CPU_MODEL" = "m68020" \
|| test "$RTEMS_CPU_MODEL" = "m68040" \
|| test "$RTEMS_CPU_MODEL" = "m68ec040" \
|| test "$RTEMS_CPU_MODEL" = "m68lc040" \
-|| test "$RTEMS_CPU_MODEL" = "m68060" )
+|| test "$RTEMS_CPU_MODEL" = "m68060" \
+|| test "$RTEMS_CPU_MODEL" = "mcpu32" \
+|| test "$RTEMS_CPU_MODEL" = "mcpu32p" )
AM_CONDITIONAL(m68040, test "$RTEMS_CPU_MODEL" = "m68040")
AM_CONDITIONAL(mcf5206, test "$RTEMS_CPU_MODEL" = "mcf5206")
+AM_CONDITIONAL(mcpu32, test "$RTEMS_CPU_MODEL" = "mcpu32")
+
case "$RTEMS_CPU_MODEL" in
mcf5206 ) AC_CONFIG_SUBDIRS([mcf5206]);;
*) ;;
@@ -49,6 +53,7 @@ esac
AC_CONFIG_FILES([Makefile
shared/Makefile
shared/cache/Makefile
+shared/misc/Makefile
m68040/Makefile
m68040/fpsp/Makefile])
AC_OUTPUT
diff --git a/c/src/lib/libcpu/m68k/shared/Makefile.am b/c/src/lib/libcpu/m68k/shared/Makefile.am
index ff6b55a15d..b3173dba6d 100644
--- a/c/src/lib/libcpu/m68k/shared/Makefile.am
+++ b/c/src/lib/libcpu/m68k/shared/Makefile.am
@@ -3,7 +3,7 @@
##
-SUBDIRS = cache
+SUBDIRS = cache misc
include $(top_srcdir)/../../../../../automake/subdirs.am
include $(top_srcdir)/../../../../../automake/local.am
diff --git a/c/src/lib/libcpu/m68k/shared/misc/.cvsignore b/c/src/lib/libcpu/m68k/shared/misc/.cvsignore
new file mode 100644
index 0000000000..282522db03
--- /dev/null
+++ b/c/src/lib/libcpu/m68k/shared/misc/.cvsignore
@@ -0,0 +1,2 @@
+Makefile
+Makefile.in
diff --git a/c/src/lib/libcpu/m68k/shared/misc/Makefile.am b/c/src/lib/libcpu/m68k/shared/misc/Makefile.am
new file mode 100644
index 0000000000..fade9ff257
--- /dev/null
+++ b/c/src/lib/libcpu/m68k/shared/misc/Makefile.am
@@ -0,0 +1,24 @@
+##
+## $Id$
+##
+
+
+C_FILES = memcpy.c
+C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.o)
+
+OBJS = $(C_O_FILES)
+
+include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
+include $(top_srcdir)/../../../../../automake/compile.am
+include $(top_srcdir)/../../../../../automake/lib.am
+
+# gcc doesn't recognize difference between the cpu32 and cpu32+ so we have to
+if mcpu32p
+AM_CPPFLAGS += -D__mcpu32p__
+endif
+
+all-local: $(ARCH) $(OBJS)
+
+EXTRA_DIST = memcpy.c
+
+include $(top_srcdir)/../../../../../automake/local.am
diff --git a/c/src/lib/libcpu/m68k/shared/misc/memcpy.c b/c/src/lib/libcpu/m68k/shared/misc/memcpy.c
index 3948411f4b..9f4d807c09 100644
--- a/c/src/lib/libcpu/m68k/shared/misc/memcpy.c
+++ b/c/src/lib/libcpu/m68k/shared/misc/memcpy.c
@@ -41,6 +41,12 @@
"cc", "memory")
#endif
+/* gcc doesn't know that cpu32+ is better than cpu32 :( */
+#if defined(__mcpu32p__)
+#undef M68k_HAS_MISALIGNED
+#define M68k_HAS_MISALIGNED 1
+#endif
+
void *
memcpy(void *s1, const void *s2, size_t n)
{