All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Vivier <Laurent.Vivier-6ktuUTfB/bM@public.gmane.org>
To: kvm-devel <kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Subject: [PATCH 0/5][RESEND] Split the emulator: decode & execute
Date: Tue, 18 Sep 2007 11:26:25 +0200	[thread overview]
Message-ID: <46EF99C1.4070801@bull.net> (raw)


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

             reply	other threads:[~2007-09-18  9:26 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-18  9:26 Laurent Vivier [this message]
     [not found] ` <46EF99C1.4070801-6ktuUTfB/bM@public.gmane.org>
2007-09-18 10:16   ` [PATCH 0/5][RESEND] Split the emulator: decode & execute 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46EF99C1.4070801@bull.net \
    --to=laurent.vivier-6ktuutfb/bm@public.gmane.org \
    --cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.