From 19cd8db256a29c1bd6f16b420c0313679dca76ad Mon Sep 17 00:00:00 2001 From: Fred Gylys-Colwell Date: Tue, 22 Mar 2016 20:55:33 -0700 Subject: [PATCH] Turn off mips64 library Merge from widevine repo of http://go/wvgerrit/17223 This CL turns off the mips64 bit build for widevine. This is because the level 3 mips32 library does not build and run correctly for a 64 bit target. b/27786231 Change-Id: I3388d9ebc80ae3cf477a8a54adfd1f22dfac4dda --- libwvdrmengine/Android.mk | 4 + libwvdrmengine/level3/mips/Android.mk | 15 +- libwvdrmengine/level3/mips/level3_stubs.cpp | 285 -------------------- 3 files changed, 5 insertions(+), 299 deletions(-) delete mode 100644 libwvdrmengine/level3/mips/level3_stubs.cpp diff --git a/libwvdrmengine/Android.mk b/libwvdrmengine/Android.mk index 8654a5a9..60e18e23 100644 --- a/libwvdrmengine/Android.mk +++ b/libwvdrmengine/Android.mk @@ -112,6 +112,10 @@ LOCAL_PROPRIETARY_MODULE := true LOCAL_MODULE_TARGET_ARCH := arm x86 mips +# Level 3 library does not build or link on mips 64. +# Until we have a stable test platform, we will disable DRM on mips64. +LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH := mips64 + include $(BUILD_SHARED_LIBRARY) include vendor/widevine/libwvdrmengine/cdm/Android.mk diff --git a/libwvdrmengine/level3/mips/Android.mk b/libwvdrmengine/level3/mips/Android.mk index f65bbdca..c4b8fda3 100644 --- a/libwvdrmengine/level3/mips/Android.mk +++ b/libwvdrmengine/level3/mips/Android.mk @@ -1,18 +1,5 @@ LOCAL_PATH:= $(call my-dir) -ifeq "$(TARGET_ARCH)" "mips64" # stub out mips64 because it doesn't link correctly. -$(warning Widevine Level 3 library disabled for mips 64 devices.) -include $(CLEAR_VARS) -LOCAL_MODULE := libwvlevel3 -LOCAL_C_INCLUDES := vendor/widevine/libwvdrmengine/oemcrypto/include -LOCAL_SRC_FILES := level3_stubs.cpp -LOCAL_PROPRIETARY_MODULE := true -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_OWNER := widevine -LOCAL_MODULE_TARGET_ARCH := mips64 -include $(BUILD_STATIC_LIBRARY) - -else # for 32 bit mips. include $(CLEAR_VARS) LOCAL_MODULE := libwvlevel3 LOCAL_MODULE_CLASS := STATIC_LIBRARIES @@ -22,6 +9,6 @@ LOCAL_PROPRIETARY_MODULE := true LOCAL_MODULE_TAGS := optional LOCAL_MODULE_OWNER := widevine LOCAL_MODULE_TARGET_ARCH := mips +# mips 32 bit library does not run on 64 bit chips. LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH := mips64 include $(BUILD_PREBUILT) -endif diff --git a/libwvdrmengine/level3/mips/level3_stubs.cpp b/libwvdrmengine/level3/mips/level3_stubs.cpp deleted file mode 100644 index 6e18000e..00000000 --- a/libwvdrmengine/level3/mips/level3_stubs.cpp +++ /dev/null @@ -1,285 +0,0 @@ -/******************************************************************************* - * - * Copyright 2015 Google Inc. All Rights Reserved. - * - * Stubs for OEMCrypto Level 3 Fallback APIs. (use when level 3 doesn't compile) - * - ******************************************************************************/ - -#include "level3.h" - -namespace wvoec3 { -OEMCryptoResult Level3_Initialize(void) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_Terminate(void) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_OpenSession(OEMCrypto_SESSION* /*session*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_CloseSession(OEMCrypto_SESSION /*session*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_GenerateDerivedKeys(OEMCrypto_SESSION /*session*/, - const uint8_t* /*mac_key_context*/, - uint32_t /*mac_key_context_length*/, - const uint8_t* /*enc_key_context*/, - uint32_t /*enc_key_context_length*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_GenerateNonce(OEMCrypto_SESSION /*session*/, - uint32_t* /*nonce*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_GenerateSignature(OEMCrypto_SESSION /*session*/, - const uint8_t* /*message*/, - size_t /*message_length*/, - uint8_t* /*signature*/, - size_t* /*signature_length*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_LoadKeys(OEMCrypto_SESSION /*session*/, - const uint8_t* /*message*/, - size_t /*message_length*/, - const uint8_t* /*signature*/, - size_t /*signature_length*/, - const uint8_t* /*enc_mac_key_iv*/, - const uint8_t* /*enc_mac_key*/, - size_t /*num_keys*/, - const OEMCrypto_KeyObject* /*key_array*/, - const uint8_t* /*pst*/, - size_t /*pst_length*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_RefreshKeys(OEMCrypto_SESSION /*session*/, - const uint8_t* /*message*/, - size_t /*message_length*/, - const uint8_t* /*signature*/, - size_t /*signature_length*/, - size_t /*num_keys*/, - const OEMCrypto_KeyRefreshObject* /*key_array*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_QueryKeyControl(OEMCrypto_SESSION /*session*/, - const uint8_t* /*key_id*/, - size_t /*key_id_length*/, - uint8_t* /*key_control_block*/, - size_t* /*key_control_block_length*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_SelectKey(const OEMCrypto_SESSION /*session*/, - const uint8_t* /*key_id*/, - size_t /*key_id_length*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_DecryptCENC(OEMCrypto_SESSION /*session*/, - const uint8_t* /*data_addr*/, size_t /*data_length*/, - bool /*is_encrypted*/, const uint8_t* /*iv*/, - size_t /*block_offset*/, - const OEMCrypto_DestBufferDesc* /*out_buffer*/, - const OEMCrypto_CENCEncryptPatternDesc* /*pattern*/, - uint8_t /*subsample_flags*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_CopyBuffer(const uint8_t */*data_addr*/, - size_t /*data_length*/, - OEMCrypto_DestBufferDesc* /*out_buffer*/, - uint8_t /*subsample_flags*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_WrapKeybox(const uint8_t* /*keybox*/, - size_t /*keyBoxLength*/, - uint8_t* /*wrappedKeybox*/, - size_t* /*wrappedKeyBoxLength*/, - const uint8_t* /*transportKey*/, - size_t /*transportKeyLength*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_InstallKeybox(const uint8_t* /*keybox*/, - size_t /*keyBoxLength*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_LoadTestKeybox() { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_IsKeyboxValid(void) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_GetDeviceID(uint8_t* /*deviceID*/, size_t* /*idLength*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_GetKeyData(uint8_t* /*keyData*/, - size_t* /*keyDataLength*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_GetRandom(uint8_t* /*randomData*/, size_t /*dataLength*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_RewrapDeviceRSAKey(OEMCrypto_SESSION /*session*/, - const uint8_t* /*message*/, - size_t /*message_length*/, - const uint8_t* /*signature*/, - size_t /*signature_length*/, - const uint32_t* /*nonce*/, - const uint8_t* /*enc_rsa_key*/, - size_t /*enc_rsa_key_length*/, - const uint8_t* /*enc_rsa_key_iv*/, - uint8_t* /*wrapped_rsa_key*/, - size_t* /*wrapped_rsa_key_length*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_LoadDeviceRSAKey(OEMCrypto_SESSION /*session*/, - const uint8_t* /*wrapped_rsa_key*/, - size_t /*wrapped_rsa_key_length*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_LoadTestRSAKey() { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_GenerateRSASignature(OEMCrypto_SESSION /*session*/, - const uint8_t* /*message*/, - size_t /*message_length*/, - uint8_t* /*signature*/, - size_t* /*signature_length*/, - RSA_Padding_Scheme /*padding_scheme*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_DeriveKeysFromSessionKey(OEMCrypto_SESSION /*session*/, - const uint8_t* /*enc_session_key*/, - size_t /*enc_session_key_length*/, - const uint8_t* /*mac_key_context*/, - size_t /*mac_key_context_length*/, - const uint8_t* /*enc_key_context*/, - size_t /*enc_key_context_length*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -uint32_t Level3_APIVersion() { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -uint8_t Level3_SecurityPatchLevel() { - return 0; -} - -const char* Level3_SecurityLevel() { - return "L3"; -} - -OEMCryptoResult Level3_GetHDCPCapability(OEMCrypto_HDCP_Capability */*current*/, - OEMCrypto_HDCP_Capability */*maximum*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -bool Level3_SupportsUsageTable() { - return false; -} - -bool Level3_IsAntiRollbackHwPresent() { - return false; -} - -OEMCryptoResult Level3_GetNumberOfOpenSessions(size_t* /*count*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_GetMaxNumberOfSessions(size_t* /*maximum*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_Generic_Encrypt(OEMCrypto_SESSION /*session*/, - const uint8_t* /*in_buffer*/, - size_t /*buffer_length*/, - const uint8_t* /*iv*/, - OEMCrypto_Algorithm /*algorithm*/, - uint8_t* /*out_buffer*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_Generic_Decrypt(OEMCrypto_SESSION /*session*/, - const uint8_t* /*in_buffer*/, - size_t /*buffer_length*/, - const uint8_t* /*iv*/, - OEMCrypto_Algorithm /*algorithm*/, - uint8_t* /*out_buffer*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_Generic_Sign(OEMCrypto_SESSION /*session*/, - const uint8_t* /*in_buffer*/, - size_t /*buffer_length*/, - OEMCrypto_Algorithm /*algorithm*/, - uint8_t* /*signature*/, - size_t* /*signature_length*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_Generic_Verify(OEMCrypto_SESSION /*session*/, - const uint8_t* /*in_buffer*/, - size_t /*buffer_length*/, - OEMCrypto_Algorithm /*algorithm*/, - const uint8_t* /*signature*/, - size_t /*signature_length*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_UpdateUsageTable() { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_DeactivateUsageEntry(const uint8_t */*pst*/, - size_t /*pst_length*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_ReportUsage(OEMCrypto_SESSION /*session*/, - const uint8_t* /*pst*/, size_t /*pst_length*/, - OEMCrypto_PST_Report* /*buffer*/, - size_t* /*buffer_length*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_DeleteUsageEntry(OEMCrypto_SESSION /*session*/, - const uint8_t* /*pst*/, - size_t /*pst_length*/, - const uint8_t */*message*/, - size_t /*message_length*/, - const uint8_t */*signature*/, - size_t /*signature_length*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_ForceDeleteUsageEntry(const uint8_t* /*pst*/, - size_t /*pst_length*/) { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} - -OEMCryptoResult Level3_DeleteUsageTable() { - return OEMCrypto_ERROR_NOT_IMPLEMENTED; -} -} // namespace wvoec3