summaryrefslogtreecommitdiffstats
path: root/libc/kernel/arch-x86/asm/div64.h
diff options
context:
space:
mode:
Diffstat (limited to 'libc/kernel/arch-x86/asm/div64.h')
-rw-r--r--libc/kernel/arch-x86/asm/div64.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/libc/kernel/arch-x86/asm/div64.h b/libc/kernel/arch-x86/asm/div64.h
index 3fef43e..420d9e3 100644
--- a/libc/kernel/arch-x86/asm/div64.h
+++ b/libc/kernel/arch-x86/asm/div64.h
@@ -7,11 +7,19 @@
*** structures, and macros generated from the original header, and thus,
*** contains no copyrightable information.
***
+ *** To edit the content of this header, modify the corresponding
+ *** source file (e.g. under external/kernel-headers/original/) then
+ *** run bionic/libc/kernel/tools/update_all.py
+ ***
+ *** Any manual change here will be lost the next time this script will
+ *** be run. You've been warned!
+ ***
****************************************************************************
****************************************************************************/
#ifndef _ASM_X86_DIV64_H
#define _ASM_X86_DIV64_H
-
-#include <asm-generic/div64.h>
-
+#include <linux/types.h>
+#define do_div(n,base) ({ unsigned long __upper, __low, __high, __mod, __base; __base = (base); 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; })
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define div_long_long_rem(a,b,c) div_ll_X_l_rem(a,b,c)
#endif