mirror of
https://github.com/PartialVolume/shredos.x86_64.git
synced 2026-02-20 05:32:11 +00:00
139 lines
3.3 KiB
Plaintext
139 lines
3.3 KiB
Plaintext
# 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"
|
|
# Only supported by lp64s and lp64f ABIs which are marked as broken
|
|
depends on BR2_BROKEN
|
|
help
|
|
Allow the use of hardware floating-point instructions for
|
|
32-bit operations only.
|
|
|
|
config BR2_LOONGARCH_FPU_NONE
|
|
bool "none"
|
|
# Only supported by lp64s ABI which is marked as broken
|
|
depends on BR2_BROKEN
|
|
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
|
|
# Failed to build host GCC initial, pending investigation
|
|
depends on BR2_BROKEN
|
|
depends on BR2_LOONGARCH_FPU_64 || BR2_LOONGARCH_FPU_32
|
|
|
|
config BR2_LOONGARCH_ABI_LP64S
|
|
bool "lp64s"
|
|
depends on BR2_ARCH_IS_64
|
|
# GCC can't find libraries, pending investigation
|
|
depends on BR2_BROKEN
|
|
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; -*-
|