summaryrefslogtreecommitdiff
path: root/sgx/eurasiacon
diff options
context:
space:
mode:
Diffstat (limited to 'sgx/eurasiacon')
-rwxr-xr-xsgx/eurasiacon/build/linux2/buildvars.mk5
-rwxr-xr-xsgx/eurasiacon/build/linux2/common/apis/xorg.mk25
-rw-r--r--sgx/eurasiacon/build/linux2/common/omap5.mk30
-rwxr-xr-xsgx/eurasiacon/build/linux2/config/core.mk2
-rwxr-xr-xsgx/eurasiacon/build/linux2/kbuild/kbuild.mk2
-rwxr-xr-xsgx/eurasiacon/build/linux2/omap4430_linux/Makefile6
-rw-r--r--sgx/eurasiacon/build/linux2/omap5430_linux/Makefile181
-rwxr-xr-xsgx/eurasiacon/build/linux2/tools/cc-check.sh24
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]"