Merge branch 'topic/livepatch' of git://git.kernel.org/pub/scm/linux/kernel/git/power...
[cascardo/linux.git] / arch / powerpc / Kconfig
index 832cc46..944a79a 100644 (file)
@@ -94,6 +94,7 @@ config PPC
        select OF_RESERVED_MEM
        select HAVE_FTRACE_MCOUNT_RECORD
        select HAVE_DYNAMIC_FTRACE
+       select HAVE_DYNAMIC_FTRACE_WITH_REGS if MPROFILE_KERNEL
        select HAVE_FUNCTION_TRACER
        select HAVE_FUNCTION_GRAPH_TRACER
        select SYSCTL_EXCEPTION_TRACE
@@ -158,6 +159,7 @@ config PPC
        select ARCH_HAS_DEVMEM_IS_ALLOWED
        select HAVE_ARCH_SECCOMP_FILTER
        select ARCH_HAS_UBSAN_SANITIZE_ALL
+       select HAVE_LIVEPATCH if HAVE_DYNAMIC_FTRACE_WITH_REGS
 
 config GENERIC_CSUM
        def_bool CPU_LITTLE_ENDIAN
@@ -373,6 +375,24 @@ config PPC_TRANSACTIONAL_MEM
        ---help---
          Support user-mode Transactional Memory on POWERPC.
 
+config DISABLE_MPROFILE_KERNEL
+       bool "Disable use of mprofile-kernel for kernel tracing"
+       depends on PPC64 && CPU_LITTLE_ENDIAN
+       default y
+       help
+         Selecting this options disables use of the mprofile-kernel ABI for
+         kernel tracing. That will cause options such as live patching
+         (CONFIG_LIVEPATCH) which depend on CONFIG_DYNAMIC_FTRACE_WITH_REGS to
+         be disabled also.
+
+         If you have a toolchain which supports mprofile-kernel, then you can
+         enable this. Otherwise leave it disabled. If you're not sure, say
+         "N".
+
+config MPROFILE_KERNEL
+       depends on PPC64 && CPU_LITTLE_ENDIAN
+       def_bool !DISABLE_MPROFILE_KERNEL
+
 config IOMMU_HELPER
        def_bool PPC64
 
@@ -1087,3 +1107,5 @@ config PPC_LIB_RHEAP
        bool
 
 source "arch/powerpc/kvm/Kconfig"
+
+source "kernel/livepatch/Kconfig"