aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2017-12-12 21:19:08 +0100
committerKarel Kočí <cynerd@email.cz>2017-12-12 21:19:26 +0100
commitee64b00aa89f1ab4963607468dd42d77d7ef3f76 (patch)
tree02bffd21edc305355a97afa83552bd2ddbc4ceef
parent1972096df3d235d525bcf761ecb460ba952c0ba9 (diff)
downloadqtmips-ee64b00aa89f1ab4963607468dd42d77d7ef3f76.tar.gz
qtmips-ee64b00aa89f1ab4963607468dd42d77d7ef3f76.tar.bz2
qtmips-ee64b00aa89f1ab4963607468dd42d77d7ef3f76.zip
Add missing exception definition
-rw-r--r--qtmips_machine/qtmipsexception.cpp5
-rw-r--r--qtmips_machine/qtmipsexception.h8
2 files changed, 13 insertions, 0 deletions
diff --git a/qtmips_machine/qtmipsexception.cpp b/qtmips_machine/qtmipsexception.cpp
index 02193cb..bb852a8 100644
--- a/qtmips_machine/qtmipsexception.cpp
+++ b/qtmips_machine/qtmipsexception.cpp
@@ -59,6 +59,11 @@ QtMipsExceptionUnalignedJump::QtMipsExceptionUnalignedJump(QTMIPS_ARGS_COMMON)
return;
}
+QtMipsExceptionUnknownMemoryControl::QtMipsExceptionUnknownMemoryControl(QTMIPS_ARGS_COMMON)
+ : QtMipsExceptionRuntime(reason, ext, file, line) {
+ return;
+}
+
QtMipsExceptionOutOfMemoryAccess::QtMipsExceptionOutOfMemoryAccess(QTMIPS_ARGS_COMMON)
: QtMipsExceptionRuntime(reason, ext, file, line) {
return;
diff --git a/qtmips_machine/qtmipsexception.h b/qtmips_machine/qtmipsexception.h
index b81f748..cfab81a 100644
--- a/qtmips_machine/qtmipsexception.h
+++ b/qtmips_machine/qtmipsexception.h
@@ -59,6 +59,14 @@ public:
QtMipsExceptionUnalignedJump(QTMIPS_ARGS_COMMON);
};
+// Used unknown MemoryAccess control value (write_ctl or read_ctl)
+// This can be raised by invalid instruction but in such case we shoul raise UnknownInstruction instead
+// So this should signal jsut some QtMips bug.
+class QtMipsExceptionUnknownMemoryControl : public QtMipsExceptionRuntime {
+public:
+ QtMipsExceptionUnknownMemoryControl(QTMIPS_ARGS_COMMON);
+};
+
// Trying to access address outside of the memory
// As we are simulating whole 32bit memory address space then this is most probably QtMips bug if raised not program.
class QtMipsExceptionOutOfMemoryAccess : public QtMipsExceptionRuntime {