• Jeremy Kerr's avatar
    powernv: Use _GLOBAL_TOC for opal wrappers · 19d36c21
    Jeremy Kerr authored
    Currently, we can't call opal wrappers from modules when using the LE
    ABIv2, which requires a TOC init. If we do we'll try and load the opal
    entry point using the wrong toc and probably explode or worse jump to
    the wrong address.
    
    Nothing in upstream is making opal calls from a module, but we do export
    one of the wrappers so we should fix this anyway.
    
    This change uses the _GLOBAL_TOC() macro (rather than _GLOBAL) for the
    opal wrappers, so that we can do non-local calls to them.
    Signed-off-by: default avatarJeremy Kerr <jk@ozlabs.org>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    19d36c21
opal-wrappers.S 8.3 KB