xref: /qemu/target/mips/tcg/translate.h (revision e31309365e50a44ebaa6490445d877d8c4acb4f0)
1*e3130936SPhilippe Mathieu-Daudé /*
2*e3130936SPhilippe Mathieu-Daudé  *  MIPS translation routines.
3*e3130936SPhilippe Mathieu-Daudé  *
4*e3130936SPhilippe Mathieu-Daudé  *  Copyright (c) 2004-2005 Jocelyn Mayer
5*e3130936SPhilippe Mathieu-Daudé  *
6*e3130936SPhilippe Mathieu-Daudé  * SPDX-License-Identifier: LGPL-2.1-or-later
7*e3130936SPhilippe Mathieu-Daudé  */
8*e3130936SPhilippe Mathieu-Daudé #ifndef TARGET_MIPS_TRANSLATE_H
9*e3130936SPhilippe Mathieu-Daudé #define TARGET_MIPS_TRANSLATE_H
10*e3130936SPhilippe Mathieu-Daudé 
11*e3130936SPhilippe Mathieu-Daudé #include "exec/translator.h"
12*e3130936SPhilippe Mathieu-Daudé 
13*e3130936SPhilippe Mathieu-Daudé typedef struct DisasContext {
14*e3130936SPhilippe Mathieu-Daudé     DisasContextBase base;
15*e3130936SPhilippe Mathieu-Daudé     target_ulong saved_pc;
16*e3130936SPhilippe Mathieu-Daudé     target_ulong page_start;
17*e3130936SPhilippe Mathieu-Daudé     uint32_t opcode;
18*e3130936SPhilippe Mathieu-Daudé     uint64_t insn_flags;
19*e3130936SPhilippe Mathieu-Daudé     int32_t CP0_Config1;
20*e3130936SPhilippe Mathieu-Daudé     int32_t CP0_Config2;
21*e3130936SPhilippe Mathieu-Daudé     int32_t CP0_Config3;
22*e3130936SPhilippe Mathieu-Daudé     int32_t CP0_Config5;
23*e3130936SPhilippe Mathieu-Daudé     /* Routine used to access memory */
24*e3130936SPhilippe Mathieu-Daudé     int mem_idx;
25*e3130936SPhilippe Mathieu-Daudé     MemOp default_tcg_memop_mask;
26*e3130936SPhilippe Mathieu-Daudé     uint32_t hflags, saved_hflags;
27*e3130936SPhilippe Mathieu-Daudé     target_ulong btarget;
28*e3130936SPhilippe Mathieu-Daudé     bool ulri;
29*e3130936SPhilippe Mathieu-Daudé     int kscrexist;
30*e3130936SPhilippe Mathieu-Daudé     bool rxi;
31*e3130936SPhilippe Mathieu-Daudé     int ie;
32*e3130936SPhilippe Mathieu-Daudé     bool bi;
33*e3130936SPhilippe Mathieu-Daudé     bool bp;
34*e3130936SPhilippe Mathieu-Daudé     uint64_t PAMask;
35*e3130936SPhilippe Mathieu-Daudé     bool mvh;
36*e3130936SPhilippe Mathieu-Daudé     bool eva;
37*e3130936SPhilippe Mathieu-Daudé     bool sc;
38*e3130936SPhilippe Mathieu-Daudé     int CP0_LLAddr_shift;
39*e3130936SPhilippe Mathieu-Daudé     bool ps;
40*e3130936SPhilippe Mathieu-Daudé     bool vp;
41*e3130936SPhilippe Mathieu-Daudé     bool cmgcr;
42*e3130936SPhilippe Mathieu-Daudé     bool mrp;
43*e3130936SPhilippe Mathieu-Daudé     bool nan2008;
44*e3130936SPhilippe Mathieu-Daudé     bool abs2008;
45*e3130936SPhilippe Mathieu-Daudé     bool saar;
46*e3130936SPhilippe Mathieu-Daudé     bool mi;
47*e3130936SPhilippe Mathieu-Daudé     int gi;
48*e3130936SPhilippe Mathieu-Daudé } DisasContext;
49*e3130936SPhilippe Mathieu-Daudé 
50*e3130936SPhilippe Mathieu-Daudé #endif
51