linux/arch
Vasily Gorbik 5ed934e57e x86/insn: Fix vector instruction decoding on big endian cross-compiles
Running instruction decoder posttest on an s390 host with an x86 target
with allyesconfig shows errors. Instructions used in a couple of kernel
objects could not be correctly decoded on big endian system.

  insn_decoder_test: warning: objdump says 6 bytes, but insn_get_length() says 5
  insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
  insn_decoder_test: warning: ffffffff831eb4e1:    62 d1 fd 48 7f 04 24    vmovdqa64 %zmm0,(%r12)
  insn_decoder_test: warning: objdump says 7 bytes, but insn_get_length() says 6
  insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
  insn_decoder_test: warning: ffffffff831eb4e8:    62 51 fd 48 7f 44 24 01         vmovdqa64 %zmm8,0x40(%r12)
  insn_decoder_test: warning: objdump says 8 bytes, but insn_get_length() says 6

This is because in a few places instruction field bytes are set directly
with further usage of "value". To address that introduce and use a
insn_set_byte() helper, which correctly updates "value" on big endian
systems.

Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
2021-01-13 18:13:17 -06:00
..
alpha local64.h: make <asm/local64.h> mandatory 2020-12-29 15:36:49 -08:00
arc ARC: [hsdk]: Enable FPU_SAVE_RESTORE 2021-01-08 13:46:58 -08:00
arm ARM: SoC fixes for v5.11 2021-01-08 14:13:54 -08:00
arm64 x86: 2021-01-08 15:06:02 -08:00
c6x tif-task_work.arch-2020-12-14 2020-12-16 12:33:35 -08:00
csky local64.h: make <asm/local64.h> mandatory 2020-12-29 15:36:49 -08:00
h8300 local64.h: make <asm/local64.h> mandatory 2020-12-29 15:36:49 -08:00
hexagon local64.h: make <asm/local64.h> mandatory 2020-12-29 15:36:49 -08:00
ia64 local64.h: make <asm/local64.h> mandatory 2020-12-29 15:36:49 -08:00
m68k local64.h: make <asm/local64.h> mandatory 2020-12-29 15:36:49 -08:00
microblaze local64.h: make <asm/local64.h> mandatory 2020-12-29 15:36:49 -08:00
mips local64.h: make <asm/local64.h> mandatory 2020-12-29 15:36:49 -08:00
nds32 local64.h: make <asm/local64.h> mandatory 2020-12-29 15:36:49 -08:00
nios2 tif-task_work.arch-2020-12-14 2020-12-16 12:33:35 -08:00
openrisc local64.h: make <asm/local64.h> mandatory 2020-12-29 15:36:49 -08:00
parisc local64.h: make <asm/local64.h> mandatory 2020-12-29 15:36:49 -08:00
powerpc powerpc: Handle .text.{hot,unlikely}.* in linker script 2021-01-06 21:59:04 +11:00
riscv local64.h: make <asm/local64.h> mandatory 2020-12-29 15:36:49 -08:00
s390 Merge branch 'kvm-master' into kvm-next 2021-01-07 18:06:52 -05:00
sh local64.h: make <asm/local64.h> mandatory 2020-12-29 15:36:49 -08:00
sparc local64.h: make <asm/local64.h> mandatory 2020-12-29 15:36:49 -08:00
um This pull request contains the following changes for UML: 2020-12-17 17:56:44 -08:00
x86 x86/insn: Fix vector instruction decoding on big endian cross-compiles 2021-01-13 18:13:17 -06:00
xtensa local64.h: make <asm/local64.h> mandatory 2020-12-29 15:36:49 -08:00
.gitignore
Kconfig fanotify: Fix sys_fanotify_mark() on native x86-32 2020-12-28 11:58:59 +01:00