X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_decoder.h;h=ddbf9f8847347bccf1d60bbe0d0239e9e76ea16e;hb=d0534dc3a0dc459971b2cdfd423dfb9a4f06a08b;hp=ac3e83bf71b926b0c1d4176edbc0efad42660f1b;hpb=bb63612fb642f9f05863ad3895df073eb22552e7;p=palacios.git diff --git a/palacios/include/palacios/vmm_decoder.h b/palacios/include/palacios/vmm_decoder.h index ac3e83b..ddbf9f8 100644 --- a/palacios/include/palacios/vmm_decoder.h +++ b/palacios/include/palacios/vmm_decoder.h @@ -44,13 +44,14 @@ struct x86_prefix_list { struct x86_instr { - uint_t instr_length; // output - addr_t opcode; // output - uint_t opcode_length; // output - struct x86_prefix_list prefixes; // output - struct x86_operand src_operand; // output - struct x86_operand dst_operand; // output - struct x86_operand extra_operand; + uint_t instr_length; + addr_t opcode; // a pointer to the V3_OPCODE_[*] arrays defined below + uint_t num_operands; + struct x86_prefix_list prefixes; + struct x86_operand first_operand; + struct x86_operand second_operand; + struct x86_operand third_operand; + void * decoder_data; }; @@ -123,7 +124,7 @@ struct sib_byte { -#define MAKE_INSTR(nm, ...) static const uchar_t OPCODE_##nm[] = { __VA_ARGS__ } +#define MAKE_INSTR(nm, ...) static const uchar_t V3_OPCODE_##nm[] = { __VA_ARGS__ } /* * Here's how it works: