VirtualBox

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


Ignore:
Timestamp:
Nov 23, 2022 8:08:07 AM (2 years ago)
Author:
vboxsync
Message:

VMM/IEM: Hack to raise more correct #PFs for FXSAVE and friends so bs3-cpu-basic2 passes the #AC test. [build fix] bugref:9898

File:
1 edited

Legend:

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

    r97645 r97662  
    60946094                IEM_VMX_VMEXIT_EPT_RET(pVCpu, &Walk, fAccess, IEM_SLAT_FAIL_LINEAR_TO_PHYS_ADDR, 0 /* cbInstr */);
    60956095# endif
    6096             return iemRaisePageFault(pVCpu, GCPtrMem, cbMem, fAccess, rc);
     6096            return iemRaisePageFault(pVCpu, GCPtrMem, (uint32_t)cbMem, fAccess, rc);
    60976097        }
    60986098
     
    61236123                IEM_VMX_VMEXIT_EPT_RET(pVCpu, &Walk, fAccess, IEM_SLAT_FAIL_LINEAR_TO_PAGE_TABLE, 0 /* cbInstr */);
    61246124# endif
    6125             return iemRaisePageFault(pVCpu, GCPtrMem, cbMem, fAccess & ~IEM_ACCESS_TYPE_READ, VERR_ACCESS_DENIED);
     6125            return iemRaisePageFault(pVCpu, GCPtrMem, (uint32_t)cbMem, fAccess & ~IEM_ACCESS_TYPE_READ, VERR_ACCESS_DENIED);
    61266126        }
    61276127
     
    61366136                IEM_VMX_VMEXIT_EPT_RET(pVCpu, &Walk, fAccess, IEM_SLAT_FAIL_LINEAR_TO_PAGE_TABLE, 0 /* cbInstr */);
    61376137# endif
    6138             return iemRaisePageFault(pVCpu, GCPtrMem, cbMem, fAccess, VERR_ACCESS_DENIED);
     6138            return iemRaisePageFault(pVCpu, GCPtrMem, (uint32_t)cbMem, fAccess, VERR_ACCESS_DENIED);
    61396139        }
    61406140    }
     
    64216421                IEM_VMX_VMEXIT_EPT_RET(pVCpu, &Walk, fAccess, IEM_SLAT_FAIL_LINEAR_TO_PHYS_ADDR, 0 /* cbInstr */);
    64226422# endif
    6423             iemRaisePageFaultJmp(pVCpu, GCPtrMem, cbMem, fAccess, rc);
     6423            iemRaisePageFaultJmp(pVCpu, GCPtrMem, (uint32_t)cbMem, fAccess, rc);
    64246424        }
    64256425
     
    64656465                IEM_VMX_VMEXIT_EPT_RET(pVCpu, &Walk, fAccess, IEM_SLAT_FAIL_LINEAR_TO_PAGE_TABLE, 0 /* cbInstr */);
    64666466# endif
    6467             iemRaisePageFaultJmp(pVCpu, GCPtrMem, cbMem, fAccess & ~IEM_ACCESS_TYPE_READ, VERR_ACCESS_DENIED);
     6467            iemRaisePageFaultJmp(pVCpu, GCPtrMem, (uint32_t)cbMem, fAccess & ~IEM_ACCESS_TYPE_READ, VERR_ACCESS_DENIED);
    64686468        }
    64696469
     
    64766476                IEM_VMX_VMEXIT_EPT_RET(pVCpu, &Walk, fAccess, IEM_SLAT_FAIL_LINEAR_TO_PAGE_TABLE, 0 /* cbInstr */);
    64776477# endif
    6478             iemRaisePageFaultJmp(pVCpu, GCPtrMem, cbMem, fAccess, VERR_ACCESS_DENIED);
     6478            iemRaisePageFaultJmp(pVCpu, GCPtrMem, (uint32_t)cbMem, fAccess, VERR_ACCESS_DENIED);
    64796479        }
    64806480
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