ARM lockup during Kexec operation
Russell King - ARM Linux
linux at armlinux.org.uk
Fri Apr 21 19:24:16 EDT 2017
On Fri, Apr 21, 2017 at 11:04:19PM +0000, Rudici Cazeao wrote:
> The issue is localized to linux-3.0.51/arch\arm/mach-transcede/hotplug.c.
>
> cpu_enter_lowpower();
> platform_do_lowpower(cpu, &spurious);
> cpu_leave_lowpower(). / * bring this CPU back into the world of cache coherency, and then restore interrupts */
>
>
> static inline void platform_do_lowpower(unsigned int cpu, int *spurious) {
> for (;;) { / * there is no power-control hardware on this platform, so all we can do is put the core into WFI; this is safe as the calling code will have already disabled interrupts */
> wfe();
> if (pen_release == cpu) {
> break; / * OK, proper wakeup, we're done */
> }
>
> (*spurious)++; / * Getting here, means that we have come out of WFI without having been woken up - Just note it happening - when we're woken, we can report its occurrence.
> }
> }
Sorry, but with the above, the platform can't support suspend/resume or
kexec reliably. It needs a proper implementation - iow, one which
actually takes the CPU offline such that it resumes as it does the very
first time we boot.
This also doesn't seem to be mainline kernel related - and searching
google for "arm/mach-transcede" brings up no relevant results,
certainly not on the first page.
--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
More information about the linux-arm-kernel
mailing list