[Qemu-devel] [PATCH] x86: Correct translation of some rdgsbase and wrgsbase encodings

Todd Eisenberger via Qemu-devel posted 1 patch 6 years, 6 months ago
Failed in applying to current master (apply log)
target/i386/translate.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[Qemu-devel] [PATCH] x86: Correct translation of some rdgsbase and wrgsbase encodings
Posted by Todd Eisenberger via Qemu-devel 6 years, 6 months ago
It looks like there was a transcription error when writing this code
initially.  The code previously only decoded src or dst of rax.  This
resolves
https://bugs.launchpad.net/qemu/+bug/1719984.

Signed-off-by: Todd Eisenberger <teisenbe@google.com>
---
 target/i386/translate.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/target/i386/translate.c b/target/i386/translate.c
index a8986f4c1a..7b920115f9 100644
--- a/target/i386/translate.c
+++ b/target/i386/translate.c
@@ -8155,9 +8155,9 @@ static target_ulong disas_insn(DisasContext *s,
CPUState *cpu)
             break;

         case 0xc0 ... 0xc7: /* rdfsbase (f3 0f ae /0) */
-        case 0xc8 ... 0xc8: /* rdgsbase (f3 0f ae /1) */
+        case 0xc8 ... 0xcf: /* rdgsbase (f3 0f ae /1) */
         case 0xd0 ... 0xd7: /* wrfsbase (f3 0f ae /2) */
-        case 0xd8 ... 0xd8: /* wrgsbase (f3 0f ae /3) */
+        case 0xd8 ... 0xdf: /* wrgsbase (f3 0f ae /3) */
             if (CODE64(s)
                 && (prefixes & PREFIX_REPZ)
                 && !(prefixes & PREFIX_LOCK)

Re: [Qemu-devel] [PATCH] x86: Correct translation of some rdgsbase and wrgsbase encodings
Posted by Richard Henderson 6 years, 6 months ago
On 09/28/2017 10:17 AM, Todd Eisenberger wrote:
> It looks like there was a transcription error when writing this code
> initially.  The code previously only decoded src or dst of rax.  This
> resolves
> https://bugs.launchpad.net/qemu/+bug/1719984.
> 
> Signed-off-by: Todd Eisenberger <teisenbe@google.com>
> ---
>  target/i386/translate.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~


Re: [Qemu-devel] [PATCH] x86: Correct translation of some rdgsbase and wrgsbase encodings
Posted by Eduardo Habkost 6 years, 6 months ago
On Thu, Sep 28, 2017 at 10:17:06AM -0700, Todd Eisenberger via Qemu-devel wrote:
> It looks like there was a transcription error when writing this code
> initially.  The code previously only decoded src or dst of rax.  This
> resolves
> https://bugs.launchpad.net/qemu/+bug/1719984.
> 
> Signed-off-by: Todd Eisenberger <teisenbe@google.com>
> ---
>  target/i386/translate.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/target/i386/translate.c b/target/i386/translate.c
> index a8986f4c1a..7b920115f9 100644
> --- a/target/i386/translate.c
> +++ b/target/i386/translate.c
> @@ -8155,9 +8155,9 @@ static target_ulong disas_insn(DisasContext *s,
> CPUState *cpu)

The patch is corrupted due to line wrapping.  I recommend using
git-send-email to avoid that.

I'm queueing it on x86-next after fixing it manually.


>              break;
> 
>          case 0xc0 ... 0xc7: /* rdfsbase (f3 0f ae /0) */
> -        case 0xc8 ... 0xc8: /* rdgsbase (f3 0f ae /1) */
> +        case 0xc8 ... 0xcf: /* rdgsbase (f3 0f ae /1) */
>          case 0xd0 ... 0xd7: /* wrfsbase (f3 0f ae /2) */
> -        case 0xd8 ... 0xd8: /* wrgsbase (f3 0f ae /3) */
> +        case 0xd8 ... 0xdf: /* wrgsbase (f3 0f ae /3) */
>              if (CODE64(s)
>                  && (prefixes & PREFIX_REPZ)
>                  && !(prefixes & PREFIX_LOCK)
> 

-- 
Eduardo

Re: [Qemu-devel] [PATCH] x86: Correct translation of some rdgsbase and wrgsbase encodings
Posted by Todd Eisenberger via Qemu-devel 6 years, 6 months ago
Ah, sorry for that trouble.  I'll look into setting up git-send-email next
time I need to send a patch out.

On Fri, Sep 29, 2017 at 12:43 PM, Eduardo Habkost <ehabkost@redhat.com>
wrote:

> On Thu, Sep 28, 2017 at 10:17:06AM -0700, Todd Eisenberger via Qemu-devel
> wrote:
> > It looks like there was a transcription error when writing this code
> > initially.  The code previously only decoded src or dst of rax.  This
> > resolves
> > https://bugs.launchpad.net/qemu/+bug/1719984.
> >
> > Signed-off-by: Todd Eisenberger <teisenbe@google.com>
> > ---
> >  target/i386/translate.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/target/i386/translate.c b/target/i386/translate.c
> > index a8986f4c1a..7b920115f9 100644
> > --- a/target/i386/translate.c
> > +++ b/target/i386/translate.c
> > @@ -8155,9 +8155,9 @@ static target_ulong disas_insn(DisasContext *s,
> > CPUState *cpu)
>
> The patch is corrupted due to line wrapping.  I recommend using
> git-send-email to avoid that.
>
> I'm queueing it on x86-next after fixing it manually.
>
>
> >              break;
> >
> >          case 0xc0 ... 0xc7: /* rdfsbase (f3 0f ae /0) */
> > -        case 0xc8 ... 0xc8: /* rdgsbase (f3 0f ae /1) */
> > +        case 0xc8 ... 0xcf: /* rdgsbase (f3 0f ae /1) */
> >          case 0xd0 ... 0xd7: /* wrfsbase (f3 0f ae /2) */
> > -        case 0xd8 ... 0xd8: /* wrgsbase (f3 0f ae /3) */
> > +        case 0xd8 ... 0xdf: /* wrgsbase (f3 0f ae /3) */
> >              if (CODE64(s)
> >                  && (prefixes & PREFIX_REPZ)
> >                  && !(prefixes & PREFIX_LOCK)
> >
>
> --
> Eduardo
>