diff -urpN -X ../dontdiff linux-2.6.14-rc4/arch/arm/nwfpe/fpa11.c linux-2.6.14-rc4-bjd1/arch/arm/nwfpe/fpa11.c --- linux-2.6.14-rc4/arch/arm/nwfpe/fpa11.c 2005-09-01 21:02:35.000000000 +0100 +++ linux-2.6.14-rc4-bjd1/arch/arm/nwfpe/fpa11.c 2005-10-12 00:17:52.000000000 +0100 @@ -31,11 +31,6 @@ #include #include -/* forward declarations */ -unsigned int EmulateCPDO(const unsigned int); -unsigned int EmulateCPDT(const unsigned int); -unsigned int EmulateCPRT(const unsigned int); - /* Reset the FPA11 chip. Called to initialize and reset the emulator. */ static void resetFPA11(void) { diff -urpN -X ../dontdiff linux-2.6.14-rc4/arch/arm/nwfpe/fpa11.h linux-2.6.14-rc4-bjd1/arch/arm/nwfpe/fpa11.h --- linux-2.6.14-rc4/arch/arm/nwfpe/fpa11.h 2005-09-01 21:02:35.000000000 +0100 +++ linux-2.6.14-rc4-bjd1/arch/arm/nwfpe/fpa11.h 2005-10-12 00:21:03.000000000 +0100 @@ -95,4 +95,24 @@ extern int8 SetRoundingMode(const unsign extern int8 SetRoundingPrecision(const unsigned int); extern void nwfpe_init_fpa(union fp_state *fp); +extern unsigned int EmulateAll(unsigned int opcode); + +extern unsigned int EmulateCPDT(const unsigned int opcode); +extern unsigned int EmulateCPDO(const unsigned int opcode); +extern unsigned int EmulateCPRT(const unsigned int opcode); + +/* fpa11_cpdt.c */ +extern unsigned int PerformLDF(const unsigned int opcode); +extern unsigned int PerformSTF(const unsigned int opcode); +extern unsigned int PerformLFM(const unsigned int opcode); +extern unsigned int PerformSFM(const unsigned int opcode); + +/* single_cpdo.c */ + +extern unsigned int SingleCPDO(struct roundingData *roundData, + const unsigned int opcode, FPREG * rFd); +/* double_cpdo.c */ +extern unsigned int DoubleCPDO(struct roundingData *roundData, + const unsigned int opcode, FPREG * rFd); + #endif diff -urpN -X ../dontdiff linux-2.6.14-rc4/arch/arm/nwfpe/fpa11_cprt.c linux-2.6.14-rc4-bjd1/arch/arm/nwfpe/fpa11_cprt.c --- linux-2.6.14-rc4/arch/arm/nwfpe/fpa11_cprt.c 2005-09-01 21:02:35.000000000 +0100 +++ linux-2.6.14-rc4-bjd1/arch/arm/nwfpe/fpa11_cprt.c 2005-10-12 00:25:25.000000000 +0100 @@ -26,12 +26,11 @@ #include "fpa11.inl" #include "fpmodule.h" #include "fpmodule.inl" +#include "softfloat.h" #ifdef CONFIG_FPE_NWFPE_XP extern flag floatx80_is_nan(floatx80); #endif -extern flag float64_is_nan(float64); -extern flag float32_is_nan(float32); unsigned int PerformFLT(const unsigned int opcode); unsigned int PerformFIX(const unsigned int opcode); diff -urpN -X ../dontdiff linux-2.6.14-rc4/arch/arm/nwfpe/fpmodule.c linux-2.6.14-rc4-bjd1/arch/arm/nwfpe/fpmodule.c --- linux-2.6.14-rc4/arch/arm/nwfpe/fpmodule.c 2005-09-01 21:02:35.000000000 +0100 +++ linux-2.6.14-rc4-bjd1/arch/arm/nwfpe/fpmodule.c 2005-10-11 22:56:55.000000000 +0100 @@ -53,16 +53,13 @@ void fp_send_sig(unsigned long sig, stru #define fp_send_sig send_sig #define kern_fp_enter fp_enter -extern char fpe_type[]; #endif +#include + /* kernel function prototypes required */ void fp_setup(void); -/* external declarations for saved kernel symbols */ -extern void (*kern_fp_enter)(void); -extern void (*fp_init)(union fp_state *); - /* Original value of fp_enter from kernel before patched by fpe_init. */ static void (*orig_fp_enter)(void); static void (*orig_fp_init)(union fp_state *); diff -urpN -X ../dontdiff linux-2.6.14-rc4/arch/arm/nwfpe/fpopcode.h linux-2.6.14-rc4-bjd1/arch/arm/nwfpe/fpopcode.h --- linux-2.6.14-rc4/arch/arm/nwfpe/fpopcode.h 2005-09-01 21:02:35.000000000 +0100 +++ linux-2.6.14-rc4-bjd1/arch/arm/nwfpe/fpopcode.h 2005-10-12 00:22:57.000000000 +0100 @@ -476,4 +476,10 @@ static inline unsigned int getDestinatio return (nRc); } +extern unsigned int checkCondition(const unsigned int opcode, + const unsigned int ccodes); + +extern const float64 float64Constant[]; +extern const float32 float32Constant[]; + #endif diff -urpN -X ../dontdiff linux-2.6.14-rc4/arch/arm/nwfpe/softfloat.h linux-2.6.14-rc4-bjd1/arch/arm/nwfpe/softfloat.h --- linux-2.6.14-rc4/arch/arm/nwfpe/softfloat.h 2005-09-01 21:02:35.000000000 +0100 +++ linux-2.6.14-rc4-bjd1/arch/arm/nwfpe/softfloat.h 2005-10-12 00:29:12.000000000 +0100 @@ -265,4 +265,7 @@ static inline flag float64_lt_nocheck(fl return (a != b) && (aSign ^ (a < b)); } +extern flag float32_is_nan( float32 a ); +extern flag float64_is_nan( float64 a ); + #endif