diff --git a/arch/riscv/Kconfig.isa b/arch/riscv/Kconfig.isa index 722becfb56d55..c109e99b69e6d 100644 --- a/arch/riscv/Kconfig.isa +++ b/arch/riscv/Kconfig.isa @@ -13,7 +13,7 @@ config RISCV_ISA_RV32E config RISCV_ISA_RV64I bool - default y if 64BIT + select 64BIT help RV64I Base Integer Instruction Set - 64bit @@ -45,6 +45,7 @@ config RISCV_ISA_EXT_A config RISCV_ISA_EXT_F bool + select CPU_HAS_FPU help (F) - Standard Extension for Single-Precision Floating-Point @@ -56,6 +57,7 @@ config RISCV_ISA_EXT_F config RISCV_ISA_EXT_D bool depends on RISCV_ISA_EXT_F + select CPU_HAS_FPU_DOUBLE_PRECISION help (D) - Standard Extension for Double-Precision Floating-Point diff --git a/soc/andestech/ae350/Kconfig b/soc/andestech/ae350/Kconfig index 031bc0756c717..669d817edf7dc 100644 --- a/soc/andestech/ae350/Kconfig +++ b/soc/andestech/ae350/Kconfig @@ -49,7 +49,6 @@ config RV32E_CPU config RV64I_CPU bool "RISCV64 CPU ISA" select RISCV_ISA_RV64I - select 64BIT endchoice @@ -62,11 +61,12 @@ config NO_FPU config SINGLE_PRECISION_FPU bool "Single precision FPU" - select CPU_HAS_FPU + select RISCV_ISA_EXT_F config DOUBLE_PRECISION_FPU bool "Double precision FPU" - select CPU_HAS_FPU_DOUBLE_PRECISION + select RISCV_ISA_EXT_F + select RISCV_ISA_EXT_D endchoice diff --git a/soc/bflb/bl60x/Kconfig b/soc/bflb/bl60x/Kconfig index a3c8bd7b23f84..debeb6cbee0e7 100644 --- a/soc/bflb/bl60x/Kconfig +++ b/soc/bflb/bl60x/Kconfig @@ -8,7 +8,6 @@ config SOC_SERIES_BL60X select CACHE_MANAGEMENT select CLOCK_CONTROL select CODE_DATA_RELOCATION - select CPU_HAS_FPU select CPU_HAS_ICACHE select CPU_HAS_DCACHE select FLOAT_HARD diff --git a/soc/bflb/bl61x/Kconfig b/soc/bflb/bl61x/Kconfig index d13afeffc0584..4fc4dbd4bdca5 100644 --- a/soc/bflb/bl61x/Kconfig +++ b/soc/bflb/bl61x/Kconfig @@ -5,7 +5,6 @@ config SOC_SERIES_BL61X select CLOCK_CONTROL select CODE_DATA_RELOCATION - select CPU_HAS_FPU select DCACHE select FLOAT_HARD select FPU diff --git a/soc/bflb/bl70x/Kconfig b/soc/bflb/bl70x/Kconfig index 96210e359ad69..c681f08766ef2 100644 --- a/soc/bflb/bl70x/Kconfig +++ b/soc/bflb/bl70x/Kconfig @@ -7,7 +7,6 @@ config SOC_SERIES_BL70X select CACHE_MANAGEMENT select CLOCK_CONTROL select CODE_DATA_RELOCATION - select CPU_HAS_FPU select CPU_HAS_ICACHE select CPU_HAS_DCACHE select FLOAT_HARD diff --git a/soc/egis/et171/Kconfig b/soc/egis/et171/Kconfig index 88ec3b2d11fac..628b24eaacf6d 100644 --- a/soc/egis/et171/Kconfig +++ b/soc/egis/et171/Kconfig @@ -11,9 +11,9 @@ config SOC_EGIS_ET171 select RISCV_ISA_EXT_M select RISCV_ISA_EXT_A select RISCV_ISA_EXT_C + select RISCV_ISA_EXT_F select RISCV_ISA_EXT_ZICSR select RISCV_ISA_EXT_ZIFENCEI - select CPU_HAS_FPU select CPU_HAS_DCACHE select CPU_HAS_ICACHE select CPU_HAS_ANDES_EXECIT diff --git a/soc/ite/ec/it8xxx2/Kconfig b/soc/ite/ec/it8xxx2/Kconfig index 745a4ce8cb2c2..c7eecfab400d7 100644 --- a/soc/ite/ec/it8xxx2/Kconfig +++ b/soc/ite/ec/it8xxx2/Kconfig @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 config SOC_SERIES_IT8XXX2 - select CPU_HAS_FPU if "$(ZEPHYR_TOOLCHAIN_VARIANT)" != "zephyr" || RISCV_ISA_EXT_M + select RISCV_ISA_EXT_F if "$(ZEPHYR_TOOLCHAIN_VARIANT)" != "zephyr" || RISCV_ISA_EXT_M select HAS_PM select ARCH_HAS_CUSTOM_CPU_IDLE select ARCH_HAS_CUSTOM_CPU_ATOMIC_IDLE diff --git a/soc/qemu/virt_riscv/qemu_virt_riscv32/Kconfig b/soc/qemu/virt_riscv/qemu_virt_riscv32/Kconfig index 240c94c401aac..f8f1157f247b5 100644 --- a/soc/qemu/virt_riscv/qemu_virt_riscv32/Kconfig +++ b/soc/qemu/virt_riscv/qemu_virt_riscv32/Kconfig @@ -2,8 +2,8 @@ # SPDX-License-Identifier: Apache-2.0 config SOC_QEMU_VIRT_RISCV32 - select CPU_HAS_FPU select RISCV_ISA_RV32I + select RISCV_ISA_EXT_F select RISCV_ISA_EXT_ZICSR select RISCV_ISA_EXT_ZIFENCEI select RISCV_HAS_PLIC diff --git a/soc/qemu/virt_riscv/qemu_virt_riscv64/Kconfig b/soc/qemu/virt_riscv/qemu_virt_riscv64/Kconfig index 0e4e22d572754..b78e2bf5a9802 100644 --- a/soc/qemu/virt_riscv/qemu_virt_riscv64/Kconfig +++ b/soc/qemu/virt_riscv/qemu_virt_riscv64/Kconfig @@ -2,9 +2,9 @@ # SPDX-License-Identifier: Apache-2.0 config SOC_QEMU_VIRT_RISCV64 - select 64BIT - select CPU_HAS_FPU_DOUBLE_PRECISION select RISCV_ISA_RV64I + select RISCV_ISA_EXT_F + select RISCV_ISA_EXT_D select RISCV_ISA_EXT_ZICSR select RISCV_ISA_EXT_ZIFENCEI select RISCV_HAS_PLIC diff --git a/soc/sifive/sifive_freedom/fu500/Kconfig b/soc/sifive/sifive_freedom/fu500/Kconfig index 5e1b5539d0a14..10761abbf813f 100644 --- a/soc/sifive/sifive_freedom/fu500/Kconfig +++ b/soc/sifive/sifive_freedom/fu500/Kconfig @@ -5,8 +5,6 @@ config SOC_SERIES_SIFIVE_FREEDOM_FU500 bool - select 64BIT - # RISC-V options select RISCV select RISCV_PRIVILEGED @@ -28,4 +26,3 @@ config SOC_SERIES_SIFIVE_FREEDOM_FU500 config SOC_SIFIVE_FREEDOM_FU540_U54 bool select RISCV_ISA_EXT_G - select CPU_HAS_FPU_DOUBLE_PRECISION diff --git a/soc/sifive/sifive_freedom/fu700/Kconfig b/soc/sifive/sifive_freedom/fu700/Kconfig index fddd64d37ad26..9f981d2f17961 100644 --- a/soc/sifive/sifive_freedom/fu700/Kconfig +++ b/soc/sifive/sifive_freedom/fu700/Kconfig @@ -4,8 +4,6 @@ config SOC_SERIES_SIFIVE_FREEDOM_FU700 bool - select 64BIT - # RISC-V options select RISCV select RISCV_PRIVILEGED @@ -27,4 +25,3 @@ config SOC_SERIES_SIFIVE_FREEDOM_FU700 config SOC_SIFIVE_FREEDOM_FU740_U74 bool select RISCV_ISA_EXT_G - select CPU_HAS_FPU_DOUBLE_PRECISION diff --git a/soc/starfive/jh71xx/Kconfig b/soc/starfive/jh71xx/Kconfig index bec862812ab6d..607e6e94f8c64 100644 --- a/soc/starfive/jh71xx/Kconfig +++ b/soc/starfive/jh71xx/Kconfig @@ -25,4 +25,3 @@ config SOC_JH7110 select RISCV_ISA_EXT_C select RISCV_ISA_EXT_ZICSR select RISCV_ISA_EXT_ZIFENCEI - select 64BIT diff --git a/soc/telink/tlsr/tlsr951x/Kconfig b/soc/telink/tlsr/tlsr951x/Kconfig index d7e5bc152c2c2..a31aec0a5c652 100644 --- a/soc/telink/tlsr/tlsr951x/Kconfig +++ b/soc/telink/tlsr/tlsr951x/Kconfig @@ -8,13 +8,13 @@ config SOC_SERIES_TLSR951X select RISCV_ISA_EXT_M select RISCV_ISA_EXT_A select RISCV_ISA_EXT_C + select RISCV_ISA_EXT_F select RISCV_ISA_EXT_ZICSR select RISCV_ISA_EXT_ZIFENCEI select RISCV_PRIVILEGED select RISCV_HAS_PLIC select RISCV_SOC_HAS_GP_RELATIVE_ADDRESSING select HAS_TELINK_DRIVERS - select CPU_HAS_FPU select CPU_HAS_DCACHE select CPU_HAS_ICACHE select CPU_HAS_ANDES_HWDSP