Changeset 56660 in vbox for trunk/src/VBox/VMM/VMMAll/IOMAllMMIO.cpp
- Timestamp:
- Jun 26, 2015 2:21:23 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IOMAllMMIO.cpp
r56640 r56660 1662 1662 1663 1663 /** 1664 * \#PF Handler callback for MMIO ranges.1664 * Common worker for the \#PF handler and IOMMMIOPhysHandler (APIC+VT-x). 1665 1665 * 1666 1666 * @returns VBox status code (appropriate for GC return). … … 1673 1673 * @param pvUser Pointer to the MMIO ring-3 range entry. 1674 1674 */ 1675 static VBOXSTRICTRC iomMMIOHandler(PVM pVM, PVMCPU pVCpu, uint32_t uErrorCode, PCPUMCTXCORE pCtxCore, RTGCPHYS GCPhysFault, void *pvUser) 1675 static VBOXSTRICTRC iomMmioCommonPfHandler(PVM pVM, PVMCPU pVCpu, uint32_t uErrorCode, PCPUMCTXCORE pCtxCore, 1676 RTGCPHYS GCPhysFault, void *pvUser) 1676 1677 { 1677 1678 int rc = IOM_LOCK_SHARED(pVM); … … 1683 1684 1684 1685 STAM_PROFILE_START(&pVM->iom.s.StatRZMMIOHandler, a); 1685 Log(("iomM MIOHandler: GCPhys=%RGp uErr=%#x rip=%RGv\n", GCPhysFault, uErrorCode, (RTGCPTR)pCtxCore->rip));1686 Log(("iomMmioCommonPfHandler: GCPhys=%RGp uErr=%#x rip=%RGv\n", GCPhysFault, uErrorCode, (RTGCPTR)pCtxCore->rip)); 1686 1687 1687 1688 PIOMMMIORANGE pRange = (PIOMMMIORANGE)pvUser; … … 1759 1760 PDMCritSectLeave(pDevIns->CTX_SUFF(pCritSectRo)); 1760 1761 iomMmioReleaseRange(pVM, pRange); 1762 if (RT_SUCCESS(rcStrict)) 1763 return rcStrict; 1764 if ( rcStrict == VERR_IEM_ASPECT_NOT_IMPLEMENTED 1765 || rcStrict == VERR_IEM_INSTR_NOT_IMPLEMENTED) 1766 { 1767 Log(("IOM: Hit unsupported IEM feature!\n")); 1768 rcStrict = VINF_EM_RAW_EMULATE_INSTR; 1769 } 1761 1770 return rcStrict; 1762 1771 … … 1923 1932 LogFlow(("iomMmioPfHandler: GCPhys=%RGp uErr=%#x pvFault=%RGv rip=%RGv\n", 1924 1933 GCPhysFault, (uint32_t)uErrorCode, pvFault, (RTGCPTR)pCtxCore->rip)); 1925 return iomM MIOHandler(pVM, pVCpu, (uint32_t)uErrorCode, pCtxCore, GCPhysFault, pvUser);1934 return iomMmioCommonPfHandler(pVM, pVCpu, (uint32_t)uErrorCode, pCtxCore, GCPhysFault, pvUser); 1926 1935 } 1927 1936 … … 1956 1965 IOM_UNLOCK_SHARED(pVM); 1957 1966 1958 VBOXSTRICTRC rcStrict = iomM MIOHandler(pVM, pVCpu, (uint32_t)uErrorCode, pCtxCore, GCPhysFault, pRange);1967 VBOXSTRICTRC rcStrict = iomMmioCommonPfHandler(pVM, pVCpu, (uint32_t)uErrorCode, pCtxCore, GCPhysFault, pRange); 1959 1968 1960 1969 iomMmioReleaseRange(pVM, pRange);
Note:
See TracChangeset
for help on using the changeset viewer.