summaryrefslogtreecommitdiffstats
path: root/pvr-source/services4/srvkm/include
diff options
context:
space:
mode:
Diffstat (limited to 'pvr-source/services4/srvkm/include')
-rwxr-xr-xpvr-source/services4/srvkm/include/buffer_manager.h674
-rwxr-xr-xpvr-source/services4/srvkm/include/device.h409
-rwxr-xr-xpvr-source/services4/srvkm/include/handle.h567
-rwxr-xr-xpvr-source/services4/srvkm/include/hash.h277
-rwxr-xr-xpvr-source/services4/srvkm/include/lists.h349
-rwxr-xr-xpvr-source/services4/srvkm/include/metrics.h146
-rwxr-xr-xpvr-source/services4/srvkm/include/osfunc.h799
-rwxr-xr-xpvr-source/services4/srvkm/include/osperproc.h94
-rwxr-xr-xpvr-source/services4/srvkm/include/pdump_int.h100
-rwxr-xr-xpvr-source/services4/srvkm/include/pdump_km.h441
-rwxr-xr-xpvr-source/services4/srvkm/include/pdump_osfunc.h337
-rwxr-xr-xpvr-source/services4/srvkm/include/perfkm.h53
-rwxr-xr-xpvr-source/services4/srvkm/include/perproc.h150
-rwxr-xr-xpvr-source/services4/srvkm/include/power.h140
-rwxr-xr-xpvr-source/services4/srvkm/include/queue.h145
-rwxr-xr-xpvr-source/services4/srvkm/include/ra.h293
-rwxr-xr-xpvr-source/services4/srvkm/include/refcount.h203
-rwxr-xr-xpvr-source/services4/srvkm/include/resman.h152
-rwxr-xr-xpvr-source/services4/srvkm/include/services_headers.h68
-rwxr-xr-xpvr-source/services4/srvkm/include/srvkm.h129
-rwxr-xr-xpvr-source/services4/srvkm/include/ttrace.h200
-rwxr-xr-xpvr-source/services4/srvkm/include/ttrace_common.h146
-rwxr-xr-xpvr-source/services4/srvkm/include/ttrace_tokens.h119
23 files changed, 0 insertions, 5991 deletions
diff --git a/pvr-source/services4/srvkm/include/buffer_manager.h b/pvr-source/services4/srvkm/include/buffer_manager.h
deleted file mode 100755
index c16efaa..0000000
--- a/pvr-source/services4/srvkm/include/buffer_manager.h
+++ /dev/null
@@ -1,674 +0,0 @@
-/*************************************************************************/ /*!
-@Title Buffer Management.
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@Description Manages buffers mapped into two virtual memory spaces, host and
- device and referenced by handles.
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-
-#ifndef _BUFFER_MANAGER_H_
-#define _BUFFER_MANAGER_H_
-
-#include "img_types.h"
-#include "ra.h"
-#include "perproc.h"
-
-#if defined(__cplusplus)
-extern "C"{
-#endif
-
-/* forward reference */
-typedef struct _BM_HEAP_ BM_HEAP;
-
-/*
- * The mapping structure is used to record relations between CPU virtual,
- * CPU physical and device virtual addresses for large chunks of memory
- * from which we have resource-allocator draw our buffers.
- *
- * There is one per contiguous pool and one per import from the host OS.
- */
-struct _BM_MAPPING_
-{
- enum
- {
- hm_wrapped = 1, /*!< wrapped user supplied contiguous*/
- hm_wrapped_scatter, /*!< wrapped user supplied scattered */
- hm_wrapped_virtaddr, /*!< wrapped user supplied contiguous with virtual address*/
- hm_wrapped_scatter_virtaddr, /*!< wrapped user supplied scattered with virtual address*/
- hm_env, /*!< obtained from environment */
- hm_contiguous /*!< contigous arena */
- } eCpuMemoryOrigin;
-
- BM_HEAP *pBMHeap; /* which BM heap */
- RA_ARENA *pArena; /* whence the memory comes */
-
- IMG_CPU_VIRTADDR CpuVAddr;
- IMG_CPU_PHYADDR CpuPAddr;
- IMG_DEV_VIRTADDR DevVAddr;
- IMG_SYS_PHYADDR *psSysAddr;
- IMG_SIZE_T uSize;
- IMG_SIZE_T uSizeVM;
- IMG_HANDLE hOSMemHandle;
- IMG_UINT32 ui32Flags;
-
- /* Sparse mapping data */
- IMG_UINT32 ui32ChunkSize;
- IMG_UINT32 ui32NumVirtChunks;
- IMG_UINT32 ui32NumPhysChunks;
- IMG_BOOL *pabMapChunk;
-
- /* GPU mapping reference count
- * When goes down to 0 GPU mapping
- * gets removed */
- IMG_UINT32 ui32MappingCount;
-
- /* need to track the original required alignment to make sure
- * that an unmapped buffer which is later remapped to device
- * is remapped with the original alignment restrictions.
- */
- IMG_UINT32 ui32DevVAddrAlignment;
-};
-
-/*
- * The buffer structure handles individual allocations from the user; thus
- * there is one allocated per call to BM_Alloc and one per call to BM_Wrap.
- * We record a mapping reference so we know where to return allocated
- * resources at BM_Free time.
- */
-typedef struct _BM_BUF_
-{
- IMG_CPU_VIRTADDR *CpuVAddr;
- IMG_VOID *hOSMemHandle;
- IMG_CPU_PHYADDR CpuPAddr;
- IMG_DEV_VIRTADDR DevVAddr;
-
- BM_MAPPING *pMapping;
- IMG_UINT32 ui32RefCount;
- IMG_UINT32 ui32ExportCount;
-} BM_BUF;
-
-struct _BM_HEAP_
-{
- IMG_UINT32 ui32Attribs;
- BM_CONTEXT *pBMContext;
- RA_ARENA *pImportArena;
- RA_ARENA *pLocalDevMemArena;
- RA_ARENA *pVMArena;
- DEV_ARENA_DESCRIPTOR sDevArena;
- MMU_HEAP *pMMUHeap;
- PDUMP_MMU_ATTRIB *psMMUAttrib;
-
- struct _BM_HEAP_ *psNext;
- struct _BM_HEAP_ **ppsThis;
- /* BIF tile stride for this heap */
- IMG_UINT32 ui32XTileStride;
-};
-
-/*
- * The bm-context structure
- */
-struct _BM_CONTEXT_
-{
- MMU_CONTEXT *psMMUContext;
-
- /*
- * Resource allocation arena of dual mapped pages. For devices
- * where the hardware imposes different constraints on the valid
- * device virtual address range depending on the use of the buffer
- * we maintain two allocation arenas, one low address range, the
- * other high. For devices without such a constrain we do not
- * create the high arena, instead all allocations come from the
- * low arena.
- */
- BM_HEAP *psBMHeap;
-
- /*
- * The Shared Heaps
- */
- BM_HEAP *psBMSharedHeap;
-
- PVRSRV_DEVICE_NODE *psDeviceNode;
-
- /*
- * Hash table management.
- */
- HASH_TABLE *pBufferHash;
-
- /*
- * Resman item handle
- */
- IMG_HANDLE hResItem;
-
- IMG_UINT32 ui32RefCount;
-
- /*
- linked list next pointer
- */
- struct _BM_CONTEXT_ *psNext;
- struct _BM_CONTEXT_ **ppsThis;
-};
-
-/* refcount.c needs to know the internals of this structure */
-typedef struct _XPROC_DATA_{
- IMG_UINT32 ui32RefCount;
- IMG_UINT32 ui32AllocFlags;
- IMG_UINT32 ui32Size;
- IMG_UINT32 ui32PageSize;
- RA_ARENA *psArena;
- IMG_SYS_PHYADDR sSysPAddr;
- IMG_VOID *pvCpuVAddr;
- IMG_HANDLE hOSMemHandle;
-} XPROC_DATA;
-
-extern XPROC_DATA gXProcWorkaroundShareData[];
-/*
- Buffer handle.
-*/
-typedef IMG_VOID *BM_HANDLE;
-
-/** Buffer manager allocation flags.
- *
- * Flags passed to BM_Alloc to specify buffer capabilities.
- *
- * @defgroup BP Buffer Manager Allocation Flags
- * @{
- */
-
-/** Pool number mask. */
-#define BP_POOL_MASK 0x7
-
-/* Request physically contiguous pages of memory */
-#define BP_CONTIGUOUS (1 << 3)
-#define BP_PARAMBUFFER (1 << 4)
-
-#define BM_MAX_DEVMEM_ARENAS 2
-
-/** @} */
-
-/**
- * @Function BM_CreateContext
- *
- * @Description
- *
- * @Input
-
- * @Return
- */
-
-IMG_HANDLE
-BM_CreateContext(PVRSRV_DEVICE_NODE *psDeviceNode,
- IMG_DEV_PHYADDR *psPDDevPAddr,
- PVRSRV_PER_PROCESS_DATA *psPerProc,
- IMG_BOOL *pbCreated);
-
-
-/**
- * @Function BM_DestroyContext
- *
- * @Description
- *
- * @Input
- *
- * @Return PVRSRV_ERROR
- */
-PVRSRV_ERROR
-BM_DestroyContext (IMG_HANDLE hBMContext,
- IMG_BOOL *pbCreated);
-
-
-/**
- * @Function BM_CreateHeap
- *
- * @Description
- *
- * @Input
- *
- * @Return
- */
-IMG_HANDLE
-BM_CreateHeap (IMG_HANDLE hBMContext,
- DEVICE_MEMORY_HEAP_INFO *psDevMemHeapInfo);
-
-/**
- * @Function BM_DestroyHeap
- *
- * @Description
- *
- * @Input
- *
- * @Return
- */
-IMG_VOID
-BM_DestroyHeap (IMG_HANDLE hDevMemHeap);
-
-
-/**
- * @Function BM_Reinitialise
- *
- * @Description
- *
- * Reinitialises the buffer manager after a power event. Calling this
- * function will reprogram MMU registers and renable the MMU.
- *
- * @Input None
- * @Return None
- */
-
-IMG_BOOL
-BM_Reinitialise (PVRSRV_DEVICE_NODE *psDeviceNode);
-
-/**
- * @Function BM_Alloc
- *
- * @Description
- *
- * Allocate a buffer mapped into both host and device virtual memory
- * maps.
- *
- * @Input uSize - require size in bytes of the buffer.
- * @Input/Output pui32Flags - bit mask of buffer property flags + recieves heap flags.
- * @Input uDevVAddrAlignment - required alignment in bytes, or 0.
- * @Input pvPrivData - private data passed to OS allocator
- * @Input ui32PrivDataLength - length of private data
- * @Input ui32ChunkSize - Chunk size
- * @Input ui32NumVirtChunks - Number of virtual chunks
- * @Input ui32NumPhysChunks - Number of physical chunks
- * @Input pabMapChunk - Chunk mapping array
- * @Output phBuf - receives the buffer handle.
- * @Return IMG_TRUE - Success, IMG_FALSE - Failed.
- */
-IMG_BOOL
-BM_Alloc (IMG_HANDLE hDevMemHeap,
- IMG_DEV_VIRTADDR *psDevVAddr,
- IMG_SIZE_T uSize,
- IMG_UINT32 *pui32Flags,
- IMG_UINT32 uDevVAddrAlignment,
- IMG_PVOID pvPrivData,
- IMG_UINT32 ui32PrivDataLength,
- IMG_UINT32 ui32ChunkSize,
- IMG_UINT32 ui32NumVirtChunks,
- IMG_UINT32 ui32NumPhysChunks,
- IMG_BOOL *pabMapChunk,
- BM_HANDLE *phBuf);
-
-/**
- * @Function BM_Wrap
- *
- * @Description
- *
- * Create a buffer which wraps user provided host physical memory.
- * The wrapped memory must be page aligned. BM_Wrap will roundup the
- * size to a multiple of host pages.
- *
- * @Input ui32Size - size of memory to wrap.
- * @Input ui32Offset - Offset into page of memory to wrap.
- * @Input bPhysContig - Is the wrap physically contiguous.
- * @Input psSysAddr - list of system physical page addresses of memory to wrap.
- * @Input pvCPUVAddr - optional CPU kernel virtual address (Page aligned) of memory to wrap.
- * @Input uFlags - bit mask of buffer property flags.
- * @Input phBuf - receives the buffer handle.
- * @Return IMG_TRUE - Success, IMG_FALSE - Failed
- */
-IMG_BOOL
-BM_Wrap ( IMG_HANDLE hDevMemHeap,
- IMG_SIZE_T ui32Size,
- IMG_SIZE_T ui32Offset,
- IMG_BOOL bPhysContig,
- IMG_SYS_PHYADDR *psSysAddr,
- IMG_VOID *pvCPUVAddr,
- IMG_UINT32 *pui32Flags,
- BM_HANDLE *phBuf);
-
-/**
- * @Function BM_Free
- *
- * @Description
- *
- * Free a buffer previously allocated via BM_Alloc.
- *
- * @Input hBuf - buffer handle.
- * @Return None.
- */
-IMG_VOID
-BM_Free (BM_HANDLE hBuf,
- IMG_UINT32 ui32Flags);
-
-
-/**
- * @Function BM_HandleToCpuVaddr
- *
- * @Description
- *
- * Retrieve the host virtual address associated with a buffer.
- *
- * @Input hBuf - buffer handle.
- *
- * @Return buffers host virtual address.
- */
-IMG_CPU_VIRTADDR
-BM_HandleToCpuVaddr (BM_HANDLE hBuf);
-
-/**
- * @Function BM_HandleToDevVaddr
- *
- * @Description
- *
- * Retrieve the device virtual address associated with a buffer.
- *
- * @Input hBuf - buffer handle.
- * @Return buffers device virtual address.
- */
-IMG_DEV_VIRTADDR
-BM_HandleToDevVaddr (BM_HANDLE hBuf);
-
-/**
- * @Function BM_HandleToSysPaddr
- *
- * @Description
- *
- * Retrieve the system physical address associated with a buffer.
- *
- * @Input hBuf - buffer handle.
- * @Return buffers device virtual address.
- */
-IMG_SYS_PHYADDR
-BM_HandleToSysPaddr (BM_HANDLE hBuf);
-
-/**
- * @Function BM_HandleToMemOSHandle
- *
- * @Description
- *
- * Retrieve the underlying memory handle associated with a buffer.
- *
- * @Input hBuf - buffer handle.
- * @Return An OS Specific memory handle
- */
-IMG_HANDLE
-BM_HandleToOSMemHandle (BM_HANDLE hBuf);
-
-/**
- * @Function BM_RemapToDev
- *
- * @Description
- *
- * Remaps the device Virtual Mapping.
- *
- * @Input hBuf - buffer handle.
- * @Return ref count on success
- */
-IMG_INT32
-BM_RemapToDev(BM_HANDLE hBuf);
-
-/**
- * @Function BM_UnmapFromDev
- *
- * @Description
- *
- * Removes the device Virtual Mapping.
- *
- * @Input hBuf - buffer handle.
- * @Return Ref count on success
- */
-IMG_INT32
-BM_UnmapFromDev(BM_HANDLE hBuf);
-
-/**
- * @Function BM_GetPhysPageAddr
- *
- * @Description
- *
- * Retreive physical address backing dev V address
- *
- * @Input psMemInfo
- * @Input sDevVPageAddr
- * @Output psDevPAddr
- * @Return PVRSRV_ERROR
- */
-IMG_VOID BM_GetPhysPageAddr(PVRSRV_KERNEL_MEM_INFO *psMemInfo,
- IMG_DEV_VIRTADDR sDevVPageAddr,
- IMG_DEV_PHYADDR *psDevPAddr);
-
-/*!
-******************************************************************************
- @Function BM_GetMMUContext
-
- @Description
- utility function to return the MMU context
-
- @inputs hDevMemHeap - the Dev mem heap handle
-
- @Return MMU context, else NULL
-**************************************************************************/
-MMU_CONTEXT* BM_GetMMUContext(IMG_HANDLE hDevMemHeap);
-
-/*!
-******************************************************************************
- @Function BM_GetMMUContextFromMemContext
-
- @Description
- utility function to return the MMU context
-
- @inputs hDevMemHeap - the Dev mem heap handle
-
- @Return MMU context, else NULL
-**************************************************************************/
-MMU_CONTEXT* BM_GetMMUContextFromMemContext(IMG_HANDLE hDevMemContext);
-
-/*!
-******************************************************************************
- @Function BM_GetMMUHeap
-
- @Description
- utility function to return the MMU heap handle
-
- @inputs hDevMemHeap - the Dev mem heap handle
-
- @Return MMU heap handle, else NULL
-**************************************************************************/
-IMG_HANDLE BM_GetMMUHeap(IMG_HANDLE hDevMemHeap);
-
-/*!
-******************************************************************************
- @Function BM_GetDeviceNode
-
- @Description utility function to return the devicenode from the BM Context
-
- @inputs hDevMemContext - the Dev Mem Context
-
- @Return MMU heap handle, else NULL
-**************************************************************************/
-PVRSRV_DEVICE_NODE* BM_GetDeviceNode(IMG_HANDLE hDevMemContext);
-
-
-/*!
-******************************************************************************
- @Function BM_GetMappingHandle
-
- @Description utility function to return the mapping handle from a meminfo
-
- @inputs psMemInfo - kernel meminfo
-
- @Return mapping handle, else NULL
-**************************************************************************/
-IMG_HANDLE BM_GetMappingHandle(PVRSRV_KERNEL_MEM_INFO *psMemInfo);
-
-/*!
-******************************************************************************
- @Function BM_Export
-
- @Description Export a buffer previously allocated via BM_Alloc.
-
- @inputs hBuf - buffer handle.
-
- @Return None.
-**************************************************************************/
-IMG_VOID BM_Export(BM_HANDLE hBuf);
-
-/*!
-******************************************************************************
- @Function BM_FreeExport
-
- @Description Free a buffer previously exported via BM_Export.
-
- @inputs hBuf - buffer handle.
- ui32Flags - flags
-
- @Return None.
-**************************************************************************/
-IMG_VOID BM_FreeExport(BM_HANDLE hBuf, IMG_UINT32 ui32Flags);
-
-/*!
-******************************************************************************
- @Function BM_MappingHandleFromBuffer
-
- @Description utility function to get the BM mapping handle from a BM buffer
-
- @Input hBuffer - Handle to BM buffer
-
- @Return BM mapping handle
-**************************************************************************/
-IMG_HANDLE BM_MappingHandleFromBuffer(IMG_HANDLE hBuffer);
-
-/*!
-******************************************************************************
- @Function BM_GetVirtualSize
-
- @Description utility function to get the VM size of a BM mapping
-
- @Input hBMHandle - Handle to BM mapping
-
- @Return VM size of mapping
-**************************************************************************/
-IMG_UINT32 BM_GetVirtualSize(IMG_HANDLE hBMHandle);
-
-/*!
-******************************************************************************
- @Function BM_MapPageAtOffset
-
- @Description utility function check if the specificed offset in a BM mapping
- is a page that needs tp be mapped
-
- @Input hBMHandle - Handle to BM mapping
-
- @Input ui32Offset - Offset into import
-
- @Return IMG_TRUE if the page should be mapped
-**************************************************************************/
-IMG_BOOL BM_MapPageAtOffset(IMG_HANDLE hBMHandle, IMG_UINT32 ui32Offset);
-
-/*!
-******************************************************************************
- @Function BM_VirtOffsetToPhyscial
-
- @Description utility function find of physical offset of a sparse allocation
- from it's virtual offset.
-
- @Input hBMHandle - Handle to BM mapping
-
- @Input ui32VirtOffset - Virtual offset into allocation
-
- @Output pui32PhysOffset - Physical offset
-
- @Return IMG_TRUE if the virtual offset is physically backed
-**************************************************************************/
-IMG_BOOL BM_VirtOffsetToPhysical(IMG_HANDLE hBMHandle,
- IMG_UINT32 ui32VirtOffset,
- IMG_UINT32 *pui32PhysOffset);
-
-/* The following are present for the "share mem" workaround for
- cross-process mapping. This is only valid for a specific
- use-case, and only tested on Linux (Android) and only
- superficially at that. Do not rely on this API! */
-/* The two "Set" functions set a piece of "global" state in the buffer
- manager, and "Unset" removes this global state. Therefore, there
- is no thread-safety here and it's the caller's responsibility to
- ensure that a mutex is acquired before using these functions or any
- device memory allocation functions, including, especially,
- callbacks from RA. */
-/* Once a "Share Index" is set by this means, any requests from the RA
- to import a block of physical memory shall cause the physical
- memory allocation to be refcounted, and shared iff the IDs chosen
- match */
-/* This API is difficult to use, but saves a lot of plumbing in other
- APIs. The next generation of this library should have this functionality
- plumbed in properly */
-PVRSRV_ERROR BM_XProcWorkaroundSetShareIndex(IMG_UINT32 ui32Index);
-PVRSRV_ERROR BM_XProcWorkaroundUnsetShareIndex(IMG_UINT32 ui32Index);
-PVRSRV_ERROR BM_XProcWorkaroundFindNewBufferAndSetShareIndex(IMG_UINT32 *pui32Index);
-IMG_INT32 BM_XProcGetShareDataRefCount(IMG_UINT32 ui32Index);
-
-#if defined(PVRSRV_REFCOUNT_DEBUG)
-IMG_VOID _BM_XProcIndexAcquireDebug(const IMG_CHAR *pszFile, IMG_INT iLine, IMG_UINT32 ui32Index);
-IMG_VOID _BM_XProcIndexReleaseDebug(const IMG_CHAR *pszFile, IMG_INT iLine, IMG_UINT32 ui32Index);
-
-#define BM_XProcIndexAcquire(x...) \
- _BM_XProcIndexAcquireDebug(__FILE__, __LINE__, x)
-#define BM_XProcIndexRelease(x...) \
- _BM_XProcIndexReleaseDebug(__FILE__, __LINE__, x)
-
-#else
-IMG_VOID _BM_XProcIndexAcquire(IMG_UINT32 ui32Index);
-IMG_VOID _BM_XProcIndexRelease(IMG_UINT32 ui32Index);
-
-#define BM_XProcIndexAcquire(x) \
- _BM_XProcIndexAcquire( x)
-#define BM_XProcIndexRelease(x) \
- _BM_XProcIndexRelease( x)
-#endif
-
-static INLINE IMG_CHAR *
-_BMMappingType (IMG_INT eCpuMemoryOrigin)
-{
- switch (eCpuMemoryOrigin)
- {
- case hm_wrapped: return "hm_wrapped";
- case hm_wrapped_scatter: return "hm_wrapped_scatter";
- case hm_wrapped_virtaddr: return "hm_wrapped_virtaddr";
- case hm_wrapped_scatter_virtaddr: return "hm_wrapped_scatter_virtaddr";
- case hm_env: return "hm_env";
- case hm_contiguous: return "hm_contiguous";
- }
- return "junk";
-}
-
-#if defined(__cplusplus)
-}
-#endif
-
-#endif
diff --git a/pvr-source/services4/srvkm/include/device.h b/pvr-source/services4/srvkm/include/device.h
deleted file mode 100755
index 6ddee5d..0000000
--- a/pvr-source/services4/srvkm/include/device.h
+++ /dev/null
@@ -1,409 +0,0 @@
-/*************************************************************************/ /*!
-@Title Common Device header
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@Description Device related function templates and defines
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-
-#ifndef __DEVICE_H__
-#define __DEVICE_H__
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-#include "ra.h" /* RA_ARENA */
-#include "resman.h" /* PRESMAN_ITEM */
-
-/* BM context forward reference */
-typedef struct _BM_CONTEXT_ BM_CONTEXT;
-
-/* pre-defined MMU structure forward references */
-typedef struct _MMU_HEAP_ MMU_HEAP;
-typedef struct _MMU_CONTEXT_ MMU_CONTEXT;
-
-/* physical resource types: */
-/* contiguous system memory */
-#define PVRSRV_BACKINGSTORE_SYSMEM_CONTIG (1<<(PVRSRV_MEM_BACKINGSTORE_FIELD_SHIFT+0))
-/* non-contiguous system memory */
-#define PVRSRV_BACKINGSTORE_SYSMEM_NONCONTIG (1<<(PVRSRV_MEM_BACKINGSTORE_FIELD_SHIFT+1))
-/* contiguous local device memory */
-#define PVRSRV_BACKINGSTORE_LOCALMEM_CONTIG (1<<(PVRSRV_MEM_BACKINGSTORE_FIELD_SHIFT+2))
-/* non-contiguous local device memory */
-#define PVRSRV_BACKINGSTORE_LOCALMEM_NONCONTIG (1<<(PVRSRV_MEM_BACKINGSTORE_FIELD_SHIFT+3))
-
-/* heap types: */
-typedef IMG_UINT32 DEVICE_MEMORY_HEAP_TYPE;
-#define DEVICE_MEMORY_HEAP_PERCONTEXT 0
-#define DEVICE_MEMORY_HEAP_KERNEL 1
-#define DEVICE_MEMORY_HEAP_SHARED 2
-#define DEVICE_MEMORY_HEAP_SHARED_EXPORTED 3
-
-#define PVRSRV_DEVICE_NODE_FLAGS_PORT80DISPLAY 1
-#define PVRSRV_DEVICE_NODE_FLAGS_MMU_OPT_INV 2 /* FIXME : Optimal Invalidation is not default */
-
-typedef struct _DEVICE_MEMORY_HEAP_INFO_
-{
- /* heap identifier */
- IMG_UINT32 ui32HeapID;
-
- /* heap identifier string */
- IMG_CHAR *pszName;
-
- /* backing store identifier string */
- IMG_CHAR *pszBSName;
-
- /* Device virtual address of base of heap */
- IMG_DEV_VIRTADDR sDevVAddrBase;
-
- /* heapsize in bytes */
- IMG_UINT32 ui32HeapSize;
-
- /* Flags, includes physical resource (backing store type). Must be available to SOC */
- IMG_UINT32 ui32Attribs;
-
- /* Heap type: per device, kernel only, shared, shared_exported */
- DEVICE_MEMORY_HEAP_TYPE DevMemHeapType;
-
- /* kernel heap handle */
- IMG_HANDLE hDevMemHeap;
-
- /* ptr to local memory allocator for this heap */
- RA_ARENA *psLocalDevMemArena;
-
- /* MMU data page size (4kb, 16kb, 256kb, 1Mb, 4Mb) */
- IMG_UINT32 ui32DataPageSize;
-
- IMG_UINT32 ui32XTileStride;
-
-} DEVICE_MEMORY_HEAP_INFO;
-
-typedef struct _DEVICE_MEMORY_INFO_
-{
- /* size of address space, as log2 */
- IMG_UINT32 ui32AddressSpaceSizeLog2;
-
- /*
- flags, includes physical memory resource types available to the system.
- Allows for validation at heap creation, define PVRSRV_BACKINGSTORE_XXX
- */
- IMG_UINT32 ui32Flags;
-
- /* heap count. Doesn't include additional heaps from PVRSRVCreateDeviceMemHeap */
- IMG_UINT32 ui32HeapCount;
-
- /* the sync heap id - common code needs to know */
- IMG_UINT32 ui32SyncHeapID;
-
- /* heap for buffer mappings */
- IMG_UINT32 ui32MappingHeapID;
-
- /* heap for ion buffers */
- IMG_UINT32 ui32IonHeapID;
-
- /* device memory heap info about each heap in a device address space */
- DEVICE_MEMORY_HEAP_INFO *psDeviceMemoryHeap;
-
- /* BM kernel context for the device */
- BM_CONTEXT *pBMKernelContext;
-
- /* BM context list for the device*/
- BM_CONTEXT *pBMContext;
-
-} DEVICE_MEMORY_INFO;
-
-
-/*!
- ****************************************************************************
- Device memory descriptor for a given system
- ****************************************************************************/
-typedef struct DEV_ARENA_DESCRIPTOR_TAG
-{
- IMG_UINT32 ui32HeapID; /*!< memory pool has a unique id for diagnostic purposes */
-
- IMG_CHAR *pszName; /*!< memory pool has a unique string for diagnostic purposes */
-
- IMG_DEV_VIRTADDR BaseDevVAddr; /*!< Device virtual base address of the managed memory pool. */
-
- IMG_UINT32 ui32Size; /*!< Size in bytes of the managed memory pool. */
-
- DEVICE_MEMORY_HEAP_TYPE DevMemHeapType;/*!< heap type */
-
- /* MMU data page size (4kb, 16kb, 256kb, 1Mb, 4Mb) */
- IMG_UINT32 ui32DataPageSize;
-
- DEVICE_MEMORY_HEAP_INFO *psDeviceMemoryHeapInfo;
-
-} DEV_ARENA_DESCRIPTOR;
-
-
-/*
- PDUMP MMU atttributes
-*/
-typedef struct _PDUMP_MMU_ATTRIB_
-{
- PVRSRV_DEVICE_IDENTIFIER sDevId;
-
- IMG_CHAR *pszPDRegRegion;
-
- /* data page info */
- IMG_UINT32 ui32DataPageMask;
-
- /* page table info */
- IMG_UINT32 ui32PTEValid;
- IMG_UINT32 ui32PTSize;
- IMG_UINT32 ui32PTEAlignShift;
-
- /* page directory info */
- IMG_UINT32 ui32PDEMask;
- IMG_UINT32 ui32PDEAlignShift;
-
-} PDUMP_MMU_ATTRIB;
-
-/* forward reference to _SYS_DATA_ */
-typedef struct _SYS_DATA_TAG_ *PSYS_DATA;
-
-typedef struct _PVRSRV_DEVICE_NODE_
-{
- PVRSRV_DEVICE_IDENTIFIER sDevId;
- IMG_UINT32 ui32RefCount;
-
- /*
- callbacks the device must support:
- */
- /* device initialiser */
- PVRSRV_ERROR (*pfnInitDevice) (IMG_VOID*);
- /* device deinitialiser */
- PVRSRV_ERROR (*pfnDeInitDevice) (IMG_VOID*);
-
- /* device post-finalise compatibility check */
- PVRSRV_ERROR (*pfnInitDeviceCompatCheck) (struct _PVRSRV_DEVICE_NODE_*);
-
- /* device MMU interface */
- PVRSRV_ERROR (*pfnMMUInitialise)(struct _PVRSRV_DEVICE_NODE_*, MMU_CONTEXT**, IMG_DEV_PHYADDR*);
- IMG_VOID (*pfnMMUFinalise)(MMU_CONTEXT*);
- IMG_VOID (*pfnMMUInsertHeap)(MMU_CONTEXT*, MMU_HEAP*);
- MMU_HEAP* (*pfnMMUCreate)(MMU_CONTEXT*,DEV_ARENA_DESCRIPTOR*,RA_ARENA**,PDUMP_MMU_ATTRIB **ppsMMUAttrib);
- IMG_VOID (*pfnMMUDelete)(MMU_HEAP*);
- IMG_BOOL (*pfnMMUAlloc)(MMU_HEAP*pMMU,
- IMG_SIZE_T uSize,
- IMG_SIZE_T *pActualSize,
- IMG_UINT32 uFlags,
- IMG_UINT32 uDevVAddrAlignment,
- IMG_DEV_VIRTADDR *pDevVAddr);
- IMG_VOID (*pfnMMUFree)(MMU_HEAP*,IMG_DEV_VIRTADDR,IMG_UINT32);
- IMG_VOID (*pfnMMUEnable)(MMU_HEAP*);
- IMG_VOID (*pfnMMUDisable)(MMU_HEAP*);
- IMG_VOID (*pfnMMUMapPages)(MMU_HEAP *pMMU,
- IMG_DEV_VIRTADDR devVAddr,
- IMG_SYS_PHYADDR SysPAddr,
- IMG_SIZE_T uSize,
- IMG_UINT32 ui32MemFlags,
- IMG_HANDLE hUniqueTag);
- IMG_VOID (*pfnMMUMapPagesSparse)(MMU_HEAP *pMMU,
- IMG_DEV_VIRTADDR devVAddr,
- IMG_SYS_PHYADDR SysPAddr,
- IMG_UINT32 ui32ChunkSize,
- IMG_UINT32 ui32NumVirtChunks,
- IMG_UINT32 ui32NumPhysChunks,
- IMG_BOOL *pabMapChunk,
- IMG_UINT32 ui32MemFlags,
- IMG_HANDLE hUniqueTag);
-
- IMG_VOID (*pfnMMUMapShadow)(MMU_HEAP *pMMU,
- IMG_DEV_VIRTADDR MapBaseDevVAddr,
- IMG_SIZE_T uSize,
- IMG_CPU_VIRTADDR CpuVAddr,
- IMG_HANDLE hOSMemHandle,
- IMG_DEV_VIRTADDR *pDevVAddr,
- IMG_UINT32 ui32MemFlags,
- IMG_HANDLE hUniqueTag);
- IMG_VOID (*pfnMMUMapShadowSparse)(MMU_HEAP *pMMU,
- IMG_DEV_VIRTADDR MapBaseDevVAddr,
- IMG_UINT32 ui32ChunkSize,
- IMG_UINT32 ui32NumVirtChunks,
- IMG_UINT32 ui32NumPhysChunks,
- IMG_BOOL *pabMapChunk,
- IMG_CPU_VIRTADDR CpuVAddr,
- IMG_HANDLE hOSMemHandle,
- IMG_DEV_VIRTADDR *pDevVAddr,
- IMG_UINT32 ui32MemFlags,
- IMG_HANDLE hUniqueTag);
-
- IMG_VOID (*pfnMMUUnmapPages)(MMU_HEAP *pMMU,
- IMG_DEV_VIRTADDR dev_vaddr,
- IMG_UINT32 ui32PageCount,
- IMG_HANDLE hUniqueTag);
-
- IMG_VOID (*pfnMMUMapScatter)(MMU_HEAP *pMMU,
- IMG_DEV_VIRTADDR DevVAddr,
- IMG_SYS_PHYADDR *psSysAddr,
- IMG_SIZE_T uSize,
- IMG_UINT32 ui32MemFlags,
- IMG_HANDLE hUniqueTag);
-#if defined(SUPPORT_PDUMP_MULTI_PROCESS)
- IMG_BOOL (*pfnMMUIsHeapShared)(MMU_HEAP *);
-#endif
- IMG_DEV_PHYADDR (*pfnMMUGetPhysPageAddr)(MMU_HEAP *pMMUHeap, IMG_DEV_VIRTADDR sDevVPageAddr);
- IMG_DEV_PHYADDR (*pfnMMUGetPDDevPAddr)(MMU_CONTEXT *pMMUContext);
- IMG_VOID (*pfnMMUGetCacheFlushRange)(MMU_CONTEXT *pMMUContext, IMG_UINT32 *pui32RangeMask);
- IMG_VOID (*pfnMMUGetPDPhysAddr)(MMU_CONTEXT *pMMUContext, IMG_DEV_PHYADDR *psDevPAddr);
-
- /* tiling range control functions */
- PVRSRV_ERROR (*pfnAllocMemTilingRange)(struct _PVRSRV_DEVICE_NODE_ *psDeviceNode,
- PVRSRV_KERNEL_MEM_INFO *psMemInfo,
- IMG_UINT32 ui32TilingStride,
- IMG_UINT32 *pui32RangeIndex);
- PVRSRV_ERROR (*pfnFreeMemTilingRange)(struct _PVRSRV_DEVICE_NODE_ *psDeviceNode,
- IMG_UINT32 ui32RangeIndex);
-
- /* LISR handler for device */
- IMG_BOOL (*pfnDeviceISR)(IMG_VOID*);
- /* ISR data */
- IMG_VOID *pvISRData;
- /* System/SOC specific interrupt bit relating to this device */
- IMG_UINT32 ui32SOCInterruptBit;
- /* MISR handler for device */
- IMG_VOID (*pfnDeviceMISR)(IMG_VOID*);
-
- /* Software command complete callback for device */
- IMG_VOID (*pfnDeviceCommandComplete)(struct _PVRSRV_DEVICE_NODE_ *psDeviceNode);
- /* Flag indicating that command complete callback needs to be reprocessed */
- IMG_BOOL bReProcessDeviceCommandComplete;
-
- IMG_VOID (*pfnCacheInvalidate)(struct _PVRSRV_DEVICE_NODE_ *psDeviceNode);
-
- /* information about the device's address space and heaps */
- DEVICE_MEMORY_INFO sDevMemoryInfo;
-
- /* private device information */
- IMG_VOID *pvDevice;
- IMG_UINT32 ui32pvDeviceSize; /* required by GetClassDeviceInfo API */
-
- /* Resource Manager Context */
- PRESMAN_CONTEXT hResManContext;
-
- /* pointer back to parent sysdata */
- PSYS_DATA psSysData;
-
- /* default MMU PT/PD backing store to use for the device */
- RA_ARENA *psLocalDevMemArena;
-
- IMG_UINT32 ui32Flags;
-
- struct _PVRSRV_DEVICE_NODE_ *psNext;
- struct _PVRSRV_DEVICE_NODE_ **ppsThis;
-
-#if defined(PDUMP)
- /* device-level callback which is called when pdump.exe starts.
- * Should be implemented in device-specific init code, e.g. sgxinit.c
- */
- PVRSRV_ERROR (*pfnPDumpInitDevice)(struct _PVRSRV_DEVICE_NODE_ *psDeviceNode);
- /* device-level callback to return pdump ID associated to a memory context */
- IMG_UINT32 (*pfnMMUGetContextID)(IMG_HANDLE hDevMemContext);
-#endif
-} PVRSRV_DEVICE_NODE;
-
-PVRSRV_ERROR IMG_CALLCONV PVRSRVRegisterDevice(PSYS_DATA psSysData,
- PVRSRV_ERROR (*pfnRegisterDevice)(PVRSRV_DEVICE_NODE*),
- IMG_UINT32 ui32SOCInterruptBit,
- IMG_UINT32 *pui32DeviceIndex );
-
-PVRSRV_ERROR IMG_CALLCONV PVRSRVInitialiseDevice(IMG_UINT32 ui32DevIndex);
-PVRSRV_ERROR IMG_CALLCONV PVRSRVFinaliseSystem(IMG_BOOL bInitSuccesful);
-
-PVRSRV_ERROR IMG_CALLCONV PVRSRVDevInitCompatCheck(PVRSRV_DEVICE_NODE *psDeviceNode);
-
-PVRSRV_ERROR IMG_CALLCONV PVRSRVDeinitialiseDevice(IMG_UINT32 ui32DevIndex);
-
-#if !defined(USE_CODE)
-
-/*!
-******************************************************************************
-
- @Function PollForValueKM
-
- @Description
- Polls for a value to match a masked read of sysmem
-
- @Input pui32LinMemAddr : CPU linear address of the mem to poll
- @Input ui32Value : req'd value
- @Input ui32Mask : Mask
- @Input ui32Timeoutus : maximum total time to wait (us)
- @Input ui32PollPeriodus : minimum delay between consecutive polls (us)
- @Input bAllowPreemption : allow the polling loop to be preempted
-
- @Return PVRSRV_ERROR :
-
-******************************************************************************/
-IMG_IMPORT PVRSRV_ERROR IMG_CALLCONV PollForValueKM(volatile IMG_UINT32* pui32LinMemAddr,
- IMG_UINT32 ui32Value,
- IMG_UINT32 ui32Mask,
- IMG_UINT32 ui32Timeoutus,
- IMG_UINT32 ui32PollPeriodus,
- IMG_BOOL bAllowPreemption);
-
-#endif /* !defined(USE_CODE) */
-
-
-#if defined (USING_ISR_INTERRUPTS)
-PVRSRV_ERROR IMG_CALLCONV PollForInterruptKM(IMG_UINT32 ui32Value,
- IMG_UINT32 ui32Mask,
- IMG_UINT32 ui32Waitus,
- IMG_UINT32 ui32Tries);
-
-#endif /* #if defined (USING_ISR_INTERRUPTS) */
-
-/* The following functions don't really belong here (srvkm.h might be a better
- * place), but as they use the device data structures, this is the most convenient
- * place for them. */
-PVRSRV_ERROR IMG_CALLCONV PVRSRVInit(PSYS_DATA psSysData);
-IMG_VOID IMG_CALLCONV PVRSRVDeInit(PSYS_DATA psSysData);
-IMG_BOOL IMG_CALLCONV PVRSRVDeviceLISR(PVRSRV_DEVICE_NODE *psDeviceNode);
-IMG_BOOL IMG_CALLCONV PVRSRVSystemLISR(IMG_VOID *pvSysData);
-IMG_VOID IMG_CALLCONV PVRSRVMISR(IMG_VOID *pvSysData);
-
-#if defined(__cplusplus)
-}
-#endif
-
-#endif /* __DEVICE_H__ */
-
-/******************************************************************************
- End of file (device.h)
-******************************************************************************/
diff --git a/pvr-source/services4/srvkm/include/handle.h b/pvr-source/services4/srvkm/include/handle.h
deleted file mode 100755
index 157d209..0000000
--- a/pvr-source/services4/srvkm/include/handle.h
+++ /dev/null
@@ -1,567 +0,0 @@
-/*************************************************************************/ /*!
-@Title Handle Manager API
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@Description Provide handle management
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-#ifndef __HANDLE_H__
-#define __HANDLE_H__
-
-/*
- * Handle API
- * ----------
- * The handle API is intended to provide handles for kernel resources,
- * which can then be passed back to user space processes.
- *
- * The following functions comprise the API. Each function takes a
- * pointer to a PVRSRV_HANDLE_BASE strcture, one of which is allocated
- * for each process, and stored in the per-process data area. Use
- * KERNEL_HANDLE_BASE for handles not allocated for a particular process,
- * or for handles that need to be allocated before the PVRSRV_HANDLE_BASE
- * structure for the process is available.
- *
- * PVRSRV_ERROR PVRSRVAllocHandle(PVRSRV_HANDLE_BASE *psBase,
- * IMG_HANDLE *phHandle, IMG_VOID *pvData, PVRSRV_HANDLE_TYPE eType,
- * PVRSRV_HANDLE_ALLOC_FLAG eFlag);
- *
- * Allocate a handle phHandle, for the resource of type eType pointed to by
- * pvData.
- *
- * For handles that have a definite lifetime, where the corresponding
- * resource is explicitly created and destroyed, eFlag should be zero.
- *
- * If the resource is not explicitly created and destroyed, eFlag should be
- * set to PVRSRV_HANDLE_ALLOC_FLAG_SHARED. For a given process, the same
- * handle will be returned each time a handle for the resource is allocated
- * with the PVRSRV_HANDLE_ALLOC_FLAG_SHARED flag.
- *
- * If a particular resource may be referenced multiple times by a
- * given process, setting eFlag to PVRSRV_HANDLE_ALLOC_FLAG_MULTI
- * will allow multiple handles to be allocated for the resource.
- * Such handles cannot be found with PVRSRVFindHandle.
- *
- * PVRSRV_ERROR PVRSRVAllocSubHandle(PVRSRV_HANDLE_BASE *psBase,
- * IMG_HANDLE *phHandle, IMG_VOID *pvData, PVRSRV_HANDLE_TYPE eType,
- * PVRSRV_HANDLE_ALLOC_FLAG eFlag, IMG_HANDLE hParent);
- *
- * This function is similar to PVRSRVAllocHandle, except that the allocated
- * handles are associated with a parent handle, hParent, that has been
- * allocated previously. Subhandles are automatically deallocated when their
- * parent handle is dealloacted.
- * Subhandles can be treated as ordinary handles. For example, they may
- * have subhandles of their own, and may be explicity deallocated using
- * PVRSRVReleaseHandle (see below).
- *
- * PVRSRV_ERROR PVRSRVFindHandle(PVRSRV_HANDLE_BASE *psBase,
- * IMG_HANDLE *phHandle, IMG_VOID *pvData, PVRSRV_HANDLE_TYPE eType);
- *
- * Find the handle previously allocated for the resource pointed to by
- * pvData, of type eType. Handles allocated with the flag
- * PVRSRV_HANDLE_ALLOC_FLAG_MULTI cannot be found using this
- * function.
- *
- * PVRSRV_ERROR PVRSRVLookupHandle(PVRSRV_HANDLE_BASE *psBase,
- * IMG_PVOID *ppvData, IMG_HANDLE hHandle, PVRSRV_HANDLE_TYPE eType);
- *
- * Given a handle for a resource of type eType, return the pointer to the
- * resource.
- *
- * PVRSRV_ERROR PVRSRVLookuSubHandle(PVRSRV_HANDLE_BASE *psBase,
- * IMG_PVOID *ppvData, IMG_HANDLE hHandle, PVRSRV_HANDLE_TYPE eType,
- * IMH_HANDLE hAncestor);
- *
- * Similar to PVRSRVLookupHandle, but checks the handle is a descendent
- * of hAncestor.
- *
- * PVRSRV_ERROR PVRSRVLookupHandleAnyType(PVRSRV_HANDLE_BASE *psBase,
- * IMG_PVOID *ppvData, PVRSRV_HANDLE_TYPE *peType, IMG_HANDLE hHandle);
- *
- * This function returns the resource pointer corresponding to the
- * given handle, and the resource type in peType. This function is
- * intended for situations where a handle may be one of several types,
- * but the type isn't known beforehand.
- *
- * PVRSRV_ERROR PVRSRVReleaseHandle(PVRSRV_HANDLE_BASE *psBase,
- * IMG_HANDLE hHandle, PVRSRV_HANDLE_TYPE eType);
- *
- * Deallocate a handle of given type.
- *
- * PVRSRV_ERROR PVRSRVLookupAndReleaseHandle(PVRSRV_HANDLE_BASE *psBase,
- * IMG_PVOID *ppvData, IMG_HANDLE hHandle, PVRSRV_HANDLE_TYPE eType);
- *
- * This function combines the functionality of PVRSRVLookupHandle and
- * PVRSRVReleaseHandle, deallocating the handle after looking it up.
- *
- * PVRSRV_ERROR PVRSRVGetParentHandle(PVRSRV_HANDLE_BASE *psBase,
- * IMG_PVOID *phParent, IMG_HANDLE hHandle, PVRSRV_HANDLE_TYPE eType);
- *
- * Return the parent of a handle in *phParent, or IMG_NULL if the handle has
- * no parent.
- *
- * PVRSRV_ERROR PVRSRVNewHandleBatch(PVRSRV_HANDLE_BASE *psBase,
- * IMG_UINT32 ui32BatchSize)
- *
- * Allocate a new handle batch. This preallocates ui32BatchSize handles.
- * Batch mode simplifies the handling of handle allocation failures.
- * The handle API is unchanged in batch mode, except that handles freed
- * in batch mode will not be available for reallocation until the batch
- * is committed or released (see below).
- *
- * PVRSRV_ERROR PVRSRVCommitHandleBatch(PVRSRV_HANDLE_BASE *psBase)
- * void PVRSRVReleaseHandleBatch(PVRSRV_HANDLE_BASE *psBase)
- *
- * When handle allocation from a handle batch is complete, the
- * batch must be committed by calling PVRSRVCommitHandleBatch. If
- * an error occurred, and none of the handles in the batch are no
- * longer needed, PVRSRVReleaseHandleBatch must be called.
- * The macros PVRSRVAllocHandleNR, and PVRSRVAllocSubHandleNR
- * are defined for use in batch mode. These work the same way
- * as PVRSRVAllocHandle and PVRSRVAllocSubHandle, except that
- * they don't return a value, relying on the fact that
- * PVRSRVCommitHandleBatch will not commit any of the handles
- * in a batch if there was an error allocating one of the
- * handles in the batch.
- *
- * PVRSRV_ERROR PVRSRVSetMaxHandle(PVRSRV_HANDLE_BASE *psBase,
- * IMG_UINT32 ui32MaxHandle)
- * Set the maximum handle number. This is intended to restrict the
- * handle range so that it will fit within a given field width. For
- * example, setting the maximum handle number to 0x7fffffff, would
- * ensure the handles would fit within a 31 bit width field. This
- * facility should be used with caution, as it restricts the number of
- * handles that can be allocated.
- *
- * IMG_UINT32 PVRSRVGetMaxHandle(PVRSRV_HANDLE_BASE *psBase)
- * Return the maximum handle number, or 0 if the setting of a limit
- * is not supported.
- *
- * PVRSRV_ERROR PVRSRVEnableHandlePurging(PVRSRV_HANDLE_BASE *psBase)
- * Allows unused handle space to be reclaimed, by calling
- * PVRSRVPurgeHandles. Note that allocating handles may have a
- * higher overhead if purging is enabled.
- *
- * PVRSRV_ERROR PVRSRVPurgeHandles((PVRSRV_HANDLE_BASE *psBase)
- * Purge handles for a handle base that has purging enabled.
- */
-
-#if defined (__cplusplus)
-extern "C" {
-#endif
-
-#include "img_types.h"
-#include "hash.h"
-#include "resman.h"
-
-typedef enum
-{
- PVRSRV_HANDLE_TYPE_NONE = 0,
- PVRSRV_HANDLE_TYPE_PERPROC_DATA,
- PVRSRV_HANDLE_TYPE_DEV_NODE,
- PVRSRV_HANDLE_TYPE_DEV_MEM_CONTEXT,
- PVRSRV_HANDLE_TYPE_DEV_MEM_HEAP,
- PVRSRV_HANDLE_TYPE_MEM_INFO,
- PVRSRV_HANDLE_TYPE_SYNC_INFO,
- PVRSRV_HANDLE_TYPE_DISP_INFO,
- PVRSRV_HANDLE_TYPE_DISP_SWAP_CHAIN,
- PVRSRV_HANDLE_TYPE_BUF_INFO,
- PVRSRV_HANDLE_TYPE_DISP_BUFFER,
- PVRSRV_HANDLE_TYPE_BUF_BUFFER,
- PVRSRV_HANDLE_TYPE_SGX_HW_RENDER_CONTEXT,
- PVRSRV_HANDLE_TYPE_SGX_HW_TRANSFER_CONTEXT,
- PVRSRV_HANDLE_TYPE_SGX_HW_2D_CONTEXT,
- PVRSRV_HANDLE_TYPE_SHARED_PB_DESC,
- PVRSRV_HANDLE_TYPE_MEM_INFO_REF,
- PVRSRV_HANDLE_TYPE_SHARED_SYS_MEM_INFO,
- PVRSRV_HANDLE_TYPE_SHARED_EVENT_OBJECT,
- PVRSRV_HANDLE_TYPE_EVENT_OBJECT_CONNECT,
- PVRSRV_HANDLE_TYPE_MMAP_INFO,
- PVRSRV_HANDLE_TYPE_SOC_TIMER,
- PVRSRV_HANDLE_TYPE_SYNC_INFO_MOD_OBJ,
- PVRSRV_HANDLE_TYPE_RESITEM_INFO
-} PVRSRV_HANDLE_TYPE;
-
-typedef enum
-{
- /* No flags */
- PVRSRV_HANDLE_ALLOC_FLAG_NONE = 0,
- /* Share a handle that already exists for a given data pointer */
- PVRSRV_HANDLE_ALLOC_FLAG_SHARED = 0x01,
- /* Muliple handles can point at the given data pointer */
- PVRSRV_HANDLE_ALLOC_FLAG_MULTI = 0x02,
- /* Subhandles are allocated in a private handle space */
- PVRSRV_HANDLE_ALLOC_FLAG_PRIVATE = 0x04
-} PVRSRV_HANDLE_ALLOC_FLAG;
-
-struct _PVRSRV_HANDLE_BASE_;
-typedef struct _PVRSRV_HANDLE_BASE_ PVRSRV_HANDLE_BASE;
-
-#if defined (PVR_SECURE_HANDLES) || defined (SUPPORT_SID_INTERFACE)
-extern PVRSRV_HANDLE_BASE *gpsKernelHandleBase;
-
-#define KERNEL_HANDLE_BASE (gpsKernelHandleBase)
-
-#if defined (SUPPORT_SID_INTERFACE)
-PVRSRV_ERROR PVRSRVAllocHandle(PVRSRV_HANDLE_BASE *psBase, IMG_SID *phHandle, IMG_VOID *pvData, PVRSRV_HANDLE_TYPE eType, PVRSRV_HANDLE_ALLOC_FLAG eFlag);
-
-PVRSRV_ERROR PVRSRVAllocSubHandle(PVRSRV_HANDLE_BASE *psBase, IMG_SID *phHandle, IMG_VOID *pvData, PVRSRV_HANDLE_TYPE eType, PVRSRV_HANDLE_ALLOC_FLAG eFlag, IMG_SID hParent);
-
-PVRSRV_ERROR PVRSRVFindHandle(PVRSRV_HANDLE_BASE *psBase, IMG_SID *phHandle, IMG_VOID *pvData, PVRSRV_HANDLE_TYPE eType);
-
-PVRSRV_ERROR PVRSRVLookupHandleAnyType(PVRSRV_HANDLE_BASE *psBase, IMG_PVOID *ppvData, PVRSRV_HANDLE_TYPE *peType, IMG_SID hHandle);
-
-PVRSRV_ERROR PVRSRVLookupHandle(PVRSRV_HANDLE_BASE *psBase, IMG_PVOID *ppvData, IMG_SID hHandle, PVRSRV_HANDLE_TYPE eType);
-
-PVRSRV_ERROR PVRSRVLookupSubHandle(PVRSRV_HANDLE_BASE *psBase, IMG_PVOID *ppvData, IMG_SID hHandle, PVRSRV_HANDLE_TYPE eType, IMG_SID hAncestor);
-
-PVRSRV_ERROR PVRSRVGetParentHandle(PVRSRV_HANDLE_BASE *psBase, IMG_SID *phParent, IMG_SID hHandle, PVRSRV_HANDLE_TYPE eType);
-
-PVRSRV_ERROR PVRSRVLookupAndReleaseHandle(PVRSRV_HANDLE_BASE *psBase, IMG_PVOID *ppvData, IMG_SID hHandle, PVRSRV_HANDLE_TYPE eType);
-
-PVRSRV_ERROR PVRSRVReleaseHandle(PVRSRV_HANDLE_BASE *psBase, IMG_SID hHandle, PVRSRV_HANDLE_TYPE eType);
-#else
-PVRSRV_ERROR PVRSRVAllocHandle(PVRSRV_HANDLE_BASE *psBase, IMG_HANDLE *phHandle, IMG_VOID *pvData, PVRSRV_HANDLE_TYPE eType, PVRSRV_HANDLE_ALLOC_FLAG eFlag);
-
-PVRSRV_ERROR PVRSRVAllocSubHandle(PVRSRV_HANDLE_BASE *psBase, IMG_HANDLE *phHandle, IMG_VOID *pvData, PVRSRV_HANDLE_TYPE eType, PVRSRV_HANDLE_ALLOC_FLAG eFlag, IMG_HANDLE hParent);
-
-PVRSRV_ERROR PVRSRVFindHandle(PVRSRV_HANDLE_BASE *psBase, IMG_HANDLE *phHandle, IMG_VOID *pvData, PVRSRV_HANDLE_TYPE eType);
-
-PVRSRV_ERROR PVRSRVLookupHandleAnyType(PVRSRV_HANDLE_BASE *psBase, IMG_PVOID *ppvData, PVRSRV_HANDLE_TYPE *peType, IMG_HANDLE hHandle);
-
-PVRSRV_ERROR PVRSRVLookupHandle(PVRSRV_HANDLE_BASE *psBase, IMG_PVOID *ppvData, IMG_HANDLE hHandle, PVRSRV_HANDLE_TYPE eType);
-
-PVRSRV_ERROR PVRSRVLookupSubHandle(PVRSRV_HANDLE_BASE *psBase, IMG_PVOID *ppvData, IMG_HANDLE hHandle, PVRSRV_HANDLE_TYPE eType, IMG_HANDLE hAncestor);
-
-PVRSRV_ERROR PVRSRVGetParentHandle(PVRSRV_HANDLE_BASE *psBase, IMG_PVOID *phParent, IMG_HANDLE hHandle, PVRSRV_HANDLE_TYPE eType);
-
-PVRSRV_ERROR PVRSRVLookupAndReleaseHandle(PVRSRV_HANDLE_BASE *psBase, IMG_PVOID *ppvData, IMG_HANDLE hHandle, PVRSRV_HANDLE_TYPE eType);
-
-PVRSRV_ERROR PVRSRVReleaseHandle(PVRSRV_HANDLE_BASE *psBase, IMG_HANDLE hHandle, PVRSRV_HANDLE_TYPE eType);
-#endif /* #if defined (SUPPORT_SID_INTERFACE) */
-
-PVRSRV_ERROR PVRSRVNewHandleBatch(PVRSRV_HANDLE_BASE *psBase, IMG_UINT32 ui32BatchSize);
-
-PVRSRV_ERROR PVRSRVCommitHandleBatch(PVRSRV_HANDLE_BASE *psBase);
-
-IMG_VOID PVRSRVReleaseHandleBatch(PVRSRV_HANDLE_BASE *psBase);
-
-PVRSRV_ERROR PVRSRVSetMaxHandle(PVRSRV_HANDLE_BASE *psBase, IMG_UINT32 ui32MaxHandle);
-
-IMG_UINT32 PVRSRVGetMaxHandle(PVRSRV_HANDLE_BASE *psBase);
-
-PVRSRV_ERROR PVRSRVEnableHandlePurging(PVRSRV_HANDLE_BASE *psBase);
-
-PVRSRV_ERROR PVRSRVPurgeHandles(PVRSRV_HANDLE_BASE *psBase);
-
-PVRSRV_ERROR PVRSRVAllocHandleBase(PVRSRV_HANDLE_BASE **ppsBase);
-
-PVRSRV_ERROR PVRSRVFreeHandleBase(PVRSRV_HANDLE_BASE *psBase);
-
-PVRSRV_ERROR PVRSRVHandleInit(IMG_VOID);
-
-PVRSRV_ERROR PVRSRVHandleDeInit(IMG_VOID);
-
-#else /* #if defined (PVR_SECURE_HANDLES) || defined (SUPPORT_SID_INTERFACE)*/
-
-#define KERNEL_HANDLE_BASE IMG_NULL
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVAllocHandle)
-#endif
-static INLINE
-PVRSRV_ERROR PVRSRVAllocHandle(PVRSRV_HANDLE_BASE *psBase, IMG_HANDLE *phHandle, IMG_VOID *pvData, PVRSRV_HANDLE_TYPE eType, PVRSRV_HANDLE_ALLOC_FLAG eFlag)
-{
- PVR_UNREFERENCED_PARAMETER(eType);
- PVR_UNREFERENCED_PARAMETER(eFlag);
- PVR_UNREFERENCED_PARAMETER(psBase);
-
- *phHandle = pvData;
- return PVRSRV_OK;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVAllocSubHandle)
-#endif
-static INLINE
-PVRSRV_ERROR PVRSRVAllocSubHandle(PVRSRV_HANDLE_BASE *psBase, IMG_HANDLE *phHandle, IMG_VOID *pvData, PVRSRV_HANDLE_TYPE eType, PVRSRV_HANDLE_ALLOC_FLAG eFlag, IMG_HANDLE hParent)
-{
- PVR_UNREFERENCED_PARAMETER(eType);
- PVR_UNREFERENCED_PARAMETER(eFlag);
- PVR_UNREFERENCED_PARAMETER(hParent);
- PVR_UNREFERENCED_PARAMETER(psBase);
-
- *phHandle = pvData;
- return PVRSRV_OK;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVFindHandle)
-#endif
-static INLINE
-PVRSRV_ERROR PVRSRVFindHandle(PVRSRV_HANDLE_BASE *psBase, IMG_HANDLE *phHandle, IMG_VOID *pvData, PVRSRV_HANDLE_TYPE eType)
-{
- PVR_UNREFERENCED_PARAMETER(eType);
- PVR_UNREFERENCED_PARAMETER(psBase);
-
- *phHandle = pvData;
- return PVRSRV_OK;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVLookupHandleAnyType)
-#endif
-static INLINE
-PVRSRV_ERROR PVRSRVLookupHandleAnyType(PVRSRV_HANDLE_BASE *psBase, IMG_PVOID *ppvData, PVRSRV_HANDLE_TYPE *peType, IMG_HANDLE hHandle)
-{
- PVR_UNREFERENCED_PARAMETER(psBase);
- /*
- * Unlike the other functions here, the returned results will need
- * to be handled differently for the secure and non-secure cases.
- */
- *peType = PVRSRV_HANDLE_TYPE_NONE;
-
- *ppvData = hHandle;
- return PVRSRV_OK;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVLookupHandle)
-#endif
-static INLINE
-PVRSRV_ERROR PVRSRVLookupHandle(PVRSRV_HANDLE_BASE *psBase, IMG_PVOID *ppvData, IMG_HANDLE hHandle, PVRSRV_HANDLE_TYPE eType)
-{
- PVR_UNREFERENCED_PARAMETER(psBase);
- PVR_UNREFERENCED_PARAMETER(eType);
-
- *ppvData = hHandle;
- return PVRSRV_OK;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVLookupSubHandle)
-#endif
-static INLINE
-PVRSRV_ERROR PVRSRVLookupSubHandle(PVRSRV_HANDLE_BASE *psBase, IMG_PVOID *ppvData, IMG_HANDLE hHandle, PVRSRV_HANDLE_TYPE eType, IMG_HANDLE hAncestor)
-{
- PVR_UNREFERENCED_PARAMETER(psBase);
- PVR_UNREFERENCED_PARAMETER(eType);
- PVR_UNREFERENCED_PARAMETER(hAncestor);
-
- *ppvData = hHandle;
- return PVRSRV_OK;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVGetParentHandle)
-#endif
-static INLINE
-PVRSRV_ERROR PVRSRVGetParentHandle(PVRSRV_HANDLE_BASE *psBase, IMG_PVOID *phParent, IMG_HANDLE hHandle, PVRSRV_HANDLE_TYPE eType)
-{
- PVR_UNREFERENCED_PARAMETER(psBase);
- PVR_UNREFERENCED_PARAMETER(eType);
- PVR_UNREFERENCED_PARAMETER(hHandle);
-
- *phParent = IMG_NULL;
-
- return PVRSRV_OK;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVLookupAndReleaseHandle)
-#endif
-static INLINE
-PVRSRV_ERROR PVRSRVLookupAndReleaseHandle(PVRSRV_HANDLE_BASE *psBase, IMG_PVOID *ppvData, IMG_HANDLE hHandle, PVRSRV_HANDLE_TYPE eType)
-{
- PVR_UNREFERENCED_PARAMETER(eType);
- PVR_UNREFERENCED_PARAMETER(psBase);
-
- *ppvData = hHandle;
- return PVRSRV_OK;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVReleaseHandle)
-#endif
-static INLINE
-PVRSRV_ERROR PVRSRVReleaseHandle(PVRSRV_HANDLE_BASE *psBase, IMG_HANDLE hHandle, PVRSRV_HANDLE_TYPE eType)
-{
- PVR_UNREFERENCED_PARAMETER(hHandle);
- PVR_UNREFERENCED_PARAMETER(eType);
- PVR_UNREFERENCED_PARAMETER(psBase);
-
- return PVRSRV_OK;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVNewHandleBatch)
-#endif
-static INLINE
-PVRSRV_ERROR PVRSRVNewHandleBatch(PVRSRV_HANDLE_BASE *psBase, IMG_UINT32 ui32BatchSize)
-{
- PVR_UNREFERENCED_PARAMETER(psBase);
- PVR_UNREFERENCED_PARAMETER(ui32BatchSize);
-
- return PVRSRV_OK;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVCommitHandleBatch)
-#endif
-static INLINE
-PVRSRV_ERROR PVRSRVCommitHandleBatch(PVRSRV_HANDLE_BASE *psBase)
-{
- PVR_UNREFERENCED_PARAMETER(psBase);
-
- return PVRSRV_OK;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVReleaseHandleBatch)
-#endif
-static INLINE
-IMG_VOID PVRSRVReleaseHandleBatch(PVRSRV_HANDLE_BASE *psBase)
-{
- PVR_UNREFERENCED_PARAMETER(psBase);
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVSetMaxHandle)
-#endif
-static INLINE
-PVRSRV_ERROR PVRSRVSetMaxHandle(PVRSRV_HANDLE_BASE *psBase, IMG_UINT32 ui32MaxHandle)
-{
- PVR_UNREFERENCED_PARAMETER(psBase);
- PVR_UNREFERENCED_PARAMETER(ui32MaxHandle);
-
- return PVRSRV_ERROR_NOT_SUPPORTED;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVGetMaxHandle)
-#endif
-static INLINE
-IMG_UINT32 PVRSRVGetMaxHandle(PVRSRV_HANDLE_BASE *psBase)
-{
- PVR_UNREFERENCED_PARAMETER(psBase);
-
- return 0;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVEnableHandlePurging)
-#endif
-static INLINE
-PVRSRV_ERROR PVRSRVEnableHandlePurging(PVRSRV_HANDLE_BASE *psBase)
-{
- PVR_UNREFERENCED_PARAMETER(psBase);
-
- return PVRSRV_OK;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVPurgeHandles)
-#endif
-static INLINE
-PVRSRV_ERROR PVRSRVPurgeHandles(PVRSRV_HANDLE_BASE *psBase)
-{
- PVR_UNREFERENCED_PARAMETER(psBase);
-
- return PVRSRV_OK;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVAllocHandleBase)
-#endif
-static INLINE
-PVRSRV_ERROR PVRSRVAllocHandleBase(PVRSRV_HANDLE_BASE **ppsBase)
-{
- *ppsBase = IMG_NULL;
-
- return PVRSRV_OK;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVFreeHandleBase)
-#endif
-static INLINE
-PVRSRV_ERROR PVRSRVFreeHandleBase(PVRSRV_HANDLE_BASE *psBase)
-{
- PVR_UNREFERENCED_PARAMETER(psBase);
-
- return PVRSRV_OK;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVHandleInit)
-#endif
-static INLINE
-PVRSRV_ERROR PVRSRVHandleInit(IMG_VOID)
-{
- return PVRSRV_OK;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVHandleDeInit)
-#endif
-static INLINE
-PVRSRV_ERROR PVRSRVHandleDeInit(IMG_VOID)
-{
- return PVRSRV_OK;
-}
-
-#endif /* #if defined (PVR_SECURE_HANDLES) || defined (SUPPORT_SID_INTERFACE)*/
-
-/*
- * Versions of PVRSRVAllocHandle and PVRSRVAllocSubHandle with no return
- * values. Intended for use with batched handle allocation, relying on
- * CommitHandleBatch to detect handle allocation errors.
- */
-#define PVRSRVAllocHandleNR(psBase, phHandle, pvData, eType, eFlag) \
- (IMG_VOID)PVRSRVAllocHandle(psBase, phHandle, pvData, eType, eFlag)
-
-#define PVRSRVAllocSubHandleNR(psBase, phHandle, pvData, eType, eFlag, hParent) \
- (IMG_VOID)PVRSRVAllocSubHandle(psBase, phHandle, pvData, eType, eFlag, hParent)
-
-#if defined (__cplusplus)
-}
-#endif
-
-#endif /* __HANDLE_H__ */
-
-/******************************************************************************
- End of file (handle.h)
-******************************************************************************/
diff --git a/pvr-source/services4/srvkm/include/hash.h b/pvr-source/services4/srvkm/include/hash.h
deleted file mode 100755
index 1ed6fd0..0000000
--- a/pvr-source/services4/srvkm/include/hash.h
+++ /dev/null
@@ -1,277 +0,0 @@
-/*************************************************************************/ /*!
-@Title Self scaling hash tables
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@Description Implements simple self scaling hash tables.
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-
-#ifndef _HASH_H_
-#define _HASH_H_
-
-#include "img_types.h"
-#include "osfunc.h"
-
-#if defined (__cplusplus)
-extern "C" {
-#endif
-
-/*
- * Keys passed to the comparsion function are only guaranteed to
- * be aligned on an IMG_UINTPTR_T boundary.
- */
-typedef IMG_UINT32 HASH_FUNC(IMG_SIZE_T uKeySize, IMG_VOID *pKey, IMG_UINT32 uHashTabLen);
-typedef IMG_BOOL HASH_KEY_COMP(IMG_SIZE_T uKeySize, IMG_VOID *pKey1, IMG_VOID *pKey2);
-
-typedef struct _HASH_TABLE_ HASH_TABLE;
-
-typedef PVRSRV_ERROR (*HASH_pfnCallback) (
- IMG_UINTPTR_T k,
- IMG_UINTPTR_T v
-);
-
-/*!
-******************************************************************************
- @Function HASH_Func_Default
-
- @Description Hash function intended for hashing keys composed of
- IMG_UINTPTR_T arrays.
-
- @Input uKeySize - the size of the hash key, in bytes.
- @Input pKey - a pointer to the key to hash.
- @Input uHashTabLen - the length of the hash table.
-
- @Return The hash value.
-******************************************************************************/
-IMG_UINT32 HASH_Func_Default (IMG_SIZE_T uKeySize, IMG_VOID *pKey, IMG_UINT32 uHashTabLen);
-
-/*!
-******************************************************************************
- @Function HASH_Key_Comp_Default
-
- @Description Compares keys composed of IMG_UINTPTR_T arrays.
-
- @Input uKeySize - the size of the hash key, in bytes.
- @Input pKey1 - pointer to first hash key to compare.
- @Input pKey2 - pointer to second hash key to compare.
-
- @Return IMG_TRUE - the keys match.
- IMG_FALSE - the keys don't match.
-******************************************************************************/
-IMG_BOOL HASH_Key_Comp_Default (IMG_SIZE_T uKeySize, IMG_VOID *pKey1, IMG_VOID *pKey2);
-
-/*!
-******************************************************************************
- @Function HASH_Create_Extended
-
- @Description Create a self scaling hash table, using the supplied
- key size, and the supllied hash and key comparsion
- functions.
-
- @Input uInitialLen - initial and minimum length of the
- hash table, where the length refers to the number
- of entries in the hash table, not its size in
- bytes.
- @Input uKeySize - the size of the key, in bytes.
- @Input pfnHashFunc - pointer to hash function.
- @Input pfnKeyComp - pointer to key comparsion function.
-
- @Return IMG_NULL or hash table handle.
-******************************************************************************/
-HASH_TABLE * HASH_Create_Extended (IMG_UINT32 uInitialLen, IMG_SIZE_T uKeySize, HASH_FUNC *pfnHashFunc, HASH_KEY_COMP *pfnKeyComp);
-
-/*!
-******************************************************************************
- @Function HASH_Create
-
- @Description Create a self scaling hash table with a key
- consisting of a single IMG_UINTPTR_T, and using
- the default hash and key comparison functions.
-
- @Input uInitialLen - initial and minimum length of the
- hash table, where the length refers to the
- number of entries in the hash table, not its size
- in bytes.
-
- @Return IMG_NULL or hash table handle.
-******************************************************************************/
-HASH_TABLE * HASH_Create (IMG_UINT32 uInitialLen);
-
-/*!
-******************************************************************************
- @Function HASH_Delete
-
- @Description Delete a hash table created by HASH_Create_Extended or
- HASH_Create. All entries in the table must have been
- removed before calling this function.
-
- @Input pHash - hash table
-
- @Return None
-******************************************************************************/
-IMG_VOID HASH_Delete (HASH_TABLE *pHash);
-
-/*!
-******************************************************************************
- @Function HASH_Insert_Extended
-
- @Description Insert a key value pair into a hash table created
- with HASH_Create_Extended.
-
- @Input pHash - the hash table.
- @Input pKey - pointer to the key.
- @Input v - the value associated with the key.
-
- @Return IMG_TRUE - success.
- IMG_FALSE - failure.
-******************************************************************************/
-IMG_BOOL HASH_Insert_Extended (HASH_TABLE *pHash, IMG_VOID *pKey, IMG_UINTPTR_T v);
-
-/*!
-******************************************************************************
- @Function HASH_Insert
-
- @Description Insert a key value pair into a hash table created with
- HASH_Create.
-
- @Input pHash - the hash table.
- @Input k - the key value.
- @Input v - the value associated with the key.
-
- @Return IMG_TRUE - success.
- IMG_FALSE - failure.
-******************************************************************************/
-IMG_BOOL HASH_Insert (HASH_TABLE *pHash, IMG_UINTPTR_T k, IMG_UINTPTR_T v);
-
-/*!
-******************************************************************************
- @Function HASH_Remove_Extended
-
- @Description Remove a key from a hash table created with
- HASH_Create_Extended.
-
- @Input pHash - the hash table.
- @Input pKey - pointer to key.
-
- @Return 0 if the key is missing, or the value associated
- with the key.
-******************************************************************************/
-IMG_UINTPTR_T HASH_Remove_Extended(HASH_TABLE *pHash, IMG_VOID *pKey);
-
-/*!
-******************************************************************************
- @Function HASH_Remove
-
- @Description Remove a key value pair from a hash table created
- with HASH_Create.
-
- @Input pHash - the hash table
- @Input k - the key
-
- @Return 0 if the key is missing, or the value associated
- with the key.
-******************************************************************************/
-IMG_UINTPTR_T HASH_Remove (HASH_TABLE *pHash, IMG_UINTPTR_T k);
-
-/*!
-******************************************************************************
- @Function HASH_Retrieve_Extended
-
- @Description Retrieve a value from a hash table created with
- HASH_Create_Extended.
-
- @Input pHash - the hash table.
- @Input pKey - pointer to the key.
-
- @Return 0 if the key is missing, or the value associated with
- the key.
-******************************************************************************/
-IMG_UINTPTR_T HASH_Retrieve_Extended (HASH_TABLE *pHash, IMG_VOID *pKey);
-
-/*!
-******************************************************************************
- @Function HASH_Retrieve
-
- @Description Retrieve a value from a hash table created with
- HASH_Create.
-
- @Input pHash - the hash table
- @Input k - the key
-
- @Return 0 if the key is missing, or the value associated with
- the key.
-******************************************************************************/
-IMG_UINTPTR_T HASH_Retrieve (HASH_TABLE *pHash, IMG_UINTPTR_T k);
-
-/*!
-******************************************************************************
- @Function HASH_Interate
-
- @Description Iterate over every entry in the hash table
-
- @Input pHash - the old hash table
- @Input HASH_pfnCallback - the size of the old hash table
-
- @Return Callback error if any, otherwise PVRSRV_OK
-******************************************************************************/
-PVRSRV_ERROR HASH_Iterate(HASH_TABLE *pHash, HASH_pfnCallback pfnCallback);
-
-#ifdef HASH_TRACE
-/*!
-******************************************************************************
- @Function HASH_Dump
-
- @Description Dump out some information about a hash table.
-
- @Input pHash - the hash table
-
- @Return None
-******************************************************************************/
-IMG_VOID HASH_Dump (HASH_TABLE *pHash);
-#endif
-
-#if defined (__cplusplus)
-}
-#endif
-
-#endif /* _HASH_H_ */
-
-/******************************************************************************
- End of file (hash.h)
-******************************************************************************/
-
-
diff --git a/pvr-source/services4/srvkm/include/lists.h b/pvr-source/services4/srvkm/include/lists.h
deleted file mode 100755
index 81205de..0000000
--- a/pvr-source/services4/srvkm/include/lists.h
+++ /dev/null
@@ -1,349 +0,0 @@
-/*************************************************************************/ /*!
-@Title Linked list shared functions templates.
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@Description Definition of the linked list function templates.
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-
-#ifndef __LISTS_UTILS__
-#define __LISTS_UTILS__
-
-/* instruct QAC to ignore warnings about the following custom formatted macros */
-/* PRQA S 0881,3410 ++ */
-#include <stdarg.h>
-#include "img_types.h"
-
-/*
- - USAGE -
-
- The list functions work with any structure that provides the fields psNext and
- ppsThis. In order to make a function available for a given type, it is required
- to use the funcion template macro that creates the actual code.
-
- There are 4 main types of functions:
- - INSERT : given a pointer to the head pointer of the list and a pointer to
- the node, inserts it as the new head.
- - REMOVE : given a pointer to a node, removes it from its list.
- - FOR EACH : apply a function over all the elements of a list.
- - ANY : apply a function over the elements of a list, until one of them
- return a non null value, and then returns it.
-
- The two last functions can have a variable argument form, with allows to pass
- additional parameters to the callback function. In order to do this, the
- callback function must take two arguments, the first is the current node and
- the second is a list of variable arguments (va_list).
-
- The ANY functions have also another for wich specifies the return type of the
- callback function and the default value returned by the callback function.
-
-*/
-
-/*!
-******************************************************************************
- @Function List_##TYPE##_ForEach
-
- @Description Apply a callback function to all the elements of a list.
-
- @Input psHead - the head of the list to be processed.
- @Input pfnCallBack - the function to be applied to each element
- of the list.
-
- @Return None
-******************************************************************************/
-#define DECLARE_LIST_FOR_EACH(TYPE) \
-IMG_VOID List_##TYPE##_ForEach(TYPE *psHead, IMG_VOID(*pfnCallBack)(TYPE* psNode))
-
-#define IMPLEMENT_LIST_FOR_EACH(TYPE) \
-IMG_VOID List_##TYPE##_ForEach(TYPE *psHead, IMG_VOID(*pfnCallBack)(TYPE* psNode))\
-{\
- while(psHead)\
- {\
- pfnCallBack(psHead);\
- psHead = psHead->psNext;\
- }\
-}
-
-
-#define DECLARE_LIST_FOR_EACH_VA(TYPE) \
-IMG_VOID List_##TYPE##_ForEach_va(TYPE *psHead, IMG_VOID(*pfnCallBack)(TYPE* psNode, va_list va), ...)
-
-#define IMPLEMENT_LIST_FOR_EACH_VA(TYPE) \
-IMG_VOID List_##TYPE##_ForEach_va(TYPE *psHead, IMG_VOID(*pfnCallBack)(TYPE* psNode, va_list va), ...) \
-{\
- va_list ap;\
- while(psHead)\
- {\
- va_start(ap, pfnCallBack);\
- pfnCallBack(psHead, ap);\
- psHead = psHead->psNext;\
- va_end(ap);\
- }\
-}
-
-
-/*!
-******************************************************************************
- @Function List_##TYPE##_Any
-
- @Description Applies a callback function to the elements of a list until
- the function returns a non null value, then returns it.
-
- @Input psHead - the head of the list to be processed.
- @Input pfnCallBack - the function to be applied to each element
- of the list.
-
- @Return None
-******************************************************************************/
-#define DECLARE_LIST_ANY(TYPE) \
-IMG_VOID* List_##TYPE##_Any(TYPE *psHead, IMG_VOID* (*pfnCallBack)(TYPE* psNode))
-
-#define IMPLEMENT_LIST_ANY(TYPE) \
-IMG_VOID* List_##TYPE##_Any(TYPE *psHead, IMG_VOID* (*pfnCallBack)(TYPE* psNode))\
-{ \
- IMG_VOID *pResult;\
- TYPE *psNextNode;\
- pResult = IMG_NULL;\
- psNextNode = psHead;\
- while(psHead && !pResult)\
- {\
- psNextNode = psNextNode->psNext;\
- pResult = pfnCallBack(psHead);\
- psHead = psNextNode;\
- }\
- return pResult;\
-}
-
-
-/*with variable arguments, that will be passed as a va_list to the callback function*/
-
-#define DECLARE_LIST_ANY_VA(TYPE) \
-IMG_VOID* List_##TYPE##_Any_va(TYPE *psHead, IMG_VOID*(*pfnCallBack)(TYPE* psNode, va_list va), ...)
-
-#define IMPLEMENT_LIST_ANY_VA(TYPE) \
-IMG_VOID* List_##TYPE##_Any_va(TYPE *psHead, IMG_VOID*(*pfnCallBack)(TYPE* psNode, va_list va), ...)\
-{\
- va_list ap;\
- TYPE *psNextNode;\
- IMG_VOID* pResult = IMG_NULL;\
- while(psHead && !pResult)\
- {\
- psNextNode = psHead->psNext;\
- va_start(ap, pfnCallBack);\
- pResult = pfnCallBack(psHead, ap);\
- va_end(ap);\
- psHead = psNextNode;\
- }\
- return pResult;\
-}
-
-/*those ones are for extra type safety, so there's no need to use castings for the results*/
-
-#define DECLARE_LIST_ANY_2(TYPE, RTYPE, CONTINUE) \
-RTYPE List_##TYPE##_##RTYPE##_Any(TYPE *psHead, RTYPE (*pfnCallBack)(TYPE* psNode))
-
-#define IMPLEMENT_LIST_ANY_2(TYPE, RTYPE, CONTINUE) \
-RTYPE List_##TYPE##_##RTYPE##_Any(TYPE *psHead, RTYPE (*pfnCallBack)(TYPE* psNode))\
-{ \
- RTYPE result;\
- TYPE *psNextNode;\
- result = CONTINUE;\
- psNextNode = psHead;\
- while(psHead && result == CONTINUE)\
- {\
- psNextNode = psNextNode->psNext;\
- result = pfnCallBack(psHead);\
- psHead = psNextNode;\
- }\
- return result;\
-}
-
-
-#define DECLARE_LIST_ANY_VA_2(TYPE, RTYPE, CONTINUE) \
-RTYPE List_##TYPE##_##RTYPE##_Any_va(TYPE *psHead, RTYPE(*pfnCallBack)(TYPE* psNode, va_list va), ...)
-
-#define IMPLEMENT_LIST_ANY_VA_2(TYPE, RTYPE, CONTINUE) \
-RTYPE List_##TYPE##_##RTYPE##_Any_va(TYPE *psHead, RTYPE(*pfnCallBack)(TYPE* psNode, va_list va), ...)\
-{\
- va_list ap;\
- TYPE *psNextNode;\
- RTYPE result = CONTINUE;\
- while(psHead && result == CONTINUE)\
- {\
- psNextNode = psHead->psNext;\
- va_start(ap, pfnCallBack);\
- result = pfnCallBack(psHead, ap);\
- va_end(ap);\
- psHead = psNextNode;\
- }\
- return result;\
-}
-
-
-/*!
-******************************************************************************
- @Function List_##TYPE##_Remove
-
- @Description Removes a given node from the list.
-
- @Input psNode - the pointer to the node to be removed.
-
- @Return None
-******************************************************************************/
-#define DECLARE_LIST_REMOVE(TYPE) \
-IMG_VOID List_##TYPE##_Remove(TYPE *psNode)
-
-#define IMPLEMENT_LIST_REMOVE(TYPE) \
-IMG_VOID List_##TYPE##_Remove(TYPE *psNode)\
-{\
- (*psNode->ppsThis)=psNode->psNext;\
- if(psNode->psNext)\
- {\
- psNode->psNext->ppsThis = psNode->ppsThis;\
- }\
-}
-
-/*!
-******************************************************************************
- @Function List_##TYPE##_Insert
-
- @Description Inserts a given node at the beginnning of the list.
-
- @Input psHead - The pointer to the pointer to the head node.
- @Input psNode - The pointer to the node to be inserted.
-
- @Return None
-******************************************************************************/
-#define DECLARE_LIST_INSERT(TYPE) \
-IMG_VOID List_##TYPE##_Insert(TYPE **ppsHead, TYPE *psNewNode)
-
-#define IMPLEMENT_LIST_INSERT(TYPE) \
-IMG_VOID List_##TYPE##_Insert(TYPE **ppsHead, TYPE *psNewNode)\
-{\
- psNewNode->ppsThis = ppsHead;\
- psNewNode->psNext = *ppsHead;\
- *ppsHead = psNewNode;\
- if(psNewNode->psNext)\
- {\
- psNewNode->psNext->ppsThis = &(psNewNode->psNext);\
- }\
-}
-
-/*!
-******************************************************************************
- @Function List_##TYPE##_Reverse
-
- @Description Reverse a list in place
-
- @Input ppsHead - The pointer to the pointer to the head node.
-
- @Return None
-******************************************************************************/
-#define DECLARE_LIST_REVERSE(TYPE) \
-IMG_VOID List_##TYPE##_Reverse(TYPE **ppsHead)
-
-#define IMPLEMENT_LIST_REVERSE(TYPE) \
-IMG_VOID List_##TYPE##_Reverse(TYPE **ppsHead)\
-{\
- TYPE *psTmpNode1; \
- TYPE *psTmpNode2; \
- TYPE *psCurNode; \
- psTmpNode1 = IMG_NULL; \
- psCurNode = *ppsHead; \
- while(psCurNode) { \
- psTmpNode2 = psCurNode->psNext; \
- psCurNode->psNext = psTmpNode1; \
- psTmpNode1 = psCurNode; \
- psCurNode = psTmpNode2; \
- if(psCurNode) \
- { \
- psTmpNode1->ppsThis = &(psCurNode->psNext); \
- } \
- else \
- { \
- psTmpNode1->ppsThis = ppsHead; \
- } \
- } \
- *ppsHead = psTmpNode1; \
-}
-
-#define IS_LAST_ELEMENT(x) ((x)->psNext == IMG_NULL)
-
-#include "services_headers.h"
-
-DECLARE_LIST_ANY_VA(BM_HEAP);
-DECLARE_LIST_ANY_2(BM_HEAP, PVRSRV_ERROR, PVRSRV_OK);
-DECLARE_LIST_ANY_VA_2(BM_HEAP, PVRSRV_ERROR, PVRSRV_OK);
-DECLARE_LIST_FOR_EACH_VA(BM_HEAP);
-DECLARE_LIST_REMOVE(BM_HEAP);
-DECLARE_LIST_INSERT(BM_HEAP);
-
-DECLARE_LIST_ANY_VA(BM_CONTEXT);
-DECLARE_LIST_ANY_VA_2(BM_CONTEXT, IMG_HANDLE, IMG_NULL);
-DECLARE_LIST_ANY_VA_2(BM_CONTEXT, PVRSRV_ERROR, PVRSRV_OK);
-DECLARE_LIST_FOR_EACH(BM_CONTEXT);
-DECLARE_LIST_REMOVE(BM_CONTEXT);
-DECLARE_LIST_INSERT(BM_CONTEXT);
-
-DECLARE_LIST_ANY_2(PVRSRV_DEVICE_NODE, PVRSRV_ERROR, PVRSRV_OK);
-DECLARE_LIST_ANY_VA(PVRSRV_DEVICE_NODE);
-DECLARE_LIST_ANY_VA_2(PVRSRV_DEVICE_NODE, PVRSRV_ERROR, PVRSRV_OK);
-DECLARE_LIST_FOR_EACH(PVRSRV_DEVICE_NODE);
-DECLARE_LIST_FOR_EACH_VA(PVRSRV_DEVICE_NODE);
-DECLARE_LIST_INSERT(PVRSRV_DEVICE_NODE);
-DECLARE_LIST_REMOVE(PVRSRV_DEVICE_NODE);
-
-DECLARE_LIST_ANY_VA(PVRSRV_POWER_DEV);
-DECLARE_LIST_ANY_VA_2(PVRSRV_POWER_DEV, PVRSRV_ERROR, PVRSRV_OK);
-DECLARE_LIST_INSERT(PVRSRV_POWER_DEV);
-DECLARE_LIST_REMOVE(PVRSRV_POWER_DEV);
-
-#undef DECLARE_LIST_ANY_2
-#undef DECLARE_LIST_ANY_VA
-#undef DECLARE_LIST_ANY_VA_2
-#undef DECLARE_LIST_FOR_EACH
-#undef DECLARE_LIST_FOR_EACH_VA
-#undef DECLARE_LIST_INSERT
-#undef DECLARE_LIST_REMOVE
-
-IMG_VOID* MatchDeviceKM_AnyVaCb(PVRSRV_DEVICE_NODE* psDeviceNode, va_list va);
-IMG_VOID* MatchPowerDeviceIndex_AnyVaCb(PVRSRV_POWER_DEV *psPowerDev, va_list va);
-
-#endif
-
-/* re-enable warnings */
-/* PRQA S 0881,3410 -- */
diff --git a/pvr-source/services4/srvkm/include/metrics.h b/pvr-source/services4/srvkm/include/metrics.h
deleted file mode 100755
index 18079cb..0000000
--- a/pvr-source/services4/srvkm/include/metrics.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/*************************************************************************/ /*!
-@Title Time measurement interface.
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-
-#ifndef _METRICS_
-#define _METRICS_
-
-
-#if defined (__cplusplus)
-extern "C" {
-#endif
-
-
-#if defined(DEBUG) || defined(TIMING)
-
-
-typedef struct
-{
- IMG_UINT32 ui32Start;
- IMG_UINT32 ui32Stop;
- IMG_UINT32 ui32Total;
- IMG_UINT32 ui32Count;
-} Temporal_Data;
-
-extern Temporal_Data asTimers[];
-
-extern IMG_UINT32 PVRSRVTimeNow(IMG_VOID);
-extern IMG_VOID PVRSRVSetupMetricTimers(IMG_VOID *pvDevInfo);
-extern IMG_VOID PVRSRVOutputMetricTotals(IMG_VOID);
-
-
-#define PVRSRV_TIMER_DUMMY 0
-
-#define PVRSRV_TIMER_EXAMPLE_1 1
-#define PVRSRV_TIMER_EXAMPLE_2 2
-
-
-#define PVRSRV_NUM_TIMERS (PVRSRV_TIMER_EXAMPLE_2 + 1)
-
-#define PVRSRV_TIME_START(X) { \
- asTimers[X].ui32Count += 1; \
- asTimers[X].ui32Count |= 0x80000000L; \
- asTimers[X].ui32Start = PVRSRVTimeNow(); \
- asTimers[X].ui32Stop = 0; \
- }
-
-#define PVRSRV_TIME_SUSPEND(X) { \
- asTimers[X].ui32Stop += PVRSRVTimeNow() - asTimers[X].ui32Start; \
- }
-
-#define PVRSRV_TIME_RESUME(X) { \
- asTimers[X].ui32Start = PVRSRVTimeNow(); \
- }
-
-#define PVRSRV_TIME_STOP(X) { \
- asTimers[X].ui32Stop += PVRSRVTimeNow() - asTimers[X].ui32Start; \
- asTimers[X].ui32Total += asTimers[X].ui32Stop; \
- asTimers[X].ui32Count &= 0x7FFFFFFFL; \
- }
-
-#define PVRSRV_TIME_RESET(X) { \
- asTimers[X].ui32Start = 0; \
- asTimers[X].ui32Stop = 0; \
- asTimers[X].ui32Total = 0; \
- asTimers[X].ui32Count = 0; \
- }
-
-
-#if defined(__sh__)
-
-#define TST_REG ((volatile IMG_UINT8 *) (psDevInfo->pvSOCRegsBaseKM)) // timer start register
-
-#define TCOR_2 ((volatile IMG_UINT *) (psDevInfo->pvSOCRegsBaseKM+28)) // timer constant register_2
-#define TCNT_2 ((volatile IMG_UINT *) (psDevInfo->pvSOCRegsBaseKM+32)) // timer counter register_2
-#define TCR_2 ((volatile IMG_UINT16 *)(psDevInfo->pvSOCRegsBaseKM+36)) // timer control register_2
-
-#define TIMER_DIVISOR 4
-
-#endif /* defined(__sh__) */
-
-
-
-#else /* defined(DEBUG) || defined(TIMING) */
-
-
-
-#define PVRSRV_TIME_START(X)
-#define PVRSRV_TIME_SUSPEND(X)
-#define PVRSRV_TIME_RESUME(X)
-#define PVRSRV_TIME_STOP(X)
-#define PVRSRV_TIME_RESET(X)
-
-#define PVRSRVSetupMetricTimers(X)
-#define PVRSRVOutputMetricTotals()
-
-
-
-#endif /* defined(DEBUG) || defined(TIMING) */
-
-#if defined(__cplusplus)
-}
-#endif
-
-
-#endif /* _METRICS_ */
-
-/**************************************************************************
- End of file (metrics.h)
-**************************************************************************/
diff --git a/pvr-source/services4/srvkm/include/osfunc.h b/pvr-source/services4/srvkm/include/osfunc.h
deleted file mode 100755
index dcaa58a..0000000
--- a/pvr-source/services4/srvkm/include/osfunc.h
+++ /dev/null
@@ -1,799 +0,0 @@
-/*************************************************************************/ /*!
-@Title OS functions header
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@Description OS specific API definitions
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-#ifdef DEBUG_RELEASE_BUILD
-#pragma optimize( "", off )
-#define DEBUG 1
-#endif
-
-#ifndef __OSFUNC_H__
-#define __OSFUNC_H__
-
-#if defined (__cplusplus)
-extern "C" {
-#endif
-
-#if defined(__linux__) && defined(__KERNEL__)
-#include <linux/hardirq.h>
-#include <linux/string.h>
-#include <asm/system.h>
-#if defined(__arm__)
-#include <asm/memory.h>
-#endif
-#endif
-
-
-/* setup conditional pageable / non-pageable select */
- /* Other OSs only need pageable */
- #define PVRSRV_PAGEABLE_SELECT PVRSRV_OS_PAGEABLE_HEAP
-
-/******************************************************************************
- * Static defines
- *****************************************************************************/
-#define KERNEL_ID 0xffffffffL
-#define POWER_MANAGER_ID 0xfffffffeL
-#define ISR_ID 0xfffffffdL
-#define TIMER_ID 0xfffffffcL
-
-
-#define HOST_PAGESIZE OSGetPageSize
-#define HOST_PAGEMASK (HOST_PAGESIZE()-1)
-#define HOST_PAGEALIGN(addr) (((addr) + HOST_PAGEMASK) & ~HOST_PAGEMASK)
-
-/******************************************************************************
- * Host memory heaps
- *****************************************************************************/
-#define PVRSRV_OS_HEAP_MASK 0xf /* host heap flags mask */
-#define PVRSRV_OS_PAGEABLE_HEAP 0x1 /* allocation pageable */
-#define PVRSRV_OS_NON_PAGEABLE_HEAP 0x2 /* allocation non pageable */
-
-
-IMG_UINT32 OSClockus(IMG_VOID);
-IMG_SIZE_T OSGetPageSize(IMG_VOID);
-PVRSRV_ERROR OSInstallDeviceLISR(IMG_VOID *pvSysData,
- IMG_UINT32 ui32Irq,
- IMG_CHAR *pszISRName,
- IMG_VOID *pvDeviceNode);
-PVRSRV_ERROR OSUninstallDeviceLISR(IMG_VOID *pvSysData);
-PVRSRV_ERROR OSInstallSystemLISR(IMG_VOID *pvSysData, IMG_UINT32 ui32Irq);
-PVRSRV_ERROR OSUninstallSystemLISR(IMG_VOID *pvSysData);
-PVRSRV_ERROR OSInstallMISR(IMG_VOID *pvSysData);
-PVRSRV_ERROR OSUninstallMISR(IMG_VOID *pvSysData);
-IMG_CPU_PHYADDR OSMapLinToCPUPhys(IMG_HANDLE, IMG_VOID* pvLinAddr);
-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_SIZE_T ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE hBMHandle, IMG_VOID **ppvCpuVAddr, IMG_HANDLE *phOSMemHandle);
-PVRSRV_ERROR OSUnReservePhys(IMG_VOID *pvCpuVAddr, IMG_SIZE_T ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE hOSMemHandle);
-
-/* Some terminology:
- *
- * FLUSH Flush w/ invalidate
- * CLEAN Flush w/o invalidate
- * INVALIDATE Invalidate w/o flush
- */
-
-#if defined(__linux__) && defined(__KERNEL__)
-
-IMG_VOID OSFlushCPUCacheKM(IMG_VOID);
-
-IMG_VOID OSCleanCPUCacheKM(IMG_VOID);
-
-IMG_BOOL OSFlushCPUCacheRangeKM(IMG_HANDLE hOSMemHandle,
- IMG_UINT32 ui32ByteOffset,
- IMG_VOID *pvRangeAddrStart,
- IMG_UINT32 ui32Length);
-IMG_BOOL OSCleanCPUCacheRangeKM(IMG_HANDLE hOSMemHandle,
- IMG_UINT32 ui32ByteOffset,
- IMG_VOID *pvRangeAddrStart,
- IMG_UINT32 ui32Length);
-IMG_BOOL OSInvalidateCPUCacheRangeKM(IMG_HANDLE hOSMemHandle,
- IMG_UINT32 ui32ByteOffset,
- IMG_VOID *pvRangeAddrStart,
- IMG_UINT32 ui32Length);
-
-#else /* defined(__linux__) && defined(__KERNEL__) */
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSFlushCPUCacheKM)
-#endif
-static INLINE IMG_VOID OSFlushCPUCacheKM(IMG_VOID) {}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSCleanCPUCacheKM)
-#endif
-static INLINE IMG_VOID OSCleanCPUCacheKM(IMG_VOID) {}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSFlushCPUCacheRangeKM)
-#endif
-static INLINE IMG_BOOL OSFlushCPUCacheRangeKM(IMG_HANDLE hOSMemHandle,
- IMG_UINT32 ui32ByteOffset,
- IMG_VOID *pvRangeAddrStart,
- IMG_UINT32 ui32Length)
-{
- PVR_UNREFERENCED_PARAMETER(hOSMemHandle);
- PVR_UNREFERENCED_PARAMETER(ui32ByteOffset);
- PVR_UNREFERENCED_PARAMETER(pvRangeAddrStart);
- PVR_UNREFERENCED_PARAMETER(ui32Length);
- return IMG_FALSE;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSCleanCPUCacheRangeKM)
-#endif
-static INLINE IMG_BOOL OSCleanCPUCacheRangeKM(IMG_HANDLE hOSMemHandle,
- IMG_UINT32 ui32ByteOffset,
- IMG_VOID *pvRangeAddrStart,
- IMG_UINT32 ui32Length)
-{
- PVR_UNREFERENCED_PARAMETER(hOSMemHandle);
- PVR_UNREFERENCED_PARAMETER(ui32ByteOffset);
- PVR_UNREFERENCED_PARAMETER(pvRangeAddrStart);
- PVR_UNREFERENCED_PARAMETER(ui32Length);
- return IMG_FALSE;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSInvalidateCPUCacheRangeKM)
-#endif
-static INLINE IMG_BOOL OSInvalidateCPUCacheRangeKM(IMG_HANDLE hOSMemHandle,
- IMG_UINT32 ui32ByteOffset,
- IMG_VOID *pvRangeAddrStart,
- IMG_UINT32 ui32Length)
-{
- PVR_UNREFERENCED_PARAMETER(hOSMemHandle);
- PVR_UNREFERENCED_PARAMETER(ui32ByteOffset);
- PVR_UNREFERENCED_PARAMETER(pvRangeAddrStart);
- PVR_UNREFERENCED_PARAMETER(ui32Length);
- return IMG_FALSE;
-}
-
-#endif /* defined(__linux__) && defined(__KERNEL__) */
-
-#if defined(__linux__) || defined(__QNXNTO__)
-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 /* defined(__linux__) */
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSRegisterDiscontigMem)
-#endif
-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);
- PVR_UNREFERENCED_PARAMETER(ui32Bytes);
- PVR_UNREFERENCED_PARAMETER(ui32Flags);
- PVR_UNREFERENCED_PARAMETER(phOSMemHandle);
-
- return PVRSRV_ERROR_NOT_SUPPORTED;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSUnRegisterDiscontigMem)
-#endif
-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);
- PVR_UNREFERENCED_PARAMETER(ui32Flags);
- PVR_UNREFERENCED_PARAMETER(hOSMemHandle);
-
- return PVRSRV_ERROR_NOT_SUPPORTED;
-}
-#endif /* defined(__linux__) */
-
-
-#if defined(__linux__) || defined(__QNXNTO__)
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSReserveDiscontigPhys)
-#endif
-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__) || defined(__QNXNTO__)
- *ppvCpuVAddr = IMG_NULL;
- return OSRegisterDiscontigMem(pBasePAddr, *ppvCpuVAddr, ui32Bytes, ui32Flags, phOSMemHandle);
-#else
- extern IMG_CPU_PHYADDR SysSysPAddrToCpuPAddr(IMG_SYS_PHYADDR SysPAddr);
-
- /*
- * On uITRON we know:
- * 1. We will only be called with a non-contig physical if we
- * already have a contiguous CPU linear
- * 2. There is a one->one mapping of CpuPAddr -> CpuVAddr
- * 3. Looking up the first CpuPAddr will find the first CpuVAddr
- * 4. We don't need to unmap
- */
-
- return OSReservePhys(SysSysPAddrToCpuPAddr(pBasePAddr[0]), ui32Bytes, ui32Flags, IMG_NULL, ppvCpuVAddr, phOSMemHandle);
-#endif
-}
-
-static INLINE PVRSRV_ERROR OSUnReserveDiscontigPhys(IMG_VOID *pvCpuVAddr, IMG_SIZE_T ui32Bytes, IMG_UINT32 ui32Flags, IMG_HANDLE hOSMemHandle)
-{
-#if defined(__linux__) || defined(__QNXNTO__)
- OSUnRegisterDiscontigMem(pvCpuVAddr, ui32Bytes, ui32Flags, hOSMemHandle);
-#endif
- /* We don't need to unmap */
- return PVRSRV_OK;
-}
-#else /* defined(__linux__) */
-
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSReserveDiscontigPhys)
-#endif
-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);
- PVR_UNREFERENCED_PARAMETER(ui32Flags);
- PVR_UNREFERENCED_PARAMETER(ppvCpuVAddr);
- PVR_UNREFERENCED_PARAMETER(phOSMemHandle);
-
- return PVRSRV_ERROR_NOT_SUPPORTED;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSUnReserveDiscontigPhys)
-#endif
-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);
- PVR_UNREFERENCED_PARAMETER(ui32Flags);
- PVR_UNREFERENCED_PARAMETER(hOSMemHandle);
-
- return PVRSRV_ERROR_NOT_SUPPORTED;
-}
-#endif /* defined(__linux__) */
-
-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__) || defined(__QNXNTO__)
-PVRSRV_ERROR OSGetSubMemHandle(IMG_HANDLE hOSMemHandle,
- IMG_UINTPTR_T ui32ByteOffset,
- IMG_SIZE_T ui32Bytes,
- IMG_UINT32 ui32Flags,
- IMG_HANDLE *phOSMemHandleRet);
-PVRSRV_ERROR OSReleaseSubMemHandle(IMG_HANDLE hOSMemHandle, IMG_UINT32 ui32Flags);
-#else
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSGetSubMemHandle)
-#endif
-static INLINE PVRSRV_ERROR OSGetSubMemHandle(IMG_HANDLE hOSMemHandle,
- IMG_UINTPTR_T ui32ByteOffset,
- IMG_SIZE_T ui32Bytes,
- IMG_UINT32 ui32Flags,
- IMG_HANDLE *phOSMemHandleRet)
-{
- PVR_UNREFERENCED_PARAMETER(ui32ByteOffset);
- PVR_UNREFERENCED_PARAMETER(ui32Bytes);
- PVR_UNREFERENCED_PARAMETER(ui32Flags);
-
- *phOSMemHandleRet = hOSMemHandle;
- return PVRSRV_OK;
-}
-
-static INLINE PVRSRV_ERROR OSReleaseSubMemHandle(IMG_HANDLE hOSMemHandle, IMG_UINT32 ui32Flags)
-{
- PVR_UNREFERENCED_PARAMETER(hOSMemHandle);
- PVR_UNREFERENCED_PARAMETER(ui32Flags);
- return PVRSRV_OK;
-}
-#endif
-
-IMG_UINT32 OSGetCurrentProcessIDKM(IMG_VOID);
-int OSGetProcCmdline(IMG_UINT32 ui32PID, char * buffer, int buff_size);
-const char* OSGetPathBaseName(char * buffer, int buff_size);
-IMG_UINTPTR_T OSGetCurrentThreadID( IMG_VOID );
-IMG_VOID OSMemSet(IMG_VOID *pvDest, IMG_UINT8 ui8Value, IMG_SIZE_T ui32Size);
-
-PVRSRV_ERROR OSAllocPages_Impl(IMG_UINT32 ui32Flags, IMG_SIZE_T ui32Size, IMG_UINT32 ui32PageSize,
- IMG_PVOID pvPrivData, IMG_UINT32 ui32PrivDataLength, IMG_HANDLE hBMHandle, IMG_PVOID *ppvLinAddr, IMG_HANDLE *phPageAlloc);
-PVRSRV_ERROR OSFreePages(IMG_UINT32 ui32Flags, IMG_SIZE_T ui32Size, IMG_PVOID pvLinAddr, IMG_HANDLE hPageAlloc);
-
-IMG_INT32
-OSGetMemMultiPlaneInfo(IMG_HANDLE hOSMemHandle, IMG_UINT32* pui32AddressOffsets,
- IMG_UINT32* ui32NumAddrOffsets);
-
-
-/*---------------------
-The set of macros below follows this pattern:
-
-f(x) = if F -> f2(g(x))
- else -> g(x)
-
-g(x) = if G -> g2(h(x))
- else -> h(x)
-
-h(x) = ...
-
------------------------*/
-
-/*If level 3 wrapper is enabled, we add a PVR_TRACE and call the next level, else just call the next level*/
-#ifdef PVRSRV_LOG_MEMORY_ALLOCS
- #define OSAllocMem(flags, size, linAddr, blockAlloc, logStr) \
- (PVR_TRACE(("OSAllocMem(" #flags ", " #size ", " #linAddr ", " #blockAlloc "): " logStr " (size = 0x%lx)", size)), \
- OSAllocMem_Debug_Wrapper(flags, size, linAddr, blockAlloc, __FILE__, __LINE__))
-
- #define OSAllocPages(flags, size, pageSize, privdata, privdatalength, bmhandle, linAddr, pageAlloc) \
- (PVR_TRACE(("OSAllocPages(" #flags ", " #size ", " #pageSize ", " #linAddr ", " #pageAlloc "): (size = 0x%lx)", size)), \
- OSAllocPages_Impl(flags, size, pageSize, linAddr, privdata, privdatalength, bmhandle, pageAlloc))
-
- #define OSFreeMem(flags, size, linAddr, blockAlloc) \
- (PVR_TRACE(("OSFreeMem(" #flags ", " #size ", " #linAddr ", " #blockAlloc "): (pointer = 0x%X)", linAddr)), \
- OSFreeMem_Debug_Wrapper(flags, size, linAddr, blockAlloc, __FILE__, __LINE__))
-#else
- #define OSAllocMem(flags, size, linAddr, blockAlloc, logString) \
- OSAllocMem_Debug_Wrapper(flags, size, linAddr, blockAlloc, __FILE__, __LINE__)
-
- #define OSAllocPages OSAllocPages_Impl
-
- #define OSFreeMem(flags, size, linAddr, blockAlloc) \
- OSFreeMem_Debug_Wrapper(flags, size, linAddr, blockAlloc, __FILE__, __LINE__)
-#endif
-
-/*If level 2 wrapper is enabled declare the function,
-else alias to level 1 wrapper, else the wrapper function will be used*/
-#ifdef PVRSRV_DEBUG_OS_MEMORY
-
- PVRSRV_ERROR OSAllocMem_Debug_Wrapper(IMG_UINT32 ui32Flags,
- IMG_UINT32 ui32Size,
- IMG_PVOID *ppvCpuVAddr,
- IMG_HANDLE *phBlockAlloc,
- IMG_CHAR *pszFilename,
- IMG_UINT32 ui32Line);
-
- PVRSRV_ERROR OSFreeMem_Debug_Wrapper(IMG_UINT32 ui32Flags,
- IMG_UINT32 ui32Size,
- IMG_PVOID pvCpuVAddr,
- IMG_HANDLE hBlockAlloc,
- IMG_CHAR *pszFilename,
- IMG_UINT32 ui32Line);
-
-
- typedef struct
- {
- IMG_UINT8 sGuardRegionBefore[8];
- IMG_CHAR sFileName[128];
- IMG_UINT32 uLineNo;
- IMG_SIZE_T uSize;
- IMG_SIZE_T uSizeParityCheck;
- enum valid_tag
- { isFree = 0x277260FF,
- isAllocated = 0x260511AA
- } eValid;
- } OSMEM_DEBUG_INFO;
-
- #define TEST_BUFFER_PADDING_STATUS (sizeof(OSMEM_DEBUG_INFO))
- #define TEST_BUFFER_PADDING_AFTER (8)
- #define TEST_BUFFER_PADDING (TEST_BUFFER_PADDING_STATUS + TEST_BUFFER_PADDING_AFTER)
-#else
- #define OSAllocMem_Debug_Wrapper OSAllocMem_Debug_Linux_Memory_Allocations
- #define OSFreeMem_Debug_Wrapper OSFreeMem_Debug_Linux_Memory_Allocations
-#endif
-
-/*If level 1 wrapper is enabled declare the functions with extra parameters
-else alias to level 0 and declare the functions without the extra debugging parameters*/
-#if (defined(__linux__) || defined(__QNXNTO__)) && defined(DEBUG_LINUX_MEMORY_ALLOCATIONS)
- PVRSRV_ERROR OSAllocMem_Impl(IMG_UINT32 ui32Flags, IMG_SIZE_T ui32Size, IMG_PVOID *ppvLinAddr, IMG_HANDLE *phBlockAlloc, IMG_CHAR *pszFilename, IMG_UINT32 ui32Line);
- PVRSRV_ERROR OSFreeMem_Impl(IMG_UINT32 ui32Flags, IMG_SIZE_T ui32Size, IMG_PVOID pvLinAddr, IMG_HANDLE hBlockAlloc, IMG_CHAR *pszFilename, IMG_UINT32 ui32Line);
-
- #define OSAllocMem_Debug_Linux_Memory_Allocations OSAllocMem_Impl
- #define OSFreeMem_Debug_Linux_Memory_Allocations OSFreeMem_Impl
-#else
- PVRSRV_ERROR OSAllocMem_Impl(IMG_UINT32 ui32Flags, IMG_SIZE_T ui32Size, IMG_PVOID *ppvLinAddr, IMG_HANDLE *phBlockAlloc);
- PVRSRV_ERROR OSFreeMem_Impl(IMG_UINT32 ui32Flags, IMG_SIZE_T ui32Size, IMG_PVOID pvLinAddr, IMG_HANDLE hBlockAlloc);
-
- #define OSAllocMem_Debug_Linux_Memory_Allocations(flags, size, addr, blockAlloc, file, line) \
- OSAllocMem_Impl(flags, size, addr, blockAlloc)
- #define OSFreeMem_Debug_Linux_Memory_Allocations(flags, size, addr, blockAlloc, file, line) \
- OSFreeMem_Impl(flags, size, addr, blockAlloc)
-#endif
-
-
-#if defined(__linux__) || defined(__QNXNTO__)
-IMG_CPU_PHYADDR OSMemHandleToCpuPAddr(IMG_VOID *hOSMemHandle, IMG_SIZE_T ui32ByteOffset);
-#else
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSMemHandleToCpuPAddr)
-#endif
-static INLINE IMG_CPU_PHYADDR OSMemHandleToCpuPAddr(IMG_HANDLE hOSMemHandle, IMG_SIZE_T ui32ByteOffset)
-{
- IMG_CPU_PHYADDR sCpuPAddr;
- PVR_UNREFERENCED_PARAMETER(hOSMemHandle);
- PVR_UNREFERENCED_PARAMETER(ui32ByteOffset);
- sCpuPAddr.uiAddr = 0;
- return sCpuPAddr;
-}
-#endif
-
-#if defined(__linux__)
-IMG_BOOL OSMemHandleIsPhysContig(IMG_VOID *hOSMemHandle);
-#else
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSMemHandleIsPhysContig)
-#endif
-static INLINE IMG_BOOL OSMemHandleIsPhysContig(IMG_HANDLE hOSMemHandle)
-{
- PVR_UNREFERENCED_PARAMETER(hOSMemHandle);
- return IMG_FALSE;
-}
-#endif
-
-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_SIZE_T ui32Size, const IMG_CHAR *pszFormat, ...) IMG_FORMAT_PRINTF(3, 4);
-#define OSStringLength(pszString) strlen(pszString)
-
-#if defined (SUPPORT_SID_INTERFACE)
-PVRSRV_ERROR OSEventObjectCreateKM(const IMG_CHAR *pszName,
- PVRSRV_EVENTOBJECT_KM *psEventObject);
-PVRSRV_ERROR OSEventObjectDestroyKM(PVRSRV_EVENTOBJECT_KM *psEventObject);
-PVRSRV_ERROR OSEventObjectSignalKM(IMG_HANDLE hOSEventKM);
-PVRSRV_ERROR OSEventObjectWaitKM(IMG_HANDLE hOSEventKM);
-PVRSRV_ERROR OSEventObjectOpenKM(PVRSRV_EVENTOBJECT_KM *psEventObject,
- IMG_HANDLE *phOSEvent);
-PVRSRV_ERROR OSEventObjectCloseKM(PVRSRV_EVENTOBJECT_KM *psEventObject,
- IMG_HANDLE hOSEventKM);
-#else
-PVRSRV_ERROR OSEventObjectCreateKM(const IMG_CHAR *pszName,
- PVRSRV_EVENTOBJECT *psEventObject);
-PVRSRV_ERROR OSEventObjectDestroyKM(PVRSRV_EVENTOBJECT *psEventObject);
-PVRSRV_ERROR OSEventObjectSignalKM(IMG_HANDLE hOSEventKM);
-PVRSRV_ERROR OSEventObjectWaitKM(IMG_HANDLE hOSEventKM);
-PVRSRV_ERROR OSEventObjectOpenKM(PVRSRV_EVENTOBJECT *psEventObject,
- IMG_HANDLE *phOSEvent);
-PVRSRV_ERROR OSEventObjectCloseKM(PVRSRV_EVENTOBJECT *psEventObject,
- IMG_HANDLE hOSEventKM);
-#endif /* #if defined (SUPPORT_SID_INTERFACE) */
-
-
-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_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_SIZE_T ui32Size, IMG_HANDLE hMemBlock);
-
-PVRSRV_ERROR OSMapPhysToUserSpace(IMG_HANDLE hDevCookie,
- IMG_SYS_PHYADDR sCPUPhysAddr,
- IMG_SIZE_T uiSizeInBytes,
- IMG_UINT32 ui32CacheFlags,
- IMG_PVOID *ppvUserAddr,
- IMG_SIZE_T *puiActualSize,
- IMG_HANDLE hMappingHandle);
-
-PVRSRV_ERROR OSUnmapPhysToUserSpace(IMG_HANDLE hDevCookie,
- IMG_PVOID pvUserAddr,
- IMG_PVOID pvProcess);
-
-PVRSRV_ERROR OSLockResource(PVRSRV_RESOURCE *psResource, IMG_UINT32 ui32ID);
-PVRSRV_ERROR OSUnlockResource(PVRSRV_RESOURCE *psResource, IMG_UINT32 ui32ID);
-IMG_BOOL OSIsResourceLocked(PVRSRV_RESOURCE *psResource, IMG_UINT32 ui32ID);
-PVRSRV_ERROR OSCreateResource(PVRSRV_RESOURCE *psResource);
-PVRSRV_ERROR OSDestroyResource(PVRSRV_RESOURCE *psResource);
-IMG_VOID OSBreakResourceLock(PVRSRV_RESOURCE *psResource, IMG_UINT32 ui32ID);
-
-#if defined(SYS_CUSTOM_POWERLOCK_WRAP)
-#define OSPowerLockWrap SysPowerLockWrap
-#define OSPowerLockUnwrap SysPowerLockUnwrap
-#else
-/******************************************************************************
- @Function OSPowerLockWrap
-
- @Description OS-specific wrapper around the power lock
-
- @Input bTryLock - don't block on lock contention
-
- @Return PVRSRV_ERROR
-******************************************************************************/
-PVRSRV_ERROR OSPowerLockWrap(IMG_BOOL bTryLock);
-
-/******************************************************************************
- @Function OSPowerLockUnwrap
-
- @Description OS-specific wrapper around the power unlock
-
- @Return IMG_VOID
-******************************************************************************/
-IMG_VOID OSPowerLockUnwrap(IMG_VOID);
-#endif /* SYS_CUSTOM_POWERLOCK_WRAP */
-
-/*!
-******************************************************************************
-
- @Function OSWaitus
-
- @Description
- This function implements a busy wait of the specified microseconds
- This function does NOT release thread quanta
-
- @Input ui32Timeus - (us)
-
- @Return IMG_VOID
-
-******************************************************************************/
-IMG_VOID OSWaitus(IMG_UINT32 ui32Timeus);
-
-/*!
-******************************************************************************
-
- @Function OSSleepms
-
- @Description
- This function implements a sleep of the specified milliseconds
- This function may allow pre-emption if implemented
-
- @Input ui32Timems - (ms)
-
- @Return IMG_VOID
-
-******************************************************************************/
-IMG_VOID OSSleepms(IMG_UINT32 ui32Timems);
-
-IMG_HANDLE OSFuncHighResTimerCreate(IMG_VOID);
-IMG_UINT32 OSFuncHighResTimerGetus(IMG_HANDLE hTimer);
-IMG_VOID OSFuncHighResTimerDestroy(IMG_HANDLE hTimer);
-IMG_VOID OSReleaseThreadQuanta(IMG_VOID);
-IMG_UINT32 OSPCIReadDword(IMG_UINT32 ui32Bus, IMG_UINT32 ui32Dev, IMG_UINT32 ui32Func, IMG_UINT32 ui32Reg);
-IMG_VOID OSPCIWriteDword(IMG_UINT32 ui32Bus, IMG_UINT32 ui32Dev, IMG_UINT32 ui32Func, IMG_UINT32 ui32Reg, IMG_UINT32 ui32Value);
-
-IMG_IMPORT
-IMG_UINT32 ReadHWReg(IMG_PVOID pvLinRegBaseAddr, IMG_UINT32 ui32Offset);
-
-IMG_IMPORT
-IMG_VOID WriteHWReg(IMG_PVOID pvLinRegBaseAddr, IMG_UINT32 ui32Offset, IMG_UINT32 ui32Value);
-
-IMG_IMPORT IMG_VOID WriteHWRegs(IMG_PVOID pvLinRegBaseAddr, IMG_UINT32 ui32Count, PVRSRV_HWREG *psHWRegs);
-
-#ifndef OSReadHWReg
-IMG_UINT32 OSReadHWReg(IMG_PVOID pvLinRegBaseAddr, IMG_UINT32 ui32Offset);
-#endif
-#ifndef OSWriteHWReg
-IMG_VOID OSWriteHWReg(IMG_PVOID pvLinRegBaseAddr, IMG_UINT32 ui32Offset, IMG_UINT32 ui32Value);
-#endif
-
-typedef IMG_VOID (*PFN_TIMER_FUNC)(IMG_VOID*);
-IMG_HANDLE OSAddTimer(PFN_TIMER_FUNC pfnTimerFunc, IMG_VOID *pvData, IMG_UINT32 ui32MsTimeout);
-PVRSRV_ERROR OSRemoveTimer (IMG_HANDLE hTimer);
-PVRSRV_ERROR OSEnableTimer (IMG_HANDLE hTimer);
-PVRSRV_ERROR OSDisableTimer (IMG_HANDLE hTimer);
-
-PVRSRV_ERROR OSGetSysMemSize(IMG_SIZE_T *pui32Bytes);
-
-typedef enum _HOST_PCI_INIT_FLAGS_
-{
- HOST_PCI_INIT_FLAG_BUS_MASTER = 0x00000001,
- HOST_PCI_INIT_FLAG_MSI = 0x00000002,
- HOST_PCI_INIT_FLAG_FORCE_I32 = 0x7fffffff
-} HOST_PCI_INIT_FLAGS;
-
-struct _PVRSRV_PCI_DEV_OPAQUE_STRUCT_;
-typedef struct _PVRSRV_PCI_DEV_OPAQUE_STRUCT_ *PVRSRV_PCI_DEV_HANDLE;
-
-PVRSRV_PCI_DEV_HANDLE OSPCIAcquireDev(IMG_UINT16 ui16VendorID, IMG_UINT16 ui16DeviceID, HOST_PCI_INIT_FLAGS eFlags);
-PVRSRV_PCI_DEV_HANDLE OSPCISetDev(IMG_VOID *pvPCICookie, HOST_PCI_INIT_FLAGS eFlags);
-PVRSRV_ERROR OSPCIReleaseDev(PVRSRV_PCI_DEV_HANDLE hPVRPCI);
-PVRSRV_ERROR OSPCIIRQ(PVRSRV_PCI_DEV_HANDLE hPVRPCI, IMG_UINT32 *pui32IRQ);
-IMG_UINT32 OSPCIAddrRangeLen(PVRSRV_PCI_DEV_HANDLE hPVRPCI, IMG_UINT32 ui32Index);
-IMG_UINT32 OSPCIAddrRangeStart(PVRSRV_PCI_DEV_HANDLE hPVRPCI, IMG_UINT32 ui32Index);
-IMG_UINT32 OSPCIAddrRangeEnd(PVRSRV_PCI_DEV_HANDLE hPVRPCI, IMG_UINT32 ui32Index);
-PVRSRV_ERROR OSPCIRequestAddrRange(PVRSRV_PCI_DEV_HANDLE hPVRPCI, IMG_UINT32 ui32Index);
-PVRSRV_ERROR OSPCIReleaseAddrRange(PVRSRV_PCI_DEV_HANDLE hPVRPCI, IMG_UINT32 ui32Index);
-PVRSRV_ERROR OSPCISuspendDev(PVRSRV_PCI_DEV_HANDLE hPVRPCI);
-PVRSRV_ERROR OSPCIResumeDev(PVRSRV_PCI_DEV_HANDLE hPVRPCI);
-
-PVRSRV_ERROR OSScheduleMISR(IMG_VOID *pvSysData);
-
-/******************************************************************************
-
- @Function OSPanic
-
- @Description Take action in response to an unrecoverable driver error
-
- @Input IMG_VOID
-
- @Return IMG_VOID
-
-******************************************************************************/
-IMG_VOID OSPanic(IMG_VOID);
-
-IMG_BOOL OSProcHasPrivSrvInit(IMG_VOID);
-
-typedef enum _img_verify_test
-{
- PVR_VERIFY_WRITE = 0,
- PVR_VERIFY_READ
-} IMG_VERIFY_TEST;
-
-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_SIZE_T ui32Bytes);
-PVRSRV_ERROR OSCopyFromUser(IMG_PVOID pvProcess, IMG_VOID *pvDest, IMG_VOID *pvSrc, IMG_SIZE_T ui32Bytes);
-
-#if defined(__linux__) || defined(__QNXNTO__)
-PVRSRV_ERROR OSAcquirePhysPageAddr(IMG_VOID* pvCPUVAddr,
- IMG_SIZE_T ui32Bytes,
- IMG_SYS_PHYADDR *psSysPAddr,
- IMG_HANDLE *phOSWrapMem);
-PVRSRV_ERROR OSReleasePhysPageAddr(IMG_HANDLE hOSWrapMem);
-#else
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSAcquirePhysPageAddr)
-#endif
-static INLINE PVRSRV_ERROR OSAcquirePhysPageAddr(IMG_VOID* pvCPUVAddr,
- IMG_SIZE_T ui32Bytes,
- IMG_SYS_PHYADDR *psSysPAddr,
- IMG_HANDLE *phOSWrapMem)
-{
- PVR_UNREFERENCED_PARAMETER(pvCPUVAddr);
- PVR_UNREFERENCED_PARAMETER(ui32Bytes);
- PVR_UNREFERENCED_PARAMETER(psSysPAddr);
- PVR_UNREFERENCED_PARAMETER(phOSWrapMem);
- return PVRSRV_OK;
-}
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSReleasePhysPageAddr)
-#endif
-static INLINE PVRSRV_ERROR OSReleasePhysPageAddr(IMG_HANDLE hOSWrapMem)
-{
- PVR_UNREFERENCED_PARAMETER(hOSWrapMem);
- return PVRSRV_OK;
-}
-#endif
-
-#if defined(__linux__) && defined(__KERNEL__)
-
-#define OS_SUPPORTS_IN_LISR
-
-static inline IMG_BOOL OSInLISR(IMG_VOID unref__ *pvSysData)
-{
- PVR_UNREFERENCED_PARAMETER(pvSysData);
- return (in_irq()) ? IMG_TRUE : IMG_FALSE;
-}
-
-static inline IMG_VOID OSWriteMemoryBarrier(IMG_VOID)
-{
- wmb();
-}
-
-static inline IMG_VOID OSMemoryBarrier(IMG_VOID)
-{
- mb();
-}
-
-#else /* defined(__linux__) && defined(__KERNEL__) */
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSWriteMemoryBarrier)
-#endif
-static INLINE IMG_VOID OSWriteMemoryBarrier(IMG_VOID) { }
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSMemoryBarrier)
-#endif
-static INLINE IMG_VOID OSMemoryBarrier(IMG_VOID) { }
-
-#endif /* defined(__linux__) && defined(__KERNEL__) */
-
-/* Atomic functions */
-PVRSRV_ERROR OSAtomicAlloc(IMG_PVOID *ppvRefCount);
-IMG_VOID OSAtomicFree(IMG_PVOID pvRefCount);
-IMG_VOID OSAtomicInc(IMG_PVOID pvRefCount);
-IMG_BOOL OSAtomicDecAndTest(IMG_PVOID pvRefCount);
-IMG_UINT32 OSAtomicRead(IMG_PVOID pvRefCount);
-
-PVRSRV_ERROR OSTimeCreateWithUSOffset(IMG_PVOID *pvRet, IMG_UINT32 ui32MSOffset);
-IMG_BOOL OSTimeHasTimePassed(IMG_PVOID pvData);
-IMG_VOID OSTimeDestroy(IMG_PVOID pvData);
-
-#if defined(__linux__)
-IMG_VOID OSReleaseBridgeLock(IMG_VOID);
-IMG_VOID OSReacquireBridgeLock(IMG_VOID);
-#else
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSReleaseBridgeLock)
-#endif
-static INLINE IMG_VOID OSReleaseBridgeLock(IMG_VOID) { }
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSReacquireBridgeLock)
-#endif
-static INLINE IMG_VOID OSReacquireBridgeLock(IMG_VOID) { }
-
-#endif
-
-#if defined(__linux__)
-IMG_VOID OSGetCurrentProcessNameKM(IMG_CHAR *pszName, IMG_UINT32 ui32Size);
-#else
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSGetCurrentProcessNameKM)
-#endif
-static INLINE IMG_VOID OSGetCurrentProcessNameKM(IMG_CHAR *pszName, IMG_UINT32 ui32Size)
-{
- PVR_UNREFERENCED_PARAMETER(pszName);
- PVR_UNREFERENCED_PARAMETER(ui32Size);
-}
-
-#endif
-
-#if defined (__cplusplus)
-}
-#endif
-
-#endif /* __OSFUNC_H__ */
-
-/******************************************************************************
- End of file (osfunc.h)
-******************************************************************************/
-
diff --git a/pvr-source/services4/srvkm/include/osperproc.h b/pvr-source/services4/srvkm/include/osperproc.h
deleted file mode 100755
index 0b962b4..0000000
--- a/pvr-source/services4/srvkm/include/osperproc.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*************************************************************************/ /*!
-@Title OS specific per process data interface
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@Description OS specific per process data interface
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-#ifndef __OSPERPROC_H__
-#define __OSPERPROC_H__
-
-#if defined (__cplusplus)
-extern "C" {
-#endif
-
-#if defined(__linux__) || defined(__QNXNTO__)
-PVRSRV_ERROR OSPerProcessPrivateDataInit(IMG_HANDLE *phOsPrivateData);
-PVRSRV_ERROR OSPerProcessPrivateDataDeInit(IMG_HANDLE hOsPrivateData);
-
-PVRSRV_ERROR OSPerProcessSetHandleOptions(PVRSRV_HANDLE_BASE *psHandleBase);
-#else /* defined(__linux__) */
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSPerProcessPrivateDataInit)
-#endif
-static INLINE PVRSRV_ERROR OSPerProcessPrivateDataInit(IMG_HANDLE *phOsPrivateData)
-{
- PVR_UNREFERENCED_PARAMETER(phOsPrivateData);
-
- return PVRSRV_OK;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSPerProcessPrivateDataDeInit)
-#endif
-static INLINE PVRSRV_ERROR OSPerProcessPrivateDataDeInit(IMG_HANDLE hOsPrivateData)
-{
- PVR_UNREFERENCED_PARAMETER(hOsPrivateData);
-
- return PVRSRV_OK;
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(OSPerProcessSetHandleOptions)
-#endif
-static INLINE PVRSRV_ERROR OSPerProcessSetHandleOptions(PVRSRV_HANDLE_BASE *psHandleBase)
-{
- PVR_UNREFERENCED_PARAMETER(psHandleBase);
-
- return PVRSRV_OK;
-}
-#endif /* defined(__linux__) */
-
-#if defined (__cplusplus)
-}
-#endif
-
-#endif /* __OSPERPROC_H__ */
-
-/******************************************************************************
- End of file (osperproc.h)
-******************************************************************************/
diff --git a/pvr-source/services4/srvkm/include/pdump_int.h b/pvr-source/services4/srvkm/include/pdump_int.h
deleted file mode 100755
index a76fed0..0000000
--- a/pvr-source/services4/srvkm/include/pdump_int.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/*************************************************************************/ /*!
-@Title Parameter dump internal common functions
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-
-
-#ifndef __PDUMP_INT_H__
-#define __PDUMP_INT_H__
-
-#if defined (__cplusplus)
-extern "C" {
-#endif
-
-/*
- * This file contains internal pdump utility functions which may be accessed
- * from OS-specific code. The header should not be included outside of srvkm
- * pdump files.
- */
-
-#if !defined(_UITRON)
-/*
- * No dbgdriver on uitron, so ignore any common functions for communicating
- * with dbgdriver.
- */
-#include "dbgdrvif.h"
-
-/* Callbacks which are registered with the debug driver. */
-IMG_EXPORT IMG_VOID PDumpConnectionNotify(IMG_VOID);
-
-#endif /* !defined(_UITRON) */
-
-typedef enum
-{
- /* Continuous writes are always captured in the dbgdrv; the buffer will
- * expand if no client/sink process is running.
- */
- PDUMP_WRITE_MODE_CONTINUOUS = 0,
- /* Last frame capture */
- PDUMP_WRITE_MODE_LASTFRAME,
- /* Capture frame, binary data */
- PDUMP_WRITE_MODE_BINCM,
- /* Persistent capture, append data to init phase */
- PDUMP_WRITE_MODE_PERSISTENT
-} PDUMP_DDWMODE;
-
-
-IMG_UINT32 DbgWrite(PDBG_STREAM psStream, IMG_UINT8 *pui8Data, IMG_UINT32 ui32BCount, IMG_UINT32 ui32Flags);
-
-IMG_UINT32 PDumpOSDebugDriverWrite( PDBG_STREAM psStream,
- PDUMP_DDWMODE eDbgDrvWriteMode,
- IMG_UINT8 *pui8Data,
- IMG_UINT32 ui32BCount,
- IMG_UINT32 ui32Level,
- IMG_UINT32 ui32DbgDrvFlags);
-
-#if defined (__cplusplus)
-}
-#endif
-#endif /* __PDUMP_INT_H__ */
-
-/******************************************************************************
- End of file (pdump_int.h)
-******************************************************************************/
-
diff --git a/pvr-source/services4/srvkm/include/pdump_km.h b/pvr-source/services4/srvkm/include/pdump_km.h
deleted file mode 100755
index e4325cc..0000000
--- a/pvr-source/services4/srvkm/include/pdump_km.h
+++ /dev/null
@@ -1,441 +0,0 @@
-/*************************************************************************/ /*!
-@Title pdump functions
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@Description Main APIs for pdump functions
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-#ifndef _PDUMP_KM_H_
-#define _PDUMP_KM_H_
-
-
-/*
- * Include the OS abstraction APIs
- */
-#include "pdump_osfunc.h"
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-/*
- * Pull in pdump flags from services include
- */
-#include "pdump.h"
-
-#define PDUMP_PD_UNIQUETAG (IMG_HANDLE)0
-#define PDUMP_PT_UNIQUETAG (IMG_HANDLE)0
-
-/*
- * PDump streams (common to all OSes)
- */
-#define PDUMP_STREAM_PARAM2 0
-#define PDUMP_STREAM_SCRIPT2 1
-#define PDUMP_STREAM_DRIVERINFO 2
-#define PDUMP_NUM_STREAMS 3
-
-#if defined(PDUMP_DEBUG_OUTFILES)
-/* counter increments each time debug write is called */
-extern IMG_UINT32 g_ui32EveryLineCounter;
-#endif
-
-#ifndef PDUMP
-#define MAKEUNIQUETAG(hMemInfo) (0)
-#endif
-
-#ifdef PDUMP
-
-#define MAKEUNIQUETAG(hMemInfo) (((BM_BUF *)(((PVRSRV_KERNEL_MEM_INFO *)(hMemInfo))->sMemBlk.hBuffer))->pMapping)
-
- IMG_IMPORT PVRSRV_ERROR PDumpMemPolKM(PVRSRV_KERNEL_MEM_INFO *psMemInfo,
- IMG_UINT32 ui32Offset,
- IMG_UINT32 ui32Value,
- IMG_UINT32 ui32Mask,
- PDUMP_POLL_OPERATOR eOperator,
- IMG_UINT32 ui32Flags,
- IMG_HANDLE hUniqueTag);
-
- IMG_IMPORT PVRSRV_ERROR PDumpMemUM(PVRSRV_PER_PROCESS_DATA *psProcData,
- IMG_PVOID pvAltLinAddr,
- IMG_PVOID pvLinAddr,
- PVRSRV_KERNEL_MEM_INFO *psMemInfo,
- IMG_UINT32 ui32Offset,
- IMG_UINT32 ui32Bytes,
- IMG_UINT32 ui32Flags,
- IMG_HANDLE hUniqueTag);
-
- IMG_IMPORT PVRSRV_ERROR PDumpMemKM(IMG_PVOID pvAltLinAddr,
- PVRSRV_KERNEL_MEM_INFO *psMemInfo,
- IMG_UINT32 ui32Offset,
- IMG_UINT32 ui32Bytes,
- IMG_UINT32 ui32Flags,
- IMG_HANDLE hUniqueTag);
- PVRSRV_ERROR PDumpMemPagesKM(PVRSRV_DEVICE_IDENTIFIER *psDevID,
- IMG_DEV_PHYADDR *pPages,
- IMG_UINT32 ui32NumPages,
- IMG_DEV_VIRTADDR sDevAddr,
- IMG_UINT32 ui32Start,
- IMG_UINT32 ui32Length,
- IMG_UINT32 ui32Flags,
- IMG_HANDLE hUniqueTag);
-
- PVRSRV_ERROR PDumpMemPDEntriesKM(PDUMP_MMU_ATTRIB *psMMUAttrib,
- IMG_HANDLE hOSMemHandle,
- IMG_CPU_VIRTADDR pvLinAddr,
- IMG_UINT32 ui32Bytes,
- IMG_UINT32 ui32Flags,
- IMG_BOOL bInitialisePages,
- IMG_HANDLE hUniqueTag1,
- IMG_HANDLE hUniqueTag2);
-
- PVRSRV_ERROR PDumpMemPTEntriesKM(PDUMP_MMU_ATTRIB *psMMUAttrib,
- IMG_HANDLE hOSMemHandle,
- IMG_CPU_VIRTADDR pvLinAddr,
- IMG_UINT32 ui32Bytes,
- IMG_UINT32 ui32Flags,
- IMG_BOOL bInitialisePages,
- IMG_HANDLE hUniqueTag1,
- IMG_HANDLE hUniqueTag2);
- IMG_VOID PDumpInitCommon(IMG_VOID);
- IMG_VOID PDumpDeInitCommon(IMG_VOID);
- IMG_VOID PDumpInit(IMG_VOID);
- IMG_VOID PDumpDeInit(IMG_VOID);
- IMG_BOOL PDumpIsSuspended(IMG_VOID);
- PVRSRV_ERROR PDumpStartInitPhaseKM(IMG_VOID);
- PVRSRV_ERROR PDumpStopInitPhaseKM(IMG_VOID);
- 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_CHAR *pszPDumpRegName,
- IMG_UINT32 ui32RegAddr,
- IMG_UINT32 ui32RegValue,
- IMG_UINT32 ui32Flags);
- PVRSRV_ERROR PDumpRegPolWithFlagsKM(IMG_CHAR *pszPDumpRegName,
- IMG_UINT32 ui32RegAddr,
- IMG_UINT32 ui32RegValue,
- IMG_UINT32 ui32Mask,
- IMG_UINT32 ui32Flags,
- PDUMP_POLL_OPERATOR eOperator);
- PVRSRV_ERROR PDumpRegPolKM(IMG_CHAR *pszPDumpRegName,
- IMG_UINT32 ui32RegAddr,
- IMG_UINT32 ui32RegValue,
- IMG_UINT32 ui32Mask,
- PDUMP_POLL_OPERATOR eOperator);
-
- IMG_IMPORT PVRSRV_ERROR PDumpBitmapKM(PVRSRV_DEVICE_NODE *psDeviceNode,
- IMG_CHAR *pszFileName,
- IMG_UINT32 ui32FileOffset,
- IMG_UINT32 ui32Width,
- IMG_UINT32 ui32Height,
- IMG_UINT32 ui32StrideInBytes,
- IMG_DEV_VIRTADDR sDevBaseAddr,
- IMG_HANDLE hDevMemContext,
- IMG_UINT32 ui32Size,
- PDUMP_PIXEL_FORMAT ePixelFormat,
- PDUMP_MEM_FORMAT eMemFormat,
- IMG_UINT32 ui32PDumpFlags);
- IMG_IMPORT PVRSRV_ERROR PDumpReadRegKM(IMG_CHAR *pszPDumpRegName,
- IMG_CHAR *pszFileName,
- IMG_UINT32 ui32FileOffset,
- IMG_UINT32 ui32Address,
- IMG_UINT32 ui32Size,
- IMG_UINT32 ui32PDumpFlags);
-
- PVRSRV_ERROR PDumpRegKM(IMG_CHAR* pszPDumpRegName,
- IMG_UINT32 dwReg,
- IMG_UINT32 dwData);
-
- PVRSRV_ERROR PDumpComment(IMG_CHAR* pszFormat, ...) IMG_FORMAT_PRINTF(1, 2);
- PVRSRV_ERROR PDumpCommentWithFlags(IMG_UINT32 ui32Flags,
- IMG_CHAR* pszFormat,
- ...) IMG_FORMAT_PRINTF(2, 3);
-
- PVRSRV_ERROR PDumpPDReg(PDUMP_MMU_ATTRIB *psMMUAttrib,
- IMG_UINT32 ui32Reg,
- IMG_UINT32 ui32dwData,
- IMG_HANDLE hUniqueTag);
- PVRSRV_ERROR PDumpPDRegWithFlags(PDUMP_MMU_ATTRIB *psMMUAttrib,
- IMG_UINT32 ui32Reg,
- IMG_UINT32 ui32Data,
- IMG_UINT32 ui32Flags,
- IMG_HANDLE hUniqueTag);
-
- IMG_BOOL PDumpIsLastCaptureFrameKM(IMG_VOID);
- IMG_IMPORT IMG_BOOL PDumpIsCaptureFrameKM(IMG_VOID);
-
- IMG_VOID PDumpMallocPagesPhys(PVRSRV_DEVICE_IDENTIFIER *psDevID,
- IMG_UINT32 ui32DevVAddr,
- IMG_PUINT32 pui32PhysPages,
- IMG_UINT32 ui32NumPages,
- IMG_HANDLE hUniqueTag);
- PVRSRV_ERROR PDumpSetMMUContext(PVRSRV_DEVICE_TYPE eDeviceType,
- IMG_CHAR *pszMemSpace,
- IMG_UINT32 *pui32MMUContextID,
- IMG_UINT32 ui32MMUType,
- IMG_HANDLE hUniqueTag1,
- IMG_HANDLE hOSMemHandle,
- IMG_VOID *pvPDCPUAddr);
- PVRSRV_ERROR PDumpClearMMUContext(PVRSRV_DEVICE_TYPE eDeviceType,
- IMG_CHAR *pszMemSpace,
- IMG_UINT32 ui32MMUContextID,
- IMG_UINT32 ui32MMUType);
-
- PVRSRV_ERROR PDumpPDDevPAddrKM(PVRSRV_KERNEL_MEM_INFO *psMemInfo,
- IMG_UINT32 ui32Offset,
- IMG_DEV_PHYADDR sPDDevPAddr,
- IMG_HANDLE hUniqueTag1,
- IMG_HANDLE hUniqueTag2);
-
- IMG_BOOL PDumpTestNextFrame(IMG_UINT32 ui32CurrentFrame);
-
- PVRSRV_ERROR PDumpSaveMemKM (PVRSRV_DEVICE_IDENTIFIER *psDevId,
- IMG_CHAR *pszFileName,
- IMG_UINT32 ui32FileOffset,
- IMG_DEV_VIRTADDR sDevBaseAddr,
- IMG_UINT32 ui32Size,
- IMG_UINT32 ui32DataMaster,
- IMG_UINT32 ui32PDumpFlags);
-
- PVRSRV_ERROR PDumpTASignatureRegisters(PVRSRV_DEVICE_IDENTIFIER *psDevId,
- IMG_UINT32 ui32DumpFrameNum,
- IMG_UINT32 ui32TAKickCount,
- IMG_BOOL bLastFrame,
- IMG_UINT32 *pui32Registers,
- IMG_UINT32 ui32NumRegisters);
-
- PVRSRV_ERROR PDump3DSignatureRegisters(PVRSRV_DEVICE_IDENTIFIER *psDevId,
- IMG_UINT32 ui32DumpFrameNum,
- IMG_BOOL bLastFrame,
- IMG_UINT32 *pui32Registers,
- IMG_UINT32 ui32NumRegisters);
-
- PVRSRV_ERROR PDumpCounterRegisters(PVRSRV_DEVICE_IDENTIFIER *psDevId,
- IMG_UINT32 ui32DumpFrameNum,
- IMG_BOOL bLastFrame,
- IMG_UINT32 *pui32Registers,
- IMG_UINT32 ui32NumRegisters);
-
- PVRSRV_ERROR PDumpRegRead(IMG_CHAR *pszPDumpRegName,
- const IMG_UINT32 dwRegOffset,
- IMG_UINT32 ui32Flags);
-
- PVRSRV_ERROR PDumpCycleCountRegRead(PVRSRV_DEVICE_IDENTIFIER *psDevId,
- const IMG_UINT32 dwRegOffset,
- IMG_BOOL bLastFrame);
-
- PVRSRV_ERROR PDumpIDLWithFlags(IMG_UINT32 ui32Clocks, IMG_UINT32 ui32Flags);
- PVRSRV_ERROR PDumpIDL(IMG_UINT32 ui32Clocks);
-
- PVRSRV_ERROR PDumpMallocPages(PVRSRV_DEVICE_IDENTIFIER *psDevID,
- IMG_UINT32 ui32DevVAddr,
- IMG_CPU_VIRTADDR pvLinAddr,
- IMG_HANDLE hOSMemHandle,
- IMG_UINT32 ui32NumBytes,
- IMG_UINT32 ui32PageSize,
- IMG_BOOL bShared,
- IMG_HANDLE hUniqueTag);
- PVRSRV_ERROR PDumpMallocPageTable(PVRSRV_DEVICE_IDENTIFIER *psDevId,
- IMG_HANDLE hOSMemHandle,
- IMG_UINT32 ui32Offset,
- IMG_CPU_VIRTADDR pvLinAddr,
- IMG_UINT32 ui32NumBytes,
- IMG_UINT32 ui32Flags,
- IMG_HANDLE hUniqueTag);
- PVRSRV_ERROR PDumpFreePages(struct _BM_HEAP_ *psBMHeap,
- IMG_DEV_VIRTADDR sDevVAddr,
- IMG_UINT32 ui32NumBytes,
- IMG_UINT32 ui32PageSize,
- IMG_HANDLE hUniqueTag,
- IMG_BOOL bInterleaved,
- IMG_BOOL bSparse);
- PVRSRV_ERROR PDumpFreePageTable(PVRSRV_DEVICE_IDENTIFIER *psDevID,
- IMG_HANDLE hOSMemHandle,
- IMG_CPU_VIRTADDR pvLinAddr,
- IMG_UINT32 ui32NumBytes,
- IMG_UINT32 ui32Flags,
- IMG_HANDLE hUniqueTag);
-
- IMG_IMPORT PVRSRV_ERROR PDumpHWPerfCBKM(PVRSRV_DEVICE_IDENTIFIER *psDevId,
- IMG_CHAR *pszFileName,
- IMG_UINT32 ui32FileOffset,
- IMG_DEV_VIRTADDR sDevBaseAddr,
- IMG_UINT32 ui32Size,
- IMG_UINT32 ui32MMUContextID,
- IMG_UINT32 ui32PDumpFlags);
-
- PVRSRV_ERROR PDumpSignatureBuffer(PVRSRV_DEVICE_IDENTIFIER *psDevId,
- IMG_CHAR *pszFileName,
- IMG_CHAR *pszBufferType,
- IMG_UINT32 ui32FileOffset,
- IMG_DEV_VIRTADDR sDevBaseAddr,
- IMG_UINT32 ui32Size,
- IMG_UINT32 ui32MMUContextID,
- IMG_UINT32 ui32PDumpFlags);
-
- PVRSRV_ERROR PDumpCBP(PPVRSRV_KERNEL_MEM_INFO psROffMemInfo,
- IMG_UINT32 ui32ROffOffset,
- IMG_UINT32 ui32WPosVal,
- IMG_UINT32 ui32PacketSize,
- IMG_UINT32 ui32BufferSize,
- IMG_UINT32 ui32Flags,
- IMG_HANDLE hUniqueTag);
-
- PVRSRV_ERROR PDumpRegBasedCBP(IMG_CHAR *pszPDumpRegName,
- IMG_UINT32 ui32RegOffset,
- IMG_UINT32 ui32WPosVal,
- IMG_UINT32 ui32PacketSize,
- IMG_UINT32 ui32BufferSize,
- IMG_UINT32 ui32Flags);
-
- IMG_VOID PDumpVGXMemToFile(IMG_CHAR *pszFileName,
- IMG_UINT32 ui32FileOffset,
- PVRSRV_KERNEL_MEM_INFO *psMemInfo,
- IMG_UINT32 uiAddr,
- IMG_UINT32 ui32Size,
- IMG_UINT32 ui32PDumpFlags,
- IMG_HANDLE hUniqueTag);
-
- IMG_VOID PDumpSuspendKM(IMG_VOID);
- IMG_VOID PDumpResumeKM(IMG_VOID);
-
- /* New pdump common functions */
- PVRSRV_ERROR PDumpStoreMemToFile(PDUMP_MMU_ATTRIB *psMMUAttrib,
- IMG_CHAR *pszFileName,
- IMG_UINT32 ui32FileOffset,
- PVRSRV_KERNEL_MEM_INFO *psMemInfo,
- IMG_UINT32 uiAddr,
- IMG_UINT32 ui32Size,
- IMG_UINT32 ui32PDumpFlags,
- IMG_HANDLE hUniqueTag);
-
- #define PDUMPMEMPOL PDumpMemPolKM
- #define PDUMPMEM PDumpMemKM
- #define PDUMPMEMPTENTRIES PDumpMemPTEntriesKM
- #define PDUMPPDENTRIES PDumpMemPDEntriesKM
- #define PDUMPMEMUM PDumpMemUM
- #define PDUMPINIT PDumpInitCommon
- #define PDUMPDEINIT PDumpDeInitCommon
- #define PDUMPISLASTFRAME PDumpIsLastCaptureFrameKM
- #define PDUMPTESTFRAME PDumpIsCaptureFrameKM
- #define PDUMPTESTNEXTFRAME PDumpTestNextFrame
- #define PDUMPREGWITHFLAGS PDumpRegWithFlagsKM
- #define PDUMPREG PDumpRegKM
- #define PDUMPCOMMENT PDumpComment
- #define PDUMPCOMMENTWITHFLAGS PDumpCommentWithFlags
- #define PDUMPREGPOL PDumpRegPolKM
- #define PDUMPREGPOLWITHFLAGS PDumpRegPolWithFlagsKM
- #define PDUMPMALLOCPAGES PDumpMallocPages
- #define PDUMPMALLOCPAGETABLE PDumpMallocPageTable
- #define PDUMPSETMMUCONTEXT PDumpSetMMUContext
- #define PDUMPCLEARMMUCONTEXT PDumpClearMMUContext
- #define PDUMPPDDEVPADDR PDumpPDDevPAddrKM
- #define PDUMPFREEPAGES PDumpFreePages
- #define PDUMPFREEPAGETABLE PDumpFreePageTable
- #define PDUMPPDREG PDumpPDReg
- #define PDUMPPDREGWITHFLAGS PDumpPDRegWithFlags
- #define PDUMPCBP PDumpCBP
- #define PDUMPREGBASEDCBP PDumpRegBasedCBP
- #define PDUMPMALLOCPAGESPHYS PDumpMallocPagesPhys
- #define PDUMPENDINITPHASE PDumpStopInitPhaseKM
- #define PDUMPBITMAPKM PDumpBitmapKM
- #define PDUMPDRIVERINFO PDumpDriverInfoKM
- #define PDUMPIDLWITHFLAGS PDumpIDLWithFlags
- #define PDUMPIDL PDumpIDL
- #define PDUMPSUSPEND PDumpSuspendKM
- #define PDUMPRESUME PDumpResumeKM
-
-#else
-#if defined LINUX || defined (__QNXNTO__) || defined GCC_IA32 || defined GCC_ARM
- #define PDUMPMEMPOL(args...)
- #define PDUMPMEM(args...)
- #define PDUMPMEMPTENTRIES(args...)
- #define PDUMPPDENTRIES(args...)
- #define PDUMPMEMUM(args...)
- #define PDUMPINIT(args...)
- #define PDUMPDEINIT(args...)
- #define PDUMPISLASTFRAME(args...)
- #define PDUMPTESTFRAME(args...)
- #define PDUMPTESTNEXTFRAME(args...)
- #define PDUMPREGWITHFLAGS(args...)
- #define PDUMPREG(args...)
- #define PDUMPCOMMENT(args...)
- #define PDUMPREGPOL(args...)
- #define PDUMPREGPOLWITHFLAGS(args...)
- #define PDUMPMALLOCPAGES(args...)
- #define PDUMPMALLOCPAGETABLE(args...)
- #define PDUMPSETMMUCONTEXT(args...)
- #define PDUMPCLEARMMUCONTEXT(args...)
- #define PDUMPPDDEVPADDR(args...)
- #define PDUMPFREEPAGES(args...)
- #define PDUMPFREEPAGETABLE(args...)
- #define PDUMPPDREG(args...)
- #define PDUMPPDREGWITHFLAGS(args...)
- #define PDUMPSYNC(args...)
- #define PDUMPCOPYTOMEM(args...)
- #define PDUMPWRITE(args...)
- #define PDUMPCBP(args...)
- #define PDUMPREGBASEDCBP(args...)
- #define PDUMPCOMMENTWITHFLAGS(args...)
- #define PDUMPMALLOCPAGESPHYS(args...)
- #define PDUMPENDINITPHASE(args...)
- #define PDUMPMSVDXREG(args...)
- #define PDUMPMSVDXREGWRITE(args...)
- #define PDUMPMSVDXREGREAD(args...)
- #define PDUMPMSVDXPOLEQ(args...)
- #define PDUMPMSVDXPOL(args...)
- #define PDUMPBITMAPKM(args...)
- #define PDUMPDRIVERINFO(args...)
- #define PDUMPIDLWITHFLAGS(args...)
- #define PDUMPIDL(args...)
- #define PDUMPSUSPEND(args...)
- #define PDUMPRESUME(args...)
- #define PDUMPMSVDXWRITEREF(args...)
- #else
- #error Compiler not specified
- #endif
-#endif
-
-#if defined (__cplusplus)
-}
-#endif
-
-#endif /* _PDUMP_KM_H_ */
-
-/******************************************************************************
- End of file (pdump_km.h)
-******************************************************************************/
diff --git a/pvr-source/services4/srvkm/include/pdump_osfunc.h b/pvr-source/services4/srvkm/include/pdump_osfunc.h
deleted file mode 100755
index 0f2e103..0000000
--- a/pvr-source/services4/srvkm/include/pdump_osfunc.h
+++ /dev/null
@@ -1,337 +0,0 @@
-/*************************************************************************/ /*!
-@Title OS-independent interface to helper functions for pdump
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-
-#include <stdarg.h>
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-
-/*
- * Some OSes (WinXP,CE) allocate the string on the stack, but some
- * (Linux,Symbian) use a global variable/lock instead.
- * Would be good to use the same across all OSes.
- *
- * A handle is returned which represents IMG_CHAR* type on all OSes except
- * Symbian when it represents PDumpState* type.
- *
- * The allocated buffer length is also returned on OSes where it's
- * supported (e.g. Linux).
- */
-#define MAX_PDUMP_STRING_LENGTH (256)
-#if defined(__QNXNTO__)
-#define PDUMP_GET_SCRIPT_STRING() \
- IMG_CHAR pszScript[MAX_PDUMP_STRING_LENGTH]; \
- IMG_UINT32 ui32MaxLen = MAX_PDUMP_STRING_LENGTH-1; \
- IMG_HANDLE hScript = (IMG_HANDLE)pszScript;
-
-#define PDUMP_GET_MSG_STRING() \
- IMG_CHAR pszMsg[MAX_PDUMP_STRING_LENGTH]; \
- IMG_UINT32 ui32MaxLen = MAX_PDUMP_STRING_LENGTH-1;
-
-#define PDUMP_GET_FILE_STRING() \
- IMG_CHAR pszFileName[MAX_PDUMP_STRING_LENGTH]; \
- IMG_UINT32 ui32MaxLen = MAX_PDUMP_STRING_LENGTH-1;
-
-#define PDUMP_GET_SCRIPT_AND_FILE_STRING() \
- IMG_CHAR pszScript[MAX_PDUMP_STRING_LENGTH]; \
- IMG_CHAR pszFileName[MAX_PDUMP_STRING_LENGTH]; \
- IMG_UINT32 ui32MaxLenScript = MAX_PDUMP_STRING_LENGTH-1; \
- IMG_UINT32 ui32MaxLenFileName = MAX_PDUMP_STRING_LENGTH-1; \
- IMG_HANDLE hScript = (IMG_HANDLE)pszScript;
-
-#else /* WIN32 or QNX */
-
-
- /*
- * Linux
- */
-#define PDUMP_GET_SCRIPT_STRING() \
- IMG_HANDLE hScript; \
- IMG_UINT32 ui32MaxLen; \
- PVRSRV_ERROR eError; \
- eError = PDumpOSGetScriptString(&hScript, &ui32MaxLen);\
- if(eError != PVRSRV_OK) return eError;
-
-#define PDUMP_GET_MSG_STRING() \
- IMG_CHAR *pszMsg; \
- IMG_UINT32 ui32MaxLen; \
- PVRSRV_ERROR eError; \
- eError = PDumpOSGetMessageString(&pszMsg, &ui32MaxLen);\
- if(eError != PVRSRV_OK) return eError;
-
-#define PDUMP_GET_FILE_STRING() \
- IMG_CHAR *pszFileName; \
- IMG_UINT32 ui32MaxLen; \
- PVRSRV_ERROR eError; \
- eError = PDumpOSGetFilenameString(&pszFileName, &ui32MaxLen);\
- if(eError != PVRSRV_OK) return eError;
-
-#define PDUMP_GET_SCRIPT_AND_FILE_STRING() \
- IMG_HANDLE hScript; \
- IMG_CHAR *pszFileName; \
- IMG_UINT32 ui32MaxLenScript; \
- IMG_UINT32 ui32MaxLenFileName; \
- PVRSRV_ERROR eError; \
- eError = PDumpOSGetScriptString(&hScript, &ui32MaxLenScript);\
- if(eError != PVRSRV_OK) return eError; \
- eError = PDumpOSGetFilenameString(&pszFileName, &ui32MaxLenFileName);\
- if(eError != PVRSRV_OK) return eError;
-
- /*!
- * @name PDumpOSGetScriptString
- * @brief Get the "script" buffer
- * @param phScript - buffer handle for pdump script
- * @param pui32MaxLen - max length of the script buffer
- * FIXME: the max length should be internal to the OS-specific code
- * @return error (always PVRSRV_OK on some OSes)
- */
- PVRSRV_ERROR PDumpOSGetScriptString(IMG_HANDLE *phScript, IMG_UINT32 *pui32MaxLen);
-
- /*!
- * @name PDumpOSGetMessageString
- * @brief Get the "message" buffer
- * @param pszMsg - buffer pointer for pdump messages
- * @param pui32MaxLen - max length of the message buffer
- * FIXME: the max length should be internal to the OS-specific code
- * @return error (always PVRSRV_OK on some OSes)
- */
- PVRSRV_ERROR PDumpOSGetMessageString(IMG_CHAR **ppszMsg, IMG_UINT32 *pui32MaxLen);
-
- /*!
- * @name PDumpOSGetFilenameString
- * @brief Get the "filename" buffer
- * @param ppszFile - buffer pointer for filename
- * @param pui32MaxLen - max length of the filename buffer
- * FIXME: the max length should be internal to the OS-specific code
- * @return error (always PVRSRV_OK on some OSes)
- */
- PVRSRV_ERROR PDumpOSGetFilenameString(IMG_CHAR **ppszFile, IMG_UINT32 *pui32MaxLen);
-
-#endif /* WIN32 or QNX */
-
-
-/*
- * Define macro for processing variable args list in OS-independent
- * manner. See e.g. PDumpComment().
- */
-
-#define PDUMP_va_list va_list
-#define PDUMP_va_start va_start
-#define PDUMP_va_end va_end
-
-
-
-/*!
- * @name PDumpOSGetStream
- * @brief Get a handle to the labelled stream (cast the handle to PDBG_STREAM to use it)
- * @param ePDumpStream - stream label
- */
-IMG_HANDLE PDumpOSGetStream(IMG_UINT32 ePDumpStream);
-
-/*!
- * @name PDumpOSGetStreamOffset
- * @brief Return current offset within the labelled stream
- * @param ePDumpStream - stream label
- */
-IMG_UINT32 PDumpOSGetStreamOffset(IMG_UINT32 ePDumpStream);
-
-/*!
- * @name PDumpOSGetParamFileNum
- * @brief Return file number of the 'script' stream, in the case that the file was split
- * @param ePDumpStream - stream label
- */
-IMG_UINT32 PDumpOSGetParamFileNum(IMG_VOID);
-
-/*!
- * @name PDumpOSCheckForSplitting
- * @brief Check if the requested pdump params are too large for a single file
- * @param hStream - pdump stream
- * @param ui32Size - size of params to dump (bytes)
- * @param ui32Flags - pdump flags
- */
-IMG_VOID PDumpOSCheckForSplitting(IMG_HANDLE hStream, IMG_UINT32 ui32Size, IMG_UINT32 ui32Flags);
-
-/*!
- * @name PDumpOSIsSuspended
- * @brief Is the pdump stream busy?
- * @return IMG_BOOL
- */
-IMG_BOOL PDumpOSIsSuspended(IMG_VOID);
-
-/*!
- * @name PDumpOSIsSuspended
- * @brief Is the pdump jump table initialised?
- * @return IMG_BOOL
- */
-IMG_BOOL PDumpOSJTInitialised(IMG_VOID);
-
-/*!
- * @name PDumpOSWriteString
- * @brief General function for writing to pdump stream.
- * Usually more convenient to use PDumpOSWriteString2 below.
- * @param hDbgStream - pdump stream handle
- * @param psui8Data - data to write
- * @param ui32Size - size of write
- * @param ui32Flags - pdump flags
- * @return error
- */
-IMG_BOOL PDumpOSWriteString(IMG_HANDLE hDbgStream,
- IMG_UINT8 *psui8Data,
- IMG_UINT32 ui32Size,
- IMG_UINT32 ui32Flags);
-
-/*!
- * @name PDumpOSWriteString2
- * @brief Write a string to the "script" output stream
- * @param pszScript - buffer to write (ptr to state structure on Symbian)
- * @param ui32Flags - pdump flags
- * @return error
- */
-IMG_BOOL PDumpOSWriteString2(IMG_HANDLE hScript, IMG_UINT32 ui32Flags);
-
-/*!
- * @name PDumpOSBufprintf
- * @brief Printf to OS-specific pdump state buffer
- * @param hBuf - buffer handle to write into (ptr to state structure on Symbian)
- * @param ui32ScriptSizeMax - maximum size of data to write (not supported on all OSes)
- * @param pszFormat - format string
- */
-PVRSRV_ERROR PDumpOSBufprintf(IMG_HANDLE hBuf, IMG_UINT32 ui32ScriptSizeMax, IMG_CHAR* pszFormat, ...) IMG_FORMAT_PRINTF(3, 4);
-
-/*!
- * @name PDumpOSDebugPrintf
- * @brief Debug message during pdumping
- * @param pszFormat - format string
- */
-IMG_VOID PDumpOSDebugPrintf(IMG_CHAR* pszFormat, ...) IMG_FORMAT_PRINTF(1, 2);
-
-/*
- * Write into a IMG_CHAR* on all OSes. Can be allocated on the stack or heap.
- */
-/*!
- * @name PDumpOSSprintf
- * @brief Printf to IMG char array
- * @param pszComment - char array to print into
- * @param pszFormat - format string
- */
-PVRSRV_ERROR PDumpOSSprintf(IMG_CHAR *pszComment, IMG_UINT32 ui32ScriptSizeMax, IMG_CHAR *pszFormat, ...) IMG_FORMAT_PRINTF(3, 4);
-
-/*!
- * @name PDumpOSVSprintf
- * @brief Printf to IMG string using variable args (see stdarg.h). This is necessary
- * because the ... notation does not support nested function calls.
- * @param pszMsg - char array to print into
- * @param ui32ScriptSizeMax - maximum size of data to write (not supported on all OSes)
- * @param pszFormat - format string
- * @param vaArgs - variable args structure (from stdarg.h)
- */
-PVRSRV_ERROR PDumpOSVSprintf(IMG_CHAR *pszMsg, IMG_UINT32 ui32ScriptSizeMax, IMG_CHAR* pszFormat, PDUMP_va_list vaArgs) IMG_FORMAT_PRINTF(3, 0);
-
-/*!
- * @name PDumpOSBuflen
- * @param hBuffer - handle to buffer (ptr to state structure on Symbian)
- * @param ui32BuffeRSizeMax - max size of buffer (chars)
- * @return length of buffer, will always be <= ui32BufferSizeMax
- */
-IMG_UINT32 PDumpOSBuflen(IMG_HANDLE hBuffer, IMG_UINT32 ui32BufferSizeMax);
-
-/*!
- * @name PDumpOSVerifyLineEnding
- * @brief Put \r\n sequence at the end if it isn't already there
- * @param hBuffer - handle to buffer
- * @param ui32BufferSizeMax - max size of buffer (chars)
- */
-IMG_VOID PDumpOSVerifyLineEnding(IMG_HANDLE hBuffer, IMG_UINT32 ui32BufferSizeMax);
-
-/*!
- * @name PDumpOSCPUVAddrToDevPAddr
- * @brief OS function to convert CPU virtual to device physical for dumping pages
- * @param hOSMemHandle mem allocation handle (used if kernel virtual mem space is limited, e.g. linux)
- * @param ui32Offset dword offset into allocation (for use with mem handle, e.g. linux)
- * @param pui8LinAddr CPU linear addr (usually a kernel virtual address)
- * @param ui32PageSize page size, used for assertion check
- * @return psDevPAddr device physical addr
- */
-IMG_VOID PDumpOSCPUVAddrToDevPAddr(PVRSRV_DEVICE_TYPE eDeviceType,
- IMG_HANDLE hOSMemHandle,
- IMG_UINT32 ui32Offset,
- IMG_UINT8 *pui8LinAddr,
- IMG_UINT32 ui32PageSize,
- IMG_DEV_PHYADDR *psDevPAddr);
-
-/*!
- * @name PDumpOSCPUVAddrToPhysPages
- * @brief OS function to convert CPU virtual to backing physical pages
- * @param hOSMemHandle mem allocation handle (used if kernel virtual mem space is limited, e.g. linux)
- * @param ui32Offset offset within mem allocation block
- * @param pui8LinAddr CPU linear addr
- * @param ui32DataPageMask mask for data page (= data page size -1)
- * @return pui32PageOffset CPU page offset (same as device page offset if page sizes equal)
- */
-IMG_VOID PDumpOSCPUVAddrToPhysPages(IMG_HANDLE hOSMemHandle,
- IMG_UINT32 ui32Offset,
- IMG_PUINT8 pui8LinAddr,
- IMG_UINT32 ui32DataPageMask,
- IMG_UINT32 *pui32PageOffset);
-
-/*!
- * @name PDumpOSReleaseExecution
- * @brief OS function to switch to another process, to clear pdump buffers
- */
-IMG_VOID PDumpOSReleaseExecution(IMG_VOID);
-
-/*!
- * @name PDumpOSIsCaptureFrameKM
- * @brief Is the current frame a capture frame?
- */
-IMG_BOOL PDumpOSIsCaptureFrameKM(IMG_VOID);
-
-/*!
- * @name PDumpOSSetFrameKM
- * @brief Set frame counter
- */
-PVRSRV_ERROR PDumpOSSetFrameKM(IMG_UINT32 ui32Frame);
-
-#if defined (__cplusplus)
-}
-#endif
diff --git a/pvr-source/services4/srvkm/include/perfkm.h b/pvr-source/services4/srvkm/include/perfkm.h
deleted file mode 100755
index 458a29b..0000000
--- a/pvr-source/services4/srvkm/include/perfkm.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*************************************************************************/ /*!
-@Title Perf initialisation
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-#ifndef _PERFKM_H_
-#define _PERFKM_H_
-
-#include "img_types.h"
-
-#define PERFINIT()
-#define PERFDEINIT()
-
-#endif /* _PERFKM_H_ */
-
-/******************************************************************************
- End of file (perfkm.h)
-******************************************************************************/
diff --git a/pvr-source/services4/srvkm/include/perproc.h b/pvr-source/services4/srvkm/include/perproc.h
deleted file mode 100755
index d603613..0000000
--- a/pvr-source/services4/srvkm/include/perproc.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/*************************************************************************/ /*!
-@Title Handle Manager API
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@Description Perprocess data
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-#ifndef __PERPROC_H__
-#define __PERPROC_H__
-
-#if defined (__cplusplus)
-extern "C" {
-#endif
-
-#include "img_types.h"
-#include "resman.h"
-
-#include "handle.h"
-
-typedef struct _PVRSRV_PER_PROCESS_DATA_
-{
- IMG_UINT32 ui32PID;
- IMG_HANDLE hBlockAlloc;
- PRESMAN_CONTEXT hResManContext;
-#if defined (SUPPORT_SID_INTERFACE)
- IMG_SID hPerProcData;
-#else
- IMG_HANDLE hPerProcData;
-#endif
- PVRSRV_HANDLE_BASE *psHandleBase;
-#if defined (SUPPORT_SID_INTERFACE)
- /* Handles are being allocated in batches */
- IMG_BOOL bHandlesBatched;
-#else
-#if defined (PVR_SECURE_HANDLES)
- /* Handles are being allocated in batches */
- IMG_BOOL bHandlesBatched;
-#endif /* PVR_SECURE_HANDLES */
-#endif /* SUPPORT_SID_INTERFACE */
- IMG_UINT32 ui32RefCount;
-
- /* True if the process is the initialisation server. */
- IMG_BOOL bInitProcess;
-#if defined(PDUMP)
- /* True if pdump data from the process is 'persistent' */
- IMG_BOOL bPDumpPersistent;
-#if defined(SUPPORT_PDUMP_MULTI_PROCESS)
- /* True if this process is marked for pdumping. This flag is
- * significant in a multi-app environment.
- */
- IMG_BOOL bPDumpActive;
-#endif /* SUPPORT_PDUMP_MULTI_PROCESS */
-#endif
- /*
- * OS specific data can be stored via this handle.
- * See osperproc.h for a generic mechanism for initialising
- * this field.
- */
- IMG_HANDLE hOsPrivateData;
-} PVRSRV_PER_PROCESS_DATA;
-
-PVRSRV_PER_PROCESS_DATA *PVRSRVPerProcessData(IMG_UINT32 ui32PID);
-
-PVRSRV_ERROR PVRSRVPerProcessDataConnect(IMG_UINT32 ui32PID, IMG_UINT32 ui32Flags);
-IMG_VOID PVRSRVPerProcessDataDisconnect(IMG_UINT32 ui32PID);
-
-PVRSRV_ERROR PVRSRVPerProcessDataInit(IMG_VOID);
-PVRSRV_ERROR PVRSRVPerProcessDataDeInit(IMG_VOID);
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVFindPerProcessData)
-#endif
-static INLINE
-PVRSRV_PER_PROCESS_DATA *PVRSRVFindPerProcessData(IMG_VOID)
-{
- return PVRSRVPerProcessData(OSGetCurrentProcessIDKM());
-}
-
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVProcessPrivateData)
-#endif
-static INLINE
-IMG_HANDLE PVRSRVProcessPrivateData(PVRSRV_PER_PROCESS_DATA *psPerProc)
-{
- return (psPerProc != IMG_NULL) ? psPerProc->hOsPrivateData : IMG_NULL;
-}
-
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVPerProcessPrivateData)
-#endif
-static INLINE
-IMG_HANDLE PVRSRVPerProcessPrivateData(IMG_UINT32 ui32PID)
-{
- return PVRSRVProcessPrivateData(PVRSRVPerProcessData(ui32PID));
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVFindPerProcessPrivateData)
-#endif
-static INLINE
-IMG_HANDLE PVRSRVFindPerProcessPrivateData(IMG_VOID)
-{
- return PVRSRVProcessPrivateData(PVRSRVFindPerProcessData());
-}
-
-#if defined (__cplusplus)
-}
-#endif
-
-#endif /* __PERPROC_H__ */
-
-/******************************************************************************
- End of file (perproc.h)
-******************************************************************************/
diff --git a/pvr-source/services4/srvkm/include/power.h b/pvr-source/services4/srvkm/include/power.h
deleted file mode 100755
index 0abaf75..0000000
--- a/pvr-source/services4/srvkm/include/power.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/*************************************************************************/ /*!
-@Title Power Management Functions
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@Description Main APIs for power management functions
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-#ifndef POWER_H
-#define POWER_H
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-
-/*!
- *****************************************************************************
- * Power management
- *****************************************************************************/
-
-typedef struct _PVRSRV_POWER_DEV_TAG_
-{
- PFN_PRE_POWER pfnPrePower;
- PFN_POST_POWER pfnPostPower;
- PFN_PRE_CLOCKSPEED_CHANGE pfnPreClockSpeedChange;
- PFN_POST_CLOCKSPEED_CHANGE pfnPostClockSpeedChange;
- IMG_HANDLE hDevCookie;
- IMG_UINT32 ui32DeviceIndex;
- PVRSRV_DEV_POWER_STATE eDefaultPowerState;
- PVRSRV_DEV_POWER_STATE eCurrentPowerState;
- struct _PVRSRV_POWER_DEV_TAG_ *psNext;
- struct _PVRSRV_POWER_DEV_TAG_ **ppsThis;
-
-} PVRSRV_POWER_DEV;
-
-typedef enum _PVRSRV_INIT_SERVER_STATE_
-{
- PVRSRV_INIT_SERVER_Unspecified = -1,
- PVRSRV_INIT_SERVER_RUNNING = 0,
- PVRSRV_INIT_SERVER_RAN = 1,
- PVRSRV_INIT_SERVER_SUCCESSFUL = 2,
- PVRSRV_INIT_SERVER_NUM = 3,
- PVRSRV_INIT_SERVER_FORCE_I32 = 0x7fffffff
-
-} PVRSRV_INIT_SERVER_STATE, *PPVRSRV_INIT_SERVER_STATE;
-
-IMG_IMPORT
-IMG_BOOL PVRSRVGetInitServerState(PVRSRV_INIT_SERVER_STATE eInitServerState);
-
-IMG_IMPORT
-PVRSRV_ERROR PVRSRVSetInitServerState(PVRSRV_INIT_SERVER_STATE eInitServerState, IMG_BOOL bState);
-
-
-
-IMG_IMPORT
-PVRSRV_ERROR PVRSRVPowerLock(IMG_UINT32 ui32CallerID,
- IMG_BOOL bSystemPowerEvent);
-IMG_IMPORT
-IMG_VOID PVRSRVPowerUnlock(IMG_UINT32 ui32CallerID);
-
-IMG_IMPORT
-PVRSRV_ERROR PVRSRVSetDevicePowerStateKM(IMG_UINT32 ui32DeviceIndex,
- PVRSRV_DEV_POWER_STATE eNewPowerState);
-
-IMG_IMPORT
-PVRSRV_ERROR PVRSRVSystemPrePowerStateKM(PVRSRV_SYS_POWER_STATE eNewPowerState);
-IMG_IMPORT
-PVRSRV_ERROR PVRSRVSystemPostPowerStateKM(PVRSRV_SYS_POWER_STATE eNewPowerState);
-
-IMG_IMPORT
-PVRSRV_ERROR PVRSRVSetPowerStateKM (PVRSRV_SYS_POWER_STATE ePVRState);
-
-IMG_IMPORT
-PVRSRV_ERROR PVRSRVRegisterPowerDevice(IMG_UINT32 ui32DeviceIndex,
- PFN_PRE_POWER pfnPrePower,
- PFN_POST_POWER pfnPostPower,
- PFN_PRE_CLOCKSPEED_CHANGE pfnPreClockSpeedChange,
- PFN_POST_CLOCKSPEED_CHANGE pfnPostClockSpeedChange,
- IMG_HANDLE hDevCookie,
- PVRSRV_DEV_POWER_STATE eCurrentPowerState,
- PVRSRV_DEV_POWER_STATE eDefaultPowerState);
-
-IMG_IMPORT
-PVRSRV_ERROR PVRSRVRemovePowerDevice (IMG_UINT32 ui32DeviceIndex);
-
-IMG_IMPORT
-IMG_BOOL PVRSRVIsDevicePowered(IMG_UINT32 ui32DeviceIndex);
-
-IMG_IMPORT
-PVRSRV_ERROR PVRSRVDevicePreClockSpeedChange(IMG_UINT32 ui32DeviceIndex,
- IMG_BOOL bIdleDevice,
- IMG_VOID *pvInfo);
-
-IMG_IMPORT
-IMG_VOID PVRSRVDevicePostClockSpeedChange(IMG_UINT32 ui32DeviceIndex,
- IMG_BOOL bIdleDevice,
- IMG_VOID *pvInfo);
-
-#if defined (__cplusplus)
-}
-#endif
-#endif /* POWER_H */
-
-/******************************************************************************
- End of file (power.h)
-******************************************************************************/
diff --git a/pvr-source/services4/srvkm/include/queue.h b/pvr-source/services4/srvkm/include/queue.h
deleted file mode 100755
index 58f8093..0000000
--- a/pvr-source/services4/srvkm/include/queue.h
+++ /dev/null
@@ -1,145 +0,0 @@
-/*************************************************************************/ /*!
-@Title Command Queue API
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@Description Internal structures and definitions for command queues
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-
-#ifndef QUEUE_H
-#define QUEUE_H
-
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-/*!
- * Macro to Read Offset in given command queue
- */
-#define UPDATE_QUEUE_ROFF(psQueue, ui32Size) \
- (psQueue)->ui32ReadOffset = ((psQueue)->ui32ReadOffset + (ui32Size)) \
- & ((psQueue)->ui32QueueSize - 1);
-
-/*!
- generic cmd complete structure.
- This structure represents the storage required between starting and finishing
- a given cmd and is required to hold the generic sync object update data.
- note: for any given system we know what command types we support and
- therefore how much storage is required for any number of commands in progress
- */
- typedef struct _COMMAND_COMPLETE_DATA_
- {
- IMG_BOOL bInUse;
- /* <arg(s) to PVRSRVProcessQueues>; */ /*!< TBD */
- IMG_UINT32 ui32DstSyncCount; /*!< number of dst sync objects */
- IMG_UINT32 ui32SrcSyncCount; /*!< number of src sync objects */
- PVRSRV_SYNC_OBJECT *psDstSync; /*!< dst sync ptr list,
- allocated on back of this structure */
- PVRSRV_SYNC_OBJECT *psSrcSync; /*!< src sync ptr list,
- allocated on back of this structure */
- IMG_UINT32 ui32AllocSize; /*!< allocated size*/
- PFN_QUEUE_COMMAND_COMPLETE pfnCommandComplete; /*!< Command complete callback */
- IMG_HANDLE hCallbackData; /*!< Command complete callback data */
- }COMMAND_COMPLETE_DATA, *PCOMMAND_COMPLETE_DATA;
-
-#if !defined(USE_CODE)
-IMG_VOID QueueDumpDebugInfo(IMG_VOID);
-
-IMG_IMPORT
-PVRSRV_ERROR PVRSRVProcessQueues (IMG_BOOL bFlush);
-
-#if defined(__linux__) && defined(__KERNEL__)
-#include <linux/types.h>
-#include <linux/seq_file.h>
-void* ProcSeqOff2ElementQueue(struct seq_file * sfile, loff_t off);
-void ProcSeqShowQueue(struct seq_file *sfile,void* el);
-#endif
-
-
-IMG_IMPORT
-PVRSRV_ERROR IMG_CALLCONV PVRSRVCreateCommandQueueKM(IMG_SIZE_T ui32QueueSize,
- PVRSRV_QUEUE_INFO **ppsQueueInfo);
-IMG_IMPORT
-PVRSRV_ERROR IMG_CALLCONV PVRSRVDestroyCommandQueueKM(PVRSRV_QUEUE_INFO *psQueueInfo);
-
-IMG_IMPORT
-PVRSRV_ERROR IMG_CALLCONV PVRSRVInsertCommandKM(PVRSRV_QUEUE_INFO *psQueue,
- PVRSRV_COMMAND **ppsCommand,
- IMG_UINT32 ui32DevIndex,
- IMG_UINT16 CommandType,
- IMG_UINT32 ui32DstSyncCount,
- PVRSRV_KERNEL_SYNC_INFO *apsDstSync[],
- IMG_UINT32 ui32SrcSyncCount,
- PVRSRV_KERNEL_SYNC_INFO *apsSrcSync[],
- IMG_SIZE_T ui32DataByteSize,
- PFN_QUEUE_COMMAND_COMPLETE pfnCommandComplete,
- IMG_HANDLE hCallbackData);
-
-IMG_IMPORT
-PVRSRV_ERROR IMG_CALLCONV PVRSRVGetQueueSpaceKM(PVRSRV_QUEUE_INFO *psQueue,
- IMG_SIZE_T ui32ParamSize,
- IMG_VOID **ppvSpace);
-
-IMG_IMPORT
-PVRSRV_ERROR IMG_CALLCONV PVRSRVSubmitCommandKM(PVRSRV_QUEUE_INFO *psQueue,
- PVRSRV_COMMAND *psCommand);
-
-IMG_IMPORT
-IMG_VOID PVRSRVCommandCompleteKM(IMG_HANDLE hCmdCookie, IMG_BOOL bScheduleMISR);
-
-IMG_IMPORT
-PVRSRV_ERROR PVRSRVRegisterCmdProcListKM(IMG_UINT32 ui32DevIndex,
- PFN_CMD_PROC *ppfnCmdProcList,
- IMG_UINT32 ui32MaxSyncsPerCmd[][2],
- IMG_UINT32 ui32CmdCount);
-IMG_IMPORT
-PVRSRV_ERROR PVRSRVRemoveCmdProcListKM(IMG_UINT32 ui32DevIndex,
- IMG_UINT32 ui32CmdCount);
-
-#endif /* !defined(USE_CODE) */
-
-
-#if defined (__cplusplus)
-}
-#endif
-
-#endif /* QUEUE_H */
-
-/******************************************************************************
- End of file (queue.h)
-******************************************************************************/
diff --git a/pvr-source/services4/srvkm/include/ra.h b/pvr-source/services4/srvkm/include/ra.h
deleted file mode 100755
index b84a8e5..0000000
--- a/pvr-source/services4/srvkm/include/ra.h
+++ /dev/null
@@ -1,293 +0,0 @@
-/*************************************************************************/ /*!
-@Title Resource Allocator API
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-
-#ifndef _RA_H_
-#define _RA_H_
-
-#include "img_types.h"
-#include "hash.h"
-#include "osfunc.h"
-
-/** Resource arena.
- * struct _RA_ARENA_ deliberately opaque
- */
-typedef struct _RA_ARENA_ RA_ARENA; //PRQA S 3313
-typedef struct _BM_MAPPING_ BM_MAPPING;
-
-
-
-/** Enable support for arena statistics. */
-#define RA_STATS
-
-
-/** Resource arena statistics. */
-struct _RA_STATISTICS_
-{
- /** total number of segments add to the arena */
- IMG_SIZE_T uSpanCount;
-
- /** number of current live segments within the arena */
- IMG_SIZE_T uLiveSegmentCount;
-
- /** number of current free segments within the arena */
- IMG_SIZE_T uFreeSegmentCount;
-
- /** total number of resource within the arena */
- IMG_SIZE_T uTotalResourceCount;
-
- /** number of free resource within the arena */
- IMG_SIZE_T uFreeResourceCount;
-
- /** total number of resources allocated from the arena */
- IMG_SIZE_T uCumulativeAllocs;
-
- /** total number of resources returned to the arena */
- IMG_SIZE_T uCumulativeFrees;
-
- /** total number of spans allocated by the callback mechanism */
- IMG_SIZE_T uImportCount;
-
- /** total number of spans deallocated by the callback mechanism */
- IMG_SIZE_T uExportCount;
-
- IMG_SIZE_T uFailedAllocCount;
-
-};
-typedef struct _RA_STATISTICS_ RA_STATISTICS;
-
-struct _RA_SEGMENT_DETAILS_
-{
- IMG_SIZE_T uiSize;
- IMG_CPU_PHYADDR sCpuPhyAddr;
- IMG_HANDLE hSegment;
-};
-typedef struct _RA_SEGMENT_DETAILS_ RA_SEGMENT_DETAILS;
-
-/**
- * @Function RA_Create
- *
- * @Description
- *
- * To create a resource arena.
- *
- * @Input name - the name of the arena for diagnostic purposes.
- * @Input base - the base of an initial resource span or 0.
- * @Input uSize - the size of an initial resource span or 0.
- * @Input pRef - the reference to return for the initial resource or 0.
- * @Input uQuantum - the arena allocation quantum.
- * @Input alloc - a resource allocation callback or 0.
- * @Input free - a resource de-allocation callback or 0.
- * @Input import_handle - handle passed to alloc and free or 0.
- * @Return arena handle, or IMG_NULL.
- */
-RA_ARENA *
-RA_Create (IMG_CHAR *name,
- IMG_UINTPTR_T base,
- IMG_SIZE_T uSize,
- BM_MAPPING *psMapping,
- IMG_SIZE_T uQuantum,
- IMG_BOOL (*imp_alloc)(IMG_VOID *_h,
- IMG_SIZE_T uSize,
- IMG_SIZE_T *pActualSize,
- BM_MAPPING **ppsMapping,
- IMG_UINT32 uFlags,
- IMG_PVOID pvPrivData,
- IMG_UINT32 ui32PrivDataLength,
- IMG_UINTPTR_T *pBase),
- IMG_VOID (*imp_free) (IMG_VOID *,
- IMG_UINTPTR_T,
- BM_MAPPING *),
- IMG_VOID (*backingstore_free) (IMG_VOID *,
- IMG_SIZE_T,
- IMG_SIZE_T,
- IMG_HANDLE),
- IMG_VOID *import_handle);
-
-/**
- * @Function RA_Delete
- *
- * @Description
- *
- * To delete a resource arena. All resources allocated from the arena
- * must be freed before deleting the arena.
- *
- * @Input pArena - the arena to delete.
- * @Return None
- */
-IMG_VOID
-RA_Delete (RA_ARENA *pArena);
-
-/**
- * @Function RA_TestDelete
- *
- * @Description
- *
- * To test whether it is safe to delete a resource arena. If any allocations
- * have not been freed, the RA must not be deleted.
- *
- * @Input pArena - the arena to test.
- * @Return IMG_BOOL - IMG_TRUE if is safe to go on and call RA_Delete.
- */
-IMG_BOOL
-RA_TestDelete (RA_ARENA *pArena);
-
-/**
- * @Function RA_Add
- *
- * @Description
- *
- * To add a resource span to an arena. The span must not overlap with
- * any span previously added to the arena.
- *
- * @Input pArena - the arena to add a span into.
- * @Input base - the base of the span.
- * @Input uSize - the extent of the span.
- * @Return IMG_TRUE - success, IMG_FALSE - failure
- */
-IMG_BOOL
-RA_Add (RA_ARENA *pArena, IMG_UINTPTR_T base, IMG_SIZE_T uSize);
-
-/**
- * @Function RA_Alloc
- *
- * @Description
- *
- * To allocate resource from an arena.
- *
- * @Input pArena - the arena
- * @Input uRequestSize - the size of resource segment requested.
- * @Output pActualSize - the actual_size of resource segment allocated,
- * typcially rounded up by quantum.
- * @Output ppsMapping - the user reference associated with allocated
- * resource span.
- * @Input uFlags - flags influencing allocation policy.
- * @Input uAlignment - the alignment constraint required for the
- * allocated segment, use 0 if alignment not required.
- * @Input uAlignmentOffset - the required alignment offset
- * @Input pvPrivData - private data passed to OS allocator
- * @Input ui32PrivData - length of private data
- *
- * @Output pBase - allocated base resource
- * @Return IMG_TRUE - success, IMG_FALSE - failure
- */
-IMG_BOOL
-RA_Alloc (RA_ARENA *pArena,
- IMG_SIZE_T uSize,
- IMG_SIZE_T *pActualSize,
- BM_MAPPING **ppsMapping,
- IMG_UINT32 uFlags,
- IMG_UINT32 uAlignment,
- IMG_UINT32 uAlignmentOffset,
- IMG_PVOID pvPrivData,
- IMG_UINT32 ui32PrivDataLength,
- IMG_UINTPTR_T *pBase);
-
-/**
- * @Function RA_Free
- *
- * @Description To free a resource segment.
- *
- * @Input pArena - the arena the segment was originally allocated from.
- * @Input base - the base of the resource span to free.
- * @Input bFreeBackingStore - Should backing store memory be freed?
- *
- * @Return None
- */
-IMG_VOID
-RA_Free (RA_ARENA *pArena, IMG_UINTPTR_T base, IMG_BOOL bFreeBackingStore);
-
-
-#ifdef RA_STATS
-
-#define CHECK_SPACE(total) \
-{ \
- if((total)<100) \
- return PVRSRV_ERROR_INVALID_PARAMS; \
-}
-
-#define UPDATE_SPACE(str, count, total) \
-{ \
- if((count) == -1) \
- return PVRSRV_ERROR_INVALID_PARAMS; \
- else \
- { \
- (str) += (count); \
- (total) -= (count); \
- } \
-}
-
-
-/**
- * @Function RA_GetNextLiveSegment
- *
- * @Description Returns details of the next live resource segments
- *
- * @Input pArena - the arena the segment was originally allocated from.
- * @Output psSegDetails - rtn details of segments
- *
- * @Return IMG_TRUE if operation succeeded
- */
-IMG_BOOL RA_GetNextLiveSegment(IMG_HANDLE hArena, RA_SEGMENT_DETAILS *psSegDetails);
-
-
-/**
- * @Function RA_GetStats
- *
- * @Description gets stats on a given arena
- *
- * @Input pArena - the arena the segment was originally allocated from.
- * @Input ppszStr - string to write stats to
- * @Input pui32StrLen - length of string
- *
- * @Return PVRSRV_ERROR
- */
-PVRSRV_ERROR RA_GetStats(RA_ARENA *pArena,
- IMG_CHAR **ppszStr,
- IMG_UINT32 *pui32StrLen);
-
-PVRSRV_ERROR RA_GetStatsFreeMem(RA_ARENA *pArena,
- IMG_CHAR **ppszStr,
- IMG_UINT32 *pui32StrLen);
-
-#endif /* #ifdef RA_STATS */
-
-#endif
-
diff --git a/pvr-source/services4/srvkm/include/refcount.h b/pvr-source/services4/srvkm/include/refcount.h
deleted file mode 100755
index 0e3479d..0000000
--- a/pvr-source/services4/srvkm/include/refcount.h
+++ /dev/null
@@ -1,203 +0,0 @@
-/*************************************************************************/ /*!
-@Title Services reference count debugging
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-
-#ifndef __REFCOUNT_H__
-#define __REFCOUNT_H__
-
-#include "pvr_bridge_km.h"
-
-#if defined(PVRSRV_REFCOUNT_DEBUG)
-
-void PVRSRVDumpRefCountCCB(void);
-
-#define PVRSRVKernelSyncInfoIncRef(x...) \
- PVRSRVKernelSyncInfoIncRef2(__FILE__, __LINE__, x)
-#define PVRSRVKernelSyncInfoDecRef(x...) \
- PVRSRVKernelSyncInfoDecRef2(__FILE__, __LINE__, x)
-#define PVRSRVKernelMemInfoIncRef(x...) \
- PVRSRVKernelMemInfoIncRef2(__FILE__, __LINE__, x)
-#define PVRSRVKernelMemInfoDecRef(x...) \
- PVRSRVKernelMemInfoDecRef2(__FILE__, __LINE__, x)
-#define PVRSRVBMBufIncRef(x...) \
- PVRSRVBMBufIncRef2(__FILE__, __LINE__, x)
-#define PVRSRVBMBufDecRef(x...) \
- PVRSRVBMBufDecRef2(__FILE__, __LINE__, x)
-#define PVRSRVBMBufIncExport(x...) \
- PVRSRVBMBufIncExport2(__FILE__, __LINE__, x)
-#define PVRSRVBMBufDecExport(x...) \
- PVRSRVBMBufDecExport2(__FILE__, __LINE__, x)
-
-void PVRSRVKernelSyncInfoIncRef2(const IMG_CHAR *pszFile, IMG_INT iLine,
- PVRSRV_KERNEL_SYNC_INFO *psKernelSyncInfo,
- PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo);
-void PVRSRVKernelSyncInfoDecRef2(const IMG_CHAR *pszFile, IMG_INT iLine,
- PVRSRV_KERNEL_SYNC_INFO *psKernelSyncInfo,
- PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo);
-void PVRSRVKernelMemInfoIncRef2(const IMG_CHAR *pszFile, IMG_INT iLine,
- PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo);
-void PVRSRVKernelMemInfoDecRef2(const IMG_CHAR *pszFile, IMG_INT iLine,
- PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo);
-void PVRSRVBMBufIncRef2(const IMG_CHAR *pszFile,
- IMG_INT iLine, BM_BUF *pBuf);
-void PVRSRVBMBufDecRef2(const IMG_CHAR *pszFile,
- IMG_INT iLine, BM_BUF *pBuf);
-void PVRSRVBMBufIncExport2(const IMG_CHAR *pszFile,
- IMG_INT iLine, BM_BUF *pBuf);
-void PVRSRVBMBufDecExport2(const IMG_CHAR *pszFile,
- IMG_INT iLine, BM_BUF *pBuf);
-void PVRSRVBMXProcIncRef2(const IMG_CHAR *pszFile, IMG_INT iLine,
- IMG_UINT32 ui32Index);
-void PVRSRVBMXProcDecRef2(const IMG_CHAR *pszFile, IMG_INT iLine,
- IMG_UINT32 ui32Index);
-
-#if defined(__linux__)
-
-/* mmap refcounting is Linux specific */
-#include "mmap.h"
-
-#define PVRSRVOffsetStructIncRef(x...) \
- PVRSRVOffsetStructIncRef2(__FILE__, __LINE__, x)
-#define PVRSRVOffsetStructDecRef(x...) \
- PVRSRVOffsetStructDecRef2(__FILE__, __LINE__, x)
-#define PVRSRVOffsetStructIncMapped(x...) \
- PVRSRVOffsetStructIncMapped2(__FILE__, __LINE__, x)
-#define PVRSRVOffsetStructDecMapped(x...) \
- PVRSRVOffsetStructDecMapped2(__FILE__, __LINE__, x)
-
-void PVRSRVOffsetStructIncRef2(const IMG_CHAR *pszFile, IMG_INT iLine,
- PKV_OFFSET_STRUCT psOffsetStruct);
-void PVRSRVOffsetStructDecRef2(const IMG_CHAR *pszFile, IMG_INT iLine,
- PKV_OFFSET_STRUCT psOffsetStruct);
-void PVRSRVOffsetStructIncMapped2(const IMG_CHAR *pszFile, IMG_INT iLine,
- PKV_OFFSET_STRUCT psOffsetStruct);
-void PVRSRVOffsetStructDecMapped2(const IMG_CHAR *pszFile, IMG_INT iLine,
- PKV_OFFSET_STRUCT psOffsetStruct);
-
-#endif /* defined(__linux__) */
-
-#else /* defined(PVRSRV_REFCOUNT_DEBUG) */
-
-static INLINE void PVRSRVDumpRefCountCCB(void) { }
-
-static INLINE void PVRSRVKernelSyncInfoIncRef(PVRSRV_KERNEL_SYNC_INFO *psKernelSyncInfo,
- PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo)
-{
- PVR_UNREFERENCED_PARAMETER(psKernelMemInfo);
- PVRSRVAcquireSyncInfoKM(psKernelSyncInfo);
-}
-
-static INLINE void PVRSRVKernelSyncInfoDecRef(PVRSRV_KERNEL_SYNC_INFO *psKernelSyncInfo,
- PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo)
-{
- PVR_UNREFERENCED_PARAMETER(psKernelMemInfo);
- PVRSRVReleaseSyncInfoKM(psKernelSyncInfo);
-}
-
-static INLINE void PVRSRVKernelMemInfoIncRef(PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo)
-{
- psKernelMemInfo->ui32RefCount++;
-}
-
-static INLINE void PVRSRVKernelMemInfoDecRef(PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo)
-{
- psKernelMemInfo->ui32RefCount--;
-}
-
-static INLINE void PVRSRVBMBufIncRef(BM_BUF *pBuf)
-{
- pBuf->ui32RefCount++;
-}
-
-static INLINE void PVRSRVBMBufDecRef(BM_BUF *pBuf)
-{
- pBuf->ui32RefCount--;
-}
-
-static INLINE void PVRSRVBMBufIncExport(BM_BUF *pBuf)
-{
- pBuf->ui32ExportCount++;
-}
-
-static INLINE void PVRSRVBMBufDecExport(BM_BUF *pBuf)
-{
- pBuf->ui32ExportCount--;
-}
-
-static INLINE void PVRSRVBMXProcIncRef(IMG_UINT32 ui32Index)
-{
- gXProcWorkaroundShareData[ui32Index].ui32RefCount++;
-}
-
-static INLINE void PVRSRVBMXProcDecRef(IMG_UINT32 ui32Index)
-{
- gXProcWorkaroundShareData[ui32Index].ui32RefCount--;
-}
-
-#if defined(__linux__)
-
-/* mmap refcounting is Linux specific */
-#include "mmap.h"
-
-static INLINE void PVRSRVOffsetStructIncRef(PKV_OFFSET_STRUCT psOffsetStruct)
-{
- psOffsetStruct->ui32RefCount++;
-}
-
-static INLINE void PVRSRVOffsetStructDecRef(PKV_OFFSET_STRUCT psOffsetStruct)
-{
- psOffsetStruct->ui32RefCount--;
-}
-
-static INLINE void PVRSRVOffsetStructIncMapped(PKV_OFFSET_STRUCT psOffsetStruct)
-{
- psOffsetStruct->ui32Mapped++;
-}
-
-static INLINE void PVRSRVOffsetStructDecMapped(PKV_OFFSET_STRUCT psOffsetStruct)
-{
- psOffsetStruct->ui32Mapped--;
-}
-
-#endif /* defined(__linux__) */
-
-#endif /* defined(PVRSRV_REFCOUNT_DEBUG) */
-
-#endif /* __REFCOUNT_H__ */
diff --git a/pvr-source/services4/srvkm/include/resman.h b/pvr-source/services4/srvkm/include/resman.h
deleted file mode 100755
index 92659d9..0000000
--- a/pvr-source/services4/srvkm/include/resman.h
+++ /dev/null
@@ -1,152 +0,0 @@
-/*************************************************************************/ /*!
-@Title Resource Manager API
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@Description Provide resource management
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-
-#ifndef __RESMAN_H__
-#define __RESMAN_H__
-
-#if defined (__cplusplus)
-extern "C" {
-#endif
-
-/******************************************************************************
- * resman definitions
- *****************************************************************************/
-
-enum {
- /* SGX: */
- RESMAN_TYPE_SHARED_PB_DESC = 1, /*!< Parameter buffer kernel stubs */
- RESMAN_TYPE_SHARED_PB_DESC_CREATE_LOCK, /*!< Shared parameter buffer creation lock */
- RESMAN_TYPE_HW_RENDER_CONTEXT, /*!< Hardware Render Context Resource */
- RESMAN_TYPE_HW_TRANSFER_CONTEXT, /*!< Hardware transfer Context Resource */
- RESMAN_TYPE_HW_2D_CONTEXT, /*!< Hardware 2D Context Resource */
- RESMAN_TYPE_TRANSFER_CONTEXT, /*!< Transfer Queue context */
-
- /* VGX: */
- RESMAN_TYPE_DMA_CLIENT_FIFO_DATA, /*!< VGX DMA Client FIFO data */
-
- /* DISPLAY CLASS: */
- RESMAN_TYPE_DISPLAYCLASS_SWAPCHAIN_REF, /*!< Display Class Swapchain Reference Resource */
- RESMAN_TYPE_DISPLAYCLASS_DEVICE, /*!< Display Class Device Resource */
-
- /* BUFFER CLASS: */
- RESMAN_TYPE_BUFFERCLASS_DEVICE, /*!< Buffer Class Device Resource */
-
- /* OS specific User mode Mappings: */
- RESMAN_TYPE_OS_USERMODE_MAPPING, /*!< OS specific User mode mappings */
-
- /* COMMON: */
- RESMAN_TYPE_DEVICEMEM_CONTEXT, /*!< Device Memory Context Resource */
- RESMAN_TYPE_DEVICECLASSMEM_MAPPING, /*!< Device Memory Mapping Resource */
- RESMAN_TYPE_DEVICEMEM_MAPPING, /*!< Device Memory Mapping Resource */
- RESMAN_TYPE_DEVICEMEM_WRAP, /*!< Device Memory Wrap Resource */
- RESMAN_TYPE_DEVICEMEM_ALLOCATION, /*!< Device Memory Allocation Resource */
- RESMAN_TYPE_DEVICEMEM_ION, /*!< Device Memory Ion Resource */
- RESMAN_TYPE_EVENT_OBJECT, /*!< Event Object */
- RESMAN_TYPE_SHARED_MEM_INFO, /*!< Shared system memory meminfo */
- RESMAN_TYPE_MODIFY_SYNC_OPS, /*!< Syncobject synchronisation Resource*/
- RESMAN_TYPE_SYNC_INFO, /*!< Syncobject Resource*/
-
- /* KERNEL: */
- RESMAN_TYPE_KERNEL_DEVICEMEM_ALLOCATION /*!< Device Memory Allocation Resource */
-};
-
-#define RESMAN_CRITERIA_ALL 0x00000000 /*!< match by criteria all */
-#define RESMAN_CRITERIA_RESTYPE 0x00000001 /*!< match by criteria type */
-#define RESMAN_CRITERIA_PVOID_PARAM 0x00000002 /*!< match by criteria param1 */
-#define RESMAN_CRITERIA_UI32_PARAM 0x00000004 /*!< match by criteria param2 */
-
-typedef PVRSRV_ERROR (*RESMAN_FREE_FN)(IMG_PVOID pvParam, IMG_UINT32 ui32Param, IMG_BOOL bForceCleanup);
-
-typedef struct _RESMAN_ITEM_ *PRESMAN_ITEM;
-typedef struct _RESMAN_CONTEXT_ *PRESMAN_CONTEXT;
-
-/******************************************************************************
- * resman functions
- *****************************************************************************/
-
-/*
- Note:
- Resource cleanup can fail with retry in which case we don't remove
- it from resman's list and either UM or KM will try to release the
- resource at a later date (and will keep trying until a non-retry
- error is returned)
-*/
-
-PVRSRV_ERROR ResManInit(IMG_VOID);
-IMG_VOID ResManDeInit(IMG_VOID);
-
-PRESMAN_ITEM ResManRegisterRes(PRESMAN_CONTEXT hResManContext,
- IMG_UINT32 ui32ResType,
- IMG_PVOID pvParam,
- IMG_UINT32 ui32Param,
- RESMAN_FREE_FN pfnFreeResource);
-
-PVRSRV_ERROR ResManFreeResByPtr(PRESMAN_ITEM psResItem,
- IMG_BOOL bForceCleanup);
-
-PVRSRV_ERROR ResManFreeResByCriteria(PRESMAN_CONTEXT hResManContext,
- IMG_UINT32 ui32SearchCriteria,
- IMG_UINT32 ui32ResType,
- IMG_PVOID pvParam,
- IMG_UINT32 ui32Param);
-
-PVRSRV_ERROR ResManDissociateRes(PRESMAN_ITEM psResItem,
- PRESMAN_CONTEXT psNewResManContext);
-
-PVRSRV_ERROR ResManFindResourceByPtr(PRESMAN_CONTEXT hResManContext,
- PRESMAN_ITEM psItem);
-
-PVRSRV_ERROR PVRSRVResManConnect(IMG_HANDLE hPerProc,
- PRESMAN_CONTEXT *phResManContext);
-IMG_VOID PVRSRVResManDisconnect(PRESMAN_CONTEXT hResManContext,
- IMG_BOOL bKernelContext);
-
-#if defined (__cplusplus)
-}
-#endif
-
-#endif /* __RESMAN_H__ */
-
-/******************************************************************************
- End of file (resman.h)
-******************************************************************************/
-
diff --git a/pvr-source/services4/srvkm/include/services_headers.h b/pvr-source/services4/srvkm/include/services_headers.h
deleted file mode 100755
index d09b8a8..0000000
--- a/pvr-source/services4/srvkm/include/services_headers.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*************************************************************************/ /*!
-@Title Command queues and synchronisation
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@Description Internal structures and definitions for command queues and
- synchronisation
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-
-
-#ifndef SERVICES_HEADERS_H
-#define SERVICES_HEADERS_H
-
-#ifdef DEBUG_RELEASE_BUILD
-#pragma optimize( "", off )
-#define DEBUG 1
-#endif
-
-#include "img_defs.h"
-#include "services.h"
-#include "servicesint.h"
-#include "power.h"
-#include "resman.h"
-#include "queue.h"
-#include "srvkm.h"
-#include "kerneldisplay.h"
-#include "syscommon.h"
-#include "pvr_debug.h"
-#include "metrics.h"
-#include "osfunc.h"
-#include "refcount.h"
-
-#endif /* SERVICES_HEADERS_H */
-
diff --git a/pvr-source/services4/srvkm/include/srvkm.h b/pvr-source/services4/srvkm/include/srvkm.h
deleted file mode 100755
index 5d396f8..0000000
--- a/pvr-source/services4/srvkm/include/srvkm.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/*************************************************************************/ /*!
-@Title Services kernel module internal header file
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-
-#ifndef SRVKM_H
-#define SRVKM_H
-
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
- /** Use PVR_DPF() unless message is necessary in release build
- */
- #ifdef PVR_DISABLE_LOGGING
- #define PVR_LOG(X)
- #else
- /* PRQA S 3410 1 */ /* this macro requires no brackets in order to work */
- #define PVR_LOG(X) PVRSRVReleasePrintf X;
- #endif
-
- IMG_IMPORT IMG_VOID IMG_CALLCONV PVRSRVReleasePrintf(const IMG_CHAR *pszFormat, ...) IMG_FORMAT_PRINTF(1, 2);
-
- IMG_IMPORT PVRSRV_ERROR IMG_CALLCONV PVRSRVProcessConnect(IMG_UINT32 ui32PID, IMG_UINT32 ui32Flags);
- IMG_IMPORT IMG_VOID IMG_CALLCONV PVRSRVProcessDisconnect(IMG_UINT32 ui32PID);
-
- IMG_IMPORT IMG_VOID PVRSRVScheduleDevicesKM(IMG_VOID);
-
- 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);
-
- IMG_VOID PVRSRVScheduleDeviceCallbacks(IMG_VOID);
-
-
-#if defined (__cplusplus)
-}
-#endif
-
-/******************
-HIGHER LEVEL MACROS
-*******************/
-
-/*----------------------------------------------------------------------------
-Repeats the body of the loop for a certain minimum time, or until the body
-exits by its own means (break, return, goto, etc.)
-
-Example of usage:
-
-LOOP_UNTIL_TIMEOUT(MAX_HW_TIME_US)
-{
- if(psQueueInfo->ui32ReadOffset == psQueueInfo->ui32WriteOffset)
- {
- bTimeout = IMG_FALSE;
- break;
- }
-
- OSWaitus(MAX_HW_TIME_US/WAIT_TRY_COUNT);
-} END_LOOP_UNTIL_TIMEOUT();
-
------------------------------------------------------------------------------*/
-
-/* uiNotLastLoop will remain at 1 until the timeout has expired, at which time
- * it will be decremented and the loop executed one final time. This is necessary
- * when preemption is enabled.
- */
-/* PRQA S 3411,3431 12 */ /* critical format, leave alone */
-#define LOOP_UNTIL_TIMEOUT(TIMEOUT) \
-{\
- IMG_UINT32 uiOffset, uiStart, uiCurrent; \
- IMG_INT32 iNotLastLoop; \
- for(uiOffset = 0, uiStart = OSClockus(), uiCurrent = uiStart + 1, iNotLastLoop = 1;\
- ((uiCurrent - uiStart + uiOffset) < (TIMEOUT)) || iNotLastLoop--; \
- uiCurrent = OSClockus(), \
- uiOffset = uiCurrent < uiStart ? IMG_UINT32_MAX - uiStart : uiOffset, \
- uiStart = uiCurrent < uiStart ? 0 : uiStart)
-
-#define END_LOOP_UNTIL_TIMEOUT() \
-}
-
-/*!
- ******************************************************************************
-
- @Function PVRSRVGetErrorStringKM
-
- @Description Returns a text string relating to the PVRSRV_ERROR enum.
-
- ******************************************************************************/
-IMG_IMPORT
-const IMG_CHAR *PVRSRVGetErrorStringKM(PVRSRV_ERROR eError);
-
-#endif /* SRVKM_H */
diff --git a/pvr-source/services4/srvkm/include/ttrace.h b/pvr-source/services4/srvkm/include/ttrace.h
deleted file mode 100755
index cb70ff8..0000000
--- a/pvr-source/services4/srvkm/include/ttrace.h
+++ /dev/null
@@ -1,200 +0,0 @@
-/*************************************************************************/ /*!
-@Title Timed Trace header
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@Description Timed Trace header. Contines structures and functions used
- in the timed trace subsystem.
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-#include "services_headers.h"
-#include "ttrace_common.h"
-#include "ttrace_tokens.h"
-
-#ifndef __TTRACE_H__
-#define __TTRACE_H__
-
-#if defined(TTRACE)
-
- #define PVR_TTRACE(group, class, token) \
- PVRSRVTimeTrace(group, class, token)
- #define PVR_TTRACE_UI8(group, class, token, val) \
- PVRSRVTimeTraceUI8(group, class, token, val)
- #define PVR_TTRACE_UI16(group, class, token, val) \
- PVRSRVTimeTraceUI16(group, class, token, val)
- #define PVR_TTRACE_UI32(group, class, token, val) \
- PVRSRVTimeTraceUI32(group, class, token, val)
- #define PVR_TTRACE_UI64(group, class, token, val) \
- PVRSRVTimeTraceUI64(group, class, token, val)
- #define PVR_TTRACE_DEV_VIRTADDR(group, class, token, val) \
- PVRSRVTimeTraceDevVirtAddr(group, class, token, val)
- #define PVR_TTRACE_CPU_PHYADDR(group, class, token, val) \
- PVRSRVTimeTraceCpuPhyAddr(group, class, token, val)
- #define PVR_TTRACE_DEV_PHYADDR(group, class, token, val) \
- PVRSRVTimeTraceDevPhysAddr(group, class, token, val)
- #define PVR_TTRACE_SYS_PHYADDR(group, class, token, val) \
- PVRSRVTimeTraceSysPhysAddr(group, class, token, val)
- #define PVR_TTRACE_SYNC_OBJECT(group, token, syncobj, op) \
- PVRSRVTimeTraceSyncObject(group, token, syncobj, op)
-
-IMG_IMPORT IMG_VOID IMG_CALLCONV PVRSRVTimeTraceArray(IMG_UINT32 ui32Group, IMG_UINT32 ui32Class,
- IMG_UINT32 ui32Token, IMG_UINT32 ui32TypeSize,
- IMG_UINT32 ui32Count, IMG_UINT8 *ui8Data);
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVTimeTrace)
-#endif
-static INLINE IMG_VOID PVRSRVTimeTrace(IMG_UINT32 ui32Group, IMG_UINT32 ui32Class,
- IMG_UINT32 ui32Token)
-{
- PVRSRVTimeTraceArray(ui32Group, ui32Class, ui32Token, 0, 0, NULL);
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVTimeTraceUI8)
-#endif
-static INLINE IMG_VOID PVRSRVTimeTraceUI8(IMG_UINT32 ui32Group, IMG_UINT32 ui32Class,
- IMG_UINT32 ui32Token, IMG_UINT8 ui8Value)
-{
- PVRSRVTimeTraceArray(ui32Group, ui32Class, ui32Token, PVRSRV_TRACE_TYPE_UI8,
- 1, &ui8Value);
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVTimeTraceUI16)
-#endif
-static INLINE IMG_VOID PVRSRVTimeTraceUI16(IMG_UINT32 ui32Group, IMG_UINT32 ui32Class,
- IMG_UINT32 ui32Token, IMG_UINT16 ui16Value)
-{
- PVRSRVTimeTraceArray(ui32Group, ui32Class, ui32Token, PVRSRV_TRACE_TYPE_UI16,
- 1, (IMG_UINT8 *) &ui16Value);
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVTimeTraceUI32)
-#endif
-static INLINE IMG_VOID PVRSRVTimeTraceUI32(IMG_UINT32 ui32Group, IMG_UINT32 ui32Class,
- IMG_UINT32 ui32Token, IMG_UINT32 ui32Value)
-{
- PVRSRVTimeTraceArray(ui32Group, ui32Class, ui32Token, PVRSRV_TRACE_TYPE_UI32,
- 1, (IMG_UINT8 *) &ui32Value);
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVTimeTraceUI64)
-#endif
-static INLINE IMG_VOID PVRSRVTimeTraceUI64(IMG_UINT32 ui32Group, IMG_UINT32 ui32Class,
- IMG_UINT32 ui32Token, IMG_UINT64 ui64Value)
-{
- PVRSRVTimeTraceArray(ui32Group, ui32Class, ui32Token, PVRSRV_TRACE_TYPE_UI64,
- 1, (IMG_UINT8 *) &ui64Value);
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVTimeTraceDevVirtAddr)
-#endif
-static INLINE IMG_VOID PVRSRVTimeTraceDevVirtAddr(IMG_UINT32 ui32Group, IMG_UINT32 ui32Class,
- IMG_UINT32 ui32Token, IMG_DEV_VIRTADDR psVAddr)
-{
- PVRSRVTimeTraceArray(ui32Group, ui32Class, ui32Token, PVRSRV_TRACE_TYPE_UI32,
- 1, (IMG_UINT8 *) &psVAddr.uiAddr);
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVTimeTraceCpuPhyAddr)
-#endif
-static INLINE IMG_VOID PVRSRVTimeTraceCpuPhyAddr(IMG_UINT32 ui32Group, IMG_UINT32 ui32Class,
- IMG_UINT32 ui32Token, IMG_CPU_PHYADDR psPAddr)
-{
- PVRSRVTimeTraceArray(ui32Group, ui32Class, ui32Token, PVRSRV_TRACE_TYPE_UI32,
- 1, (IMG_UINT8 *) &psPAddr.uiAddr);
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVTimeTraceDevPhysAddr)
-#endif
-static INLINE IMG_VOID PVRSRVTimeTraceDevPhysAddr(IMG_UINT32 ui32Group, IMG_UINT32 ui32Class,
- IMG_UINT32 ui32Token, IMG_DEV_PHYADDR psPAddr)
-{
- PVRSRVTimeTraceArray(ui32Group, ui32Class, ui32Token, PVRSRV_TRACE_TYPE_UI32,
- 1, (IMG_UINT8 *) &psPAddr.uiAddr);
-}
-
-#ifdef INLINE_IS_PRAGMA
-#pragma inline(PVRSRVTimeTraceSysPhysAddr)
-#endif
-static INLINE IMG_VOID PVRSRVTimeTraceSysPhysAddr(IMG_UINT32 ui32Group, IMG_UINT32 ui32Class,
- IMG_UINT32 ui32Token, IMG_SYS_PHYADDR psPAddr)
-{
- PVRSRVTimeTraceArray(ui32Group, ui32Class, ui32Token, sizeof(psPAddr.uiAddr),
- 1, (IMG_UINT8 *) &psPAddr.uiAddr);
-}
-
-#else /* defined(PVRSRV_NEED_PVR_TIME_TRACE) */
-
- #define PVR_TTRACE(group, class, token) \
- ((void) 0)
- #define PVR_TTRACE_UI8(group, class, token, val) \
- ((void) 0)
- #define PVR_TTRACE_UI16(group, class, token, val) \
- ((void) 0)
- #define PVR_TTRACE_UI32(group, class, token, val) \
- ((void) 0)
- #define PVR_TTRACE_UI64(group, class, token, val) \
- ((void) 0)
- #define PVR_TTRACE_DEV_VIRTADDR(group, class, token, val) \
- ((void) 0)
- #define PVR_TTRACE_CPU_PHYADDR(group, class, token, val) \
- ((void) 0)
- #define PVR_TTRACE_DEV_PHYADDR(group, class, token, val) \
- ((void) 0)
- #define PVR_TTRACE_SYS_PHYADDR(group, class, token, val) \
- ((void) 0)
- #define PVR_TTRACE_SYNC_OBJECT(group, token, syncobj, op) \
- ((void) 0)
-
-#endif /* defined(PVRSRV_NEED_PVR_TIME_TRACE) */
-
-IMG_IMPORT PVRSRV_ERROR PVRSRVTimeTraceInit(IMG_VOID);
-IMG_IMPORT IMG_VOID PVRSRVTimeTraceDeinit(IMG_VOID);
-
-IMG_IMPORT IMG_VOID PVRSRVTimeTraceSyncObject(IMG_UINT32 ui32Group, IMG_UINT32 ui32Token,
- PVRSRV_KERNEL_SYNC_INFO *psSync, IMG_UINT8 ui8SyncOp);
-IMG_IMPORT PVRSRV_ERROR PVRSRVTimeTraceBufferCreate(IMG_UINT32 ui32PID);
-IMG_IMPORT PVRSRV_ERROR PVRSRVTimeTraceBufferDestroy(IMG_UINT32 ui32PID);
-
-IMG_IMPORT IMG_VOID PVRSRVDumpTimeTraceBuffers(IMG_VOID);
-#endif /* __TTRACE_H__ */
diff --git a/pvr-source/services4/srvkm/include/ttrace_common.h b/pvr-source/services4/srvkm/include/ttrace_common.h
deleted file mode 100755
index b14f256..0000000
--- a/pvr-source/services4/srvkm/include/ttrace_common.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/*************************************************************************/ /*!
-@Title Timed Trace header
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@Description Timed Trace common header. Contains shared defines and
- structures which are shared with the post processing tool.
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-#include "img_types.h"
-
-#ifndef __TTRACE_COMMON_H__
-#define __TTRACE_COMMON_H__
-
-/*
- * Trace item
- * ==========
- *
- * A trace item contains a trace header, a timestamp, a UID and a
- * data header all of which are 32-bit and mandatory. If there
- * is no data then the data header size is set to 0.
- *
- * Trace header
- * ------------
- * 31 27 23 19 15 11 7 3
- * GGGG GGGG CCCC CCCC TTTT TTTT TTTT TTTT
- *
- * G = group
- * Note:
- * Group 0xff means the message is padding
- *
- * C = class
- * T = Token
- *
- * Data header
- *-----------
- * 31 27 23 19 15 11 7 3
- * SSSS SSSS SSSS SSSS TTTT CCCC CCCC CCCC
- *
- * S = data packet size
- * T = Type
- * 0000 - 8 bit
- * 0001 - 16 bit
- * 0010 - 32 bit
- * 0011 - 64 bit
- *
- * C = data item count
- *
- * Note: It might look strange having both the packet
- * size and the data item count, but the idea
- * is the you might have a "special" data type
- * who's size might not be known by the post
- * processing program and rather then fail
- * processing the buffer after that point if we
- * know the size we can just skip it and move to
- * the next item.
- */
-
-
-#define PVRSRV_TRACE_HEADER 0
-#define PVRSRV_TRACE_TIMESTAMP 1
-#define PVRSRV_TRACE_HOSTUID 2
-#define PVRSRV_TRACE_DATA_HEADER 3
-#define PVRSRV_TRACE_DATA_PAYLOAD 4
-
-#define PVRSRV_TRACE_ITEM_SIZE 16
-
-#define PVRSRV_TRACE_GROUP_MASK 0xff
-#define PVRSRV_TRACE_CLASS_MASK 0xff
-#define PVRSRV_TRACE_TOKEN_MASK 0xffff
-
-#define PVRSRV_TRACE_GROUP_SHIFT 24
-#define PVRSRV_TRACE_CLASS_SHIFT 16
-#define PVRSRV_TRACE_TOKEN_SHIFT 0
-
-#define PVRSRV_TRACE_SIZE_MASK 0xffff
-#define PVRSRV_TRACE_TYPE_MASK 0xf
-#define PVRSRV_TRACE_COUNT_MASK 0xfff
-
-#define PVRSRV_TRACE_SIZE_SHIFT 16
-#define PVRSRV_TRACE_TYPE_SHIFT 12
-#define PVRSRV_TRACE_COUNT_SHIFT 0
-
-
-#define WRITE_HEADER(n,m) \
- ((m & PVRSRV_TRACE_##n##_MASK) << PVRSRV_TRACE_##n##_SHIFT)
-
-#define READ_HEADER(n,m) \
- ((m & (PVRSRV_TRACE_##n##_MASK << PVRSRV_TRACE_##n##_SHIFT)) >> PVRSRV_TRACE_##n##_SHIFT)
-
-#define TIME_TRACE_BUFFER_SIZE 4096
-
-/* Type defines for trace items */
-#define PVRSRV_TRACE_TYPE_UI8 0
-#define PVRSRV_TRACE_TYPE_UI16 1
-#define PVRSRV_TRACE_TYPE_UI32 2
-#define PVRSRV_TRACE_TYPE_UI64 3
-
-#define PVRSRV_TRACE_TYPE_SYNC 15
- #define PVRSRV_TRACE_SYNC_UID 0
- #define PVRSRV_TRACE_SYNC_WOP 1
- #define PVRSRV_TRACE_SYNC_WOC 2
- #define PVRSRV_TRACE_SYNC_ROP 3
- #define PVRSRV_TRACE_SYNC_ROC 4
- #define PVRSRV_TRACE_SYNC_WO_DEV_VADDR 5
- #define PVRSRV_TRACE_SYNC_RO_DEV_VADDR 6
- #define PVRSRV_TRACE_SYNC_OP 7
- #define PVRSRV_TRACE_SYNC_RO2P 8
- #define PVRSRV_TRACE_SYNC_RO2C 9
- #define PVRSRV_TRACE_SYNC_RO2_DEV_VADDR 10
-#define PVRSRV_TRACE_TYPE_SYNC_SIZE ((PVRSRV_TRACE_SYNC_RO2_DEV_VADDR + 1) * sizeof(IMG_UINT32))
-
-#endif /* __TTRACE_COMMON_H__*/
diff --git a/pvr-source/services4/srvkm/include/ttrace_tokens.h b/pvr-source/services4/srvkm/include/ttrace_tokens.h
deleted file mode 100755
index 24bc484..0000000
--- a/pvr-source/services4/srvkm/include/ttrace_tokens.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*************************************************************************/ /*!
-@Title Timed Trace header
-@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@Description Timed Trace token header. Contains defines for all the tokens
- used.
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/ /**************************************************************************/
-
-#ifndef __TTRACE_TOKENS_H__
-#define __TTRACE_TOKENS_H__
-
-/* All defines should use decimal so to not confuse the post processing tool */
-
-/* Trace groups */
-#define PVRSRV_TRACE_GROUP_KICK 0
-#define PVRSRV_TRACE_GROUP_TRANSFER 1
-#define PVRSRV_TRACE_GROUP_QUEUE 2
-#define PVRSRV_TRACE_GROUP_POWER 3
-#define PVRSRV_TRACE_GROUP_MKSYNC 4
-
-#define PVRSRV_TRACE_GROUP_PADDING 255
-
-/* Trace classes */
-#define PVRSRV_TRACE_CLASS_FUNCTION_ENTER 0
-#define PVRSRV_TRACE_CLASS_FUNCTION_EXIT 1
-#define PVRSRV_TRACE_CLASS_SYNC 2
-#define PVRSRV_TRACE_CLASS_CCB 3
-#define PVRSRV_TRACE_CLASS_CMD_START 4
-#define PVRSRV_TRACE_CLASS_CMD_END 5
-#define PVRSRV_TRACE_CLASS_CMD_COMP_START 6
-#define PVRSRV_TRACE_CLASS_CMD_COMP_END 7
-#define PVRSRV_TRACE_CLASS_FLAGS 8
-
-#define PVRSRV_TRACE_CLASS_NONE 255
-
-/* Operation about to happen on the sync object */
-#define PVRSRV_SYNCOP_SAMPLE 0
-#define PVRSRV_SYNCOP_COMPLETE 1
-#define PVRSRV_SYNCOP_DUMP 2
-
-/*
- * Trace tokens
- * ------------
- * These only need to unique within a group.
- */
-
-/* Kick group tokens */
-#define KICK_TOKEN_DOKICK 0
-#define KICK_TOKEN_CCB_OFFSET 1
-#define KICK_TOKEN_TA3D_SYNC 2
-#define KICK_TOKEN_TA_SYNC 3
-#define KICK_TOKEN_3D_SYNC 4
-#define KICK_TOKEN_SRC_SYNC 5
-#define KICK_TOKEN_DST_SYNC 6
-#define KICK_TOKEN_FIRST_KICK 7
-#define KICK_TOKEN_LAST_KICK 8
-
-/* Transfer Queue group tokens */
-#define TRANSFER_TOKEN_SUBMIT 0
-#define TRANSFER_TOKEN_TA_SYNC 1
-#define TRANSFER_TOKEN_3D_SYNC 2
-#define TRANSFER_TOKEN_SRC_SYNC 3
-#define TRANSFER_TOKEN_DST_SYNC 4
-#define TRANSFER_TOKEN_CCB_OFFSET 5
-
-/* Queue group tokens */
-#define QUEUE_TOKEN_GET_SPACE 0
-#define QUEUE_TOKEN_INSERTKM 1
-#define QUEUE_TOKEN_SUBMITKM 2
-#define QUEUE_TOKEN_PROCESS_COMMAND 3
-#define QUEUE_TOKEN_PROCESS_QUEUES 4
-#define QUEUE_TOKEN_COMMAND_COMPLETE 5
-#define QUEUE_TOKEN_UPDATE_DST 6
-#define QUEUE_TOKEN_UPDATE_SRC 7
-#define QUEUE_TOKEN_SRC_SYNC 8
-#define QUEUE_TOKEN_DST_SYNC 9
-#define QUEUE_TOKEN_COMMAND_TYPE 10
-
-/* uKernel Sync tokens */
-#define MKSYNC_TOKEN_KERNEL_CCB_OFFSET 0
-#define MKSYNC_TOKEN_CORE_CLK 1
-#define MKSYNC_TOKEN_UKERNEL_CLK 2
-
-#endif /* __TTRACE_TOKENS_H__ */