• Sam Ravnborg's avatar
    sparc32: use flushi when run-time patching in per_cpu_patch · 1edc1783
    Sam Ravnborg authored
    Davis S. Miller wrote:
    "
    The way we do that now is overkill.  We only needed to use the MMU
    cache ops when we had sun4c around because sun4c lacked support for
    the "flush" instruction.
    
    But all sun4m and later chips have it so we can use it
    unconditionally.
    
    So in the per_cpu_patch() code, get rid of the cache ops invocation,
    and instead execute a "flush %reg" after each of the instruction patch
    assignments, where %reg is set to the address of the instruction that
    was stored into.
    
    Perhaps take the flushi() definition from asm/cacheflush_64.h and
    place it into asm/cacheflush.h, then you can simply use that.
    "
    
    Implemented as per suggestion.
    Moved run-time patching before we call paging_init(),
    so helper methods in paging_init() may utilise run-time patching too.
    Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    1edc1783
setup_32.c 8.46 KB