aboutsummaryrefslogtreecommitdiff
path: root/qtmips_machine/machinedefs.h
diff options
context:
space:
mode:
authorPavel Pisa <pisa@cmp.felk.cvut.cz>2019-02-17 21:15:53 +0100
committerPavel Pisa <pisa@cmp.felk.cvut.cz>2019-02-17 21:15:53 +0100
commit9d82517dea100d94fd8d0d5326ca5db7b5a1e595 (patch)
tree3cde4e7a04d40c2134509e9b675700dc5a1a2b0c /qtmips_machine/machinedefs.h
parentc58935b7587980cdf16015da5e21b5896c96678e (diff)
downloadqtmips-9d82517dea100d94fd8d0d5326ca5db7b5a1e595.tar.gz
qtmips-9d82517dea100d94fd8d0d5326ca5db7b5a1e595.tar.bz2
qtmips-9d82517dea100d94fd8d0d5326ca5db7b5a1e595.zip
Pass arithmetic exception trough pipeline and implement trap support and instructions.
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Diffstat (limited to 'qtmips_machine/machinedefs.h')
-rw-r--r--qtmips_machine/machinedefs.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/qtmips_machine/machinedefs.h b/qtmips_machine/machinedefs.h
index 8481540..bad585f 100644
--- a/qtmips_machine/machinedefs.h
+++ b/qtmips_machine/machinedefs.h
@@ -62,6 +62,8 @@ enum ExceptionCause {
EXCAUSE_BREAK,
EXCAUSE_SYSCALL,
EXCAUSE_HWBREAK,
+ EXCAUSE_TRAP,
+ EXCAUSE_OVERFLOW,
};
enum AluOp : std::uint8_t {
@@ -97,6 +99,12 @@ enum AluOp : std::uint8_t {
ALU_OP_MADDU,
ALU_OP_MSUB,
ALU_OP_MSUBU,
+ ALU_OP_TGE,
+ ALU_OP_TGEU,
+ ALU_OP_TLT,
+ ALU_OP_TLTU,
+ ALU_OP_TEQ,
+ ALU_OP_TNE,
ALU_OP_LUI,
ALU_OP_BSHFL,
ALU_OP_EXT,