diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2007-11-16 17:59:34 +0000 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2007-11-16 17:59:34 +0000 |
commit | 503ddff7209dc73c7f0a1a99d59bb22a4f2d0e2f (patch) | |
tree | 0d955101a8d47a238cb61ab24498ac26ffa0f3e6 /xen/arch/x86/string.c | |
parent | 22e2d08efba0e2bd745dc7375df34fa8a23bfbac (diff) | |
download | xen-503ddff7209dc73c7f0a1a99d59bb22a4f2d0e2f.tar.gz xen-503ddff7209dc73c7f0a1a99d59bb22a4f2d0e2f.tar.bz2 xen-503ddff7209dc73c7f0a1a99d59bb22a4f2d0e2f.zip |
x86: Clean up some files of inline asm, and fix
__copy_{to,from}_user_ll() for gcc 3.4 (asm output constraints all
need to be '=&').
Based on a patch by Jan Beulich.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'xen/arch/x86/string.c')
-rw-r--r-- | xen/arch/x86/string.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/xen/arch/x86/string.c b/xen/arch/x86/string.c index a649df9954..7883310bb8 100644 --- a/xen/arch/x86/string.c +++ b/xen/arch/x86/string.c @@ -13,7 +13,7 @@ void *memcpy(void *dest, const void *src, size_t n) { long d0, d1, d2; - __asm__ __volatile__ ( + asm volatile ( #ifdef __i386__ " rep movsl ; " #else @@ -42,7 +42,7 @@ void *memset(void *s, int c, size_t n) { long d0, d1; - __asm__ __volatile__ ( + asm volatile ( "rep stosb" : "=&c" (d0), "=&D" (d1) : "a" (c), "1" (s), "0" (n) @@ -59,7 +59,7 @@ void *memmove(void *dest, const void *src, size_t n) if ( dest < src ) return memcpy(dest, src, n); - __asm__ __volatile__ ( + asm volatile ( " std ; " " rep movsb ; " " cld " @@ -69,3 +69,13 @@ void *memmove(void *dest, const void *src, size_t n) return dest; } + +/* + * Local variables: + * mode: C + * c-set-style: "BSD" + * c-basic-offset: 4 + * tab-width: 4 + * indent-tabs-mode: nil + * End: + */ |