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-ayl...@ilande.co.uk>
> Signed-off-by: Nikunj A Dadhania <nik...@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-ayl...@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.


Reply via email to