MIPS: Switch FPU emulator trap to BREAK instruction.
Arguably using the address error handler has always been ugly. But with processors that handle unaligned loads and stores in hardware the current mechanism ceases to work so switch it to a BREAK instruction and allocate break code 514 to the FPU emulator. Yoichi Yuasa provided a build fix for CONFIG_BUG=n. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
This commit is contained in:
@ -48,7 +48,6 @@
|
||||
#include <asm/branch.h>
|
||||
|
||||
#include "ieee754.h"
|
||||
#include "dsemul.h"
|
||||
|
||||
/* Strap kernel emulator for full MIPS IV emulation */
|
||||
|
||||
@ -346,9 +345,6 @@ static int cop1Emulate(struct pt_regs *xcp, struct mips_fpu_struct *ctx)
|
||||
/* cop control register rd -> gpr[rt] */
|
||||
u32 value;
|
||||
|
||||
if (ir == CP1UNDEF) {
|
||||
return do_dsemulret(xcp);
|
||||
}
|
||||
if (MIPSInst_RD(ir) == FPCREG_CSR) {
|
||||
value = ctx->fcr31;
|
||||
value = (value & ~0x3) | mips_rm[value & 0x3];
|
||||
|
Reference in New Issue
Block a user