From 68d11340337cda7959f96a51317b7d2bccf1c2d1 Mon Sep 17 00:00:00 2001 From: Grazvydas Ignotas Date: Wed, 9 May 2012 20:26:21 +0300 Subject: [PATCH] merge headers from 1.5.15.2766 (4) --- services4/srvkm/include/buffer_manager.h | 6 +- services4/srvkm/include/device.h | 1 + services4/srvkm/include/metrics.h | 2 +- services4/srvkm/include/osfunc.h | 97 +++++++++++++++--------- services4/srvkm/include/pdump_km.h | 38 ++++++++-- services4/srvkm/include/power.h | 1 + services4/srvkm/include/queue.h | 15 +++- services4/srvkm/include/ra.h | 24 +++--- services4/srvkm/include/srvkm.h | 31 +++++--- 9 files changed, 145 insertions(+), 70 deletions(-) diff --git a/services4/srvkm/include/buffer_manager.h b/services4/srvkm/include/buffer_manager.h index 1651b60..014c99f 100644 --- a/services4/srvkm/include/buffer_manager.h +++ b/services4/srvkm/include/buffer_manager.h @@ -83,6 +83,7 @@ struct _BM_HEAP_ MMU_HEAP *pMMUHeap; struct _BM_HEAP_ *psNext; + struct _BM_HEAP_ **ppsThis; }; struct _BM_CONTEXT_ @@ -108,6 +109,7 @@ struct _BM_CONTEXT_ struct _BM_CONTEXT_ *psNext; + struct _BM_CONTEXT_ **ppsThis; }; @@ -154,8 +156,8 @@ BM_Alloc (IMG_HANDLE hDevMemHeap, IMG_BOOL BM_Wrap ( IMG_HANDLE hDevMemHeap, - IMG_UINT32 ui32Size, - IMG_UINT32 ui32Offset, + IMG_SIZE_T ui32Size, + IMG_SIZE_T ui32Offset, IMG_BOOL bPhysContig, IMG_SYS_PHYADDR *psSysAddr, IMG_VOID *pvCPUVAddr, diff --git a/services4/srvkm/include/device.h b/services4/srvkm/include/device.h index 31ee11e..90c8c7a 100644 --- a/services4/srvkm/include/device.h +++ b/services4/srvkm/include/device.h @@ -231,6 +231,7 @@ typedef struct _PVRSRV_DEVICE_NODE_ IMG_UINT32 ui32Flags; struct _PVRSRV_DEVICE_NODE_ *psNext; + struct _PVRSRV_DEVICE_NODE_ **ppsThis; } PVRSRV_DEVICE_NODE; PVRSRV_ERROR IMG_CALLCONV PVRSRVRegisterDevice(PSYS_DATA psSysData, diff --git a/services4/srvkm/include/metrics.h b/services4/srvkm/include/metrics.h index 2632f8d..ed5dfaf 100644 --- a/services4/srvkm/include/metrics.h +++ b/services4/srvkm/include/metrics.h @@ -33,7 +33,7 @@ extern "C" { #endif -#if defined(DEBUG) || defined(TIMING) +#if defined(DEBUG_PVR) || defined(TIMING) typedef struct diff --git a/services4/srvkm/include/osfunc.h b/services4/srvkm/include/osfunc.h index da48598..af6b00e 100644 --- a/services4/srvkm/include/osfunc.h +++ b/services4/srvkm/include/osfunc.h @@ -61,7 +61,7 @@ extern "C" { IMG_UINT32 OSClockus(IMG_VOID); -IMG_UINT32 OSGetPageSize(IMG_VOID); +IMG_SIZE_T OSGetPageSize(IMG_VOID); PVRSRV_ERROR OSInstallDeviceLISR(IMG_VOID *pvSysData, IMG_UINT32 ui32Irq, IMG_CHAR *pszISRName, @@ -72,21 +72,38 @@ PVRSRV_ERROR OSUninstallSystemLISR(IMG_VOID *pvSysData); PVRSRV_ERROR OSInstallMISR(IMG_VOID *pvSysData); PVRSRV_ERROR OSUninstallMISR(IMG_VOID *pvSysData); IMG_CPU_PHYADDR OSMapLinToCPUPhys(IMG_VOID* pvLinAddr); -IMG_VOID OSMemCopy(IMG_VOID *pvDst, IMG_VOID *pvSrc, IMG_UINT32 ui32Size); -IMG_VOID *OSMapPhysToLin(IMG_CPU_PHYADDR BasePAddr, IMG_UINT32 ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE *phOSMemHandle); -IMG_BOOL OSUnMapPhysToLin(IMG_VOID *pvLinAddr, IMG_UINT32 ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE hOSMemHandle); +IMG_VOID OSMemCopy(IMG_VOID *pvDst, IMG_VOID *pvSrc, IMG_SIZE_T ui32Size); +IMG_VOID *OSMapPhysToLin(IMG_CPU_PHYADDR BasePAddr, IMG_SIZE_T ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE *phOSMemHandle); +IMG_BOOL OSUnMapPhysToLin(IMG_VOID *pvLinAddr, IMG_SIZE_T ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE hOSMemHandle); -PVRSRV_ERROR OSReservePhys(IMG_CPU_PHYADDR BasePAddr, IMG_UINT32 ui32Bytes, IMG_UINT32 ui32Flags, IMG_VOID **ppvCpuVAddr, IMG_HANDLE *phOSMemHandle); -PVRSRV_ERROR OSUnReservePhys(IMG_VOID *pvCpuVAddr, IMG_UINT32 ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE hOSMemHandle); +PVRSRV_ERROR OSReservePhys(IMG_CPU_PHYADDR BasePAddr, IMG_SIZE_T ui32Bytes, IMG_UINT32 ui32Flags, IMG_VOID **ppvCpuVAddr, IMG_HANDLE *phOSMemHandle); +PVRSRV_ERROR OSUnReservePhys(IMG_VOID *pvCpuVAddr, IMG_SIZE_T ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE hOSMemHandle); + +#if defined(SUPPORT_CPU_CACHED_BUFFERS) +IMG_VOID OSFlushCPUCacheKM(IMG_VOID); +IMG_VOID OSFlushCPUCacheRangeKM(IMG_VOID *pvRangeAddrStart, + IMG_VOID *pvRangeAddrEnd); +#endif #if defined(__linux__) -PVRSRV_ERROR OSRegisterDiscontigMem(IMG_SYS_PHYADDR *pBasePAddr, IMG_VOID *pvCpuVAddr, IMG_UINT32 ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE *phOSMemHandle); -PVRSRV_ERROR OSUnRegisterDiscontigMem(IMG_VOID *pvCpuVAddr, IMG_UINT32 ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE hOSMemHandle); +PVRSRV_ERROR OSRegisterDiscontigMem(IMG_SYS_PHYADDR *pBasePAddr, + IMG_VOID *pvCpuVAddr, + IMG_SIZE_T ui32Bytes, + IMG_UINT32 ui32Flags, + IMG_HANDLE *phOSMemHandle); +PVRSRV_ERROR OSUnRegisterDiscontigMem(IMG_VOID *pvCpuVAddr, + IMG_SIZE_T ui32Bytes, + IMG_UINT32 ui32Flags, + IMG_HANDLE hOSMemHandle); #else #ifdef INLINE_IS_PRAGMA #pragma inline(OSRegisterDiscontigMem) #endif -static INLINE PVRSRV_ERROR OSRegisterDiscontigMem(IMG_SYS_PHYADDR *pBasePAddr, IMG_VOID *pvCpuVAddr, IMG_UINT32 ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE *phOSMemHandle) +static INLINE PVRSRV_ERROR OSRegisterDiscontigMem(IMG_SYS_PHYADDR *pBasePAddr, + IMG_VOID *pvCpuVAddr, + IMG_SIZE_T ui32Bytes, + IMG_UINT32 ui32Flags, + IMG_HANDLE *phOSMemHandle) { PVR_UNREFERENCED_PARAMETER(pBasePAddr); PVR_UNREFERENCED_PARAMETER(pvCpuVAddr); @@ -100,7 +117,10 @@ static INLINE PVRSRV_ERROR OSRegisterDiscontigMem(IMG_SYS_PHYADDR *pBasePAddr, I #ifdef INLINE_IS_PRAGMA #pragma inline(OSUnRegisterDiscontigMem) #endif -static INLINE PVRSRV_ERROR OSUnRegisterDiscontigMem(IMG_VOID *pvCpuVAddr, IMG_UINT32 ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE hOSMemHandle) +static INLINE PVRSRV_ERROR OSUnRegisterDiscontigMem(IMG_VOID *pvCpuVAddr, + IMG_SIZE_T ui32Bytes, + IMG_UINT32 ui32Flags, + IMG_HANDLE hOSMemHandle) { PVR_UNREFERENCED_PARAMETER(pvCpuVAddr); PVR_UNREFERENCED_PARAMETER(ui32Bytes); @@ -116,7 +136,7 @@ static INLINE PVRSRV_ERROR OSUnRegisterDiscontigMem(IMG_VOID *pvCpuVAddr, IMG_UI #ifdef INLINE_IS_PRAGMA #pragma inline(OSReserveDiscontigPhys) #endif -static INLINE PVRSRV_ERROR OSReserveDiscontigPhys(IMG_SYS_PHYADDR *pBasePAddr, IMG_UINT32 ui32Bytes, IMG_UINT32 ui32Flags, IMG_VOID **ppvCpuVAddr, IMG_HANDLE *phOSMemHandle) +static INLINE PVRSRV_ERROR OSReserveDiscontigPhys(IMG_SYS_PHYADDR *pBasePAddr, IMG_SIZE_T ui32Bytes, IMG_UINT32 ui32Flags, IMG_VOID **ppvCpuVAddr, IMG_HANDLE *phOSMemHandle) { #if defined(__linux__) *ppvCpuVAddr = IMG_NULL; @@ -129,7 +149,7 @@ static INLINE PVRSRV_ERROR OSReserveDiscontigPhys(IMG_SYS_PHYADDR *pBasePAddr, I #endif } -static INLINE PVRSRV_ERROR OSUnReserveDiscontigPhys(IMG_VOID *pvCpuVAddr, IMG_UINT32 ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE hOSMemHandle) +static INLINE PVRSRV_ERROR OSUnReserveDiscontigPhys(IMG_VOID *pvCpuVAddr, IMG_SIZE_T ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE hOSMemHandle) { #if defined(__linux__) OSUnRegisterDiscontigMem(pvCpuVAddr, ui32Bytes, ui32Flags, hOSMemHandle); @@ -143,7 +163,7 @@ static INLINE PVRSRV_ERROR OSUnReserveDiscontigPhys(IMG_VOID *pvCpuVAddr, IMG_UI #ifdef INLINE_IS_PRAGMA #pragma inline(OSReserveDiscontigPhys) #endif -static INLINE PVRSRV_ERROR OSReserveDiscontigPhys(IMG_SYS_PHYADDR *pBasePAddr, IMG_UINT32 ui32Bytes, IMG_UINT32 ui32Flags, IMG_VOID **ppvCpuVAddr, IMG_HANDLE *phOSMemHandle) +static INLINE PVRSRV_ERROR OSReserveDiscontigPhys(IMG_SYS_PHYADDR *pBasePAddr, IMG_SIZE_T ui32Bytes, IMG_UINT32 ui32Flags, IMG_VOID **ppvCpuVAddr, IMG_HANDLE *phOSMemHandle) { PVR_UNREFERENCED_PARAMETER(pBasePAddr); PVR_UNREFERENCED_PARAMETER(ui32Bytes); @@ -157,7 +177,7 @@ static INLINE PVRSRV_ERROR OSReserveDiscontigPhys(IMG_SYS_PHYADDR *pBasePAddr, I #ifdef INLINE_IS_PRAGMA #pragma inline(OSUnReserveDiscontigPhys) #endif -static INLINE PVRSRV_ERROR OSUnReserveDiscontigPhys(IMG_VOID *pvCpuVAddr, IMG_UINT32 ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE hOSMemHandle) +static INLINE PVRSRV_ERROR OSUnReserveDiscontigPhys(IMG_VOID *pvCpuVAddr, IMG_SIZE_T ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE hOSMemHandle) { PVR_UNREFERENCED_PARAMETER(pvCpuVAddr); PVR_UNREFERENCED_PARAMETER(ui32Bytes); @@ -168,15 +188,22 @@ static INLINE PVRSRV_ERROR OSUnReserveDiscontigPhys(IMG_VOID *pvCpuVAddr, IMG_UI } #endif -PVRSRV_ERROR OSRegisterMem(IMG_CPU_PHYADDR BasePAddr, IMG_VOID *pvCpuVAddr, IMG_UINT32 ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE *phOSMemHandle); -PVRSRV_ERROR OSUnRegisterMem(IMG_VOID *pvCpuVAddr, IMG_UINT32 ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE hOSMemHandle); +PVRSRV_ERROR OSRegisterMem(IMG_CPU_PHYADDR BasePAddr, + IMG_VOID *pvCpuVAddr, + IMG_SIZE_T ui32Bytes, + IMG_UINT32 ui32Flags, + IMG_HANDLE *phOSMemHandle); +PVRSRV_ERROR OSUnRegisterMem(IMG_VOID *pvCpuVAddr, + IMG_SIZE_T ui32Bytes, + IMG_UINT32 ui32Flags, + IMG_HANDLE hOSMemHandle); #if defined(__linux__) PVRSRV_ERROR OSGetSubMemHandle(IMG_HANDLE hOSMemHandle, - IMG_UINT32 ui32ByteOffset, - IMG_UINT32 ui32Bytes, + IMG_UINTPTR_T ui32ByteOffset, + IMG_SIZE_T ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE *phOSMemHandleRet); PVRSRV_ERROR OSReleaseSubMemHandle(IMG_HANDLE hOSMemHandle, IMG_UINT32 ui32Flags); @@ -185,8 +212,8 @@ PVRSRV_ERROR OSReleaseSubMemHandle(IMG_HANDLE hOSMemHandle, IMG_UINT32 ui32Flags #pragma inline(OSGetSubMemHandle) #endif static INLINE PVRSRV_ERROR OSGetSubMemHandle(IMG_HANDLE hOSMemHandle, - IMG_UINT32 ui32ByteOffset, - IMG_UINT32 ui32Bytes, + IMG_UINTPTR_T ui32ByteOffset, + IMG_SIZE_T ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE *phOSMemHandleRet) { @@ -208,7 +235,7 @@ static INLINE PVRSRV_ERROR OSReleaseSubMemHandle(IMG_HANDLE hOSMemHandle, IMG_UI IMG_UINT32 OSGetCurrentProcessIDKM(IMG_VOID); IMG_UINT32 OSGetCurrentThreadID( IMG_VOID ); -IMG_VOID OSMemSet(IMG_VOID *pvDest, IMG_UINT8 ui8Value, IMG_UINT32 ui32Size); +IMG_VOID OSMemSet(IMG_VOID *pvDest, IMG_UINT8 ui8Value, IMG_SIZE_T ui32Size); #if defined(__linux__) && defined(DEBUG_LINUX_MEMORY_ALLOCATIONS) PVRSRV_ERROR _OSAllocMem(IMG_UINT32 ui32Flags, IMG_UINT32 ui32Size, IMG_PVOID *ppvLinAddr, IMG_HANDLE *phBlockAlloc, IMG_CHAR *pszFilename, IMG_UINT32 ui32Line); @@ -239,7 +266,7 @@ static INLINE IMG_CPU_PHYADDR OSMemHandleToCpuPAddr(IMG_HANDLE hOSMemHandle, IMG PVRSRV_ERROR OSInitEnvData(IMG_PVOID *ppvEnvSpecificData); PVRSRV_ERROR OSDeInitEnvData(IMG_PVOID pvEnvSpecificData); IMG_CHAR* OSStringCopy(IMG_CHAR *pszDest, const IMG_CHAR *pszSrc); -IMG_INT32 OSSNPrintf(IMG_CHAR *pStr, IMG_UINT32 ui32Size, const IMG_CHAR *pszFormat, ...); +IMG_INT32 OSSNPrintf(IMG_CHAR *pStr, IMG_SIZE_T ui32Size, const IMG_CHAR *pszFormat, ...); #define OSStringLength(pszString) strlen(pszString) PVRSRV_ERROR OSEventObjectCreate(const IMG_CHAR *pszName, @@ -253,21 +280,21 @@ PVRSRV_ERROR OSEventObjectClose(PVRSRV_EVENTOBJECT *psEventObject, IMG_HANDLE hOSEventKM); -PVRSRV_ERROR OSBaseAllocContigMemory(IMG_UINT32 ui32Size, IMG_CPU_VIRTADDR *pLinAddr, IMG_CPU_PHYADDR *pPhysAddr); -PVRSRV_ERROR OSBaseFreeContigMemory(IMG_UINT32 ui32Size, IMG_CPU_VIRTADDR LinAddr, IMG_CPU_PHYADDR PhysAddr); +PVRSRV_ERROR OSBaseAllocContigMemory(IMG_SIZE_T ui32Size, IMG_CPU_VIRTADDR *pLinAddr, IMG_CPU_PHYADDR *pPhysAddr); +PVRSRV_ERROR OSBaseFreeContigMemory(IMG_SIZE_T ui32Size, IMG_CPU_VIRTADDR LinAddr, IMG_CPU_PHYADDR PhysAddr); -IMG_PVOID MapUserFromKernel(IMG_PVOID pvLinAddrKM,IMG_UINT32 ui32Size,IMG_HANDLE *phMemBlock); +IMG_PVOID MapUserFromKernel(IMG_PVOID pvLinAddrKM,IMG_SIZE_T ui32Size,IMG_HANDLE *phMemBlock); IMG_PVOID OSMapHWRegsIntoUserSpace(IMG_HANDLE hDevCookie, IMG_SYS_PHYADDR sRegAddr, IMG_UINT32 ulSize, IMG_PVOID *ppvProcess); IMG_VOID OSUnmapHWRegsFromUserSpace(IMG_HANDLE hDevCookie, IMG_PVOID pvUserAddr, IMG_PVOID pvProcess); -IMG_VOID UnmapUserFromKernel(IMG_PVOID pvLinAddrUM, IMG_UINT32 ui32Size, IMG_HANDLE hMemBlock); +IMG_VOID UnmapUserFromKernel(IMG_PVOID pvLinAddrUM, IMG_SIZE_T ui32Size, IMG_HANDLE hMemBlock); PVRSRV_ERROR OSMapPhysToUserSpace(IMG_HANDLE hDevCookie, IMG_SYS_PHYADDR sCPUPhysAddr, - IMG_UINT32 uiSizeInBytes, + IMG_SIZE_T uiSizeInBytes, IMG_UINT32 ui32CacheFlags, IMG_PVOID *ppvUserAddr, - IMG_UINT32 *puiActualSize, + IMG_SIZE_T *puiActualSize, IMG_HANDLE hMappingHandle); PVRSRV_ERROR OSUnmapPhysToUserSpace(IMG_HANDLE hDevCookie, @@ -298,7 +325,7 @@ PVRSRV_ERROR OSRemoveTimer (IMG_HANDLE hTimer); PVRSRV_ERROR OSEnableTimer (IMG_HANDLE hTimer); PVRSRV_ERROR OSDisableTimer (IMG_HANDLE hTimer); -PVRSRV_ERROR OSGetSysMemSize(IMG_UINT32 *pui32Bytes); +PVRSRV_ERROR OSGetSysMemSize(IMG_SIZE_T *pui32Bytes); typedef enum _HOST_PCI_INIT_FLAGS_ { @@ -324,6 +351,8 @@ PVRSRV_ERROR OSPCIResumeDev(PVRSRV_PCI_DEV_HANDLE hPVRPCI); PVRSRV_ERROR OSScheduleMISR(IMG_VOID *pvSysData); +IMG_VOID OSPanic(IMG_VOID); + IMG_BOOL OSProcHasPrivSrvInit(IMG_VOID); typedef enum _img_verify_test @@ -332,14 +361,14 @@ typedef enum _img_verify_test PVR_VERIFY_READ } IMG_VERIFY_TEST; -IMG_BOOL OSAccessOK(IMG_VERIFY_TEST eVerification, IMG_VOID *pvUserPtr, IMG_UINT32 ui32Bytes); +IMG_BOOL OSAccessOK(IMG_VERIFY_TEST eVerification, IMG_VOID *pvUserPtr, IMG_SIZE_T ui32Bytes); -PVRSRV_ERROR OSCopyToUser(IMG_PVOID pvProcess, IMG_VOID *pvDest, IMG_VOID *pvSrc, IMG_UINT32 ui32Bytes); -PVRSRV_ERROR OSCopyFromUser(IMG_PVOID pvProcess, IMG_VOID *pvDest, IMG_VOID *pvSrc, IMG_UINT32 ui32Bytes); +PVRSRV_ERROR OSCopyToUser(IMG_PVOID pvProcess, IMG_VOID *pvDest, IMG_VOID *pvSrc, IMG_SIZE_T ui32Bytes); +PVRSRV_ERROR OSCopyFromUser(IMG_PVOID pvProcess, IMG_VOID *pvDest, IMG_VOID *pvSrc, IMG_SIZE_T ui32Bytes); #if defined(__linux__) PVRSRV_ERROR OSAcquirePhysPageAddr(IMG_VOID* pvCPUVAddr, - IMG_UINT32 ui32Bytes, + IMG_SIZE_T ui32Bytes, IMG_SYS_PHYADDR *psSysPAddr, IMG_HANDLE *phOSWrapMem); PVRSRV_ERROR OSReleasePhysPageAddr(IMG_HANDLE hOSWrapMem); @@ -348,7 +377,7 @@ PVRSRV_ERROR OSReleasePhysPageAddr(IMG_HANDLE hOSWrapMem); #pragma inline(OSAcquirePhysPageAddr) #endif static INLINE PVRSRV_ERROR OSAcquirePhysPageAddr(IMG_VOID* pvCPUVAddr, - IMG_UINT32 ui32Bytes, + IMG_SIZE_T ui32Bytes, IMG_SYS_PHYADDR *psSysPAddr, IMG_HANDLE *phOSWrapMem) { diff --git a/services4/srvkm/include/pdump_km.h b/services4/srvkm/include/pdump_km.h index 106fd4e..783aa40 100644 --- a/services4/srvkm/include/pdump_km.h +++ b/services4/srvkm/include/pdump_km.h @@ -27,19 +27,34 @@ #ifndef _PDUMP_KM_H_ #define _PDUMP_KM_H_ +#if (defined(LINUX) && (defined(SUPPORT_SGX) || defined(SUPPORT_MSVDX))) + +#define SGX_SUPPORT_COMMON_PDUMP + +#if defined(SGX_SUPPORT_COMMON_PDUMP) +#include +#endif +#endif + #if defined(__cplusplus) extern "C" { #endif -#define PDUMP_FLAGS_NEVER 0x08000000 -#define PDUMP_FLAGS_TOOUT2MEM 0x10000000 -#define PDUMP_FLAGS_LASTFRAME 0x20000000 -#define PDUMP_FLAGS_RESETLFBUFFER 0x40000000 -#define PDUMP_FLAGS_CONTINUOUS 0x80000000 +#define PDUMP_FLAGS_NEVER 0x08000000UL +#define PDUMP_FLAGS_TOOUT2MEM 0x10000000UL +#define PDUMP_FLAGS_LASTFRAME 0x20000000UL +#define PDUMP_FLAGS_RESETLFBUFFER 0x40000000UL +#define PDUMP_FLAGS_CONTINUOUS 0x80000000UL #define PDUMP_PD_UNIQUETAG (IMG_HANDLE)0 #define PDUMP_PT_UNIQUETAG (IMG_HANDLE)0 +#define PDUMP_STREAM_PARAM2 0 +#define PDUMP_STREAM_SCRIPT2 1 +#define PDUMP_STREAM_DRIVERINFO 2 +#define PDUMP_NUM_STREAMS 3 + + #ifndef PDUMP #define MAKEUNIQUETAG(hMemInfo) (0) #endif @@ -48,8 +63,6 @@ extern "C" { #define MAKEUNIQUETAG(hMemInfo) (((BM_BUF *)(((PVRSRV_KERNEL_MEM_INFO *)hMemInfo)->sMemBlk.hBuffer))->pMapping) - #define PDUMP_REG_FUNC_NAME PDumpReg - IMG_IMPORT PVRSRV_ERROR PDumpMemPolKM(PVRSRV_KERNEL_MEM_INFO *psMemInfo, IMG_UINT32 ui32Offset, IMG_UINT32 ui32Value, @@ -99,9 +112,18 @@ extern "C" { IMG_IMPORT PVRSRV_ERROR PDumpSetFrameKM(IMG_UINT32 ui32Frame); IMG_IMPORT PVRSRV_ERROR PDumpCommentKM(IMG_CHAR *pszComment, IMG_UINT32 ui32Flags); IMG_IMPORT PVRSRV_ERROR PDumpDriverInfoKM(IMG_CHAR *pszString, IMG_UINT32 ui32Flags); + PVRSRV_ERROR PDumpRegWithFlagsKM(IMG_UINT32 ui32RegAddr, IMG_UINT32 ui32RegValue, IMG_UINT32 ui32Flags); + PVRSRV_ERROR PDumpRegPolWithFlagsKM(IMG_UINT32 ui32RegAddr, + IMG_UINT32 ui32RegValue, + IMG_UINT32 ui32Mask, + IMG_UINT32 ui32Flags); + PVRSRV_ERROR PDumpRegPolKM(IMG_UINT32 ui32RegAddr, + IMG_UINT32 ui32RegValue, + IMG_UINT32 ui32Mask); + IMG_IMPORT PVRSRV_ERROR PDumpBitmapKM(IMG_CHAR *pszFileName, IMG_UINT32 ui32FileOffset, IMG_UINT32 ui32Width, @@ -254,7 +276,7 @@ extern "C" { #define PDUMPTESTFRAME PDumpIsCaptureFrameKM #define PDUMPTESTNEXTFRAME PDumpTestNextFrame #define PDUMPREGWITHFLAGS PDumpRegWithFlagsKM - #define PDUMPREG PDUMP_REG_FUNC_NAME + #define PDUMPREG PDumpRegKM #define PDUMPCOMMENT PDumpComment #define PDUMPCOMMENTWITHFLAGS PDumpCommentWithFlags #define PDUMPREGPOL PDumpRegPolKM diff --git a/services4/srvkm/include/power.h b/services4/srvkm/include/power.h index 5d0f0c3..09ae046 100644 --- a/services4/srvkm/include/power.h +++ b/services4/srvkm/include/power.h @@ -31,6 +31,7 @@ extern "C" { #endif + typedef struct _PVRSRV_POWER_DEV_TAG_ { diff --git a/services4/srvkm/include/queue.h b/services4/srvkm/include/queue.h index 7926f05..0646137 100644 --- a/services4/srvkm/include/queue.h +++ b/services4/srvkm/include/queue.h @@ -44,9 +44,11 @@ extern "C" { IMG_UINT32 ui32SrcSyncCount; PVRSRV_SYNC_OBJECT *psDstSync; PVRSRV_SYNC_OBJECT *psSrcSync; + IMG_UINT32 ui32AllocSize; }COMMAND_COMPLETE_DATA, *PCOMMAND_COMPLETE_DATA; #if !defined(USE_CODE) +IMG_VOID QueueDumpDebugInfo(IMG_VOID); IMG_IMPORT PVRSRV_ERROR PVRSRVProcessQueues (IMG_UINT32 ui32CallerID, @@ -54,13 +56,20 @@ PVRSRV_ERROR PVRSRVProcessQueues (IMG_UINT32 ui32CallerID, #if defined(__linux__) && defined(__KERNEL__) #include +#include off_t QueuePrintQueues (IMG_CHAR * buffer, size_t size, off_t off); + +#ifdef PVR_PROC_USE_SEQ_FILE +void* ProcSeqOff2ElementQueue(struct seq_file * sfile, loff_t off); +void ProcSeqShowQueue(struct seq_file *sfile,void* el); +#endif + #endif IMG_IMPORT -PVRSRV_ERROR IMG_CALLCONV PVRSRVCreateCommandQueueKM(IMG_UINT32 ui32QueueSize, +PVRSRV_ERROR IMG_CALLCONV PVRSRVCreateCommandQueueKM(IMG_SIZE_T ui32QueueSize, PVRSRV_QUEUE_INFO **ppsQueueInfo); IMG_IMPORT PVRSRV_ERROR IMG_CALLCONV PVRSRVDestroyCommandQueueKM(PVRSRV_QUEUE_INFO *psQueueInfo); @@ -74,11 +83,11 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVInsertCommandKM(PVRSRV_QUEUE_INFO *psQueue, PVRSRV_KERNEL_SYNC_INFO *apsDstSync[], IMG_UINT32 ui32SrcSyncCount, PVRSRV_KERNEL_SYNC_INFO *apsSrcSync[], - IMG_UINT32 ui32DataByteSize ); + IMG_SIZE_T ui32DataByteSize ); IMG_IMPORT PVRSRV_ERROR IMG_CALLCONV PVRSRVGetQueueSpaceKM(PVRSRV_QUEUE_INFO *psQueue, - IMG_UINT32 ui32ParamSize, + IMG_SIZE_T ui32ParamSize, IMG_VOID **ppvSpace); IMG_IMPORT diff --git a/services4/srvkm/include/ra.h b/services4/srvkm/include/ra.h index 593f17f..3cb7e78 100644 --- a/services4/srvkm/include/ra.h +++ b/services4/srvkm/include/ra.h @@ -42,37 +42,37 @@ typedef struct _BM_MAPPING_ BM_MAPPING; struct _RA_STATISTICS_ { - IMG_UINT32 uSpanCount; + IMG_SIZE_T uSpanCount; - IMG_UINT32 uLiveSegmentCount; + IMG_SIZE_T uLiveSegmentCount; - IMG_UINT32 uFreeSegmentCount; + IMG_SIZE_T uFreeSegmentCount; - IMG_UINT32 uTotalResourceCount; + IMG_SIZE_T uTotalResourceCount; - IMG_UINT32 uFreeResourceCount; + IMG_SIZE_T uFreeResourceCount; - IMG_UINT32 uCumulativeAllocs; + IMG_SIZE_T uCumulativeAllocs; - IMG_UINT32 uCumulativeFrees; + IMG_SIZE_T uCumulativeFrees; - IMG_UINT32 uImportCount; + IMG_SIZE_T uImportCount; - IMG_UINT32 uExportCount; + IMG_SIZE_T uExportCount; }; typedef struct _RA_STATISTICS_ RA_STATISTICS; struct _RA_SEGMENT_DETAILS_ { - IMG_UINT32 uiSize; + IMG_SIZE_T uiSize; IMG_CPU_PHYADDR sCpuPhyAddr; IMG_HANDLE hSegment; }; @@ -94,8 +94,8 @@ RA_Create (IMG_CHAR *name, IMG_UINTPTR_T, BM_MAPPING *), IMG_VOID (*backingstore_free) (IMG_VOID *, - IMG_UINT32, - IMG_UINT32, + IMG_SIZE_T, + IMG_SIZE_T, IMG_HANDLE), IMG_VOID *import_handle); diff --git a/services4/srvkm/include/srvkm.h b/services4/srvkm/include/srvkm.h index 0bb1116..a344253 100644 --- a/services4/srvkm/include/srvkm.h +++ b/services4/srvkm/include/srvkm.h @@ -32,12 +32,22 @@ extern "C" { #endif -IMG_IMPORT PVRSRV_ERROR IMG_CALLCONV PVRSRVProcessConnect(IMG_UINT32 ui32PID); -IMG_IMPORT IMG_VOID IMG_CALLCONV PVRSRVProcessDisconnect(IMG_UINT32 ui32PID); + + #ifdef PVR_DISABLE_LOGGING + #define PVR_LOG(X) + #else + #define PVR_LOG(X) PVRSRVReleasePrintf X + #endif -IMG_VOID IMG_CALLCONV PVRSRVSetDCState(IMG_UINT32 ui32State); + IMG_IMPORT IMG_VOID IMG_CALLCONV PVRSRVReleasePrintf(const IMG_CHAR *pszFormat, + ...); -PVRSRV_ERROR IMG_CALLCONV PVRSRVSaveRestoreLiveSegments(IMG_HANDLE hArena, IMG_PBYTE pbyBuffer, IMG_UINT32 *puiBufSize, IMG_BOOL bSave); + IMG_IMPORT PVRSRV_ERROR IMG_CALLCONV PVRSRVProcessConnect(IMG_UINT32 ui32PID); + IMG_IMPORT IMG_VOID IMG_CALLCONV PVRSRVProcessDisconnect(IMG_UINT32 ui32PID); + + IMG_VOID IMG_CALLCONV PVRSRVSetDCState(IMG_UINT32 ui32State); + + PVRSRV_ERROR IMG_CALLCONV PVRSRVSaveRestoreLiveSegments(IMG_HANDLE hArena, IMG_PBYTE pbyBuffer, IMG_SIZE_T *puiBufSize, IMG_BOOL bSave); #if defined (__cplusplus) } @@ -45,14 +55,15 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVSaveRestoreLiveSegments(IMG_HANDLE hArena, IMG_P #define LOOP_UNTIL_TIMEOUT(TIMEOUT) \ {\ - IMG_UINT32 uiOffset, uiStart, uiCurrent; \ - for(uiOffset = 0, uiStart = OSClockus(), uiCurrent = uiStart+1; \ - (uiCurrent - uiStart + uiOffset) < TIMEOUT; \ - uiCurrent = OSClockus(), \ - uiOffset = uiCurrent < uiStart ? IMG_UINT32_MAX - uiStart : uiOffset, \ - uiStart = uiCurrent < uiStart ? 0 : uiStart) + IMG_UINT32 uiOffset, uiStart, uiCurrent, uiNotLastLoop; \ + for(uiOffset = 0, uiStart = OSClockus(), uiCurrent = uiStart + 1, uiNotLastLoop = 1;\ + ((uiCurrent - uiStart + uiOffset) < TIMEOUT) || uiNotLastLoop--; \ + uiCurrent = OSClockus(), \ + uiOffset = uiCurrent < uiStart ? IMG_UINT32_MAX - uiStart : uiOffset, \ + uiStart = uiCurrent < uiStart ? 0 : uiStart) #define END_LOOP_UNTIL_TIMEOUT() \ } + #endif -- 2.39.5