gem5
|
#include <remote_gdb.hh>
Classes | |
class | AMD64GdbRegCache |
class | X86GdbRegCache |
Public Member Functions | |
RemoteGDB (System *system, ThreadContext *context) | |
BaseGdbRegCache * | gdbRegs () |
Public Member Functions inherited from BaseRemoteGDB | |
bool | breakpoint () |
void | replaceThreadContext (ThreadContext *tc) |
virtual | ~BaseRemoteGDB () |
BaseRemoteGDB (System *system, ThreadContext *context) | |
virtual | ~BaseRemoteGDB () |
void | replaceThreadContext (ThreadContext *tc) |
void | attach (int fd) |
void | detach () |
bool | isattached () |
bool | trap (int type) |
virtual bool | breakpoint () |
std::string | name () |
Protected Member Functions | |
bool | acc (Addr addr, size_t len) |
bool | checkBpLen (size_t len) |
Protected Member Functions inherited from BaseRemoteGDB | |
int | digit2i (char) |
char | i2digit (int) |
Addr | hex2i (const char **) |
virtual void | mem2hex (char *, const char *, int) |
virtual const char * | hex2mem (char *, const char *, int) |
virtual const char * | break_type (char c) |
bool | cmd_unsupported (GdbCommand::Context &ctx) |
bool | cmd_signal (GdbCommand::Context &ctx) |
bool | cmd_cont (GdbCommand::Context &ctx) |
bool | cmd_async_cont (GdbCommand::Context &ctx) |
bool | cmd_detach (GdbCommand::Context &ctx) |
bool | cmd_reg_r (GdbCommand::Context &ctx) |
bool | cmd_reg_w (GdbCommand::Context &ctx) |
bool | cmd_set_thread (GdbCommand::Context &ctx) |
bool | cmd_mem_r (GdbCommand::Context &ctx) |
bool | cmd_mem_w (GdbCommand::Context &ctx) |
bool | cmd_query_var (GdbCommand::Context &ctx) |
bool | cmd_step (GdbCommand::Context &ctx) |
bool | cmd_async_step (GdbCommand::Context &ctx) |
bool | cmd_clr_hw_bkpt (GdbCommand::Context &ctx) |
bool | cmd_set_hw_bkpt (GdbCommand::Context &ctx) |
uint8_t | getbyte () |
void | putbyte (uint8_t b) |
int | recv (char *data, int len) |
void | send (const char *data) |
virtual bool | read (Addr addr, size_t size, char *data) |
virtual bool | write (Addr addr, size_t size, const char *data) |
template<class T > | |
T | read (Addr addr) |
template<class T > | |
void | write (Addr addr, T data) |
void | clearSingleStep () |
void | setSingleStep () |
PCEventQueue * | getPcEventQueue () |
EventQueue * | getComInstEventQueue () |
void | scheduleInstCommitEvent (Event *ev, int delta) |
Schedule an event which will be triggered "delta" instructions later. More... | |
void | descheduleInstCommitEvent (Event *ev) |
Deschedule an instruction count based event. More... | |
void | insertSoftBreak (Addr addr, size_t len) |
void | removeSoftBreak (Addr addr, size_t len) |
virtual void | insertHardBreak (Addr addr, size_t len) |
void | removeHardBreak (Addr addr, size_t len) |
void | clearTempBreakpoint (Addr &bkpt) |
void | setTempBreakpoint (Addr bkpt) |
Protected Attributes | |
X86GdbRegCache | regCache32 |
AMD64GdbRegCache | regCache64 |
Protected Attributes inherited from BaseRemoteGDB | |
InputEvent * | inputEvent |
TrapEvent | trapEvent |
GDBListener * | listener |
int | number |
int | fd |
bool | active |
bool | attached |
System * | system |
ThreadContext * | context |
BaseGdbRegCache * | regCachePtr |
SingleStepEvent | singleStepEvent |
break_map_t | hardBreakMap |
Additional Inherited Members | |
Protected Types inherited from BaseRemoteGDB | |
typedef std::map< Addr, HardBreakpoint * > | break_map_t |
typedef break_map_t::iterator | break_iter_t |
Static Protected Attributes inherited from BaseRemoteGDB | |
static std::map< char, GdbCommand > | command_map |
Definition at line 56 of file remote_gdb.hh.
RemoteGDB::RemoteGDB | ( | System * | system, |
ThreadContext * | context | ||
) |
Definition at line 67 of file remote_gdb.cc.
|
protectedvirtual |
Implements BaseRemoteGDB.
Definition at line 72 of file remote_gdb.cc.
References BaseRemoteGDB::context, FullSystem, ThreadContext::getDTBPtr(), ThreadContext::getProcessPtr(), X86ISA::logBytes, PageTableBase::lookup(), X86ISA::mask, NoFault, Process::pTable, BaseTLB::Read, X86ISA::Walker::startFunctional(), and X86ISA::TlbEntry().
|
inlineprotectedvirtual |
Reimplemented from BaseRemoteGDB.
Definition at line 60 of file remote_gdb.hh.
|
virtual |
Implements BaseRemoteGDB.
Definition at line 96 of file remote_gdb.cc.
References BaseRemoteGDB::context, X86ISA::MISCREG_M5_REG, ThreadContext::readMiscRegNoEffect(), regCache32, regCache64, and X86ISA::SixtyFourBitMode.
|
protected |
Definition at line 142 of file remote_gdb.hh.
Referenced by gdbRegs().
|
protected |
Definition at line 143 of file remote_gdb.hh.
Referenced by gdbRegs().