sdk-core
v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Toggle main menu visibility
Loading...
Searching...
No Matches
ee_cop0_defs.h
Go to the documentation of this file.
1
/*
2
# _____ ___ ____ ___ ____
3
# ____| | ____| | | |____|
4
# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5
#-----------------------------------------------------------------------
6
# Copyright (c) 2009 PS2DEV.org
7
# Licenced under Academic Free License version 2.0
8
# Review ps2sdk README & LICENSE files for further details.
9
*/
10
16
17
#ifndef __EE_COP0_DEFS_H__
18
#define __EE_COP0_DEFS_H__
19
20
#define M_EE_GET_CAUSE_EXCODE(__cause) (((__cause) >> 2) & 0x1F)
21
#define M_EE_GET_CAUSE_EXC2(__cause) (((__cause) >> 16) & 0x7)
22
23
// EE COP0 Register name defs
24
#define EE_COP0_Index $0
25
#define EE_COP0_Random $1
26
#define EE_COP0_EntryLo0 $2
27
#define EE_COP0_EntryLo1 $3
28
#define EE_COP0_Context $4
29
#define EE_COP0_Wired $5
30
#define EE_COP0_BadVAddr $8
31
#define EE_COP0_Count $9
32
#define EE_COP0_EntryHi $10
33
#define EE_COP0_Compare $11
34
#define EE_COP0_Status $12
35
#define EE_COP0_Cause $13
36
#define EE_COP0_EPC $14
37
#define EE_COP0_PRId $15
38
#define EE_COP0_Config $16
39
#define EE_COP0_BadPAddr $23
40
#define EE_COP0_TagLo $28
41
#define EE_COP0_TagHi $29
42
#define EE_COP0_ErrorEPC $30
43
44
// Bits for COP0 "Status" register.
45
#define EE_STATUS_IE (1 << 0)
46
#define EE_STATUS_EXL (1 << 1)
47
#define EE_STATUS_ERL (1 << 2)
48
49
#define EE_EXC2_RST (0)
50
#define EE_EXC2_NMI (1)
51
#define EE_EXC2_PERF (2)
52
#define EE_EXC2_DBG (3)
53
54
// Bits for COP0 "Cause" register.
55
#define EE_CAUSE_BD (1 << 31)
56
#define EE_CAUSE_BD2 (1 << 30)
57
59
#define EE_CAUSE_SIO (1 << 12)
60
61
// Bits in EE Cop0 Breakpoint Control(BPC)
62
63
/* Instruction Address breakpoint Enable */
64
#define EE_BPC_IAE (1 << 31)
65
66
/* Data Read breakpoint Enable */
67
#define EE_BPC_DRE (1 << 30)
68
69
/* Data Write breakpoint Enable */
70
#define EE_BPC_DWE (1 << 29)
71
72
/* Data Value breakpoint Enable */
73
#define EE_BPC_DVE (1 << 28)
74
75
/* Instruction address breakpoint - User mode Enable */
76
#define EE_BPC_IUE (1 << 26)
77
78
/* Instruction address breakpoint - Supervisor mode Enable */
79
#define EE_BPC_ISE (1 << 25)
80
81
/* Instruction address breakpoint - Kernel mode Enable */
82
#define EE_BPC_IKE (1 << 24)
83
84
/* Instruction address breakpoint - EXL mode Enable */
85
#define EE_BPC_IXE (1 << 23)
86
87
/* Data breakpoint - User mode Enable */
88
#define EE_BPC_DUE (1 << 21)
89
90
/* Data breakpoint - Supervisor mode Enable */
91
#define EE_BPC_DSE (1 << 20)
92
93
/* Data breakpoint - Kernel mode Enable */
94
#define EE_BPC_DKE (1 << 19)
95
96
/* Data breakpoint - EXL mode Enable */
97
#define EE_BPC_DXE (1 << 18)
98
99
/* Instruction address breakpoint - Trigger generation Enable */
100
#define EE_BPC_ITE (1 << 17)
101
102
/* Data breakpoint - Trigger generation Enable */
103
#define EE_BPC_DTE (1 << 16)
104
105
/* Breakpoint Exception Disable */
106
#define EE_BPC_BED (1 << 15)
107
108
/* Data Write Breakpoint establishment flag */
109
#define EE_BPC_DWB (1 << 2)
110
111
/* Data Read Breakpoint establishment flag */
112
#define EE_BPC_DRB (1 << 1)
113
114
/* Instruction Address Breakpoint */
115
#define EE_BPC_IAB (1 << 0)
116
117
#endif
/* __EE_COP0_DEFS_H__ */
core
common
include
ee_cop0_defs.h
Generated by
1.18.0