changeset f07639e4b676 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=f07639e4b676
description:
ARM: guard masked symbol tables by default
Symbol tables masked with the loadAddrMask create redundant entries
that could conflict with kernel function events that rely on the
original addresses. This patch guards the creation of those masked
symbol tables by default, with an option to enable them when needed
(for early-stage kernel debugging, etc.)
diffstat:
src/arch/arm/ArmSystem.py | 1 +
src/arch/arm/linux/system.cc | 10 ++++++----
2 files changed, 7 insertions(+), 4 deletions(-)
diffs (28 lines):
diff -r 8601533b6f70 -r f07639e4b676 src/arch/arm/ArmSystem.py
--- a/src/arch/arm/ArmSystem.py Thu May 10 18:04:27 2012 -0500
+++ b/src/arch/arm/ArmSystem.py Thu May 10 18:04:27 2012 -0500
@@ -65,3 +65,4 @@
machine_type = Param.ArmMachineType('RealView_PBX',
"Machine id from http://www.arm.linux.org.uk/developer/machines/")
atags_addr = Param.Addr(0x100, "Address where default atags structure
should be written")
+ early_kernel_symbols = Param.Bool(False, "enable early kernel symbol
tables before MMU")
diff -r 8601533b6f70 -r f07639e4b676 src/arch/arm/linux/system.cc
--- a/src/arch/arm/linux/system.cc Thu May 10 18:04:27 2012 -0500
+++ b/src/arch/arm/linux/system.cc Thu May 10 18:04:27 2012 -0500
@@ -114,10 +114,12 @@
ArmSystem::initState();
// Load symbols at physical address, we might not want
- // to do this perminately, for but early bootup work
- // it is helpfulp.
- kernel->loadGlobalSymbols(kernelSymtab, loadAddrMask);
- kernel->loadGlobalSymbols(debugSymbolTable, loadAddrMask);
+ // to do this permanently, for but early bootup work
+ // it is helpful.
+ if (params()->early_kernel_symbols) {
+ kernel->loadGlobalSymbols(kernelSymtab, loadAddrMask);
+ kernel->loadGlobalSymbols(debugSymbolTable, loadAddrMask);
+ }
// Setup boot data structure
AtagCore *ac = new AtagCore;
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev