diff options
Diffstat (limited to 'kernel_drivers/v4_cleaned/gc_hal_kernel_os.h')
-rw-r--r-- | kernel_drivers/v4_cleaned/gc_hal_kernel_os.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/kernel_drivers/v4_cleaned/gc_hal_kernel_os.h b/kernel_drivers/v4_cleaned/gc_hal_kernel_os.h new file mode 100644 index 0000000..84f5e7e --- /dev/null +++ b/kernel_drivers/v4_cleaned/gc_hal_kernel_os.h @@ -0,0 +1,85 @@ +/**************************************************************************** +* +* Copyright (C) 2005 - 2012 by Vivante Corp. +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; either version 2 of the license, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not write to the Free Software +* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +* +*****************************************************************************/ + +#ifndef __gc_hal_kernel_os_h_ +#define __gc_hal_kernel_os_h_ + +typedef struct _LINUX_MDL_MAP +{ + int pid; + void * vmaAddr; + struct vm_area_struct * vma; + struct _LINUX_MDL_MAP * next; +} +LINUX_MDL_MAP; + +typedef struct _LINUX_MDL_MAP * PLINUX_MDL_MAP; + +typedef struct _LINUX_MDL +{ + int pid; + char * addr; + + union _pages + { + /* Pointer to a array of pages. */ + struct page * contiguousPages; + /* Pointer to a array of pointers to page. */ + struct page ** nonContiguousPages; + } + u; + +#ifdef NO_DMA_COHERENT + void * kaddr; +#endif /* NO_DMA_COHERENT */ + + int numPages; + int pagedMem; + int contiguous; + dma_addr_t dmaHandle; + PLINUX_MDL_MAP maps; + struct _LINUX_MDL * prev; + struct _LINUX_MDL * next; +} +LINUX_MDL, *PLINUX_MDL; + +extern PLINUX_MDL_MAP +FindMdlMap( + IN PLINUX_MDL Mdl, + IN int PID + ); + +typedef struct _DRIVER_ARGS +{ + void * InputBuffer; + u32 InputBufferSize; + void * OutputBuffer; + u32 OutputBufferSize; +} +DRIVER_ARGS; + +/* Cleanup the signal table. */ +gceSTATUS +gckOS_CleanProcessSignal( + gckOS Os, + gctHANDLE Process + ); + +#endif /* __gc_hal_kernel_os_h_ */ |