Nicholas Piggin a97a65d53d KVM: PPC: Book3S: 64-bit CONFIG_RELOCATABLE support for interrupts
64-bit Book3S exception handlers must find the dynamic kernel base
to add to the target address when branching beyond __end_interrupts,
in order to support kernel running at non-0 physical address.

Support this in KVM by branching with CTR, similarly to regular
interrupt handlers. The guest CTR saved in HSTATE_SCRATCH1 and
restored after the branch.

Without this, the host kernel hangs and crashes randomly when it is
running at a non-0 address and a KVM guest is started.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Acked-by: Paul Mackerras <paulus@ozlabs.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-01-31 19:07:39 +11:00
..
2016-12-16 09:26:42 -08:00
2016-06-14 13:58:26 +10:00
2016-12-16 09:26:42 -08:00
2016-06-21 15:30:56 +10:00
2016-12-16 09:26:42 -08:00
2014-11-27 09:32:58 +11:00
2016-08-07 23:50:09 -04:00
2016-08-07 23:50:09 -04:00
2015-08-06 15:10:20 +10:00
2016-08-07 23:50:09 -04:00
2016-07-15 14:57:47 +10:00
2016-12-16 09:26:42 -08:00
2016-12-16 09:26:42 -08:00
2015-04-07 17:15:13 +10:00
2016-08-09 16:52:00 +10:00