kernel_optimize_test/arch/mips/tools
Paul Burton e4acfbc18f
MIPS: Check Loongson3 LL/SC errata workaround correctness
When Loongson3 LL/SC errata workarounds are enabled (ie.
CONFIG_CPU_LOONGSON3_WORKAROUNDS=y) run a tool to scan through the
compiled kernel & ensure that the workaround is applied correctly. That
is, ensure that:

  - Every LL or LLD instruction is preceded by a sync instruction.

  - Any branches from within an LL/SC loop to outside of that loop
    target a sync instruction.

Reasoning for these conditions can be found by reading the comment above
the definition of __SYNC_loongson3_war in arch/mips/include/asm/sync.h.

This tool will help ensure that we don't inadvertently introduce code
paths that miss the required workarounds.

Signed-off-by: Paul Burton <paul.burton@mips.com>
Cc: linux-mips@vger.kernel.org
Cc: Huacai Chen <chenhc@lemote.com>
Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
Cc: linux-kernel@vger.kernel.org
2019-10-07 09:43:13 -07:00
..
.gitignore MIPS: Check Loongson3 LL/SC errata workaround correctness 2019-10-07 09:43:13 -07:00
elf-entry.c MIPS: Use a custom elf-entry program to find kernel entry point 2018-08-30 09:39:22 -07:00
generic-board-config.sh treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
loongson3-llsc-check.c MIPS: Check Loongson3 LL/SC errata workaround correctness 2019-10-07 09:43:13 -07:00
Makefile MIPS: Check Loongson3 LL/SC errata workaround correctness 2019-10-07 09:43:13 -07:00