[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] x86_emulate(): forgot to generate_exception_if() for 0xff?


  • To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Liu, Eric E" <eric.e.liu@xxxxxxxxx>
  • Date: Thu, 20 Dec 2007 10:10:01 +0800
  • Delivery-date: Wed, 19 Dec 2007 18:11:00 -0800
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AchCIkspvq503+fcSaGc/QzK2IvTbAACtAyHACAGqSA=
  • Thread-topic: [Xen-devel] x86_emulate(): forgot to generate_exception_if() for 0xff?

I see. Thanks 

--Eric
-----Original Message-----
From: Keir Fraser [mailto:Keir.Fraser@xxxxxxxxxxxx] 
Sent: 2007年12月19日 18:51
To: Liu, Eric E; xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] x86_emulate(): forgot to generate_exception_if() for 
0xff?

Why do you think that? Grp4 only defines valid opcodes for reg==000b and
001b. Grp5 defines valid opcodes for all except reg=111b. So the current
code seems correct.

 -- Keir

On 19/12/07 09:34, "Liu, Eric E" <eric.e.liu@xxxxxxxxx> wrote:

> Hi all,
> In arch/x86/x86_emulate.c: x86_emulate():
>    1716     case 0xfe: /* Grp4 */
>    1717         generate_exception_if((m odrm_reg & 7) >= 2, EXC_UD);
>    1718     case 0xff: /* Grp5 */
>    1719         switch ( modrm_reg & 7 )
>    1720         {
>    1721         case 0: /* inc */
>    1722             emulate_1op("inc", dst, _regs.eflags);
>    1723             break;
>    1724         case 1: /* dec */
>    1725             emulate_1op("dec", dst, _regs.eflags);
>    1726             break;
> 
> Here we only check 0xfe for "reg >= 2"? I think we should also check
> 0xff -- we should swap line 1717 and 1718?
> 
> Thanks!
> --Eric (Liu, Feng)
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.