DECLHIDDEN(void) supR3HardenedFatalV(const char *pszFormat, va_list va) { va_list vaCopy; va_copy(vaCopy, va); AssertFatalMsgFailed(("%N", pszFormat, &vaCopy)); va_end(vaCopy); }
DECLHIDDEN(void) supR3HardenedFatalMsgV(const char *pszWhere, SUPINITOP enmWhat, int rc, const char *pszMsgFmt, va_list va) { va_list vaCopy; va_copy(vaCopy, va); AssertFatalMsgFailed(("%s (rc=%Rrc): %N", pszWhere, rc, pszMsgFmt, &vaCopy)); va_end(vaCopy); }
DECL_NO_RETURN(DECLHIDDEN(void)) supR3HardenedFatalV(const char *pszFormat, va_list va) { va_list vaCopy; va_copy(vaCopy, va); AssertFatalMsgFailed(("%N", pszFormat, &vaCopy)); /* not reached */ }
DECL_NO_RETURN(DECLHIDDEN(void)) supR3HardenedFatalMsgV(const char *pszWhere, SUPINITOP enmWhat, int rc, const char *pszMsgFmt, va_list va) { va_list vaCopy; va_copy(vaCopy, va); AssertFatalMsgFailed(("%s (rc=%Rrc): %N", pszWhere, rc, pszMsgFmt, &vaCopy)); NOREF(enmWhat); /* not reached */ }
/** * Native kernel thread wrapper function. * * This will forward to rtThreadMain and do termination upon return. * * @param pvArg Pointer to the argument package. * @param Ignored Wait result, which we ignore. */ static void rtThreadNativeMain(void *pvArg, wait_result_t Ignored) { const thread_t Self = current_thread(); PRTTHREADINT pThread = (PRTTHREADINT)pvArg; rtThreadMain(pThread, (RTNATIVETHREAD)Self, &pThread->szName[0]); kern_return_t kr = thread_terminate(Self); AssertFatalMsgFailed(("kr=%d\n", kr)); }
/** @interface_method_impl{PDMPCIHLPR0,pfnIoApicSendMsi} */ static DECLCALLBACK(void) pdmR0PciHlp_IoApicSendMsi(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, uint32_t uValue, uint32_t uTagSrc) { PDMDEV_ASSERT_DEVINS(pDevIns); Log4(("pdmR0PciHlp_IoApicSendMsi: GCPhys=%p uValue=%d uTagSrc=%#x\n", GCPhys, uValue, uTagSrc)); PVM pVM = pDevIns->Internal.s.pVMR0; if (pVM->pdm.s.IoApic.pDevInsR0) { pdmLock(pVM); pVM->pdm.s.IoApic.pfnSendMsiR0(pVM->pdm.s.IoApic.pDevInsR0, GCPhys, uValue, uTagSrc); pdmUnlock(pVM); } else { AssertFatalMsgFailed(("Lazy bastards!")); } }