Hello,
Here is a fix for the K7-SMP compilation failures I reported yesterday.
The memcpy3d functions are moved to arch/i386/lib/mmx.c with the
corresponding changes to asm-i386/mmx.h. This also allowed a cleanup
of asm-i386/string.h.
Cheers,
Tom
--- linux.ac/include/asm-i386/string.h.orig Thu Jun 1 02:08:37 2000
+++ linux.ac/include/asm-i386/string.h Sat Jun 3 11:35:15 2000
@@ -287,32 +287,11 @@
#ifdef CONFIG_X86_USE_3DNOW
-/* All this just for in_interrupt() ... */
-
-#include <asm/system.h>
-#include <asm/ptrace.h>
-#include <linux/smp.h>
-#include <linux/spinlock.h>
-#include <linux/interrupt.h>
#include <asm/mmx.h>
/*
* This CPU favours 3DNow strongly (eg AMD Athlon)
*/
-
-static inline void * __constant_memcpy3d(void * to, const void * from, size_t len)
-{
- if(len<512 || in_interrupt())
- return __constant_memcpy(to, from, len);
- return _mmx_memcpy(to, from, len);
-}
-
-extern __inline__ void *__memcpy3d(void *to, const void *from, size_t len)
-{
- if(len<512 || in_interrupt())
- return __memcpy(to, from, len);
- return _mmx_memcpy(to, from, len);
-}
#define memcpy(t, f, n) \
(__builtin_constant_p(n) ? \
--- linux.ac/include/asm-i386/mmx.h.orig Sat Jun 3 11:10:06 2000
+++ linux.ac/include/asm-i386/mmx.h Sat Jun 3 11:32:19 2000
@@ -10,5 +10,7 @@
extern void *_mmx_memcpy(void *to, const void *from, size_t size);
extern void mmx_clear_page(void *page);
extern void mmx_copy_page(void *to, void *from);
+extern void *__constant_memcpy3d(void * to, const void * from, size_t len);
+extern void *__memcpy3d(void *to, const void *from, size_t len);
#endif
--- linux.ac/arch/i386/lib/mmx.c.orig Wed Oct 27 21:30:39 1999
+++ linux.ac/arch/i386/lib/mmx.c Sat Jun 3 12:02:47 2000
@@ -1,6 +1,7 @@
#include <linux/types.h>
#include <linux/string.h>
#include <linux/sched.h>
+#include <asm/hardirq.h>
/*
* MMX 3DNow! library helper functions
@@ -88,6 +89,21 @@
stts();
return p;
}
+
+void * __constant_memcpy3d(void * to, const void * from, size_t len)
+{
+ if(len<512 || in_interrupt())
+ return __constant_memcpy(to, from, len);
+ return _mmx_memcpy(to, from, len);
+}
+
+void *__memcpy3d(void *to, const void *from, size_t len)
+{
+ if(len<512 || in_interrupt())
+ return __memcpy(to, from, len);
+ return _mmx_memcpy(to, from, len);
+}
+
static void fast_clear_page(void *page)
{
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Wed Jun 07 2000 - 21:00:17 EST