From ce59510127339b0bce0ef4242b43099d6c9714ea Mon Sep 17 00:00:00 2001 From: Anas Nashif Date: Sun, 2 Aug 2020 10:45:10 -0400 Subject: [PATCH] arch: xip: cleanup XIP Kconfig unify how XIP is configured across architectures. Use imply instead of setting defaults per architecture and imply XIP on riscv arch and remove XIP configuration from individual defconfig files to match other architectures. Signed-off-by: Anas Nashif --- arch/Kconfig | 3 +++ arch/arc/Kconfig | 3 --- arch/arm/core/aarch32/Kconfig | 1 + arch/arm/core/aarch32/cortex_m/Kconfig | 3 --- arch/nios2/Kconfig | 3 --- arch/x86/Kconfig | 3 --- boards/riscv/litex_vexriscv/litex_vexriscv_defconfig | 1 + soc/arc/snps_nsim/Kconfig.defconfig | 3 +++ soc/riscv/openisa_rv32m1/Kconfig.defconfig | 3 --- soc/riscv/riscv-privilege/miv/Kconfig.defconfig.series | 3 --- .../riscv-privilege/sifive-freedom/Kconfig.defconfig.series | 3 --- 11 files changed, 8 insertions(+), 21 deletions(-) diff --git a/arch/Kconfig b/arch/Kconfig index 273ca4e0dd1..8f7a00370f4 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -20,6 +20,7 @@ config ARC bool select ARCH_IS_SET select HAS_DTS + imply XIP help ARC architecture @@ -48,6 +49,7 @@ config NIOS2 select ARCH_IS_SET select ATOMIC_OPERATIONS_C select HAS_DTS + imply XIP help Nios II Gen 2 architecture @@ -55,6 +57,7 @@ config RISCV bool select ARCH_IS_SET select HAS_DTS + imply XIP help RISCV architecture diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig index 790faa56de8..456c100f7d9 100644 --- a/arch/arc/Kconfig +++ b/arch/arc/Kconfig @@ -189,9 +189,6 @@ config FAULT_DUMP 0: Off. -config XIP - default y if !SOC_NSIM - config GEN_ISR_TABLES default y diff --git a/arch/arm/core/aarch32/Kconfig b/arch/arm/core/aarch32/Kconfig index b996b7ec5f8..c59596cc736 100644 --- a/arch/arm/core/aarch32/Kconfig +++ b/arch/arm/core/aarch32/Kconfig @@ -17,6 +17,7 @@ config CPU_CORTEX_M select ARCH_HAS_RAMFUNC_SUPPORT select ARCH_HAS_NESTED_EXCEPTION_DETECTION select SWAP_NONATOMIC + imply XIP help This option signifies the use of a CPU of the Cortex-M family. diff --git a/arch/arm/core/aarch32/cortex_m/Kconfig b/arch/arm/core/aarch32/cortex_m/Kconfig index 8c9a5922ded..e856562ba8f 100644 --- a/arch/arm/core/aarch32/cortex_m/Kconfig +++ b/arch/arm/core/aarch32/cortex_m/Kconfig @@ -229,9 +229,6 @@ config ARMV8_M_DSP This option signifies the use of an ARMv8-M processor implementation supporting the DSP Extension. -config XIP - default y - menu "ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 options" depends on ARMV6_M_ARMV8_M_BASELINE || ARMV7_M_ARMV8_M_MAINLINE diff --git a/arch/nios2/Kconfig b/arch/nios2/Kconfig index f64fd7ad710..6c1fa775041 100644 --- a/arch/nios2/Kconfig +++ b/arch/nios2/Kconfig @@ -21,9 +21,6 @@ endmenu menu "Nios II Family Options" -config XIP - default y - config GEN_ISR_TABLES default y diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 88ed3b0d939..071fcce2604 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -76,9 +76,6 @@ config IRQ_OFFLOAD_VECTOR range 32 255 depends on IRQ_OFFLOAD -config XIP - default n - config PIC_DISABLE bool "Disable PIC" help diff --git a/boards/riscv/litex_vexriscv/litex_vexriscv_defconfig b/boards/riscv/litex_vexriscv/litex_vexriscv_defconfig index 4a42305657f..9991b7b5be3 100644 --- a/boards/riscv/litex_vexriscv/litex_vexriscv_defconfig +++ b/boards/riscv/litex_vexriscv/litex_vexriscv_defconfig @@ -27,3 +27,4 @@ CONFIG_I2C=y CONFIG_I2C_LITEX=y CONFIG_PWM=y CONFIG_PWM_LITEX=y +CONFIG_XIP=n diff --git a/soc/arc/snps_nsim/Kconfig.defconfig b/soc/arc/snps_nsim/Kconfig.defconfig index 747bfd96554..2a3713b6ecd 100644 --- a/soc/arc/snps_nsim/Kconfig.defconfig +++ b/soc/arc/snps_nsim/Kconfig.defconfig @@ -9,6 +9,9 @@ config SOC config UART_CONSOLE_ON_DEV_NAME default "UART_0" +config XIP + default n + source "soc/arc/snps_nsim/Kconfig.defconfig.em" source "soc/arc/snps_nsim/Kconfig.defconfig.sem" source "soc/arc/snps_nsim/Kconfig.defconfig.hs" diff --git a/soc/riscv/openisa_rv32m1/Kconfig.defconfig b/soc/riscv/openisa_rv32m1/Kconfig.defconfig index ce40837f321..710c71c71d9 100644 --- a/soc/riscv/openisa_rv32m1/Kconfig.defconfig +++ b/soc/riscv/openisa_rv32m1/Kconfig.defconfig @@ -20,9 +20,6 @@ config NUM_IRQS default 64 if RV32M1_INTMUX_CHANNEL_0 default 32 -config XIP - default y - config RISCV_GENERIC_TOOLCHAIN default y if "$(ZEPHYR_TOOLCHAIN_VARIANT)" = "zephyr" default n diff --git a/soc/riscv/riscv-privilege/miv/Kconfig.defconfig.series b/soc/riscv/riscv-privilege/miv/Kconfig.defconfig.series index f2ed3518bc7..e26fad99d2e 100644 --- a/soc/riscv/riscv-privilege/miv/Kconfig.defconfig.series +++ b/soc/riscv/riscv-privilege/miv/Kconfig.defconfig.series @@ -29,7 +29,4 @@ config MAX_IRQ_PER_AGGREGATOR config NUM_IRQS default 42 -config XIP - default y - endif # SOC_SERIES_RISCV32_MIV diff --git a/soc/riscv/riscv-privilege/sifive-freedom/Kconfig.defconfig.series b/soc/riscv/riscv-privilege/sifive-freedom/Kconfig.defconfig.series index 69055b413a8..c87dab435da 100644 --- a/soc/riscv/riscv-privilege/sifive-freedom/Kconfig.defconfig.series +++ b/soc/riscv/riscv-privilege/sifive-freedom/Kconfig.defconfig.series @@ -29,7 +29,4 @@ config MAX_IRQ_PER_AGGREGATOR config NUM_IRQS default 64 -config XIP - default y - endif # SOC_SERIES_RISCV_SIFIVE_FREEDOM