1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
/***************************************************************************
r3000.h
Interface file for the portable MIPS R3000 emulator.
Written by Aaron Giles
***************************************************************************/
#ifndef __R3000_H__
#define __R3000_H__
/***************************************************************************
COMPILE-TIME DEFINITIONS
***************************************************************************/
/***************************************************************************
REGISTER ENUMERATION
***************************************************************************/
enum
{
R3000_PC=1,R3000_SR,
R3000_R0,R3000_R1,R3000_R2,R3000_R3,R3000_R4,R3000_R5,R3000_R6,R3000_R7,
R3000_R8,R3000_R9,R3000_R10,R3000_R11,R3000_R12,R3000_R13,R3000_R14,R3000_R15,
R3000_R16,R3000_R17,R3000_R18,R3000_R19,R3000_R20,R3000_R21,R3000_R22,R3000_R23,
R3000_R24,R3000_R25,R3000_R26,R3000_R27,R3000_R28,R3000_R29,R3000_R30,R3000_R31
};
/***************************************************************************
INTERRUPT CONSTANTS
***************************************************************************/
#define R3000_IRQ0 0 /* IRQ0 */
#define R3000_IRQ1 1 /* IRQ1 */
#define R3000_IRQ2 2 /* IRQ2 */
#define R3000_IRQ3 3 /* IRQ3 */
#define R3000_IRQ4 4 /* IRQ4 */
#define R3000_IRQ5 5 /* IRQ5 */
/***************************************************************************
STRUCTURES
***************************************************************************/
typedef struct _r3000_cpu_core r3000_cpu_core;
struct _r3000_cpu_core
{
UINT8 hasfpu; /* 1 if we have an FPU, 0 otherwise */
size_t icache; /* code cache size */
size_t dcache; /* data cache size */
};
/***************************************************************************
PUBLIC FUNCTIONS
***************************************************************************/
DECLARE_LEGACY_CPU_DEVICE(R3000BE, r3000be);
DECLARE_LEGACY_CPU_DEVICE(R3000LE, r3000le);
DECLARE_LEGACY_CPU_DEVICE(R3041BE, r3041be);
DECLARE_LEGACY_CPU_DEVICE(R3041LE, r3041le);
#endif /* __R3000_H__ */
|