* [PATCH for-5.1?] target/i386: Save cc_op before loop insns
@ 2020-07-20 15:40 Richard Henderson
2020-07-24 18:34 ` Richard Henderson
2020-07-24 19:23 ` Alex Bennée
0 siblings, 2 replies; 5+ messages in thread
From: Richard Henderson @ 2020-07-20 15:40 UTC (permalink / raw)
To: qemu-devel; +Cc: pbonzini, ehabkost
We forgot to update cc_op before these branch insns,
which lead to losing track of the current eflags.
Buglink: https://bugs.launchpad.net/qemu/+bug/1888165
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/i386/translate.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/target/i386/translate.c b/target/i386/translate.c
index a1d31f09c1..caea6f5fb1 100644
--- a/target/i386/translate.c
+++ b/target/i386/translate.c
@@ -7148,6 +7148,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)
l1 = gen_new_label();
l2 = gen_new_label();
l3 = gen_new_label();
+ gen_update_cc_op(s);
b &= 3;
switch(b) {
case 0: /* loopnz */
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH for-5.1?] target/i386: Save cc_op before loop insns
2020-07-20 15:40 [PATCH for-5.1?] target/i386: Save cc_op before loop insns Richard Henderson
@ 2020-07-24 18:34 ` Richard Henderson
2020-07-24 18:53 ` Paolo Bonzini
2020-07-24 19:23 ` Alex Bennée
1 sibling, 1 reply; 5+ messages in thread
From: Richard Henderson @ 2020-07-24 18:34 UTC (permalink / raw)
To: qemu-devel; +Cc: pbonzini, Alex Bennée, ehabkost
Ping?
On 7/20/20 8:40 AM, Richard Henderson wrote:
> We forgot to update cc_op before these branch insns,
> which lead to losing track of the current eflags.
>
> Buglink: https://bugs.launchpad.net/qemu/+bug/1888165
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> target/i386/translate.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/target/i386/translate.c b/target/i386/translate.c
> index a1d31f09c1..caea6f5fb1 100644
> --- a/target/i386/translate.c
> +++ b/target/i386/translate.c
> @@ -7148,6 +7148,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)
> l1 = gen_new_label();
> l2 = gen_new_label();
> l3 = gen_new_label();
> + gen_update_cc_op(s);
> b &= 3;
> switch(b) {
> case 0: /* loopnz */
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH for-5.1?] target/i386: Save cc_op before loop insns
2020-07-24 18:34 ` Richard Henderson
@ 2020-07-24 18:53 ` Paolo Bonzini
2020-07-24 21:47 ` Richard Henderson
0 siblings, 1 reply; 5+ messages in thread
From: Paolo Bonzini @ 2020-07-24 18:53 UTC (permalink / raw)
To: Richard Henderson; +Cc: Alex Bennée, qemu-devel, Habkost, Eduardo
[-- Attachment #1: Type: text/plain, Size: 1090 bytes --]
Looks good, will queue when I am back---or just send a pull request
yourself if you prefer.
Paolo
Il ven 24 lug 2020, 20:35 Richard Henderson <richard.henderson@linaro.org>
ha scritto:
> Ping?
>
> On 7/20/20 8:40 AM, Richard Henderson wrote:
> > We forgot to update cc_op before these branch insns,
> > which lead to losing track of the current eflags.
> >
> > Buglink: https://bugs.launchpad.net/qemu/+bug/1888165
> > Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> > ---
> > target/i386/translate.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/target/i386/translate.c b/target/i386/translate.c
> > index a1d31f09c1..caea6f5fb1 100644
> > --- a/target/i386/translate.c
> > +++ b/target/i386/translate.c
> > @@ -7148,6 +7148,7 @@ static target_ulong disas_insn(DisasContext *s,
> CPUState *cpu)
> > l1 = gen_new_label();
> > l2 = gen_new_label();
> > l3 = gen_new_label();
> > + gen_update_cc_op(s);
> > b &= 3;
> > switch(b) {
> > case 0: /* loopnz */
> >
>
>
[-- Attachment #2: Type: text/html, Size: 1797 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH for-5.1?] target/i386: Save cc_op before loop insns
2020-07-20 15:40 [PATCH for-5.1?] target/i386: Save cc_op before loop insns Richard Henderson
2020-07-24 18:34 ` Richard Henderson
@ 2020-07-24 19:23 ` Alex Bennée
1 sibling, 0 replies; 5+ messages in thread
From: Alex Bennée @ 2020-07-24 19:23 UTC (permalink / raw)
To: Richard Henderson; +Cc: pbonzini, ehabkost, qemu-devel
Richard Henderson <richard.henderson@linaro.org> writes:
> We forgot to update cc_op before these branch insns,
> which lead to losing track of the current eflags.
>
> Buglink: https://bugs.launchpad.net/qemu/+bug/1888165
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> target/i386/translate.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/target/i386/translate.c b/target/i386/translate.c
> index a1d31f09c1..caea6f5fb1 100644
> --- a/target/i386/translate.c
> +++ b/target/i386/translate.c
> @@ -7148,6 +7148,7 @@ static target_ulong disas_insn(DisasContext *s,
> CPUState *cpu)
At first I thought that was too broad to go in disas_insn and then I
realised it was one of those mega functions....
> l1 = gen_new_label();
> l2 = gen_new_label();
> l3 = gen_new_label();
> + gen_update_cc_op(s);
Seems legit:
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
<snip>
--
Alex Bennée
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH for-5.1?] target/i386: Save cc_op before loop insns
2020-07-24 18:53 ` Paolo Bonzini
@ 2020-07-24 21:47 ` Richard Henderson
0 siblings, 0 replies; 5+ messages in thread
From: Richard Henderson @ 2020-07-24 21:47 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: Alex Bennée, qemu-devel, Habkost, Eduardo
On 7/24/20 11:53 AM, Paolo Bonzini wrote:
> Looks good, will queue when I am back---or just send a pull request yourself if
> you prefer.
Ok, will do. Thanks.
r~
>
> Paolo
>
> Il ven 24 lug 2020, 20:35 Richard Henderson <richard.henderson@linaro.org
> <mailto:richard.henderson@linaro.org>> ha scritto:
>
> Ping?
>
> On 7/20/20 8:40 AM, Richard Henderson wrote:
> > We forgot to update cc_op before these branch insns,
> > which lead to losing track of the current eflags.
> >
> > Buglink: https://bugs.launchpad.net/qemu/+bug/1888165
> > Signed-off-by: Richard Henderson <richard.henderson@linaro.org
> <mailto:richard.henderson@linaro.org>>
> > ---
> > target/i386/translate.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/target/i386/translate.c b/target/i386/translate.c
> > index a1d31f09c1..caea6f5fb1 100644
> > --- a/target/i386/translate.c
> > +++ b/target/i386/translate.c
> > @@ -7148,6 +7148,7 @@ static target_ulong disas_insn(DisasContext *s,
> CPUState *cpu)
> > l1 = gen_new_label();
> > l2 = gen_new_label();
> > l3 = gen_new_label();
> > + gen_update_cc_op(s);
> > b &= 3;
> > switch(b) {
> > case 0: /* loopnz */
> >
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-07-24 21:48 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-20 15:40 [PATCH for-5.1?] target/i386: Save cc_op before loop insns Richard Henderson
2020-07-24 18:34 ` Richard Henderson
2020-07-24 18:53 ` Paolo Bonzini
2020-07-24 21:47 ` Richard Henderson
2020-07-24 19:23 ` Alex Bennée
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.