summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/arch/arm/ArmSystem.py1
-rw-r--r--src/arch/arm/linux/system.cc10
2 files changed, 7 insertions, 4 deletions
diff --git a/src/arch/arm/ArmSystem.py b/src/arch/arm/ArmSystem.py
index f4aedaf98..a86fc8822 100644
--- a/src/arch/arm/ArmSystem.py
+++ b/src/arch/arm/ArmSystem.py
@@ -65,3 +65,4 @@ class LinuxArmSystem(ArmSystem):
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 --git a/src/arch/arm/linux/system.cc b/src/arch/arm/linux/system.cc
index 0d9e73a53..d537717ec 100644
--- a/src/arch/arm/linux/system.cc
+++ b/src/arch/arm/linux/system.cc
@@ -114,10 +114,12 @@ LinuxArmSystem::initState()
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;