[PATCH v2 21/29] ARM: kernel: use PC relative symbol references in suspend/resume code
From: Ard Biesheuvel <hidden>
Date: 2017-09-04 19:17:40
From: Ard Biesheuvel <hidden>
Date: 2017-09-04 19:17:40
On 4 September 2017 at 19:24, Nicolas Pitre [off-list ref] wrote:
On Sun, 3 Sep 2017, Ard Biesheuvel wrote:quoted
Replace some unnecessary absolute references with relative ones. Also, to prepare for runtime relocation, which occurs with the caches on, defer taking the absolute address of cpu_resume_after_mmu() until after the MMU is enabled. Cc: Russell King <linux@armlinux.org.uk> Signed-off-by: Ard Biesheuvel <redacted>What's the point of that last hunk? I understand you load the address after the mMU is on. But you should be coming back from a sleep and caches ought to be clean at that point. Not that it is a bad thing to do but I don't understand your reason for it.
I simply attempted to eliminate all uses of relocated quantities with the caches off, but you are correct that this is only necessary for boot and not for suspend/resume. This is actually somewhat of a relief, since there is so much SOC specific suspend/resume code under arch/arm, and the boot code is mostly shared.