Index: powerpc/booke/pmap.c
===================================================================
--- powerpc/booke/pmap.c	(revision 189102)
+++ powerpc/booke/pmap.c	(working copy)
@@ -100,7 +100,6 @@
 #endif
 
 #define TODO			panic("%s: not implemented", __func__);
-#define memmove(d, s, l)	bcopy(s, d, l)
 
 #include "opt_sched.h"
 #ifndef SCHED_4BSD
Index: conf/files.powerpc
===================================================================
--- conf/files.powerpc	(revision 189102)
+++ conf/files.powerpc	(working copy)
@@ -63,6 +63,7 @@
 libkern/fls.c			standard
 libkern/flsl.c			standard
 libkern/lshrdi3.c		standard
+libkern/memmove.c		standard
 libkern/memset.c		standard
 libkern/moddi3.c		standard
 libkern/qdivrem.c		standard
Index: conf/files.sparc64
===================================================================
--- conf/files.sparc64	(revision 189102)
+++ conf/files.sparc64	(working copy)
@@ -65,6 +65,7 @@
 libkern/ffsl.c			standard
 libkern/fls.c			standard
 libkern/flsl.c			standard
+libkern/memmove.c		standard
 sparc64/central/central.c	optional	central
 sparc64/ebus/ebus.c		optional	ebus
 sparc64/fhc/clkbrd.c		optional	fhc
Index: conf/files.pc98
===================================================================
--- conf/files.pc98	(revision 189102)
+++ conf/files.pc98	(working copy)
@@ -224,6 +224,7 @@
 libkern/divdi3.c		standard
 libkern/ffsl.c			standard
 libkern/flsl.c			standard
+libkern/memmove.c		standard
 libkern/memset.c		standard
 libkern/moddi3.c		standard
 libkern/qdivrem.c		standard
Index: conf/files.i386
===================================================================
--- conf/files.i386	(revision 189102)
+++ conf/files.i386	(working copy)
@@ -366,6 +366,7 @@
 libkern/divdi3.c		standard
 libkern/ffsl.c			standard
 libkern/flsl.c			standard
+libkern/memmove.c		standard
 libkern/memset.c		standard
 libkern/moddi3.c		standard
 libkern/qdivrem.c		standard
Index: conf/files.sun4v
===================================================================
--- conf/files.sun4v	(revision 189102)
+++ conf/files.sun4v	(working copy)
@@ -34,6 +34,7 @@
 libkern/ffsl.c			standard
 libkern/fls.c			standard
 libkern/flsl.c			standard
+libkern/memmove.c		standard
 sparc64/sparc64/autoconf.c	standard
 sun4v/sun4v/bus_machdep.c	standard
 sun4v/sun4v/clock.c		standard
Index: conf/files.ia64
===================================================================
--- conf/files.ia64	(revision 189102)
+++ conf/files.ia64	(working copy)
@@ -130,4 +130,5 @@
 libkern/ia64/__umodsi3.S	standard
 libkern/ia64/bswap16.S		standard
 libkern/ia64/bswap32.S		standard
+libkern/memmove.c		standard
 libkern/memset.c		standard
Index: conf/files.mips
===================================================================
--- conf/files.mips	(revision 189102)
+++ conf/files.mips	(working copy)
@@ -82,6 +82,7 @@
 libkern/fls.c			standard
 libkern/flsl.c			standard
 libkern/lshrdi3.c		standard
+libkern/memmove.c		standard
 libkern/moddi3.c		standard
 libkern/qdivrem.c		standard
 libkern/udivdi3.c		standard
Index: conf/files.amd64
===================================================================
--- conf/files.amd64	(revision 189102)
+++ conf/files.amd64	(working copy)
@@ -271,4 +271,5 @@
 i386/cpufreq/est.c		optional	cpufreq
 i386/cpufreq/p4tcc.c		optional	cpufreq
 #
+libkern/memmove.c		standard
 libkern/memset.c		standard
Index: gnu/fs/xfs/FreeBSD/xfs_compat.h
===================================================================
--- gnu/fs/xfs/FreeBSD/xfs_compat.h	(revision 189102)
+++ gnu/fs/xfs/FreeBSD/xfs_compat.h	(working copy)
@@ -129,10 +129,6 @@
 #define	copy_from_user(dst, src, len)	copyin((src), (dst), (len))
 #endif
 
-#ifndef memmove
-#define	memmove(dst, src, len)		bcopy((src), (dst), (len))
-#endif
-
 #ifndef barrier
 #define	barrier()	__asm__ __volatile__("": : :"memory")
 #endif
Index: xdr/xdr_mem.c
===================================================================
--- xdr/xdr_mem.c	(revision 189102)
+++ xdr/xdr_mem.c	(working copy)
@@ -54,8 +54,6 @@
 #include <rpc/types.h>
 #include <rpc/xdr.h>
 
-#define memmove(dst, src, len)	bcopy(src, dst, len)
-
 static void xdrmem_destroy(XDR *);
 static bool_t xdrmem_getlong_aligned(XDR *, long *);
 static bool_t xdrmem_putlong_aligned(XDR *, const long *);
Index: netgraph/atm/uni/ng_uni_cust.h
===================================================================
--- netgraph/atm/uni/ng_uni_cust.h	(revision 189102)
+++ netgraph/atm/uni/ng_uni_cust.h	(working copy)
@@ -146,5 +146,3 @@
 	[UNIMEM_CALL]	= sizeof(struct call),				\
 	[UNIMEM_PARTY]	= sizeof(struct party)				\
 };
-
-#define	memmove(T, F, L) bcopy((F), (T), (L))
Index: netgraph/ng_l2tp.c
===================================================================
--- netgraph/ng_l2tp.c	(revision 189102)
+++ netgraph/ng_l2tp.c	(working copy)
@@ -342,9 +342,6 @@
 #define L2TP_SEQ_CHECK(x)	do { } while (0)
 #endif
 
-/* memmove macro */
-#define memmove(d, s, l)	bcopy(s, d, l)
-
 /* Whether to use m_copypacket() or m_dup() */
 #define L2TP_COPY_MBUF		m_copypacket
 
Index: net80211/ieee80211_freebsd.h
===================================================================
--- net80211/ieee80211_freebsd.h	(revision 189102)
+++ net80211/ieee80211_freebsd.h	(working copy)
@@ -207,8 +207,6 @@
 #define time_after_eq(a,b)	((long)(a) - (long)(b) >= 0)
 #define time_before_eq(a,b)	time_after_eq(b,a)
 
-#define	memmove(dst, src, n)	ovbcopy(src, dst, n)
-
 struct mbuf *ieee80211_getmgtframe(uint8_t **frm, int headroom, int pktlen);
 
 /* tx path usage */
Index: libkern/memmove.c
===================================================================
--- libkern/memmove.c	(revision 0)
+++ libkern/memmove.c	(revision 0)
@@ -0,0 +1,38 @@
+/*-
+ * Copyright (c) 2009 Roman Divacky <rdivacky@FreeBSD.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+*/
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/libkern.h>
+
+void *
+memmove(void *dest, const void *src, size_t n)
+{
+
+	bcopy(src, dest, n);
+	return (dest);
+}

Property changes on: libkern/memmove.c
___________________________________________________________________
Added: svn:keywords
   + FreeBSD=%H

Index: cddl/compat/opensolaris/sys/sysmacros.h
===================================================================
--- cddl/compat/opensolaris/sys/sysmacros.h	(revision 189102)
+++ cddl/compat/opensolaris/sys/sysmacros.h	(working copy)
@@ -97,10 +97,6 @@
 #define	P2SAMEHIGHBIT_TYPED(x, y, type) \
 	(((type)(x) ^ (type)(y)) < ((type)(x) & (type)(y)))
 
-#ifdef _KERNEL
-#define	memmove(dst, src, size)	bcopy((src), (dst), (size))
-#endif
-
 /*
  * Find highest one bit set.
  *      Returns bit number + 1 of highest bit that is set, otherwise returns 0.
Index: sys/systm.h
===================================================================
--- sys/systm.h	(revision 189102)
+++ sys/systm.h	(working copy)
@@ -186,6 +186,7 @@
 void	bzero(void *buf, size_t len) __nonnull(1);
 
 void	*memcpy(void *to, const void *from, size_t len) __nonnull(1) __nonnull(2);
+void	*memmove(void *dest, const void *src, size_t n) __nonnull(1) __nonnull(2);
 
 int	copystr(const void * __restrict kfaddr, void * __restrict kdaddr,
 	    size_t len, size_t * __restrict lencopied)
