diff options
author | Lennert Buytenhek <buytenh@wantstofly.org> | 2005-11-07 21:12:08 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2005-11-07 21:12:08 +0000 |
commit | bedf142b8bba4331ed93161292a4ce4f8cde7308 (patch) | |
tree | cde053618935762e37badb509d191ac006ae197a /arch/arm/nwfpe/softfloat.h | |
parent | 06c03cac9487555478c7d80065ebf7818bf6fd06 (diff) | |
download | blackbird-op-linux-bedf142b8bba4331ed93161292a4ce4f8cde7308.tar.gz blackbird-op-linux-bedf142b8bba4331ed93161292a4ce4f8cde7308.zip |
[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. Software IEC/IEEE floating-point types. ------------------------------------------------------------------------------- */ -typedef unsigned long int float32; -typedef unsigned long long float64; +typedef u32 float32; +typedef u64 float64; typedef struct { - unsigned short high; - unsigned short __padding; - unsigned long long low; +#ifdef __ARMEB__ + u16 __padding; + u16 high; +#else + u16 high; + u16 __padding; +#endif + u64 low; } floatx80; /* |