selftests/powerpc: Fix prefixes in alignment_handler signal handler
authorJordan Niethe <jniethe5@gmail.com>
Mon, 24 Aug 2020 13:12:31 +0000 (23:12 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 8 Sep 2020 12:24:20 +0000 (22:24 +1000)
commitdb96221a683342fd4775fd820a4d5376cd2f2ed0
tree2afbe3aa92609a21bcdd210914e8dc2d79d1ddb2
parent364b236a0b6e86439b9025d961da8602db23d5bf
selftests/powerpc: Fix prefixes in alignment_handler signal handler

The signal handler in the alignment handler self test has the ability
to jump over the instruction that triggered the signal. It does this
by incrementing the PT_NIP in the user context by 4. If it were a
prefixed instruction this will mean that the suffix is then executed
which is incorrect. Instead check if the major opcode indicates a
prefixed instruction (e.g. it is 1) and if so increment PT_NIP by 8.

If ISA v3.1 is not available treat it as a word instruction even if
the major opcode is 1.

Fixes: 620a6473df36 ("selftests/powerpc: Add prefixed loads/stores to alignment_handler test")
Signed-off-by: Jordan Niethe <jniethe5@gmail.com>
[mpe: Fix 32-bit build, rename haveprefixes to prefixes_enabled]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200824131231.14008-1-jniethe5@gmail.com
tools/testing/selftests/powerpc/alignment/alignment_handler.c