Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MIPS: mm: Only build one microassembler that is suitable

The microMIPS microassembler is only suitable for configurations where
the kernel itself is built to microMIPS machine code and not where only
user microMIPS software is supported. The former is controlled with the
CPU_MICROMIPS configuration setting, whereas SYS_SUPPORTS_MICROMIPS is
used for the latter.

Not only that, but with a given microMIPS vs standard MIPS kernel
configuration only one microassembler is needed, that matches the ISA
selected -- CP0.Config3.ISAOnExc is mandatory on microMIPS processors,
so there is never a need to mix microMIPS and standard MIPS code.

Consequently build only the microassembler that matches the ISA selected
for the kernel.

Signed-off-by: Maciej W. Rozycki <macro@codesourcery.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/8479/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

authored by

Maciej W. Rozycki and committed by
Ralf Baechle
c441d4a5 424ebcdf

+7 -3
+7 -3
arch/mips/mm/Makefile
··· 4 4 5 5 obj-y += cache.o dma-default.o extable.o fault.o \ 6 6 gup.o init.o mmap.o page.o page-funcs.o \ 7 - tlbex.o tlbex-fault.o tlb-funcs.o uasm-mips.o 7 + tlbex.o tlbex-fault.o tlb-funcs.o 8 + 9 + ifdef CONFIG_CPU_MICROMIPS 10 + obj-y += uasm-micromips.o 11 + else 12 + obj-y += uasm-mips.o 13 + endif 8 14 9 15 obj-$(CONFIG_32BIT) += ioremap.o pgtable-32.o 10 16 obj-$(CONFIG_64BIT) += pgtable-64.o ··· 28 22 obj-$(CONFIG_R5000_CPU_SCACHE) += sc-r5k.o 29 23 obj-$(CONFIG_RM7000_CPU_SCACHE) += sc-rm7k.o 30 24 obj-$(CONFIG_MIPS_CPU_SCACHE) += sc-mips.o 31 - 32 - obj-$(CONFIG_SYS_SUPPORTS_MICROMIPS) += uasm-micromips.o