On Fri, Nov 13, 2020 at 05:09:54PM +0100, Vasily Gorbik wrote: > Running instruction decoder posttest on s390 with allyesconfig shows > errors. Instructions used in 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 few places instruction field bytes are set directly > with further usage of "value". To address that introduce and use > insn_set_byte() helper, which correctly updates "value" on big endian > systems. > > Signed-off-by: Vasily Gorbik <[email protected]> > --- > Please let me know if this patch is good as it is or I should squash it > into the patch 2 of my patch series and resend it again.
It all looks good to me, thanks! Masami, does this patch look good, and also patches 1-2 of the series? (I think you previously ACKed patch 2). -- Josh

