aboutsummaryrefslogtreecommitdiff
path: root/qtmips_gui/mainwindow.cpp
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/mainwindow.cpp
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/mainwindow.cpp')
-rw-r--r--qtmips_gui/mainwindow.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/qtmips_gui/mainwindow.cpp b/qtmips_gui/mainwindow.cpp
index 90d6911..c4f57f5 100644
--- a/qtmips_gui/mainwindow.cpp
+++ b/qtmips_gui/mainwindow.cpp
@@ -151,12 +151,26 @@ void MainWindow::create_core(const machine::MachineConfig &config) {
// Connect signal from break to machine pause
connect(machine->core(), SIGNAL(stop_on_exception_reached()), machine, SLOT(pause()));
+
// Setup docks
registers->setup(machine);
program->setup(machine);
memory->setup(machine);
cache_program->setup(machine->cache_program());
cache_data->setup(machine->cache_data());
+
+ // Connect signals for instruction address followup
+ connect(machine->core(), SIGNAL(fetch_inst_addr_value(std::uint32_t)),
+ program, SLOT(fetch_inst_addr(std::uint32_t)));
+ connect(machine->core(), SIGNAL(decode_inst_addr_value(std::uint32_t)),
+ program, SLOT(decode_inst_addr(std::uint32_t)));
+ connect(machine->core(), SIGNAL(execute_inst_addr_value(std::uint32_t)),
+ program, SLOT(execute_inst_addr(std::uint32_t)));
+ connect(machine->core(), SIGNAL(memory_inst_addr_value(std::uint32_t)),
+ program, SLOT(memory_inst_addr(std::uint32_t)));
+ connect(machine->core(), SIGNAL(writeback_inst_addr_value(std::uint32_t)),
+ program, SLOT(writeback_inst_addr(std::uint32_t)));
+
// Set status to ready
machine_status(machine::QtMipsMachine::ST_READY);
}