OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [gdb-5.3/] [gdb/] [config/] [m68k/] [tm-vx68.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1181 sfurman
/* Target machine description for VxWorks m68k's, for GDB, the GNU debugger.
2
   Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1996, 1998, 1999, 2000
3
   Free Software Foundation, Inc.
4
   Contributed by Cygnus Support.
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
10
   the Free Software Foundation; either version 2 of the License, or
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
19
   along with this program; if not, write to the Free Software
20
   Foundation, Inc., 59 Temple Place - Suite 330,
21
   Boston, MA 02111-1307, USA.  */
22
 
23
/* GCC is probably the only compiler used on this configuration.  So
24
   get this right even if the code which detects gcc2_compiled. is
25
   still broken.  */
26
 
27
#define BELIEVE_PCC_PROMOTION 1
28
 
29
/* We have more complex, useful breakpoints on the target.  */
30
#define DECR_PC_AFTER_BREAK     0
31
 
32
#include "m68k/tm-m68k.h"
33
#include "config/tm-vxworks.h"
34
 
35
/* Takes the current frame-struct pointer and returns the chain-pointer
36
   to get to the calling frame.
37
 
38
   If our current frame pointer is zero, we're at the top; else read out
39
   the saved FP from memory pointed to by the current FP.  */
40
 
41
#undef  FRAME_CHAIN
42
#define FRAME_CHAIN(thisframe) ((thisframe)->frame? read_memory_integer ((thisframe)->frame, 4): 0)
43
 
44
/* If the chain pointer is zero (either because the saved value fetched
45
   by FRAME_CHAIN was zero, or because the current FP was zero so FRAME_CHAIN
46
   never fetched anything), we are at the top of the stack.  */
47
/* We are guaranteed to have a zero frame pointer at bottom of stack, too. */
48
 
49
#undef  FRAME_CHAIN_VALID
50
#define FRAME_CHAIN_VALID(chain, thisframe) nonnull_frame_chain_valid (chain, thisframe)
51
 
52
/* FIXME, Longjmp information stolen from Sun-3 config.  Dunno if right.  */
53
/* Offsets (in target ints) into jmp_buf.  Not defined by Sun, but at least
54
   documented in a comment in <machine/setjmp.h>! */
55
 
56
#define JB_ELEMENT_SIZE 4
57
 
58
#define JB_ONSSTACK 0
59
#define JB_SIGMASK 1
60
#define JB_SP 2
61
#define JB_PC 3
62
#define JB_PSL 4
63
#define JB_D2 5
64
#define JB_D3 6
65
#define JB_D4 7
66
#define JB_D5 8
67
#define JB_D6 9
68
#define JB_D7 10
69
#define JB_A2 11
70
#define JB_A3 12
71
#define JB_A4 13
72
#define JB_A5 14
73
#define JB_A6 15
74
 
75
/* Figure out where the longjmp will land.  Slurp the args out of the stack.
76
   We expect the first arg to be a pointer to the jmp_buf structure from which
77
   we extract the pc (JB_PC) that we will land at.  The pc is copied into ADDR.
78
   This routine returns true on success */
79
 
80
#define GET_LONGJMP_TARGET(ADDR) m68k_get_longjmp_target(ADDR)
81
 
82
/* Number of registers in a ptrace_getregs call. */
83
 
84
#define VX_NUM_REGS (18)
85
 
86
/* Number of registers in a ptrace_getfpregs call. */
87
 
88
#define VX_SIZE_FPREGS (8 * REGISTER_RAW_SIZE (FP0_REGNUM) \
89
                        + (3 * REGISTER_SIZE))

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.