| Ralf Baechle | 333d1f6 | 2005-02-28 17:55:57 +0000 | [diff] [blame] | 1 | extern int mips_dsemul(struct pt_regs *regs, mips_instruction ir, unsigned long cpc); | 
|  | 2 | extern int do_dsemulret(struct pt_regs *xcp); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 3 |  | 
|  | 4 | /* Instruction which will always cause an address error */ | 
|  | 5 | #define AdELOAD 0x8c000001	/* lw $0,1($0) */ | 
|  | 6 | /* Instruction which will plainly cause a CP1 exception when FPU is disabled */ | 
|  | 7 | #define CP1UNDEF 0x44400001    /* cfc1 $0,$0 undef  */ | 
|  | 8 |  | 
|  | 9 | /* Instruction inserted following the badinst to further tag the sequence */ | 
|  | 10 | #define BD_COOKIE 0x0000bd36 /* tne $0,$0 with baggage */ | 
|  | 11 |  | 
|  | 12 | /* Setup which instruction to use for trampoline */ | 
|  | 13 | #ifdef STANDALONE_EMULATOR | 
|  | 14 | #define BADINST CP1UNDEF | 
|  | 15 | #else | 
|  | 16 | #define BADINST AdELOAD | 
|  | 17 | #endif |