ARM: 8775/1: NOMMU: Use instr_sync instead of plain isb in common code
authorVladimir Murzin <vladimir.murzin@arm.com>
Mon, 18 Jun 2018 13:33:03 +0000 (14:33 +0100)
committerRussell King <rmk+kernel@armlinux.org.uk>
Wed, 11 Jul 2018 10:00:41 +0000 (11:00 +0100)
commitcea394772d3c41d04cb71a032f6ed878392bd134
treea8bb7c1b34428872ff1806ba96d4f63b8d1aa19e
parentce397d215ccd07b8ae3f71db689aedb85d56ab40
ARM: 8775/1: NOMMU: Use instr_sync instead of plain isb in common code

Greg reported that commit 3c24121039c9d ("ARM: 8756/1: NOMMU: Postpone
MPU activation till __after_proc_init") is causing breakage for the
old Versatile platform in no-MMU mode (with out-of-tree patches):

  AS      arch/arm/kernel/head-nommu.o
arch/arm/kernel/head-nommu.S: Assembler messages:
arch/arm/kernel/head-nommu.S:180: Error: selected processor does not support `isb' in ARM mode
scripts/Makefile.build:417: recipe for target 'arch/arm/kernel/head-nommu.o' failed
make[2]: *** [arch/arm/kernel/head-nommu.o] Error 1
Makefile:1034: recipe for target 'arch/arm/kernel' failed
make[1]: *** [arch/arm/kernel] Error 2

Since the code is common for all NOMMU builds usage of the isb was a
bad idea (please, note that isb also used in MPU related code which is
fine because MPU has dependency on CPU_V7/CPU_V7M), instead use more
robust instr_sync assembler macro.

Fixes: 3c24121039c9 ("ARM: 8756/1: NOMMU: Postpone MPU activation till __after_proc_init")
Reported-by: Greg Ungerer <gerg@kernel.org>
Tested-by: Greg Ungerer <gerg@kernel.org>
Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
arch/arm/kernel/head-nommu.S