From: Jack Lange Date: Mon, 9 Mar 2009 20:46:25 +0000 (-0500) Subject: 3 operand instructions no longer error out if the 3rd operand is exotic X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=commitdiff_plain;h=30f2ad50ac43558e633fb5f3f40422feacc8338b;hp=2f94a8dfea7209ee001ab014f5668c360320f14f;p=palacios.git 3 operand instructions no longer error out if the 3rd operand is exotic --- diff --git a/palacios/src/palacios/vmm_xed.c b/palacios/src/palacios/vmm_xed.c index 7c1c13e..eaac5bd 100644 --- a/palacios/src/palacios/vmm_xed.c +++ b/palacios/src/palacios/vmm_xed.c @@ -147,17 +147,16 @@ static int set_decoder_mode(struct guest_info * info, xed_state_t * state) { } /* -static int is_flags_reg(xed_reg_enum_t xed_reg) { - switch (xed_reg) { - case XED_REG_FLAGS: - case XED_REG_EFLAGS: - case XED_REG_RFLAGS: - return 1; - default: - return 0; - } -} - + static int is_flags_reg(xed_reg_enum_t xed_reg) { + switch (xed_reg) { + case XED_REG_FLAGS: + case XED_REG_EFLAGS: + case XED_REG_RFLAGS: + return 1; + default: + return 0; + } + } */ int v3_init_decoder(struct guest_info * info) { @@ -548,7 +547,7 @@ int v3_decode(struct guest_info * info, addr_t instr_ptr, struct x86_instr * ins } else { PrintError("Unhandled third operand type %s\n", xed_operand_type_enum_t2str(op_type)); - return -1; + instr->num_operands = 2; }