summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/sim/id.cc3
-rw-r--r--src/sim/if.cc2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/sim/id.cc b/src/sim/id.cc
index e18ef14..da7b55c 100644
--- a/src/sim/id.cc
+++ b/src/sim/id.cc
@@ -22,7 +22,8 @@ Response ID::advance(InstrDTO &next_instr, Response p)
n = (p != OK || this->status != OK) ? BLOCKED : OK;
// the power of consent
- n = this->next->advance(curr_instr, n);
+ n = this->next->advance(*curr_instr, n);
+ return this->status;
}
void ID::get_instr_fields(
diff --git a/src/sim/if.cc b/src/sim/if.cc
index 7d3291b..3d53ad3 100644
--- a/src/sim/if.cc
+++ b/src/sim/if.cc
@@ -28,7 +28,7 @@ void IF::advance_helper()
r = this->storage->read_word(this->id, this->pc, bits);
if (r == OK) {
this->status = r;
- this->curr_instr = std::make_unique<InstrDTO>();
+ this->curr_instr = new InstrDTO();
this->curr_instr->set_instr_bits(bits);
} else
this->status = STALLED;