diff options
author | Korey Sewell <ksewell@umich.edu> | 2006-03-09 03:27:51 -0500 |
---|---|---|
committer | Korey Sewell <ksewell@umich.edu> | 2006-03-09 03:27:51 -0500 |
commit | a3aae21d031c93ab1b9a90d435d9590dad2482c4 (patch) | |
tree | c3a5ac3042cd619a3d284c653bfb795dcb35069e /cpu | |
parent | 9e304ed3e6d96e2090981a8aa825dab5b662909a (diff) | |
download | gem5-a3aae21d031c93ab1b9a90d435d9590dad2482c4.tar.xz |
last changes before big merge
arch/alpha/isa_traits.hh:
arch/sparc/isa_traits.hh:
add nnpc for compiling purposes in exec_context setNextNPC function
cpu/exec_context.hh:
set NNPC function
cpu/simple/cpu.cc:
use NNPC in determining what PC we are using
--HG--
extra : convert_revision : e810cfbc5dc31879b20d2cc40bf9871613203532
Diffstat (limited to 'cpu')
-rw-r--r-- | cpu/exec_context.hh | 6 | ||||
-rw-r--r-- | cpu/simple/cpu.cc | 8 |
2 files changed, 14 insertions, 0 deletions
diff --git a/cpu/exec_context.hh b/cpu/exec_context.hh index bc3551b4f..550a1ca23 100644 --- a/cpu/exec_context.hh +++ b/cpu/exec_context.hh @@ -422,6 +422,12 @@ class ExecContext regs.npc = val; } + void setNextNPC(uint64_t val) + { + regs.nnpc = val; + } + + MiscReg readMiscReg(int misc_reg) { return regs.miscRegs.readReg(misc_reg); diff --git a/cpu/simple/cpu.cc b/cpu/simple/cpu.cc index 51d679a63..f1a3ebd0b 100644 --- a/cpu/simple/cpu.cc +++ b/cpu/simple/cpu.cc @@ -818,9 +818,17 @@ SimpleCPU::tick() #endif // FULL_SYSTEM } else { +#if THE_ISA != MIPS_ISA // go to the next instruction xc->regs.pc = xc->regs.npc; xc->regs.npc += sizeof(MachInst); +#else + // go to the next instruction + xc->regs.pc = xc->regs.npc; + xc->regs.npc = xc->regs.nnpc; + xc->regs.nnpc += sizeof(MachInst); +#endif + } #if FULL_SYSTEM |