PVRSRV_ERROR OSFreeMem_Debug_Wrapper(u32 ui32Flags, u32 ui32Size, void *pvCpuVAddr, void *hBlockAlloc, char *pszFilename, u32 ui32Line) { OSMEM_DEBUG_INFO *psInfo; OSCheckMemDebug(pvCpuVAddr, ui32Size, pszFilename, ui32Line); memset(pvCpuVAddr, 0xBF, ui32Size + TEST_BUFFER_PADDING_AFTER); psInfo = (OSMEM_DEBUG_INFO *) ((u32) pvCpuVAddr - TEST_BUFFER_PADDING_STATUS); psInfo->uSize = 0; psInfo->uSizeParityCheck = 0; psInfo->eValid = isFree; psInfo->uLineNo = ui32Line; debug_strcpy(psInfo->sFileName, pszFilename); return OSFreeMem_Debug_Linux_Memory_Allocations(ui32Flags, ui32Size + TEST_BUFFER_PADDING, psInfo, hBlockAlloc, pszFilename, ui32Line); }
PVRSRV_ERROR OSFreeMem_Debug_Wrapper(IMG_UINT32 ui32Flags, IMG_UINT32 ui32Size, IMG_PVOID pvCpuVAddr, IMG_HANDLE hBlockAlloc, IMG_CHAR *pszFilename, IMG_UINT32 ui32Line) { OSMEM_DEBUG_INFO *psInfo; //2011.3.2 //don't check data corruption // OSCheckMemDebug(pvCpuVAddr, ui32Size, pszFilename, ui32Line); // OSMemSet(pvCpuVAddr, 0xBF, ui32Size + TEST_BUFFER_PADDING_AFTER); psInfo = (OSMEM_DEBUG_INFO *)((IMG_UINT32) pvCpuVAddr - TEST_BUFFER_PADDING_STATUS); psInfo->uSize = 0; psInfo->uSizeParityCheck = 0; psInfo->eValid = isFree; psInfo->uLineNo = ui32Line; // debug_strcpy(psInfo->sFileName, pszFilename); return OSFreeMem_Debug_Linux_Memory_Allocations(ui32Flags, ui32Size + TEST_BUFFER_PADDING, psInfo, hBlockAlloc, pszFilename, ui32Line); }
PVRSRV_ERROR OSFreeMem_Debug_Wrapper(IMG_UINT32 ui32Flags, IMG_UINT32 ui32Size, IMG_PVOID pvCpuVAddr, IMG_HANDLE hBlockAlloc, IMG_CHAR *pszFilename, IMG_UINT32 ui32Line) { OSMEM_DEBUG_INFO *psInfo; /*check dbginfo (arg pointing to user memory)*/ OSCheckMemDebug(pvCpuVAddr, ui32Size, pszFilename, ui32Line); /*mark memory as freed*/ OSMemSet(pvCpuVAddr, 0xBF, ui32Size + TEST_BUFFER_PADDING_AFTER); /*point to the starting address of the total allocated memory*/ psInfo = (OSMEM_DEBUG_INFO *)((IMG_UINTPTR_T) pvCpuVAddr - TEST_BUFFER_PADDING_STATUS); /*update dbg info struct*/ psInfo->uSize = 0; psInfo->uSizeParityCheck = 0; psInfo->eValid = isFree; psInfo->uLineNo = ui32Line; debug_strcpy(psInfo->sFileName, pszFilename); return OSFreeMem_Debug_Linux_Memory_Allocations(ui32Flags, ui32Size + TEST_BUFFER_PADDING, psInfo, hBlockAlloc, pszFilename, ui32Line); }