diff options
author | Nathan Binkert <binkertn@umich.edu> | 2005-10-18 19:07:42 -0400 |
---|---|---|
committer | Nathan Binkert <binkertn@umich.edu> | 2005-10-18 19:07:42 -0400 |
commit | a81c03737addc8e9a9b00cde0354e6c0ab4561af (patch) | |
tree | e7415ec9c2a97cf676d5599a1cec2c1fd775ace2 /sim | |
parent | 357ee7a845eac0bd903ed31e31eec993d54a698c (diff) | |
download | gem5-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.cc | 16 | ||||
-rw-r--r-- | sim/system.hh | 3 |
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; |