Config.in.loongarch 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. # LoongArch CPU
  2. choice
  3. prompt "Target Architecture Variant"
  4. default BR2_loongarch64_generic if BR2_ARCH_IS_64
  5. config BR2_loongarch64_generic
  6. bool "Generic LoongArch 64-bit"
  7. depends on BR2_ARCH_IS_64
  8. help
  9. Generic LoongArch 64-bit processor.
  10. config BR2_loongarch64_v1_0
  11. bool "LoongArch64 ISA version 1.0"
  12. depends on BR2_ARCH_IS_64
  13. select BR2_ARCH_NEEDS_GCC_AT_LEAST_14
  14. help
  15. LoongArch64 ISA version 1.0 processor.
  16. config BR2_loongarch64_v1_1
  17. bool "LoongArch64 ISA version 1.1"
  18. depends on BR2_ARCH_IS_64
  19. select BR2_ARCH_NEEDS_GCC_AT_LEAST_14
  20. help
  21. LoongArch64 ISA version 1.1 processor.
  22. endchoice
  23. choice
  24. prompt "FPU Type"
  25. default BR2_LOONGARCH_FPU_64
  26. config BR2_LOONGARCH_FPU_64
  27. bool "64"
  28. help
  29. Allow the use of hardware floating-point instructions for
  30. 32-bit and 64-bit operations.
  31. config BR2_LOONGARCH_FPU_32
  32. bool "32"
  33. help
  34. Allow the use of hardware floating-point instructions for
  35. 32-bit operations only.
  36. config BR2_LOONGARCH_FPU_NONE
  37. bool "none"
  38. help
  39. Prevent the use of hardware floating-point instructions.
  40. endchoice
  41. choice
  42. prompt "SIMD Type"
  43. default BR2_LOONGARCH_SIMD_NONE
  44. config BR2_LOONGARCH_SIMD_NONE
  45. bool "none"
  46. help
  47. Prevent the use of hardware SIMD instructions.
  48. config BR2_LOONGARCH_SIMD_LSX
  49. bool "LSX"
  50. depends on BR2_LOONGARCH_FPU_64
  51. help
  52. Enable generating instructions from the 128-bit LoongArch SIMD
  53. Extension (LSX).
  54. config BR2_LOONGARCH_SIMD_LASX
  55. bool "LASX"
  56. depends on BR2_LOONGARCH_FPU_64
  57. help
  58. Enable generating instructions from the 256-bit LoongArch
  59. Advanced SIMD Extension (LASX) and the 128-bit LoongArch
  60. SIMD Extension (LSX).
  61. endchoice
  62. choice
  63. prompt "Target ABI"
  64. default BR2_LOONGARCH_ABI_LP64D if BR2_ARCH_IS_64 && BR2_LOONGARCH_FPU_64
  65. default BR2_LOONGARCH_ABI_LP64F if BR2_ARCH_IS_64 && BR2_LOONGARCH_FPU_32
  66. default BR2_LOONGARCH_ABI_LP64S if BR2_ARCH_IS_64 && BR2_LOONGARCH_SIMD_NONE
  67. config BR2_LOONGARCH_ABI_LP64D
  68. bool "lp64d"
  69. depends on BR2_ARCH_IS_64
  70. depends on BR2_LOONGARCH_FPU_64
  71. config BR2_LOONGARCH_ABI_LP64F
  72. bool "lp64f"
  73. depends on BR2_ARCH_IS_64
  74. depends on BR2_LOONGARCH_FPU_64 || BR2_LOONGARCH_FPU_32
  75. config BR2_LOONGARCH_ABI_LP64S
  76. bool "lp64s"
  77. depends on BR2_ARCH_IS_64
  78. endchoice
  79. config BR2_ARCH
  80. default "loongarch64" if BR2_ARCH_IS_64
  81. config BR2_NORMALIZED_ARCH
  82. default "loongarch"
  83. config BR2_ENDIAN
  84. default "LITTLE"
  85. config BR2_GCC_TARGET_ARCH
  86. default "loongarch64" if BR2_loongarch64_generic
  87. default "la64v1.0" if BR2_loongarch64_v1_0
  88. default "la64v1.1" if BR2_loongarch64_v1_1
  89. config BR2_GCC_TARGET_FPU
  90. default "64" if BR2_LOONGARCH_FPU_64
  91. default "32" if BR2_LOONGARCH_FPU_32
  92. default "none" if BR2_LOONGARCH_FPU_NONE
  93. config BR2_GCC_TARGET_SIMD
  94. default "lasx" if BR2_LOONGARCH_SIMD_LASX
  95. default "lsx" if BR2_LOONGARCH_SIMD_LSX
  96. default "none" if BR2_LOONGARCH_FPU_NONE
  97. config BR2_GCC_TARGET_ABI
  98. default "lp64d" if BR2_LOONGARCH_ABI_LP64D
  99. default "lp64f" if BR2_LOONGARCH_ABI_LP64F
  100. default "lp64s" if BR2_LOONGARCH_ABI_LP64S
  101. config BR2_READELF_ARCH_NAME
  102. default "LoongArch"
  103. # vim: ft=kconfig
  104. # -*- mode:kconfig; -*-