VirtualBox

Changeset 19993 in vbox for trunk/src/VBox/VMM/VMMAll


Ignore:
Timestamp:
May 25, 2009 12:12:06 PM (16 years ago)
Author:
vboxsync
Message:

Proper handling of VMX_EXIT_APIC_ACCESS

File:
1 edited

Legend:

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

    r19992 r19993  
    10431043 * @param   uErrorCode  CPU Error code.
    10441044 * @param   pCtxCore    Trap register frame.
    1045  * @param   pvFault     The fault address (cr2).
    10461045 * @param   GCPhysFault The GC physical address corresponding to pvFault.
    10471046 * @param   pvUser      Pointer to the MMIO ring-3 range entry.
    10481047 */
    1049 VMMDECL(int) IOMMMIOHandler(PVM pVM, RTGCUINT uErrorCode, PCPUMCTXCORE pCtxCore, RTGCPTR pvFault, RTGCPHYS GCPhysFault, void *pvUser)
     1048int iomMMIOHandler(PVM pVM, RTGCUINT uErrorCode, PCPUMCTXCORE pCtxCore, RTGCPHYS GCPhysFault, void *pvUser)
    10501049{
    10511050    /* Take the IOM lock before performing any MMIO. */
     
    10581057
    10591058    STAM_PROFILE_START(&pVM->iom.s.StatRZMMIOHandler, a);
    1060     Log(("IOMMMIOHandler: GCPhys=%RGp uErr=%#x pvFault=%RGv rip=%RGv\n",
    1061          GCPhysFault, (uint32_t)uErrorCode, pvFault, (RTGCPTR)pCtxCore->rip));
     1059    Log(("iomMMIOHandler: GCPhys=%RGp uErr=%#x pvFault=%RGv rip=%RGv\n",
     1060         GCPhysFault, (uint32_t)uErrorCode, (RTGCPTR)pCtxCore->rip));
    10621061
    10631062    PIOMMMIORANGE pRange = (PIOMMMIORANGE)pvUser;
     
    12441243}
    12451244
     1245/**
     1246 * \#PF Handler callback for MMIO ranges.
     1247 *
     1248 * @returns VBox status code (appropriate for GC return).
     1249 * @param   pVM         VM Handle.
     1250 * @param   uErrorCode  CPU Error code.
     1251 * @param   pCtxCore    Trap register frame.
     1252 * @param   pvFault     The fault address (cr2).
     1253 * @param   GCPhysFault The GC physical address corresponding to pvFault.
     1254 * @param   pvUser      Pointer to the MMIO ring-3 range entry.
     1255 */
     1256VMMDECL(int) IOMMMIOHandler(PVM pVM, RTGCUINT uErrorCode, PCPUMCTXCORE pCtxCore, RTGCPTR pvFault, RTGCPHYS GCPhysFault, void *pvUser)
     1257{
     1258    LogFlow(("IOMMMIOHandler: GCPhys=%RGp uErr=%#x pvFault=%RGv rip=%RGv\n",
     1259             GCPhysFault, (uint32_t)uErrorCode, pvFault, (RTGCPTR)pCtxCore->rip));
     1260    return iomMMIOHandler(pVM, uErrorCode, pCtxCore, GCPhysFault, pvUser);
     1261}
     1262
     1263/**
     1264 * Physical access handler for MMIO ranges.
     1265 *
     1266 * @returns VBox status code (appropriate for GC return).
     1267 * @param   pVM         VM Handle.
     1268 * @param   uErrorCode  CPU Error code.
     1269 * @param   pCtxCore    Trap register frame.
     1270 * @param   GCPhysFault The GC physical address.
     1271 */
     1272VMMDECL(int) IOMMMIOPhysHandler(PVM pVM, RTGCUINT uErrorCode, PCPUMCTXCORE pCtxCore, RTGCPHYS GCPhysFault)
     1273{
     1274    return iomMMIOHandler(pVM, uErrorCode, pCtxCore, GCPhysFault, iomMMIOGetRange(&pVM->iom.s, GCPhysFault));
     1275}
    12461276
    12471277#ifdef IN_RING3
Note: See TracChangeset for help on using the changeset viewer.

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