Whoops, forgot to Cc linux-mips on the cover letter! Sorry about that! On Fri, May 20, 2016 at 11:28:36PM +0100, James Hogan wrote: > These patches add & fix some explicit instruction encodings in assembly > code to take microMIPS into account. Comments most welcome. > > Patches 1 and 2 are needed for v4.7 to add microMIPS encodings to > recently added VZ instruction wrappers, otherwise a microMIPS kernel > built with an old toolchain will fail to boot on M5150 which has both > microMIPS and VZ. > > The other patches are lower priority, and can wait until v4.8. > > Patch 1 adds an abstraction for encoding MIPS and microMIPS instructions > explicitly in inline assembly, and is used by all the other patches. > > As mentioned, patch 2 adds microMIPS encodings of VZ instructions to fix > a regression on M5150. > > Patch 3 fixes microMIPS encodings of MSA instructions (especially for > little endian). I'm not aware of any cores supporting both, but it was > plain wrong before so lets fix it. > > Patch 4 adds microMIPS encodings for the tlbinvf, mfhc0 & mthc0 (XPA) > wrappers. Again I'm not aware of any microMIPS cores which support > either tlbinv or XPA, but the encodings exist, so lets use them. > > Finally Patch 5 simplifies the existing DSP wrappers which already > handle microMIPS (although with a couple of missing .insn directives), > to use the macros introduced in patch 1. Asside from the .insn change > (which fixes some disassembly output), this change is a no-op. > > James Hogan (5): > MIPS: Add inline asm encoding helpers > MIPS: Add missing VZ accessor microMIPS encodings > MIPS: Fix little endian microMIPS MSA encodings > MIPS: Add missing tlbinvf/XPA microMIPS encodings > MIPS: Simplify DSP instruction encoding macros > > arch/mips/include/asm/asmmacro.h | 99 +++++++++++----------- > arch/mips/include/asm/mipsregs.h | 179 ++++++++++++++++----------------------- > arch/mips/include/asm/msa.h | 21 ++--- > 3 files changed, 130 insertions(+), 169 deletions(-) > > -- > 2.4.10 >
Attachment:
signature.asc
Description: Digital signature