diff options
author | Lennert Buytenhek <buytenh@wantstofly.org> | 2005-11-07 16:12:08 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2005-11-07 16:12:08 -0500 |
commit | bedf142b8bba4331ed93161292a4ce4f8cde7308 (patch) | |
tree | cde053618935762e37badb509d191ac006ae197a /arch/arm/nwfpe/softfloat.h | |
parent | 06c03cac9487555478c7d80065ebf7818bf6fd06 (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.h | 15 |
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. | |||
51 | Software IEC/IEEE floating-point types. | 51 | Software IEC/IEEE floating-point types. |
52 | ------------------------------------------------------------------------------- | 52 | ------------------------------------------------------------------------------- |
53 | */ | 53 | */ |
54 | typedef unsigned long int float32; | 54 | typedef u32 float32; |
55 | typedef unsigned long long float64; | 55 | typedef u64 float64; |
56 | typedef struct { | 56 | typedef 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 | /* |