Module Name:    src
Committed By:   jmcneill
Date:           Thu Aug 23 19:01:22 UTC 2018

Modified Files:
        src/sys/arch/evbarm/include: loadfile_machdep.h

Log Message:
Fix LOADADDR on aarch64 and use memmove for bcopy instead of memcpy


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/evbarm/include/loadfile_machdep.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/evbarm/include/loadfile_machdep.h
diff -u src/sys/arch/evbarm/include/loadfile_machdep.h:1.3 src/sys/arch/evbarm/include/loadfile_machdep.h:1.4
--- src/sys/arch/evbarm/include/loadfile_machdep.h:1.3	Tue Aug 21 20:13:13 2018
+++ src/sys/arch/evbarm/include/loadfile_machdep.h	Thu Aug 23 19:01:22 2018
@@ -8,10 +8,14 @@
 #define LOAD_KERNEL	(LOAD_ALL & ~LOAD_TEXTA)
 #define COUNT_KERNEL	(COUNT_ALL & ~COUNT_TEXTA)
 
+#if defined(__aarch64__)
+#define LOADADDR(a)		((((u_long)(a)) + offset) & 0x3fffffffff)
+#else
 #define LOADADDR(a)		(((u_long)(a)))
+#endif
 #define ALIGNENTRY(a)		((u_long)(a))
 #define READ(f, b, c)		read((f), (void*)LOADADDR(b), (c))
-#define BCOPY(s, d, c)		memcpy((void*)LOADADDR(d), (void*)(s), (c))
+#define BCOPY(s, d, c)		memmove((void*)LOADADDR(d), (void*)(s), (c))
 #define BZERO(d, c)		memset((void*)LOADADDR(d), 0, (c))
 #define	WARN(a)			do { \
 					(void)printf a; \

Reply via email to