From: Eugene Surovegin <ebs@ebshome.net>

Add declaration and cacheable_memcpy().  I'll be needing this function in
new 4xx EMAC driver I'm going to submit to netdev soon.

IMHO, the better place for the declaration would be asm-powerpc/string.h,
unfortunately, ppc64 doesn't have this function, so asm-ppc/system.h is the
next best place.

Signed-off-by: Eugene Surovegin <ebs@ebshome.net>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 arch/ppc/kernel/ppc_ksyms.c |    1 +
 include/asm-ppc/system.h    |    1 +
 2 files changed, 2 insertions(+)

diff -puN arch/ppc/kernel/ppc_ksyms.c~ppc32-export-cacheable_memcpy arch/ppc/kernel/ppc_ksyms.c
--- devel/arch/ppc/kernel/ppc_ksyms.c~ppc32-export-cacheable_memcpy	2005-08-30 22:39:36.000000000 -0700
+++ devel-akpm/arch/ppc/kernel/ppc_ksyms.c	2005-08-30 22:39:36.000000000 -0700
@@ -260,6 +260,7 @@ EXPORT_SYMBOL(__ashrdi3);
 EXPORT_SYMBOL(__ashldi3);
 EXPORT_SYMBOL(__lshrdi3);
 EXPORT_SYMBOL(memcpy);
+EXPORT_SYMBOL(cacheable_memcpy);
 EXPORT_SYMBOL(memset);
 EXPORT_SYMBOL(memmove);
 EXPORT_SYMBOL(memscan);
diff -puN include/asm-ppc/system.h~ppc32-export-cacheable_memcpy include/asm-ppc/system.h
--- devel/include/asm-ppc/system.h~ppc32-export-cacheable_memcpy	2005-08-30 22:39:36.000000000 -0700
+++ devel-akpm/include/asm-ppc/system.h	2005-08-30 22:39:36.000000000 -0700
@@ -84,6 +84,7 @@ extern void cvt_fd(float *from, double *
 extern void cvt_df(double *from, float *to, unsigned long *fpscr);
 extern int call_rtas(const char *, int, int, unsigned long *, ...);
 extern void cacheable_memzero(void *p, unsigned int nb);
+extern void *cacheable_memcpy(void *, const void *, unsigned int);
 extern int do_page_fault(struct pt_regs *, unsigned long, unsigned long);
 extern void bad_page_fault(struct pt_regs *, unsigned long, int);
 extern void die(const char *, struct pt_regs *, long);
_