|
@@ -20,6 +20,8 @@
|
|
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
|
*/
|
|
|
|
|
|
+#include <asm/opcodes.h>
|
|
|
+
|
|
|
/* This is the kernel's entry point into the floating point emulator.
|
|
|
It is called from the kernel with code similar to this:
|
|
|
|
|
@@ -81,11 +83,11 @@ nwfpe_enter:
|
|
|
mov r6, r0 @ save the opcode
|
|
|
emulate:
|
|
|
ldr r1, [sp, #S_PSR] @ fetch the PSR
|
|
|
- bl checkCondition @ check the condition
|
|
|
- cmp r0, #0 @ r0 = 0 ==> condition failed
|
|
|
+ bl arm_check_condition @ check the condition
|
|
|
+ cmp r0, #ARM_OPCODE_CONDTEST_PASS @ condition passed?
|
|
|
|
|
|
@ if condition code failed to match, next insn
|
|
|
- beq next @ get the next instruction;
|
|
|
+ bne next @ get the next instruction;
|
|
|
|
|
|
mov r0, r6 @ prepare for EmulateAll()
|
|
|
bl EmulateAll @ emulate the instruction
|