gem5
|
#include <remote_gdb.hh>
Classes | |
class | AlphaGdbRegCache |
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 | write (Addr addr, size_t size, const char *data) |
void | insertHardBreak (Addr addr, size_t len) override |
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) |
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 | |
Protected Types inherited from BaseRemoteGDB | |
typedef std::map< Addr, HardBreakpoint * > | break_map_t |
typedef break_map_t::iterator | break_iter_t |
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 |
Static Protected Attributes inherited from BaseRemoteGDB | |
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().