]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc/64s/exception: machine check use correct cfar for late handler
authorNicholas Piggin <npiggin@gmail.com>
Fri, 2 Aug 2019 10:56:32 +0000 (20:56 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 30 Aug 2019 00:32:34 +0000 (10:32 +1000)
commite0d7a34f6e0e4db9b3d03364bbbd583526b7678e
tree4afed0e1cd9cd878eee11975e2fa3a9b3f3686db
parent3c50cbdef94b7efa0566c398a72f7a79fe2ee45e
powerpc/64s/exception: machine check use correct cfar for late handler

Bare metal machine checks run an "early" handler in real mode before
running the main handler which reports the event.

The main handler runs exactly as a normal interrupt handler, after the
"windup" which sets registers back as they were at interrupt entry.
CFAR does not get restored by the windup code, so that will be wrong
when the handler is run.

Restore the CFAR to the saved value before running the late handler.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20190802105709.27696-8-npiggin@gmail.com
arch/powerpc/kernel/exceptions-64s.S