From: Keir Fraser <keir@xensource.com>
To: Jan Beulich <jbeulich@novell.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: [PATCH] x86_emulate adjustments
Date: Fri, 05 Jan 2007 14:34:02 +0000 [thread overview]
Message-ID: <C1C4125A.7279%keir@xensource.com> (raw)
In-Reply-To: <459E4B54.76E4.0078.0@novell.com>
On 5/1/07 11:57, "Jan Beulich" <jbeulich@novell.com> wrote:
>> I already got the mis-emulation of x86/64 PUSH/POP with operand-size
>> override. The stacksz thing I would do differently -- extend the mode input
>> field to have an extra stack-address-size field. There's another thing
>> that's not right at the moment -- I think on POP we have to calculate the
>> operand effective address after adjusting the stack pointer? That is broken
>> right now which is not a good thing. :-)
>
> The patch sent actually fixes that.
Oh yes, that's neat. But it should increment the effective address by
op_bytes not by stacksz. stacksz only specifies the stack pointer's width,
not stack data size.
> I finally also want the main one fixed. And yes, there are problems with the
> prefix decoding, which can possibly be ignored when emulation pv guest insns,
> but which (in my opinion) should match hardware behavior 1:1 for hvm guests.
I don't see any problem with the existing code w.r.t. what is
architecturally supported. REX byte must come after all prefix bytes, and
Intel says that only 4 prefix bytes are allowed. REPNE is not a valid prefix
on any instruction that the emulator currently supports. If instructions are
outside these defined boundaries we must have some scope for interpretation?
-- Keir
next prev parent reply other threads:[~2007-01-05 14:34 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-05 10:03 [PATCH] x86_emulate adjustments Jan Beulich
2007-01-05 11:25 ` Keir Fraser
2007-01-05 11:57 ` Jan Beulich
2007-01-05 12:05 ` Keir Fraser
2007-01-05 14:34 ` Keir Fraser [this message]
2007-01-05 14:50 ` Jan Beulich
2007-01-05 15:04 ` Keir Fraser
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=C1C4125A.7279%keir@xensource.com \
--to=keir@xensource.com \
--cc=jbeulich@novell.com \
--cc=xen-devel@lists.xensource.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 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.