Re: [V6,1/9] elf: Add new powerpc specifc core note sections
From: Anshuman Khandual <hidden>
Date: 2014-12-03 06:50:06
Also in:
lkml
On 12/03/2014 10:52 AM, Michael Ellerman wrote:
On Tue, 2014-02-12 at 07:56:45 UTC, Anshuman Khandual wrote:quoted
This patch adds four new ELF core note sections for powerpc transactional memory and one new ELF core note section for powerpc general miscellaneous debug registers. These addition of new ELF core note sections extends the existing ELF ABI without affecting it in any manner. Acked-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Anshuman Khandual <redacted> --- include/uapi/linux/elf.h | 5 +++++ 1 file changed, 5 insertions(+)diff --git a/include/uapi/linux/elf.h b/include/uapi/linux/elf.h index ea9bf25..2260fc0 100644 --- a/include/uapi/linux/elf.h +++ b/include/uapi/linux/elf.h@@ -379,6 +379,11 @@ typedef struct elf64_shdr { #define NT_PPC_VMX 0x100 /* PowerPC Altivec/VMX registers */ #define NT_PPC_SPE 0x101 /* PowerPC SPE/EVR registers */ #define NT_PPC_VSX 0x102 /* PowerPC VSX registers */ +#define NT_PPC_TM_SPR 0x103 /* PowerPC TM special registers */ +#define NT_PPC_TM_CGPR 0x104 /* PowerpC TM checkpointed GPR */ +#define NT_PPC_TM_CFPR 0x105 /* PowerPC TM checkpointed FPR */ +#define NT_PPC_TM_CVMX 0x106 /* PowerPC TM checkpointed VMX */ +#define NT_PPC_MISC 0x107 /* PowerPC miscellaneous registers */This is a really terrible name, "MISC". Having said that, I guess it's accurate. We have a whole bunch of regs that have accrued over recent years that aren't accessible via ptrace. It seems to me if we're adding a misc regset we should be adding everything we might want to it that is currenty architected.
But I believe they also need to be part of the thread_struct structure to be accessible from ptrace.
But currently you only include the PPR, TAR & DSCR.
Yeah, thats what we started with.
Looking at Power ISA v2.07, I see the following that could be included: MMCR2 MMCRA PMC1 PMC2 PMC3 PMC4 PMC5 PMC6 MMCR0 EBBHR EBBRR BESCR SIAR SDAR CFAR?
MMCRA, PMC[1..6], EBBHR, BESCR, EBBRR, CFAR are not part of the thread struct.
Those are all new in 2.07 except for CFAR. There might be more I missed, that was just a quick scan. Some are only accessible when EBB is in use, maybe those could be a separate regset.
Yeah we can have one more regset for EBB specific registers.