]> git.baikalelectronics.ru Git - kernel.git/commit
MIPS: CPS: Prevent multi-core with dcache aliasing
authorPaul Burton <paul.burton@imgtec.com>
Fri, 2 Jun 2017 21:48:53 +0000 (14:48 -0700)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 29 Jun 2017 00:42:28 +0000 (02:42 +0200)
commit980dd05a474313fea80793cc856cc88a12f528ba
tree1ba0f11a4d44cbcebe4431e537b52bef21e016e4
parentca28487db0c1b72c9e4c2c661cabad28a33a1075
MIPS: CPS: Prevent multi-core with dcache aliasing

Systems using the MIPS Coherence Manager (CM) cannot support multi-core
SMP with dcache aliasing. This is because CPU caches are VIPT, but
interventions in CM-based systems provide only the physical address to
remote caches. This means that interventions may behave incorrectly in
the presence of an aliasing dcache, since the physical address used
when handling an intervention may lead to operation on an aliased cache
line rather than the correct line.

Prevent us from running into this issue by refusing to boot secondary
cores in systems where dcache aliasing may occur.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/16196/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/smp-cps.c