From: "Steven J. Hill" <sjhill@xxxxxxxx> This set of patches is to support building a pure microMIPS kernel image using only instructions from the microMIPS ISA. The result is a kernel binary size reduction of more than 20% and an increase in the speed of execution due to the smaller and faster instructions. Douglas Leung (1): MIPS: microMIPS: Add vdso support. Steven J. Hill (12): MIPS: microMIPS: Add support for microMIPS instructions. MIPS: Whitespace clean-ups after microMIPS additions. MIPS: microMIPS: Floating point support for 16-bit instructions. MIPS: microMIPS: Add support for exception handling. MIPS: microMIPS: Support handling of delay slots. MIPS: microMIPS: Add unaligned access support. MIPS: microMIPS: Add configuration option for microMIPS kernel. MIPS: microMIPS: Work-around for assembler bug. MIPS: microMIPS: Optimise 'memset' core library function. MIPS: microMIPS: Optimise 'strncpy' core library function. MIPS: microMIPS: Optimise 'strlen' core library function. MIPS: microMIPS: Optimise 'strnlen' core library function. arch/mips/Kconfig | 11 + arch/mips/Makefile | 1 + arch/mips/configs/sead3micro_defconfig | 125 +++ arch/mips/include/asm/asm.h | 2 + arch/mips/include/asm/branch.h | 33 +- arch/mips/include/asm/fpu_emulator.h | 7 + arch/mips/include/asm/inst.h | 858 +++++++++++++++++- arch/mips/include/asm/mipsregs.h | 41 +- 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 | 3 + arch/mips/kernel/genex.S | 74 +- arch/mips/kernel/proc.c | 5 + arch/mips/kernel/process.c | 101 +++ arch/mips/kernel/scall32-o32.S | 9 + arch/mips/kernel/signal.c | 6 + arch/mips/kernel/smtc-asm.S | 3 + arch/mips/kernel/traps.c | 296 +++++-- arch/mips/kernel/unaligned.c | 1496 +++++++++++++++++++++++++++----- arch/mips/lib/memset.S | 84 +- arch/mips/lib/strlen_user.S | 9 +- arch/mips/lib/strncpy_user.S | 28 +- arch/mips/lib/strnlen_user.S | 2 +- arch/mips/math-emu/cp1emu.c | 766 ++++++++++++++-- arch/mips/math-emu/dsemul.c | 40 +- arch/mips/mm/tlbex.c | 21 + arch/mips/mm/uasm-micromips.c | 194 +++++ arch/mips/mm/uasm-mips.c | 178 ++++ arch/mips/mm/uasm.c | 211 +---- arch/mips/mti-sead3/sead3-init.c | 48 + 31 files changed, 4159 insertions(+), 702 deletions(-) create mode 100644 arch/mips/configs/sead3micro_defconfig create mode 100644 arch/mips/mm/uasm-micromips.c create mode 100644 arch/mips/mm/uasm-mips.c -- 1.7.9.5