• Matt Fleming's avatar
    sh: Replace unsafe manipulation of MMUCR · b5b6c7ee
    Matt Fleming authored
    Setting the TI in MMUCR causes all the TLB bits in MMUCR to be
    cleared. Unfortunately, the TLB wired bits are also cleared when setting
    the TI bit, causing any wired TLB entries to become unwired.
    
    Use local_flush_tlb_all() which implements TLB flushing in a safer
    manner by using the memory-mapped TLB registers. As each CPU has its own
    PMB the modifications in pmb_init() only affect the local CPU, so only
    flush the local CPU's TLB.
    Signed-off-by: default avatarMatt Fleming <matt@console-pimps.org>
    Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
    b5b6c7ee
tlbflush_32.c 3.41 KB