summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/mips/r4000.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/mips/r4000.h')
-rw-r--r--src/devices/cpu/mips/r4000.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/devices/cpu/mips/r4000.h b/src/devices/cpu/mips/r4000.h
index bbab6289ef8..d0e78cf845a 100644
--- a/src/devices/cpu/mips/r4000.h
+++ b/src/devices/cpu/mips/r4000.h
@@ -169,6 +169,8 @@ protected:
EH_VPN2_32 = 0x0000'0000'ffff'e000, // virtual page number (32-bit mode)
EH_VPN2_64 = 0x0000'00ff'ffff'e000, // virtual page number (64-bit mode)
EH_R = 0xc000'0000'0000'0000, // region (64-bit mode)
+
+ EH_WM = 0xc000'00ff'ffff'e0ff, // write mask
};
enum cp0_tlb_el : u64
{
@@ -177,6 +179,8 @@ protected:
EL_D = 0x0000'0000'0000'0004, // dirty
EL_C = 0x0000'0000'0000'0038, // coherency
EL_PFN = 0x0000'0000'3fff'ffc0, // page frame number
+
+ EL_WM = 0x0000'0000'3fff'fffe, // write mask
};
enum cp0_tlb_el_c : u64
{
@@ -346,6 +350,8 @@ protected:
bool cp0_64() const;
// cp1 implementation
+ void cp1_unimplemented();
+ template <typename T> bool cp1_op(T op);
void cp1_execute(u32 const op);
template <typename T> void cp1_set(unsigned const reg, T const data);