repository: /home/avi/kvm/linux-2.6
branch: emulator-split
commit 1960f3527c9c6a86a4e91c3e9bf16fb73cc20d27
Author: Avi Kivity <[EMAIL PROTECTED]>
Date:   Tue Sep 18 11:52:50 2007 +0200

    (temporary commit to be folded)

diff --git a/drivers/kvm/x86_emulate.h b/drivers/kvm/x86_emulate.h
index 92c73aa..c354200 100644
--- a/drivers/kvm/x86_emulate.h
+++ b/drivers/kvm/x86_emulate.h
@@ -112,6 +112,36 @@ struct x86_emulate_ops {
 
 };
 
+/* Type, address-of, and value of an instruction's operand. */
+struct operand {
+       enum { OP_REG, OP_MEM, OP_IMM } type;
+       unsigned int bytes;
+       unsigned long val, orig_val, *ptr;
+};
+
+struct decode_cache {
+       u8 twobyte;
+       u8 b;
+       u8 lock_prefix;
+       u8 rep_prefix;
+       u8 op_bytes;
+       u8 ad_bytes;
+       struct operand src;
+       struct operand dst;
+       unsigned long *override_base;
+       unsigned int d;
+       unsigned long regs[NR_VCPU_REGS];
+       unsigned long eip;
+       /* modrm */
+       u8 modrm;
+       u8 modrm_mod;
+       u8 modrm_reg;
+       u8 modrm_rm;
+       u8 use_modrm_ea;
+       unsigned long modrm_ea;
+       unsigned long modrm_val;
+};
+
 struct x86_emulate_ctxt {
        /* Register state before/after emulation. */
        struct kvm_vcpu *vcpu;
@@ -129,6 +159,10 @@ struct x86_emulate_ctxt {
        unsigned long ss_base;
        unsigned long gs_base;
        unsigned long fs_base;
+
+       /* decode cache */
+
+       struct decode_cache decode;
 };
 
 /* Execution mode, passed to the emulator. */

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
kvm-commits mailing list
kvm-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-commits

Reply via email to