diff options
Diffstat (limited to 'qtmips_machine/alu.h')
-rw-r--r-- | qtmips_machine/alu.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/qtmips_machine/alu.h b/qtmips_machine/alu.h index e14a903..97cb33e 100644 --- a/qtmips_machine/alu.h +++ b/qtmips_machine/alu.h @@ -46,6 +46,7 @@ namespace machine { // Do ALU operation. +// excause: Reported exception by given operation // operation: This is function field from instruction or shifted opcode for immediate instructions // s: Loaded from rs. Also calles as source. // t: Loaded from rt or immediate field from instruction it self. Also called as target. @@ -53,11 +54,13 @@ namespace machine { // sz: This is value directly from instruction it self used in filed extract instructions // regs: Registers used. We need direct access to lo and hi registers (those are not accessed from core it self but from alu directly // Returned value is commonly saved to rt/rd or any other way passed trough core -std::uint32_t alu_operate(enum AluOp operation, std::uint32_t s, std::uint32_t t, - std::uint8_t sa, std::uint8_t sz, Registers *regs, bool &discard); +std::uint32_t alu_operate(enum AluOp operation, std::uint32_t s, + std::uint32_t t, std::uint8_t sa, std::uint8_t sz, + Registers *regs, bool &discard, ExceptionCause &excause); } Q_DECLARE_METATYPE(machine::AluOp) +Q_DECLARE_METATYPE(machine::ExceptionCause) #endif // ALU_H |