diff options
author | Mark Rutland <mark.rutland@arm.com> | 2017-01-17 16:10:57 +0000 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2017-01-17 17:41:14 +0000 |
commit | 526d10ae022c36722ce5b2db22b02f9353281875 (patch) | |
tree | 6d2512e46c23331433f12ae6a150aa13ab5bdc79 /arch/arm64/kernel/efi-entry.S | |
parent | 9bb003600ed9aabfe33b7330fa7e93acf959e8df (diff) | |
download | linux-stable-526d10ae022c36722ce5b2db22b02f9353281875.tar.gz linux-stable-526d10ae022c36722ce5b2db22b02f9353281875.tar.bz2 linux-stable-526d10ae022c36722ce5b2db22b02f9353281875.zip |
arm64: efi-entry.S: avoid open-coded adr_l
Some places in the kernel open-code sequences using ADRP for a symbol
another instruction using a :lo12: relocation for that same symbol.
These sequences are easy to get wrong, and more painful to read than is
necessary. For these reasons, it is preferable to use the
{adr,ldr,str}_l macros for these cases.
This patch makes use of these in efi-entry.S, removing open-coded
sequences using adrp.
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Matt Fleming <matt@codeblueprint.co.uk>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/kernel/efi-entry.S')
-rw-r--r-- | arch/arm64/kernel/efi-entry.S | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/arch/arm64/kernel/efi-entry.S b/arch/arm64/kernel/efi-entry.S index e88c064b845c..4e6ad355bd05 100644 --- a/arch/arm64/kernel/efi-entry.S +++ b/arch/arm64/kernel/efi-entry.S @@ -46,8 +46,7 @@ ENTRY(entry) * efi_system_table_t *sys_table, * unsigned long *image_addr) ; */ - adrp x8, _text - add x8, x8, #:lo12:_text + adr_l x8, _text add x2, sp, 16 str x8, [x2] bl efi_entry @@ -68,10 +67,8 @@ ENTRY(entry) /* * Calculate size of the kernel Image (same for original and copy). */ - adrp x1, _text - add x1, x1, #:lo12:_text - adrp x2, _edata - add x2, x2, #:lo12:_edata + adr_l x1, _text + adr_l x2, _edata sub x1, x2, x1 /* |