Changeset 40007 in vbox for trunk/src/VBox/VMM/VMMR3
- Timestamp:
- Feb 6, 2012 11:16:59 AM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 76118
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/PATMA.asm
r37955 r40007 92 92 93 93 94 SECTION .data 94 95 ; Patch record for setting PATM_INTERRUPTFLAG 95 96 GLOBALNAME PATMSetPIFRecord … … 103 104 DD 0 104 105 DD 0ffffffffh 106 SECTION .text 105 107 106 108 ; … … 117 119 118 120 121 SECTION .data 119 122 ; Patch record for clearing PATM_INTERRUPTFLAG 120 123 GLOBALNAME PATMClearPIFRecord … … 128 131 DD 0 129 132 DD 0ffffffffh 133 SECTION .text 130 134 131 135 ; … … 170 174 171 175 176 SECTION .data 172 177 ; Patch record for clearing PATM_INHIBITIRQADDR 173 178 GLOBALNAME PATMClearInhibitIRQFaultIF0Record … … 203 208 DD 0 204 209 DD 0ffffffffh 210 SECTION .text 205 211 206 212 ; … … 240 246 241 247 248 SECTION .data 242 249 ; Patch record for clearing PATM_INHIBITIRQADDR 243 250 GLOBALNAME PATMClearInhibitIRQContIF0Record … … 271 278 DD 0 272 279 DD 0ffffffffh 280 SECTION .text 273 281 274 282 … … 299 307 300 308 309 SECTION .data 301 310 ; Patch record for 'cli' 302 311 GLOBALNAME PATMCliRecord … … 322 331 DD 0 323 332 DD 0ffffffffh 333 SECTION .text 324 334 325 335 … … 345 355 ENDPROC PATMStiReplacement 346 356 357 SECTION .data 347 358 ; Patch record for 'sti' 348 359 GLOBALNAME PATMStiRecord … … 372 383 DD 0 373 384 DD 0ffffffffh 385 SECTION .text 374 386 375 387 ; … … 433 445 434 446 447 SECTION .data 435 448 ; Patch record for trap gate entrypoint 436 449 GLOBALNAME PATMTrapEntryRecord … … 456 469 DD 0 457 470 DD 0ffffffffh 471 SECTION .text 458 472 459 473 ; … … 518 532 519 533 534 SECTION .data 520 535 ; Patch record for trap gate entrypoint 521 536 GLOBALNAME PATMTrapEntryRecordErrorCode … … 541 556 DD 0 542 557 DD 0ffffffffh 558 SECTION .text 543 559 544 560 … … 600 616 601 617 618 SECTION .data 602 619 ; Patch record for interrupt gate entrypoint 603 620 GLOBALNAME PATMIntEntryRecord … … 623 640 DD 0 624 641 DD 0ffffffffh 642 SECTION .text 625 643 626 644 ; … … 682 700 683 701 702 SECTION .data 684 703 ; Patch record for interrupt gate entrypoint 685 704 GLOBALNAME PATMIntEntryRecordErrorCode … … 705 724 DD 0 706 725 DD 0ffffffffh 726 SECTION .text 707 727 708 728 ; … … 767 787 768 788 789 SECTION .data 769 790 ; Patch record for 'popfd' 770 791 GLOBALNAME PATMPopf32Record … … 806 827 DD 0 807 828 DD 0ffffffffh 829 SECTION .text 808 830 809 831 ; no need to check the IF flag when popf isn't an exit point of a patch (e.g. function duplication) … … 859 881 860 882 883 SECTION .data 861 884 ; Patch record for 'popfd' 862 885 GLOBALNAME PATMPopf32Record_NoExit … … 902 925 DD 0 903 926 DD 0ffffffffh 927 SECTION .text 904 928 905 929 … … 941 965 942 966 967 SECTION .data 943 968 ; Patch record for 'popf' 944 969 GLOBALNAME PATMPopf16Record … … 968 993 DD 0 969 994 DD 0ffffffffh 995 SECTION .text 970 996 971 997 ; … … 1002 1028 1003 1029 1030 SECTION .data 1004 1031 ; Patch record for 'popf' 1005 1032 GLOBALNAME PATMPopf16Record_NoExit … … 1029 1056 DD 0 1030 1057 DD 0ffffffffh 1058 SECTION .text 1031 1059 1032 1060 … … 1059 1087 1060 1088 1089 SECTION .data 1061 1090 ; Patch record for 'pushfd' 1062 1091 GLOBALNAME PATMPushf32Record … … 1082 1111 DD 0 1083 1112 DD 0ffffffffh 1113 SECTION .text 1084 1114 1085 1115 … … 1106 1136 1107 1137 1138 SECTION .data 1108 1139 ; Patch record for 'pushf' 1109 1140 GLOBALNAME PATMPushf16Record … … 1121 1152 DD 0 1122 1153 DD 0ffffffffh 1154 SECTION .text 1123 1155 1124 1156 … … 1146 1178 1147 1179 1180 SECTION .data 1148 1181 ; Patch record for 'push cs' 1149 1182 GLOBALNAME PATMPushCSRecord … … 1159 1192 DD 0 1160 1193 DD 0ffffffffh 1194 SECTION .text 1161 1195 1162 1196 ;;**************************************************** … … 1358 1392 ENDPROC PATMIretReplacement 1359 1393 1394 SECTION .data 1360 1395 ; Patch record for 'iretd' 1361 1396 GLOBALNAME PATMIretRecord … … 1425 1460 DD 0 1426 1461 DD 0ffffffffh 1462 SECTION .text 1427 1463 1428 1464 … … 1508 1544 ENDPROC PATMIretFunction 1509 1545 1546 SECTION .data 1510 1547 GLOBALNAME PATMIretFunctionRecord 1511 1548 RTCCPTR_DEF PATMIretFunction_Start … … 1520 1557 DD 0 1521 1558 DD 0ffffffffh 1559 SECTION .text 1522 1560 1523 1561 … … 1574 1612 ENDPROC PATMCpuidReplacement 1575 1613 1614 SECTION .data 1576 1615 ; Patch record for 'cpuid' 1577 1616 GLOBALNAME PATMCpuidRecord … … 1601 1640 DD 0 1602 1641 DD 0ffffffffh 1642 SECTION .text 1603 1643 1604 1644 … … 1624 1664 ENDPROC PATMJEcxReplacement 1625 1665 1666 SECTION .data 1626 1667 ; Patch record for 'JEcx' 1627 1668 GLOBALNAME PATMJEcxRecord … … 1639 1680 DD 0 1640 1681 DD 0ffffffffh 1682 SECTION .text 1641 1683 1642 1684 align 32; yasm / nasm diffing. remove me! … … 1662 1704 ENDPROC PATMLoopReplacement 1663 1705 1706 SECTION .data 1664 1707 ; Patch record for 'Loop' 1665 1708 GLOBALNAME PATMLoopRecord … … 1677 1720 DD 0 1678 1721 DD 0ffffffffh 1722 SECTION .text 1679 1723 1680 1724 BEGINPROC PATMLoopZReplacement … … 1702 1746 ENDPROC PATMLoopZReplacement 1703 1747 1748 SECTION .data 1704 1749 ; Patch record for 'Loopz' 1705 1750 GLOBALNAME PATMLoopZRecord … … 1717 1762 DD 0 1718 1763 DD 0ffffffffh 1764 SECTION .text 1719 1765 1720 1766 … … 1743 1789 ENDPROC PATMLoopNZReplacement 1744 1790 1791 SECTION .data 1745 1792 ; Patch record for 'LoopNZ' 1746 1793 GLOBALNAME PATMLoopNZRecord … … 1758 1805 DD 0 1759 1806 DD 0ffffffffh 1807 SECTION .text 1760 1808 1761 1809 align 32 … … 1876 1924 ENDPROC PATMLookupAndCall 1877 1925 1926 SECTION .data 1878 1927 ; Patch record for indirect calls and jumps 1879 1928 GLOBALNAME PATMLookupAndCallRecord … … 1911 1960 DD 0 1912 1961 DD 0ffffffffh 1962 SECTION .text 1913 1963 1914 1964 … … 1993 2043 ENDPROC PATMLookupAndJump 1994 2044 2045 SECTION .data 1995 2046 ; Patch record for indirect calls and jumps 1996 2047 GLOBALNAME PATMLookupAndJumpRecord … … 2012 2063 DD 0 2013 2064 DD 0ffffffffh 2065 SECTION .text 2014 2066 2015 2067 … … 2052 2104 ENDPROC PATMCall 2053 2105 2106 SECTION .data 2054 2107 ; Patch record for direct calls 2055 2108 GLOBALNAME PATMCallRecord … … 2071 2124 DD 0 2072 2125 DD 0ffffffffh 2126 SECTION .text 2073 2127 2074 2128 … … 2108 2162 ENDPROC PATMCallIndirect 2109 2163 2164 SECTION .data 2110 2165 ; Patch record for indirect calls 2111 2166 GLOBALNAME PATMCallIndirectRecord … … 2127 2182 DD 0 2128 2183 DD 0ffffffffh 2184 SECTION .text 2129 2185 2130 2186 … … 2169 2225 ENDPROC PATMJumpIndirect 2170 2226 2227 SECTION .data 2171 2228 ; Patch record for indirect jumps 2172 2229 GLOBALNAME PATMJumpIndirectRecord … … 2188 2245 DD 0 2189 2246 DD 0ffffffffh 2247 SECTION .text 2190 2248 2191 2249 ; … … 2234 2292 ENDPROC PATMRet 2235 2293 2294 SECTION .data 2236 2295 GLOBALNAME PATMRetRecord 2237 2296 RTCCPTR_DEF PATMRet_Start … … 2250 2309 DD 0 2251 2310 DD 0ffffffffh 2311 SECTION .text 2252 2312 2253 2313 ; … … 2399 2459 ENDPROC PATMRetFunction 2400 2460 2461 SECTION .data 2401 2462 GLOBALNAME PATMRetFunctionRecord 2402 2463 RTCCPTR_DEF PATMRetFunction_Start … … 2433 2494 %endif 2434 2495 DD 0ffffffffh 2496 SECTION .text 2435 2497 2436 2498 … … 2474 2536 ENDPROC PATMCheckIF 2475 2537 2538 SECTION .data 2476 2539 ; Patch record for call instructions 2477 2540 GLOBALNAME PATMCheckIFRecord … … 2501 2564 DD 0 2502 2565 DD 0ffffffffh 2566 SECTION .text 2503 2567 2504 2568 ; … … 2528 2592 ENDPROC PATMJumpToGuest_IF1 2529 2593 2594 SECTION .data 2530 2595 ; Patch record for call instructions 2531 2596 GLOBALNAME PATMJumpToGuest_IF1Record … … 2545 2610 DD 0 2546 2611 DD 0ffffffffh 2612 SECTION .text 2547 2613 2548 2614 … … 2564 2630 ENDPROC PATMMovFromSS 2565 2631 2632 SECTION .data 2566 2633 GLOBALNAME PATMMovFromSSRecord 2567 2634 RTCCPTR_DEF PATMMovFromSS_Start … … 2576 2643 2577 2644 2645 SECTION .rodata 2578 2646 ; For assertion during init (to make absolutely sure the flags are in sync in vm.mac & vm.h) 2579 2647 GLOBALNAME PATMInterruptFlag
Note:
See TracChangeset
for help on using the changeset viewer.