aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/nwfpe/softfloat.h
diff options
context:
space:
mode:
authorLennert Buytenhek <buytenh@wantstofly.org>2005-11-07 16:12:08 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2005-11-07 16:12:08 -0500
commitbedf142b8bba4331ed93161292a4ce4f8cde7308 (patch)
treecde053618935762e37badb509d191ac006ae197a /arch/arm/nwfpe/softfloat.h
parent06c03cac9487555478c7d80065ebf7818bf6fd06 (diff)
[ARM] 3118/1: fix and reenable nwfpe extended precision emulation for big-endian
Patch from Lennert Buytenhek nwfpe extended precision emulation used to be broken on big-endian and was therefore disabled. This patch fixes nwfpe so that it copies extended precision floats to/from userspace in the proper word order (similar to patch #2046, see the description of that patch for an explanation) and reenables the Kconfig option. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/nwfpe/softfloat.h')
-rw-r--r--arch/arm/nwfpe/softfloat.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/arch/arm/nwfpe/softfloat.h b/arch/arm/nwfpe/softfloat.h
index 1301d97e037f..978c699673c6 100644
--- a/arch/arm/nwfpe/softfloat.h
+++ b/arch/arm/nwfpe/softfloat.h
@@ -51,12 +51,17 @@ input or output the `floatx80' type will be defined.
51Software IEC/IEEE floating-point types. 51Software IEC/IEEE floating-point types.
52------------------------------------------------------------------------------- 52-------------------------------------------------------------------------------
53*/ 53*/
54typedef unsigned long int float32; 54typedef u32 float32;
55typedef unsigned long long float64; 55typedef u64 float64;
56typedef struct { 56typedef struct {
57 unsigned short high; 57#ifdef __ARMEB__
58 unsigned short __padding; 58 u16 __padding;
59 unsigned long long low; 59 u16 high;
60#else
61 u16 high;
62 u16 __padding;
63#endif
64 u64 low;
60} floatx80; 65} floatx80;
61 66
62/* 67/*