From a81c03737addc8e9a9b00cde0354e6c0ab4561af Mon Sep 17 00:00:00 2001 From: Nathan Binkert Date: Tue, 18 Oct 2005 19:07:42 -0400 Subject: 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 --- sim/system.cc | 16 ++++++++++++++++ sim/system.hh | 3 +++ 2 files changed, 19 insertions(+) (limited to 'sim') 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; -- cgit v1.2.3