diff options
author | Nathan Binkert <binkertn@umich.edu> | 2005-11-20 18:42:12 -0500 |
---|---|---|
committer | Nathan Binkert <binkertn@umich.edu> | 2005-11-20 18:42:12 -0500 |
commit | 63bb46b6d8028ed9c759e4bd0822dd2ad25c926b (patch) | |
tree | 1d0a4d619ff214a92a448d06d78301dbb4aebb50 /sim/system.cc | |
parent | 4e393f38ec9f3995a8fbd61ffdb0fd6da40b2ee1 (diff) | |
download | gem5-63bb46b6d8028ed9c759e4bd0822dd2ad25c926b.tar.xz |
Serialize the symbol tables
base/loader/symtab.cc:
Add support for clearing out the symbol table
Add support for serializing the symbol table (clear on unserialize)
Don't allow empty symbols to be entered into the table
base/loader/symtab.hh:
Add support for clearing out the symbol table
Add support for serializing the symbol table
sim/system.cc:
Serialize the kernel, console, and palcode symbol tables so that
we can capture any dynamic symbols that are added and so that we
don't have to have the same kernel binary around to get the
symbols right
--HG--
extra : convert_revision : 779888c88aa530f3adcd37dc7600a335951d05f7
Diffstat (limited to 'sim/system.cc')
-rw-r--r-- | sim/system.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sim/system.cc b/sim/system.cc index e67cae333..c91d7f142 100644 --- a/sim/system.cc +++ b/sim/system.cc @@ -333,6 +333,10 @@ void System::serialize(ostream &os) { kernelBinning->serialize(os); + + kernelSymtab->serialize("kernel_symtab", os); + consoleSymtab->serialize("console_symtab", os); + palSymtab->serialize("pal_symtab", os); } @@ -340,6 +344,10 @@ void System::unserialize(Checkpoint *cp, const string §ion) { kernelBinning->unserialize(cp, section); + + kernelSymtab->unserialize("kernel_symtab", cp, section); + consoleSymtab->unserialize("console_symtab", cp, section); + palSymtab->unserialize("pal_symtab", cp, section); } void |