diff options
author | Xu Kuohai <xukuohai@huawei.com> | 2022-07-11 18:08:21 +0300 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2022-07-11 22:04:58 +0300 |
commit | f1e8a24ed2cab1c907bb47ca5f8dee684896456e (patch) | |
tree | a9101a069b2289e3be70aa8ff8e2f673626e881e /arch/arm64/net | |
parent | 535a57a7ffc04932ad83c1a5649b09ba6c93ce83 (diff) | |
download | linux-f1e8a24ed2cab1c907bb47ca5f8dee684896456e.tar.xz |
arm64: Add LDR (literal) instruction
Add LDR (literal) instruction to load data from address relative to PC.
This instruction will be used to implement long jump from bpf prog to
bpf trampoline in the follow-up patch.
The instruction encoding:
3 2 2 2 0 0
0 7 6 4 5 0
+-----+-------+---+-----+-------------------------------------+--------+
| 0 x | 0 1 1 | 0 | 0 0 | imm19 | Rt |
+-----+-------+---+-----+-------------------------------------+--------+
for 32-bit, variant x == 0; for 64-bit, x == 1.
branch_imm_common() is used to check the distance between pc and target
address, since it's reused by this patch and LDR (literal) is not a branch
instruction, rename it to label_imm_common().
Signed-off-by: Xu Kuohai <xukuohai@huawei.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/bpf/20220711150823.2128542-3-xukuohai@huawei.com
Diffstat (limited to 'arch/arm64/net')
0 files changed, 0 insertions, 0 deletions