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