include/elf/
[deliverable/binutils-gdb.git] / gdb / arm-linux-tdep.h
CommitLineData
cb587d83
DJ
1/* GNU/Linux on ARM target support, prototypes.
2
7b6bb8da
JB
3 Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
4 Free Software Foundation, Inc.
cb587d83
DJ
5
6 This file is part of GDB.
7
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
a9762ec7 10 the Free Software Foundation; either version 3 of the License, or
cb587d83
DJ
11 (at your option) any later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
a9762ec7 19 along with this program. If not, see <http://www.gnu.org/licenses/>. */
cb587d83
DJ
20
21struct regset;
22struct regcache;
23
cb587d83
DJ
24#define ARM_LINUX_SIZEOF_NWFPE (8 * FP_REGISTER_SIZE \
25 + 2 * INT_REGISTER_SIZE \
26 + 8 + INT_REGISTER_SIZE)
27
17c12639
KH
28/* The index to access CSPR in user_regs defined in GLIBC. */
29#define ARM_CPSR_GREGNUM 16
30
cb587d83
DJ
31/* Support for register format used by the NWFPE FPA emulator. Each
32 register takes three words, where either the first one, two, or
33 three hold a single, double, or extended precision value (depending
34 on the corresponding tag). The register set is eight registers,
35 followed by the fpsr and fpcr, followed by eight tag bytes, and a
36 final word flag which indicates whether NWFPE has been
37 initialized. */
38
39#define NWFPE_FPSR_OFFSET (8 * FP_REGISTER_SIZE)
40#define NWFPE_FPCR_OFFSET (NWFPE_FPSR_OFFSET + INT_REGISTER_SIZE)
41#define NWFPE_TAGS_OFFSET (NWFPE_FPCR_OFFSET + INT_REGISTER_SIZE)
42#define NWFPE_INITFLAG_OFFSET (NWFPE_TAGS_OFFSET + 8)
43
44void arm_linux_supply_gregset (const struct regset *regset,
45 struct regcache *regcache,
46 int regnum, const void *gregs_buf, size_t len);
47void arm_linux_collect_gregset (const struct regset *regset,
48 const struct regcache *regcache,
49 int regnum, void *gregs_buf, size_t len);
50
51void supply_nwfpe_register (struct regcache *regcache, int regno,
52 const gdb_byte *regs);
53void collect_nwfpe_register (const struct regcache *regcache, int regno,
54 gdb_byte *regs);
55
56void arm_linux_supply_nwfpe (const struct regset *regset,
57 struct regcache *regcache,
58 int regnum, const void *regs_buf, size_t len);
59void arm_linux_collect_nwfpe (const struct regset *regset,
60 const struct regcache *regcache,
61 int regnum, void *regs_buf, size_t len);
This page took 0.290928 seconds and 4 git commands to generate.