summaryrefslogtreecommitdiffstats
path: root/arch/arm64/lib
diff options
context:
space:
mode:
authorMarc Zyngier <marc.zyngier@arm.com>2015-06-01 10:47:39 +0100
committerCatalin Marinas <catalin.marinas@arm.com>2015-06-03 15:43:24 +0100
commit10b48f7ef2a765452a583dbc256ed7da7fe7f1fc (patch)
tree698d280d1cab5c5539529b14ff8077d0409b9111 /arch/arm64/lib
parent9acdc2af0c0b836183b7f31f630bbed341a7cf4d (diff)
downloadblackbird-op-linux-10b48f7ef2a765452a583dbc256ed7da7fe7f1fc.tar.gz
blackbird-op-linux-10b48f7ef2a765452a583dbc256ed7da7fe7f1fc.zip
arm64: insn: Add aarch64_{get,set}_branch_offset
In order to deal with branches located in alternate sequences, but pointing to the main kernel text, it is required to extract the relative displacement encoded in the instruction, and to be able to update said instruction with a new offset (once it is known). For this, we introduce three new helpers: - aarch64_insn_is_branch_imm is a predicate indicating if the instruction is an immediate branch - aarch64_get_branch_offset returns a signed value representing the byte offset encoded in a branch instruction - aarch64_set_branch_offset takes an instruction and an offset, and returns the corresponding updated instruction. Acked-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/lib')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud