• Nicholas Piggin's avatar
    powerpc/64s/radix: Fix process table entry cache invalidation · 30b49ec7
    Nicholas Piggin authored
    According to the architecture, the process table entry cache must be
    flushed with tlbie RIC=2.
    
    Currently the process table entry is set to invalid right before the
    PID is returned to the allocator, with no invalidation. This works on
    existing implementations that are known to not cache the process table
    entry for any except the current PIDR.
    
    It is architecturally correct and cleaner to invalidate with RIC=2
    after clearing the process table entry and before the PID is returned
    to the allocator. This can be done in arch_exit_mmap that runs before
    the final flush, and to ensure the final flush (fullmm) is always a
    RIC=2 variant.
    Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    30b49ec7
mmu_context.h 5.99 KB