123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- # LoongArch CPU
- choice
- prompt "Target Architecture Variant"
- default BR2_loongarch64_generic if BR2_ARCH_IS_64
- config BR2_loongarch64_generic
- bool "Generic LoongArch 64-bit"
- depends on BR2_ARCH_IS_64
- help
- Generic LoongArch 64-bit processor.
- config BR2_loongarch64_v1_0
- bool "LoongArch64 ISA version 1.0"
- depends on BR2_ARCH_IS_64
- select BR2_ARCH_NEEDS_GCC_AT_LEAST_14
- help
- LoongArch64 ISA version 1.0 processor.
- config BR2_loongarch64_v1_1
- bool "LoongArch64 ISA version 1.1"
- depends on BR2_ARCH_IS_64
- select BR2_ARCH_NEEDS_GCC_AT_LEAST_14
- help
- LoongArch64 ISA version 1.1 processor.
- endchoice
- choice
- prompt "FPU Type"
- default BR2_LOONGARCH_FPU_64
- config BR2_LOONGARCH_FPU_64
- bool "64"
- help
- Allow the use of hardware floating-point instructions for
- 32-bit and 64-bit operations.
- config BR2_LOONGARCH_FPU_32
- bool "32"
- help
- Allow the use of hardware floating-point instructions for
- 32-bit operations only.
- config BR2_LOONGARCH_FPU_NONE
- bool "none"
- help
- Prevent the use of hardware floating-point instructions.
- endchoice
- choice
- prompt "SIMD Type"
- default BR2_LOONGARCH_SIMD_NONE
- config BR2_LOONGARCH_SIMD_NONE
- bool "none"
- help
- Prevent the use of hardware SIMD instructions.
- config BR2_LOONGARCH_SIMD_LSX
- bool "LSX"
- depends on BR2_LOONGARCH_FPU_64
- help
- Enable generating instructions from the 128-bit LoongArch SIMD
- Extension (LSX).
- config BR2_LOONGARCH_SIMD_LASX
- bool "LASX"
- depends on BR2_LOONGARCH_FPU_64
- help
- Enable generating instructions from the 256-bit LoongArch
- Advanced SIMD Extension (LASX) and the 128-bit LoongArch
- SIMD Extension (LSX).
- endchoice
- choice
- prompt "Target ABI"
- default BR2_LOONGARCH_ABI_LP64D if BR2_ARCH_IS_64 && BR2_LOONGARCH_FPU_64
- default BR2_LOONGARCH_ABI_LP64F if BR2_ARCH_IS_64 && BR2_LOONGARCH_FPU_32
- default BR2_LOONGARCH_ABI_LP64S if BR2_ARCH_IS_64 && BR2_LOONGARCH_SIMD_NONE
- config BR2_LOONGARCH_ABI_LP64D
- bool "lp64d"
- depends on BR2_ARCH_IS_64
- depends on BR2_LOONGARCH_FPU_64
- config BR2_LOONGARCH_ABI_LP64F
- bool "lp64f"
- depends on BR2_ARCH_IS_64
- depends on BR2_LOONGARCH_FPU_64 || BR2_LOONGARCH_FPU_32
- config BR2_LOONGARCH_ABI_LP64S
- bool "lp64s"
- depends on BR2_ARCH_IS_64
- endchoice
- config BR2_ARCH
- default "loongarch64" if BR2_ARCH_IS_64
- config BR2_NORMALIZED_ARCH
- default "loongarch"
- config BR2_ENDIAN
- default "LITTLE"
- config BR2_GCC_TARGET_ARCH
- default "loongarch64" if BR2_loongarch64_generic
- default "la64v1.0" if BR2_loongarch64_v1_0
- default "la64v1.1" if BR2_loongarch64_v1_1
- config BR2_GCC_TARGET_FPU
- default "64" if BR2_LOONGARCH_FPU_64
- default "32" if BR2_LOONGARCH_FPU_32
- default "none" if BR2_LOONGARCH_FPU_NONE
- config BR2_GCC_TARGET_SIMD
- default "lasx" if BR2_LOONGARCH_SIMD_LASX
- default "lsx" if BR2_LOONGARCH_SIMD_LSX
- default "none" if BR2_LOONGARCH_FPU_NONE
- config BR2_GCC_TARGET_ABI
- default "lp64d" if BR2_LOONGARCH_ABI_LP64D
- default "lp64f" if BR2_LOONGARCH_ABI_LP64F
- default "lp64s" if BR2_LOONGARCH_ABI_LP64S
- config BR2_READELF_ARCH_NAME
- default "LoongArch"
- # vim: ft=kconfig
- # -*- mode:kconfig; -*-
|