summaryrefslogtreecommitdiffstats
path: root/arch/arm64/kernel/entry.S
diff options
context:
space:
mode:
authorJames Morse <james.morse@arm.com>2015-12-10 11:22:39 +0100
committerWill Deacon <will.deacon@arm.com>2015-12-10 13:08:09 +0100
commitaa4d5d3cbc258c355151a3903211b27359390ec5 (patch)
treeabeb7f9963ff7fc4a867f14009f7a11b74cfae2d /arch/arm64/kernel/entry.S
parentarm64: irq: fix walking from irq stack to task stack (diff)
downloadlinux-aa4d5d3cbc258c355151a3903211b27359390ec5.tar.xz
linux-aa4d5d3cbc258c355151a3903211b27359390ec5.zip
arm64: Add this_cpu_ptr() assembler macro for use in entry.S
irq_stack is a per_cpu variable, that needs to be access from entry.S. Use an assembler macro instead of the unreadable details. Signed-off-by: James Morse <james.morse@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/kernel/entry.S')
-rw-r--r--arch/arm64/kernel/entry.S4
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S
index be7ec544b540..e394f8c9595a 100644
--- a/arch/arm64/kernel/entry.S
+++ b/arch/arm64/kernel/entry.S
@@ -179,9 +179,7 @@ alternative_endif
.macro irq_stack_entry, dummy_lr
mov x19, sp // preserve the original sp
- adr_l x25, irq_stack
- mrs x26, tpidr_el1
- add x25, x25, x26
+ this_cpu_ptr irq_stack, x25, x26
/*
* Check the lowest address on irq_stack for the irq_count value,