diff options
Diffstat (limited to 'private/mvdm/softpc.new/host/inc/mips/prod/nano_c.h')
-rw-r--r-- | private/mvdm/softpc.new/host/inc/mips/prod/nano_c.h | 206 |
1 files changed, 206 insertions, 0 deletions
diff --git a/private/mvdm/softpc.new/host/inc/mips/prod/nano_c.h b/private/mvdm/softpc.new/host/inc/mips/prod/nano_c.h new file mode 100644 index 000000000..fe224f8ac --- /dev/null +++ b/private/mvdm/softpc.new/host/inc/mips/prod/nano_c.h @@ -0,0 +1,206 @@ +#ifndef _Nano_c_h +#define _Nano_c_h +#define nanoInstrument (0) +#define BYTE_SIZED (0) +#define WORD_SIZED (1) +#define LONG_SIZED (2) +#define ES_CODE (0) +#define CS_CODE (1) +#define SS_CODE (2) +#define DS_CODE (3) +#define FS_CODE (4) +#define GS_CODE (5) +#define EAX_CODE (0) +#define ECX_CODE (1) +#define EDX_CODE (2) +#define EBX_CODE (3) +#define ESP_CODE (4) +#define EBP_CODE (5) +#define ESI_CODE (6) +#define EDI_CODE (7) +#define MEM_CODE (8) +#define JUMP (0) +#define FALLTHROUGH (1) +#define TRUNCATION (2) +#define LEAVING (3) +#define NOT_APPLICABLE (4) +#define COMPILE_BLOCK (1) +#define LOG_SF_BREAK (2) +#define LOG_NORMAL_FLOW (3) +#define LOG_ABNORMAL_FLOW (4) +#define PARSE_AHEAD (5) +#define MONITOR_DS_CHANGE (6) +#define MONITOR_DS_USE (7) +#define BLOCK_LENGTH_CHANGE (8) +#define EAX_FORM_16 (0) +#define EAX_FORM_8 (1) +#define EBX_FORM_16 (2) +#define EBX_FORM_8 (3) +#define ECX_FORM_16 (4) +#define ECX_FORM_8 (5) +#define EDX_FORM_16 (6) +#define EDX_FORM_8 (7) +#define EBP_FORM_16 (8) +#define ESI_FORM_16 (9) +#define EDI_FORM_16 (10) +#define DF_BIT (11) +#define PROT_BIT (12) +#define V86_BIT (13) +#define BIG_CODE_BIT (14) +#define BIG_STACK_BIT (15) +#define DS_DEFAULT_SEG_BOT (16) +#define DS_DEFAULT_SEG_TOP (18) +#define SS_DEFAULT_SEG_BOT (19) +#define SS_DEFAULT_SEG_TOP (21) +#define ADDRESS_SIZE_TOGGLE_BIT (22) +#define OPERAND_SIZE_TOGGLE_BIT (23) +#define RESTORE_ESP_ON_EXCEPTION_BIT (24) +#define REP_E_BIT (25) +#define REP_NE_BIT (26) +#define EAX_BITMAP_BIT (0) +#define ECX_BITMAP_BIT (1) +#define EDX_BITMAP_BIT (2) +#define EBX_BITMAP_BIT (3) +#define ESP_BITMAP_BIT (4) +#define EBP_BITMAP_BIT (5) +#define ESI_BITMAP_BIT (6) +#define EDI_BITMAP_BIT (7) +#define ES_BITMAP_BIT (8) +#define CS_BITMAP_BIT (9) +#define SS_BITMAP_BIT (10) +#define DS_BITMAP_BIT (11) +#define FS_BITMAP_BIT (12) +#define GS_BITMAP_BIT (13) +#define HAS_AN_EA_REC_BIT (14) +#define INSTR_CONTINUATION_BIT (15) +#define NOTHING_BASE (1) +#define AX_BASE (2) +#define CX_BASE (3) +#define DX_BASE (4) +#define BX_BASE (5) +#define SP_BASE (6) +#define BP_BASE (7) +#define SI_BASE (8) +#define DI_BASE (9) +#define EAX_BASE (10) +#define ECX_BASE (11) +#define EDX_BASE (12) +#define EBX_BASE (13) +#define ESP_BASE (14) +#define EBP_BASE (15) +#define ESI_BASE (16) +#define EDI_BASE (17) +#define NOTHING_INDEX (0) +#define AX_INDEX (64) +#define CX_INDEX (96) +#define DX_INDEX (128) +#define BX_INDEX (160) +#define SP_INDEX (192) +#define BP_INDEX (224) +#define SI_INDEX (256) +#define DI_INDEX (288) +#define EAX_INDEX (320) +#define ECX_INDEX (352) +#define EDX_INDEX (384) +#define EBX_INDEX (416) +#define ESP_INDEX (448) +#define EBP_INDEX (480) +#define ESI_INDEX (512) +#define EDI_INDEX (544) +#define ES_SEGFORM (0) +#define CS_SEGFORM (1024) +#define SS_SEGFORM (2048) +#define DS_SEGFORM (3072) +#define FS_SEGFORM (4096) +#define GS_SEGFORM (5120) +#define NOTHING_MUL (0) +#define MUL_2 (8192) +#define MUL_4 (16384) +#define MUL_8 (24576) +#define READ_ACCESS_BIT (0) +#define WRITE_ACCESS_BIT (1) +#define ACCESS_LENGTH_BOT (2) +#define ACCESS_LENGTH_TOP (7) +#define NDBG_TRACE (1) +#define NDBG_PROMPT (2) +#define NDBG_CALLPRINT (4) +#define NDBG_COMPILE (8) +#define NDBG_VERBCOMPILE (16) +#define NDBG_YODA (32) +#define NDBG_UNIVCHECK (64) +#define DEAD_CONSTRAINTS (-1) +#define COUNT_TOP (7) +#define COUNT_BOT (4) +#define DEST_COUNT_TOP (3) +#define DEST_COUNT_BOT (0) +#define GET_AXBX_FORM (0) +#define GET_CXDX_FORM (16) +#define GET_BPSIDI_FORM (32) +#define PUT_AXBX_FORM (40) +#define PUT_CXDX_FORM (56) +#define PUT_BPSIDI_FORM (72) +#define READ_OP1 (80) +#define WRITE_OP1 (107) +#define READ_SEG_OP1 (134) +#define WRITE_SEG_OP1 (142) +#define WRITE_SEG_OP2 (150) +#define WRITE_OP2 (158) +#define READ_OP1_RETURN (185) +#define WRITE_OP1_BYTE_RETURN (212) +#define PUSH_OP1 (221) +#define POP_OP1 (223) +#define EA_OPERATIONS (225) +#define SIB_BASE_FUNCTIONS (281) +#define SIB_INDEX_FUNCTIONS (305) +#define ADD_OPERATIONS (337) +#define TEST_OPERATIONS (553) +#define JCC_OPERATIONS (580) +#define INC_OPERATIONS (596) +#define DEC_OPERATIONS (623) +#define NEG_OPERATIONS (650) +#define NOT_OPERATIONS (677) +#define MUL_OPERATIONS (704) +#define IMUL_OPERATIONS (707) +#define DIV_OPERATIONS (710) +#define IDIV_OPERATIONS (713) +#define IMUL3_OPERATIONS (716) +#define IMUL2_OPERATIONS (734) +#define SHIFT_OPERATIONS (752) +#define ARPL_OPERATIONS (968) +#define SETCC_OPERATIONS (977) +#define SHLD_OPERATIONS (993) +#define SHRD_OPERATIONS (1011) +#define BT_OPERATIONS (1029) +#define BTS_OPERATIONS (1047) +#define BTR_OPERATIONS (1065) +#define BTC_OPERATIONS (1083) +struct EntryPointREC +{ + IU16 hashNext; + IU16 codeSeg; + IU32 linearAddress; + IU32 constraints; + IS32 hostAddress; +}; +struct BLOCK_RECORD +{ + IU16 hashNext; + IU8 intelLength; + IU8 extraBits; + IU32 linearAddress; + IU32 constraints; + IS16 dsSelector; + IU16 destBlock; +}; +struct NI_BLOCK_RECORD +{ + IUH ni_State; + IU32 ni_Checksum; +}; +enum ni_StateValues +{ + ni_BlockFree = 0, + ni_BlockVirgin = 1, + ni_BlockActive = 2 +}; +#endif /* ! _Nano_c_h */ |