Message ID | 20170313093104.1280-1-nikunj@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 13/03/17 09:31, Nikunj A Dadhania wrote: > A bug was introduced in following commit: > > dc0ad84 target/ppc: update overflow flags for add/sub > > As for 32-bit ppc target extracting bit 63 for overflow is not correct. > Made it dependent on TARGET_LOG_BITS. This had broken booting MacOS > 9.2.1 image > > Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com> > --- > target/ppc/translate.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/target/ppc/translate.c b/target/ppc/translate.c > index b6abc60..f40b5a1 100644 > --- a/target/ppc/translate.c > +++ b/target/ppc/translate.c > @@ -818,7 +818,7 @@ static inline void gen_op_arith_compute_ov(DisasContext *ctx, TCGv arg0, > if (is_isa300(ctx)) { > tcg_gen_extract_tl(cpu_ov32, cpu_ov, 31, 1); > } > - tcg_gen_extract_tl(cpu_ov, cpu_ov, 63, 1); > + tcg_gen_extract_tl(cpu_ov, cpu_ov, TARGET_LONG_BITS - 1, 1); > } > tcg_gen_or_tl(cpu_so, cpu_so, cpu_ov); > } > Hi Nikunj, I can confirm that this patch fixes the segfault for me - thanks! Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> However even with this fix in place, I'm still seeing strange horizontal artifacts on the screen as demonstrated here: https://www.ilande.co.uk/tmp/qemu/macos9-stripe.png With the patch above I'll try bisecting again later today to try and understand where these lines are coming from. So far I've spotted them in MacOS 9 and OS X during tests... ATB, Mark.
On 13/03/17 12:54, Mark Cave-Ayland wrote: > With the patch above I'll try bisecting again later today to try and > understand where these lines are coming from. So far I've spotted them > in MacOS 9 and OS X during tests... Okay - I've completed the bisection, and the artifacts I'm seeing aren't related to any of the PPC patches. Thanks once again for looking into this. ATB, Mark.
On Mon, Mar 13, 2017 at 03:01:04PM +0530, Nikunj A Dadhania wrote: > A bug was introduced in following commit: > > dc0ad84 target/ppc: update overflow flags for add/sub > > As for 32-bit ppc target extracting bit 63 for overflow is not correct. > Made it dependent on TARGET_LOG_BITS. This had broken booting MacOS > 9.2.1 image > > Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com> Applied to ppc-for-2.9, thanks. > --- > target/ppc/translate.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/target/ppc/translate.c b/target/ppc/translate.c > index b6abc60..f40b5a1 100644 > --- a/target/ppc/translate.c > +++ b/target/ppc/translate.c > @@ -818,7 +818,7 @@ static inline void gen_op_arith_compute_ov(DisasContext *ctx, TCGv arg0, > if (is_isa300(ctx)) { > tcg_gen_extract_tl(cpu_ov32, cpu_ov, 31, 1); > } > - tcg_gen_extract_tl(cpu_ov, cpu_ov, 63, 1); > + tcg_gen_extract_tl(cpu_ov, cpu_ov, TARGET_LONG_BITS - 1, 1); > } > tcg_gen_or_tl(cpu_so, cpu_so, cpu_ov); > }
diff --git a/target/ppc/translate.c b/target/ppc/translate.c index b6abc60..f40b5a1 100644 --- a/target/ppc/translate.c +++ b/target/ppc/translate.c @@ -818,7 +818,7 @@ static inline void gen_op_arith_compute_ov(DisasContext *ctx, TCGv arg0, if (is_isa300(ctx)) { tcg_gen_extract_tl(cpu_ov32, cpu_ov, 31, 1); } - tcg_gen_extract_tl(cpu_ov, cpu_ov, 63, 1); + tcg_gen_extract_tl(cpu_ov, cpu_ov, TARGET_LONG_BITS - 1, 1); } tcg_gen_or_tl(cpu_so, cpu_so, cpu_ov); }
A bug was introduced in following commit: dc0ad84 target/ppc: update overflow flags for add/sub As for 32-bit ppc target extracting bit 63 for overflow is not correct. Made it dependent on TARGET_LOG_BITS. This had broken booting MacOS 9.2.1 image Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com> --- target/ppc/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)