public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5][RESEND] Split the emulator: decode & execute
@ 2007-09-18  9:26 Laurent Vivier
       [not found] ` <46EF99C1.4070801-6ktuUTfB/bM@public.gmane.org>
  0 siblings, 1 reply; 9+ messages in thread
From: Laurent Vivier @ 2007-09-18  9:26 UTC (permalink / raw)
  To: kvm-devel


[-- Attachment #1.1: Type: text/plain, Size: 1907 bytes --]

These patches split the emulator in two parts: one to decode the instruction,
the other to execute it. The decode part is then called only when needed.

[PATCH 1/5] x86_emulate-remove_unused, some cleanup: remove unused functions
[PATCH 2/5] x86_emulate-context, move all x86_emulate_memop() common variables
            between decode and execute to a structure decode_cache.

            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;
           };

[PATCH 3/5] x86_emulate-decode_insn, move all decoding process to function
            x86_decode_insn().
[PATCH 4/5] x86_emulate-split, emulate_instruction() calls now x86_decode_insn()
	    and x86_emulate_insn(). x86_emulate_insn() is x86_emulate_memop()
            without the decoding part.
[PATCH 5/5] x86_emulate-optimize, move emulate_ctxt to kvm_vcpu to keep emulate
            context when we exit from kvm module. Call x86_decode_insn() only
            when needed. Modify x86_emulate_insn() to not modify the context if
            it must be re-entered.

Signed-off-by: Laurent Vivier <Laurent.Vivier-6ktuUTfB/bM@public.gmane.org>
-- 
------------- Laurent.Vivier-6ktuUTfB/bM@public.gmane.org  --------------
          "Software is hard" - Donald Knuth



[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

[-- Attachment #2: Type: text/plain, Size: 228 bytes --]

-------------------------------------------------------------------------
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/

[-- Attachment #3: Type: text/plain, Size: 186 bytes --]

_______________________________________________
kvm-devel mailing list
kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/kvm-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2007-09-20 18:55 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-18  9:26 [PATCH 0/5][RESEND] Split the emulator: decode & execute Laurent Vivier
     [not found] ` <46EF99C1.4070801-6ktuUTfB/bM@public.gmane.org>
2007-09-18 10:16   ` Avi Kivity
     [not found]     ` <46EFA593.2010706-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-18 10:28       ` Laurent Vivier
2007-09-20 15:03   ` [PATCH] move grp decoding to functions to make x86_emulate_insn() clearer Laurent Vivier
     [not found]     ` <11903005973031-git-send-email-Laurent.Vivier-6ktuUTfB/bM@public.gmane.org>
2007-09-20 17:43       ` Avi Kivity
     [not found]         ` <46F2B129.9060603-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-20 18:24           ` Laurent Vivier
     [not found]             ` <46F2BAD9.1080209-6ktuUTfB/bM@public.gmane.org>
2007-09-20 18:25               ` Avi Kivity
     [not found]                 ` <46F2BB21.2080209-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-20 18:47                   ` Laurent Vivier
     [not found]                     ` <46F2C053.90207-6ktuUTfB/bM@public.gmane.org>
2007-09-20 18:55                       ` Avi Kivity

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox