diff options
author | Pavel Pisa <pisa@cmp.felk.cvut.cz> | 2019-02-11 17:45:47 +0100 |
---|---|---|
committer | Pavel Pisa <pisa@cmp.felk.cvut.cz> | 2019-02-11 17:45:47 +0100 |
commit | 10f4d52221438f0d5ce7cc72c5b6c1f6720ef5c6 (patch) | |
tree | 2bf2cf63384a5d83d29ccbd036ea8ca30a84918e /qtmips_gui/mainwindow.cpp | |
parent | 745a2aff8602a48b723a8d2ebf54b0e92cd17b30 (diff) | |
download | qtmips-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.cpp | 14 |
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); } |