rloew, on 09 September 2010 - 11:26 AM, said:
jds, on 09 September 2010 - 01:54 AM, said:
Yes, you explained that because the CMOV instructions were emulated, there was a significant performace penalty. That's fine, the applications I want to try this on are not real-time anyway (they're the mjpeg utilities, which run on my Pentium II but not my Pentium MMX, so I figure it must be the CMOV stuff that's the problem).
Joe.
I don't have the mjpeg utilities so I don't know if CMOV Instructions are the issue.
You would have to examine the Illegal Instruction Details to get the OP Codes of the failing Instructions.
I have two versions of my software.
1. The Patcher discussed in this Thread that Patches the three Instructions known to cause problems with Flash.
2. The Emulator I wrote to handle GOM. It emulates CMOV Instructions and one specific PREFETCH Instruction.
I don't know if either or both would handle the mjpeg utilities.
@rloew :
1. The SSE issue is the same, I want to prevent Flash Player 9.0.280.0 crashing FireFox.
2. OK, I've now retested the mjpeg utilities, and my suspicions about the CMOV instructions seem to be confirmed (opcodes 0F 4x xx looks like CMOV). Dumps for two of the utilities are as follows :
JPEG2YUV executed an invalid instruction in
module JPEG2YUV.EXE at 0177:00403144.
Registers:
EAX=00000000 CS=0177 EIP=00403144 EFLGS=00010202
EBX=00000002 SS=017f ESP=008cf450 EBP=008cf478
ECX=00000000 DS=017f ESI=009f0489 FS=0d0f
EDX=00000001 ES=017f EDI=008cf490 GS=0000
Bytes at CS:EIP:
0f 46 f2 89 34 24 e8 31 a1 02 00 8d 50 01 39 c6
Stack dump:
009f0489 0000005c 000003fe 0042f8e8 008cf8c4 00000000 00000000 008cf490 00000002 008cf890 008cf8a8 00402f82 00000002 008cf490 0042f8e8 008cf8c4
MPEG2ENC executed an invalid instruction in
module MPEG2ENC.EXE at 0177:004167f5.
Registers:
EAX=ffffff00 CS=0177 EIP=004167f5 EFLGS=00210292
EBX=000000ff SS=017f ESP=007af940 EBP=007af948
ECX=000000ff DS=017f ESI=007afc10 FS=2bf7
EDX=00474960 ES=017f EDI=00474960 GS=0000
Bytes at CS:EIP:
0f 4e c8 83 c2 02 40 66 89 0f 3d 00 02 00 00 75
Stack dump:
007afc10 007afa18 007af978 0040591a 007afc18 007afa18 007af994 78001385 007c0000 00000000 00000200 00000000 008d057c 007afc10 007af9e8 004026eb
@ CyberyogiCoWindler :
"A BIOS flaw (that prevented PCI cards from preemtive multitasking)" wouldn't affect Linux, AFAIK. Linux likes to handle all the hardware itself, so either it too has this limitation, or it's a hardware issue. Just my 2c, based on limited knowledge.
Joe.