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

Subversion Repositories or1k

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

Go to most recent revision | Details | Compare with Previous | View Log

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