fix the java source compiler
[nestedvm.git] / src / org / ibex / nestedvm / Registers.java
1 // Copyright 2000-2005 the Contributors, as shown in the revision logs.
2 // Licensed under the Apache Public Source License 2.0 ("the License").
3 // You may not use this file except in compliance with the License.
4
5 package org.ibex.nestedvm;
6
7 interface Registers {
8     // Register Names
9     public final static int ZERO = 0; // Immutable, hardwired to 0
10     public final static int AT = 1;  // Reserved for assembler
11     public final static int K0 = 26; // Reserved for kernel 
12     public final static int K1 = 27; // Reserved for kernel 
13     public final static int GP = 28; // Global pointer (the middle of .sdata/.sbss)
14     public final static int SP = 29; // Stack pointer
15     public final static int FP = 30; // Frame Pointer
16     public final static int RA = 31; // Return Address
17     
18     // Return values (caller saved)
19     public final static int V0 = 2;
20     public final static int V1 = 3;
21     // Argument Registers (caller saved)
22     public final static int A0 = 4; 
23     public final static int A1 = 5;
24     public final static int A2 = 6;
25     public final static int A3 = 7;
26     // Temporaries (caller saved)
27     public final static int T0 = 8;
28     public final static int T1 = 9;
29     public final static int T2 = 10;
30     public final static int T3 = 11;
31     public final static int T4 = 12;
32     public final static int T5 = 13;
33     public final static int T6 = 14;
34     public final static int T7 = 15;
35     public final static int T8 = 24;
36     public final static int T9 = 25;
37     // Saved (callee saved)
38     public final static int S0 = 16;
39     public final static int S1 = 17;
40     public final static int S2 = 18;
41     public final static int S3 = 19;
42     public final static int S4 = 20;
43     public final static int S5 = 21;
44     public final static int S6 = 22;
45     public final static int S7 = 23;
46 }