Index: src/trusted/validator/x86/decoder/ncopcode_operand_kind.enum |
diff --git a/src/trusted/validator/x86/decoder/ncopcode_operand_kind.enum b/src/trusted/validator/x86/decoder/ncopcode_operand_kind.enum |
deleted file mode 100644 |
index bef5312677a0297435fa932642624e9a3fa26573..0000000000000000000000000000000000000000 |
--- a/src/trusted/validator/x86/decoder/ncopcode_operand_kind.enum |
+++ /dev/null |
@@ -1,432 +0,0 @@ |
-# Defines possible kinds of operands an opcode can have. |
-# Each line defines a separate operand kind. |
- |
-Unknown_Operand # Unknown operand. |
- |
-# Note: The instruction decoder may count on the fact that the A_operand |
-# values are contiguous, in the order specifed. |
- |
-# Models a 48-bit far pointer. |
-A_Operand |
- |
-# Note: The instruction decoder may count on the fact that the E_operand |
-# values are contiguous, in the order specified. |
- |
-# Models a general purpose register or memory operand. |
-# Size is defined by the computed operand size. |
-E_Operand |
- |
-# Models an 8-bit general-purpose register or memory |
-# operand. Intel's notation is r/m8. |
-Eb_Operand |
- |
-# Models a 16-bit general-purpose register or memory |
-# operand. Intel's notation is r/m16 |
-Ew_Operand |
- |
-# Models a 32-bit general-purpose register or memory |
-# operand. Intel's notation is r/m32. |
-Ev_Operand |
- |
-# Models a 64-bit general-purpose register or memory |
-# operand. Intel's notation is r/m64. |
-Eo_Operand |
- |
-# Models a 128-bit double-quadword register or memory |
-# operand. |
-Edq_Operand |
- |
-# Note: The instruction decoder may count on the fact that the G_Operand |
-# values are contiguous, in the order specified. |
- |
-# General purpose register specified by the ModRm reg field. |
-G_Operand |
- |
-# Models an 8-bit general purpose register or memory operand in |
-# in the Modrm byte. |
-# Intel's notation is r8. |
-Gb_Operand |
- |
-# Models a 16-bit general purpose register operand. |
-# Intel's notation is r16. |
-Gw_Operand |
- |
-# Models a 32-bit general-purpose register operand. |
-# Intel's notation is r32 |
-Gv_Operand |
- |
-# Models a 64 bit general-purpose register operand. |
-# Intel's notation is r64. |
-Go_Operand |
- |
-# Models a 128-bit general purpose register or memory operand. |
-Gdq_Operand |
- |
-# Models a G operand which is combined with a segment register to generate a segment address |
-# The segment register used is based on the mnemonic name of the instruction. |
-Seg_G_Operand |
- |
-# Models registers using the difference in the opcode base, from the opcode |
-# value. |
-G_OpcodeBase |
- |
-# Note: The instruction decoder may count on the fact that the I_Operand |
-# values are contiguous, in the order specified. |
- |
-# Model an immediate value. Size is defined by the |
-# computed operand size. |
-I_Operand |
- |
-# An immediate 8-bit value. Intel's notation is imm8. |
-Ib_Operand |
- |
-# An immediate 16-bit value. Intel's notation is imm16. |
-Iw_Operand |
- |
-# An immediate 32-bit value. Intel's notation is imm32. |
-Iv_Operand |
- |
-# An immediate 64-bit value. Intel's notation is imm64. |
-Io_Operand |
- |
-# Model the 2n'd immediate value. Size defined by the OpcodeHasImmed2_x flag. |
-I2_Operand |
- |
-# Note: The instruction decoder may count on the fact that the J_Operand |
-# values are contiguous, in the order specified. |
- |
-# A relative address to branch to. Size is defined by |
-# the computed operand size. |
-J_Operand |
- |
-# A relative address (range 128 before, 127 after) the |
-# end of the instruction. Intel's notation is rel8. |
-Jb_Operand |
- |
-# A relative address that is 16 bits long (operand size). |
-# Intel's notation is rel16 |
-Jw_Operand |
- |
-# A relative address that is 32 bits long (operand size). |
-# Intel's notation is rel32. |
-Jv_Operand |
- |
-# Note: The instruction decoder may count on the fact that the M_Operand |
-# values are contiguous, in the order specified. |
- |
-# A 16, 32, or 64 bit operand in memory. ??? |
-# Intel's notation is m. Size is defined by the |
-# computed operand size. |
-M_Operand |
- |
-# A 8-bit operand in memory pointerd to by the DS:(E)Si or |
-# ES:(E)DI registers. In 64-bit mode, it is pointed to |
-# by the RSI or RDI registers. Intel's notation is m8. |
-Mb_Operand |
- |
-# A 16-bit operand in memory pointed to by the DS:(E)SI |
-# or ES:(E)DI registers. Intel's notation is m16. |
-Mw_Operand |
- |
-# A 32-bit operand in memory pointed to by the DS:(E)SI |
-# or ES:(E)DI registers. Intel's notation is m32. |
-Mv_Operand |
- |
-# A 64-bit operand in memory. Intel's notation is m64. |
-Mo_Operand |
- |
-# A 128-bit operand in memory. Intel's notation is m128. |
-# AMD's notation is Mdq. |
-# Note: Because the size is the same, Mdq_Operand is a synonym for Mpd_Operand |
-# and Mps_Operand. |
-Mdq_Operand |
- |
-# A memory operand containing a far pointer composed of |
-# a 16-bit selector and a 16 bit offset. Intel's notation |
-# is m16:16. |
-Mpw_Operand |
- |
-# A memory operand containing a far pointer composed of |
-# a 16 bit selector and a 32 bit offset. Intel's notation |
-# is m16:32. |
-Mpv_Operand |
- |
-# A memory operand containing a far pointer composed of |
-# a 16 bit selector and a 64 bit offset. Intel's notation |
-# is m16:64. |
-Mpo_Operand |
- |
-# Like E_Operand, but uses MMX registers instead. |
-Mmx_E_Operand |
- |
-# Pseudonym for Mxx_E_Operand that automatically adds |
-# OpFlag(ModRmModIs0x3). |
-Mmx_N_Operand |
- |
-# Like G_Operand, but uses MMX registers instead. |
-Mmx_G_Operand |
- |
-# Like Mmx_G_Operand, but size is always 32 bits. |
-Mmx_Gd_Operand |
- |
-# Like E_Operand, but uses XMM registers instead. |
-Xmm_E_Operand |
- |
-# A 64-bit Xmm value, as defined by Xmm_E_Operand |
-Xmm_Eo_Operand |
- |
-# Like G_Operand, but uses XMM registers instead. |
-Xmm_G_Operand |
- |
-# A 64-bit Xmm value, as defined by Xmm_G_operand. |
-Xmm_Go_Operand |
- |
-# Control register specified by the ModRm reg field. |
-C_Operand |
- |
-# Debug register specified by the ModRm reg field. |
-D_Operand |
- |
-# Note: The instruction decoder may count on the fact that the O_Operand |
-# values are contiguous, in the order specified. |
- |
-# A memory offset. Size is defined by the computed operand size. |
-O_Operand |
- |
-# A memory 8-bit offset. Intel's notation is moffs8. |
-Ob_Operand |
- |
-# A memory 16-bit offset. Intel's notation is moffs16. |
-Ow_Operand |
- |
-# A memory 32-bit offset. Intel's notation is moffs32. |
-Ov_Operand |
- |
-# A memory 64-bit offset. Intel's notation is moffs64. |
-Oo_Operand |
- |
-# A segment register. The segment register bit assignments |
-# are ES=0, CS=1, SS=2, DS=3, FS=4, GS=5. Intel's notation |
-# is Sreg. |
-S_Operand |
- |
-# A Floating point ST register enocoded in opcode byte. |
-St_Operand |
- |
-# Note: The instruction decoder may count on the fact that the list |
-# of register values are contiguous, in the order specified. |
- |
-# Unknown register - Used if actual register can't |
-# be determined by the instruction decoder. |
-RegUnknown |
-RegAL # 8-bit registers in 32-bit and 64-bit modes. |
-RegBL |
-RegCL |
-RegDL |
- |
-RegAH # Additional 8-bit regisister in 32-bit mode. |
-RegBH |
-RegCH |
-RegDH |
- |
-RegDIL # Additional 8-bit registers in 64-bit mode. |
-RegSIL |
-RegBPL |
-RegSPL |
-# Note: Intel manual claims that r8l..r15l should be used. However, AMD |
-# manual and (xed from Intel) uses r8b..r15b. Therefore we will use the |
-# latter. |
-RegR8B |
-RegR9B |
-RegR10B |
-RegR11B |
-RegR12B |
-RegR13B |
-RegR14B |
-RegR15B |
- |
-RegAX # 16 bit registers in 32-bit and 64-bit modes. |
-RegBX |
-RegCX |
-RegDX |
-RegSI |
-RegDI |
-RegBP |
-RegSP |
- |
-RegR8W # 16 bit registers only in 64-bit mode. |
-RegR9W |
-RegR10W |
-RegR11W |
-RegR12W |
-RegR13W |
-RegR14W |
-RegR15W |
- |
-RegEAX # General 32-bit registers in 32-bit and 64-bit modes. |
-RegEBX |
-RegECX |
-RegEDX |
-RegESI |
-RegEDI |
-RegEBP |
-RegESP |
- |
-RegR8D # Additional 32-bit registers in 64-bit mode. |
-RegR9D |
-RegR10D |
-RegR11D |
-RegR12D |
-RegR13D |
-RegR14D |
-RegR15D |
- |
-RegCS # 16-bit segment registers in 32-bit and 64-bit modes. |
-RegDS |
-RegSS |
-RegES |
-RegFS |
-RegGS |
- |
-RegCR0 # Control registers in 32-bit and 64-bit modes. |
-RegCR1 |
-RegCR2 |
-RegCR3 |
-RegCR4 |
-RegCR5 |
-RegCR6 |
-RegCR7 |
-RegCR8 |
-RegCR9 |
-RegCR10 |
-RegCR11 |
-RegCR12 |
-RegCR13 |
-RegCR14 |
-RegCR15 |
- |
-RegDR0 # Debug registers in 32-bit and 64-bit modes. |
-RegDR1 |
-RegDR2 |
-RegDR3 |
-RegDR4 |
-RegDR5 |
-RegDR6 |
-RegDR7 |
-RegDR8 |
-RegDR9 |
-RegDR10 |
-RegDR11 |
-RegDR12 |
-RegDR13 |
-RegDR14 |
-RegDR15 |
- |
-RegEFLAGS # Program status and control register in 32-bit mode. |
-RegRFLAGS # Program status and control register in 64-bit mode. |
- |
-RegEIP # Instruction pointer in 32-bit mode. |
-RegRIP # Instruction pointer in 64-bit mode. |
- |
-RegRAX # General purpose 64-bit registers in 64-bit mode. |
-RegRBX |
-RegRCX |
-RegRDX |
-RegRSI |
-RegRDI |
-RegRBP |
-RegRSP |
-RegR8 |
-RegR9 |
-RegR10 |
-RegR11 |
-RegR12 |
-RegR13 |
-RegR14 |
-RegR15 |
- |
-# Use EIP or RIP, based on address size - EIP in 32-bits, RIP in 64-bits. |
-RegREIP |
- |
-# The following define the choice of register, based on operand size, as in the |
-# following table: |
-# Entry 16 bits 32 bits 64 bits |
-# ------------------------------------- |
-# REAX AX EAX RAX |
-# REBX BX EBX RBX |
-# RECX CX ECX RCX |
-# REDX DX EDX RDX |
-# RESP SP ESP RSP |
-# REBP BP EBP RSP |
-# RESI SI ESI RSI |
-# REDI DI EDI RDI |
-RegREAX |
-RegREBX |
-RegRECX |
-RegREDX |
-RegRESP |
-RegREBP |
-RegRESI |
-RegREDI |
- |
-# The following define the choice of register, based on address size, as in the |
-# following table: |
-# Entry 16 bits 32 bits 64 bits |
-# ------------------------------------- |
-# REAXa AX EAX RAX |
-RegREAXa |
- |
-# Use DS:(R,E)SI, like that specified in movsb, movsw, and movsd, and movsq |
-# instructions. |
-RegDS_ESI |
-# Use DS:(R,E)DI, like that specified in maskmovq and maskmovdqu instructions. |
-RegDS_EDI |
-# Use ES:(R,E)DI, like that specified in the insb, insw, and insd instructions. |
-RegES_EDI |
-# Use DS:(R,E)BX, like that specified in the xlat instruction. |
-RegDS_EBX, |
- |
-# Floating point stack registers. |
-RegST0 |
-RegST1 |
-RegST2 |
-RegST3 |
-RegST4 |
-RegST5 |
-RegST6 |
-RegST7 |
- |
-# MMX registers. |
-RegMMX0 |
-RegMMX1 |
-RegMMX2 |
-RegMMX3 |
-RegMMX4 |
-RegMMX5 |
-RegMMX6 |
-RegMMX7 |
- |
-# XMM registers. |
-RegXMM0 |
-RegXMM1 |
-RegXMM2 |
-RegXMM3 |
-RegXMM4 |
-RegXMM5 |
-RegXMM6 |
-RegXMM7 |
-RegXMM8 |
-RegXMM9 |
-RegXMM10 |
-RegXMM11 |
-RegXMM12 |
-RegXMM13 |
-RegXMM14 |
-RegXMM15 |
- |
-# One of the eight general purpose registers, less the stack pointer, based |
-# on operand size. |
-RegGP7 |
- |
-# Predefined constants. |
-Const_1 |