2011-05-23 Pedro Alves <pedro@codesourcery.com>
[deliverable/binutils-gdb.git] / gdb / alphabsd-tdep.c
CommitLineData
8fe7c54b
MK
1/* Common target dependent code Alpha BSD's.
2
7b6bb8da 3 Copyright (C) 2000, 2001, 2002, 2006, 2007, 2008, 2009, 2010, 2011
9b254dd1 4 Free Software Foundation, Inc.
12bcb0fe
JT
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
12bcb0fe
JT
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/>. */
12bcb0fe
JT
20
21#include "defs.h"
390c1522 22#include "regcache.h"
12bcb0fe
JT
23
24#include "alpha-tdep.h"
25#include "alphabsd-tdep.h"
26
12bcb0fe
JT
27/* Conviently, GDB uses the same register numbering as the
28 ptrace register structure used by BSD on Alpha. */
29
30void
390c1522 31alphabsd_supply_reg (struct regcache *regcache, const char *regs, int regno)
12bcb0fe 32{
98a8e1e5 33 /* PC is at slot 32; UNIQUE not present. */
390c1522 34 alpha_supply_int_regs (regcache, regno, regs, regs + 31 * 8, NULL);
12bcb0fe
JT
35}
36
37void
390c1522 38alphabsd_fill_reg (const struct regcache *regcache, char *regs, int regno)
12bcb0fe 39{
98a8e1e5 40 /* PC is at slot 32; UNIQUE not present. */
390c1522 41 alpha_fill_int_regs (regcache, regno, regs, regs + 31 * 8, NULL);
12bcb0fe
JT
42}
43
44void
0963b4bd
MS
45alphabsd_supply_fpreg (struct regcache *regcache,
46 const char *fpregs, int regno)
12bcb0fe 47{
98a8e1e5 48 /* FPCR is at slot 33; slot 32 unused. */
390c1522 49 alpha_supply_fp_regs (regcache, regno, fpregs, fpregs + 32 * 8);
12bcb0fe
JT
50}
51
52void
390c1522 53alphabsd_fill_fpreg (const struct regcache *regcache, char *fpregs, int regno)
12bcb0fe 54{
98a8e1e5 55 /* FPCR is at slot 33; slot 32 unused. */
390c1522 56 alpha_fill_fp_regs (regcache, regno, fpregs, fpregs + 32 * 8);
12bcb0fe 57}
This page took 0.55734 seconds and 4 git commands to generate.