• Michael Ellerman's avatar
    powerpc/64s: Don't let DT CPU features set FSCR_DSCR · 0d1d7b9f
    Michael Ellerman authored
    commit 993e3d96 upstream.
    
    The device tree CPU features binding includes FSCR bit numbers which
    Linux is instructed to set by firmware.
    
    Whether that's a good idea or not, in the case of the DSCR the Linux
    implementation has a hard requirement that the FSCR_DSCR bit not be
    set by default. We use it to track when a process reads/writes to
    DSCR, so it must be clear to begin with.
    
    So if firmware tells us to set FSCR_DSCR we must ignore it.
    
    Currently this does not cause a bug in our DSCR handling because the
    value of FSCR that the device tree CPU features code establishes is
    only used by swapper. All other tasks use the value hard coded in
    init_task.thread.fscr.
    
    However we'd like to fix that in a future commit, at which point this
    will become necessary.
    
    Fixes: 5a61ef74 ("powerpc/64s: Support new device tree binding for discovering CPU features")
    Cc: stable@vger.kernel.org # v4.12+
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20200527145843.2761782-2-mpe@ellerman.id.auSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    0d1d7b9f
dt_cpu_ftrs.c 26 KB