On Thu, Feb 16, 2017 at 09:24:48PM +0100, Matthijs van Duin wrote:
On Thu, Feb 16, 2017 at 03:03:47PM -0500, Lennart Sorensen wrote:
From what I can tell, using badr would make it work correctly for a THUMB kernel build? I certainly never tested that before so it may very well be broken in that case.
It was. My first try to boot a kernel in HYP mode resulted in:
[ 0.156634] smp: Bringing up secondary CPUs ... [ 1.298996] CPU1: failed to come online
Replacing adr by badr fixes this, without any imapct on non-thumb builds since there it simply expands to 'adr' again.
(I didn't know about this macro before, but it's all over the place in arch/arm/kernel/*.S)
Well the macro certainly explains why it would work in ARM mode and not THUMB mode.
Looks like a good fix then.