powerpc: Use a function for byte swapping instructions

Use a function for byte swapping instructions in preparation of a more
complicated instruction type.

Signed-off-by: Jordan Niethe <jniethe5@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Reviewed-by: Balamuruhan S <bala24@linux.ibm.com>
Link: https://lore.kernel.org/r/20200506034050.24806-10-jniethe5@gmail.com
This commit is contained in:
Jordan Niethe 2020-05-06 13:40:29 +10:00 committed by Michael Ellerman
parent 8094892d1a
commit aabd2233b6
2 changed files with 6 additions and 1 deletions

View File

@ -18,4 +18,9 @@ static inline int ppc_inst_primary_opcode(u32 x)
return ppc_inst_val(x) >> 26;
}
static inline u32 ppc_inst_swab(u32 x)
{
return ppc_inst(swab32(ppc_inst_val(x)));
}
#endif /* _ASM_POWERPC_INST_H */

View File

@ -310,7 +310,7 @@ int fix_alignment(struct pt_regs *regs)
/* We don't handle PPC little-endian any more... */
if (cpu_has_feature(CPU_FTR_PPC_LE))
return -EIO;
instr = swab32(instr);
instr = ppc_inst_swab(instr);
}
#ifdef CONFIG_SPE