#ifndef __VMM_EMULATE_H
#define __VMM_EMULATE_H
#include <palacios/vm_guest.h>
-
+#include <palacios/vmm.h>
/*
* This is where we do the hideous X86 instruction parsing among other things
operand_type_t type;
};
+struct x86_prefix_list {
+ uint_t lock : 1;
+};
/* This parses an instruction
* All addresses in arguments are in the host address space
int v3_parse_instr(struct guest_info * info, // input
char * instr_ptr, // input
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); // output
return 0xffff;
break;
case PROTECTED:
- case PROTECTED_PG:
return 0xffffffff;
default:
V3_ASSERT(0);
return addr + (seg->selector << 4);
break;
case PROTECTED:
- case PROTECTED_PG:
return addr + seg->base;
break;
default: