source: soft/giet_vm/boot/mips32_registers.h @ 160

Last change on this file since 160 was 160, checked in by karaoui, 12 years ago

giet-vm new version

File size: 2.1 KB
Line 
1/********************************************************************************/
2/*      File : mips32_registers.h                                               */
3/*      Author : Alain Greiner                                                  */
4/*      Date : 26/03/2012                                                       */
5/********************************************************************************/
6/*      We define mnemonics for MIPS32 registers                                */
7/********************************************************************************/
8               
9#ifndef _MIPS32_REGISTER_H
10#define _MIPS32_REGISTER_H
11
12/* processor registers */
13
14#define zero                    $0
15#define at                      $1
16#define v0                      $2
17#define v1                      $3
18#define a0                      $4
19#define a1                      $5
20#define a2                      $6
21#define a3                      $7
22#define t0                      $8
23#define t1                      $9
24#define t2                      $10
25#define t3                      $11
26#define t4                      $12
27#define t5                      $13
28#define t6                      $14
29#define t7                      $15
30#define s0                      $16
31#define s1                      $17
32#define s2                      $18
33#define s3                      $19
34#define s4                      $20
35#define s5                      $21
36#define s6                      $22
37#define s7                      $23
38#define t8                      $24
39#define t9                      $25
40#define k0                      $26
41#define k1                      $27
42#define gp                      $28
43#define sp                      $29
44#define fp                      $30
45#define ra                      $31
46
47/* CP0 registers */
48
49#define CP0_BAR                 $8
50#define CP0_TIME                $9
51#define CP0_SR                  $12
52#define CP0_CR                  $13
53#define CP0_EPC                 $14
54#define CP0_PROCID              $15,1
55
56/* CP2 registers */
57
58#define CP2_PTPR                $0
59#define CP2_MODE                $1
60#define CP2_ICACHE_FLUSH        $2
61#define CP2_DCACHE_FLUSH        $3
62#define CP2_ITLB_INVAL          $4
63#define CP2_DTLB_INVAL          $5
64#define CP2_ICACHE_INVAL        $6
65#define CP2_DCACHE_INVAL        $7
66#define CP2_ICACHE_PREFETCH     $8
67#define CP2_DCACHE_PREFETCH     $9
68#define CP2_SYNC                $10
69#define CP2_IETR                $11
70#define CP2_DETR                $12
71#define CP2_IBVAR               $13
72#define CP2_DBVAR               $14
73#define CP2_PARAMS              $15
74#define CP2_RELEASE             $16
75#define CP2_DATA_LO             $17     
76#define CP2_DATA_HI             $18             
77#define CP2_ICACHE_INVAL_PA     $19             
78#define CP2_DCACHE_INVAL_PA     $20
79
80/* Context index */
81
82#define CTX_SR_ID               0
83#define CTX_SP_ID               29
84#define CTX_RA_ID               31
85#define CTX_EPC_ID              32
86#define CTX_TTY_ID              34
87#define CTX_PTPR_ID             35
88#define CTX_MODE_ID             36
89
90
91#endif
Note: See TracBrowser for help on using the repository browser.