diff options
author | Ard Biesheuvel <ardb@kernel.org> | 2020-09-21 00:10:16 +0200 |
---|---|---|
committer | Ard Biesheuvel <ardb@kernel.org> | 2020-10-28 16:59:43 +0100 |
commit | 4e79f0211b473f8e1eab8211a9fd50cc41a3a061 (patch) | |
tree | 540a0bd0860d231beb7f2f379763b2791e631741 /arch/arm/include/asm/assembler.h | |
parent | 3650b228f83adda7e5ee532e2b90429c03f7b9ec (diff) |
ARM: p2v: fix handling of LPAE translation in BE mode
When running in BE mode on LPAE hardware with a PA-to-VA translation
that exceeds 4 GB, we patch bits 39:32 of the offset into the wrong
byte of the opcode. So fix that, by rotating the offset in r0 to the
right by 8 bits, which will put the 8-bit immediate in bits 31:24.
Note that this will also move bit #22 in its correct place when
applying the rotation to the constant #0x400000.
Fixes: d9a790df8e984 ("ARM: 7883/1: fix mov to mvn conversion in case of 64 bit phys_addr_t and BE")
Acked-by: Nicolas Pitre <nico@fluxnic.net>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Diffstat (limited to 'arch/arm/include/asm/assembler.h')
0 files changed, 0 insertions, 0 deletions