From bfdd031c0de3963c111488279905f0772f9f5319 Mon Sep 17 00:00:00 2001 From: Eric Van Hensbergen Date: Thu, 17 Oct 2013 10:20:45 -0500 Subject: [PATCH] arm: Accomodate function name changes in newer linux kernels --- src/arch/arm/linux/system.cc | 15 +++++++++++---- 1 file 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( - "__udelay", "__udelay", 1000, 0); + // newer kernels use __loop_udelay and __loop_const_udelay symbols + uDelaySkipEvent = addKernelFuncEvent( + "__loop_udelay", "__udelay", 1000, 0); + if(!uDelaySkipEvent) + uDelaySkipEvent = addKernelFuncEventOrPanic( + "__udelay", "__udelay", 1000, 0); // constant arguments to udelay() have some precomputation done ahead of // time. Constant comes from code. - constUDelaySkipEvent = addKernelFuncEventOrPanic( - "__const_udelay", "__const_udelay", 1000, 107374); + constUDelaySkipEvent = addKernelFuncEvent( + "__loop_const_udelay", "__const_udelay", 1000, 107374); + if(!constUDelaySkipEvent) + constUDelaySkipEvent = addKernelFuncEventOrPanic( + "__const_udelay", "__const_udelay", 1000, 107374); secDataPtrAddr = 0; secDataAddr = 0;