Change EmulateCPDT implementation to match the way its done in netwinder CVS. This has no noticable effect on performance, so no point. PATCH FOLLOWS KernelVersion: 2.4.19-rmk6 diff -uNr linux-2.4.19-rmk6/arch/arm/nwfpe-rfs8/fpa11_cpdt.c linux-2.4.19-rmk6/arch/arm/nwfpe-rfs9/fpa11_cpdt.c --- linux-2.4.19-rmk6/arch/arm/nwfpe-rfs8/fpa11_cpdt.c Sun Mar 9 22:01:36 2003 +++ linux-2.4.19-rmk6/arch/arm/nwfpe-rfs9/fpa11_cpdt.c Sat Mar 15 15:30:08 2003 @@ -356,19 +356,16 @@ unsigned int EmulateCPDT(const unsigned int opcode) { - unsigned int nRc = 0; - - if (LDF_OP(opcode)) { - nRc = PerformLDF(opcode); - } else if (LFM_OP(opcode)) { - nRc = PerformLFM(opcode); - } else if (STF_OP(opcode)) { - nRc = PerformSTF(opcode); - } else if (SFM_OP(opcode)) { - nRc = PerformSFM(opcode); - } else { - nRc = 0; +#ifdef NWFPE_DEBUG + printk("NWFPE: CPDT\n"); +#endif + switch (getCoprocessorNumber(opcode)) { + case 1: + return (opcode & BIT_LOAD) ? PerformLDF(opcode) : + PerformSTF(opcode); + case 2: + return (opcode & BIT_LOAD) ? PerformLFM(opcode) : + PerformSFM(opcode); } - - return nRc; + return 0; }