qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] target/i386: Fix bad patch application to trans


From: Eduardo Habkost
Subject: Re: [Qemu-devel] [PATCH] target/i386: Fix bad patch application to translate.c
Date: Wed, 28 Dec 2016 14:53:30 -0200
User-agent: Mutt/1.7.1 (2016-10-04)

On Sat, Dec 24, 2016 at 08:29:33PM +0000, Doug Evans wrote:
> In commit c52ab08aee6f7d4717fc6b517174043126bd302f,
> the patch snippet for the "syscall" insn got applied to "iret".
> 
> Signed-off-by: Doug Evans <address@hidden>

Patch was corrupt, I have fixed line wrapping by hand and had to
use git-am --ignore-whitespace to apply it.

I suggest using git-send-email, as e-mail clients often break
patch contents when copying&pasting.

Fixed patch below, for reference:

---
 target/i386/translate.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/target/i386/translate.c b/target/i386/translate.c
index 59e11fc..7adfff0 100644
--- a/target/i386/translate.c
+++ b/target/i386/translate.c
@@ -6435,10 +6435,7 @@ static target_ulong disas_insn(CPUX86State *env, 
DisasContext *s,
                                       tcg_const_i32(s->pc - s->cs_base));
             set_cc_op(s, CC_OP_EFLAGS);
         }
-        /* TF handling for the syscall insn is different. The TF bit is checked
-           after the syscall insn completes. This allows #DB to not be
-           generated after one has entered CPL0 if TF is set in FMASK.  */
-        gen_eob_worker(s, false, true);
+        gen_eob(s);
         break;
     case 0xe8: /* call im */
         {
@@ -7119,7 +7116,10 @@ static target_ulong disas_insn(CPUX86State *env, 
DisasContext *s,
         gen_update_cc_op(s);
         gen_jmp_im(pc_start - s->cs_base);
         gen_helper_syscall(cpu_env, tcg_const_i32(s->pc - pc_start));
-        gen_eob(s);
+        /* TF handling for the syscall insn is different. The TF bit is  
checked
+           after the syscall insn completes. This allows #DB to not be
+           generated after one has entered CPL0 if TF is set in FMASK.  */
+        gen_eob_worker(s, false, true);
         break;
     case 0x107: /* sysret */
         if (!s->pe) {
-- 
2.7.4


> ---
>  target/i386/translate.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/target/i386/translate.c b/target/i386/translate.c
> index 59e11fc..7e9d073 100644
> --- a/target/i386/translate.c
> +++ b/target/i386/translate.c
> @@ -6435,10 +6435,7 @@ static target_ulong disas_insn(CPUX86State *env,
> DisasContext *s,
>                                        tcg_const_i32(s->pc - s->cs_base));
>              set_cc_op(s, CC_OP_EFLAGS);
>          }
> -        /* TF handling for the syscall insn is different. The TF bit is
> checked
> -           after the syscall insn completes. This allows #DB to not be
> -           generated after one has entered CPL0 if TF is set in FMASK.  */
> -        gen_eob_worker(s, false, true);
> +        gen_eob(s);
>          break;
>      case 0xe8: /* call im */
>          {
> @@ -7119,7 +7116,10 @@ static target_ulong disas_insn(CPUX86State *env,
> DisasContext *s,
>          gen_update_cc_op(s);
>          gen_jmp_im(pc_start - s->cs_base);
>          gen_helper_syscall(cpu_env, tcg_const_i32(s->pc - pc_start));
> -        gen_eob(s);
> +        /* TF handling for the syscall insn is different. The TF bit is
> checked
> +           after the syscall insn completes. This allows #DB to not be
> +           generated after one has entered CPL0 if TF is set in FMASK.  */
> +        gen_eob_worker(s, false, true);
>          break;
>      case 0x107: /* sysret */
>          if (!s->pe) {
> -- 
> 2.8.0.rc3.226.g39d4020
> 
> 

-- 
Eduardo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]