Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
[platform/kernel/linux-starfive.git] / arch / Kconfig
index 8f138e5..12e3dda 100644 (file)
@@ -468,6 +468,9 @@ config ARCH_WANT_IRQS_OFF_ACTIVATE_MM
 config ARCH_HAVE_NMI_SAFE_CMPXCHG
        bool
 
+config ARCH_HAS_NMI_SAFE_THIS_CPU_OPS
+       bool
+
 config HAVE_ALIGNED_STRUCT_PAGE
        bool
        help
@@ -635,7 +638,7 @@ config ARCH_SUPPORTS_SHADOW_CALL_STACK
 config SHADOW_CALL_STACK
        bool "Shadow Call Stack"
        depends on ARCH_SUPPORTS_SHADOW_CALL_STACK
-       depends on DYNAMIC_FTRACE_WITH_REGS || !FUNCTION_GRAPH_TRACER
+       depends on DYNAMIC_FTRACE_WITH_ARGS || DYNAMIC_FTRACE_WITH_REGS || !FUNCTION_GRAPH_TRACER
        help
          This option enables the compiler's Shadow Call Stack, which
          uses a shadow stack to protect function return addresses from
@@ -651,6 +654,13 @@ config SHADOW_CALL_STACK
          reading and writing arbitrary memory may be able to locate them
          and hijack control flow by modifying the stacks.
 
+config DYNAMIC_SCS
+       bool
+       help
+         Set by the arch code if it relies on code patching to insert the
+         shadow call stack push and pop instructions rather than on the
+         compiler.
+
 config LTO
        bool
        help
@@ -1428,4 +1438,28 @@ source "kernel/gcov/Kconfig"
 
 source "scripts/gcc-plugins/Kconfig"
 
+config FUNCTION_ALIGNMENT_4B
+       bool
+
+config FUNCTION_ALIGNMENT_8B
+       bool
+
+config FUNCTION_ALIGNMENT_16B
+       bool
+
+config FUNCTION_ALIGNMENT_32B
+       bool
+
+config FUNCTION_ALIGNMENT_64B
+       bool
+
+config FUNCTION_ALIGNMENT
+       int
+       default 64 if FUNCTION_ALIGNMENT_64B
+       default 32 if FUNCTION_ALIGNMENT_32B
+       default 16 if FUNCTION_ALIGNMENT_16B
+       default 8 if FUNCTION_ALIGNMENT_8B
+       default 4 if FUNCTION_ALIGNMENT_4B
+       default 0
+
 endmenu