Add one definition to kernel/trace/Kconfig and let the architectures select if it supported. Signed-off-by: Christoph Hellwig <hch@xxxxxx> --- arch/arc/Kconfig | 6 ++---- arch/arm/Kconfig | 5 +---- arch/arm64/Kconfig | 4 +--- arch/hexagon/Kconfig | 5 +---- arch/ia64/Kconfig | 4 +--- arch/microblaze/Kconfig | 4 +--- arch/mips/Kconfig | 5 +---- arch/nds32/Kconfig | 4 +--- arch/openrisc/Kconfig | 4 +--- arch/parisc/Kconfig | 4 +--- arch/powerpc/Kconfig | 5 +---- arch/riscv/Kconfig | 4 +--- arch/s390/Kconfig | 4 +--- arch/sh/Kconfig | 4 +--- arch/sparc/Kconfig | 5 +---- arch/um/Kconfig | 7 ++----- arch/unicore32/Kconfig | 4 +--- arch/x86/Kconfig | 4 +--- arch/xtensa/Kconfig | 4 +--- kernel/trace/Kconfig | 3 +++ 20 files changed, 24 insertions(+), 65 deletions(-) diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig index c0dd229af534..e8e3776fc5fa 100644 --- a/arch/arc/Kconfig +++ b/arch/arc/Kconfig @@ -47,6 +47,8 @@ config ARC select OF_RESERVED_MEM select PCI_SYSCALL if PCI select PERF_USE_VMALLOC if ARC_CACHE_VIPT_ALIASING + select STACKTRACE_SUPPORT + select STACKTRACE config ARCH_HAS_CACHE_LINE_SIZE def_bool y @@ -81,10 +83,6 @@ config GENERIC_CALIBRATE_DELAY config GENERIC_HWEIGHT def_bool y -config STACKTRACE_SUPPORT - def_bool y - select STACKTRACE - config HAVE_ARCH_TRANSPARENT_HUGEPAGE def_bool y depends on ARC_MMU_V4 diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 1ed4c0560b50..68a891f3ffa0 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -109,6 +109,7 @@ config ARM select REFCOUNT_FULL select RTC_LIB select RWSEM_XCHGADD_ALGORITHM + select STACKTRACE_SUPPORT select SYS_SUPPORTS_APM_EMULATION # Above selects are sorted alphabetically; please add new ones # according to that. Thanks. @@ -165,10 +166,6 @@ config NO_IOPORT_MAP config SBUS bool -config STACKTRACE_SUPPORT - bool - default y - config LOCKDEP_SUPPORT bool default y diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 2f8da4e18a1e..a6a0bb868369 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -172,6 +172,7 @@ config ARM64 select REFCOUNT_FULL select RWSEM_XCHGADD_ALGORITHM select SPARSE_IRQ + select STACKTRACE_SUPPORT select SWIOTLB select SYSCTL_EXCEPTION_TRACE select THREAD_INFO_IN_TASK @@ -226,9 +227,6 @@ config ARCH_MMAP_RND_COMPAT_BITS_MAX config NO_IOPORT_MAP def_bool y if !PCI -config STACKTRACE_SUPPORT - def_bool y - config ILLEGAL_POINTER_VALUE hex default 0xdead000000000000 diff --git a/arch/hexagon/Kconfig b/arch/hexagon/Kconfig index 49f364ea18d4..615693b62ea0 100644 --- a/arch/hexagon/Kconfig +++ b/arch/hexagon/Kconfig @@ -26,6 +26,7 @@ config HEXAGON select NO_IOPORT_MAP select GENERIC_IOMAP select GENERIC_SMP_IDLE_THREAD + select STACKTRACE select STACKTRACE_SUPPORT select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS_BROADCAST @@ -68,10 +69,6 @@ config GENERIC_IRQ_PROBE config GENERIC_HWEIGHT def_bool y -config STACKTRACE_SUPPORT - def_bool y - select STACKTRACE - config GENERIC_BUG def_bool y depends on BUG diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index 99a629f05de4..8c14b669d194 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig @@ -54,6 +54,7 @@ config IA64 select NEED_DMA_MAP_STATE select NEED_SG_DMA_LENGTH select RWSEM_XCHGADD_ALGORITHM + select STACKTRACE_SUPPORT default y help The Itanium Processor Family is Intel's 64-bit successor to @@ -78,9 +79,6 @@ config MMU bool default y -config STACKTRACE_SUPPORT - def_bool y - config GENERIC_LOCKBREAK def_bool n diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig index d459c70d9a66..ecccf8651caa 100644 --- a/arch/microblaze/Kconfig +++ b/arch/microblaze/Kconfig @@ -37,6 +37,7 @@ config MICROBLAZE select OF_EARLY_FLATTREE select PCI_DOMAINS_GENERIC if PCI select PCI_SYSCALL if PCI + select STACKTRACE_SUPPORT select TRACING_SUPPORT select VIRT_TO_BUS select CPU_NO_EFFICIENT_FFS @@ -75,9 +76,6 @@ config GENERIC_CALIBRATE_DELAY config GENERIC_CSUM def_bool y -config STACKTRACE_SUPPORT - def_bool y - config LOCKDEP_SUPPORT def_bool y diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 6ad1882a8db9..0645e7b96493 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -80,6 +80,7 @@ config MIPS select MODULES_USE_ELF_REL if MODULES select PERF_USE_VMALLOC select RTC_LIB + select STACKTRACE_SUPPORT select SYSCTL_EXCEPTION_TRACE select VIRT_TO_BUS @@ -3053,10 +3054,6 @@ config LOCKDEP_SUPPORT bool default y -config STACKTRACE_SUPPORT - bool - default y - config HAVE_LATENCYTOP_SUPPORT bool default y diff --git a/arch/nds32/Kconfig b/arch/nds32/Kconfig index 6a3c53d05dcd..65a506fe25a9 100644 --- a/arch/nds32/Kconfig +++ b/arch/nds32/Kconfig @@ -38,6 +38,7 @@ config NDS32 select OF_EARLY_FLATTREE select NO_IOPORT_MAP select RTC_LIB + select STACKTRACE_SUPPORT select THREAD_INFO_IN_TASK select HAVE_FUNCTION_TRACER select HAVE_FUNCTION_GRAPH_TRACER @@ -62,9 +63,6 @@ config GENERIC_LOCKBREAK config TRACE_IRQFLAGS_SUPPORT def_bool y -config STACKTRACE_SUPPORT - def_bool y - config FIX_EARLYCON_MEM def_bool y diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig index 9f51da5e4f57..addbe1d0dee6 100644 --- a/arch/openrisc/Kconfig +++ b/arch/openrisc/Kconfig @@ -35,6 +35,7 @@ config OPENRISC select OMPIC if SMP select ARCH_WANT_FRAME_POINTERS select GENERIC_IRQ_MULTI_HANDLER + select STACKTRACE_SUPPORT config CPU_BIG_ENDIAN def_bool y @@ -56,9 +57,6 @@ config TRACE_IRQFLAGS_SUPPORT config GENERIC_CSUM def_bool y -config STACKTRACE_SUPPORT - def_bool y - config LOCKDEP_SUPPORT def_bool y diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index 8efbeeafb68e..9288ff6af559 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig @@ -53,6 +53,7 @@ config PARISC select CPU_NO_EFFICIENT_FFS select NEED_DMA_MAP_STATE select NEED_SG_DMA_LENGTH + select STACKTRACE_SUPPORT help The PA-RISC microprocessor is designed by Hewlett-Packard and used @@ -104,9 +105,6 @@ config TIME_LOW_RES config PM bool -config STACKTRACE_SUPPORT - def_bool y - config ISA_DMA_API bool diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 2c3ccffbb2ec..45d0d69237b1 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -91,10 +91,6 @@ config PPC_WATCHDOG seleted via the generic lockup detector menu which is why we have no standalone config option for it here. -config STACKTRACE_SUPPORT - bool - default y - config TRACE_IRQFLAGS_SUPPORT bool default y @@ -234,6 +230,7 @@ config PPC select RTC_LIB select RWSEM_XCHGADD_ALGORITHM select SPARSE_IRQ + select STACKTRACE_SUPPORT select SYSCTL_EXCEPTION_TRACE select VIRT_TO_BUS if !PPC64 # diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index fa251310c48c..f0e87594fc9b 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -47,6 +47,7 @@ config RISCV select PCI_DOMAINS_GENERIC if PCI select PCI_MSI if PCI select RISCV_TIMER + select STACKTRACE_SUPPORT select GENERIC_IRQ_MULTI_HANDLER select ARCH_HAS_PTE_SPECIAL @@ -63,9 +64,6 @@ config PAGE_OFFSET default 0xffffffff80000000 if 64BIT && MAXPHYSMEM_2GB default 0xffffffe000000000 if 64BIT && MAXPHYSMEM_128GB -config STACKTRACE_SUPPORT - def_bool y - config TRACE_IRQFLAGS_SUPPORT def_bool y diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index 7f547d4d835f..fde5d60aab7e 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@ -11,9 +11,6 @@ config CPU_BIG_ENDIAN config LOCKDEP_SUPPORT def_bool y -config STACKTRACE_SUPPORT - def_bool y - config ARCH_HAS_ILOG2_U32 def_bool n @@ -177,6 +174,7 @@ config S390 select PCI_MSI if PCI select RWSEM_XCHGADD_ALGORITHM select SPARSE_IRQ + select STACKTRACE_SUPPORT select SYSCTL_EXCEPTION_TRACE select THREAD_INFO_IN_TASK select TTY diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 4f8c7472079b..e77d3befa52a 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig @@ -49,6 +49,7 @@ config SUPERH select OLD_SIGSUSPEND select OLD_SIGACTION select PCI_DOMAINS if PCI + select STACKTRACE_SUPPORT select HAVE_ARCH_AUDITSYSCALL select HAVE_FUTEX_CMPXCHG if FUTEX select HAVE_NMI @@ -126,9 +127,6 @@ config SYS_SUPPORTS_SMP config SYS_SUPPORTS_NUMA bool -config STACKTRACE_SUPPORT - def_bool y - config LOCKDEP_SUPPORT def_bool y diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index 60c90e59eb3c..85c4447fce00 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig @@ -91,6 +91,7 @@ config SPARC64 select ARCH_HAS_PTE_SPECIAL select PCI_DOMAINS if PCI select RWSEM_XCHGADD_ALGORITHM + select STACKTRACE_SUPPORT config ARCH_DEFCONFIG string @@ -107,10 +108,6 @@ config ARCH_ATU bool default y if SPARC64 -config STACKTRACE_SUPPORT - bool - default y if SPARC64 - config LOCKDEP_SUPPORT bool default y if SPARC64 diff --git a/arch/um/Kconfig b/arch/um/Kconfig index ec9711d068b7..a88ad4c0c3b4 100644 --- a/arch/um/Kconfig +++ b/arch/um/Kconfig @@ -17,6 +17,8 @@ config UML select GENERIC_CPU_DEVICES select GENERIC_CLOCKEVENTS select HAVE_GCC_PLUGINS + select STACKTRACE + select STACKTRACE_SUPPORT select TTY # Needed for line.c config MMU @@ -40,11 +42,6 @@ config LOCKDEP_SUPPORT bool default y -config STACKTRACE_SUPPORT - bool - default y - select STACKTRACE - config GENERIC_CALIBRATE_DELAY bool default y diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig index e080087f0762..d7dccc247301 100644 --- a/arch/unicore32/Kconfig +++ b/arch/unicore32/Kconfig @@ -20,6 +20,7 @@ config UNICORE32 select GENERIC_IOMAP select MODULES_USE_ELF_REL select NEED_DMA_MAP_STATE + select STACKTRACE_SUPPORT help UniCore-32 is 32-bit Instruction Set Architecture, including a series of low-power-consumption RISC chip @@ -32,9 +33,6 @@ config GENERIC_CSUM config NO_IOPORT_MAP bool -config STACKTRACE_SUPPORT - def_bool y - config LOCKDEP_SUPPORT def_bool y diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 3c98f3f78631..c5f92cfd5d85 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -206,6 +206,7 @@ config X86 select SPARSE_IRQ select SRCU select SYSCTL_EXCEPTION_TRACE + select STACKTRACE_SUPPORT select THREAD_INFO_IN_TASK select USER_STACKTRACE_SUPPORT select VIRT_TO_BUS @@ -228,9 +229,6 @@ config ARCH_DEFCONFIG config LOCKDEP_SUPPORT def_bool y -config STACKTRACE_SUPPORT - def_bool y - config MMU def_bool y diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig index ddd3b02191a6..51cdd270a44d 100644 --- a/arch/xtensa/Kconfig +++ b/arch/xtensa/Kconfig @@ -35,6 +35,7 @@ config XTENSA select MODULES_USE_ELF_RELA select PERF_USE_VMALLOC select RWSEM_XCHGADD_ALGORITHM + select STACKTRACE_SUPPORT select VIRT_TO_BUS help Xtensa processors are 32-bit RISC machines designed by Tensilica @@ -63,9 +64,6 @@ config HZ config LOCKDEP_SUPPORT def_bool y -config STACKTRACE_SUPPORT - def_bool y - config TRACE_IRQFLAGS_SUPPORT def_bool y diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig index fa8b1fe824f3..80291d016e21 100644 --- a/kernel/trace/Kconfig +++ b/kernel/trace/Kconfig @@ -3,6 +3,9 @@ # select HAVE_FUNCTION_TRACER: # +config STACKTRACE_SUPPORT + bool + config USER_STACKTRACE_SUPPORT bool -- 2.20.1