arm64: Optimize jump label implementation for ARM64
authorPeng Du <pdu@nvidia.com>
Tue, 1 Apr 2014 22:05:30 +0000 (15:05 -0700)
committerMitch Luban <mluban@nvidia.com>
Tue, 12 Aug 2014 18:47:36 +0000 (11:47 -0700)
commitc035fbe9185530ead171c747b1b27f5b1dbcc9e5
treea11b69260b29c22d94dd280ba40644a4d72a5bf9
parent6ca68990d90dbeec2b026957e0472c2eec117bba
arm64: Optimize jump label implementation for ARM64

This patchset tries to optimize arch specfic jump label implementation
for ARM64 by dynamic kernel text patching.

To enable this feature, your toolchain must support "asm goto" extension
and "%c" constraint extesion.

It has been tested on ARM Fast mode and a real hardware platform.

Jiang Liu (7):
  arm64: introduce basic aarch64 instruction decoding helpers
  arm64: introduce interfaces to hotpatch kernel and module code
  arm64: move encode_insn_immediate() from module.c to insn.c
  arm64: introduce aarch64_insn_gen_{nop|branch_imm}() helper functions
  arm64, jump label: detect %c support for ARM64
  arm64, jump label: optimize jump label implementation
  jump_label: use defined macros instead of hard-coding for better
    readability

Reviewed-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Jiang Liu <liuj97@gmail.com>

Change-Id: I2ccd72995852193d491b342787c8e5c1e7b4c30d
Signed-off-by: Peng Du <pdu@nvidia.com>

Conflicts:
arch/arm64/kernel/Makefile

Signed-off-by: Noah Imam <nimam@nvidia.com>
Change-Id: Ieeca17c1326fc71918d66fe56046eebd903f9bd2
Reviewed-on: http://git-master/r/451085
GVS: Gerrit_Virtual_Submit
Reviewed-by: Mark Peters <mpeters@nvidia.com>
Reviewed-by: Mitch Luban <mluban@nvidia.com>
arch/arm64/kernel/Makefile
include/linux/jump_label.h
scripts/gcc-goto.sh