Explorar o código

[POWERPC] Add SPE registers to core dumps

This makes the SPE register data appear in ELF core dumps, using the
new n_type value NT_PPC_SPE (0x101).  This new note type is not used
by any consumers of core files yet, but support can be added.  I don't
even have any hardware with SPE capabilities, so I've never seen such
a note.  But this demonstrates how simple it is to export register
information in core dumps when the user_regset style is used for the
low-level code.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Roland McGrath %!s(int64=17) %!d(string=hai) anos
pai
achega
24f1a84961
Modificáronse 2 ficheiros con 2 adicións e 1 borrados
  1. 1 1
      arch/powerpc/kernel/ptrace.c
  2. 1 0
      include/linux/elf.h

+ 1 - 1
arch/powerpc/kernel/ptrace.c

@@ -581,7 +581,7 @@ static const struct user_regset compat_regsets[] = {
 #endif
 #ifdef CONFIG_SPE
 	[REGSET_SPE] = {
-		.n = 35,
+		.core_note_type = NT_PPC_SPE, .n = 35,
 		.size = sizeof(u32), .align = sizeof(u32),
 		.active = evr_active, .get = evr_get, .set = evr_set
 	},

+ 1 - 0
include/linux/elf.h

@@ -355,6 +355,7 @@ typedef struct elf64_shdr {
 #define NT_AUXV		6
 #define NT_PRXFPREG     0x46e62b7f      /* copied from gdb5.1/include/elf/common.h */
 #define NT_PPC_VMX	0x100		/* PowerPC Altivec/VMX registers */
+#define NT_PPC_SPE	0x101		/* PowerPC SPE/EVR registers */
 #define NT_386_TLS	0x200		/* i386 TLS slots (struct user_desc) */