aboutsummaryrefslogtreecommitdiff
path: root/qtmips_gui/programdock.h
diff options
context:
space:
mode:
authorPavel Pisa <pisa@cmp.felk.cvut.cz>2019-02-11 17:45:47 +0100
committerPavel Pisa <pisa@cmp.felk.cvut.cz>2019-02-11 17:45:47 +0100
commit10f4d52221438f0d5ce7cc72c5b6c1f6720ef5c6 (patch)
tree2bf2cf63384a5d83d29ccbd036ea8ca30a84918e /qtmips_gui/programdock.h
parent745a2aff8602a48b723a8d2ebf54b0e92cd17b30 (diff)
downloadqtmips-10f4d52221438f0d5ce7cc72c5b6c1f6720ef5c6.tar.gz
qtmips-10f4d52221438f0d5ce7cc72c5b6c1f6720ef5c6.tar.bz2
qtmips-10f4d52221438f0d5ce7cc72c5b6c1f6720ef5c6.zip
Extend program view to support selected stage followup.
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Diffstat (limited to 'qtmips_gui/programdock.h')
-rw-r--r--qtmips_gui/programdock.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/qtmips_gui/programdock.h b/qtmips_gui/programdock.h
index 10b9df1..529730a 100644
--- a/qtmips_gui/programdock.h
+++ b/qtmips_gui/programdock.h
@@ -54,9 +54,29 @@ public:
signals:
void machine_setup(machine::QtMipsMachine *machine);
void jump_to_pc(std::uint32_t);
-
+ void focus_addr(std::uint32_t);
+public slots:
+ void set_follow_inst(int);
+ void fetch_inst_addr(std::uint32_t addr);
+ void decode_inst_addr(std::uint32_t addr);
+ void execute_inst_addr(std::uint32_t addr);
+ void memory_inst_addr(std::uint32_t addr);
+ void writeback_inst_addr(std::uint32_t addr);
private:
+ enum FollowSource {
+ FOLLOWSRC_NONE,
+ FOLLOWSRC_FETCH,
+ FOLLOWSRC_DECODE,
+ FOLLOWSRC_EXECUTE,
+ FOLLOWSRC_MEMORY,
+ FOLLOWSRC_WRITEBACK,
+ FOLLOWSRC_COUNT,
+ };
+ void update_follow_position();
+ enum FollowSource follow_source;
+ std::uint32_t follow_addr[FOLLOWSRC_COUNT];
+ QSettings *settings;
};
#endif // PROGRAMDOCK_H