diff options
author | Vishal Mahaveer <vishalm@ti.com> | 2017-01-12 14:45:46 -0500 |
---|---|---|
committer | Vishal Mahaveer <vishalm@ti.com> | 2017-01-12 15:02:49 -0500 |
commit | bc7f838cdc458c3d628db7bae1f1c203b7a43c37 (patch) | |
tree | 80fb94fe5f25468133e9d0a16f2f520669b023a4 | |
parent | 3943e6c30b06149858c21de506a38eb3795377af (diff) | |
download | proprietary-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.SGX | 4 | ||||
-rw-r--r-- | jacinto6/sgx.tgz | bin | 1673390 -> 1673711 bytes | |||
-rw-r--r-- | jacinto6/sgx_src/eurasia_km/eurasiacon/build/linux2/buildvars.mk | 4 | ||||
-rw-r--r-- | jacinto6/sgx_src/eurasia_km/eurasiacon/build/linux2/common/android/features.mk | 4 | ||||
-rw-r--r-- | jacinto6/sgx_src/eurasia_km/eurasiacon/build/linux2/omap_android/Makefile | 11 | ||||
-rw-r--r-- | jacinto6/sgx_src/eurasia_km/include4/pvrversion.h | 10 | ||||
-rw-r--r-- | jacinto6/sgx_src/eurasia_km/services4/srvkm/devices/sgx/sgxutils.c | 35 | ||||
-rw-r--r-- | jacinto6/sgx_src/eurasia_km/tools/intern/debug/dbgdriv/Kbuild.mk | 2 | ||||
-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 Binary files differindex b5bfad8..a05c54a 100644 --- a/jacinto6/sgx.tgz +++ b/jacinto6/sgx.tgz 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 |