FD.io VPP  v16.06
Vector Packet Processing
asm_x86.h File Reference
+ Include dependency graph for asm_x86.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

union  x86_insn_operand_t
 
struct  x86_insn_t
 
struct  x86_insn_parse_t
 

Macros

#define X86_INSN_FLAG_DEFAULT_64_BIT   (1 << 0)
 
#define X86_INSN_FLAG_SET_SSE_GROUP(n)   ((n) << 5)
 
#define X86_INSN_FLAG_GET_SSE_GROUP(f)   (((f) >> 5) & 0x1f)
 
#define X86_INSN_FLAG_SET_MODRM_REG_GROUP(n)   (((n) & 0x3f) << 10)
 
#define X86_INSN_FLAG_GET_MODRM_REG_GROUP(f)   (((f) >> 10) & 0x3f)
 
#define foreach_x86_legacy_prefix
 
#define foreach_x86_insn_parse_flag
 

Enumerations

enum  x86_insn_parse_flag_bit_t { foreach_x86_legacy_prefix }
 
enum  x86_insn_parse_flag_t { foreach_x86_legacy_prefix }
 

Functions

always_inline uword x86_insn_operand_is_valid (x86_insn_t *i, uword o)
 
u8x86_insn_parse (x86_insn_parse_t *p, u8 *code_start)
 

Variables

format_function_t format_x86_insn_parse
 

Macro Definition Documentation

#define foreach_x86_insn_parse_flag
Value:
/* Parse in 32/64-bit mode. */ \
_ (PARSE_32_BIT, 0) \
_ (PARSE_64_BIT, 0) \
_ (IS_ADDRESS, 0) \
/* regs[1/2] is a valid base/index register */ \
_ (HAS_BASE, 0) \
_ (HAS_INDEX, 0) \
/* rex w bit */ \
_ (OPERAND_SIZE_64, 0)

Definition at line 63 of file asm_x86.h.

foreach_x86_legacy_prefix
Value:
_ (OPERAND_SIZE, 0x66) \
_ (ADDRESS_SIZE, 0x67) \
_ (SEGMENT_CS, 0x2e) \
_ (SEGMENT_DS, 0x3e) \
_ (SEGMENT_ES, 0x26) \
_ (SEGMENT_FS, 0x64) \
_ (SEGMENT_GS, 0x65) \
_ (SEGMENT_SS, 0x36) \
_ (LOCK, 0xf0) \
_ (REPZ, 0xf3) \
_ (REPNZ, 0xf2)

Definition at line 50 of file asm_x86.h.

#define X86_INSN_FLAG_DEFAULT_64_BIT   (1 << 0)

Definition at line 36 of file asm_x86.h.

#define X86_INSN_FLAG_GET_MODRM_REG_GROUP (   f)    (((f) >> 10) & 0x3f)

Definition at line 40 of file asm_x86.h.

#define X86_INSN_FLAG_GET_SSE_GROUP (   f)    (((f) >> 5) & 0x1f)

Definition at line 38 of file asm_x86.h.

#define X86_INSN_FLAG_SET_MODRM_REG_GROUP (   n)    (((n) & 0x3f) << 10)

Definition at line 39 of file asm_x86.h.

#define X86_INSN_FLAG_SET_SSE_GROUP (   n)    ((n) << 5)

Definition at line 37 of file asm_x86.h.

Enumeration Type Documentation

Enumerator
foreach_x86_legacy_prefix 

Definition at line 74 of file asm_x86.h.

Enumerator
foreach_x86_legacy_prefix 

Definition at line 81 of file asm_x86.h.

Function Documentation

always_inline uword x86_insn_operand_is_valid ( x86_insn_t i,
uword  o 
)

Definition at line 44 of file asm_x86.h.

+ Here is the caller graph for this function:

u8* x86_insn_parse ( x86_insn_parse_t p,
u8 code_start 
)

Definition at line 1494 of file asm_x86.c.

+ Here is the call graph for this function:

Variable Documentation

format_function_t format_x86_insn_parse

Definition at line 111 of file asm_x86.h.