aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2018-01-08 21:39:59 +0100
committerKarel Kočí <cynerd@email.cz>2018-01-08 21:39:59 +0100
commit6e6931657b7147e31f1f8d77035de3e7911f437f (patch)
tree64ff8e2af25987a01f62f59814449c9c1cfd78d4
parent7b270e4b0a79043b135f47085d0a9baa8afb5134 (diff)
downloadqtmips-6e6931657b7147e31f1f8d77035de3e7911f437f.tar.gz
qtmips-6e6931657b7147e31f1f8d77035de3e7911f437f.tar.bz2
qtmips-6e6931657b7147e31f1f8d77035de3e7911f437f.zip
Add ability to get specific core type from qtmipsmachine
-rw-r--r--qtmips_machine/qtmipsmachine.cpp8
-rw-r--r--qtmips_machine/qtmipsmachine.h2
2 files changed, 10 insertions, 0 deletions
diff --git a/qtmips_machine/qtmipsmachine.cpp b/qtmips_machine/qtmipsmachine.cpp
index 1d7523c..f2683fb 100644
--- a/qtmips_machine/qtmipsmachine.cpp
+++ b/qtmips_machine/qtmipsmachine.cpp
@@ -63,6 +63,14 @@ const Core *QtMipsMachine::core() {
return cr;
}
+const CoreSingle *QtMipsMachine::core_singe() {
+ return mcnf.pipelined() ? nullptr : (const CoreSingle*)cr;
+}
+
+const CorePipelined *QtMipsMachine::core_pipelined() {
+ return mcnf.pipelined() ? (const CorePipelined*)cr : nullptr;
+}
+
enum QtMipsMachine::Status QtMipsMachine::status() {
return stat;
}
diff --git a/qtmips_machine/qtmipsmachine.h b/qtmips_machine/qtmipsmachine.h
index d130225..dba8932 100644
--- a/qtmips_machine/qtmipsmachine.h
+++ b/qtmips_machine/qtmipsmachine.h
@@ -25,6 +25,8 @@ public:
const Memory *memory();
const Cache *cache();
const Core *core();
+ const CoreSingle *core_singe();
+ const CorePipelined *core_pipelined();
enum Status {
ST_READY, // Machine is ready to be started or step to be called