diff options
Diffstat (limited to 'src/arch/mips/remote_gdb.cc')
-rw-r--r-- | src/arch/mips/remote_gdb.cc | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/src/arch/mips/remote_gdb.cc b/src/arch/mips/remote_gdb.cc index 9c944fc59..a7bde8ba6 100644 --- a/src/arch/mips/remote_gdb.cc +++ b/src/arch/mips/remote_gdb.cc @@ -235,47 +235,3 @@ RemoteGDB::setregs() context->setFloatRegBits(FLOATREG_FIR, gdbregs.regs32[GdbIntRegs + GdbFloatArchRegs + 1]); } - -void -RemoteGDB::clearSingleStep() -{ - DPRINTF(GDBMisc, "clearSingleStep bt_addr=%#x nt_addr=%#x\n", - takenBkpt, notTakenBkpt); - - if (takenBkpt != 0) - clearTempBreakpoint(takenBkpt); - - if (notTakenBkpt != 0) - clearTempBreakpoint(notTakenBkpt); -} - -void -RemoteGDB::setSingleStep() -{ - PCState pc = context->pcState(); - PCState bpc; - bool set_bt = false; - - // User was stopped at pc, e.g. the instruction at pc was not - // executed. - MachInst inst = read<MachInst>(pc.pc()); - StaticInstPtr si = context->getDecoderPtr()->decode(inst, pc.pc()); - if (si->hasBranchTarget(pc, context, bpc)) { - // Don't bother setting a breakpoint on the taken branch if it - // is the same as the next npc - if (bpc.npc() != pc.nnpc()) - set_bt = true; - } - - DPRINTF(GDBMisc, "setSingleStep bt_addr=%#x nt_addr=%#x\n", - takenBkpt, notTakenBkpt); - - notTakenBkpt = pc.nnpc(); - setTempBreakpoint(notTakenBkpt); - - if (set_bt) { - takenBkpt = bpc.npc(); - setTempBreakpoint(takenBkpt); - } -} - |