3 EXTRA_CFLAGS += -D__linux__
10 services4/3rdparty/dc_omap3430_linux/omaplfb_displayclass.o \
11 services4/3rdparty/dc_omap3430_linux/omaplfb_linux.o
14 services4/srvkm/env/linux/osfunc.o \
15 services4/srvkm/env/linux/mmap.o \
16 services4/srvkm/env/linux/module.o \
17 services4/srvkm/env/linux/pdump.o \
18 services4/srvkm/env/linux/proc.o \
19 services4/srvkm/env/linux/pvr_bridge_k.o \
20 services4/srvkm/env/linux/pvr_debug.o \
21 services4/srvkm/env/linux/mm.o \
22 services4/srvkm/env/linux/mutex.o \
23 services4/srvkm/env/linux/event.o \
24 services4/srvkm/common/buffer_manager.o \
25 services4/srvkm/common/devicemem.o \
26 services4/srvkm/common/deviceclass.o \
27 services4/srvkm/common/handle.o \
28 services4/srvkm/common/hash.o \
29 services4/srvkm/common/metrics.o \
30 services4/srvkm/common/pvrsrv.o \
31 services4/srvkm/common/queue.o \
32 services4/srvkm/common/ra.o \
33 services4/srvkm/common/resman.o \
34 services4/srvkm/common/power.o \
35 services4/srvkm/common/mem.o \
36 services4/srvkm/bridged/bridged_pvr_bridge.o \
37 services4/srvkm/devices/sgx/sgxinit.o \
38 services4/srvkm/devices/sgx/sgxreset.o \
39 services4/srvkm/devices/sgx/sgxutils.o \
40 services4/srvkm/devices/sgx/sgxkick.o \
41 services4/srvkm/devices/sgx/sgxtransfer.o \
42 services4/srvkm/devices/sgx/mmu.o \
43 services4/srvkm/devices/sgx/pb.o \
44 services4/srvkm/common/perproc.o \
45 services4/system/$(PVR_SYSTEM)/sysconfig.o \
46 services4/system/$(PVR_SYSTEM)/sysutils.o
50 -I$(src)/services4/include \
51 -I$(src)/services4/srvkm/env/linux \
52 -I$(src)/services4/srvkm/include \
53 -I$(src)/services4/srvkm/bridged \
54 -I$(src)/services4/srvkm/devices/sgx \
55 -I$(src)/services4/system/$(PVR_SYSTEM) \
56 -I$(src)/services4/system/include \
57 -I$(src)/services4/srvkm/hwdefs \
58 -Iarch/arm/plat-omap/include/mach
60 # Work out our origins. eurasiacon.pj is not supplied to end-users
61 # so instead we supply pvrversion.h. We produce pvrversion.h if
64 DATE := $(shell date "+%a %B %d %Z %Y" )
67 CORE = -DSGX530 -DSUPPORT_SGX530 -DSGX_CORE_REV=121
69 # --------------------------------------------------------------------------------
72 SUPPORT_HW_RECOVERY = 1
73 SUPPORT_SGX_HWPERF = 1
74 SYS_USING_INTERRUPTS = 1
80 # Only enable active power management if passive power management is
81 # enabled, as indicated by LDM_PLATFORM being set to 1. On OMAP,
82 # the system can suspend in the case where active power management is
83 # enabled in the SGX driver, but passive power management isn't. As
84 # passive power management isn't enabled, the driver won't see the
85 # system suspend/resume events, and so won't take appropriate action.
86 ifeq ($(LDM_PLATFORM),1)
87 SUPPORT_ACTIVE_POWER_MANAGEMENT ?= 1
89 SUPPORT_ACTIVE_POWER_MANAGEMENT = 0
93 # The standard CFLAGS macro can be overridden on the 'make' command line. We
94 # put CBUILD in a separate macro so its setting doesn't get lost when a user
95 # *does* override CFLAGS.
98 CBUILD = -DPVR_BUILD_DIR="\"$(PVR_BUILD_DIR)\"" \
99 -DPVR_BUILD_DATE="\"$(DATE)\"" \
100 -DPVR_BUILD_TYPE="\"$(BUILD)\""
102 # OPTIM contains the optimisation level in timing and release builds
105 # Don't support HW recovery on debug builds
106 CBUILD.debug = -DDEBUG
107 CBUILD.timing = -DTIMING
108 CBUILD.release = -DRELEASE
109 _CFLAGS.debug = -g -O0 -DDLL_METRIC=1
110 _CFLAGS.timing = $(OPTIM) -g -DDLL_METRIC=1 -DTIMING
111 _CFLAGS.release = $(OPTIM) -g
112 _CFLAGS = $(_CFLAGS.$(BUILD)) -DSGX_DYNAMIC_TIMING_INFO
114 # Defaults for useful things.
117 ifeq ("$(BUILD)", "debug")
118 DEBUG_LINUX_MEMORY_ALLOCATIONS ?= 1
119 DEBUG_LINUX_MEM_AREAS ?= 1
120 DEBUG_LINUX_MMAP_AREAS ?= 1
121 DEBUG_LINUX_XML_PROC_FILES ?= 0
122 DEBUG_LINUX_SLAB_ALLOCATIONS ?= 0
124 DEBUG_TRACE_BRIDGE_KM ?= 0
125 DEBUG_BRIDGE_KM_DISPATCH_TABLE ?= 0
129 SUPPORT_SGX_EVENT_OBJECT ?=1
130 SUPPORT_SECURE_HANDLES ?= 1
132 SUPPORT_PERCONTEXT_PB = 1
134 SYS_CFLAGS += -DSERVICES4 -D_XOPEN_SOURCE=600 -DPVR2D_VALIDATE_INPUT_PARAMS
138 USE_GCC__thread_KEYWORD ?= 0
139 OPTIMISE_NON_NPTL_SINGLE_THREAD_TLS_LOOKUP ?= 0
142 # Automatically define C compiler macros for features possible (or not) in use.
144 SYS_CFLAGS.$(SUPPORT_SRVINIT) += -DSUPPORT_SRVINIT
146 SYS_CFLAGS.$(SUPPORT_SGX) += -DSUPPORT_SGX
147 SYS_CFLAGS.$(SUPPORT_XWS) += -DSUPPORT_XWS
148 SYS_CFLAGS.$(PDUMP) += -DPDUMP
149 SYS_CFLAGS.$(SUPPORT_POWER_MANAGEMENT) += -DSUPPORT_POWER_MANAGEMENT
150 SYS_CFLAGS.$(SUPPORT_BUFFER_CLASS) += -DSUPPORT_BUFFER_CLASS
152 SYS_CFLAGS.$(SUPPORT_PERCONTEXT_PB) += -DSUPPORT_PERCONTEXT_PB
153 SYS_CFLAGS.$(SUPPORT_DYNAMIC_PBRESIZE) += -DSUPPORT_DYNAMIC_PBRESIZE
155 SYS_CFLAGS.$(USE_FBDEV) += -DUSE_FBDEV
156 SYS_CFLAGS.$(USE_FBDEV) += -DFBDEV_NAME="\"$(FBDEV_NAME)\""
157 SYS_CFLAGS.$(SUPPORT_DYNAMIC_3DCLOCKGATING) += -DSUPPORT_DYNAMIC_3DCLOCKGATING
158 SYS_CFLAGS.$(REENTRANCY_PROTECTION) += -DREENTRANCY_PROTECTION
159 SYS_CFLAGS.$(SCHEDULER_CONTROL_SUPPORT) += -DSCHEDULER_CONTROL_SUPPORT
160 SYS_CFLAGS.$(USE_IMG_POWER_DOMAIN_FUNCTION) += -DUSE_IMG_POWER_DOMAIN_FUNCTION
162 SYS_CFLAGS.$(USE_DMALLOC) += -DDMALLOC
164 SYS_CFLAGS.$(DEBUG_LINUX_MEMORY_ALLOCATIONS) += -DDEBUG_LINUX_MEMORY_ALLOCATIONS
165 SYS_CFLAGS.$(DEBUG_LINUX_MEM_AREAS) += -DDEBUG_LINUX_MEM_AREAS
166 SYS_CFLAGS.$(DEBUG_LINUX_MMAP_AREAS) += -DDEBUG_LINUX_MMAP_AREAS
167 SYS_CFLAGS.$(DEBUG_LINUX_XML_PROC_FILES) += -DDEBUG_LINUX_XML_PROC_FILES
168 SYS_CFLAGS.$(DEBUG_LINUX_SLAB_ALLOCATIONS) += -DDEBUG_LINUX_SLAB_ALLOCATIONS
169 SYS_CFLAGS.$(DEBUG_BRIDGE_KM) += -DDEBUG_BRIDGE_KM
170 SYS_CFLAGS.$(DEBUG_TRACE_BRIDGE_KM) += -DDEBUG_TRACE_BRIDGE_KM
171 SYS_CFLAGS.$(DEBUG_BRIDGE_KM_DISPATCH_TABLE) += -DDEBUG_BRIDGE_KM_DISPATCH_TABLE
173 SYS_CFLAGS.$(SUPPORT_LINUX_X86_WRITECOMBINE) += -DSUPPORT_LINUX_X86_WRITECOMBINE
175 SYS_CFLAGS.$(SGX_PDS_EVENTS_DISABLED) += -DSGX_PDS_EVENTS_DISABLED
176 SYS_CFLAGS.$(USE_SUPPORT_NO_TA3D_OVERLAP) += -DUSE_SUPPORT_NO_TA3D_OVERLAP
177 SYS_CFLAGS.$(SUPPORT_SGX_TILING) += -DSUPPORT_SGX_TILING
178 SYS_CFLAGS.$(TRANSFER_QUEUE) += -DTRANSFER_QUEUE
180 SYS_CFLAGS.$(SUPPORT_SGX_MMU_DUMMY_PAGE) += -DSUPPORT_SGX_MMU_DUMMY_PAGE
182 SYS_CFLAGS.$(PVRSRV_USSE_EDM_STATUS_DEBUG) += -DPVRSRV_USSE_EDM_STATUS_DEBUG
184 SYS_CFLAGS.$(NO_HARDWARE) += -DNO_HARDWARE
186 SYS_CFLAGS.$(SUPPORT_DRI_DRM) += -DSUPPORT_DRI_DRM
188 ifneq ("$(NO_HARDWARE)", "1")
189 SYS_CFLAGS.$(SYS_USING_INTERRUPTS) += -DSYS_USING_INTERRUPTS
190 SYS_CFLAGS.$(SUPPORT_HW_RECOVERY) += -DSUPPORT_HW_RECOVERY
191 SYS_CFLAGS.$(SUPPORT_ACTIVE_POWER_MANAGEMENT) += -DSUPPORT_ACTIVE_POWER_MANAGEMENT
194 SYS_CFLAGS.$(SUPPORT_SECURE_HANDLES) += -DPVR_SECURE_HANDLES
196 SYS_CFLAGS.$(USE_PTHREADS) += -DUSE_PTHREADS
197 SYS_CFLAGS.$(USE_GCC__thread_KEYWORD) += -DUSE_GCC__thread_KEYWORD
198 SYS_CFLAGS.$(OPTIMISE_NON_NPTL_SINGLE_THREAD_TLS_LOOKUP) += -DOPTIMISE_NON_NPTL_SINGLE_THREAD_TLS_LOOKUP
199 SYS_CFLAGS.$(DISABLE_THREADS) += -DDISABLE_THREADS
200 SYS_CFLAGS.$(SUPPORT_SGX_EVENT_OBJECT) += -DSUPPORT_SGX_EVENT_OBJECT
201 SYS_CFLAGS.$(LDM_PLATFORM) += -DLDM_PLATFORM
202 SYS_CFLAGS.$(LDM_PCI) += -DLDM_PCI
203 SYS_CFLAGS.$(PVR_MANUAL_POWER_CONTROL) += -DPVR_MANUAL_POWER_CONTROL
205 SYS_CFLAGS.$(PVR2D_ALT_2DHW) += -DPVR2D_ALT_2DHW
207 SYS_CFLAGS.$(SUPPORT_SGX_HWPERF) += -DSUPPORT_SGX_HWPERF
209 SYS_INCLUDES = -I$(EURASIAROOT)/include4 \
210 -I$(EURASIAROOT)/eurasiacon/includeext \
211 -isystem $(KERNELDIR)/include
213 ALL_CFLAGS_kbuild = -DLINUX \
214 $(CBUILD) $(CBUILD.$(BUILD)) \
215 $(SYS_CFLAGS) $(SYS_CFLAGS.1) \
216 $(MODULE_CFLAGS) $(MODULE_CFLAGS.$(BUILD)) \
218 -Wall -fno-strict-aliasing \
221 ccflags-y += $(ALL_CFLAGS_kbuild)