1 /****************************************************************************
3 * Copyright (C) 2005 - 2011 by Vivante Corp.
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the license, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 *****************************************************************************/
24 #ifndef __gc_hal_kernel_hardware_h_
25 #define __gc_hal_kernel_hardware_h_
28 #include "gc_hal_kernel_hardware_vg.h"
35 /* gckHARDWARE object. */
41 /* Pointer to gctKERNEL object. */
44 /* Pointer to gctOS object. */
50 /* Chip characteristics. */
51 gceCHIPMODEL chipModel
;
52 gctUINT32 chipRevision
;
53 gctUINT32 chipFeatures
;
54 gctUINT32 chipMinorFeatures0
;
55 gctUINT32 chipMinorFeatures1
;
56 gctUINT32 chipMinorFeatures2
;
57 gctUINT32 chipMinorFeatures3
;
58 gctBOOL allowFastClear
;
59 gctBOOL allowCompression
;
60 gctUINT32 powerBaseAddress
;
61 gctBOOL extraEventStates
;
64 gctUINT32 streamCount
;
65 gctUINT32 registerMax
;
66 gctUINT32 threadCount
;
67 gctUINT32 shaderCoreCount
;
68 gctUINT32 vertexCacheSize
;
69 gctUINT32 vertexOutputBufferSize
;
70 gctUINT32 instructionCount
;
71 gctUINT32 numConstants
;
78 gctPOINTER powerMutex
;
79 gctUINT32 powerProcess
;
80 gctUINT32 powerThread
;
81 gceCHIPPOWERSTATE chipPowerState
;
82 gctUINT32 lastWaitLink
;
85 gctPOINTER globalSemaphore
;
87 gctISRMANAGERFUNC startIsr
;
88 gctISRMANAGERFUNC stopIsr
;
89 gctPOINTER isrContext
;
94 gceHARDWARE_TYPE type
;
96 #if gcdPOWEROFF_TIMEOUT
97 gctUINT32 powerOffTime
;
98 gctPOINTER powerOffSema
;
103 gckHARDWARE_GetBaseAddress(
104 IN gckHARDWARE Hardware
,
105 OUT gctUINT32_PTR BaseAddress
109 gckHARDWARE_NeedBaseAddress(
110 IN gckHARDWARE Hardware
,
112 OUT gctBOOL_PTR NeedBase
116 gckHARDWARE_GetFrameInfo(
117 IN gckHARDWARE Hardware
,
118 OUT gcsHAL_FRAME_INFO
* FrameInfo
125 #endif /* __gc_hal_kernel_hardware_h_ */