aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/string.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2007-11-16 17:59:34 +0000
committerKeir Fraser <keir.fraser@citrix.com>2007-11-16 17:59:34 +0000
commit503ddff7209dc73c7f0a1a99d59bb22a4f2d0e2f (patch)
tree0d955101a8d47a238cb61ab24498ac26ffa0f3e6 /xen/arch/x86/string.c
parent22e2d08efba0e2bd745dc7375df34fa8a23bfbac (diff)
downloadxen-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.c16
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:
+ */