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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gdb-7.2/] [gdb/] [score-tdep.h] - Blame information for rev 861

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

Line No. Rev Author Line
1 330 jeremybenn
/* Target-dependent code for the S+core architecture, for GDB,
2
   the GNU Debugger.
3
 
4
   Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
5
 
6
   Contributed by Qinwei (qinwei@sunnorth.com.cn)
7
   Contributed by Ching-Peng Lin (cplin@sunplus.com)
8
 
9
   This file is part of GDB.
10
 
11
   This program is free software; you can redistribute it and/or modify
12
   it under the terms of the GNU General Public License as published by
13
   the Free Software Foundation; either version 3 of the License, or
14
   (at your option) any later version.
15
 
16
   This program is distributed in the hope that it will be useful,
17
   but WITHOUT ANY WARRANTY; without even the implied warranty of
18
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19
   GNU General Public License for more details.
20
 
21
   You should have received a copy of the GNU General Public License
22
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
23
 
24
#ifndef SCORE_TDEP_H
25
#define SCORE_TDEP_H
26
#include "math.h"
27
 
28
enum gdb_regnum
29
{
30
  SCORE_SP_REGNUM = 0,
31
  SCORE_FP_REGNUM = 2,
32
  SCORE_RA_REGNUM = 3,
33
  SCORE_A0_REGNUM = 4,
34
  SCORE_AL_REGNUM = 7,
35
  SCORE_PC_REGNUM = 49,
36
};
37
 
38
#define SCORE_A0_REGNUM        4
39
#define SCORE_A1_REGNUM        5
40
#define SCORE_REGSIZE          4
41
#define SCORE7_NUM_REGS         56
42
#define SCORE3_NUM_REGS         50
43
#define SCORE_BEGIN_ARG_REGNUM 4
44
#define SCORE_LAST_ARG_REGNUM  7
45
 
46
#define SCORE_INSTLEN          4
47
#define SCORE16_INSTLEN        2
48
 
49
/* Forward declarations. */
50
struct regset;
51
 
52
/* Target-dependent structure in gdbarch */
53
struct gdbarch_tdep
54
{
55
    /* Cached core file helpers. */
56
    struct regset *gregset;
57
};
58
 
59
/* Linux Core file support (dirty hack)
60
 
61
   S+core Linux register set definition, copy from S+core Linux */
62
struct pt_regs {
63
    /* Pad bytes for argument save space on the stack. */
64
    unsigned long pad0[6]; /* may be 4,MIPS accept 6var,SCore accepts 4 Var--yuchen */
65
 
66
    /* Saved main processor registers. */
67
    unsigned long orig_r4;
68
    unsigned long regs[32];
69
 
70
    /* Other saved registers. */
71
    unsigned long cel;
72
    unsigned long ceh;
73
 
74
    unsigned long sr0;  /*cnt*/
75
    unsigned long sr1;  /*lcr*/
76
    unsigned long sr2;  /*scr*/
77
 
78
    /* saved cp0 registers */
79
    unsigned long cp0_epc;
80
    unsigned long cp0_ema;
81
    unsigned long cp0_psr;
82
    unsigned long cp0_ecr;
83
    unsigned long cp0_condition;
84
};
85
 
86
typedef struct pt_regs elf_gregset_t;
87
 
88
#endif /* SCORE_TDEP_H */

powered by: WebSVN 2.1.0

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