VirtualBox

Changeset 84332 in vbox for trunk/src/VBox


Ignore:
Timestamp:
May 18, 2020 2:45:14 PM (5 years ago)
Author:
vboxsync
Message:

PDMDevHlp: Add flags to the guest physical read/write helpers to let a device indicate whether the read or written data not being processed by the device in any way (user data) or whether the device parses/created the data (meta data). This will be used for tracing later to decide whether to include certain data in the log

Location:
trunk/src/VBox/VMM
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/PDMR0DevHlp.cpp

    r84007 r84332  
    128128/** @interface_method_impl{PDMDEVHLPR0,pfnPCIPhysRead} */
    129129static DECLCALLBACK(int) pdmR0DevHlp_PCIPhysRead(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, RTGCPHYS GCPhys,
    130                                                  void *pvBuf, size_t cbRead)
     130                                                 void *pvBuf, size_t cbRead, uint32_t fFlags)
    131131{
    132132    PDMDEV_ASSERT_DEVINS(pDevIns);
     
    171171#endif
    172172
    173     return pDevIns->pHlpR0->pfnPhysRead(pDevIns, GCPhys, pvBuf, cbRead);
     173    return pDevIns->pHlpR0->pfnPhysRead(pDevIns, GCPhys, pvBuf, cbRead, fFlags);
    174174}
    175175
     
    177177/** @interface_method_impl{PDMDEVHLPR0,pfnPCIPhysWrite} */
    178178static DECLCALLBACK(int) pdmR0DevHlp_PCIPhysWrite(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, RTGCPHYS GCPhys,
    179                                                   const void *pvBuf, size_t cbWrite)
     179                                                  const void *pvBuf, size_t cbWrite, uint32_t fFlags)
    180180{
    181181    PDMDEV_ASSERT_DEVINS(pDevIns);
     
    219219#endif
    220220
    221     return pDevIns->pHlpR0->pfnPhysWrite(pDevIns, GCPhys, pvBuf, cbWrite);
     221    return pDevIns->pHlpR0->pfnPhysWrite(pDevIns, GCPhys, pvBuf, cbWrite, fFlags);
    222222}
    223223
     
    334334
    335335/** @interface_method_impl{PDMDEVHLPR0,pfnPhysRead} */
    336 static DECLCALLBACK(int) pdmR0DevHlp_PhysRead(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead)
    337 {
     336static DECLCALLBACK(int) pdmR0DevHlp_PhysRead(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead, uint32_t fFlags)
     337{
     338    RT_NOREF(fFlags);
     339
    338340    PDMDEV_ASSERT_DEVINS(pDevIns);
    339341    LogFlow(("pdmR0DevHlp_PhysRead: caller=%p/%d: GCPhys=%RGp pvBuf=%p cbRead=%#x\n",
     
    349351
    350352/** @interface_method_impl{PDMDEVHLPR0,pfnPhysWrite} */
    351 static DECLCALLBACK(int) pdmR0DevHlp_PhysWrite(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, const void *pvBuf, size_t cbWrite)
    352 {
     353static DECLCALLBACK(int) pdmR0DevHlp_PhysWrite(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, const void *pvBuf, size_t cbWrite, uint32_t fFlags)
     354{
     355    RT_NOREF(fFlags);
     356
    353357    PDMDEV_ASSERT_DEVINS(pDevIns);
    354358    LogFlow(("pdmR0DevHlp_PhysWrite: caller=%p/%d: GCPhys=%RGp pvBuf=%p cbWrite=%#x\n",
  • trunk/src/VBox/VMM/VMMR3/PDMDevHlp.cpp

    r83987 r84332  
    759759
    760760/** @interface_method_impl{PDMDEVHLPR3,pfnPhysRead} */
    761 static DECLCALLBACK(int) pdmR3DevHlp_PhysRead(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead)
    762 {
     761static DECLCALLBACK(int) pdmR3DevHlp_PhysRead(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead, uint32_t fFlags)
     762{
     763    RT_NOREF(fFlags);
     764
    763765    PDMDEV_ASSERT_DEVINS(pDevIns);
    764766    PVM pVM = pDevIns->Internal.s.pVMR3;
     
    788790
    789791/** @interface_method_impl{PDMDEVHLPR3,pfnPhysWrite} */
    790 static DECLCALLBACK(int) pdmR3DevHlp_PhysWrite(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, const void *pvBuf, size_t cbWrite)
    791 {
     792static DECLCALLBACK(int) pdmR3DevHlp_PhysWrite(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, const void *pvBuf, size_t cbWrite, uint32_t fFlags)
     793{
     794    RT_NOREF(fFlags);
     795
    792796    PDMDEV_ASSERT_DEVINS(pDevIns);
    793797    PVM pVM = pDevIns->Internal.s.pVMR3;
     
    17641768/** @interface_method_impl{PDMDEVHLPR3,pfnPCIPhysRead} */
    17651769static DECLCALLBACK(int)
    1766 pdmR3DevHlp_PCIPhysRead(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead)
     1770pdmR3DevHlp_PCIPhysRead(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead, uint32_t fFlags)
    17671771{
    17681772    PDMDEV_ASSERT_DEVINS(pDevIns);
     
    18071811#endif
    18081812
    1809     return pDevIns->pHlpR3->pfnPhysRead(pDevIns, GCPhys, pvBuf, cbRead);
     1813    return pDevIns->pHlpR3->pfnPhysRead(pDevIns, GCPhys, pvBuf, cbRead, fFlags);
    18101814}
    18111815
     
    18131817/** @interface_method_impl{PDMDEVHLPR3,pfnPCIPhysWrite} */
    18141818static DECLCALLBACK(int)
    1815 pdmR3DevHlp_PCIPhysWrite(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, RTGCPHYS GCPhys, const void *pvBuf, size_t cbWrite)
     1819pdmR3DevHlp_PCIPhysWrite(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, RTGCPHYS GCPhys, const void *pvBuf, size_t cbWrite, uint32_t fFlags)
    18161820{
    18171821    PDMDEV_ASSERT_DEVINS(pDevIns);
     
    18551859#endif
    18561860
    1857     return pDevIns->pHlpR3->pfnPhysWrite(pDevIns, GCPhys, pvBuf, cbWrite);
     1861    return pDevIns->pHlpR3->pfnPhysWrite(pDevIns, GCPhys, pvBuf, cbWrite, fFlags);
    18581862}
    18591863
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