summaryrefslogtreecommitdiff
path: root/arch/alpha/pseudo_inst.cc
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2005-11-19 01:25:34 -0500
committerAli Saidi <saidi@eecs.umich.edu>2005-11-19 01:25:34 -0500
commitccae5838fd4ec3b6aa27024beb24e231f6d3c63a (patch)
tree07c07271d8e362fe8cea1b4f46f061371ee0e5c4 /arch/alpha/pseudo_inst.cc
parent746841856c70044395e82a5591e7dbd50333f88f (diff)
downloadgem5-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.cc14
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)