aboutsummaryrefslogtreecommitdiff
path: root/qtmips_machine/core.h
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2018-01-05 18:14:53 +0100
committerKarel Kočí <cynerd@email.cz>2018-01-05 18:14:53 +0100
commit71e2e98d07499c6d0f31596fec52cd8cef5813a9 (patch)
treed2aa2729956464f2aab62bb5f088850b69a5a8d7 /qtmips_machine/core.h
parent1a3fbaf22975b1f130998841adb3109b8a543513 (diff)
downloadqtmips-71e2e98d07499c6d0f31596fec52cd8cef5813a9.tar.gz
qtmips-71e2e98d07499c6d0f31596fec52cd8cef5813a9.tar.bz2
qtmips-71e2e98d07499c6d0f31596fec52cd8cef5813a9.zip
Implement machine restart
Diffstat (limited to 'qtmips_machine/core.h')
-rw-r--r--qtmips_machine/core.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/qtmips_machine/core.h b/qtmips_machine/core.h
index 7d38d79..1878bfc 100644
--- a/qtmips_machine/core.h
+++ b/qtmips_machine/core.h
@@ -17,6 +17,8 @@ public:
virtual void step() = 0; // Do single step
+ virtual void reset() = 0; // Reset core (only core, memory and registers has to be reseted separately)
+
signals:
void instruction_fetched(machine::Instruction &inst);
@@ -75,6 +77,8 @@ public:
void step();
+ void reset();
+
private:
struct Core::dtDecode *jmp_delay_decode;
};
@@ -85,6 +89,8 @@ public:
void step();
+ void reset();
+
private:
struct Core::dtFetch dt_f;
struct Core::dtDecode dt_d;