From WikiChip
Coprocessor 0 - MIPS
Coprocessor 0 (also known as the CP0 or system control coprocessor) is a required coprocessor part of the MIPS32 and MIPS64 ISA which provides the facilities needed for an operating system.
Coprocessor 0 instructions[edit]
The following instructions can be used to read and write from CP0 registers.
Mnemonic | Description |
---|---|
MFC0 | Move from Coprocessor 0 |
MTC0 | Move to Coprocessor 0 |
Control Registers[edit]
Register Mnemonic | Register Number | Description |
---|---|---|
Context | 0 | memory management (TLB) |
Random | 1 | |
EntryLo0 | 2 | |
EntryLo1 | 3 | |
Context | 4 | |
PageMask | 5 | |
Wired | 6 | |
EntryHi | 10 | |
HWREna | 7.0 | Sets user-privilege programs permissions |
BadVAddr | 8 | Program address of the violation |
Count | 9 | high-resolution time |
Compare | 11 | |
SR | 12 | Status Register |
IntCtl | 12.1 | Interrupt vector setup |
SRSCtl | 12.2 | Shadow register control |
SRSMap | 12.3 | Shadow register map |
Cause | 13 | Cause Register |
EPC | 14 | Exception Program Counter |
PRId | 15 | Product ID register |
EBase | 15.1 | Exception entry point base address |
Config | 16 | CPU setup |
Config1 | 16.1 | |
Config2 | 16.2 | |
Config3 | 16.3 | |
LLAddr | 17.0 | Cache address |
Debug | 23.0 | EJTAG debug |
DEPC | 24.0 | |
DESAVE | 31.0 | |
CacheErr | 27 | Memory error analysis registers |
ECC | 26 | |
ErrorEPC | 30 | |
TagLo | 28 | Cache manipulation |
DataLo | 28.1 | |
TagHi | 29.0 | |
DataHi | 29.1 | |
WatchLo | 18.0 | Data watchpoint facility |
WatchHi | 19.0 | |
PerfCtl | 25.0 | Performance counter registers |
PerfCnt | 25.1 |