On 03/06/2015 08:04 AM, Alexander Graf wrote:
> Hi Richard,
> 
> I've finally managed to check out why my e500v2 automated tests fail to
> run. Apparently they break because autotest wants to execute target code
> and runs into an illegal instruction while doing that:
> 
> Program received signal SIGILL, Illegal instruction.
> 0xb57c84cc in ?? ()
> (gdb) x /i $pc
> => 0xb57c84cc:        mfocrf  r0,1
> 
> And lo and behold, I really couldn't find any reference to mfocrf in the
> e500v2 spec.
> 
> Is there any way to disable setcond2 for those chips?

No, not disable setcond2.

But the proper solution is to emit mfcrf (i.e. all of the cr regs, not "one" of
the cregs).  We'd want to check the processor we're running on, since
mfcrf is slower than mfocrf on modern hardware.  Can you see if there's a
bit in AT_HWCAP that covers this?


r~


Reply via email to