From 93608697f3a72568bc4ba6c96b16c8a1b64cc8de Mon Sep 17 00:00:00 2001 From: Tony Ambardar Date: Thu, 13 Aug 2020 22:11:22 -0700 Subject: [PATCH] malta: update MIPS64 ISA to R2 Usage of current R1 ISA is inconsistent with the MIPS32 subtarget, little used and has limited utility for testing. Many distros target a minimum R2 ISA. Debian MIPS 32-bit/64-bit ports all use MIPS R2 ISA since Stretch, for example. Fedora's MIPS arch also targets the R2 ISA for 32-bit/64-bit. Widely used MIPS64 platforms like Octeon are based on the MIPS R2 ISA or later, and benefit from having a compatible test platform in OpenWRT. While Linux does support MIPS64 R1 targets, its usefulness for development and testing is limited. As an example, the modern Linux eBPF JIT requires a MIPS R2 ISA or later. Signed-off-by: Tony Ambardar --- include/target.mk | 1 + target/linux/malta/be64/config-default | 2 +- target/linux/malta/be64/target.mk | 2 +- target/linux/malta/le64/config-default | 2 +- target/linux/malta/le64/target.mk | 2 +- 5 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/target.mk b/include/target.mk index 03550c6ca64..b77dffd79f9 100644 --- a/include/target.mk +++ b/include/target.mk @@ -198,6 +198,7 @@ ifeq ($(DUMP),1) CPU_CFLAGS += -mno-branch-likely CPU_CFLAGS_mips32 = -mips32 -mtune=mips32 CPU_CFLAGS_mips64 = -mips64 -mtune=mips64 -mabi=64 + CPU_CFLAGS_mips64r2 = -mips64r2 -mtune=mips64r2 -mabi=64 CPU_CFLAGS_24kc = -mips32r2 -mtune=24kc CPU_CFLAGS_74kc = -mips32r2 -mtune=74kc CPU_CFLAGS_octeonplus = -march=octeon+ -mabi=64 diff --git a/target/linux/malta/be64/config-default b/target/linux/malta/be64/config-default index e7352e68ee6..7f0b6953946 100644 --- a/target/linux/malta/be64/config-default +++ b/target/linux/malta/be64/config-default @@ -8,7 +8,7 @@ CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_CPU_BIG_ENDIAN=y # CONFIG_CPU_LITTLE_ENDIAN is not set CONFIG_CPU_MIPS64=y -CONFIG_CPU_MIPS64_R1=y +CONFIG_CPU_MIPS64_R2=y CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y CONFIG_CPU_SUPPORTS_HUGEPAGES=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y diff --git a/target/linux/malta/be64/target.mk b/target/linux/malta/be64/target.mk index 3a5bb6a6dc4..e992c2c6986 100644 --- a/target/linux/malta/be64/target.mk +++ b/target/linux/malta/be64/target.mk @@ -1,5 +1,5 @@ ARCH:=mips64 -CPU_TYPE:=mips64 +CPU_TYPE:=mips64r2 SUBTARGET:=be64 FEATURES+=source-only BOARDNAME:=Big Endian (64-bits) diff --git a/target/linux/malta/le64/config-default b/target/linux/malta/le64/config-default index 23e838aaba4..c79a2318cc5 100644 --- a/target/linux/malta/le64/config-default +++ b/target/linux/malta/le64/config-default @@ -7,7 +7,7 @@ CONFIG_ARCH_MMAP_RND_BITS_MIN=12 CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_CPU_LITTLE_ENDIAN=y CONFIG_CPU_MIPS64=y -CONFIG_CPU_MIPS64_R1=y +CONFIG_CPU_MIPS64_R2=y CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y CONFIG_CPU_SUPPORTS_HUGEPAGES=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y diff --git a/target/linux/malta/le64/target.mk b/target/linux/malta/le64/target.mk index a0a55af5f77..59dcc86befe 100644 --- a/target/linux/malta/le64/target.mk +++ b/target/linux/malta/le64/target.mk @@ -1,5 +1,5 @@ ARCH:=mips64el -CPU_TYPE:=mips64 +CPU_TYPE:=mips64r2 SUBTARGET:=le64 FEATURES+=source-only BOARDNAME:=Little Endian (64-bits) -- 2.47.2