Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 377cb1b6 authored by Ralf Baechle's avatar Ralf Baechle
Browse files

MIPS: Disable MIPS16/microMIPS crap for platforms not supporting these ASEs.

parent e0cc3a42
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ config AR7
	select SYS_HAS_EARLY_PRINTK
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_SUPPORTS_MIPS16
	select SYS_SUPPORTS_ZBOOT_UART16550
	select ARCH_REQUIRE_GPIOLIB
	select VLYNQ
@@ -106,6 +107,7 @@ config ATH79
	select SYS_HAS_EARLY_PRINTK
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_MIPS16
	help
	  Support for the Atheros AR71XX/AR724X/AR913X SoCs.

@@ -122,6 +124,7 @@ config BCM47XX
	select NO_EXCEPT_FILL
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_SUPPORTS_MIPS16
	select SYS_HAS_EARLY_PRINTK
	select USE_GENERIC_EARLY_PRINTK_8250
	help
@@ -248,6 +251,7 @@ config LANTIQ
	select SYS_HAS_CPU_MIPS32_R2
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_MIPS16
	select SYS_SUPPORTS_MULTITHREADING
	select SYS_HAS_EARLY_PRINTK
	select ARCH_REQUIRE_GPIOLIB
@@ -330,6 +334,7 @@ config MIPS_MALTA
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_SUPPORTS_MIPS_CMP
	select SYS_SUPPORTS_MIPS_CPS
	select SYS_SUPPORTS_MIPS16
	select SYS_SUPPORTS_MULTITHREADING
	select SYS_SUPPORTS_SMARTMIPS
	select SYS_SUPPORTS_ZBOOT
@@ -361,6 +366,7 @@ config MIPS_SEAD3
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_SUPPORTS_SMARTMIPS
	select SYS_SUPPORTS_MICROMIPS
	select SYS_SUPPORTS_MIPS16
	select USB_EHCI_BIG_ENDIAN_DESC
	select USB_EHCI_BIG_ENDIAN_MMIO
	select USE_OF
@@ -380,6 +386,7 @@ config MACH_VR41XX
	select CEVT_R4K
	select CSRC_R4K
	select SYS_HAS_CPU_VR41XX
	select SYS_SUPPORTS_MIPS16
	select ARCH_REQUIRE_GPIOLIB

config NXP_STB220
@@ -407,6 +414,7 @@ config PMC_MSP
	select SYS_HAS_CPU_MIPS32_R2
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_MIPS16
	select IRQ_CPU
	select SERIAL_8250
	select SERIAL_8250_CONSOLE
@@ -430,6 +438,7 @@ config RALINK
	select SYS_HAS_CPU_MIPS32_R2
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_SUPPORTS_MIPS16
	select SYS_HAS_EARLY_PRINTK
	select HAVE_MACH_CLKDEV
	select CLKDEV_LOOKUP
@@ -1059,6 +1068,7 @@ config SOC_PNX833X
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_MIPS16
	select CPU_MIPSR2_IRQ_VI

config SOC_PNX8335
@@ -2199,6 +2209,13 @@ config SYS_SUPPORTS_SMARTMIPS
config SYS_SUPPORTS_MICROMIPS
	bool

config SYS_SUPPORTS_MIPS16
	bool
	help
	  This option must be set if a kernel might be executed on a MIPS16-
	  enabled CPU even if MIPS16 is not actually being used.  In other
	  words, it makes the kernel MIPS16-tolerant.

config CPU_SUPPORTS_MSA
	bool

+8 −1
Original line number Diff line number Diff line
@@ -709,11 +709,18 @@
#ifndef __ASSEMBLY__

/*
 * Macros for handling the ISA mode bit for microMIPS.
 * Macros for handling the ISA mode bit for MIPS16 and microMIPS.
 */
#if defined(CONFIG_SYS_SUPPORTS_MIPS16) || \
    defined(CONFIG_SYS_SUPPORTS_MICROMIPS)
#define get_isa16_mode(x)		((x) & 0x1)
#define msk_isa16_mode(x)		((x) & ~0x1)
#define set_isa16_mode(x)		do { (x) |= 0x1; } while(0)
#else
#define get_isa16_mode(x)		0
#define msk_isa16_mode(x)		(x)
#define set_isa16_mode(x)		do { } while(0)
#endif

/*
 * microMIPS instructions can be 16-bit or 32-bit in length. This
+1 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ config LOONGSON1_LS1B
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_SUPPORTS_HIGHMEM
	select SYS_SUPPORTS_MIPS16
	select SYS_HAS_EARLY_PRINTK
	select COMMON_CLK