Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
[safe/jmp/linux-2.6] / include / asm-x86 / kvm_x86_emulate.h
index d6337f9..e2d9b03 100644 (file)
@@ -8,8 +8,8 @@
  * From: xen-unstable 10676:af9809f51f81a3c43f276f00c81a52ef558afda4
  */
 
-#ifndef __X86_EMULATE_H__
-#define __X86_EMULATE_H__
+#ifndef ASM_X86__KVM_X86_EMULATE_H
+#define ASM_X86__KVM_X86_EMULATE_H
 
 struct x86_emulate_ctxt;
 
@@ -124,7 +124,8 @@ struct decode_cache {
        u8 rex_prefix;
        struct operand src;
        struct operand dst;
-       unsigned long *override_base;
+       bool has_seg_override;
+       u8 seg_override;
        unsigned int d;
        unsigned long regs[NR_VCPU_REGS];
        unsigned long eip;
@@ -134,7 +135,9 @@ struct decode_cache {
        u8 modrm_reg;
        u8 modrm_rm;
        u8 use_modrm_ea;
+       bool rip_relative;
        unsigned long modrm_ea;
+       void *modrm_ptr;
        unsigned long modrm_val;
        struct fetch_cache fetch;
 };
@@ -149,12 +152,7 @@ struct x86_emulate_ctxt {
        /* Emulated execution mode, represented by an X86EMUL_MODE value. */
        int mode;
 
-       unsigned long cs_base;
-       unsigned long ds_base;
-       unsigned long es_base;
-       unsigned long ss_base;
-       unsigned long gs_base;
-       unsigned long fs_base;
+       u32 cs_base;
 
        /* decode cache */
 
@@ -183,4 +181,4 @@ int x86_decode_insn(struct x86_emulate_ctxt *ctxt,
 int x86_emulate_insn(struct x86_emulate_ctxt *ctxt,
                     struct x86_emulate_ops *ops);
 
-#endif                         /* __X86_EMULATE_H__ */
+#endif /* ASM_X86__KVM_X86_EMULATE_H */