qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [Patch] target-ppc mtcrf instruction not recognized


From: J. Mayer
Subject: Re: [Qemu-devel] [Patch] target-ppc mtcrf instruction not recognized
Date: Tue, 17 May 2005 23:10:52 +0200

On Mon, 2005-05-16 at 17:54 +1000, Benjamin Herrenschmidt wrote:
> > OK, I did put this in my working repository and I'll submit this to
> > Fabrice.
> > Please try to do this change to check if other bits need to be relax or
> > not:
> > 
> > Index: target-ppc/translate.c
> > ===================================================================
> > RCS file: /cvsroot/qemu/qemu/target-ppc/translate.c,v
> > retrieving revision 1.31
> > diff -u -r1.31 translate.c
> > --- target-ppc/translate.c      12 May 2005 18:46:11 -0000      1.31
> > +++ target-ppc/translate.c      14 May 2005 17:14:35 -0000
> > @@ -2123,7 +2123,7 @@
> >  }
> >  
> >  /* mtcrf */
> > -GEN_HANDLER(mtcrf, 0x1F, 0x10, 0x04, 0x00100801, PPC_MISC)
> > +GEN_HANDLER(mtcrf, 0x1F, 0x10, 0x04, 0x00000801, PPC_MISC)
> >  {
> >      gen_op_load_gpr_T0(rS(ctx->opcode));
> >      gen_op_store_cr(CRM(ctx->opcode));
> > 
> > And maybe someone should fill an Apple bug report to tell them their as
> > is buggy ;-)
> 
> It is definitely a bug in Apple assembler I would say, so I suggest you
> add a comment in the above patch in order to avoid somebody later on
> "fixing" your mask :)

Piotr Krysiuk pointed that it's, in fact, a new form of the instruction.
A new PowerPC specification has been released in january,
adding mtocrf and mfocrf ('o' like optimized).
Those new forms only transfer one set of flags (then it's like the
previous form when only one bit is set in the control register). The
specification also say that "old" form is supported as a micro-coded
instruction.

Then, I guess new PowerPC do implement this new instruction. But Apple
is then supposed to emulate it when running on a PowerPC that does not
support it, I guess.

I will implement the new form, so it most crf transfers can be
optimized.

The latest PowerPC specification is to be found here:
<http://www6.software.ibm.com/software/developer/library/PPC_Vers202_Book1_public.pdf>
<http://www6.software.ibm.com/software/developer/library/PPC_Vers202_Book2_public.pdf>
<http://www6.software.ibm.com/software/developer/library/PPC_Vers202_Book3_public.pdf>

-- 
J. Mayer <address@hidden>
Never organized





reply via email to

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