diff options
author | Nicolas Pitre <nico@cam.org> | 2006-01-14 11:36:50 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-01-14 11:36:50 -0500 |
commit | 8993a44cede418940a4921de5dc24d52a9fe8767 (patch) | |
tree | cc259505d486301747b347f8c3695d1a8074c50f | |
parent | dd35afc22b76766e827c9e67ebc4b7bf6e31ecab (diff) |
[ARM] 3111/2: old ABI compat: adjust NWFPE to be operational within an EABI kernel
Patch from Nicolas Pitre
We need NWFPE if we want to support execution of legacy binaries with
an EABI kernel.
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r-- | arch/arm/Kconfig | 4 | ||||
-rw-r--r-- | arch/arm/nwfpe/fpa11.h | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index ead6172692db..cb66b5745fa0 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -602,7 +602,7 @@ comment "At least one emulation must be selected" | |||
602 | 602 | ||
603 | config FPE_NWFPE | 603 | config FPE_NWFPE |
604 | bool "NWFPE math emulation" | 604 | bool "NWFPE math emulation" |
605 | depends on !AEABI | 605 | depends on !AEABI || OABI_COMPAT |
606 | ---help--- | 606 | ---help--- |
607 | Say Y to include the NWFPE floating point emulator in the kernel. | 607 | Say Y to include the NWFPE floating point emulator in the kernel. |
608 | This is necessary to run most binaries. Linux does not currently | 608 | This is necessary to run most binaries. Linux does not currently |
@@ -626,7 +626,7 @@ config FPE_NWFPE_XP | |||
626 | 626 | ||
627 | config FPE_FASTFPE | 627 | config FPE_FASTFPE |
628 | bool "FastFPE math emulation (EXPERIMENTAL)" | 628 | bool "FastFPE math emulation (EXPERIMENTAL)" |
629 | depends on !AEABI && !CPU_32v3 && EXPERIMENTAL | 629 | depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL |
630 | ---help--- | 630 | ---help--- |
631 | Say Y here to include the FAST floating point emulator in the kernel. | 631 | Say Y here to include the FAST floating point emulator in the kernel. |
632 | This is an experimental much faster emulator which now also has full | 632 | This is an experimental much faster emulator which now also has full |
diff --git a/arch/arm/nwfpe/fpa11.h b/arch/arm/nwfpe/fpa11.h index da4c616b6c49..28cd79a451d3 100644 --- a/arch/arm/nwfpe/fpa11.h +++ b/arch/arm/nwfpe/fpa11.h | |||
@@ -62,7 +62,7 @@ typedef union tagFPREG { | |||
62 | #else | 62 | #else |
63 | u32 padding[3]; | 63 | u32 padding[3]; |
64 | #endif | 64 | #endif |
65 | } FPREG; | 65 | } __attribute__ ((packed,aligned(4))) FPREG; |
66 | 66 | ||
67 | /* | 67 | /* |
68 | * FPA11 device model. | 68 | * FPA11 device model. |
@@ -89,7 +89,7 @@ typedef struct tagFPA11 { | |||
89 | so we can use it to detect whether this | 89 | so we can use it to detect whether this |
90 | instance of the emulator needs to be | 90 | instance of the emulator needs to be |
91 | initialised. */ | 91 | initialised. */ |
92 | } FPA11; | 92 | } __attribute__ ((packed,aligned(4))) FPA11; |
93 | 93 | ||
94 | extern int8 SetRoundingMode(const unsigned int); | 94 | extern int8 SetRoundingMode(const unsigned int); |
95 | extern int8 SetRoundingPrecision(const unsigned int); | 95 | extern int8 SetRoundingPrecision(const unsigned int); |