• Alexander Graf's avatar
    KVM: PPC: Book3S: PR: Don't clobber our exit handler id · d825a043
    Alexander Graf authored
    We call a C helper to save all svcpu fields into our vcpu. The C
    ABI states that r12 is considered volatile. However, we keep our
    exit handler id in r12 currently.
    
    So we need to save it away into a non-volatile register instead
    that definitely does get preserved across the C call.
    
    This bug usually didn't hit anyone yet since gcc is smart enough
    to generate code that doesn't even need r12 which means it stayed
    identical throughout the call by sheer luck. But we can't rely on
    that.
    Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
    d825a043
book3s_interrupts.S 5.94 KB