armv8: Enable CPUECTLR.SMPEN for coherency
authorMingkai Hu <mingkai.hu@nxp.com>
Fri, 6 Jan 2017 09:41:10 +0000 (17:41 +0800)
committerYork Sun <york.sun@nxp.com>
Wed, 18 Jan 2017 17:27:47 +0000 (09:27 -0800)
commit3aec452e4dbd16be7bdbabfa80d1fcc840cf342c
treefda8d849bee699d9ac92321405478b3df9f579d2
parent9e0bb4c1d9560cf8af0657939d01d7da8ef0f342
armv8: Enable CPUECTLR.SMPEN for coherency

For A53, data coherency is enabled only when the CPUECTLR.SMPEN bit is
set. The SMPEN bit should be set before enabling the data cache.
If not enabled, the cache is not coherent with other cores and
data corruption could occur.

For A57/A72, SMPEN bit enables the processor to receive instruction
cache and TLB maintenance operations broadcast from other processors
in the cluster. This bit should be set before enabling the caches and
MMU, or performing any cache and TLB maintenance operations.

Signed-off-by: Mingkai Hu <mingkai.hu@nxp.com>
Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
arch/arm/cpu/armv8/Kconfig
arch/arm/cpu/armv8/start.S