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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [mips/] [arch/] [v2_0/] [include/] [mips.inc] - Blame information for rev 174

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
#ifndef CYGONCE_HAL_MIPS_INC
2
#define CYGONCE_HAL_MIPS_INC
3
 
4
##=============================================================================
5
##
6
##      mips.inc
7
##
8
##      MIPS assembler header file
9
##
10
##=============================================================================
11
#####ECOSGPLCOPYRIGHTBEGIN####
12
## -------------------------------------------
13
## This file is part of eCos, the Embedded Configurable Operating System.
14
## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
15
##
16
## eCos is free software; you can redistribute it and/or modify it under
17
## the terms of the GNU General Public License as published by the Free
18
## Software Foundation; either version 2 or (at your option) any later version.
19
##
20
## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
21
## WARRANTY; without even the implied warranty of MERCHANTABILITY or
22
## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
23
## for more details.
24
##
25
## You should have received a copy of the GNU General Public License along
26
## with eCos; if not, write to the Free Software Foundation, Inc.,
27
## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
28
##
29
## As a special exception, if other files instantiate templates or use macros
30
## or inline functions from this file, or you compile this file and link it
31
## with other works to produce a work based on this file, this file does not
32
## by itself cause the resulting work to be covered by the GNU General Public
33
## License. However the source code for this file must still be made available
34
## in accordance with section (3) of the GNU General Public License.
35
##
36
## This exception does not invalidate any other reasons why a work based on
37
## this file might be covered by the GNU General Public License.
38
##
39
## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
40
## at http://sources.redhat.com/ecos/ecos-license/
41
## -------------------------------------------
42
#####ECOSGPLCOPYRIGHTEND####
43
##=============================================================================
44
#######DESCRIPTIONBEGIN####
45
##
46
## Author(s):   nickg
47
## Contributors:        nickg
48
## Date:        1997-10-16
49
## Purpose:     MIPS definitions.
50
## Description: This file contains various definitions and macros that are
51
##              useful for writing assembly code for the MIPS CPU family.
52
## Usage:
53
##              #include 
54
##              ...
55
##
56
##
57
######DESCRIPTIONEND####
58
##
59
##=============================================================================
60
 
61
##-----------------------------------------------------------------------------
62
## Standard MIPS register names:
63
 
64
#define zero    $0
65
#define z0      $0
66
#define v0      $2
67
#define v1      $3
68
#define a0      $4
69
#define a1      $5
70
#define a2      $6
71
#define a3      $7
72
#define t0      $8
73
#define t1      $9
74
#define t2      $10
75
#define t3      $11
76
#define t4      $12
77
#define t5      $13
78
#define t6      $14
79
#define t7      $15
80
#define s0      $16
81
#define s1      $17
82
#define s2      $18
83
#define s3      $19
84
#define s4      $20
85
#define s5      $21
86
#define s6      $22
87
#define s7      $23
88
#define t8      $24
89
#define t9      $25
90
#define k0      $26     /* kernel private register 0 */
91
#define k1      $27     /* kernel private register 1 */
92
#define gp      $28     /* global data pointer */
93
#define sp      $29     /* stack-pointer */
94
#define fp      $30     /* frame-pointer */
95
#define ra      $31     /* return address */
96
#define pc      $pc     /* pc, used on mips16 */
97
 
98
#define f0      $f0
99
#define f1      $f1
100
#define f2      $f2
101
#define f3      $f3
102
#define f4      $f4
103
#define f5      $f5
104
#define f6      $f6
105
#define f7      $f7
106
#define f8      $f8
107
#define f9      $f9
108
#define f10     $f10
109
#define f11     $f11
110
#define f12     $f12
111
#define f13     $f13
112
#define f14     $f14
113
#define f15     $f15
114
#define f16     $f16
115
#define f17     $f17
116
#define f18     $f18
117
#define f19     $f19
118
#define f20     $f20
119
#define f21     $f21
120
#define f22     $f22
121
#define f23     $f23
122
#define f24     $f24
123
#define f25     $f25
124
#define f26     $f26
125
#define f27     $f27
126
#define f28     $f28
127
#define f29     $f29
128
#define f30     $f30
129
#define f31     $f31
130
 
131
// Coprocessor 0 registers
132
 
133
#define index           $0      // TLB entry index register
134
#define random          $1      // TLB random index register
135
#define tlblo0          $2      // TLB even page entry register
136
#define tlblo1          $3      // TLB odd page entry register
137
#define config          $3      // Configuration register (TX39 only)
138
#define context         $4      // TLB context register
139
#define pagemask        $5      // TLB page size mask
140
#define wired           $6      // TLB wired boundary
141
#define cachectrl       $7      // Cache control
142
#define badvr           $8      // Bad virtual address
143
#define count           $9      // Timer cycle count register
144
#define tlbhi           $10     // TLB virtual address match register
145
#define compare         $11     // Timer compare register
146
#define status          $12     // Status register
147
#define cause           $13     // Exception cause
148
#define epc             $14     // Exception pc value
149
#define prid            $15     // processor ID
150
#define config0         $16     // Config register 0
151
#define lladdr          $17     // LLAdddr
152
#define xcontext        $20     // XContext register
153
#define ecc             $26     // Error Checking and Correcting
154
#define cache_err       $27     // Cache Error and Status
155
#define taglo           $28     // TagLo
156
#define taghi           $29     // TagHi
157
#define error_epc       $30     // Error exception pc value
158
 
159
 
160
#------------------------------------------------------------------------------
161
 
162
#define FUNC_START(name)        \
163
        .type name,@function;   \
164
        .set push ;             \
165
        .globl name;            \
166
        .ent   name;            \
167
        .set noreorder ;        \
168
name:
169
 
170
#define FUNC_END(name)          \
171
name##_end:                     \
172
        .set pop;               \
173
        .end name               \
174
 
175
#------------------------------------------------------------------------------
176
#endif // ifndef CYGONCE_HAL_MIPS_INC
177
# end of mips.inc

powered by: WebSVN 2.1.0

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