diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2005-11-19 01:25:34 -0500 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2005-11-19 01:25:34 -0500 |
commit | ccae5838fd4ec3b6aa27024beb24e231f6d3c63a (patch) | |
tree | 07c07271d8e362fe8cea1b4f46f061371ee0e5c4 /arch/alpha/pseudo_inst.cc | |
parent | 746841856c70044395e82a5591e7dbd50333f88f (diff) | |
download | gem5-ccae5838fd4ec3b6aa27024beb24e231f6d3c63a.tar.xz |
add symbol opcode
--HG--
extra : convert_revision : e050d2c4fec33c41ac21b6f17b3be329b9521429
Diffstat (limited to 'arch/alpha/pseudo_inst.cc')
-rw-r--r-- | arch/alpha/pseudo_inst.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/alpha/pseudo_inst.cc b/arch/alpha/pseudo_inst.cc index 123ce44c6..e105b3cc8 100644 --- a/arch/alpha/pseudo_inst.cc +++ b/arch/alpha/pseudo_inst.cc @@ -46,6 +46,7 @@ #include "sim/stats.hh" #include "sim/system.hh" #include "sim/debug.hh" +#include "targetarch/vptr.hh" using namespace std; @@ -133,6 +134,19 @@ namespace AlphaPseudo } void + addsymbol(ExecContext *xc) + { + Addr addr = xc->regs.intRegFile[16]; + char symb[100]; + CopyString(xc, symb, xc->regs.intRegFile[17], 100); + std::string symbol(symb); + + DPRINTF(Loader, "Loaded symbol: %s @ %#llx\n", symbol, addr); + + xc->system->kernelSymtab->insert(addr,symbol); + } + + void dumpresetstats(ExecContext *xc) { if (!doStatisticsInsts) |