42 #include <sys/signal.h>
59 #include "debug/GDBAcc.hh"
67 using namespace X86ISA;
70 BaseRemoteGDB(_system, _port), regCache32(this), regCache64(this)
77 Walker *walker =
dynamic_cast<MMU *
>(
78 context()->getMMUPtr())->getDataWalker();
80 Fault fault = walker->startFunctional(context(),
va, logBytes,
86 if ((
va & ~
mask(logBytes)) == (endVa & ~
mask(logBytes)))
89 fault = walker->startFunctional(context(), endVa, logBytes,
93 return context()->getProcessPtr()->pTable->lookup(
va) !=
nullptr;
103 auto arch =
system()->workload->getArch();
109 panic(
"Unrecognized workload arch %s.",
127 DPRINTF(GDBAcc,
"getRegs in remotegdb \n");
157 DPRINTF(GDBAcc,
"getRegs in remotegdb \n");
179 DPRINTF(GDBAcc,
"setRegs in remotegdb \n");
199 warn(
"Remote gdb: Ignoring update to CS.\n");
201 warn(
"Remote gdb: Ignoring update to SS.\n");
203 warn(
"Remote gdb: Ignoring update to DS.\n");
205 warn(
"Remote gdb: Ignoring update to ES.\n");
207 warn(
"Remote gdb: Ignoring update to FS.\n");
209 warn(
"Remote gdb: Ignoring update to GS.\n");
215 DPRINTF(GDBAcc,
"setRegs in remotegdb \n");
227 warn(
"Remote gdb: Ignoring update to CS.\n");
229 warn(
"Remote gdb: Ignoring update to SS.\n");
231 warn(
"Remote gdb: Ignoring update to DS.\n");
233 warn(
"Remote gdb: Ignoring update to ES.\n");
235 warn(
"Remote gdb: Ignoring update to FS.\n");
237 warn(
"Remote gdb: Ignoring update to GS.\n");
Addr instAddr() const
Returns the memory address of the instruction this PC points to.
ThreadContext is the external interface to all thread state for anything outside of the CPU.
virtual void setMiscReg(RegIndex misc_reg, RegVal val)=0
virtual RegVal getReg(const RegId ®) const
virtual const PCStateBase & pcState() const =0
virtual void setReg(const RegId ®, RegVal val)
virtual RegVal readMiscRegNoEffect(RegIndex misc_reg) const =0
RemoteGDB(System *system, int _port)
#define panic(...)
This implements a cprintf based panic() function.
const char * archToString(Arch arch)
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
std::shared_ptr< FaultBase > Fault
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
bool FullSystem
The FullSystem variable can be used to determine the current mode of simulation.
constexpr decltype(nullptr) NoFault
Declarations of a non-full system Page Table.