]> asedeno.scripts.mit.edu Git - linux.git/commit
powerpc/64s: Reimplement power4_idle code in C
authorNicholas Piggin <npiggin@gmail.com>
Thu, 11 Jul 2019 02:24:03 +0000 (12:24 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 16 Jan 2020 04:59:37 +0000 (14:59 +1000)
commited0bc98f8cbe4f8254759d333a47aedc816ff8c5
tree7e5768afb6d7e895930d578954d3c4061998cb9a
parent30e813cf46ccaeea6508607632e49b4a1d743d2a
powerpc/64s: Reimplement power4_idle code in C

This implements the tricky tracing and soft irq handling bits in C,
leaving the low level bit to asm.

A functional difference is that this redirects the interrupt exit to
a return stub to execute blr, rather than the lr address itself. This
is probably barely measurable on real hardware, but it keeps the link
stack balanced.

Tested with QEMU.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
[mpe: Move power4_fixup_nap back into exceptions-64s.S]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20190711022404.18132-1-npiggin@gmail.com
arch/powerpc/include/asm/processor.h
arch/powerpc/kernel/Makefile
arch/powerpc/kernel/exceptions-64s.S
arch/powerpc/kernel/idle.c
arch/powerpc/kernel/idle_book3s.S
arch/powerpc/kernel/idle_power4.S [deleted file]
arch/powerpc/platforms/Kconfig