aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2017-12-11 21:18:47 +0100
committerKarel Kočí <cynerd@email.cz>2017-12-11 21:18:47 +0100
commit72900108c92488e4d1d71330e922509212c51c28 (patch)
tree6128f824c1eae5db60810b2b236700706577d739
parent542c4ff2b4cfea049a498d827ea35a2600235e7e (diff)
downloadqtmips-72900108c92488e4d1d71330e922509212c51c28.tar.gz
qtmips-72900108c92488e4d1d71330e922509212c51c28.tar.bz2
qtmips-72900108c92488e4d1d71330e922509212c51c28.zip
Another but same fix for cache
Segfault happening had same cause as previous problem so fix is similar.
-rw-r--r--qtmips_machine/machineconfig.cpp3
-rw-r--r--qtmips_machine/qtmipsmachine.cpp2
2 files changed, 5 insertions, 0 deletions
diff --git a/qtmips_machine/machineconfig.cpp b/qtmips_machine/machineconfig.cpp
index 7538765..05624cc 100644
--- a/qtmips_machine/machineconfig.cpp
+++ b/qtmips_machine/machineconfig.cpp
@@ -3,11 +3,14 @@
MachineConfig::MachineConfig() {
pipeline = false;
jumppred = false;
+ cache_type = CCT_NONE;
+ elf_path = QString("");
}
MachineConfig::MachineConfig(MachineConfig *cc) {
pipeline = cc->pipelined();
jumppred = cc->jump_prediction();
+ cache_type = cc->cache();
elf_path = cc->elf();
}
diff --git a/qtmips_machine/qtmipsmachine.cpp b/qtmips_machine/qtmipsmachine.cpp
index 3d5ce98..7b44a7b 100644
--- a/qtmips_machine/qtmipsmachine.cpp
+++ b/qtmips_machine/qtmipsmachine.cpp
@@ -21,6 +21,8 @@ QtMipsMachine::QtMipsMachine(const MachineConfig &cc) {
coremem = mem;
//coremem = cch = new CacheAssociative();
break;
+ default:
+ throw QTMIPS_EXCEPTION(Sanity, "Trying to configure unknown cache type", "");
}
// TODO pipelined