Index: boot/arch/sparc64/loader/main.c
===================================================================
--- boot/arch/sparc64/loader/main.c	(revision b968f39ec7eb06c8cc256e04d1e9a2aab3b0b1a5)
+++ boot/arch/sparc64/loader/main.c	(revision dac629e767b17f75b8968349798b5c5247f1ed44)
@@ -37,4 +37,5 @@
 #include "ofwarch.h"
 #include <align.h>
+#include <string.h>
 
 bootinfo_t bootinfo;
@@ -160,10 +161,5 @@
 		(void) ofw_claim_phys(base + top, silo_ramdisk_size);
 		(void) ofw_map(base + top, base + top, silo_ramdisk_size, -1);
-		/*
-		 * FIXME If the source and destination overlap, it may be
-		 * desirable to copy in reverse order, depending on how the two
-		 * regions overlap.
-		 */
-		memcpy(base + top, (void *)((uintptr_t)silo_ramdisk_image),
+		memmove(base + top, (void *)((uintptr_t)silo_ramdisk_image),
 		    silo_ramdisk_size);
 		printf("done.\n");
