[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] hvm: Fix memcpy_words() asm in ioemu.
# HG changeset patch # User kfraser@xxxxxxxxxxxxxxxxxxxxx # Date 1184074943 -3600 # Node ID 0eec072e870a22c689c9214262053b8da0d958d7 # Parent 1f348e70a5affdea9b44c1e39cd5ef094ad4a0bf hvm: Fix memcpy_words() asm in ioemu. Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx> --- tools/ioemu/target-i386-dm/exec-dm.c | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-) diff -r 1f348e70a5af -r 0eec072e870a tools/ioemu/target-i386-dm/exec-dm.c --- a/tools/ioemu/target-i386-dm/exec-dm.c Tue Jul 10 11:10:38 2007 +0100 +++ b/tools/ioemu/target-i386-dm/exec-dm.c Tue Jul 10 14:42:23 2007 +0100 @@ -446,18 +446,16 @@ extern unsigned long logdirty_bitmap_siz #if defined(__x86_64__) || defined(__i386__) static void memcpy_words(void *dst, void *src, size_t n) { - asm ( + asm volatile ( " movl %%edx,%%ecx \n" #ifdef __x86_64__ " shrl $3,%%ecx \n" - " andl $7,%%edx \n" " rep movsq \n" " test $4,%%edx \n" " jz 1f \n" " movsl \n" #else /* __i386__ */ " shrl $2,%%ecx \n" - " andl $3,%%edx \n" " rep movsl \n" #endif "1: test $2,%%edx \n" @@ -467,7 +465,7 @@ static void memcpy_words(void *dst, void " jz 1f \n" " movsb \n" "1: \n" - : : "S" (src), "D" (dst), "d" (n) : "ecx" ); + : "+S" (src), "+D" (dst) : "d" (n) : "ecx", "memory" ); } #else static void memcpy_words(void *dst, void *src, size_t n) _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |