Re: Software Emulation error
From: Kyle Harris <hidden>
Date: 2000-12-21 13:28:28
Jerry Van Baren wrote:
Scrogged memory, bad code. You are trying to execute a floating point instruction and your processor doesn't support floating point (or it is disabled). Memories like to go to 0xFFs and that is a floating point instruction. Most floating point instructions are 0xFE and the 'D' field supplies the remaining '1' bit. I don't see any valid instructions for 0xFFFFFFDA (they all have a reserved field of '0's in them), but the op-code causes a floating point trap if you don't have floating point available/enabled. I assume memcp/44 is line 44 in memcp. I would check the parameters to the memcp() call to make sure you aren't copying garbage over yourself. If you can look at the assembly code and registers, make sure the destination wasn't 0x398c8d84 (next instruction pointer - 4). How was my guess? Did I win $1,000,000 :-)? It would be easier if you tell us the processor and more about your system.
Sorry, I guess more detailed info would be helpful. I'm running a 2.2.13 kernel on a TQM823 board. I have seen this error when using dd to write to flash. But it's not consistent (sometimes dd works, sometimes it doesn't). Then I wrote a program using the times() function and it always fails. I went back and tried this with the original kernel and it works! I recompiled with and without MATH_EMULATION, but essentially get the same error. I've tried rebuilding the kernel to what I think are default settings, but still no luck. What other kernel configs are relevant? I'll put your name in the drawing for the $1M. :) Thanks, Kyle.
At 09:20 PM 12/20/00 -0500, Kyle Harris wrote:quoted
Hi, I've encountered the following error several times while running various programs. This one comes from a process attempting to call the times() function. Software Emulation memcp/44 NIP: 18424a0 *NIP: 0x398c8d88 code: ffffffda Illegal Instruction Can anyone give me a clue as to why this happens? Thanks, Kyle.
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/