public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@qumranet.com>
To: Guillaume Thouvenin <guillaume.thouvenin@ext.bull.net>
Cc: kvm-devel@lists.sourceforge.net,
	Mohammed Gamal <m.gamal005@gmail.com>,
	Rik van Riel <riel@surriel.com>
Subject: Re: Real Mode Improvement on Intel Hosts - GSoC Project
Date: Fri, 25 Apr 2008 09:51:04 +0300	[thread overview]
Message-ID: <48117F58.8030602@qumranet.com> (raw)
In-Reply-To: <20080425080544.28b8ddb2@frecb000711.frec.bull.fr>

Guillaume Thouvenin wrote:
> On Thu, 24 Apr 2008 11:05:39 -0500
> Anthony Liguori <anthony@codemonkey.ws> wrote:
>
>   
>> The first stage is to detect vmentry failures and run x86_emulate() for 
>> a single instruction.  If you look at the mailing list, you'll see 
>> patches from myself and Guillaume.  This should be enough to allow most 
>> Ubuntu installer CDs to work under KVM.
>>     
>
> Howdy, 
>
>   Here is the last patch I have. It can detects a vmentry failure and it
> emulates one instruction. I added the emulation of several instructions
> like "ljmp", "mov Sreg, reg", "mov reg, Sreg"... The problem I'm
> working on is that once I entered in emulation of real mode I do not
> manage to recover a VMX friendly state (in my case cs.rpl ==
> ss.rpl). So I emulate more and more instructions. 
>
>   I added a trace to see instructions that are emulated (emulation of
> 0xa8 is in progress so it currently fails):
>
> [60108.040894] emulation at (46e53) rip 6e13: ea 18 6e 18
>   

Here cs.rpl == cpl == 0

> [60108.072108] emulation at (46e58) rip 6e18: 66 b8 20 00
> [60108.103997] emulation at (46e5c) rip 6e1c: 8e d8 8c d0
> [60108.148114] emulation at (46e5e) rip 6e1e: 8c d0 81 e4
> [60108.180117] emulation at (46e60) rip 6e20: 81 e4 ff ff
> [60108.212008] emulation at (46e66) rip 6e26: c1 e0 04 01
> [60108.244926] emulation at (46e69) rip 6e29: 01 c4 66 b8
> [60108.272948] emulation at (46e6b) rip 6e2b: 66 b8 08 00
>   

mov $8, %eax

> [60108.304953] emulation at (46e6f) rip 6e2f: 8e d0 8e c0
>   
mov %eax, %ss

Here, ss.rpl == 0

-- 
Do not meddle in the internals of kernels, for they are subtle and quick to panic.


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone

  reply	other threads:[~2008-04-25  6:51 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-24 14:58 Real Mode Improvement on Intel Hosts - GSoC Project Mohammed Gamal
2008-04-24 15:47 ` Avi Kivity
2008-04-24 15:53   ` Mohammed Gamal
2008-04-24 16:05 ` Anthony Liguori
2008-04-25  6:05   ` Guillaume Thouvenin
2008-04-25  6:51     ` Avi Kivity [this message]
2008-04-25  7:27       ` Guillaume Thouvenin
2008-04-26  6:49   ` Avi Kivity
2008-04-26  9:29     ` Mohammed Gamal
2008-04-26 21:02       ` Avi Kivity
2008-04-26 15:19     ` Anthony Liguori

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=48117F58.8030602@qumranet.com \
    --to=avi@qumranet.com \
    --cc=guillaume.thouvenin@ext.bull.net \
    --cc=kvm-devel@lists.sourceforge.net \
    --cc=m.gamal005@gmail.com \
    --cc=riel@surriel.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox