[PATCH 3/3] KVM: PPC: Book3S: 64-bit CONFIG_RELOCATABLE support for interrupts
Paul Mackerras
paulus at ozlabs.org
Fri Jan 27 13:50:19 AEDT 2017
On Thu, Dec 22, 2016 at 04:29:27AM +1000, Nicholas Piggin wrote:
> 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 at gmail.com>
Looks OK to me.
I have a slight quibble about the naming of the "BRANCH_LINK_TO_KVM"
macro because neither its definition nor the place where it's used
have anything to do with KVM as far as I can see. That needn't stop
the patch going in, though.
Acked-by: Paul Mackerras <paulus at ozlabs.org>
More information about the Linuxppc-dev
mailing list