OSDN Git Service

powerpc/irq: Use current_stack_pointer in do_IRQ()
authorChristophe Leroy <christophe.leroy@c-s.fr>
Thu, 20 Feb 2020 11:51:41 +0000 (22:51 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 4 Mar 2020 11:44:30 +0000 (22:44 +1100)
commit532d43a73cf191cf951d27e49d8d0a03e8cf2297
tree8758b7fae9907bf4d7aa491744d6b4d9cda37ae6
parent0dec6e1cca7eee6d5616f982efab2ff3b3ea1f9f
powerpc/irq: Use current_stack_pointer in do_IRQ()

Until commit 7306e83ccf5c ("powerpc: Don't use CURRENT_THREAD_INFO to
find the stack"), the current stack base address was obtained by
calling current_thread_info(). That inline function was simply masking
out the value of r1.

In that commit, it was changed to using current_stack_pointer() (since
renamed current_stack_frame()), which is a heavier function as it is
an outline assembly function which cannot be inlined and which reads
the content of the stack at 0(r1).

Convert to using current_stack_pointer for geting r1 and masking out
its value to obtain the base address of the stack pointer as before.

Fixes: 7306e83ccf5c ("powerpc: Don't use CURRENT_THREAD_INFO to find the stack")
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200220115141.2707-5-mpe@ellerman.id.au
arch/powerpc/kernel/irq.c