aboutsummaryrefslogtreecommitdiff
path: root/target-mips/cpu.h
diff options
context:
space:
mode:
Diffstat (limited to 'target-mips/cpu.h')
-rw-r--r--target-mips/cpu.h24
1 files changed, 23 insertions, 1 deletions
diff --git a/target-mips/cpu.h b/target-mips/cpu.h
index b6494518f4..21c8cfc50e 100644
--- a/target-mips/cpu.h
+++ b/target-mips/cpu.h
@@ -598,6 +598,29 @@ struct CPUMIPSState {
#include "cpu-qom.h"
#if !defined(CONFIG_USER_ONLY)
+
+typedef struct {
+ target_long gpr_reg[32];
+ uint32_t pc;
+ uint32_t branch_addr;
+ target_ulong CP0_EntryLo0;
+ target_ulong CP0_EntryLo1;
+ target_ulong CP0_BadVAddr;
+ target_ulong CP0_EntryHi;
+ target_ulong CP0_Context;
+ target_ulong CP0_XContext;
+ target_ulong CP0_PageMask;
+ target_ulong CP0_PageGrain;
+ target_ulong CP0_PageGrain_rw_bitmask;
+ target_ulong CP0_Cause;
+ int32_t CP0_Index;
+ target_ulong CP0_KScratch[MIPS_KSCRATCH_NUM];
+ int do_tlbwr;
+} CPUInterpreterContext;
+
+extern CPUInterpreterContext CPU;
+
+int tlb_exception_interpreter(CPUMIPSState *env, uint32_t *handler, uint32_t size);
int no_mmu_map_address (CPUMIPSState *env, hwaddr *physical, int *prot,
target_ulong address, int rw, int access_type);
int fixed_mmu_map_address (CPUMIPSState *env, hwaddr *physical, int *prot,
@@ -921,5 +944,4 @@ static inline void compute_hflags(CPUMIPSState *env)
}
}
}
-
#endif /* !defined (__MIPS_CPU_H__) */