VirtualBox

Ignore:
Timestamp:
Jan 27, 2020 6:20:21 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
135863
Message:

Devices/testcase: Restarted work on the device testbench/fuzzing work (#9006), adjusting to the interface changes in 6.1 dropping the VMM stub library which is not required anymore (yay), work in progress

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/testcase/tstDevice.cpp

    r76553 r82883  
    154154    PCTSTDEVPDMMOD                  pPdmMod;
    155155    /** Device registration structure. */
    156     const struct PDMDEVREG          *pReg;
     156    const PDMDEVREG                 *pReg;
    157157} TSTDEVPDMDEV;
    158158/** Pointer to a PDM device descriptor .*/
     
    204204RTLISTANCHOR g_LstPdmDevs;
    205205
    206 extern const TSTDEVVMMCALLBACKS g_tstDevVmmCallbacks;
    207 
    208206/**
    209207 * PDM R0 imports we implement.
     
    211209static const TSTDEVPDMR0IMPORTS g_aPdmR0Imports[] =
    212210{
     211#if 0
    213212    {"IOMMMIOMapMMIO2Page",            (PFNRT)IOMMMIOMapMMIO2Page},
    214213    {"IOMMMIOResetRegion",             (PFNRT)IOMMMIOResetRegion},
     
    255254    {"nocrt_memset",                   (PFNRT)memset},
    256255    {"nocrt_strlen",                   (PFNRT)strlen},
     256#else
     257    { NULL, NULL }
     258#endif
    257259};
    258260
     
    480482                    &&  tstDevPdmR3IsValidName(pReg->szName),
    481483                    ("Invalid name '%.*s'\n", sizeof(pReg->szName), pReg->szName),
    482                     VERR_PDM_INVALID_DEVICE_REGISTRATION);
    483     AssertMsgReturn(   !(pReg->fFlags & PDM_DEVREG_FLAGS_RC)
    484                     || (   pReg->szRCMod[0]
    485                         && strlen(pReg->szRCMod) < sizeof(pReg->szRCMod)),
    486                     ("Invalid GC module name '%s' - (Device %s)\n", pReg->szRCMod, pReg->szName),
    487                     VERR_PDM_INVALID_DEVICE_REGISTRATION);
    488     AssertMsgReturn(   !(pReg->fFlags & PDM_DEVREG_FLAGS_R0)
    489                     || (   pReg->szR0Mod[0]
    490                         && strlen(pReg->szR0Mod) < sizeof(pReg->szR0Mod)),
    491                     ("Invalid R0 module name '%s' - (Device %s)\n", pReg->szR0Mod, pReg->szName),
    492484                    VERR_PDM_INVALID_DEVICE_REGISTRATION);
    493485    AssertMsgReturn((pReg->fFlags & PDM_DEVREG_FLAGS_HOST_BITS_MASK) == PDM_DEVREG_FLAGS_HOST_BITS_DEFAULT,
     
    503495                    ("Max instances %u! (Device %s)\n", pReg->cMaxInstances, pReg->szName),
    504496                    VERR_PDM_INVALID_DEVICE_REGISTRATION);
    505     AssertMsgReturn(pReg->cbInstance <= (uint32_t)(pReg->fFlags & (PDM_DEVREG_FLAGS_RC | PDM_DEVREG_FLAGS_R0)  ? 96 * _1K : _1M),
    506                     ("Instance size %d bytes! (Device %s)\n", pReg->cbInstance, pReg->szName),
     497    AssertMsgReturn(pReg->cbInstanceCC <= (uint32_t)(pReg->fFlags & (PDM_DEVREG_FLAGS_RC | PDM_DEVREG_FLAGS_R0)  ? 96 * _1K : _1M),
     498                    ("Instance size %d bytes! (Device %s)\n", pReg->cbInstanceCC, pReg->szName),
    507499                    VERR_PDM_INVALID_DEVICE_REGISTRATION);
    508500    AssertMsgReturn(pReg->pfnConstruct,
     
    852844        RTListInit(&Dut.SupSession.LstSupSem);
    853845        CFGMNODE Cfg;
    854         Cfg.pVmmCallbacks = &g_tstDevVmmCallbacks;
    855846        Cfg.pDut = &Dut;
    856847
     
    858849        AssertRC(rc);
    859850
    860         PPDMDEVINS pDevIns = (PPDMDEVINS)RTMemAllocZ(RT_UOFFSETOF_DYN(PDMDEVINS, achInstanceData[pPdmDev->pReg->cbInstance]));
     851        PPDMDEVINS pDevIns = (PPDMDEVINS)RTMemAllocZ(RT_UOFFSETOF_DYN(PDMDEVINS, achInstanceData[pPdmDev->pReg->cbInstanceCC]));
    861852        pDevIns->u32Version               = PDM_DEVINS_VERSION;
    862853        pDevIns->iInstance                = 0;
     
    865856        pDevIns->pHlpR3                   = &g_tstDevPdmDevHlpR3;
    866857        pDevIns->pCfg                     = &Cfg;
    867         pDevIns->Internal.s.pVmmCallbacks = &g_tstDevVmmCallbacks;
    868858        pDevIns->Internal.s.pDut          = &Dut;
    869859        rc = pPdmDev->pReg->pfnConstruct(pDevIns, 0, &Cfg);
     
    872862            PRTDEVDUTIOPORT pIoPort = RTListGetFirst(&Dut.LstIoPorts, RTDEVDUTIOPORT, NdIoPorts);
    873863            uint32_t uVal = 0;
    874             PDMCritSectEnter(pDevIns->pCritSectRoR3, VERR_IGNORED);
     864            /*PDMCritSectEnter(pDevIns->pCritSectRoR3, VERR_IGNORED);*/
    875865            pIoPort->pfnInR0(pDevIns, pIoPort->pvUserR0, pIoPort->PortStart, &uVal, sizeof(uint8_t));
    876             PDMCritSectLeave(pDevIns->pCritSectRoR3);
     866            /*PDMCritSectLeave(pDevIns->pCritSectRoR3);*/
    877867        }
    878868    }
Note: See TracChangeset for help on using the changeset viewer.

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