• Paul Burton's avatar
    MIPS: tlbex: Remove cpu_has_local_ebase · 775b089a
    Paul Burton authored
    The cpu_has_local_ebase macro is, confusingly, not used to indicate
    whether the EBase register is local to a CPU or not. Instead it
    indicates whether we want to generate the TLB refill exception vector
    each time a CPU is brought online. Doing this makes little sense on any
    system, since we always use the same value for EBase & thus we cannot
    have different TLB refill exception handlers per CPU.
    
    Regenerating the code is not only pointless but also can be actively
    harmful, as commit 8759934e ("MIPS: Build uasm-generated code only
    once to avoid CPU Hotplug problem") described. That commit introduced
    cpu_has_local_ebase to disable the handler regeneration for Loongson
    machines, but this is by no means a Loongson-specific problem.
    
    Remove cpu_has_local_ebase & simply generate the TLB refill handler once
    during boot, just like the rest of the TLB exception handlers.
    Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
    Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
    Cc: linux-mips@vger.kernel.org
    775b089a
cpu-features.h 21.1 KB