VirtualBox

Changeset 40089 in vbox for trunk/src


Ignore:
Timestamp:
Feb 13, 2012 1:40:24 AM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
76227
Message:

0xdf 11/1 seems to behave like fxch st(i), while 0xdf 11/2 and 11/3 both behave like fstp st(i).

Location:
trunk/src/VBox/VMM
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllInstructions.cpp.h

    r40088 r40089  
    1108411084        {
    1108511085            case 0: return FNIEMOP_CALL_1(iemOp_ffreep_stN, bRm); /* ffree + pop afterwards, since forever according to AMD. */
    11086             case 1: return FNIEMOP_CALL(iemOp_fnop);
    11087             case 2: return FNIEMOP_CALL(iemOp_fnop);
    11088             case 3: return FNIEMOP_CALL(iemOp_fnop);
     11086            case 1: return FNIEMOP_CALL_1(iemOp_fxch_stN,   bRm); /* Reserved, behaves like FXCH ST(i) on intel. */
     11087            case 2: return FNIEMOP_CALL_1(iemOp_fstp_stN,   bRm); /* Reserved, behaves like FSTP ST(i) on intel. */
     11088            case 3: return FNIEMOP_CALL_1(iemOp_fstp_stN,   bRm); /* Reserved, behaves like FSTP ST(i) on intel. */
    1108911089            case 4: if (bRm == 0xe0)
    1109011090                        return FNIEMOP_CALL(iemOp_fnstsw_ax);
  • trunk/src/VBox/VMM/testcase/tstX86-1A.asm

    r40088 r40089  
    15431543        fld tword REF(.r80V1)
    15441544        fld qword REF(.r64V1)
     1545        fld dword REF(.r32V2)
    15451546        fld dword REF(.r32V1)
    1546         fld qword REF(.r64V1)
    15471547
    15481548        ; Test the nop check.
    15491549        FpuNopEncoding fnop
    1550 
    1551 ;FpuNopEncoding db 0dch, 0d8h
    1552 ;int3
    1553 ;db 0dch, 0d0h
    1554 ;        fld dword REF(.r32V2)
    1555 ;        fld dword REF(.r32V2)
    1556 ;        fld dword REF(.r32V2)
    1557 ;        fld dword REF(.r32V2)
    1558 ;fnclex
    1559 ;call SetFSW_C0_thru_C3
    1560 ;int3
    1561 ;db 0deh, 0d0h
    1562 ;db 0deh, 0d1h
    1563 ;db 0deh, 0d2h
    1564 ;db 0deh, 0d3h
    1565 ;int3
    1566 
    15671550
    15681551        ; the 0xd9 block
     
    17161699
    17171700        ; the 0xdf block
    1718         FpuUnknownEncoding db 0dfh, 0c8h ; fnop?
    1719         FpuUnknownEncoding db 0dfh, 0c9h ; fnop?
    1720         FpuUnknownEncoding db 0dfh, 0cah ; fnop?
    1721         FpuUnknownEncoding db 0dfh, 0cbh ; fnop?
    1722         FpuUnknownEncoding db 0dfh, 0cch ; fnop?
    1723         FpuUnknownEncoding db 0dfh, 0cdh ; fnop?
    1724         FpuUnknownEncoding db 0dfh, 0ceh ; fnop?
    1725         FpuUnknownEncoding db 0dfh, 0cfh ; fnop?
    1726         FpuUnknownEncoding db 0dfh, 0d0h ; fnop?
    1727         FpuUnknownEncoding db 0dfh, 0d1h ; fnop?
    1728         FpuUnknownEncoding db 0dfh, 0d2h ; fnop?
    1729         FpuUnknownEncoding db 0dfh, 0d3h ; fnop?
    1730         FpuUnknownEncoding db 0dfh, 0d4h ; fnop?
    1731         FpuUnknownEncoding db 0dfh, 0d5h ; fnop?
    1732         FpuUnknownEncoding db 0dfh, 0d6h ; fnop?
    1733         FpuUnknownEncoding db 0dfh, 0d7h ; fnop?
    1734         FpuUnknownEncoding db 0dfh, 0d8h ; fnop?
    1735         FpuUnknownEncoding db 0dfh, 0d9h ; fnop?
    1736         FpuUnknownEncoding db 0dfh, 0dah ; fnop?
    1737         FpuUnknownEncoding db 0dfh, 0dbh ; fnop?
    1738         FpuUnknownEncoding db 0dfh, 0dch ; fnop?
    1739         FpuUnknownEncoding db 0dfh, 0ddh ; fnop?
    1740         FpuUnknownEncoding db 0dfh, 0deh ; fnop?
    1741         FpuUnknownEncoding db 0dfh, 0dfh ; fnop?
     1701        ;FpuUnknownEncoding db 0dfh, 0c8h ; fxch?
     1702        ;FpuUnknownEncoding db 0dfh, 0c9h ; fxch?
     1703        ;FpuUnknownEncoding db 0dfh, 0cah ; fxch?
     1704        ;FpuUnknownEncoding db 0dfh, 0cbh ; fxch?
     1705        ;FpuUnknownEncoding db 0dfh, 0cch ; fxch?
     1706        ;FpuUnknownEncoding db 0dfh, 0cdh ; fxch?
     1707        ;FpuUnknownEncoding db 0dfh, 0ceh ; fxch?
     1708        ;FpuUnknownEncoding db 0dfh, 0cfh ; fxch?
     1709        ;FpuUnknownEncoding db 0dfh, 0d0h ; fstp?
     1710        ;FpuUnknownEncoding db 0dfh, 0d1h ; fstp?
     1711        ;FpuUnknownEncoding db 0dfh, 0d2h ; fstp?
     1712        ;FpuUnknownEncoding db 0dfh, 0d3h ; fstp?
     1713        ;FpuUnknownEncoding db 0dfh, 0d4h ; fstp?
     1714        ;FpuUnknownEncoding db 0dfh, 0d5h ; fstp?
     1715        ;FpuUnknownEncoding db 0dfh, 0d6h ; fstp?
     1716        ;FpuUnknownEncoding db 0dfh, 0d7h ; fstp?
     1717        ;FpuUnknownEncoding db 0dfh, 0d8h ; fstp?
     1718        ;FpuUnknownEncoding db 0dfh, 0d9h ; fstp?
     1719        ;FpuUnknownEncoding db 0dfh, 0dah ; fstp?
     1720        ;FpuUnknownEncoding db 0dfh, 0dbh ; fstp?
     1721        ;FpuUnknownEncoding db 0dfh, 0dch ; fstp?
     1722        ;FpuUnknownEncoding db 0dfh, 0ddh ; fstp?
     1723        ;FpuUnknownEncoding db 0dfh, 0deh ; fstp?
     1724        ;FpuUnknownEncoding db 0dfh, 0dfh ; fstp?
    17421725        ShouldTrap X86_XCPT_UD, db 0dfh, 0e1h
    17431726        ShouldTrap X86_XCPT_UD, db 0dfh, 0e2h
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette