- Timestamp:
- Feb 13, 2012 2:21:52 AM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 76228
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/testcase/tstX86-1A.asm
r40089 r40090 1381 1381 ; Used for marking encodings which has a meaning other than FNOP and 1382 1382 ; needs investigating. 1383 %macro FpuUnknownEncoding 1+ 1383 %macro FpuReservedEncoding 2 1384 fnclex 1385 call SetFSW_C0_thru_C3 1386 1387 push xBP 1388 mov xBP, xSP 1389 sub xSP, 2048 1390 and xSP, ~0fh 1391 fxsave [xSP + 1024] 1384 1392 %1 1393 call SaveFPUAndGRegsToStack 1394 1395 fxrstor [xSP + 1024] 1396 %2 1397 call CompareFPUAndGRegsOnStack 1398 ;fxrstor [xSP + 1024] 1399 leave 1400 1401 jz %%ok 1402 add eax, __LINE__ 1403 jmp .return 1404 %%ok: 1385 1405 %endmacro 1386 1406 … … 1502 1522 je .ok 1503 1523 1504 ;int31524 int3 1505 1525 lea xAX, [xSP + xS*3] 1506 1526 xchg xAX, xSI … … 1549 1569 FpuNopEncoding fnop 1550 1570 1571 1551 1572 ; the 0xd9 block 1552 1573 ShouldTrap X86_XCPT_UD, db 0d9h, 008h … … 1566 1587 ShouldTrap X86_XCPT_UD, db 0d9h, 0d6h 1567 1588 ShouldTrap X86_XCPT_UD, db 0d9h, 0d7h 1568 ;FpuUnknownEncoding db 0d9h, 0d8h ; fstp st(0),st(0)?1569 ;FpuUnknownEncoding db 0d9h, 0d9h ; fstp st(1),st(0)?1570 ;FpuUnknownEncoding db 0d9h, 0dah ; fstp st(2),st(0)?1571 ;FpuUnknownEncoding db 0d9h, 0dbh ; fstp st(3),st(0)?1572 ;FpuUnknownEncoding db 0d9h, 0dch ; fstp st(4),st(0)?1573 ;FpuUnknownEncoding db 0d9h, 0ddh ; fstp st(5),st(0)?1574 ;FpuUnknownEncoding db 0d9h, 0deh ; fstp st(6),st(0)?1575 ;Fpu UnknownEncoding db 0d9h, 0dfh ; fstp st(7),st(0)?1589 FpuReservedEncoding {db 0d9h, 0d8h}, { fstp st0 } 1590 FpuReservedEncoding {db 0d9h, 0d9h}, { fstp st1 } 1591 FpuReservedEncoding {db 0d9h, 0dah}, { fstp st2 } 1592 FpuReservedEncoding {db 0d9h, 0dbh}, { fstp st3 } 1593 FpuReservedEncoding {db 0d9h, 0dch}, { fstp st4 } 1594 FpuReservedEncoding {db 0d9h, 0ddh}, { fstp st5 } 1595 FpuReservedEncoding {db 0d9h, 0deh}, { fstp st6 } 1596 ;FpuReservedEncoding {db 0d9h, 0dfh}, { fstp st7 } ; This variant seems to ignore empty ST(0) values! 1576 1597 ShouldTrap X86_XCPT_UD, db 0d9h, 0e2h 1577 1598 ShouldTrap X86_XCPT_UD, db 0d9h, 0e3h … … 1636 1657 1637 1658 ; the 0xdc block 1638 ;FpuNopEncoding db 0dch, 0d0h ; fcom?1639 ;FpuNopEncoding db 0dch, 0d1h ; fcom?1640 ;FpuNopEncoding db 0dch, 0d2h ; fcom?1641 ;FpuNopEncoding db 0dch, 0d3h ; fcom?1642 ;FpuNopEncoding db 0dch, 0d4h ; fcom?1643 ;FpuNopEncoding db 0dch, 0d5h ; fcom?1644 ;FpuNopEncoding db 0dch, 0d6h ; fcom?1645 ;FpuNopEncoding db 0dch, 0d7h ; fcom?1646 ;FpuNopEncoding db 0dch, 0d8h ; fcomp?1647 ;FpuNopEncoding db 0dch, 0d9h ; fcomp?1648 ;FpuNopEncoding db 0dch, 0dah ; fcomp?1649 ;FpuNopEncoding db 0dch, 0dbh ; fcomp?1650 ;FpuNopEncoding db 0dch, 0dch ; fcomp?1651 ;FpuNopEncoding db 0dch, 0ddh ; fcomp?1652 ;FpuNopEncoding db 0dch, 0deh ; fcomp?1653 ;FpuNopEncoding db 0dch, 0dfh ; fcomp?1659 FpuReservedEncoding {db 0dch, 0d0h}, { fcom st0 } 1660 FpuReservedEncoding {db 0dch, 0d1h}, { fcom st1 } 1661 FpuReservedEncoding {db 0dch, 0d2h}, { fcom st2 } 1662 FpuReservedEncoding {db 0dch, 0d3h}, { fcom st3 } 1663 FpuReservedEncoding {db 0dch, 0d4h}, { fcom st4 } 1664 FpuReservedEncoding {db 0dch, 0d5h}, { fcom st5 } 1665 FpuReservedEncoding {db 0dch, 0d6h}, { fcom st6 } 1666 FpuReservedEncoding {db 0dch, 0d7h}, { fcom st7 } 1667 FpuReservedEncoding {db 0dch, 0d8h}, { fcomp st0 } 1668 FpuReservedEncoding {db 0dch, 0d9h}, { fcomp st1 } 1669 FpuReservedEncoding {db 0dch, 0dah}, { fcomp st2 } 1670 FpuReservedEncoding {db 0dch, 0dbh}, { fcomp st3 } 1671 FpuReservedEncoding {db 0dch, 0dch}, { fcomp st4 } 1672 FpuReservedEncoding {db 0dch, 0ddh}, { fcomp st5 } 1673 FpuReservedEncoding {db 0dch, 0deh}, { fcomp st6 } 1674 FpuReservedEncoding {db 0dch, 0dfh}, { fcomp st7 } 1654 1675 1655 1676 ; the 0xdd block 1656 ;FpuUnknownEncoding db 0ddh, 0c8h ; fxch?1657 ;FpuUnknownEncoding db 0ddh, 0c9h ; fxch?1658 ;FpuUnknownEncoding db 0ddh, 0cah ; fxch?1659 ;FpuUnknownEncoding db 0ddh, 0cbh ; fxch?1660 ;FpuUnknownEncoding db 0ddh, 0cch ; fxch?1661 ;FpuUnknownEncoding db 0ddh, 0cdh ; fxch?1662 ;FpuUnknownEncoding db 0ddh, 0ceh ; fxch?1663 ;FpuUnknownEncoding db 0ddh, 0cfh ; fxch?1677 FpuReservedEncoding {db 0ddh, 0c8h}, { fxch st0 } 1678 FpuReservedEncoding {db 0ddh, 0c9h}, { fxch st1 } 1679 FpuReservedEncoding {db 0ddh, 0cah}, { fxch st2 } 1680 FpuReservedEncoding {db 0ddh, 0cbh}, { fxch st3 } 1681 FpuReservedEncoding {db 0ddh, 0cch}, { fxch st4 } 1682 FpuReservedEncoding {db 0ddh, 0cdh}, { fxch st5 } 1683 FpuReservedEncoding {db 0ddh, 0ceh}, { fxch st6 } 1684 FpuReservedEncoding {db 0ddh, 0cfh}, { fxch st7 } 1664 1685 ShouldTrap X86_XCPT_UD, db 0ddh, 0f0h 1665 1686 ShouldTrap X86_XCPT_UD, db 0ddh, 0f1h … … 1682 1703 1683 1704 ; the 0xde block 1684 ;FpuUnknownEncoding db 0deh, 0d0h ; fcomp?1685 ;FpuUnknownEncoding db 0deh, 0d1h ; fcomp?1686 ;FpuUnknownEncoding db 0deh, 0d2h ; fcomp?1687 ;FpuUnknownEncoding db 0deh, 0d3h ; fcomp?1688 ;FpuUnknownEncoding db 0deh, 0d4h ; fcomp?1689 ;FpuUnknownEncoding db 0deh, 0d5h ; fcomp?1690 ;FpuUnknownEncoding db 0deh, 0d6h ; fcomp?1691 ;FpuUnknownEncoding db 0deh, 0d7h ; fcomp?1705 FpuReservedEncoding {db 0deh, 0d0h}, { fcomp st0 } 1706 FpuReservedEncoding {db 0deh, 0d1h}, { fcomp st1 } 1707 FpuReservedEncoding {db 0deh, 0d2h}, { fcomp st2 } 1708 FpuReservedEncoding {db 0deh, 0d3h}, { fcomp st3 } 1709 FpuReservedEncoding {db 0deh, 0d4h}, { fcomp st4 } 1710 FpuReservedEncoding {db 0deh, 0d5h}, { fcomp st5 } 1711 FpuReservedEncoding {db 0deh, 0d6h}, { fcomp st6 } 1712 FpuReservedEncoding {db 0deh, 0d7h}, { fcomp st7 } 1692 1713 ShouldTrap X86_XCPT_UD, db 0deh, 0d8h 1693 1714 ShouldTrap X86_XCPT_UD, db 0deh, 0dah … … 1699 1720 1700 1721 ; the 0xdf block 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?1722 FpuReservedEncoding {db 0dfh, 0c8h}, { fxch st0 } 1723 FpuReservedEncoding {db 0dfh, 0c9h}, { fxch st1 } 1724 FpuReservedEncoding {db 0dfh, 0cah}, { fxch st2 } 1725 FpuReservedEncoding {db 0dfh, 0cbh}, { fxch st3 } 1726 FpuReservedEncoding {db 0dfh, 0cch}, { fxch st4 } 1727 FpuReservedEncoding {db 0dfh, 0cdh}, { fxch st5 } 1728 FpuReservedEncoding {db 0dfh, 0ceh}, { fxch st6 } 1729 FpuReservedEncoding {db 0dfh, 0cfh}, { fxch st7 } 1730 FpuReservedEncoding {db 0dfh, 0d0h}, { fstp st0 } 1731 FpuReservedEncoding {db 0dfh, 0d1h}, { fstp st1 } 1732 FpuReservedEncoding {db 0dfh, 0d2h}, { fstp st2 } 1733 FpuReservedEncoding {db 0dfh, 0d3h}, { fstp st3 } 1734 FpuReservedEncoding {db 0dfh, 0d4h}, { fstp st4 } 1735 FpuReservedEncoding {db 0dfh, 0d5h}, { fstp st5 } 1736 FpuReservedEncoding {db 0dfh, 0d6h}, { fstp st6 } 1737 FpuReservedEncoding {db 0dfh, 0d7h}, { fstp st7 } 1738 FpuReservedEncoding {db 0dfh, 0d8h}, { fstp st0 } 1739 FpuReservedEncoding {db 0dfh, 0d9h}, { fstp st1 } 1740 FpuReservedEncoding {db 0dfh, 0dah}, { fstp st2 } 1741 FpuReservedEncoding {db 0dfh, 0dbh}, { fstp st3 } 1742 FpuReservedEncoding {db 0dfh, 0dch}, { fstp st4 } 1743 FpuReservedEncoding {db 0dfh, 0ddh}, { fstp st5 } 1744 FpuReservedEncoding {db 0dfh, 0deh}, { fstp st6 } 1745 FpuReservedEncoding {db 0dfh, 0dfh}, { fstp st7 } 1725 1746 ShouldTrap X86_XCPT_UD, db 0dfh, 0e1h 1726 1747 ShouldTrap X86_XCPT_UD, db 0dfh, 0e2h
Note:
See TracChangeset
for help on using the changeset viewer.