* ia64-linux-nat.c (ia64_register_addr): Add gdbarch parameter,
[deliverable/binutils-gdb.git] / gdb / amd64nbsd-nat.c
CommitLineData
cced5e27
MK
1/* Native-dependent code for NetBSD/amd64.
2
6aba47ca 3 Copyright (C) 2003, 2004, 2007 Free Software Foundation, Inc.
cced5e27
MK
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
cced5e27
MK
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/>. */
cced5e27
MK
19
20#include "defs.h"
6a5c78a3 21#include "target.h"
cced5e27
MK
22
23#include "gdb_assert.h"
24
85be1ca6 25#include "amd64-tdep.h"
cced5e27
MK
26#include "amd64-nat.h"
27
28/* Mapping between the general-purpose registers in NetBSD/amd64
29 `struct reg' format and GDB's register cache layout for
30 NetBSD/i386.
31
32 Note that most (if not all) NetBSD/amd64 registers are 64-bit,
33 while the NetBSD/i386 registers are all 32-bit, but since we're
34 little-endian we get away with that. */
35
36/* From <machine/reg.h>. */
37static int amd64nbsd32_r_reg_offset[] =
38{
39 14 * 8, /* %eax */
40 3 * 8, /* %ecx */
41 2 * 8, /* %edx */
42 13 * 8, /* %ebx */
43 24 * 8, /* %esp */
44 12 * 8, /* %ebp */
45 1 * 8, /* %esi */
46 0 * 8, /* %edi */
47 21 * 8, /* %eip */
48 23 * 8, /* %eflags */
af233647
MK
49 22 * 8, /* %cs */
50 25 * 8, /* %ss */
cced5e27
MK
51 18 * 8, /* %ds */
52 17 * 8, /* %es */
53 16 * 8, /* %fs */
54 15 * 8 /* %gs */
55};
56\f
57
58/* Provide a prototype to silence -Wmissing-prototypes. */
59void _initialize_amd64nbsd_nat (void);
60
61void
62_initialize_amd64nbsd_nat (void)
63{
64 amd64_native_gregset32_reg_offset = amd64nbsd32_r_reg_offset;
65 amd64_native_gregset32_num_regs = ARRAY_SIZE (amd64nbsd32_r_reg_offset);
66 amd64_native_gregset64_reg_offset = amd64nbsd_r_reg_offset;
6a5c78a3
MK
67
68 /* We've got nothing to add to the common *BSD/amd64 target. */
69 add_target (amd64bsd_target ());
cced5e27 70}
This page took 0.370016 seconds and 4 git commands to generate.