summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrusted Logic <smc_support@trusted-logic.com>2012-02-02 11:57:19 -0600
committerMike J. Chen <mjchen@google.com>2012-03-14 16:57:03 -0700
commit78a398145978a077d283f195a4fffabb6d2ac78b (patch)
tree9f582e07a4eecaa8f2c2b997931cd2d11daa1814
parent592170fc3796b4ff238c3dd1e119e5f19be35816 (diff)
downloadhardware_ti_omap4-78a398145978a077d283f195a4fffabb6d2ac78b.zip
hardware_ti_omap4-78a398145978a077d283f195a4fffabb6d2ac78b.tar.gz
hardware_ti_omap4-78a398145978a077d283f195a4fffabb6d2ac78b.tar.bz2
DO NOT MERGE
Security: tf_sdk: Update to 1.06 Remove sdrv_crypto.h Change-Id: Ie23899560732f8f293e9cf31b10c4a6558913b5e Signed-off-by: Bryan Buckley <bryan.buckley@ti.com>
-rw-r--r--security/tf_sdk/include/sddi.h126
-rw-r--r--security/tf_sdk/include/sdrv_crypto.h595
2 files changed, 0 insertions, 721 deletions
diff --git a/security/tf_sdk/include/sddi.h b/security/tf_sdk/include/sddi.h
index 2627ae0..713e070 100644
--- a/security/tf_sdk/include/sddi.h
+++ b/security/tf_sdk/include/sddi.h
@@ -57,25 +57,10 @@
#endif
#endif /* !SDRV_EXPORT */
-#define SDRV_SIGNAL_SW_BOOT 0x00000001
-#define SDRV_SIGNAL_SW_ACTIVE 0x00000002
-#define SDRV_SIGNAL_SW_PANIC 0x00000003
-#define SDRV_SIGNAL_CPU_SW 0x00000004
-#define SDRV_SIGNAL_THREAD_SW 0x00000005
-
-#define SDRV_TRACE_MAX_STRING_LEN 0xFF
-#define SDRV_INTERRUPT_CONTROLLER_NONE 0xFFFFFFFF
-
#define S_CACHE_OPERATION_CLEAN 0x00000001
#define S_CACHE_OPERATION_INVALIDATE 0x00000002
#define S_CACHE_OPERATION_CLEAN_AND_INVALIDATE 0x00000003
-typedef struct
-{
- uint32_t low;
- uint32_t high;
-} SDRV_MONOTONIC_COUNTER_VALUE;
-
void SDDI_EXPORT *SMemGetVirtual(uint32_t nSegmentID);
S_RESULT SDDI_EXPORT SMemGetPhysical(void* pVirtual, uint32_t* pnPhysical);
@@ -89,22 +74,6 @@ S_RESULT SDDI_EXPORT SMemFlushByAddress(
uint32_t nLength,
uint32_t nOperation);
-S_RESULT SDDI_EXPORT SInterruptDisable(uint32_t nInterruptID);
-
-S_RESULT SDDI_EXPORT SInterruptEnable(uint32_t nInterruptID);
-
-/*------------------------------------------------------------------------------
- Key Stream Functions
-------------------------------------------------------------------------------*/
-
-void SDDI_EXPORT SKeyStreamWrite(
- const uint8_t* pBuffer,
- uint32_t nBufferLength);
-
-S_RESULT SDDI_EXPORT SKeyStreamRead(
- uint8_t* pBuffer,
- uint32_t* pnBufferLength);
-
/*------------------------------------------------------------------------------
Driver Common Entry Points
------------------------------------------------------------------------------*/
@@ -113,99 +82,4 @@ S_RESULT SDRV_EXPORT SDrvCreate(uint32_t nParam0, uint32_t nParam1);
void SDRV_EXPORT SDrvDestroy(void);
-bool SDRV_EXPORT SDrvHandleInterrupt(
- IN OUT void* pInstanceData,
- uint32_t nInterruptId);
-
-/*------------------------------------------------------------------------------
- Secure Interrupt Controller Driver Entry Points
-------------------------------------------------------------------------------*/
-
-uint32_t SDRV_EXPORT SDrvSICGetSystemInterrupt(void* pInstanceData);
-
-void SDRV_EXPORT SDrvSICDisableInterrupt(
- void* pInstanceData,
- uint32_t nInterrupt);
-
-void SDRV_EXPORT SDrvSICEnableInterrupt(
- void* pInstanceData,
- uint32_t nInterrupt);
-
-/*------------------------------------------------------------------------------
- Normal Interrupt Controller Driver Entry Points
-------------------------------------------------------------------------------*/
-
-void SDRV_EXPORT SDrvNICSignalNormalWorld(void* pInstanceData);
-
-void SDRV_EXPORT SDrvNICResetSignalNormalWorld(void* pInstanceData);
-
-/*------------------------------------------------------------------------------
- Interrupt Controller Driver Entry Points
-------------------------------------------------------------------------------*/
-
-S_RESULT SDRV_EXPORT SDrvMonotonicCounterOpen(
- uint32_t nReserved,
- void** ppCounterContext,
- SDRV_MONOTONIC_COUNTER_VALUE* pMaxCounterValue);
-
-void SDRV_EXPORT SDrvMonotonicCounterClose( void* pCounterContext);
-
-S_RESULT SDRV_EXPORT SDrvMonotonicCounterGet(
- IN void* pCounterContext,
- IN OUT SDRV_MONOTONIC_COUNTER_VALUE* pCounterValue);
-
-S_RESULT SDRV_EXPORT SDrvMonotonicCounterIncrement(
- IN void* pCounterContext,
- IN OUT SDRV_MONOTONIC_COUNTER_VALUE* pNewCounterValue);
-
-/*------------------------------------------------------------------------------
- RTC Driver Entry Points
-------------------------------------------------------------------------------*/
-
-S_RESULT SDRV_EXPORT SDrvRTCOpen(
- uint32_t nReserved,
- void** ppRTCContext);
-
-void SDRV_EXPORT SDrvRTCClose(
- void* pRTCContext);
-
-S_RESULT SDRV_EXPORT SDrvRTCRead(
- void* pRTCContext,
- uint32_t* pnTime,
- bool* pbIsCorrupted);
-
-S_RESULT SDRV_EXPORT SDrvRTCResetCorruptedFlag(
- void* pRTCContext);
-
-/*------------------------------------------------------------------------------
- Trace Driver Entry Points
-------------------------------------------------------------------------------*/
-
-void SDRV_EXPORT SDrvTracePrint(
- IN void* pInstanceData,
- IN const char* pString);
-
-void SDRV_EXPORT SDrvTraceSignal(
- IN void* pInstanceData,
- IN uint32_t nSignal,
- IN uint32_t nReserved);
-
-/*------------------------------------------------------------------------------
- Crypto Driver Interface definition is in the file sdrv_crypto.h
-------------------------------------------------------------------------------*/
-#include "sdrv_crypto.h"
-
-/*------------------------------------------------------------------------------
- Memory Driver Functions
-------------------------------------------------------------------------------*/
-
-S_RESULT SDRV_EXPORT SDrvMemoryAllocateRegion(
- uint32_t nReserved,
-IN OUT uint32_t* pnPageCount,
-OUT uint32_t* pnRegionPhysicalAddressAndAttributes,
-OUT void** ppRegionContext);
-
-void SDRV_EXPORT SDrvMemoryFreeRegion(void* pRegionContext);
-
-
#endif /* #ifndef __SDDI_H__ */
diff --git a/security/tf_sdk/include/sdrv_crypto.h b/security/tf_sdk/include/sdrv_crypto.h
deleted file mode 100644
index 057090e..0000000
--- a/security/tf_sdk/include/sdrv_crypto.h
+++ /dev/null
@@ -1,595 +0,0 @@
-/**
- * Copyright(c) 2011 Trusted Logic. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name Trusted Logic nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * File : sdrv_crypto.h
- *
- * Last-Author : Trusted Logic S.A.
- * Created : August 28, 2007
- *
- */
-
-
-/**
- * SDDI Crypto Driver specification header file.
- */
-
-#ifndef __SDRV_CRYPTO_H__
-#define __SDRV_CRYPTO_H__
-
-#include "s_type.h"
-#include "s_error.h"
-#include "sddi.h"
-
-#ifndef SSDI_EXPORT
-#if defined(WIN32) || defined(__ARMCC_VERSION)
-#ifdef SMODULE_IMPLEMENTATION
-#define SSDI_EXPORT __declspec(dllexport)
-#else
-#define SSDI_EXPORT __declspec(dllimport)
-#endif
-#elif defined(__GNUC__)
-#define SSDI_EXPORT __attribute__ ((visibility ("default")))
-#else
-#define SSDI_EXPORT
-#endif
-#endif /* !SSDI_EXPORT */
-
-#ifndef SSPI_EXPORT
-#if defined(WIN32) || defined(_WIN32_WCE) || defined(__ARMCC_VERSION)
-#define SSPI_EXPORT __declspec(dllexport)
-#elif defined(__GNUC__)
-#define SSPI_EXPORT __attribute__ ((visibility ("default")))
-#else
-#define SSPI_EXPORT
-#endif
-#endif /* !SSPI_EXPORT */
-
-
-
-
-/*------------------------------------------------------------------------------
- SSDI Types
-------------------------------------------------------------------------------*/
-
-typedef struct SDRV_CRYPTO_KEY_INFO
-{
- uint32_t nKeyType;
- uint32_t nKeyAlgorithm;
- uint32_t nKeyBits;
- uint32_t nUseType;
- uint32_t nFlags;
- uint32_t nReserved1;
- uint32_t nReserved2;
-} SDRV_CRYPTO_KEY_INFO;
-/* Caution: the meaning of nKeyBits depends on the algorithm and the key type */
-
-typedef struct SDRV_CRYPTO_BIGNUM
-{
- uint32_t nLength;
- uint8_t *pBuffer;
-} SDRV_CRYPTO_BIGNUM;
-
-/*------------------------------------------------------------------------------
- Algorithm-dependent structures
-------------------------------------------------------------------------------*/
-
-typedef struct SDRV_CRYPTO_RSA_PUBLIC_KEY
-{
- SDRV_CRYPTO_BIGNUM modulus;
- SDRV_CRYPTO_BIGNUM publicExponent;
-} SDRV_CRYPTO_RSA_PUBLIC_KEY;
-
-typedef struct SDRV_CRYPTO_RSA_PRIVATE_KEY
-{
- SDRV_CRYPTO_BIGNUM modulus;
- SDRV_CRYPTO_BIGNUM publicExponent;
- SDRV_CRYPTO_BIGNUM privateExponent;
- SDRV_CRYPTO_BIGNUM primeP;
- SDRV_CRYPTO_BIGNUM primeQ;
- SDRV_CRYPTO_BIGNUM exp1;
- SDRV_CRYPTO_BIGNUM exp2;
- SDRV_CRYPTO_BIGNUM coef;
-} SDRV_CRYPTO_RSA_PRIVATE_KEY;
-
-typedef struct SDRV_CRYPTO_DH_PUBLIC_KEY
-{
- SDRV_CRYPTO_BIGNUM p;
- SDRV_CRYPTO_BIGNUM g;
- SDRV_CRYPTO_BIGNUM y;
-} SDRV_CRYPTO_DH_PUBLIC_KEY;
-
-typedef struct SDRV_CRYPTO_DH_PRIVATE_KEY
-{
- SDRV_CRYPTO_BIGNUM p;
- SDRV_CRYPTO_BIGNUM g;
- SDRV_CRYPTO_BIGNUM x;
-} SDRV_CRYPTO_DH_PRIVATE_KEY;
-
-typedef struct SDRV_CRYPTO_DH_PARAMETERS
-{
- SDRV_CRYPTO_BIGNUM p;
- SDRV_CRYPTO_BIGNUM g;
-} SDRV_CRYPTO_DH_PARAMETERS;
-
-typedef struct SDRV_CRYPTO_DSA_PARAMETER
-{
- SDRV_CRYPTO_BIGNUM p;
- SDRV_CRYPTO_BIGNUM q;
- SDRV_CRYPTO_BIGNUM g;
-} SDRV_CRYPTO_DSA_PARAMETERS;
-
-typedef struct SDRV_CRYPTO_DSA_PUBLIC_KEY
-{
- SDRV_CRYPTO_BIGNUM p;
- SDRV_CRYPTO_BIGNUM q;
- SDRV_CRYPTO_BIGNUM g;
- SDRV_CRYPTO_BIGNUM y;
-} SDRV_CRYPTO_DSA_PUBLIC_KEY;
-
-typedef struct SDRV_CRYPTO_DSA_PRIVATE_KEY
-{
- SDRV_CRYPTO_BIGNUM p;
- SDRV_CRYPTO_BIGNUM q;
- SDRV_CRYPTO_BIGNUM g;
- SDRV_CRYPTO_BIGNUM x;
-} SDRV_CRYPTO_DSA_PRIVATE_KEY;
-
-typedef SDRV_CRYPTO_BIGNUM SDRV_CRYPTO_FIELD_ELEMENT;
-
-typedef struct SDRV_CRYPTO_EC_POINT {
- uint32_t type;
- SDRV_CRYPTO_FIELD_ELEMENT x, y;
-} SDRV_CRYPTO_EC_POINT;
-
-typedef struct SDRV_CRYPTO_EC_PARAMETERS
-{
- uint32_t fieldType;
- SDRV_CRYPTO_BIGNUM fieldParam;
- SDRV_CRYPTO_EC_POINT generator;
- SDRV_CRYPTO_FIELD_ELEMENT a;
- SDRV_CRYPTO_FIELD_ELEMENT b;
- SDRV_CRYPTO_BIGNUM order;
- uint32_t cofactor;
- uint32_t seedLen;
- uint8_t *pSeed;
-} SDRV_CRYPTO_EC_PARAMETERS;
-
-typedef struct SDRV_CRYPTO_EC_PUBLIC_KEY
-{
- SDRV_CRYPTO_EC_PARAMETERS domainParameters;
- SDRV_CRYPTO_EC_POINT publicKey;
-} SDRV_CRYPTO_EC_PUBLIC_KEY;
-
-typedef struct SDRV_CRYPTO_EC_PRIVATE_KEY
-{
- SDRV_CRYPTO_EC_PARAMETERS domainParameters;
- SDRV_CRYPTO_BIGNUM privateKey;
-} SDRV_CRYPTO_EC_PRIVATE_KEY;
-
-typedef struct SDRV_CRYPTO_ECSVP_DH_KDF_SHA1_PARAMETERS
-{
- uint32_t sharedInfoLen;
- uint8_t *pSharedInfo;
- SDRV_CRYPTO_EC_POINT publicKey;
-} SDRV_CRYPTO_ECSVP_DH_KDF_SHA1_PARAMETERS;
-
-typedef struct SDRV_CRYPTO_EXTENDED_TYPE
-{
- uint32_t nType;
- void* pValue;
- uint32_t nLen;
-} SDRV_CRYPTO_EXTENDED_TYPE;
-
-
-/*------------------------------------------------------------------------------
- Constants
-------------------------------------------------------------------------------*/
-
-/* Hardware Key IDs */
-#define SDRV_CRYPTO_HW_KEY_MASTER_ID 1
-#define SDRV_CRYPTO_HW_KEY_CEK_CUSTOMER_ID 3
-#define SDRV_CRYPTO_HW_KEY_KEK_ID 4
-
-/* operation codes */
-#define SDRV_CRYPTO_OP_DIGEST 0x00000001
-#define SDRV_CRYPTO_OP_SIGN 0x00000002
-#define SDRV_CRYPTO_OP_VERIFY 0x00000003
-#define SDRV_CRYPTO_OP_ENCRYPT 0x00000004
-#define SDRV_CRYPTO_OP_DECRYPT 0x00000005
-
-/* encoding formats */
-#define SDRV_CRYPTO_ENCODING_FORMAT_NONE 0x00000000
-
-/* key parameters */
-#define SDRV_CRYPTO_KEY_PARAM_MODULUS 0x00000001
-#define SDRV_CRYPTO_KEY_PARAM_PUBLIC_EXPONENT 0x00000002
-#define SDRV_CRYPTO_KEY_PARAM_GENERATOR 0x00000003
-#define SDRV_CRYPTO_KEY_PARAM_SUBPRIME 0x00000004
-#define SDRV_CRYPTO_KEY_PARAM_PUBLIC_VALUE 0x00000005
-#define SDRV_CRYPTO_KEY_PARAM_VALUE 0x00000006
-
-#define SDRV_CRYPTO_KEY_PARAM_PRIVATE_EXPONENT 0x00000007
-#define SDRV_CRYPTO_KEY_PARAM_PRIME_1 0x00000008
-#define SDRV_CRYPTO_KEY_PARAM_PRIME_2 0x00000009
-#define SDRV_CRYPTO_KEY_PARAM_EXPONENT_1 0x0000000A
-#define SDRV_CRYPTO_KEY_PARAM_EXPONENT_2 0x0000000B
-#define SDRV_CRYPTO_KEY_PARAM_COEFFICIENT 0x0000000C
-
-#define SDRV_CRYPTO_KEY_PARAM_EC_FIELD_TYPE 0x00000010
-#define SDRV_CRYPTO_KEY_PARAM_EC_GENERATOR_X_UNCOMPRESSED 0x00000011
-#define SDRV_CRYPTO_KEY_PARAM_EC_GENERATOR_Y_UNCOMPRESSED 0x00000012
-#define SDRV_CRYPTO_KEY_PARAM_EC_A 0x00000013
-#define SDRV_CRYPTO_KEY_PARAM_EC_B 0x00000014
-#define SDRV_CRYPTO_KEY_PARAM_EC_ORDER 0x00000015
-#define SDRV_CRYPTO_KEY_PARAM_EC_COFACTOR 0x00000016
-#define SDRV_CRYPTO_KEY_PARAM_EC_PRIME 0x00000017
-#define SDRV_CRYPTO_KEY_PARAM_EC_REDUCTION_POLYNOMIAL 0x00000018
-#define SDRV_CRYPTO_KEY_PARAM_EC_SEED 0x00000019
-#define SDRV_CRYPTO_KEY_PARAM_EC_PUBLIC_VALUE_X_UNCOMPRESSED 0x0000001A
-#define SDRV_CRYPTO_KEY_PARAM_EC_PUBLIC_VALUE_Y_UNCOMPRESSED 0x0000001B
-#define SDRV_CRYPTO_KEY_PARAM_EC_FIELD_SIZE 0x0000001C
-
-/* key types */
-#define SDRV_CRYPTO_KEY_TYPE_SECRET 0x00000001
-#define SDRV_CRYPTO_KEY_TYPE_PUBLIC 0x00000002
-#define SDRV_CRYPTO_KEY_TYPE_PRIVATE 0x00000003
-#define SDRV_CRYPTO_KEY_TYPE_DATA 0x00000004
-
-#define SDRV_CRYPTO_FIELD_P 0x00000001
-#define SDRV_CRYPTO_FIELD_2M_POLYNOMIAL 0x00000002
-
-/* key and algorithm usage */
-#define SDRV_CRYPTO_USE_SIGN 0x00000001
-#define SDRV_CRYPTO_USE_VERIFY 0x00000002
-#define SDRV_CRYPTO_USE_ENCRYPT 0x00000004
-#define SDRV_CRYPTO_USE_DECRYPT 0x00000008
-#define SDRV_CRYPTO_USE_DERIVE 0x00000010
-#define SDRV_CRYPTO_USE_UNWRAP 0x00000020
-#define SDRV_CRYPTO_USE_WRAP 0x00000040
-#define SDRV_CRYPTO_USE_DIGEST 0x00000080
-#define SDRV_CRYPTO_USE_SECRET_GENERATION 0x00000100
-#define SDRV_CRYPTO_USE_KEYPAIR_GENERATION 0x00000200
-
-/* key flags */
-#define SDRV_CRYPTO_FLAG_WRAPPABLE 0x00000001
-#define SDRV_CRYPTO_FLAG_NON_SENSITIVE 0x00000002
-#define SDRV_CRYPTO_FLAG_ALLOW_NON_SENSITIVE_DERIVED_KEY 0x00000004
-#define SDRV_CRYPTO_FLAG_COPY_PROHIBITED 0x00000008
-
-/* key storage */
-#define SDRV_CRYPTO_STORAGE_TEMPORARY 0x00000001
-#define SDRV_CRYPTO_STORAGE_PERMANENT 0x00000002
-
-/* algorithm constants */
-#define SDRV_CRYPTO_ALG_NONE 0x00000000
-#define SDRV_CRYPTO_ALG_RSA_RAW 0x30001001
-#define SDRV_CRYPTO_ALG_RSA_PKCS1_5_NONE 0x30002001
-#define SDRV_CRYPTO_ALG_RSA_PKCS1_5_MD5 0x30002601
-#define SDRV_CRYPTO_ALG_RSA_PKCS1_5_SHA1 0x30002101
-#define SDRV_CRYPTO_ALG_RSA_PKCS1_5_SHA224 0x30002201
-#define SDRV_CRYPTO_ALG_RSA_PKCS1_5_SHA256 0x30002301
-#define SDRV_CRYPTO_ALG_RSA_PKCS1_5_SHA384 0x30002401
-#define SDRV_CRYPTO_ALG_RSA_PKCS1_5_SHA512 0x30002501
-#define SDRV_CRYPTO_ALG_DSA 0x30000081
-#define SDRV_CRYPTO_ALG_DSA_SHA1 0x30000181
-#define SDRV_CRYPTO_ALG_DH_PKCS3 0x30000082
-#define SDRV_CRYPTO_ALG_ECDSA_SHA1 0x40000101
-#define SDRV_CRYPTO_ALG_AES_ECB 0x10000101
-#define SDRV_CRYPTO_ALG_AES_CBC 0x10000201
-#define SDRV_CRYPTO_ALG_AES_CTR 0x10000301
-#define SDRV_CRYPTO_ALG_AES_MAC 0x60001001
-#define SDRV_CRYPTO_ALG_DES_ECB 0x10000102
-#define SDRV_CRYPTO_ALG_DES_CBC 0x10000202
-#define SDRV_CRYPTO_ALG_DES_MAC 0x60001002
-#define SDRV_CRYPTO_ALG_DES3_EDE_ECB 0x10010104
-#define SDRV_CRYPTO_ALG_DES3_EDE_CBC 0x10010204
-#define SDRV_CRYPTO_ALG_DES3_EDE_MAC 0x60011004
-#define SDRV_CRYPTO_ALG_ARC4 0x20000005
-#define SDRV_CRYPTO_ALG_MD5 0x50000061
-#define SDRV_CRYPTO_ALG_SHA1 0x50000012
-#define SDRV_CRYPTO_ALG_SHA224 0x50000022
-#define SDRV_CRYPTO_ALG_SHA256 0x50000032
-#define SDRV_CRYPTO_ALG_SHA384 0x50000042
-#define SDRV_CRYPTO_ALG_SHA512 0x50000052
-#define SDRV_CRYPTO_ALG_HMAC_SHA1 0x60000106
-#define SDRV_CRYPTO_ALG_HMAC_SHA224 0x60000206
-#define SDRV_CRYPTO_ALG_HMAC_SHA256 0x60000306
-#define SDRV_CRYPTO_ALG_HMAC_SHA384 0x60000406
-#define SDRV_CRYPTO_ALG_HMAC_SHA512 0x60000506
-#define SDRV_CRYPTO_ALG_HMAC_MD5 0x60000606
-#define SDRV_CRYPTO_ALG_WRAP_SECURE_STORAGE 0x80000000
-#define SDRV_CRYPTO_ALG_GEN_RSA_PKCS1 0x90000001
-#define SDRV_CRYPTO_ALG_GEN_DSA 0x90000002
-#define SDRV_CRYPTO_ALG_GEN_EC 0x90000003
-#define SDRV_CRYPTO_ALG_GEN_DH_PKCS3 0x90000004
-#define SDRV_CRYPTO_ALG_GEN_AES 0x90000081
-#define SDRV_CRYPTO_ALG_GEN_DES 0x90000082
-#define SDRV_CRYPTO_ALG_GEN_DES2 0x90000083
-#define SDRV_CRYPTO_ALG_GEN_DES3 0x90000084
-#define SDRV_CRYPTO_ALG_GEN_ARC4 0x90000085
-#define SDRV_CRYPTO_ALG_GEN_GENERIC_SECRET 0x90000080
-
-/* vendor defined algorithms constants */
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_0 0x100000F0
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_1 0x100000F1
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_2 0x100000F2
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_3 0x100000F3
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_4 0x100000F4
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_5 0x100000F5
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_6 0x100000F6
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_7 0x100000F7
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_8 0x100000F8
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_9 0x100000F9
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_10 0x100000FA
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_11 0x100000FB
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_12 0x100000FC
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_13 0x100000FD
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_14 0x100000FE
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_15 0x100000FF
-
-/* key algorithm mask */
-#define SDRV_CRYPTO_ALG_KEY_MASK 0xF00000FF
-
-/* standard and restricted modes */
-#define SDRV_CRYPTO_STANDARD_MODE 0x00000000
-#define SDRV_CRYPTO_RESTRICTED_MODE 0x00000001
-
-/*------------------------------------------------------------------------------
- Crypto Driver Functions
-------------------------------------------------------------------------------*/
-
-S_RESULT SDRV_EXPORT SDrvCryptoOpen(
- OUT void** ppSessionContext);
-
-void SDRV_EXPORT SDrvCryptoClose(
- IN void* pSessionContext);
-
-S_RESULT SDRV_EXPORT SDrvCryptoOpenHardwareKey(
- IN void* pSessionContext,
- IN uint32_t nHWKeyID,
- IN uint32_t nHWFlags,
- OUT void** ppKeyContext,
- OUT SDRV_CRYPTO_KEY_INFO* pKeyInfo);
-
-void SDRV_EXPORT SDrvCryptoCloseKeyContext(
- IN void* pSessionContext,
- IN void* pKeyContext);
-
-S_RESULT SDRV_EXPORT SDrvCryptoInitOperation(
- IN void* pSessionContext,
- uint32_t nOperation,
- uint32_t nAlgorithm,
- IN const void* pParameter,
- uint32_t nParameterLen,
- IN void* pKeyContext,
- OUT void** ppOperationContext);
-
-S_RESULT SDRV_EXPORT SDrvCryptoEncrypt(
- IN void* pOperationContext,
- IN const uint8_t* pData,
- uint32_t nDataLen,
- OUT uint8_t* pEncryptedData,
- void* pReserved,
- bool bTerminate);
-
-S_RESULT SDRV_EXPORT SDrvCryptoEncryptUpdate(
- IN void* pOperationContext,
- IN const uint8_t* pPart,
- uint32_t nPartLen,
- OUT uint8_t* pEncryptedPart,
- void* pReserved,
- bool bTerminate);
-
-S_RESULT SDRV_EXPORT SDrvCryptoDecrypt(
- IN void* pOperationContext,
- IN const uint8_t* pEncryptedData,
- uint32_t nEncryptedDataLen,
- OUT uint8_t* pData,
- void* pReserved,
- IN bool bTerminate);
-
-S_RESULT SDRV_EXPORT SDrvCryptoDecryptUpdate(
- IN void* pOperationContext,
- IN const uint8_t* pEncryptedPart,
- uint32_t nEncryptedPartLen,
- OUT uint8_t* pPart,
- void* pReserved,
- bool bTerminate);
-
-S_RESULT SDRV_EXPORT SDrvCryptoSign(
- IN void* pOperationContext,
- IN const uint8_t* pData,
- uint32_t nDataLen,
- OUT uint8_t* pSignature,
- void* pReserved,
- bool bTerminate);
-
-S_RESULT SDRV_EXPORT SDrvCryptoSignUpdate(
- IN void* pOperationContext,
- IN const uint8_t* pPart,
- uint32_t nPartLen);
-
-S_RESULT SDRV_EXPORT SDrvCryptoSignLast(
- IN void* pOperationContext,
- OUT uint8_t* pSignature,
- void* pReserved,
- IN bool bTerminate);
-
-S_RESULT SDRV_EXPORT SDrvCryptoVerify(
- IN void* pOperationContext,
- IN const uint8_t* pData,
- uint32_t nDataLen,
- IN const uint8_t* pSignature,
- void* pReserved,
- bool bTerminate);
-
-S_RESULT SDRV_EXPORT SDrvCryptoVerifyUpdate(
- IN void* pOperationContext,
- IN const uint8_t* pPart,
- uint32_t nPartLen);
-
-S_RESULT SDRV_EXPORT SDrvCryptoVerifyLast(
- IN void* pOperationContext,
- IN const uint8_t* pSignature,
- void* pReserved,
- bool bTerminate);
-
-S_RESULT SDRV_EXPORT SDrvCryptoDigest(
- IN void* pOperationContext,
- IN const uint8_t* pData,
- uint32_t nDataLen,
- OUT uint8_t* pDigest,
- void* pReserved,
- bool bTerminate);
-
-S_RESULT SDRV_EXPORT SDrvCryptoDigestUpdate(
- IN void* pOperationContext,
- IN const uint8_t* pPart,
- uint32_t nPartLen);
-
-S_RESULT SDRV_EXPORT SDrvCryptoDigestLast(
- IN void* pOperationContext,
- OUT uint8_t* pDigest,
- void* pReserved,
- bool bTerminate);
-
-S_RESULT SDRV_EXPORT SDrvCryptoResetOperation(
- IN void* pOperationContext,
- IN uint32_t nOperation,
- IN void* pKeyContext,
- IN const void* pParameter,
- uint32_t nParameterLen);
-
-void SDRV_EXPORT SDrvCryptoTerminateOperation(
- IN void* pOperationContext,
- void* pReserved);
-
-S_RESULT SDRV_EXPORT SDrvCryptoCreateKey(
- IN void* pSessionContext,
- IN OUT SDRV_CRYPTO_KEY_INFO* pKeyInfo,
-IN const void* pKey,
- uint32_t nKeyLen,
- OUT void** ppKeyContext);
-
-S_RESULT SDRV_EXPORT SDrvCryptoStoreKey(
- IN void* pSessionContext,
- IN void* pSourceKeyContext,
- IN SDRV_CRYPTO_KEY_INFO* pSourceKeyInfo);
-
-S_RESULT SDRV_EXPORT SDrvCryptoLoadKey(
- IN void* pSessionContext,
- IN SDRV_CRYPTO_KEY_INFO* pDestinationKeyInfo,
- OUT void** ppDestinationKeyContext);
-
-S_RESULT SDRV_EXPORT SDrvCryptoCopyObject(
- IN void* pSessionContext,
- IN void* pSourceKeyContext,
- IN OUT SDRV_CRYPTO_KEY_INFO* pTargetKeyInfo,
- OUT void** ppTargetKeyContext);
-
-S_RESULT SDRV_EXPORT SDrvCryptoGenerateSecretKey(
- IN void* pSessionContext,
- uint32_t nGenerationAlgorithm,
- IN OUT SDRV_CRYPTO_KEY_INFO* pKeyInfo,
-IN const void* pParameter,
- uint32_t nParameterLen,
- void* pReserved,
- uint32_t nReservedLen,
- OUT void** ppKeyContext);
-
-S_RESULT SDRV_EXPORT SDrvCryptoGenerateKeyPair(
- IN void* pSessionContext,
- uint32_t nGenerationAlgorithm,
- IN OUT SDRV_CRYPTO_KEY_INFO* pPrivateKeyInfo,
- IN OUT SDRV_CRYPTO_KEY_INFO* pPublicKeyInfo,
-IN const void* pParameter,
- uint32_t nParameterLen,
- void* pReserved1,
- uint32_t nReserved1Len,
- void* pReserved2,
- uint32_t nReserved2Len,
- OUT void** ppPrivateKeyContext,
- OUT void** ppPublicKeyContext);
-
-S_RESULT SDRV_EXPORT SDrvCryptoDeriveKey(
- IN void* pSessionContext,
- uint32_t derivationAlgorithm,
-IN const void* pParameter,
- uint32_t nParameterLen,
- IN void* pSourceKeyContext,
- IN OUT SDRV_CRYPTO_KEY_INFO* pTargetKeyInfo,
- IN void* pReserved,
- uint32_t nReservedLen,
- OUT void** ppTargetKeyContext);
-
-S_RESULT SDRV_EXPORT SDrvCryptoUnwrapKey(
- IN void* pSessionContext,
- uint32_t nDecryptionAlgorithm,
- uint32_t nEncodingFormat,
-IN const void* pParameter,
- uint32_t nParameterLen,
- IN void* pDecryptionKeyContext,
-IN const uint8_t* pWrappedBuffer,
- uint32_t nWrappedBufferLength,
- IN OUT SDRV_CRYPTO_KEY_INFO* pKeyInfo,
- void* pReserved,
- uint32_t nReservedLen,
- OUT void** ppKeyContext);
-
-S_RESULT SDRV_EXPORT SDrvCryptoWrapKey(
- IN void* pSessionContext,
- uint32_t nEncodingFormat,
- uint32_t nEncryptionAlgorithm,
- IN const void* pParameter,
- uint32_t nParameterLen,
- IN void* pEncryptionKeyContext,
- IN void* pSourceKeyContext,
- IN OUT uint8_t* pWrappedBuffer,
- void* pReserved);
-
-S_RESULT SDRV_EXPORT SDrvCryptoGetKeyParam(
- IN void* pKeyContext,
- uint32_t keyParam,
- OUT uint8_t* pParameter,
- IN OUT uint32_t* pnParameterLen);
-
-S_RESULT SDRV_EXPORT SDrvCryptoAddEntropy(
- IN void* pSessionContext,
- IN const uint8_t* pSeed,
- uint32_t nSeedLen);
-
-S_RESULT SDRV_EXPORT SDrvCryptoGenerateRandom(
- IN void* pSessionContext,
- uint32_t nReserved,
- OUT uint8_t* pResultBuffer,
- uint32_t nResultBufferLen);
-
-#endif /* __SDRV_CRYPTO_H__ */