On Thu, Feb 16, 2017 at 01:05:04AM +0100, Matthijs van Duin wrote:
'adr' yields a data-pointer, not a function-pointer.
Fixes: 999f934de195 ("ARM: omap5/dra7xx: Enable booting secondary CPU in HYP mode") Signed-off-by: Matthijs van Duin matthijsvanduin@gmail.com
arch/arm/mach-omap2/omap-headsmp.S | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-omap2/omap-headsmp.S b/arch/arm/mach-omap2/omap-headsmp.S index fe36ce2734d4..4c6f14cf92a8 100644 --- a/arch/arm/mach-omap2/omap-headsmp.S +++ b/arch/arm/mach-omap2/omap-headsmp.S @@ -17,6 +17,7 @@
#include <linux/linkage.h> #include <linux/init.h> +#include <asm/assembler.h>
#include "omap44xx.h"
@@ -66,7 +67,7 @@ wait_2: ldr r2, =AUX_CORE_BOOT0_PA @ read from AuxCoreBoot0 cmp r0, r4 bne wait_2 ldr r12, =API_HYP_ENTRY
- adr r0, hyp_boot
- badr r0, hyp_boot smc #0
hyp_boot: b omap_secondary_startup
I just based that on the code from the patch in http://lists.infradead.org/pipermail/linux-arm-kernel/2013-November/213510.h... so if using badr is correct and adr is not, they certainly changing it makes sense to me. From what I can tell, using badr would make it work correctly for a THUNB kernel build? I certainly never tested that before so it may very well be broken in that case. I don't have access to the hardware anymore to test it unfortunately.