• Michael Neuling's avatar
    powerpc: Routines for FP/VSX/VMX unavailable during a transaction · f54db641
    Michael Neuling authored
    We do lazy FP but not lazy TM (ie. userspace starts with MSR TM=1 FP=0).  Hence
    if userspace does an FP instruction during a transaction, we'll take an
    fp unavailable exception.
    
    This adds functions needed to handle this case.  We have to inject the current
    FP state into the checkpoint so that the hardware can decide what to do with
    the transaction.  We can't inject only the FP so we have to do a full treclaim
    and recheckpoint to inject just the FP state.  This will cause the transaction
    to be marked as aborted by the hardware.
    
    This just add the routines needed to do this for FP, VMX and VSX.  It doesn't
    hook them into the rest of the code yet.
    Signed-off-by: default avatarMatt Evans <matt@ozlabs.org>
    Signed-off-by: default avatarMichael Neuling <mikey@neuling.org>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    f54db641
traps.c 44 KB