Changeset 3112 in vbox
- Timestamp:
- Jun 14, 2007 6:23:38 PM (18 years ago)
- svn:sync-xref-src-repo-rev:
- 21997
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/pdm.h
r3110 r3112 1070 1070 * @param pInterface Pointer to the interface structure containing the called function pointer. 1071 1071 * @thread The emulation thread. 1072 */ 1073 DECLR3CALLBACKMEMBER(int, pfnUnmount,(PPDMIMOUNT pInterface)); 1072 * @param fForce Force the unmount, even for locked media. 1073 * @thread The emulation thread. 1074 */ 1075 DECLR3CALLBACKMEMBER(int, pfnUnmount,(PPDMIMOUNT pInterface, bool fForce)); 1074 1076 1075 1077 /** … … 2551 2553 2552 2554 /** 2555 * Set the VM runtime error message 2556 * 2557 * @returns VBox status code. 2558 * @param pDrvIns Driver instance. 2559 * @param fFatal Whether it is a fatal error or not. 2560 * @param pszErrorID Error ID string. 2561 * @param pszFormat Error message format string. 2562 * @param ... Error message arguments. 2563 */ 2564 DECLR3CALLBACKMEMBER(int, pfnVMSetRuntimeError,(PPDMDRVINS pDrvIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...)); 2565 2566 /** 2567 * Set the VM runtime error message 2568 * 2569 * @returns VBox status code. 2570 * @param pDrvIns Driver instance. 2571 * @param fFatal Whether it is a fatal error or not. 2572 * @param pszErrorID Error ID string. 2573 * @param pszFormat Error message format string. 2574 * @param va Error message arguments. 2575 */ 2576 DECLR3CALLBACKMEMBER(int, pfnVMSetRuntimeErrorV,(PPDMDRVINS pDrvIns, bool fFatal, const char *pszErrorID, const char *pszFormat, va_list va)); 2577 2578 /** 2553 2579 * Create a queue. 2554 2580 * … … 2779 2805 /** @def PDMDRV_SET_ERROR 2780 2806 * Set the VM error. See PDMDrvHlpVMSetError() for printf like message formatting. 2781 * Don't use any '%' in the error string!2782 2807 */ 2783 2808 #define PDMDRV_SET_ERROR(pDrvIns, rc, pszError) \ 2784 PDMDrvHlpVMSetError(pDrvIns, rc, RT_SRC_POS, pszError) 2809 PDMDrvHlpVMSetError(pDrvIns, rc, RT_SRC_POS, "%s", pszError) 2810 2811 /** 2812 * @copydoc PDMDRVHLP::pfnVMSetRuntimeError 2813 */ 2814 DECLINLINE(int) PDMDrvHlpVMSetRuntimeError(PPDMDRVINS pDrvIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...) 2815 { 2816 va_list va; 2817 int rc; 2818 va_start(va, pszFormat); 2819 rc = pDrvIns->pDrvHlp->pfnVMSetRuntimeErrorV(pDrvIns, fFatal, pszErrorID, pszFormat, va); 2820 va_end(va); 2821 return rc; 2822 } 2823 2824 /** @def PDMDRV_SET_RUNTIME_ERROR 2825 * Set the VM runtime error. See PDMDrvHlpVMSetRuntimeError() for printf like message formatting. 2826 */ 2827 #define PDMDRV_SET_RUNTIME_ERROR(pDrvIns, fFatal, pszErrorID, pszError) \ 2828 PDMDrvHlpVMSetError(pDrvIns, fFatal, pszErrorID, "%s", pszError) 2785 2829 2786 2830 #endif /* IN_RING3 */ … … 4865 4909 4866 4910 /** 4911 * Set the VM runtime error message 4912 * 4913 * @returns VBox status code. 4914 * @param pDevIns Device instance. 4915 * @param fFatal Whether it is a fatal error or not. 4916 * @param pszErrorID Error ID string. 4917 * @param pszFormat Error message format string. 4918 * @param ... Error message arguments. 4919 */ 4920 DECLR3CALLBACKMEMBER(int, pfnVMSetRuntimeError,(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...)); 4921 4922 /** 4923 * Set the VM runtime error message 4924 * 4925 * @returns VBox status code. 4926 * @param pDevIns Device instance. 4927 * @param fFatal Whether it is a fatal error or not. 4928 * @param pszErrorID Error ID string. 4929 * @param pszFormat Error message format string. 4930 * @param va Error message arguments. 4931 */ 4932 DECLR3CALLBACKMEMBER(int, pfnVMSetRuntimeErrorV,(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, va_list va)); 4933 4934 /** 4867 4935 * Assert that the current thread is the emulation thread. 4868 4936 * … … 5445 5513 5446 5514 /** 5515 * Set the VM runtime error message 5516 * 5517 * @returns VBox status code. 5518 * @param pDevIns Device instance. 5519 * @param fFatal Whether it is a fatal error or not. 5520 * @param pszErrorID Error ID string. 5521 * @param pszFormat Error message format string. 5522 * @param ... Error message arguments. 5523 */ 5524 DECLGCCALLBACKMEMBER(int, pfnVMSetRuntimeError,(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...)); 5525 5526 /** 5527 * Set the VM runtime error message 5528 * 5529 * @returns VBox status code. 5530 * @param pDevIns Device instance. 5531 * @param fFatal Whether it is a fatal error or not. 5532 * @param pszErrorID Error ID string. 5533 * @param pszFormat Error message format string. 5534 * @param va Error message arguments. 5535 */ 5536 DECLGCCALLBACKMEMBER(int, pfnVMSetRuntimeErrorV,(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, va_list va)); 5537 5538 /** 5447 5539 * Set parameters for pending MMIO patch operation 5448 5540 * … … 5547 5639 */ 5548 5640 DECLR0CALLBACKMEMBER(int, pfnVMSetErrorV,(PPDMDEVINS pDevIns, int rc, RT_SRC_POS_DECL, const char *pszFormat, va_list va)); 5641 5642 /** 5643 * Set the VM runtime error message 5644 * 5645 * @returns VBox status code. 5646 * @param pDevIns Device instance. 5647 * @param fFatal Whether it is a fatal error or not. 5648 * @param pszErrorID Error ID string. 5649 * @param pszFormat Error message format string. 5650 * @param ... Error message arguments. 5651 */ 5652 DECLR0CALLBACKMEMBER(int, pfnVMSetRuntimeError,(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...)); 5653 5654 /** 5655 * Set the VM runtime error message 5656 * 5657 * @returns VBox status code. 5658 * @param pDevIns Device instance. 5659 * @param fFatal Whether it is a fatal error or not. 5660 * @param pszErrorID Error ID string. 5661 * @param pszFormat Error message format string. 5662 * @param va Error message arguments. 5663 */ 5664 DECLR0CALLBACKMEMBER(int, pfnVMSetRuntimeErrorV,(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, va_list va)); 5549 5665 5550 5666 /** … … 5654 5770 /** @def PDMDEV_SET_ERROR 5655 5771 * Set the VM error. See PDMDevHlpVMSetError() for printf like message formatting. 5656 * Don't use any '%' in the error string!5657 5772 */ 5658 5773 #define PDMDEV_SET_ERROR(pDevIns, rc, pszError) \ 5659 PDMDevHlpVMSetError(pDevIns, rc, RT_SRC_POS, pszError) 5774 PDMDevHlpVMSetError(pDevIns, rc, RT_SRC_POS, "%s", pszError) 5775 5776 /** @def PDMDEV_SET_RUNTIME_ERROR 5777 * Set the VM runtime error. See PDMDevHlpVMSetRuntimeError() for printf like message formatting. 5778 */ 5779 #define PDMDEV_SET_RUNTIME_ERROR(pDevIns, fFatal, pszErrorID, pszError) \ 5780 PDMDevHlpVMSetRuntimeError(pDevIns, fFatal, pszErrorID, "%s", pszError) 5660 5781 5661 5782 /** @def PDMINS2DATA … … 6185 6306 #else 6186 6307 pDevIns->pDevHlp->pfnVMSetErrorV(pDevIns, rc, RT_SRC_POS_ARGS, pszFormat, va); 6308 #endif 6309 va_end(va); 6310 return rc; 6311 } 6312 6313 /** 6314 * @copydoc PDMDEVHLP::pfnVMSetRuntimeError 6315 */ 6316 DECLINLINE(int) PDMDevHlpVMSetRuntimeError(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...) 6317 { 6318 va_list va; 6319 int rc; 6320 va_start(va, pszFormat); 6321 #ifdef IN_GC 6322 rc = pDevIns->pDevHlpGC->pfnVMSetRuntimeErrorV(pDevIns, fFatal, pszErrorID, pszFormat, va); 6323 #elif defined(IN_RING0) 6324 rc = pDevIns->pDevHlpR0->pfnVMSetRuntimeErrorV(pDevIns, fFatal, pszErrorID, pszFormat, va); 6325 #else 6326 rc = pDevIns->pDevHlp->pfnVMSetRuntimeErrorV(pDevIns, fFatal, pszErrorID, pszFormat, va); 6187 6327 #endif 6188 6328 va_end(va); -
trunk/src/VBox/VMM/PDMDevice.cpp
r2981 r3112 108 108 static DECLCALLBACK(int) pdmR3DevHlp_PCIRegister(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev); 109 109 static DECLCALLBACK(int) pdmR3DevHlp_PCIIORegionRegister(PPDMDEVINS pDevIns, int iRegion, uint32_t cbRegion, PCIADDRESSSPACE enmType, PFNPCIIOREGIONMAP pfnCallback); 110 static DECLCALLBACK(void) pdmR3DevHlp_PCISetConfigCallbacks(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PFNPCICONFIGREAD pfnRead, PPFNPCICONFIGREAD ppfnReadOld, 110 static DECLCALLBACK(void) pdmR3DevHlp_PCISetConfigCallbacks(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PFNPCICONFIGREAD pfnRead, PPFNPCICONFIGREAD ppfnReadOld, 111 111 PFNPCICONFIGWRITE pfnWrite, PPFNPCICONFIGWRITE ppfnWriteOld); 112 112 static DECLCALLBACK(void) pdmR3DevHlp_PCISetIrq(PPDMDEVINS pDevIns, int iIrq, int iLevel); … … 120 120 static DECLCALLBACK(int) pdmR3DevHlp_VMSetError(PPDMDEVINS pDevIns, int rc, RT_SRC_POS_DECL, const char *pszFormat, ...); 121 121 static DECLCALLBACK(int) pdmR3DevHlp_VMSetErrorV(PPDMDEVINS pDevIns, int rc, RT_SRC_POS_DECL, const char *pszFormat, va_list va); 122 static DECLCALLBACK(int) pdmR3DevHlp_VMSetRuntimeError(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...); 123 static DECLCALLBACK(int) pdmR3DevHlp_VMSetRuntimeErrorV(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, va_list va); 122 124 static DECLCALLBACK(bool) pdmR3DevHlp_AssertEMT(PPDMDEVINS pDevIns, const char *pszFile, unsigned iLine, const char *pszFunction); 123 125 static DECLCALLBACK(bool) pdmR3DevHlp_AssertOther(PPDMDEVINS pDevIns, const char *pszFile, unsigned iLine, const char *pszFunction); … … 305 307 pdmR3DevHlp_VMSetError, 306 308 pdmR3DevHlp_VMSetErrorV, 309 pdmR3DevHlp_VMSetRuntimeError, 310 pdmR3DevHlp_VMSetRuntimeErrorV, 307 311 pdmR3DevHlp_AssertEMT, 308 312 pdmR3DevHlp_AssertOther, … … 391 395 pdmR3DevHlp_VMSetError, 392 396 pdmR3DevHlp_VMSetErrorV, 397 pdmR3DevHlp_VMSetRuntimeError, 398 pdmR3DevHlp_VMSetRuntimeErrorV, 393 399 pdmR3DevHlp_AssertEMT, 394 400 pdmR3DevHlp_AssertOther, … … 743 749 /* nop */; 744 750 } 745 else 751 else 746 752 AssertMsgRCReturn(rc, ("Configuration error: reading \"Priority\" for the '%s' device failed rc=%Vrc!\n", szName, rc), rc); 747 753 … … 1698 1704 1699 1705 /** @copydoc PDMDEVHLP::pfnPCISetConfigCallbacks */ 1700 static DECLCALLBACK(void) pdmR3DevHlp_PCISetConfigCallbacks(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PFNPCICONFIGREAD pfnRead, PPFNPCICONFIGREAD ppfnReadOld, 1706 static DECLCALLBACK(void) pdmR3DevHlp_PCISetConfigCallbacks(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PFNPCICONFIGREAD pfnRead, PPFNPCICONFIGREAD ppfnReadOld, 1701 1707 PFNPCICONFIGWRITE pfnWrite, PPFNPCICONFIGWRITE ppfnWriteOld) 1702 1708 { … … 2127 2133 2128 2134 2135 /** @copydoc PDMDEVHLP::pfnVMSetRuntimeError */ 2136 static DECLCALLBACK(int) pdmR3DevHlp_VMSetRuntimeError(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...) 2137 { 2138 PDMDEV_ASSERT_DEVINS(pDevIns); 2139 va_list args; 2140 va_start(args, pszFormat); 2141 int rc = VMSetRuntimeErrorV(pDevIns->Internal.s.pVMHC, fFatal, pszErrorID, pszFormat, args); 2142 va_end(args); 2143 return rc; 2144 } 2145 2146 2147 /** @copydoc PDMDEVHLP::pfnVMSetRuntimeErrorV */ 2148 static DECLCALLBACK(int) pdmR3DevHlp_VMSetRuntimeErrorV(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, va_list va) 2149 { 2150 PDMDEV_ASSERT_DEVINS(pDevIns); 2151 int rc = VMSetRuntimeErrorV(pDevIns->Internal.s.pVMHC, fFatal, pszErrorID, pszFormat, va); 2152 return rc; 2153 } 2154 2155 2129 2156 /** @copydoc PDMDEVHLP::pfnAssertEMT */ 2130 2157 static DECLCALLBACK(bool) pdmR3DevHlp_AssertEMT(PPDMDEVINS pDevIns, const char *pszFile, unsigned iLine, const char *pszFunction) … … 2347 2374 { 2348 2375 PDMDEV_ASSERT_DEVINS(pDevIns); 2349 LogFlow(("pdmR3DevHlp_UTCNow: caller='%s'/%d: pTime=%p\n", 2376 LogFlow(("pdmR3DevHlp_UTCNow: caller='%s'/%d: pTime=%p\n", 2350 2377 pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, pTime)); 2351 2378 -
trunk/src/VBox/VMM/PDMDriver.cpp
r2981 r3112 76 76 static DECLCALLBACK(int) pdmR3DrvHlp_VMSetError(PPDMDRVINS pDrvIns, int rc, RT_SRC_POS_DECL, const char *pszFormat, ...); 77 77 static DECLCALLBACK(int) pdmR3DrvHlp_VMSetErrorV(PPDMDRVINS pDrvIns, int rc, RT_SRC_POS_DECL, const char *pszFormat, va_list va); 78 static DECLCALLBACK(int) pdmR3DrvHlp_VMSetRuntimeError(PPDMDRVINS pDrvIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...); 79 static DECLCALLBACK(int) pdmR3DrvHlp_VMSetRuntimeErrorV(PPDMDRVINS pDrvIns, bool fFatal, const char *pszErrorID, const char *pszFormat, va_list va); 78 80 static DECLCALLBACK(bool) pdmR3DrvHlp_AssertEMT(PPDMDRVINS pDrvIns, const char *pszFile, unsigned iLine, const char *pszFunction); 79 81 static DECLCALLBACK(bool) pdmR3DrvHlp_AssertOther(PPDMDRVINS pDrvIns, const char *pszFile, unsigned iLine, const char *pszFunction); … … 123 125 pdmR3DrvHlp_VMSetError, 124 126 pdmR3DrvHlp_VMSetErrorV, 127 pdmR3DrvHlp_VMSetRuntimeError, 128 pdmR3DrvHlp_VMSetRuntimeErrorV, 125 129 pdmR3DrvHlp_PDMQueueCreate, 126 130 pdmR3DrvHlp_PDMPollerRegister, … … 802 806 803 807 808 /** @copydoc PDMDRVHLP::pfnVMSetRuntimeError */ 809 static DECLCALLBACK(int) pdmR3DrvHlp_VMSetRuntimeError(PPDMDRVINS pDrvIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...) 810 { 811 PDMDRV_ASSERT_DRVINS(pDrvIns); 812 va_list args; 813 va_start(args, pszFormat); 814 int rc = VMSetRuntimeErrorV(pDrvIns->Internal.s.pVM, fFatal, pszErrorID, pszFormat, args); 815 va_end(args); 816 return rc; 817 } 818 819 820 /** @copydoc PDMDRVHLP::pfnVMSetRuntimeErrorV */ 821 static DECLCALLBACK(int) pdmR3DrvHlp_VMSetRuntimeErrorV(PPDMDRVINS pDrvIns, bool fFatal, const char *pszErrorID, const char *pszFormat, va_list va) 822 { 823 PDMDRV_ASSERT_DRVINS(pDrvIns); 824 int rc = VMSetRuntimeErrorV(pDrvIns->Internal.s.pVM, fFatal, pszErrorID, pszFormat, va); 825 return rc; 826 } 827 828 804 829 /** @copydoc PDMDRVHLP::pfnPDMQueueCreate */ 805 830 static DECLCALLBACK(int) pdmR3DrvHlp_PDMQueueCreate(PPDMDRVINS pDrvIns, RTUINT cbItem, RTUINT cItems, uint32_t cMilliesInterval, PFNPDMQUEUEDRV pfnCallback, PPDMQUEUE *ppQueue) -
trunk/src/VBox/VMM/VMMGC/PDMGCDevice.cpp
r2981 r3112 80 80 static DECLCALLBACK(int) pdmGCDevHlp_VMSetError(PPDMDEVINS pDevIns, int rc, RT_SRC_POS_DECL, const char *pszFormat, ...); 81 81 static DECLCALLBACK(int) pdmGCDevHlp_VMSetErrorV(PPDMDEVINS pDevIns, int rc, RT_SRC_POS_DECL, const char *pszFormat, va_list va); 82 static DECLCALLBACK(int) pdmGCDevHlp_VMSetRuntimeError(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...); 83 static DECLCALLBACK(int) pdmGCDevHlp_VMSetRuntimeErrorV(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, va_list va); 82 84 static DECLCALLBACK(int) pdmGCDevHlp_PATMSetMMIOPatchInfo(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, RTGCPTR pCachedData); 83 85 /** @} */ … … 151 153 pdmGCDevHlp_VMSetError, 152 154 pdmGCDevHlp_VMSetErrorV, 155 pdmGCDevHlp_VMSetRuntimeError, 156 pdmGCDevHlp_VMSetRuntimeErrorV, 153 157 pdmGCDevHlp_PATMSetMMIOPatchInfo, 154 158 PDM_DEVHLPGC_VERSION … … 327 331 PDMDEV_ASSERT_DEVINS(pDevIns); 328 332 int rc2 = VMSetErrorV(pDevIns->Internal.s.pVMGC, rc, RT_SRC_POS_ARGS, pszFormat, va); Assert(rc2 == rc); NOREF(rc2); 333 return rc; 334 } 335 336 337 /** @copydoc PDMDEVHLPGC::pfnVMSetRuntimeError */ 338 static DECLCALLBACK(int) pdmGCDevHlp_VMSetRuntimeError(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...) 339 { 340 PDMDEV_ASSERT_DEVINS(pDevIns); 341 va_list args; 342 va_start(args, pszFormat); 343 int rc = VMSetRuntimeErrorV(pDevIns->Internal.s.pVMGC, fFatal, pszErrorID, pszFormat, args); 344 va_end(args); 345 return rc; 346 } 347 348 349 /** @copydoc PDMDEVHLPGC::pfnVMSetErrorV */ 350 static DECLCALLBACK(int) pdmGCDevHlp_VMSetRuntimeErrorV(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, va_list va) 351 { 352 PDMDEV_ASSERT_DEVINS(pDevIns); 353 int rc = VMSetRuntimeErrorV(pDevIns->Internal.s.pVMGC, fFatal, pszErrorID, pszFormat, va); 329 354 return rc; 330 355 } -
trunk/src/VBox/VMM/VMMR0/PDMR0Device.cpp
r2981 r3112 80 80 static DECLCALLBACK(int) pdmR0DevHlp_VMSetError(PPDMDEVINS pDevIns, int rc, RT_SRC_POS_DECL, const char *pszFormat, ...); 81 81 static DECLCALLBACK(int) pdmR0DevHlp_VMSetErrorV(PPDMDEVINS pDevIns, int rc, RT_SRC_POS_DECL, const char *pszFormat, va_list va); 82 static DECLCALLBACK(int) pdmR0DevHlp_VMSetRuntimeError(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...); 83 static DECLCALLBACK(int) pdmR0DevHlp_VMSetRuntimeErrorV(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, va_list va); 82 84 static DECLCALLBACK(int) pdmR0DevHlp_PATMSetMMIOPatchInfo(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, RTGCPTR pCachedData); 83 85 /** @} */ … … 151 153 pdmR0DevHlp_VMSetError, 152 154 pdmR0DevHlp_VMSetErrorV, 155 pdmR0DevHlp_VMSetRuntimeError, 156 pdmR0DevHlp_VMSetRuntimeErrorV, 153 157 pdmR0DevHlp_PATMSetMMIOPatchInfo, 154 158 PDM_DEVHLPR0_VERSION … … 327 331 PDMDEV_ASSERT_DEVINS(pDevIns); 328 332 int rc2 = VMSetErrorV(pDevIns->Internal.s.pVMHC, rc, RT_SRC_POS_ARGS, pszFormat, va); Assert(rc2 == rc); NOREF(rc2); 333 return rc; 334 } 335 336 337 /** @copydoc PDMDEVHLPR0::pfnVMSetRuntimeError */ 338 static DECLCALLBACK(int) pdmR0DevHlp_VMSetRuntimeError(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...) 339 { 340 PDMDEV_ASSERT_DEVINS(pDevIns); 341 va_list args; 342 va_start(args, pszFormat); 343 int rc = VMSetRuntimeErrorV(pDevIns->Internal.s.pVMHC, fFatal, pszErrorID, pszFormat, args); 344 va_end(args); 345 return rc; 346 } 347 348 349 /** @copydoc PDMDEVHLPR0::pfnVMSetRuntimeErrorV */ 350 static DECLCALLBACK(int) pdmR0DevHlp_VMSetRuntimeErrorV(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, va_list va) 351 { 352 PDMDEV_ASSERT_DEVINS(pDevIns); 353 int rc = VMSetRuntimeErrorV(pDevIns->Internal.s.pVMHC, fFatal, pszErrorID, pszFormat, va); 329 354 return rc; 330 355 }
Note:
See TracChangeset
for help on using the changeset viewer.