diff options
Diffstat (limited to 'sgx/eurasiacon/build')
-rwxr-xr-x | sgx/eurasiacon/build/linux2/buildvars.mk | 5 | ||||
-rwxr-xr-x | sgx/eurasiacon/build/linux2/common/apis/xorg.mk | 25 | ||||
-rw-r--r-- | sgx/eurasiacon/build/linux2/common/omap5.mk | 30 | ||||
-rwxr-xr-x | sgx/eurasiacon/build/linux2/config/core.mk | 2 | ||||
-rwxr-xr-x | sgx/eurasiacon/build/linux2/kbuild/kbuild.mk | 2 | ||||
-rwxr-xr-x | sgx/eurasiacon/build/linux2/omap4430_linux/Makefile | 6 | ||||
-rw-r--r-- | sgx/eurasiacon/build/linux2/omap5430_linux/Makefile | 181 | ||||
-rwxr-xr-x | sgx/eurasiacon/build/linux2/tools/cc-check.sh | 24 |
8 files changed, 268 insertions, 7 deletions
diff --git a/sgx/eurasiacon/build/linux2/buildvars.mk b/sgx/eurasiacon/build/linux2/buildvars.mk index 5026fdf..e50aacb 100755 --- a/sgx/eurasiacon/build/linux2/buildvars.mk +++ b/sgx/eurasiacon/build/linux2/buildvars.mk @@ -30,7 +30,7 @@ # ifeq ($(BUILD),debug) -COMMON_FLAGS := -O0 +COMMON_FLAGS := -Os else OPTIM ?= -O2 COMMON_FLAGS := $(OPTIM) @@ -119,7 +119,8 @@ ALL_LDFLAGS += $(SYS_LDFLAGS) # Kernel C only # ALL_KBUILD_CFLAGS := $(COMMON_CFLAGS) -Wno-unused-parameter -Wno-sign-compare \ - $(call cc-option,-Wno-type-limits) + $(call cc-option,-Wno-type-limits) \ + $(call cc-option,-Wno-unused-but-set-variable) # This variable contains a list of all modules built by kbuild ALL_KBUILD_MODULES := diff --git a/sgx/eurasiacon/build/linux2/common/apis/xorg.mk b/sgx/eurasiacon/build/linux2/common/apis/xorg.mk index 27e04b3..f0a8ef0 100755 --- a/sgx/eurasiacon/build/linux2/common/apis/xorg.mk +++ b/sgx/eurasiacon/build/linux2/common/apis/xorg.mk @@ -1,3 +1,28 @@ +# +# Copyright (C) Imagination Technologies Ltd. All rights reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms and conditions of the GNU General Public License, +# version 2, as published by the Free Software Foundation. +# +# This program is distributed in the hope it will be useful but, except +# as otherwise stated in writing, 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., +# 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. +# +# The full GNU General Public License is included in this distribution in +# the file called "COPYING". +# +# Contact Information: +# Imagination Technologies Ltd. <gpl-support@imgtec.com> +# Home Park Estate, Kings Langley, Herts, WD4 8LZ, UK +# +# + ifeq ($(filter xorg,$(EXCLUDED_APIS)),) COMPONENTS += xorg pvr_conf pvr_video wsegl_dri2_linux -include ../common/apis/xorg_opengl.mk diff --git a/sgx/eurasiacon/build/linux2/common/omap5.mk b/sgx/eurasiacon/build/linux2/common/omap5.mk new file mode 100644 index 0000000..72038b6 --- /dev/null +++ b/sgx/eurasiacon/build/linux2/common/omap5.mk @@ -0,0 +1,30 @@ +# +# Copyright (C) Imagination Technologies Ltd. All rights reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms and conditions of the GNU General Public License, +# version 2, as published by the Free Software Foundation. +# +# This program is distributed in the hope it will be useful but, except +# as otherwise stated in writing, 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., +# 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. +# +# The full GNU General Public License is included in this distribution in +# the file called "COPYING". +# +# Contact Information: +# Imagination Technologies Ltd. <gpl-support@imgtec.com> +# Home Park Estate, Kings Langley, Herts, WD4 8LZ, UK +# +# + +$(eval $(call TunableBothConfigC,PVR_NO_FULL_CACHE_OPS,)) +$(eval $(call TunableKernelConfigC,PVR_NO_OMAP_TIMER,)) +$(eval $(call BothConfigC,SGX_FEATURE_MP,1)) +$(eval $(call TunableBothConfigC,SGX_FEATURE_SYSTEM_CACHE,1)) +$(eval $(call BothConfigC,SGX_FEATURE_MP_CORE_COUNT,2)) diff --git a/sgx/eurasiacon/build/linux2/config/core.mk b/sgx/eurasiacon/build/linux2/config/core.mk index 04a17a1..e77292d 100755 --- a/sgx/eurasiacon/build/linux2/config/core.mk +++ b/sgx/eurasiacon/build/linux2/config/core.mk @@ -368,7 +368,9 @@ $(eval $(call TunableBothConfigC,USE_SGX_CORE_REV_HEAD,)) $(eval $(call BothConfigC,TRANSFER_QUEUE,)) $(eval $(call BothConfigC,PVR_SECURE_HANDLES,)) +ifdef DISPLAY_CONTROLLER $(eval $(call KernelConfigC,DISPLAY_CONTROLLER,$(DISPLAY_CONTROLLER))) +endif $(eval $(call TunableKernelConfigC,FLIP_TECHNIQUE_FRAMEBUFFER,)) $(eval $(call TunableKernelConfigC,FLIP_TECHNIQUE_OVERLAY,)) diff --git a/sgx/eurasiacon/build/linux2/kbuild/kbuild.mk b/sgx/eurasiacon/build/linux2/kbuild/kbuild.mk index 5763f87..7aee762 100755 --- a/sgx/eurasiacon/build/linux2/kbuild/kbuild.mk +++ b/sgx/eurasiacon/build/linux2/kbuild/kbuild.mk @@ -69,7 +69,7 @@ kbuild_clean: $(TARGET_OUT)/kbuild/Makefile V=$(V) W=$(W) \ TOP=$(TOP) clean -kbuild_install: $(TARGET_OUT)/kbuild/Makefile +kbuild_install: kbuild $(TARGET_OUT)/kbuild/Makefile @: $(if $(strip $(DISCIMAGE)),,$(error $$(DISCIMAGE) was empty or unset while trying to use it to set INSTALL_MOD_PATH for modules_install)) @$(MAKE) -Rr --no-print-directory -C $(KERNELDIR) M=$(abspath $(TARGET_OUT)/kbuild) \ INTERNAL_KBUILD_MAKEFILES="$(INTERNAL_KBUILD_MAKEFILES)" \ diff --git a/sgx/eurasiacon/build/linux2/omap4430_linux/Makefile b/sgx/eurasiacon/build/linux2/omap4430_linux/Makefile index 3afa681..b5e3e4c 100755 --- a/sgx/eurasiacon/build/linux2/omap4430_linux/Makefile +++ b/sgx/eurasiacon/build/linux2/omap4430_linux/Makefile @@ -59,8 +59,8 @@ LDM_PLATFORM ?= 1 ifeq ($(LDM_PLATFORM),1) SUPPORT_LINUX_USING_WORKQUEUES := 1 -DISPLAY_CONTROLLER_COMPONENT += dc_omapdrm_linux -DISPLAY_CONTROLLER := omaplfb +#DISPLAY_CONTROLLER_COMPONENT += dc_omapdrm_linux +#DISPLAY_CONTROLLER := omaplfb else SUPPORT_LINUX_USING_SHARED_WORKQUEUES := 1 OMAP_NON_FLIP_DISPLAY := 1 @@ -86,7 +86,7 @@ ifeq ($(SUPPORT_OMAP4430_NEON),1) SYS_CFLAGS += -ftree-vectorize -mfpu=neon -mfloat-abi=hard endif -PVR_NO_FULL_CACHE_OPS := 0 +PVR_NO_FULL_CACHE_OPS := 1 LIBGCC := $(shell $(CROSS_COMPILE)gcc -print-libgcc-file-name) diff --git a/sgx/eurasiacon/build/linux2/omap5430_linux/Makefile b/sgx/eurasiacon/build/linux2/omap5430_linux/Makefile new file mode 100644 index 0000000..db29f8e --- /dev/null +++ b/sgx/eurasiacon/build/linux2/omap5430_linux/Makefile @@ -0,0 +1,181 @@ +# +# Copyright (C) Imagination Technologies Ltd. All rights reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms and conditions of the GNU General Public License, +# version 2, as published by the Free Software Foundation. +# +# This program is distributed in the hope it will be useful but, except +# as otherwise stated in writing, 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., +# 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. +# +# The full GNU General Public License is included in this distribution in +# the file called "COPYING". +# +# Contact Information: +# Imagination Technologies Ltd. <gpl-support@imgtec.com> +# Home Park Estate, Kings Langley, Herts, WD4 8LZ, UK +# +# + +PVR_SYSTEM := omap5 + +KERNEL_COMPONENTS := srvkm + +# Confirm kernel version with KERNELDIR if supplied, otherwise assume +# a 2.6.35+ kernel. +ifneq ($(KERNELDIR),) +include ../kernel_version.mk +OMAP_KERNEL_AT_LEAST_2_6_35 := $(shell test $(KERNEL_VERSION) -ge 3 || \ + test $(KERNEL_VERSION) -ge 2 -a \ + $(KERNEL_PATCHLEVEL) -ge 6 -a \ + $(KERNEL_SUBLEVEL) -ge 35 && echo 1 || echo 0) +else +OMAP_KERNEL_AT_LEAST_2_6_35 := 1 +endif + +include ../common/xorg_test.mk + +ifeq ($(want_xorg),1) +SUPPORT_DRI_DRM := 1 +SUPPORT_DRI_DRM_EXTERNAL := 1 +SUPPORT_BC_EXAMPLE ?= 0 +else +SUPPORT_BC_EXAMPLE ?= 1 +endif + +# Only enable active power management if passive power management is +# enabled, as indicated by LDM_PLATFORM being set to 1. On OMAP, +# the system can suspend in the case where active power management is +# enabled in the SGX driver, but passive power management isn't. As +# passive power management isn't enabled, the driver won't see the +# system suspend/resume events, and so won't take appropriate action. +LDM_PLATFORM ?= 1 + +ifeq ($(LDM_PLATFORM),1) +SUPPORT_LINUX_USING_WORKQUEUES := 1 +#DISPLAY_CONTROLLER_COMPONENT += dc_omapdrm_linux +#DISPLAY_CONTROLLER := omaplfb +else +SUPPORT_LINUX_USING_SHARED_WORKQUEUES := 1 +OMAP_NON_FLIP_DISPLAY := 1 +DISPLAY_CONTROLLER_COMPONENT += linux_framebuffer +DISPLAY_CONTROLLER := pvrlfb +endif + +# When flipping is enabled, the Framebuffer API will be used to +# present the frames to the display in the 3PDD +FLIP_TECHNIQUE_FRAMEBUFFER := 1 + +OPTIM := -Os + +SYS_CFLAGS := -march=armv7-a + +ifneq ($(CROSS_COMPILE),) +SYS_CFLAGS += -mtls-dialect=arm +endif + +SUPPORT_OMAP4430_NEON ?= 1 + +ifeq ($(SUPPORT_OMAP4430_NEON),1) +SYS_CFLAGS += -ftree-vectorize -mfpu=neon -mfloat-abi=hard +endif + +PVR_NO_FULL_CACHE_OPS := 1 + +LIBGCC := $(shell $(CROSS_COMPILE)gcc -print-libgcc-file-name) + +SGXCORE := 544 +SGX_CORE_REV := 105 + +SGX_DYNAMIC_TIMING_INFO := 1 +SYS_CUSTOM_POWERLOCK_WRAP := 1 + +ifeq ($(OMAP_KERNEL_AT_LEAST_2_6_35),1) +ifeq ($(LDM_PLATFORM),1) +PVR_LDM_PLATFORM_PRE_REGISTERED := 1 +endif +endif + +BUILD_OPENCL ?= 0 +ifneq ($(BUILD_OPENCL),1) +EXCLUDED_APIS += opencl +endif + +ifeq ($(want_xorg),1) + +ifeq ($(OMAP_KERNEL_AT_LEAST_2_6_35),1) +PVR_DRI_DRM_PLATFORM_DEV := 1 +else +PVR_DRI_DRM_NOT_PCI := 1 +endif + +XORG_PREFIX := /usr +XORG_TOOLCHAIN := extern +XORG_PVR_CONF := omap4 +XORG_PVR_VIDEO := omap4 +XF86_VIDEO ?= ti-pvr_video + +OPK_DEFAULT := libpvrPVR2D_DRIWSEGL.so +OPK_FALLBACK := libpvrPVR2D_DRIWSEGL.so + +ifneq ($(OMAP_NON_FLIP_DISPLAY),1) +XORG_PVR_VIDEO ?= $(PVR_SYSTEM) +PVR_DISPLAY_CONTROLLER_DRM_IOCTL := 1 +endif + +else # xorg isn't excluded + +ifeq ($(OMAP_NON_FLIP_DISPLAY),1) +OPK_DEFAULT := libpvrPVR2D_BLITWSEGL.so +else +OPK_DEFAULT := libpvrPVR2D_FLIPWSEGL.so +endif +OPK_FALLBACK := libpvrPVR2D_BLITWSEGL.so + +endif # xorg isn't excluded + +ifeq ($(SUPPORT_DRI_DRM),1) +ifeq ($(PVR_DRI_DRM_NOT_PCI),1) +KERNEL_COMPONENTS += linux_drm +EXTRA_KBUILD_SOURCE := $(KERNELDIR) +endif +EXTRA_PVRSRVKM_COMPONENTS += $(DISPLAY_CONTROLLER_COMPONENT) +else +KERNEL_COMPONENTS += $(DISPLAY_CONTROLLER_COMPONENT) +endif + +SUPPORT_V4L2_GFX ?= 0 + +SUPPORT_MEMINFO_IDS ?= 1 + +SUPPORT_MESA_SONAME ?= 1 + +ifeq ($(SUPPORT_V4L2_GFX),1) +KERNEL_COMPONENTS += v4l2-gfx +endif + +ifeq ($(SUPPORT_BC_EXAMPLE),1) +KERNEL_COMPONENTS += bufferclass_example +endif + +PVRSRV_MODNAME := omapdrm_pvr + +PVRSRV_BUSID := platform:omapdrm:00 + +include ../config/core.mk +include ../common/xorg.mk +include ../common/dridrm.mk +include ../common/opencl.mk +include ../common/omap5.mk + +# We only need this for pvr_video's includes, which should +# really be done differently, as DISPLAY_CONTROLLER_DIR is +# now obsolete.. +# +$(eval $(call UserConfigMake,DISPLAY_CONTROLLER_DIR,3rdparty/$(DISPLAY_CONTROLLER_COMPONENT))) diff --git a/sgx/eurasiacon/build/linux2/tools/cc-check.sh b/sgx/eurasiacon/build/linux2/tools/cc-check.sh index ac7f9cb..7d6d75c 100755 --- a/sgx/eurasiacon/build/linux2/tools/cc-check.sh +++ b/sgx/eurasiacon/build/linux2/tools/cc-check.sh @@ -1,4 +1,26 @@ -#!/bin/sh +# +# Copyright (C) Imagination Technologies Ltd. All rights reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms and conditions of the GNU General Public License, +# version 2, as published by the Free Software Foundation. +# +# This program is distributed in the hope it will be useful but, except +# as otherwise stated in writing, 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., +# 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. +# +# The full GNU General Public License is included in this distribution in +# the file called "COPYING". +# +# Contact Information: +# Imagination Technologies Ltd. <gpl-support@imgtec.com> +# Home Park Estate, Kings Langley, Herts, WD4 8LZ, UK +# usage() { echo "usage: $0 [--64] --cc CC --out OUT [cflag]" |