diff options
| author | Abraham van der Merwe <abraham@2d3d.co.za> | 2002-03-22 00:28:17 +0000 |
|---|---|---|
| committer | Russell King <rmk@flint.arm.linux.org.uk> | 2002-03-22 00:28:17 +0000 |
| commit | 684bb802cda7487484c74e8fd346c35833100d75 (patch) | |
| tree | fb8fe494879c70984aeb9ae72a15c329fcefa68c | |
| parent | 51a8fac4ab1ff572d022b1255e16ea6a6fe7dee6 (diff) | |
[PATCH] 1083/1: 64-bit unsigned modulo arithmetic support
I've added support for 64-bit modulo arithmetic on ARM. This is needed for
the video4linux API to function properly and since there's already support
for 64-bit divides, I think there shouldn't be any reason for the absence of
this.
| -rw-r--r-- | arch/arm/kernel/armksyms.c | 2 | ||||
| -rw-r--r-- | arch/arm/lib/udivdi3.c | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/kernel/armksyms.c b/arch/arm/kernel/armksyms.c index a84ba04ad73e..4235f4932cd8 100644 --- a/arch/arm/kernel/armksyms.c +++ b/arch/arm/kernel/armksyms.c @@ -64,6 +64,7 @@ extern void __modsi3(void); extern void __muldi3(void); extern void __ucmpdi2(void); extern void __udivdi3(void); +extern void __umoddi3(void); extern void __udivmoddi4(void); extern void __udivsi3(void); extern void __umodsi3(void); @@ -227,6 +228,7 @@ EXPORT_SYMBOL_NOVERS(__modsi3); EXPORT_SYMBOL_NOVERS(__muldi3); EXPORT_SYMBOL_NOVERS(__ucmpdi2); EXPORT_SYMBOL_NOVERS(__udivdi3); +EXPORT_SYMBOL_NOVERS(__umoddi3); EXPORT_SYMBOL_NOVERS(__udivmoddi4); EXPORT_SYMBOL_NOVERS(__udivsi3); EXPORT_SYMBOL_NOVERS(__umodsi3); diff --git a/arch/arm/lib/udivdi3.c b/arch/arm/lib/udivdi3.c index d3f05b4e6ea0..d25195f673f4 100644 --- a/arch/arm/lib/udivdi3.c +++ b/arch/arm/lib/udivdi3.c @@ -229,3 +229,14 @@ __udivdi3 (UDItype n, UDItype d) { return __udivmoddi4 (n, d, (UDItype *) 0); } + +UDItype +__umoddi3 (UDItype u, UDItype v) +{ + UDItype w; + + (void) __udivmoddi4 (u ,v, &w); + + return w; +} + |
