VirtualBox

Changeset 55904 in vbox


Ignore:
Timestamp:
May 18, 2015 12:07:40 PM (10 years ago)
Author:
vboxsync
Message:

PGM: Added a pVCpu parameter to all physical handler callouts and also a PGMACCESSORIGIN parameter to the ring-3 one. Fixed virtual handler callout mix up from previous commit.

Location:
trunk/src/VBox/Devices
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Graphics/DevVGA-SVGA.cpp

    r55840 r55904  
    158158} VMSVGASTATE, *PVMSVGASTATE;
    159159
     160
     161/*******************************************************************************
     162*   Internal Functions                                                         *
     163*******************************************************************************/
     164#ifdef IN_RING3
     165# ifdef DEBUG_FIFO_ACCESS
     166static FNPGMR3PHYSHANDLER vmsvgaR3FIFOAccessHandler;
     167# endif
     168# ifdef DEBUG_GMR_ACCESS
     169static FNPGMR3PHYSHANDLER vmsvgaR3GMRAccessHandler;
     170# endif
     171#endif
     172
     173
     174/*******************************************************************************
     175*   Global Variables                                                           *
     176*******************************************************************************/
    160177#ifdef IN_RING3
    161178
     
    18581875 * @returns VINF_PGM_HANDLER_DO_DEFAULT if the caller should carry out the access operation.
    18591876 * @param   pVM             VM Handle.
     1877 * @param   pVCpu           The cross context CPU structure for the calling EMT.
    18601878 * @param   GCPhys          The physical address the guest is writing to.
    18611879 * @param   pvPhys          The HC mapping of that address.
     
    18631881 * @param   cbBuf           How much it's reading/writing.
    18641882 * @param   enmAccessType   The access type.
     1883 * @param   enmOrigin       Who is making the access.
    18651884 * @param   pvUser          User argument.
    18661885 */
    1867 static DECLCALLBACK(int) vmsvgaR3FIFOAccessHandler(PVM pVM, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf, PGMACCESSTYPE enmAccessType, void *pvUser)
     1886static DECLCALLBACK(int) vmsvgaR3FIFOAccessHandler(PVM pVM, PVMCPU pVCpu RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
     1887                                                   PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
    18681888{
    18691889    PVGASTATE   pThis = (PVGASTATE)pvUser;
     
    18711891    Assert(pThis);
    18721892    Assert(GCPhys >= pThis->GCPhysVRAM);
    1873     NOREF(pvPhys); NOREF(pvBuf); NOREF(cbBuf);
     1893    NOREF(pVCpu); NOREF(pvPhys); NOREF(pvBuf); NOREF(cbBuf); NOREF(enmOrigin);
    18741894
    18751895    rc = vmsvgaFIFOAccess(pVM, pThis, GCPhys, enmAccessType == PGMACCESSTYPE_WRITE);
     
    18901910 * @returns VINF_PGM_HANDLER_DO_DEFAULT if the caller should carry out the access operation.
    18911911 * @param   pVM             VM Handle.
     1912 * @param   pVCpu           The cross context CPU structure for the calling EMT.
    18921913 * @param   GCPhys          The physical address the guest is writing to.
    18931914 * @param   pvPhys          The HC mapping of that address.
     
    18951916 * @param   cbBuf           How much it's reading/writing.
    18961917 * @param   enmAccessType   The access type.
     1918 * @param   enmOrigin       Who is making the access.
    18971919 * @param   pvUser          User argument.
    18981920 */
    1899 static DECLCALLBACK(int) vmsvgaR3GMRAccessHandler(PVM pVM, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf, PGMACCESSTYPE enmAccessType, void *pvUser)
     1921static DECLCALLBACK(int) vmsvgaR3GMRAccessHandler(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
     1922                                                  PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
    19001923{
    19011924    PVGASTATE   pThis = (PVGASTATE)pvUser;
    19021925    Assert(pThis);
    19031926    PVMSVGASTATE pSVGAState = (PVMSVGASTATE)pThis->svga.pSVGAState;
    1904     NOREF(pvPhys); NOREF(pvBuf); NOREF(cbBuf);
     1927    NOREF(pVCpu); NOREF(pvPhys); NOREF(pvBuf); NOREF(cbBuf); NOREF(enmOrigin);
    19051928
    19061929    Log(("vmsvgaR3GMRAccessHandler: GMR access to page %RGp\n", GCPhys));
  • trunk/src/VBox/Devices/Graphics/DevVGA.cpp

    r55896 r55904  
    262262#define LOGO_MAX_HEIGHT      480
    263263#define LOGO_MAX_SIZE        LOGO_MAX_WIDTH * LOGO_MAX_HEIGHT * 4
     264
     265/*******************************************************************************
     266*   Internal Functions                                                         *
     267*******************************************************************************/
     268#ifndef IN_RING3
     269RT_C_DECLS_BEGIN
     270DECLEXPORT(FNPGMRZPHYSPFHANDLER) vgaLbfAccessPfHandler;
     271RT_C_DECLS_END
     272#endif
     273#ifdef IN_RING3
     274static FNPGMR3PHYSHANDLER vgaR3LFBAccessHandler;
     275#endif
    264276
    265277
     
    35253537
    35263538#ifndef IN_RING3
    3527 RT_C_DECLS_BEGIN
    3528 DECLEXPORT(CTX_MID(FNPGM,PHYSPFHANDLER)) vgaLbfAccessPfHandler;
    3529 RT_C_DECLS_END
    3530 
    35313539/**
    35323540 * @callback_method_impl{FNPGMRCPHYSHANDLER, \#PF Handler for VBE LFB access.}
    35333541 */
    3534 PDMBOTHCBDECL(int) vgaLbfAccessPfHandler(PVM pVM, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault,
     3542PDMBOTHCBDECL(int) vgaLbfAccessPfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault,
    35353543                                         RTGCPHYS GCPhysFault, void *pvUser)
    35363544{
     
    35493557 * @callback_method_impl{FNPGMR3PHYSHANDLER, HC access handler for the LFB.}
    35503558 */
    3551 static DECLCALLBACK(int) vgaR3LFBAccessHandler(PVM pVM, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf, PGMACCESSTYPE enmAccessType, void *pvUser)
     3559static DECLCALLBACK(int) vgaR3LFBAccessHandler(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
     3560                                               PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
    35523561{
    35533562    PVGASTATE   pThis = (PVGASTATE)pvUser;
     
    35553564    Assert(pThis);
    35563565    Assert(GCPhys >= pThis->GCPhysVRAM);
    3557     NOREF(pvPhys); NOREF(pvBuf); NOREF(cbBuf); NOREF(enmAccessType);
     3566    NOREF(pVCpu); NOREF(pvPhys); NOREF(pvBuf); NOREF(cbBuf); NOREF(enmAccessType); NOREF(enmOrigin);
    35583567
    35593568    rc = vgaLFBAccess(pVM, pThis, GCPhys, 0);
  • trunk/src/VBox/Devices/Network/DevPCNet.cpp

    r55896 r55904  
    10991099 * @return  VBox status code (appropriate for trap handling and GC return).
    11001100 * @param   pVM         VM Handle.
     1101 * @param   pVCpu           The cross context CPU structure for the calling EMT.
    11011102 * @param   uErrorCode  CPU Error code.
    11021103 * @param   pRegFrame   Trap register frame.
     
    11051106 * @param   pvUser      User argument.
    11061107 */
    1107 DECLEXPORT(int) pcnetHandleRingWritePf(PVM pVM, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame,
     1108DECLEXPORT(int) pcnetHandleRingWritePf(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame,
    11081109                                       RTGCPTR pvFault, RTGCPHYS GCPhysFault, void *pvUser)
    11091110{
    1110     PPCNETSTATE pThis   = (PPCNETSTATE)pvUser;
     1111    PPCNETSTATE pThis = (PPCNETSTATE)pvUser;
    11111112
    11121113    Log(("#%d pcnetHandleRingWritePf: write to %#010x\n", PCNET_INST_NR, GCPhysFault));
     
    11491150# else /* IN_RING3 */
    11501151
     1152static FNPGMR3PHYSHANDLER pcnetR3HandleRingWrite;
     1153
    11511154/**
    11521155 * #PF Handler callback for physical access handler ranges (MMIO among others) in HC.
     
    11581161 * @returns VINF_PGM_HANDLER_DO_DEFAULT if the caller should carry out the access operation.
    11591162 * @param   pVM             VM Handle.
     1163 * @param   pVCpu           The cross context CPU structure for the calling EMT.
    11601164 * @param   GCPhys          The physical address the guest is writing to.
    11611165 * @param   pvPhys          The HC mapping of that address.
     
    11631167 * @param   cbBuf           How much it's reading/writing.
    11641168 * @param   enmAccessType   The access type.
     1169 * @param   enmOrigin       Who is making the access.
    11651170 * @param   pvUser          User argument.
    11661171 */
    1167 static DECLCALLBACK(int) pcnetR3HandleRingWrite(PVM pVM, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf,
    1168                                                 size_t cbBuf, PGMACCESSTYPE enmAccessType, void *pvUser)
     1172static DECLCALLBACK(int) pcnetR3HandleRingWrite(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
     1173                                                PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
    11691174{
    11701175    PPDMDEVINS  pDevIns = (PPDMDEVINS)pvUser;
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