diff options
author | Tony Ambardar <itugrok@yahoo.com> | 2020-08-13 22:11:22 -0700 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2020-10-11 16:16:24 +0200 |
commit | 1b27591ddbdd2d359ea6771fa878c8562be98fc5 (patch) | |
tree | 34f1d1349920134e3a347610352dd7a30b11999c /target | |
parent | 9f9243887e4aca106f9c9ad09632734662728f92 (diff) | |
download | upstream-1b27591ddbdd2d359ea6771fa878c8562be98fc5.tar.gz upstream-1b27591ddbdd2d359ea6771fa878c8562be98fc5.tar.bz2 upstream-1b27591ddbdd2d359ea6771fa878c8562be98fc5.zip |
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 <itugrok@yahoo.com>
[Refresh config and fix README]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'target')
-rw-r--r-- | target/linux/malta/README | 4 | ||||
-rw-r--r-- | target/linux/malta/be64/config-default | 11 | ||||
-rw-r--r-- | target/linux/malta/be64/target.mk | 2 | ||||
-rw-r--r-- | target/linux/malta/le64/config-default | 11 | ||||
-rw-r--r-- | target/linux/malta/le64/target.mk | 2 |
5 files changed, 24 insertions, 6 deletions
diff --git a/target/linux/malta/README b/target/linux/malta/README index 0bb1a1e35a..bbe806de3d 100644 --- a/target/linux/malta/README +++ b/target/linux/malta/README @@ -11,9 +11,9 @@ For the 32 bit big-endian image: qemu-system-mips -kernel bin/targets/malta/be/openwrt-malta-be-vmlinux-initramfs.elf -nographic -m 256 For the 64 bit little-endian image: -qemu-system-mips64el -kernel bin/targets/malta/le64/openwrt-malta-le64-vmlinux-initramfs.elf -nographic -m 256 +qemu-system-mips64el -kernel bin/targets/malta/le64/openwrt-malta-le64-vmlinux-initramfs.elf -cpu MIPS64R2-generic -nographic -m 256 For the 64 bit big-endian image: -qemu-system-mips64 -kernel bin/targets/malta/be64/openwrt-malta-be64-vmlinux-initramfs.elf -nographic -m 256 +qemu-system-mips64 -kernel bin/targets/malta/be64/openwrt-malta-be64-vmlinux-initramfs.elf -cpu MIPS64R2-generic -nographic -m 256 and enjoy the system bootin. diff --git a/target/linux/malta/be64/config-default b/target/linux/malta/be64/config-default index e7352e68ee..fee1bc8c9d 100644 --- a/target/linux/malta/be64/config-default +++ b/target/linux/malta/be64/config-default @@ -6,18 +6,27 @@ CONFIG_ARCH_MMAP_RND_BITS_MAX=18 CONFIG_ARCH_MMAP_RND_BITS_MIN=12 CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_CPU_BIG_ENDIAN=y +CONFIG_CPU_HAS_RIXI=y # CONFIG_CPU_LITTLE_ENDIAN is not set CONFIG_CPU_MIPS64=y -CONFIG_CPU_MIPS64_R1=y +CONFIG_CPU_MIPS64_R2=y +CONFIG_CPU_MIPSR2=y CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y CONFIG_CPU_SUPPORTS_HUGEPAGES=y +CONFIG_CPU_SUPPORTS_MSA=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y +CONFIG_HAVE_EBPF_JIT=y +CONFIG_HAVE_KVM=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y # CONFIG_MIPS32_N32 is not set # CONFIG_MIPS32_O32 is not set +CONFIG_MIPS_EBPF_JIT=y +CONFIG_MIPS_PGD_C0_CONTEXT=y +CONFIG_MIPS_SPRAM=y # CONFIG_MIPS_VA_BITS_48 is not set CONFIG_MODULES_USE_ELF_RELA=y CONFIG_PGTABLE_LEVELS=3 CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_TARGET_ISA_REV=2 CONFIG_ZONE_DMA32=y diff --git a/target/linux/malta/be64/target.mk b/target/linux/malta/be64/target.mk index 3a5bb6a6dc..e992c2c698 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 23e838aaba..531d93d58e 100644 --- a/target/linux/malta/le64/config-default +++ b/target/linux/malta/le64/config-default @@ -5,18 +5,27 @@ CONFIG_ARCH_MMAP_RND_BITS=12 CONFIG_ARCH_MMAP_RND_BITS_MAX=18 CONFIG_ARCH_MMAP_RND_BITS_MIN=12 CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CPU_HAS_RIXI=y CONFIG_CPU_LITTLE_ENDIAN=y CONFIG_CPU_MIPS64=y -CONFIG_CPU_MIPS64_R1=y +CONFIG_CPU_MIPS64_R2=y +CONFIG_CPU_MIPSR2=y CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y CONFIG_CPU_SUPPORTS_HUGEPAGES=y +CONFIG_CPU_SUPPORTS_MSA=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y +CONFIG_HAVE_EBPF_JIT=y +CONFIG_HAVE_KVM=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y # CONFIG_MIPS32_N32 is not set # CONFIG_MIPS32_O32 is not set +CONFIG_MIPS_EBPF_JIT=y +CONFIG_MIPS_PGD_C0_CONTEXT=y +CONFIG_MIPS_SPRAM=y # CONFIG_MIPS_VA_BITS_48 is not set CONFIG_MODULES_USE_ELF_RELA=y CONFIG_PGTABLE_LEVELS=3 CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_TARGET_ISA_REV=2 CONFIG_ZONE_DMA32=y diff --git a/target/linux/malta/le64/target.mk b/target/linux/malta/le64/target.mk index a0a55af5f7..59dcc86bef 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) |