diff options
author | Korey Sewell <ksewell@umich.edu> | 2011-06-19 21:43:37 -0400 |
---|---|---|
committer | Korey Sewell <ksewell@umich.edu> | 2011-06-19 21:43:37 -0400 |
commit | d02fa0f6b6b29a2caf969235feb265dbad6675ff (patch) | |
tree | f3b242fbdf096ae0a4a57b8083898681472560d7 /src | |
parent | 264e8178ff8e97df4fde62359a01898a8af7ae26 (diff) | |
download | gem5-d02fa0f6b6b29a2caf969235feb265dbad6675ff.tar.xz |
imported patch recoverPCfromTrap
Diffstat (limited to 'src')
-rw-r--r-- | src/cpu/inorder/cpu.cc | 1 | ||||
-rw-r--r-- | src/cpu/inorder/resources/fetch_seq_unit.cc | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/src/cpu/inorder/cpu.cc b/src/cpu/inorder/cpu.cc index 03c44ea86..c7eb35b47 100644 --- a/src/cpu/inorder/cpu.cc +++ b/src/cpu/inorder/cpu.cc @@ -1312,6 +1312,7 @@ InOrderCPU::instDone(DynInstPtr inst, ThreadID tid) lastCommittedPC[tid] = comm_pc; TheISA::advancePC(comm_pc, inst->staticInst); pcState(comm_pc, tid); + DPRINTF(InOrderGraduation, "Precise State PC = %s\n", pcState(tid)); //@todo: may be unnecessary with new-ISA-specific branch handling code if (inst->isControl()) { diff --git a/src/cpu/inorder/resources/fetch_seq_unit.cc b/src/cpu/inorder/resources/fetch_seq_unit.cc index b79b17cdc..5d90f71d3 100644 --- a/src/cpu/inorder/resources/fetch_seq_unit.cc +++ b/src/cpu/inorder/resources/fetch_seq_unit.cc @@ -198,6 +198,7 @@ FetchSeqUnit::squash(DynInstPtr inst, int squash_stage, bdelay_inst->pc, nextPC); if (bdelay_inst->pc.instAddr() == nextPC.instAddr()) { + bdelay_inst->pc = nextPC; advancePC(nextPC, inst->staticInst); DPRINTF(Resource, "Advanced PC to %s\n", nextPC); } |