From: "Steven J. Hill" <sjhill@xxxxxxxx> This set of patches is to support building a pure microMIPS kernel image using only instruction from the microMIPS ISA. The result is a kernel binary reduction of more than 20% and an increase in the speed of execution due to the smaller and faster instructions. Steven J. Hill (9): MIPS: Add microMIPS configuration option. MIPS: Optimise core library functions for microMIPS. MIPS: Add support for the M14KE core. MIPS: Add microMIPS versions of breakpoints, BUG, etc. MIPS: Add support for microMIPS instructions. MIPS: Add support for microMIPS exception handling. MIPS: Support microMIPS/MIPS16e handling of delay slots. MIPS: Support microMIPS/MIPS16e unaligned accesses. MIPS: Support microMIPS/MIPS16e floating point. arch/mips/Kconfig | 10 + arch/mips/Makefile | 1 + arch/mips/configs/sead3micro_defconfig | 1757 ++++++++++++++++++++++++++++++++ arch/mips/include/asm/branch.h | 33 +- arch/mips/include/asm/break.h | 8 + arch/mips/include/asm/bug.h | 8 + arch/mips/include/asm/cpu-features.h | 3 + arch/mips/include/asm/cpu.h | 4 +- arch/mips/include/asm/dsp.h | 6 +- arch/mips/include/asm/fpu_emulator.h | 7 + arch/mips/include/asm/futex.h | 4 + arch/mips/include/asm/inst.h | 882 +++++++++++++++- arch/mips/include/asm/mipsregs.h | 359 +++---- arch/mips/include/asm/paccess.h | 2 + arch/mips/include/asm/page.h | 6 + arch/mips/include/asm/stackframe.h | 12 +- arch/mips/include/asm/uaccess.h | 14 +- arch/mips/kernel/branch.c | 183 +++- arch/mips/kernel/cpu-probe.c | 10 + arch/mips/kernel/genex.S | 82 +- arch/mips/kernel/proc.c | 27 +- arch/mips/kernel/process.c | 101 ++ arch/mips/kernel/ptrace.c | 4 + arch/mips/kernel/scall32-o32.S | 22 +- arch/mips/kernel/smtc-asm.S | 3 + arch/mips/kernel/traps.c | 377 ++++--- arch/mips/kernel/unaligned.c | 1496 +++++++++++++++++++++++---- arch/mips/lib/memcpy.S | 17 +- arch/mips/lib/memset.S | 90 +- arch/mips/lib/strlen_user.S | 13 +- arch/mips/lib/strncpy_user.S | 39 +- arch/mips/lib/strnlen_user.S | 24 +- arch/mips/math-emu/cp1emu.c | 766 ++++++++++++-- arch/mips/math-emu/dsemul.c | 40 +- arch/mips/mm/c-r4k.c | 1 + arch/mips/mm/fault.c | 2 + arch/mips/mm/page.c | 26 +- arch/mips/mm/tlbex.c | 23 + arch/mips/mm/uasm.c | 174 +++- arch/mips/mti-sead3/sead3-init.c | 57 +- arch/mips/oprofile/common.c | 1 + arch/mips/oprofile/op_model_mipsxx.c | 4 + 42 files changed, 5877 insertions(+), 821 deletions(-) create mode 100644 arch/mips/configs/sead3micro_defconfig -- 1.7.9.6