powerpc: Add prefixed instructions to instruction data type
authorJordan Niethe <jniethe5@gmail.com>
Fri, 15 May 2020 02:12:55 +0000 (12:12 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 18 May 2020 14:10:39 +0000 (00:10 +1000)
commit650b55b707fdfa764e9f2b81314d3eb4216fb962
tree33027daca271c94467f02d17945afc0517929171
parent7a8818e0df5c6b53c89c7c928498668a2bbb3de0
powerpc: Add prefixed instructions to instruction data type

For powerpc64, redefine the ppc_inst type so both word and prefixed
instructions can be represented. On powerpc32 the type will remain the
same. Update places which had assumed instructions to be 4 bytes long.

Signed-off-by: Jordan Niethe <jniethe5@gmail.com>
Reviewed-by: Alistair Popple <alistair@popple.id.au>
[mpe: Rework the get_user_inst() macros to be parameterised, and don't
      assign to the dest if an error occurred. Use CONFIG_PPC64 not
      __powerpc64__ in a few places. Address other comments from
      Christophe. Fix some sparse complaints.]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200506034050.24806-24-jniethe5@gmail.com
14 files changed:
arch/powerpc/include/asm/inst.h
arch/powerpc/include/asm/kprobes.h
arch/powerpc/include/asm/ppc-opcode.h
arch/powerpc/include/asm/uaccess.h
arch/powerpc/include/asm/uprobes.h
arch/powerpc/kernel/crash_dump.c
arch/powerpc/kernel/optprobes.c
arch/powerpc/kernel/optprobes_head.S
arch/powerpc/lib/code-patching.c
arch/powerpc/lib/feature-fixups.c
arch/powerpc/lib/inst.c
arch/powerpc/lib/sstep.c
arch/powerpc/xmon/xmon.c
arch/powerpc/xmon/xmon_bpts.S