60cf00d3f4
Support for MIPS IV was dropped in commit
dd45fe0efb
("arch/mips: remove
deprecated mips1/2/3/4 support"). However, even though it is an older
ISA than R1, it is still useful to support older MIPS-based
systems (e.g.: Cobalt Qube).
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
283 lines
7.2 KiB
Plaintext
283 lines
7.2 KiB
Plaintext
# mips default CPU ISAs
|
|
config BR2_MIPS_CPU_MIPS32
|
|
bool
|
|
select BR2_MIPS_NAN_LEGACY
|
|
config BR2_MIPS_CPU_MIPS32R2
|
|
bool
|
|
select BR2_MIPS_NAN_LEGACY
|
|
config BR2_MIPS_CPU_MIPS32R3
|
|
bool
|
|
select BR2_MIPS_NAN_LEGACY
|
|
config BR2_MIPS_CPU_MIPS32R5
|
|
bool
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
|
config BR2_MIPS_CPU_MIPS32R6
|
|
bool
|
|
select BR2_MIPS_NAN_2008
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
|
config BR2_MIPS_CPU_MIPS64
|
|
bool
|
|
select BR2_MIPS_NAN_LEGACY
|
|
config BR2_MIPS_CPU_MIPS64R2
|
|
bool
|
|
select BR2_MIPS_NAN_LEGACY
|
|
config BR2_MIPS_CPU_MIPS64R3
|
|
bool
|
|
select BR2_MIPS_NAN_LEGACY
|
|
config BR2_MIPS_CPU_MIPS64R5
|
|
bool
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
|
config BR2_MIPS_CPU_MIPS64R6
|
|
bool
|
|
select BR2_MIPS_NAN_2008
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
|
|
|
choice
|
|
prompt "Target Architecture Variant"
|
|
default BR2_mips_32 if BR2_mips || BR2_mipsel
|
|
default BR2_mips_64 if BR2_mips64 || BR2_mips64el
|
|
depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
|
|
help
|
|
Specific CPU variant to use
|
|
|
|
64bit capable: mips4, 64, 64r2, 64r3, 64r5, 64r6
|
|
non-64bit capable: mips4, 32, 32r2, 32r3, 32r5, 32r6
|
|
|
|
config BR2_mips_32
|
|
bool "Generic MIPS32"
|
|
depends on !BR2_ARCH_IS_64
|
|
select BR2_MIPS_CPU_MIPS32
|
|
config BR2_mips_32r2
|
|
bool "Generic MIPS32R2"
|
|
depends on !BR2_ARCH_IS_64
|
|
select BR2_MIPS_CPU_MIPS32R2
|
|
config BR2_mips_32r3
|
|
bool "Generic MIPS32R3"
|
|
depends on !BR2_ARCH_IS_64
|
|
select BR2_MIPS_CPU_MIPS32R3
|
|
config BR2_mips_32r5
|
|
bool "Generic MIPS32R5"
|
|
depends on !BR2_ARCH_IS_64
|
|
select BR2_MIPS_CPU_MIPS32R5
|
|
config BR2_mips_32r6
|
|
bool "Generic MIPS32R6"
|
|
depends on !BR2_ARCH_IS_64
|
|
select BR2_MIPS_CPU_MIPS32R6
|
|
config BR2_mips_interaptiv
|
|
bool "interAptiv"
|
|
depends on !BR2_ARCH_IS_64
|
|
select BR2_MIPS_CPU_MIPS32R2
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
|
config BR2_mips_m5150
|
|
bool "M5150"
|
|
depends on !BR2_ARCH_IS_64
|
|
select BR2_MIPS_CPU_MIPS32R5
|
|
select BR2_MIPS_NAN_2008
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
|
config BR2_mips_m6250
|
|
bool "M6250"
|
|
depends on !BR2_ARCH_IS_64
|
|
select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
|
|
select BR2_MIPS_CPU_MIPS32R6
|
|
config BR2_mips_p5600
|
|
bool "P5600"
|
|
depends on !BR2_ARCH_IS_64
|
|
select BR2_MIPS_CPU_MIPS32R5
|
|
select BR2_MIPS_NAN_2008
|
|
config BR2_mips_xburst
|
|
bool "XBurst"
|
|
depends on !BR2_ARCH_IS_64
|
|
select BR2_MIPS_CPU_MIPS32R2
|
|
help
|
|
The Ingenic XBurst is a MIPS32R2 microprocessor. It has a
|
|
bug in the FPU that can generate incorrect results in
|
|
certain cases. The problem shows up when you have several
|
|
fused madd instructions in sequence with dependant
|
|
operands. This requires the -mno-fused-madd compiler option
|
|
to be used in order to prevent emitting these instructions.
|
|
|
|
See http://www.ingenic.com/en/?xburst.html
|
|
config BR2_mips4
|
|
bool "MIPS IV"
|
|
config BR2_mips_64
|
|
bool "Generic MIPS64"
|
|
depends on BR2_ARCH_IS_64
|
|
select BR2_MIPS_CPU_MIPS64
|
|
config BR2_mips_64r2
|
|
bool "Generic MIPS64R2"
|
|
depends on BR2_ARCH_IS_64
|
|
select BR2_MIPS_CPU_MIPS64R2
|
|
config BR2_mips_64r3
|
|
bool "Generic MIPS64R3"
|
|
depends on BR2_ARCH_IS_64
|
|
select BR2_MIPS_CPU_MIPS64R3
|
|
config BR2_mips_64r5
|
|
bool "Generic MIPS64R5"
|
|
depends on BR2_ARCH_IS_64
|
|
select BR2_MIPS_CPU_MIPS64R5
|
|
config BR2_mips_64r6
|
|
bool "Generic MIPS64R6"
|
|
depends on BR2_ARCH_IS_64
|
|
select BR2_MIPS_CPU_MIPS64R6
|
|
config BR2_mips_i6400
|
|
bool "I6400"
|
|
depends on BR2_ARCH_IS_64
|
|
select BR2_MIPS_CPU_MIPS64R6
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
|
config BR2_mips_octeon2
|
|
bool "Octeon II"
|
|
depends on BR2_ARCH_IS_64
|
|
select BR2_MIPS_CPU_MIPS64R2
|
|
help
|
|
Marvell (formerly Cavium Networks) Octeon II CN60XX
|
|
processors.
|
|
config BR2_mips_octeon3
|
|
bool "Octeon III"
|
|
depends on BR2_ARCH_IS_64
|
|
select BR2_MIPS_CPU_MIPS64R3
|
|
help
|
|
Marvell (formerly Cavium Networks) Octeon III CN7XXX
|
|
processors.
|
|
config BR2_mips_p6600
|
|
bool "P6600"
|
|
depends on BR2_ARCH_IS_64
|
|
select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
|
|
select BR2_MIPS_CPU_MIPS64R6
|
|
endchoice
|
|
|
|
choice
|
|
prompt "Target ABI"
|
|
default BR2_MIPS_NABI32
|
|
depends on BR2_mips64 || BR2_mips64el
|
|
|
|
help
|
|
Application Binary Interface to use
|
|
|
|
config BR2_MIPS_NABI32
|
|
bool "n32"
|
|
depends on BR2_ARCH_IS_64
|
|
select BR2_KERNEL_64_USERLAND_32
|
|
config BR2_MIPS_NABI64
|
|
bool "n64"
|
|
depends on BR2_ARCH_IS_64
|
|
endchoice
|
|
|
|
config BR2_MIPS_SOFT_FLOAT
|
|
bool "Use soft-float"
|
|
default y
|
|
depends on !BR2_mips_octeon3 # hard-float only
|
|
select BR2_SOFT_FLOAT
|
|
help
|
|
If your target CPU does not have a Floating Point Unit (FPU)
|
|
or a kernel FPU emulator, but you still wish to support
|
|
floating point functions, then everything will need to be
|
|
compiled with soft floating point support (-msoft-float).
|
|
|
|
choice
|
|
prompt "FP mode"
|
|
default BR2_MIPS_FP32_MODE_XX
|
|
depends on !BR2_ARCH_IS_64 && !BR2_MIPS_SOFT_FLOAT
|
|
help
|
|
MIPS32 supports different FP modes (32,xx,64). Information
|
|
about FP modes can be found here:
|
|
https://sourceware.org/binutils/docs/as/MIPS-Options.html
|
|
https://dmz-portal.imgtec.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking#5._Generating_modeless_code
|
|
|
|
config BR2_MIPS_FP32_MODE_32
|
|
bool "32"
|
|
depends on !BR2_MIPS_CPU_MIPS32R6
|
|
|
|
config BR2_MIPS_FP32_MODE_XX
|
|
bool "xx"
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
|
|
|
config BR2_MIPS_FP32_MODE_64
|
|
bool "64"
|
|
depends on !BR2_MIPS_CPU_MIPS32
|
|
endchoice
|
|
|
|
config BR2_GCC_TARGET_FP32_MODE
|
|
default "32" if BR2_MIPS_FP32_MODE_32
|
|
default "xx" if BR2_MIPS_FP32_MODE_XX
|
|
default "64" if BR2_MIPS_FP32_MODE_64
|
|
|
|
config BR2_MIPS_NAN_LEGACY
|
|
bool
|
|
|
|
config BR2_MIPS_NAN_2008
|
|
bool
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
|
|
|
|
choice
|
|
prompt "Target NaN"
|
|
default BR2_MIPS_ENABLE_NAN_2008
|
|
depends on BR2_mips_32r5 || BR2_mips_64r5
|
|
help
|
|
MIPS supports two different NaN encodings, legacy and 2008.
|
|
Information about MIPS NaN encodings can be found here:
|
|
https://sourceware.org/binutils/docs/as/MIPS-NaN-Encodings.html
|
|
|
|
config BR2_MIPS_ENABLE_NAN_LEGACY
|
|
bool "legacy"
|
|
select BR2_MIPS_NAN_LEGACY
|
|
|
|
config BR2_MIPS_ENABLE_NAN_2008
|
|
bool "2008"
|
|
depends on !BR2_MIPS_SOFT_FLOAT
|
|
select BR2_MIPS_NAN_2008
|
|
endchoice
|
|
|
|
config BR2_GCC_TARGET_NAN
|
|
default "legacy" if BR2_MIPS_NAN_LEGACY
|
|
default "2008" if BR2_MIPS_NAN_2008
|
|
|
|
config BR2_ARCH
|
|
default "mips" if BR2_mips
|
|
default "mipsel" if BR2_mipsel
|
|
default "mips64" if BR2_mips64
|
|
default "mips64el" if BR2_mips64el
|
|
|
|
config BR2_NORMALIZED_ARCH
|
|
default "mips"
|
|
|
|
config BR2_ENDIAN
|
|
default "LITTLE" if BR2_mipsel || BR2_mips64el
|
|
default "BIG" if BR2_mips || BR2_mips64
|
|
|
|
config BR2_GCC_TARGET_ARCH
|
|
default "mips32" if BR2_mips_32
|
|
default "mips32r2" if BR2_mips_32r2
|
|
default "mips32r3" if BR2_mips_32r3
|
|
default "mips32r5" if BR2_mips_32r5
|
|
default "mips32r6" if BR2_mips_32r6
|
|
default "interaptiv" if BR2_mips_interaptiv
|
|
default "m5101" if BR2_mips_m5150
|
|
default "m6201" if BR2_mips_m6250
|
|
default "p5600" if BR2_mips_p5600
|
|
default "mips32r2" if BR2_mips_xburst
|
|
default "mips64" if BR2_mips_64
|
|
default "mips64r2" if BR2_mips_64r2
|
|
default "mips64r3" if BR2_mips_64r3
|
|
default "mips64r5" if BR2_mips_64r5
|
|
default "mips64r6" if BR2_mips_64r6
|
|
default "i6400" if BR2_mips_i6400
|
|
default "octeon2" if BR2_mips_octeon2
|
|
default "octeon3" if BR2_mips_octeon3
|
|
default "p6600" if BR2_mips_p6600
|
|
default "mips4" if BR2_mips4
|
|
|
|
config BR2_MIPS_OABI32
|
|
bool
|
|
default y if BR2_mips || BR2_mipsel
|
|
|
|
config BR2_GCC_TARGET_ABI
|
|
default "32" if BR2_MIPS_OABI32
|
|
default "n32" if BR2_MIPS_NABI32
|
|
default "64" if BR2_MIPS_NABI64
|
|
|
|
config BR2_READELF_ARCH_NAME
|
|
default "MIPS R3000"
|
|
|
|
# vim: ft=kconfig
|
|
# -*- mode:kconfig; -*-
|