• M
    MIPS: c-r4k.c: Fix the 74K D-cache alias erratum workaround · e2e7f29a
    Maciej W. Rozycki 提交于
    Fix the 74K D-cache alias erratum workaround so that it actually works.
    Our current code sets MIPS_CACHE_VTAG for the D-cache, but that flag
    only has any effect for the I-cache.  Additionally MIPS_CACHE_PINDEX is
    set for the D-cache if CP0.Config7.AR is also set for an affected
    processor, leading to confusing information in the bootstrap log (the
    flag isn't used beyond that).
    
    So delete the setting of MIPS_CACHE_VTAG and rely on MIPS_CACHE_ALIASES,
    set in a common place, removing I-cache coherency issues seen in GDB
    testing with software breakpoints, gdbserver and ptrace(2), on affected
    systems.
    
    While at it add a little piece of explanation of what CP0.Config6.SYND
    is so that people do not have to chase documentation.
    Signed-off-by: NMaciej W. Rozycki <macro@codesourcery.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/8507/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
    e2e7f29a
c-r4k.c 45.4 KB