• Marc Zyngier's avatar
    KVM: arm64: Don't adjust PC on SError during SMC trap · c22588c9
    Marc Zyngier authored
    On SMC trap, the prefered return address is set to that of the SMC
    instruction itself. It is thus wrong to try and roll it back when
    an SError occurs while trapping on SMC. It is still necessary on
    HVC though, as HVC doesn't cause a trap, and sets ELR to returning
    *after* the HVC.
    
    It also became apparent that there is no 16bit encoding for an AArch32
    HVC instruction, meaning that the displacement is always 4 bytes,
    no matter what the ISA is. Take this opportunity to simplify it.
    Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
    Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
    c22588c9
handle_exit.c 7.99 KB