m68k: merge the mmu and non-mmu versions of div64.h
Trivial merge of the mmu and non-mmu versions of div64.h Signed-off-by: Greg Ungerer <gerg@uclinux.org> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
This commit is contained in:
parent
76adcb2e81
commit
d20f5aa338
|
@ -1,5 +1,34 @@
|
|||
#ifdef __uClinux__
|
||||
#include "div64_no.h"
|
||||
#ifndef _M68K_DIV64_H
|
||||
#define _M68K_DIV64_H
|
||||
|
||||
#ifdef CONFIG_MMU
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* n = n / base; return rem; */
|
||||
|
||||
#define do_div(n, base) ({ \
|
||||
union { \
|
||||
unsigned long n32[2]; \
|
||||
unsigned long long n64; \
|
||||
} __n; \
|
||||
unsigned long __rem, __upper; \
|
||||
\
|
||||
__n.n64 = (n); \
|
||||
if ((__upper = __n.n32[0])) { \
|
||||
asm ("divul.l %2,%1:%0" \
|
||||
: "=d" (__n.n32[0]), "=d" (__upper) \
|
||||
: "d" (base), "0" (__n.n32[0])); \
|
||||
} \
|
||||
asm ("divu.l %2,%1:%0" \
|
||||
: "=d" (__n.n32[1]), "=d" (__rem) \
|
||||
: "d" (base), "1" (__upper), "0" (__n.n32[1])); \
|
||||
(n) = __n.n64; \
|
||||
__rem; \
|
||||
})
|
||||
|
||||
#else
|
||||
#include "div64_mm.h"
|
||||
#endif
|
||||
#include <asm-generic/div64.h>
|
||||
#endif /* CONFIG_MMU */
|
||||
|
||||
#endif /* _M68K_DIV64_H */
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
#ifndef _M68K_DIV64_H
|
||||
#define _M68K_DIV64_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* n = n / base; return rem; */
|
||||
|
||||
#define do_div(n, base) ({ \
|
||||
union { \
|
||||
unsigned long n32[2]; \
|
||||
unsigned long long n64; \
|
||||
} __n; \
|
||||
unsigned long __rem, __upper; \
|
||||
\
|
||||
__n.n64 = (n); \
|
||||
if ((__upper = __n.n32[0])) { \
|
||||
asm ("divul.l %2,%1:%0" \
|
||||
: "=d" (__n.n32[0]), "=d" (__upper) \
|
||||
: "d" (base), "0" (__n.n32[0])); \
|
||||
} \
|
||||
asm ("divu.l %2,%1:%0" \
|
||||
: "=d" (__n.n32[1]), "=d" (__rem) \
|
||||
: "d" (base), "1" (__upper), "0" (__n.n32[1])); \
|
||||
(n) = __n.n64; \
|
||||
__rem; \
|
||||
})
|
||||
|
||||
#endif /* _M68K_DIV64_H */
|
|
@ -1 +0,0 @@
|
|||
#include <asm-generic/div64.h>
|
Loading…
Reference in New Issue