• Kumar Gala's avatar
    [POWERPC] 40x/Book-E: Save/restore volatile exception registers · fca622c5
    Kumar Gala authored
    On machines with more than one exception level any system register that
    might be modified by the "normal" exception level needs to be saved and
    restored on taking a higher level exception.  We already are saving
    and restoring ESR and DEAR.
    
    For critical level add SRR0/1.
    For debug level add CSRR0/1 and SRR0/1.
    For machine check level add DSRR0/1, CSRR0/1, and SRR0/1.
    
    On FSL Book-E parts we always save/restore the MAS registers for critical,
    debug, and machine check level exceptions.  On 44x we always save/restore
    the MMUCR.
    
    Additionally, we save and restore the ksp_limit since we have to adjust it
    for each exception level.
    Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
    Acked-by: default avatarPaul Mackerras <paulus@samba.org>
    fca622c5
head_40x.S 27.8 KB