diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2019-07-11 04:24:03 +0200 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2020-01-16 05:59:37 +0100 |
commit | ed0bc98f8cbe4f8254759d333a47aedc816ff8c5 (patch) | |
tree | 7e5768afb6d7e895930d578954d3c4061998cb9a /arch/powerpc/platforms/Kconfig | |
parent | misc: cxl: use mmgrab (diff) | |
download | linux-ed0bc98f8cbe4f8254759d333a47aedc816ff8c5.tar.xz linux-ed0bc98f8cbe4f8254759d333a47aedc816ff8c5.zip |
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
Diffstat (limited to 'arch/powerpc/platforms/Kconfig')
-rw-r--r-- | arch/powerpc/platforms/Kconfig | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/Kconfig b/arch/powerpc/platforms/Kconfig index e28df298df56..1f8025383caa 100644 --- a/arch/powerpc/platforms/Kconfig +++ b/arch/powerpc/platforms/Kconfig @@ -177,6 +177,10 @@ config PPC_970_NAP config PPC_P7_NAP bool +config PPC_BOOK3S_IDLE + def_bool y + depends on (PPC_970_NAP || PPC_P7_NAP) + config PPC_INDIRECT_PIO bool select GENERIC_IOMAP |