Subject: Re: hangup by crashme and illeagal instruction on 68040
To: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
From: David Jones <dej@inode.org>
List: port-hp300
Date: 03/28/2006 18:53:47
On March 27, 2006 09:40 am, Izumi Tsutsui wrote:

>
> static const unsigned char a[] = {
> 0xf2, 0x43, 0xf4, 0x7a, 0x75, 0x2e, 0xf4, 0x70,
> };

This definitely appears to be an illegal sequence.

The 680x0 is not immune to the "opcodes of death" and different opcodes are 
lethal on different steppings of the '040.  The simples opcode of death for 
the 68040 is 0x4E5F which disassembles to "unlk a7".  Since unlk implicitly 
uses register a7, the CPU deadlocks with itself.  IIRC, this particular bug 
was fixed on the 33 MHz part.

It could very well be that your sequence is another opcode of death, which was 
subsequently fixed on Michael's machine.