summaryrefslogtreecommitdiff
path: root/sim
diff options
context:
space:
mode:
authorNathan Binkert <binkertn@umich.edu>2005-10-18 19:07:42 -0400
committerNathan Binkert <binkertn@umich.edu>2005-10-18 19:07:42 -0400
commita81c03737addc8e9a9b00cde0354e6c0ab4561af (patch)
treee7415ec9c2a97cf676d5599a1cec2c1fd775ace2 /sim
parent357ee7a845eac0bd903ed31e31eec993d54a698c (diff)
downloadgem5-a81c03737addc8e9a9b00cde0354e6c0ab4561af.tar.xz
Add new function profiling stuff, wrap the pc_sample stuff into it.
SConscript: Get rid of the pc_sample stuff and move to the new profiling stuff base/traceflags.py: DPRINTF Stack stuff cpu/base.cc: cpu/base.hh: cpu/exec_context.cc: cpu/exec_context.hh: cpu/simple/cpu.cc: Add profiling stuff kern/kernel_stats.hh: Use a smart pointer sim/system.cc: sim/system.hh: Create a new symbol table that has all of the symbols for a particular system util/stats/categories.py: change around the categories, add categories for function profiling stuff util/stats/profile.py: No profile parsing and display code to deal with function profiling stuff, graph, dot, and text outputs. --HG-- extra : convert_revision : b3de0cdc8bd468e42647966e2640ae009bda9eb8
Diffstat (limited to 'sim')
-rw-r--r--sim/system.cc16
-rw-r--r--sim/system.hh3
2 files changed, 19 insertions, 0 deletions
diff --git a/sim/system.cc b/sim/system.cc
index e67cae333..f14a97603 100644
--- a/sim/system.cc
+++ b/sim/system.cc
@@ -54,6 +54,7 @@ System::System(Params *p)
kernelSymtab = new SymbolTable;
consoleSymtab = new SymbolTable;
palSymtab = new SymbolTable;
+ allSymtab = new SymbolTable;
debugSymbolTable = new SymbolTable;
/**
@@ -101,6 +102,21 @@ System::System(Params *p)
if (!pal->loadLocalSymbols(palSymtab))
panic("could not load pal symbols\n");
+ if (!kernel->loadGlobalSymbols(allSymtab))
+ panic("could not load kernel symbols\n");
+
+ if (!kernel->loadLocalSymbols(allSymtab))
+ panic("could not load kernel local symbols\n");
+
+ if (!console->loadGlobalSymbols(allSymtab))
+ panic("could not load console symbols\n");
+
+ if (!pal->loadGlobalSymbols(allSymtab))
+ panic("could not load pal symbols\n");
+
+ if (!pal->loadLocalSymbols(allSymtab))
+ panic("could not load pal symbols\n");
+
if (!kernel->loadGlobalSymbols(debugSymbolTable))
panic("could not load kernel symbols\n");
diff --git a/sim/system.hh b/sim/system.hh
index 8cfe790de..ed78eb3d4 100644
--- a/sim/system.hh
+++ b/sim/system.hh
@@ -77,6 +77,9 @@ class System : public SimObject
/** pal symbol table */
SymbolTable *palSymtab;
+ /** all symbols table */
+ SymbolTable *allSymtab;
+
/** Object pointer for the kernel code */
ObjectFile *kernel;