summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVishal Mahaveer <vishalm@ti.com>2017-01-12 14:45:46 -0500
committerVishal Mahaveer <vishalm@ti.com>2017-01-12 15:02:49 -0500
commitbc7f838cdc458c3d628db7bae1f1c203b7a43c37 (patch)
tree80fb94fe5f25468133e9d0a16f2f520669b023a4
parent3943e6c30b06149858c21de506a38eb3795377af (diff)
downloadproprietary-open-jacinto-bc7f838cdc458c3d628db7bae1f1c203b7a43c37.tar.gz
jacinto6: sgx-bin: bins and src update
Updating SGX binaries and KM source update for latest DDK1.14 Change-Id: I6f227ebcab33baa36b52b2746fd5b24af79ab65e Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
-rw-r--r--jacinto6/README.SGX4
-rw-r--r--jacinto6/sgx.tgzbin1673390 -> 1673711 bytes
-rw-r--r--jacinto6/sgx_src/eurasia_km/eurasiacon/build/linux2/buildvars.mk4
-rw-r--r--jacinto6/sgx_src/eurasia_km/eurasiacon/build/linux2/common/android/features.mk4
-rw-r--r--jacinto6/sgx_src/eurasia_km/eurasiacon/build/linux2/omap_android/Makefile11
-rw-r--r--jacinto6/sgx_src/eurasia_km/include4/pvrversion.h10
-rw-r--r--jacinto6/sgx_src/eurasia_km/services4/srvkm/devices/sgx/sgxutils.c35
-rw-r--r--jacinto6/sgx_src/eurasia_km/tools/intern/debug/dbgdriv/Kbuild.mk2
-rw-r--r--jacinto6/sgx_src/eurasia_km/tools/intern/debug/dbgdriv/common/dbgdriv_handle.c (renamed from jacinto6/sgx_src/eurasia_km/tools/intern/debug/dbgdriv/common/handle.c)0
9 files changed, 52 insertions, 18 deletions
diff --git a/jacinto6/README.SGX b/jacinto6/README.SGX
index ce68344..ebdaf6c 100644
--- a/jacinto6/README.SGX
+++ b/jacinto6/README.SGX
@@ -16,9 +16,9 @@ sgx.tgz a set of binaries built for SGX544.
[DDK Version]
1.14/4001660
[DDK commit ID]
- 3ed372b um: gralloc: change stride alignment to 16 pixels
+ 3b54e17 km: Add am57xxevm target to build system
[Branch]
- android/1.14/4001660_k4.4_M
+ android/1.14/4081762_k4.4_M
[Kernel modules built against]
Kernel Version: 4.4.y with CONFIG_MODVERSIONS=y
[Build type]
diff --git a/jacinto6/sgx.tgz b/jacinto6/sgx.tgz
index b5bfad8..a05c54a 100644
--- a/jacinto6/sgx.tgz
+++ b/jacinto6/sgx.tgz
Binary files differ
diff --git a/jacinto6/sgx_src/eurasia_km/eurasiacon/build/linux2/buildvars.mk b/jacinto6/sgx_src/eurasia_km/eurasiacon/build/linux2/buildvars.mk
index b93243b..f20ee5b 100644
--- a/jacinto6/sgx_src/eurasia_km/eurasiacon/build/linux2/buildvars.mk
+++ b/jacinto6/sgx_src/eurasia_km/eurasiacon/build/linux2/buildvars.mk
@@ -161,6 +161,10 @@ TESTED_HOST_USER_FLAGS += \
KBUILD_FLAGS := \
-Wno-unused-parameter -Wno-sign-compare
+# androideabi toolchain adds `pic` by default, disable it
+# for kernel module build
+KBUILD_FLAGS += -fno-pic
+
TESTED_KBUILD_FLAGS := \
$(call kernel-cc-option,-Wmissing-include-dirs) \
$(call kernel-cc-option,-Wno-type-limits) \
diff --git a/jacinto6/sgx_src/eurasia_km/eurasiacon/build/linux2/common/android/features.mk b/jacinto6/sgx_src/eurasia_km/eurasiacon/build/linux2/common/android/features.mk
index 68e8132..ba37064 100644
--- a/jacinto6/sgx_src/eurasia_km/eurasiacon/build/linux2/common/android/features.mk
+++ b/jacinto6/sgx_src/eurasia_km/eurasiacon/build/linux2/common/android/features.mk
@@ -245,8 +245,8 @@ PVR_ANDROID_HAS_HAL_PIXEL_FORMAT_RAWxx := 1
endif
##############################################################################
-# Marshmallow onwards DDK stopped render script accleration using GPU.
-# This flag stops device alloction.
+# Marshmallow onwards DDK stopped render script acceleration using GPU.
+# This flag stops device allocation.
#
ifeq ($(is_at_least_marshmallow),1)
PVR_ANDROID_HAS_GRALLOC_USAGE_RENDERSCRIPT := 1
diff --git a/jacinto6/sgx_src/eurasia_km/eurasiacon/build/linux2/omap_android/Makefile b/jacinto6/sgx_src/eurasia_km/eurasiacon/build/linux2/omap_android/Makefile
index 046b8bb..23cce13 100644
--- a/jacinto6/sgx_src/eurasia_km/eurasiacon/build/linux2/omap_android/Makefile
+++ b/jacinto6/sgx_src/eurasia_km/eurasiacon/build/linux2/omap_android/Makefile
@@ -51,10 +51,6 @@ ifeq ($(TARGET_DEVICE),)
override TARGET_DEVICE := jacinto6evm
endif
-ifeq ($(TARGET_DEVICE),)
-override TARGET_DEVICE := am57xevm
-endif
-
# Customize this build as per the TARGET_DEVICE setting
#
ifneq ($(filter blaze blaze_tablet panda tuna maguro toro mysid yakju,$(TARGET_DEVICE)),)
@@ -81,7 +77,7 @@ VS_PRODUCT_VERSION := 5
# FIXME: Re-enable this ASAP
SUPPORT_ACTIVE_POWER_MANAGEMENT := 0
endif
-ifneq ($(filter jacinto6evm am57xevm,$(TARGET_DEVICE)),)
+ifneq ($(filter jacinto6evm am57xxevm,$(TARGET_DEVICE)),)
SGXCORE := 544
SGX_CORE_REV := 116
SGX_FEATURE_MP := 1
@@ -98,9 +94,8 @@ SUPPORT_ACTIVE_POWER_MANAGEMENT := 0
endif
-ifneq ($(filter am57xevm,$(TARGET_DEVICE)),)
-HAL_VARIANT := am57x
-
+ifneq ($(filter am57xxevm,$(TARGET_DEVICE)),)
+HAL_VARIANT := am57xxevm
endif
# Handle any TARGET_DEVICE remapping. Not all DDK TARGET_DEVICEs
diff --git a/jacinto6/sgx_src/eurasia_km/include4/pvrversion.h b/jacinto6/sgx_src/eurasia_km/include4/pvrversion.h
index d48838f..bc0d8cc 100644
--- a/jacinto6/sgx_src/eurasia_km/include4/pvrversion.h
+++ b/jacinto6/sgx_src/eurasia_km/include4/pvrversion.h
@@ -53,16 +53,16 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define PVRVERSION_FAMILY "sgxddk"
#define PVRVERSION_BRANCHNAME "1.14"
-#define PVRVERSION_BUILD 4001660
-#define PVRVERSION_BSCONTROL "SGX_DDK_Linux_XOrg"
+#define PVRVERSION_BUILD 4081762
+#define PVRVERSION_BSCONTROL "SGX_DDK_Android"
-#define PVRVERSION_STRING "SGX_DDK_Linux_XOrg sgxddk 1.14@" PVR_STR2(PVRVERSION_BUILD)
+#define PVRVERSION_STRING "SGX_DDK_Android sgxddk 1.14@" PVR_STR2(PVRVERSION_BUILD)
#define PVRVERSION_STRING_SHORT "1.14@" PVR_STR2(PVRVERSION_BUILD) ""
#define COPYRIGHT_TXT "Copyright (c) Imagination Technologies Ltd. All Rights Reserved."
-#define PVRVERSION_BUILD_HI 400
-#define PVRVERSION_BUILD_LO 1660
+#define PVRVERSION_BUILD_HI 408
+#define PVRVERSION_BUILD_LO 1762
#define PVRVERSION_STRING_NUMERIC PVR_STR2(PVRVERSION_MAJ) "." PVR_STR2(PVRVERSION_MIN) "." PVR_STR2(PVRVERSION_BUILD_HI) "." PVR_STR2(PVRVERSION_BUILD_LO)
#endif /* _PVRVERSION_H_ */
diff --git a/jacinto6/sgx_src/eurasia_km/services4/srvkm/devices/sgx/sgxutils.c b/jacinto6/sgx_src/eurasia_km/services4/srvkm/devices/sgx/sgxutils.c
index bce7945..6ca6bc2 100644
--- a/jacinto6/sgx_src/eurasia_km/services4/srvkm/devices/sgx/sgxutils.c
+++ b/jacinto6/sgx_src/eurasia_km/services4/srvkm/devices/sgx/sgxutils.c
@@ -1100,6 +1100,7 @@ IMG_HANDLE SGXRegisterHWRenderContextKM(IMG_HANDLE hDeviceNode,
IMG_UINT8 *pDst;
PRESMAN_ITEM psResItem;
IMG_UINT32 ui32PDDevPAddrInDirListFormat;
+ IMG_UINT8 *pStartPDDevPAddr, *pEndPDDevPAddr;
eError = OSAllocMem(PVRSRV_OS_PAGEABLE_HEAP,
sizeof(SGX_HW_RENDER_CONTEXT_CLEANUP),
@@ -1135,6 +1136,16 @@ IMG_HANDLE SGXRegisterHWRenderContextKM(IMG_HANDLE hDeviceNode,
PVR_DPF((PVR_DBG_ERROR, "SGXRegisterHWRenderContextKM: Couldn't allocate device memory for HW Render Context"));
goto exit1;
}
+ /* Ensure that the offset of Page directory dev physical address field is within the allocated context memory */
+ pStartPDDevPAddr = (IMG_UINT8 *)(psCleanup->psHWRenderContextMemInfo->pvLinAddrKM) + ui32OffsetToPDDevPAddr;
+ pEndPDDevPAddr = pStartPDDevPAddr + sizeof(ui32PDDevPAddrInDirListFormat) - 1;
+
+ if (pStartPDDevPAddr < (IMG_UINT8 *)psCleanup->psHWRenderContextMemInfo->pvLinAddrKM ||
+ pEndPDDevPAddr >= (IMG_UINT8 *)(psCleanup->psHWRenderContextMemInfo->pvLinAddrKM) + ui32HWRenderContextSize)
+ {
+ PVR_DPF((PVR_DBG_ERROR, "SGXRegisterHWRenderContextKM: Offset of page directory device physical address is invalid"));
+ goto exit2;
+ }
eError = OSCopyFromUser(psPerProc,
psCleanup->psHWRenderContextMemInfo->pvLinAddrKM,
@@ -1287,6 +1298,7 @@ IMG_HANDLE SGXRegisterHWTransferContextKM(IMG_HANDLE hDeviceNode,
IMG_UINT8 *pDst;
PRESMAN_ITEM psResItem;
IMG_UINT32 ui32PDDevPAddrInDirListFormat;
+ IMG_UINT8 *pStartPDDevPAddr, *pEndPDDevPAddr;
eError = OSAllocMem(PVRSRV_OS_PAGEABLE_HEAP,
sizeof(SGX_HW_TRANSFER_CONTEXT_CLEANUP),
@@ -1324,6 +1336,17 @@ IMG_HANDLE SGXRegisterHWTransferContextKM(IMG_HANDLE hDeviceNode,
goto exit1;
}
+ /* Ensure that the offset of Page directory dev physical address field is within the allocated context memory */
+ pStartPDDevPAddr = (IMG_UINT8 *)(psCleanup->psHWTransferContextMemInfo->pvLinAddrKM) + ui32OffsetToPDDevPAddr;
+ pEndPDDevPAddr = pStartPDDevPAddr + sizeof(ui32PDDevPAddrInDirListFormat) - 1;
+
+ if (pStartPDDevPAddr < (IMG_UINT8 *)psCleanup->psHWTransferContextMemInfo->pvLinAddrKM ||
+ pEndPDDevPAddr >= (IMG_UINT8 *)(psCleanup->psHWTransferContextMemInfo->pvLinAddrKM) + ui32HWTransferContextSize)
+ {
+ PVR_DPF((PVR_DBG_ERROR, "SGXRegisterHWTransferContextKM: Offset of page directory device physical address is invalid"));
+ goto exit2;
+ }
+
eError = OSCopyFromUser(psPerProc,
psCleanup->psHWTransferContextMemInfo->pvLinAddrKM,
psHWTransferContextCpuVAddr,
@@ -1628,6 +1651,7 @@ IMG_HANDLE SGXRegisterHW2DContextKM(IMG_HANDLE hDeviceNode,
IMG_UINT8 *pDst;
PRESMAN_ITEM psResItem;
IMG_UINT32 ui32PDDevPAddrInDirListFormat;
+ IMG_UINT8 *pStartPDDevPAddr, *pEndPDDevPAddr;
eError = OSAllocMem(PVRSRV_OS_PAGEABLE_HEAP,
sizeof(SGX_HW_2D_CONTEXT_CLEANUP),
@@ -1664,6 +1688,17 @@ IMG_HANDLE SGXRegisterHW2DContextKM(IMG_HANDLE hDeviceNode,
goto exit1;
}
+ /* Ensure that the offset of Page directory dev physical address field is within the allocated context memory */
+ pStartPDDevPAddr = (IMG_UINT8 *)(psCleanup->psHW2DContextMemInfo->pvLinAddrKM) + ui32OffsetToPDDevPAddr;
+ pEndPDDevPAddr = pStartPDDevPAddr + sizeof(ui32PDDevPAddrInDirListFormat) - 1;
+
+ if (pStartPDDevPAddr < (IMG_UINT8 *)psCleanup->psHW2DContextMemInfo->pvLinAddrKM ||
+ pEndPDDevPAddr >= (IMG_UINT8 *)(psCleanup->psHW2DContextMemInfo->pvLinAddrKM) + ui32HW2DContextSize)
+ {
+ PVR_DPF((PVR_DBG_ERROR, "SGXRegisterHWTransferContextKM: Offset of page directory device physical address is invalid"));
+ goto exit2;
+ }
+
eError = OSCopyFromUser(psPerProc,
psCleanup->psHW2DContextMemInfo->pvLinAddrKM,
psHW2DContextCpuVAddr,
diff --git a/jacinto6/sgx_src/eurasia_km/tools/intern/debug/dbgdriv/Kbuild.mk b/jacinto6/sgx_src/eurasia_km/tools/intern/debug/dbgdriv/Kbuild.mk
index e1e8868..7a827ce 100644
--- a/jacinto6/sgx_src/eurasia_km/tools/intern/debug/dbgdriv/Kbuild.mk
+++ b/jacinto6/sgx_src/eurasia_km/tools/intern/debug/dbgdriv/Kbuild.mk
@@ -43,9 +43,9 @@ ccflags-y += \
-I$(TOP)/tools/intern/debug/client
dbgdrv-y += \
+ tools/intern/debug/dbgdriv/common/dbgdriv_handle.o \
tools/intern/debug/dbgdriv/common/dbgdriv.o \
tools/intern/debug/dbgdriv/common/ioctl.o \
- tools/intern/debug/dbgdriv/common/handle.o \
tools/intern/debug/dbgdriv/common/hotkey.o \
tools/intern/debug/dbgdriv/linux/main.o \
tools/intern/debug/dbgdriv/linux/hostfunc.o
diff --git a/jacinto6/sgx_src/eurasia_km/tools/intern/debug/dbgdriv/common/handle.c b/jacinto6/sgx_src/eurasia_km/tools/intern/debug/dbgdriv/common/dbgdriv_handle.c
index a9d37a6..a9d37a6 100644
--- a/jacinto6/sgx_src/eurasia_km/tools/intern/debug/dbgdriv/common/handle.c
+++ b/jacinto6/sgx_src/eurasia_km/tools/intern/debug/dbgdriv/common/dbgdriv_handle.c