• James Morse's avatar
    KVM: arm64: Add kvm_extable for vaxorcism code · e9ee186b
    James Morse authored
    KVM has a one instruction window where it will allow an SError exception
    to be consumed by the hypervisor without treating it as a hypervisor bug.
    This is used to consume asynchronous external abort that were caused by
    the guest.
    
    As we are about to add another location that survives unexpected exceptions,
    generalise this code to make it behave like the host's extable.
    
    KVM's version has to be mapped to EL2 to be accessible on nVHE systems.
    
    The SError vaxorcism code is a one instruction window, so has two entries
    in the extable. Because the KVM code is copied for VHE and nVHE, we end up
    with four entries, half of which correspond with code that isn't mapped.
    Signed-off-by: default avatarJames Morse <james.morse@arm.com>
    Reviewed-by: default avatarMarc Zyngier <maz@kernel.org>
    Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    e9ee186b
switch.c 5.49 KB