imported patch recoverPCfromTrap
This commit is contained in:
parent
264e8178ff
commit
d02fa0f6b6
|
@ -1312,6 +1312,7 @@ InOrderCPU::instDone(DynInstPtr inst, ThreadID tid)
|
||||||
lastCommittedPC[tid] = comm_pc;
|
lastCommittedPC[tid] = comm_pc;
|
||||||
TheISA::advancePC(comm_pc, inst->staticInst);
|
TheISA::advancePC(comm_pc, inst->staticInst);
|
||||||
pcState(comm_pc, tid);
|
pcState(comm_pc, tid);
|
||||||
|
DPRINTF(InOrderGraduation, "Precise State PC = %s\n", pcState(tid));
|
||||||
|
|
||||||
//@todo: may be unnecessary with new-ISA-specific branch handling code
|
//@todo: may be unnecessary with new-ISA-specific branch handling code
|
||||||
if (inst->isControl()) {
|
if (inst->isControl()) {
|
||||||
|
|
|
@ -198,6 +198,7 @@ FetchSeqUnit::squash(DynInstPtr inst, int squash_stage,
|
||||||
bdelay_inst->pc, nextPC);
|
bdelay_inst->pc, nextPC);
|
||||||
|
|
||||||
if (bdelay_inst->pc.instAddr() == nextPC.instAddr()) {
|
if (bdelay_inst->pc.instAddr() == nextPC.instAddr()) {
|
||||||
|
bdelay_inst->pc = nextPC;
|
||||||
advancePC(nextPC, inst->staticInst);
|
advancePC(nextPC, inst->staticInst);
|
||||||
DPRINTF(Resource, "Advanced PC to %s\n", nextPC);
|
DPRINTF(Resource, "Advanced PC to %s\n", nextPC);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue