summaryrefslogtreecommitdiffstats
path: root/private/mvdm/softpc.new/host/inc/mips/prod/lc_c.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/mvdm/softpc.new/host/inc/mips/prod/lc_c.h')
-rw-r--r--private/mvdm/softpc.new/host/inc/mips/prod/lc_c.h232
1 files changed, 232 insertions, 0 deletions
diff --git a/private/mvdm/softpc.new/host/inc/mips/prod/lc_c.h b/private/mvdm/softpc.new/host/inc/mips/prod/lc_c.h
new file mode 100644
index 000000000..ce99bcfc0
--- /dev/null
+++ b/private/mvdm/softpc.new/host/inc/mips/prod/lc_c.h
@@ -0,0 +1,232 @@
+#ifndef _Lc_c_h
+#define _Lc_c_h
+#define ONE (1)
+#define TCTRL_ENTRYPOINT_BITNUM (0)
+#define TCTRL_ENTRYPOINT_BITMASK (1)
+#define TCTRL_SPLITPOINT_BITNUM (1)
+#define TCTRL_SPLITPOINT_BITMASK (2)
+#define TCTRL_ENDFRAG_BITNUM (2)
+#define TCTRL_ENDFRAG_BITMASK (4)
+#define TCTRL_SPM_PREDICTED_BITNUM (4)
+#define TCTRL_SPM_PREDICTED_BITMASK (16)
+#define TCTRL_FOLDED_BITNUM (5)
+#define TCTRL_FOLDED_BITMASK (32)
+#define TCTRL_SOFTIMM_BIT_S (7)
+#define TCTRL_SOFTIMM_BIT_E (6)
+#define TCTRL_SOFTIMM_BITMASK (192)
+#define NUM_HASH_BITS (6)
+#define HASH_MASK (63)
+#define BYTES_PER_HCU (4)
+#define MORE_PRS_MASK (128)
+#define JUMP_REC_NULL ((struct JUMP_REC*)0)
+#define CODE_ELEM_NULL ((IU32*)0)
+#define MAX_JUMP_REC_PER_FRAG (33)
+#define VCT_NODE_REC_NULL ((struct VCT_NODE_REC*)0)
+#define DS_CHANGE (65536)
+#define DS_RW_IMM (131072)
+#define CS_RW_IMM (262144)
+#define RW_IMM_SIZE_MASK (3670016)
+#define RW_IMM_SIZE_SHIFT (19)
+#define RW_IMM_SIZE_TOPBIT (21)
+#define IMM_RW_OPT_MASK (393216)
+#define IMM_RW_MASK (458752)
+#define HBP_TOUCHER_BITNUM (22)
+#define HBP_TOUCHER_MASK (4194304)
+#define HBP_CLIENT_BITNUM (23)
+#define HBP_CLIENT_MASK (8388608)
+#define HBP_SET_BITNUM (24)
+#define HBP_SET_MASK (16777216)
+#define HBP_POSV_CHECK_BITNUM (25)
+#define HBP_POSV_CHECK_MASK (33554432)
+#define HBP_NEGV_CHECK_BITNUM (26)
+#define HBP_NEGV_CHECK_MASK (67108864)
+#define IcLineOfCode (20)
+#define IcCallCodeSize (40)
+#define IcMaxImmedSize (20)
+#define IcGotoCodeSize (20)
+#define IcMaxFtUpdateSize (60)
+#define IcMaxUnivUpdateSize (80)
+enum AccessType
+{
+ ACCESS_NA = 0,
+ ACCESS_READ = 1,
+ ACCESS_WRITE = 2,
+ ACCESS_READ_WRITE = 3,
+ ACCESS_VALIDATED_WRITE = 4
+};
+enum CopierActionPhase
+{
+ CpActionPhaseInstruction = 0,
+ CpActionPhaseCopying = 1,
+ CpActionPhaseExecute = 2
+};
+enum CopierAction
+{
+ CopierActionCopyZero = 0,
+ CopierActionCopyOne = 1,
+ CopierActionCopyTwo = 2,
+ CopierActionCopyThree = 3,
+ CopierActionCopyFour = 4,
+ CopierActionCopyFive = 5,
+ CopierActionCopySix = 6,
+ CopierActionCopyVariable = 7,
+ CopierActionPrePatchJcond = 8,
+ CopierActionPatchJcond = 9,
+ CopierActionBackoverMarker = 10,
+ CopierActionSubrId = 11,
+ CopierActionNeedSafeContinueFragmentCheck = 12,
+ CopierActionNpxExceptionData = 13,
+ CopierActionNeedNextIntelEip = 14,
+ CopierActionTupleImmARG1 = 15,
+ CopierActionTupleImmARG2 = 16,
+ CopierActionTupleImmARG3 = 17,
+ CopierActionTupleImmV5 = 18,
+ CopierActionTupleImmV6 = 19,
+ CopierActionTupleImmV7 = 20,
+ CopierActionTupleImmV8 = 21,
+ CopierActionTupleImmV9 = 22,
+ CopierActionTupleImmV10 = 23,
+ CopierActionTupleImmV11 = 24,
+ CopierActionTupleImmV12 = 25,
+ CopierActionTupleImmV13 = 26,
+ CopierActionTupleImmV14 = 27,
+ CopierActionTupleImmV15 = 28,
+ CopierActionTupleImmV16 = 29,
+ CopierActionTupleImmV17 = 30,
+ CopierActionTupleImmV18 = 31,
+ CopierActionTupleImmV19 = 32,
+ CopierActionTupleImmV20 = 33,
+ CopierActionTupleImmV21 = 34,
+ CopierActionTupleImmV22 = 35,
+ CopierActionTupleImmV23 = 36,
+ CopierActionTupleDisp = 37,
+ CopierActionTupleImm2ARG2 = 38,
+ CopierActionTupleImm2ARG3 = 39,
+ CopierActionTupleRetEIP = 40,
+ CopierActionImmRWPhysPtr = 41,
+ CopierActionDsBaseFromDisp = 42,
+ CopierActionTearOffFlags = 43,
+ CopierActionSetsFt = 44,
+ CopierActionTrackFt = 45,
+ CopierActionSrcFt = 46,
+ CopierActionSrcFtSquelch = 47,
+ CopierActionTearOffFlagsEnd = 48,
+ CopierActionSrcFtPopf = 49,
+ CopierActionSrcCarryFlagInARG3 = 50,
+ CopierActionSrcCond_O_InARG3 = 51,
+ CopierActionSrcCond_Z_InARG3 = 52,
+ CopierActionSrcCond_BE_InARG3 = 53,
+ CopierActionSrcCond_S_InARG3 = 54,
+ CopierActionSrcCond_P_InARG3 = 55,
+ CopierActionSrcCond_L_InARG3 = 56,
+ CopierActionSrcCond_LE_InARG3 = 57,
+ CopierActionProfFragIndex = 58,
+ CopierNoteSrcEAX = 59,
+ CopierNoteSrcAX = 60,
+ CopierNoteDstEAX = 61,
+ CopierNoteDstAX = 62,
+ CopierNoteDstAL = 63,
+ CopierNoteSrcEBX = 64,
+ CopierNoteSrcBX = 65,
+ CopierNoteDstEBX = 66,
+ CopierNoteDstBX = 67,
+ CopierNoteDstBL = 68,
+ CopierNoteSrcECX = 69,
+ CopierNoteSrcCX = 70,
+ CopierNoteDstECX = 71,
+ CopierNoteDstCX = 72,
+ CopierNoteDstCL = 73,
+ CopierNoteSrcEDX = 74,
+ CopierNoteSrcDX = 75,
+ CopierNoteDstEDX = 76,
+ CopierNoteDstDX = 77,
+ CopierNoteDstDL = 78,
+ CopierNoteSrcEBP = 79,
+ CopierNoteDstEBP = 80,
+ CopierNoteDstBP = 81,
+ CopierNoteSrcEDI = 82,
+ CopierNoteDstEDI = 83,
+ CopierNoteDstDI = 84,
+ CopierNoteSrcESI = 85,
+ CopierNoteDstESI = 86,
+ CopierNoteDstSI = 87,
+ CopierNoteAddSingleInstruction = 88,
+ CopierNoteProcessSingleInstruction = 89,
+ CopierNoteSrcESP = 90,
+ CopierNoteSrcSP = 91,
+ CopierNotePostDstSP = 92,
+ CopierNotePostDstESP = 93,
+ CopierNotePostCommitPop = 94,
+ CopierNoteClearStackLocallyDangerous = 95,
+ CopierNoteHspAdjust = 96,
+ CopierNoteSetupHbp = 97,
+ CopierNoteGetHbpPlusDisp = 98,
+ CopierNoteAddrBP = 99,
+ CopierNoteAddrEBP = 100,
+ CopierNoteHspCheck = 101,
+ CopierNoteSrcUniverse = 102,
+ CopierNoteSetDF = 103,
+ CopierNoteClearDF = 104,
+ CopierNoteEnableImmRWOpt = 105,
+ CopierNoteBPILabel = 106,
+ CopierNoteCoRoutineReturnNeeded = 107,
+ CopierNoteCoRoutineReturnNotNeeded = 108,
+ CopierNoteCoRoutineReturnIfActive = 109,
+ CopierNoteLazySaveCoRoRet = 110,
+ CopierNoteForceSaveCoRoRet = 111,
+ CopierNoteCheckMaskedCLnonZero = 112,
+ CopierNoteCheckMaskedSoftImmedNonZeroARG1 = 113,
+ CopierNoteCheckMaskedSoftImmedNonZeroARG2 = 114,
+ CopierActionLast = 115
+};
+enum CopyEnum
+{
+ CopyOne = 0,
+ CopyTwo = 1,
+ CopyThree = 2,
+ CopyFour = 3,
+ CopyFive = 4,
+ CopySix = 5
+};
+struct VCT_NODE_REC
+{
+ IU8 actionRecord[3];
+ IU8 nextNode;
+ IU32 vsMask;
+ IU32 vsMatch;
+ IU32 codeRecord[1];
+};
+struct TUPLE_REC
+{
+ IS32 disp;
+ IU32 immed;
+ IU32 immed2;
+ IU32 start_eip;
+ IU32 ret_eip;
+ IU32 flags;
+ IU32 cvs;
+ IU8 control;
+ IU8 intel_length;
+ IU16 ea_EFI;
+ IU16 aux_ea_EFI;
+ IU16 access_EFI;
+ IU16 access_type;
+ IU16 business_EFI;
+ IS32 stack_movement;
+ IU16 immed_offs;
+ IU16 immed2_offs;
+ IU8 reloc1;
+ IU8 reloc2;
+ IBOOL opnd32;
+};
+struct JUMP_REC
+{
+ IU32 intelEa;
+ IU32 *hostAddr;
+ struct EntryPointCacheREC *univ;
+ struct JUMP_REC *next;
+ struct JUMP_REC *prev;
+ IBOOL ftStatus;
+ IUH ftVal;
+};
+#endif /* ! _Lc_c_h */