]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc: Fix fatal SLB miss when restoring PPR
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 5 Nov 2013 05:33:22 +0000 (16:33 +1100)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 6 Nov 2013 03:13:53 +0000 (14:13 +1100)
commit6f7e14dde247d12d50c0d37c1a0dace7667e5699
tree22f37dca43e49a79236b1279511778a1e8d12c61
parentefe3c0414e1fbe91de00d0372fc0f54b3cd23e17
powerpc: Fix fatal SLB miss when restoring PPR

When restoring the PPR value, we incorrectly access the thread structure
at a time where MSR:RI is clear, which means we cannot recover from nested
faults. However the thread structure isn't covered by the "bolted" SLB
entries and thus accessing can fault.

This fixes it by splitting the code so that the PPR value is loaded into
a GPR before MSR:RI is cleared.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/ppc_asm.h
arch/powerpc/kernel/entry_64.S