aboutsummaryrefslogtreecommitdiffstats
path: root/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/div64.h
diff options
context:
space:
mode:
authoriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>2003-02-24 16:55:07 +0000
committeriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>2003-02-24 16:55:07 +0000
commita48212cb65e09669ed243581556529681cebba0a (patch)
treea58f47e4764f343db87eba48d17ce9b2ddbf8047 /xenolinux-2.4.21-pre4-sparse/include/asm-xeno/div64.h
parent96ce9e11d148a721557d48ed5a8ca7857a7bc937 (diff)
downloadxen-a48212cb65e09669ed243581556529681cebba0a.tar.gz
xen-a48212cb65e09669ed243581556529681cebba0a.tar.bz2
xen-a48212cb65e09669ed243581556529681cebba0a.zip
bitkeeper revision 1.93 (3e5a4e6bkPheUp3x1uufN2MS3LAB7A)
Latest and Greatest version of XenoLinux based on the Linux-2.4.21-pre4 kernel.
Diffstat (limited to 'xenolinux-2.4.21-pre4-sparse/include/asm-xeno/div64.h')
-rw-r--r--xenolinux-2.4.21-pre4-sparse/include/asm-xeno/div64.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/div64.h b/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/div64.h
new file mode 100644
index 0000000000..ef915df700
--- /dev/null
+++ b/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/div64.h
@@ -0,0 +1,17 @@
+#ifndef __I386_DIV64
+#define __I386_DIV64
+
+#define do_div(n,base) ({ \
+ unsigned long __upper, __low, __high, __mod; \
+ asm("":"=a" (__low), "=d" (__high):"A" (n)); \
+ __upper = __high; \
+ if (__high) { \
+ __upper = __high % (base); \
+ __high = __high / (base); \
+ } \
+ asm("divl %2":"=a" (__low), "=d" (__mod):"rm" (base), "0" (__low), "1" (__upper)); \
+ asm("":"=A" (n):"a" (__low),"d" (__high)); \
+ __mod; \
+})
+
+#endif