arm64: introduce interfaces to hotpatch kernel and module code
authorJiang Liu <liuj97@gmail.com>
Tue, 7 Jan 2014 14:17:09 +0000 (22:17 +0800)
committerMark Brown <broonie@linaro.org>
Tue, 20 May 2014 11:59:18 +0000 (12:59 +0100)
commit9f6c84430ab91a90bb4265eec43e0b235e2c6cf5
tree5bfd85642f3a88e7346d2157150d96675999f9e6
parentf8dadc9b5ed06f83a78693c6c3505226f308f0d0
arm64: introduce interfaces to hotpatch kernel and module code

Introduce three interfaces to patch kernel and module code:
aarch64_insn_patch_text_nosync():
patch code without synchronization, it's caller's responsibility
to synchronize all CPUs if needed.
aarch64_insn_patch_text_sync():
patch code and always synchronize with stop_machine()
aarch64_insn_patch_text():
patch code and synchronize with stop_machine() if needed

Reviewed-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Jiang Liu <liuj97@gmail.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit ae16480785de1da84f21d1698f304a52f9790c49)
Signed-off-by: Mark Brown <broonie@linaro.org>
arch/arm64/include/asm/insn.h
arch/arm64/kernel/insn.c