"ARCH_HAVE_EXTRA_ELF_NOTES" enables an extra note section in the
core dump. Kconfig variable is preferred over ARCH_HAVE_* macro.
Co-developed-by: Jini Susan George <jinisusan.george@amd.com>
Signed-off-by: Jini Susan George <jinisusan.george@amd.com>
Signed-off-by: Vignesh Balasubramanian <vigbalas@amd.com>
Acked-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20240412062138.1132841-2-vigbalas@amd.com
Signed-off-by: Kees Cook <keescook@chromium.org>
 config ARCH_HAVE_NMI_SAFE_CMPXCHG
        bool
 
+config ARCH_HAVE_EXTRA_ELF_NOTES
+       bool
+       help
+         An architecture should select this in order to enable adding an
+         arch-specific ELF note section to core files. It must provide two
+         functions: elf_coredump_extra_notes_size() and
+         elf_coredump_extra_notes_write() which are invoked by the ELF core
+         dumper.
+
 config ARCH_HAS_NMI_SAFE_THIS_CPU_OPS
        bool
 
 
        select ARCH_HAS_UACCESS_FLUSHCACHE
        select ARCH_HAS_UBSAN
        select ARCH_HAVE_NMI_SAFE_CMPXCHG
+       select ARCH_HAVE_EXTRA_ELF_NOTES        if SPU_BASE
        select ARCH_KEEP_MEMBLOCK
        select ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE if PPC_RADIX_MMU
        select ARCH_MIGHT_HAVE_PC_PARPORT
 
 /* Notes used in ET_CORE. Note name is "SPU/<fd>/<filename>". */
 #define NT_SPU         1
 
-#define ARCH_HAVE_EXTRA_ELF_NOTES
-
 #endif /* CONFIG_SPU_BASE */
 
 #ifdef CONFIG_PPC64
 
 struct file;
 struct coredump_params;
 
-#ifndef ARCH_HAVE_EXTRA_ELF_NOTES
+#ifndef CONFIG_ARCH_HAVE_EXTRA_ELF_NOTES
 static inline int elf_coredump_extra_notes_size(void) { return 0; }
 static inline int elf_coredump_extra_notes_write(struct coredump_params *cprm) { return 0; }
 #else