aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-arm/div64.h
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2013-02-22 08:57:56 +0000
committerIan Campbell <ian.campbell@citrix.com>2013-02-22 12:14:52 +0000
commit7e6f5b0c94c6cbc5e625c41988fcf46e041f4ed1 (patch)
tree729c54b1bc29b11cf3ba0f950ab583e1902b888e /xen/include/asm-arm/div64.h
parent8c75419129ce1c40a3775ec1abc802b08bb29071 (diff)
downloadxen-7e6f5b0c94c6cbc5e625c41988fcf46e041f4ed1.tar.gz
xen-7e6f5b0c94c6cbc5e625c41988fcf46e041f4ed1.tar.bz2
xen-7e6f5b0c94c6cbc5e625c41988fcf46e041f4ed1.zip
xen: arm64: div64
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Tim Deegan <tim@xen.org>
Diffstat (limited to 'xen/include/asm-arm/div64.h')
-rw-r--r--xen/include/asm-arm/div64.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/xen/include/asm-arm/div64.h b/xen/include/asm-arm/div64.h
index f2574e5c8c..1cd58bc51a 100644
--- a/xen/include/asm-arm/div64.h
+++ b/xen/include/asm-arm/div64.h
@@ -21,6 +21,19 @@
* calling convention for arguments and results (beware).
*/
+
+#if BITS_PER_LONG == 64
+
+# define do_div(n,base) ({ \
+ uint32_t __base = (base); \
+ uint32_t __rem; \
+ __rem = ((uint64_t)(n)) % __base; \
+ (n) = ((uint64_t)(n)) / __base; \
+ __rem; \
+ })
+
+#elif BITS_PER_LONG == 32
+
#ifdef __ARMEB__
#define __xh "r0"
#define __xl "r1"
@@ -222,7 +235,9 @@
__nr; \
})
-#endif
+#endif /* GCC version */
+
+#endif /* BITS_PER_LONG */
#endif
/*