]> git.proxmox.com Git - mirror_qemu.git/commit
target-mips: add BadInstr and BadInstrP support
authorLeon Alrae <leon.alrae@imgtec.com>
Mon, 7 Jul 2014 10:24:01 +0000 (11:24 +0100)
committerLeon Alrae <leon.alrae@imgtec.com>
Mon, 3 Nov 2014 11:48:34 +0000 (11:48 +0000)
commitaea14095ea91f792ee43ee52fe6032cd8cdd7190
treeeb601014844055666fb676f0efe8b689ac2fce64
parent9456c2fbcd82dd82328ac6e7602a815582b1043e
target-mips: add BadInstr and BadInstrP support

BadInstr Register (CP0 Register 8, Select 1)
The BadInstr register is a read-only register that capture the most recent
instruction which caused an exception.

BadInstrP Register (CP0 Register 8, Select 2)
The BadInstrP register contains the prior branch instruction, when the
faulting instruction is in a branch delay slot.

Using error_code to indicate whether AdEL or TLBL was triggered during
instruction fetch, in this case BadInstr is not updated as valid instruction
word is not available.

Signed-off-by: Leon Alrae <leon.alrae@imgtec.com>
Reviewed-by: Yongbok Kim <yongbok.kim@imgtec.com>
target-mips/cpu.h
target-mips/helper.c
target-mips/op_helper.c
target-mips/translate.c