[PATCHv2 3/4] arm64: Switch to ldr for loading the stub vectors
Will Deacon
will.deacon at arm.com
Tue Jun 3 08:22:51 PDT 2014
On Mon, Jun 02, 2014 at 09:57:37PM +0100, Laura Abbott wrote:
>
> The hyp stub vectors are currently loaded using adr. This
> instruction has a +/- 1MB range for the loading address. If
> the alignment for sections is changed. the address may be more
> than 1MB away, resulting in reclocation errors. Switch to using
> ldr for getting the address to ensure we aren't affected by the
> location of the __hyp_stub_vectors.
>
> Signed-off-by: Laura Abbott <lauraa at codeaurora.org>
> ---
> arch/arm64/kernel/head.S | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S
> index 0fd5650..07574f4 100644
> --- a/arch/arm64/kernel/head.S
> +++ b/arch/arm64/kernel/head.S
> @@ -208,7 +208,7 @@ CPU_LE( movk x0, #0x30d0, lsl #16 ) // Clear EE and E0E on LE systems
> msr vttbr_el2, xzr
>
> /* Hypervisor stub */
> - adr x0, __hyp_stub_vectors
> + ldr x0, =__hyp_stub_vectors
> msr vbar_el2, x0
Or use Ard's trick with adrp and the lo12 relocation?
Will
More information about the linux-arm-kernel
mailing list