source: soft/giet_vm/sys/mips32_registers.h @ 253

Last change on this file since 253 was 238, checked in by alain, 11 years ago

Major evolution to support physical addresses larger than 32 bits.
The map.xml format has been modified: the vsegs associated to schedulers
are now explicitely defined and mapped in the page tables.

File size: 2.3 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_BVAR       $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#define CP0_SCHED      $22,0
56#define CP0_SCHED_EXT  $22,1
57
58/* CP2 registers */
59
60#define CP2_PTPR             $0
61#define CP2_MODE             $1
62#define CP2_ICACHE_FLUSH     $2
63#define CP2_DCACHE_FLUSH     $3
64#define CP2_ITLB_INVAL       $4
65#define CP2_DTLB_INVAL       $5
66#define CP2_ICACHE_INVAL     $6
67#define CP2_DCACHE_INVAL     $7
68#define CP2_ICACHE_PREFETCH  $8
69#define CP2_DCACHE_PREFETCH  $9
70#define CP2_SYNC             $10
71#define CP2_IETR             $11
72#define CP2_DETR             $12
73#define CP2_IBVAR            $13
74#define CP2_DBVAR            $14
75#define CP2_PARAMS           $15
76#define CP2_RELEASE          $16
77#define CP2_DATA_LO          $17     
78#define CP2_DATA_HI          $18         
79#define CP2_ICACHE_INVAL_PA  $19         
80#define CP2_DCACHE_INVAL_PA  $20
81
82#endif
83
84// Local Variables:
85// tab-width: 4
86// c-basic-offset: 4
87// c-file-offsets:((innamespace . 0)(inline-open . 0))
88// indent-tabs-mode: nil
89// End:
90// vim: filetype=c:expandtab:shiftwidth=4:tabstop=4:softtabstop=4
91
Note: See TracBrowser for help on using the repository browser.