powerpc/fault: Perform exception fixup in do_page_fault()
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Wed, 9 Dec 2020 05:29:25 +0000 (05:29 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 9 Dec 2020 12:48:14 +0000 (23:48 +1100)
commit5f1888a077069988218805534f56b983b6d5710c
tree71256d5dd482c324023c1df2f469a358389dc12e
parentcbd7e6ca0210db05c315a27bb5db5a482f2772ce
powerpc/fault: Perform exception fixup in do_page_fault()

Exception fixup doesn't require the heady full regs saving,
do it from do_page_fault() directly.

For that, split bad_page_fault() in two parts.

As bad_page_fault() can also be called from other places than
handle_page_fault(), it will still perform exception fixup and
fallback on __bad_page_fault().

handle_page_fault() directly calls __bad_page_fault() as the
exception fixup will now be done by do_page_fault()

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/bd07d6fef9237614cd6d318d8f19faeeadaa816b.1607491748.git.christophe.leroy@csgroup.eu
arch/powerpc/include/asm/bug.h
arch/powerpc/kernel/entry_32.S
arch/powerpc/kernel/exceptions-64e.S
arch/powerpc/kernel/exceptions-64s.S
arch/powerpc/mm/fault.c