gem5
|
#include <remote_gdb.hh>
Classes | |
class | AlphaGdbRegCache |
Public Member Functions | |
RemoteGDB (System *system, ThreadContext *context) | |
BaseGdbRegCache * | gdbRegs () |
![]() | |
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 | write (Addr addr, size_t size, const char *data) |
void | insertHardBreak (Addr addr, size_t len) override |
![]() | |
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) |
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... | |
virtual bool | checkBpLen (size_t len) |
void | insertSoftBreak (Addr addr, size_t len) |
void | removeSoftBreak (Addr addr, size_t len) |
void | removeHardBreak (Addr addr, size_t len) |
void | clearTempBreakpoint (Addr &bkpt) |
void | setTempBreakpoint (Addr bkpt) |
Additional Inherited Members | |
![]() | |
typedef std::map< Addr, HardBreakpoint * > | break_map_t |
typedef break_map_t::iterator | break_iter_t |
![]() | |
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 |
![]() | |
static std::map< char, GdbCommand > | command_map |
Definition at line 49 of file remote_gdb.hh.
RemoteGDB::RemoteGDB | ( | System * | system, |
ThreadContext * | context | ||
) |
Definition at line 147 of file remote_gdb.cc.
|
protectedvirtual |
This code says that all accesses to palcode (instruction and data) are valid since there isn't a va->pa mapping because palcode is accessed physically. At some point this should probably be cleaned up but there is no easy way to do it.
Implements BaseRemoteGDB.
Definition at line 156 of file remote_gdb.cc.
References BaseRemoteGDB::context, DPRINTF, FullSystem, ThreadContext::getPhysProxy(), AlphaISA::IPR_PALtemp20, AlphaISA::IsK0Seg(), AlphaISA::K0SegBase, AlphaISA::kernel_pte_lookup(), System::memSize(), AlphaISA::PageBytes, panic, AlphaISA::PcPAL(), ThreadContext::readMiscRegNoEffect(), AlphaISA::RoundPage(), BaseRemoteGDB::system, AlphaISA::TruncPage(), ArmISA::va, and AlphaISA::PageTableEntry::valid().
|
virtual |
Implements BaseRemoteGDB.
Definition at line 274 of file remote_gdb.cc.
|
overrideprotectedvirtual |
Reimplemented from BaseRemoteGDB.
Definition at line 266 of file remote_gdb.cc.
References BaseRemoteGDB::insertHardBreak(), and warn_once.
|
protectedvirtual |
Reimplemented from BaseRemoteGDB.
Definition at line 252 of file remote_gdb.cc.
References BaseRemoteGDB::write().