-----Original Message----- From: Tim Roberts [mailto:[EMAIL PROTECTED] Sent: 10 February 2005 17:28 To: [email protected] Subject: Re: x86 emulator bug
Charles Dobson wrote: >I am not sure if I should post this here or on bugzilla. > >While trying to get a Silicon Motion SM722 video controller >working with Solaris, I have discovered a problem with the >emulation of the SHLD and SHRD (double precision shift) >instructions of the x86 emulator. >According to the Intel Pentium User Guide Vol 3, these >instructions can shift upto 31 bits with both 16 and 32 >bit operands. The emulator code will only work with shifts >of upto 15 bits for 16 bit operands. > > The pseudo-code for those instructions in that same document also say that, when the shift count is greater than or equal to the operand size, the contents of the destination register and the flags are undefined. Thus, there is technically nothing wrong with the emulator code as-is. Your patch is right, but the existing code is also right. -- - Tim Roberts, [EMAIL PROTECTED] Providenza & Boekelheide, Inc. Yes, thanks for pointing that out. I missed that in my haste to post. It seems that the Silicon Motion video BIOS relies on a undocumented feature of the CPU. This leaves me in a dilemma, should I post my changes to Bugzilla or not! Charles Dobson Concurrent Technologies Plc. _______________________________________________ Devel mailing list [email protected] http://XFree86.Org/mailman/listinfo/devel
