diff options
author | Eric Van Hensbergen <Eric.VanHensbergen@ARM.com> | 2013-10-17 10:20:45 -0500 |
---|---|---|
committer | Eric Van Hensbergen <Eric.VanHensbergen@ARM.com> | 2013-10-17 10:20:45 -0500 |
commit | bfdd031c0de3963c111488279905f0772f9f5319 (patch) | |
tree | e46fb8927a165f86fb6f6f3282d344b9acb7dedd | |
parent | 2f7b012ced325bc4a1490044b97acbd9d0b5bbcf (diff) | |
download | gem5-bfdd031c0de3963c111488279905f0772f9f5319.tar.xz |
arm: Accomodate function name changes in newer linux kernels
-rw-r--r-- | src/arch/arm/linux/system.cc | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/arch/arm/linux/system.cc b/src/arch/arm/linux/system.cc index e714cc913..bc7fd2cb6 100644 --- a/src/arch/arm/linux/system.cc +++ b/src/arch/arm/linux/system.cc @@ -80,13 +80,20 @@ LinuxArmSystem::LinuxArmSystem(Params *p) } // With ARM udelay() is #defined to __udelay - uDelaySkipEvent = addKernelFuncEventOrPanic<UDelayEvent>( - "__udelay", "__udelay", 1000, 0); + // newer kernels use __loop_udelay and __loop_const_udelay symbols + uDelaySkipEvent = addKernelFuncEvent<UDelayEvent>( + "__loop_udelay", "__udelay", 1000, 0); + if(!uDelaySkipEvent) + uDelaySkipEvent = addKernelFuncEventOrPanic<UDelayEvent>( + "__udelay", "__udelay", 1000, 0); // constant arguments to udelay() have some precomputation done ahead of // time. Constant comes from code. - constUDelaySkipEvent = addKernelFuncEventOrPanic<UDelayEvent>( - "__const_udelay", "__const_udelay", 1000, 107374); + constUDelaySkipEvent = addKernelFuncEvent<UDelayEvent>( + "__loop_const_udelay", "__const_udelay", 1000, 107374); + if(!constUDelaySkipEvent) + constUDelaySkipEvent = addKernelFuncEventOrPanic<UDelayEvent>( + "__const_udelay", "__const_udelay", 1000, 107374); secDataPtrAddr = 0; secDataAddr = 0; |