On Thu, Mar 3, 2022 at 12:55 AM Fabiano Rosas <faro...@linux.ibm.com> wrote:

> Howard Spoelstra <hsp.c...@gmail.com> writes:
>
> > On Wed, Mar 2, 2022 at 9:11 PM BALATON Zoltan <bala...@eik.bme.hu>
> wrote:
> >
> >> On Wed, 2 Mar 2022, Howard Spoelstra wrote:
> >> > Hi all,
> >> >
> >> > I noticed qemu-system-ppc running OSX guests does not get to the
> desktop
> >> or
> >> > does not display the menu bars.
> >>
> >> Cc-ing the relevant people and the PPC list might help, I've added them.
> >> Also telling which OSX guest version can reproduce the problem could
> help
> >> debugging. Is it any OSX version?
> >>
> >> Regards,
> >> BALATON Zoltan
> >>
> >
> > Oops, Qemu running on Fedora 35 host,
> > Reproducer:
> >
> > ./qemu-system-ppc \
> > -M mac99 \
> > -m 512 \
> > -L pc-bios \
> > -display sdl -serial stdio \
> > -boot c \
> > -drive file=10.1.img,format=raw,media=disk
> >
> > The issue affects all supported Mac OSX guests: 10.0 to 10.5
>
> Hi Howard,
>
> Thanks for bisecting this. It seems we inadvertently marked some of the
> Vector Multiply instructions to be ISA v2.07 only.
>
> I can boot Mac OSX 10.4 until the desktop with this fix:
>
> diff --git a/target/ppc/translate/vmx-impl.c.inc
> b/target/ppc/translate/vmx-impl.c.inc
> index f91bee839d..c5d02d13fe 100644
> --- a/target/ppc/translate/vmx-impl.c.inc
> +++ b/target/ppc/translate/vmx-impl.c.inc
> @@ -3141,14 +3141,14 @@ static bool trans_VMULLD(DisasContext *ctx, arg_VX
> *a)
>      return true;
>  }
>
> -TRANS_FLAGS2(ALTIVEC_207, VMULESB, do_vx_helper, gen_helper_VMULESB)
> -TRANS_FLAGS2(ALTIVEC_207, VMULOSB, do_vx_helper, gen_helper_VMULOSB)
> -TRANS_FLAGS2(ALTIVEC_207, VMULEUB, do_vx_helper, gen_helper_VMULEUB)
> -TRANS_FLAGS2(ALTIVEC_207, VMULOUB, do_vx_helper, gen_helper_VMULOUB)
> -TRANS_FLAGS2(ALTIVEC_207, VMULESH, do_vx_helper, gen_helper_VMULESH)
> -TRANS_FLAGS2(ALTIVEC_207, VMULOSH, do_vx_helper, gen_helper_VMULOSH)
> -TRANS_FLAGS2(ALTIVEC_207, VMULEUH, do_vx_helper, gen_helper_VMULEUH)
> -TRANS_FLAGS2(ALTIVEC_207, VMULOUH, do_vx_helper, gen_helper_VMULOUH)
> +TRANS_FLAGS(ALTIVEC, VMULESB, do_vx_helper, gen_helper_VMULESB)
> +TRANS_FLAGS(ALTIVEC, VMULOSB, do_vx_helper, gen_helper_VMULOSB)
> +TRANS_FLAGS(ALTIVEC, VMULEUB, do_vx_helper, gen_helper_VMULEUB)
> +TRANS_FLAGS(ALTIVEC, VMULOUB, do_vx_helper, gen_helper_VMULOUB)
> +TRANS_FLAGS(ALTIVEC, VMULESH, do_vx_helper, gen_helper_VMULESH)
> +TRANS_FLAGS(ALTIVEC, VMULOSH, do_vx_helper, gen_helper_VMULOSH)
> +TRANS_FLAGS(ALTIVEC, VMULEUH, do_vx_helper, gen_helper_VMULEUH)
> +TRANS_FLAGS(ALTIVEC, VMULOUH, do_vx_helper, gen_helper_VMULOUH)
>  TRANS_FLAGS2(ALTIVEC_207, VMULESW, do_vx_helper, gen_helper_VMULESW)
>  TRANS_FLAGS2(ALTIVEC_207, VMULOSW, do_vx_helper, gen_helper_VMULOSW)
>  TRANS_FLAGS2(ALTIVEC_207, VMULEUW, do_vx_helper, gen_helper_VMULEUW)
> ---
>
> I'll let Lucas comment on it and we can send a proper patch in the
> morning.
>

Hi,

Thanks, this patch does indeed fix the issue.

Best,
Howard

Reply via email to