• Michal Suchanek's avatar
    powerpc/64s: Add barrier_nospec · a6b3964a
    Michal Suchanek authored
    A no-op form of ori (or immediate of 0 into r31 and the result stored
    in r31) has been re-tasked as a speculation barrier. The instruction
    only acts as a barrier on newer machines with appropriate firmware
    support. On older CPUs it remains a harmless no-op.
    
    Implement barrier_nospec using this instruction.
    
    mpe: The semantics of the instruction are believed to be that it
    prevents execution of subsequent instructions until preceding branches
    have been fully resolved and are no longer executing speculatively.
    There is no further documentation available at this time.
    Signed-off-by: default avatarMichal Suchanek <msuchanek@suse.de>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    a6b3964a
barrier.h 3.25 KB