- Timestamp:
- Jan 17, 2007 3:53:30 PM (18 years ago)
- Location:
- trunk/src/VBox/VMM/PATM
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/PATM/PATMA.asm
r91 r110 1881 1881 mov eax, dword [ss:eax] ; relative patm return address 1882 1882 add eax, PATM_PATCHBASE 1883 1884 %ifdef PATM_LOG_IF_CHANGES 1885 push eax 1886 push ecx 1887 push edx 1888 mov edx, eax ; return address 1889 lock or dword [ss:PATM_PENDINGACTION], PATM_ACTION_LOG_RET 1890 mov eax, PATM_ACTION_LOG_RET 1891 mov ecx, PATM_ACTION_MAGIC 1892 db 0fh, 0bh ; illegal instr (hardcoded assumption in PATMHandleIllegalInstrTrap) 1893 pop edx 1894 pop ecx 1895 pop eax 1896 %endif 1897 1883 1898 add dword [ss:edx], 4 ; pop return address from the PATM stack (sizeof(RTGCPTR); @note hardcoded assumption!) 1884 1899 … … 1925 1940 1926 1941 add eax, PATM_PATCHBASE 1942 1943 %ifdef PATM_LOG_IF_CHANGES 1944 push eax 1945 push ecx 1946 push edx 1947 mov edx, eax ; return address 1948 lock or dword [ss:PATM_PENDINGACTION], PATM_ACTION_LOG_RET 1949 mov eax, PATM_ACTION_LOG_RET 1950 mov ecx, PATM_ACTION_MAGIC 1951 db 0fh, 0bh ; illegal instr (hardcoded assumption in PATMHandleIllegalInstrTrap) 1952 pop edx 1953 pop ecx 1954 pop eax 1955 %endif 1956 1927 1957 pop edi 1928 1958 pop edx … … 1947 1977 DD 0 1948 1978 DD PATMRetFunction_End - PATMRetFunction_Start 1979 %ifdef PATM_LOG_IF_CHANGES 1980 DD 9 1981 %else 1949 1982 DD 7 1983 %endif 1950 1984 DD PATM_STACKPTR 1951 1985 DD 0 … … 1958 1992 DD PATM_PATCHBASE 1959 1993 DD 0 1994 %ifdef PATM_LOG_IF_CHANGES 1960 1995 DD PATM_PENDINGACTION 1961 1996 DD 0 1997 %endif 1998 DD PATM_PENDINGACTION 1999 DD 0 1962 2000 DD PATM_PATCHBASE 1963 2001 DD 0 2002 %ifdef PATM_LOG_IF_CHANGES 2003 DD PATM_PENDINGACTION 2004 DD 0 2005 %endif 1964 2006 DD 0ffffffffh 1965 2007 -
trunk/src/VBox/VMM/PATM/PATMA.h
r23 r110 87 87 #define PATM_ACTION_LOG_PUSHF 8 88 88 #define PATM_ACTION_LOG_IRET 9 89 #define PATM_ACTION_LOG_RET 10 89 90 90 91 /* Magic dword found in ecx for patm pending actions. */ -
trunk/src/VBox/VMM/PATM/PATMA.mac
r19 r110 86 86 %define PATM_ACTION_LOG_PUSHF 8 87 87 %define PATM_ACTION_LOG_IRET 9 88 %define PATM_ACTION_LOG_RET 10 88 89 89 90 ;/* Magic dword found in ecx for patm pending actions. */ -
trunk/src/VBox/VMM/PATM/VMMAll/PATMAll.cpp
r90 r110 589 589 pRegFrame->eip += PATM_ILLEGAL_INSTR_SIZE; 590 590 return VINF_SUCCESS; 591 592 case PATM_ACTION_LOG_RET: 593 Log(("PATMHandleIllegalInstrTrap: RET to %VGv\n", pRegFrame->edx)); 594 pRegFrame->eip += PATM_ILLEGAL_INSTR_SIZE; 595 return VINF_SUCCESS; 591 596 #endif 592 597 default:
Note:
See TracChangeset
for help on using the changeset viewer.

