mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-21 01:12:32 +08:00
1d506c26d9
This commit is the result of the following actions: - Running gdb/copyright.py to update all of the copyright headers to include 2024, - Manually updating a few files the copyright.py script told me to update, these files had copyright headers embedded within the file, - Regenerating gdbsupport/Makefile.in to refresh it's copyright date, - Using grep to find other files that still mentioned 2023. If these files were updated last year from 2022 to 2023 then I've updated them this year to 2024. I'm sure I've probably missed some dates. Feel free to fix them up as you spot them.
166 lines
4.4 KiB
C
166 lines
4.4 KiB
C
/* Copyright (C) 1995-2024 Free Software Foundation, Inc.
|
|
|
|
This file is part of GDB.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
|
|
#ifndef NAT_PPC_LINUX_H
|
|
#define NAT_PPC_LINUX_H
|
|
|
|
#include <asm/ptrace.h>
|
|
#include <asm/cputable.h>
|
|
|
|
/* This sometimes isn't defined. */
|
|
#ifndef PT_ORIG_R3
|
|
#define PT_ORIG_R3 34
|
|
#endif
|
|
#ifndef PT_TRAP
|
|
#define PT_TRAP 40
|
|
#endif
|
|
|
|
/* The PPC_FEATURE_* defines should be provided by <asm/cputable.h>.
|
|
If they aren't, we can provide them ourselves (their values are fixed
|
|
because they are part of the kernel ABI). They are used in the AT_HWCAP
|
|
entry of the AUXV. */
|
|
#ifndef PPC_FEATURE_BOOKE
|
|
#define PPC_FEATURE_BOOKE 0x00008000
|
|
#endif
|
|
#ifndef PPC_FEATURE_HAS_DFP
|
|
#define PPC_FEATURE_HAS_DFP 0x00000400 /* Decimal Floating Point. */
|
|
#endif
|
|
#ifndef PPC_FEATURE_HAS_VSX
|
|
#define PPC_FEATURE_HAS_VSX 0x00000080
|
|
#endif
|
|
#ifndef PPC_FEATURE_HAS_ALTIVEC
|
|
#define PPC_FEATURE_HAS_ALTIVEC 0x10000000
|
|
#endif
|
|
#ifndef PPC_FEATURE_HAS_SPE
|
|
#define PPC_FEATURE_HAS_SPE 0x00800000
|
|
#endif
|
|
#ifndef PPC_FEATURE2_DSCR
|
|
#define PPC_FEATURE2_DSCR 0x20000000
|
|
#endif
|
|
#ifndef PPC_FEATURE2_ARCH_2_07
|
|
#define PPC_FEATURE2_ARCH_2_07 0x80000000
|
|
#endif
|
|
#ifndef PPC_FEATURE2_TAR
|
|
#define PPC_FEATURE2_TAR 0x04000000
|
|
#endif
|
|
#ifndef PPC_FEATURE2_EBB
|
|
#define PPC_FEATURE2_EBB 0x10000000
|
|
#endif
|
|
#ifndef PPC_FEATURE2_HTM
|
|
#define PPC_FEATURE2_HTM 0x40000000
|
|
#endif
|
|
|
|
/* Glibc's headers don't define PTRACE_GETVRREGS so we cannot use a
|
|
configure time check. Some older glibc's (for instance 2.2.1)
|
|
don't have a specific powerpc version of ptrace.h, and fall back on
|
|
a generic one. In such cases, sys/ptrace.h defines
|
|
PTRACE_GETFPXREGS and PTRACE_SETFPXREGS to the same numbers that
|
|
ppc kernel's asm/ptrace.h defines PTRACE_GETVRREGS and
|
|
PTRACE_SETVRREGS to be. This also makes a configury check pretty
|
|
much useless. */
|
|
|
|
/* These definitions should really come from the glibc header files,
|
|
but Glibc doesn't know about the vrregs yet. */
|
|
#ifndef PTRACE_GETVRREGS
|
|
#define PTRACE_GETVRREGS 18
|
|
#define PTRACE_SETVRREGS 19
|
|
#endif
|
|
|
|
/* PTRACE requests for POWER7 VSX registers. */
|
|
#ifndef PTRACE_GETVSXREGS
|
|
#define PTRACE_GETVSXREGS 27
|
|
#define PTRACE_SETVSXREGS 28
|
|
#endif
|
|
|
|
/* Similarly for the ptrace requests for getting / setting the SPE
|
|
registers (ev0 -- ev31, acc, and spefscr). See the description of
|
|
gdb_evrregset_t for details. */
|
|
#ifndef PTRACE_GETEVRREGS
|
|
#define PTRACE_GETEVRREGS 20
|
|
#define PTRACE_SETEVRREGS 21
|
|
#endif
|
|
|
|
/* Target Address Register. */
|
|
#ifndef NT_PPC_TAR
|
|
#define NT_PPC_TAR 0x103
|
|
#endif
|
|
|
|
/* Program Priority Register. */
|
|
#ifndef NT_PPC_PPR
|
|
#define NT_PPC_PPR 0x104
|
|
#endif
|
|
|
|
/* Data Stream Control Register. */
|
|
#ifndef NT_PPC_DSCR
|
|
#define NT_PPC_DSCR 0x105
|
|
#endif
|
|
|
|
/* Event Based Branch Registers. */
|
|
#ifndef NT_PPC_EBB
|
|
#define NT_PPC_EBB 0x106
|
|
#endif
|
|
|
|
/* Performance Monitor Registers. */
|
|
#ifndef NT_PPC_PMU
|
|
#define NT_PPC_PMU 0x107
|
|
#endif
|
|
|
|
/* TM checkpointed GPR Registers. */
|
|
#ifndef NT_PPC_TM_CGPR
|
|
#define NT_PPC_TM_CGPR 0x108
|
|
#endif
|
|
|
|
/* TM checkpointed FPR Registers. */
|
|
#ifndef NT_PPC_TM_CFPR
|
|
#define NT_PPC_TM_CFPR 0x109
|
|
#endif
|
|
|
|
/* TM checkpointed VMX Registers. */
|
|
#ifndef NT_PPC_TM_CVMX
|
|
#define NT_PPC_TM_CVMX 0x10a
|
|
#endif
|
|
|
|
/* TM checkpointed VSX Registers. */
|
|
#ifndef NT_PPC_TM_CVSX
|
|
#define NT_PPC_TM_CVSX 0x10b
|
|
#endif
|
|
|
|
/* TM Special Purpose Registers. */
|
|
#ifndef NT_PPC_TM_SPR
|
|
#define NT_PPC_TM_SPR 0x10c
|
|
#endif
|
|
|
|
/* TM checkpointed Target Address Register. */
|
|
#ifndef NT_PPC_TM_CTAR
|
|
#define NT_PPC_TM_CTAR 0x10d
|
|
#endif
|
|
|
|
/* TM checkpointed Program Priority Register. */
|
|
#ifndef NT_PPC_TM_CPPR
|
|
#define NT_PPC_TM_CPPR 0x10e
|
|
#endif
|
|
|
|
/* TM checkpointed Data Stream Control Register. */
|
|
#ifndef NT_PPC_TM_CDSCR
|
|
#define NT_PPC_TM_CDSCR 0x10f
|
|
#endif
|
|
|
|
/* Return the wordsize of the target, either 4 or 8 bytes. */
|
|
int ppc_linux_target_wordsize (int tid);
|
|
|
|
#endif /* NAT_PPC_LINUX_H */
|