Platform Context Object Operations
[Object-Manipulation Operations]

Functions

void fsl_shw_pco_get_version (const fsl_shw_pco_t *pc_info, uint32_t *major, uint32_t *minor)
void fsl_shw_pco_get_driver_version (const fsl_shw_pco_t *pc_info, uint32_t *major, uint32_t *minor)
void fsl_shw_pco_get_sym_algorithms (const fsl_shw_pco_t *pc_info, fsl_shw_key_alg_t *algorithms[], uint8_t *algorithm_count)
void fsl_shw_pco_get_sym_modes (const fsl_shw_pco_t *pc_info, fsl_shw_sym_mode_t *modes[], uint8_t *mode_count)
void fsl_shw_pco_get_hash_algorithms (const fsl_shw_pco_t *pc_info, fsl_shw_hash_alg_t *algorithms[], uint8_t *algorithm_count)
int fsl_shw_pco_check_sym_supported (const fsl_shw_pco_t *pc_info, fsl_shw_key_alg_t algorithm, fsl_shw_sym_mode_t mode)
int fsl_shw_pco_check_auth_supported (const fsl_shw_pco_t *pc_info, fsl_shw_acc_mode_t mode)
int fsl_shw_pco_check_black_key_supported (const fsl_shw_pco_t *pc_info)
void fsl_shw_pco_get_scc_driver_version (const fsl_shw_pco_t *pc_info, uint32_t *major, uint32_t *minor)
uint32_t fsl_shw_pco_get_scm_version (const fsl_shw_pco_t *pc_info)
uint32_t fsl_shw_pco_get_smn_version (const fsl_shw_pco_t *pc_info)
uint32_t fsl_shw_pco_get_scm_block_size (const fsl_shw_pco_t *pc_info)
void fsl_shw_pco_get_smn_size (const fsl_shw_pco_t *pc_info, uint32_t *black_size, uint32_t *red_size)
int fsl_shw_pco_check_spo_supported (const fsl_shw_pco_t *pc_info)
uint32_t fsl_shw_pco_get_spo_size_bytes (const fsl_shw_pco_t *pc_info)
uint32_t fsl_shw_pco_get_spo_count (const fsl_shw_pco_t *pc_info)
int fsl_shw_pco_check_pk_supported (const fsl_shw_pco_t *pc_info)
int fsl_shw_pco_check_sw_keys_supported (const fsl_shw_pco_t *pc_info)

Detailed Description

The Platform Context object is "read-only", so only query operations are provided for it. It is returned by the fsl_shw_get_capabilities() function.


Function Documentation

int fsl_shw_pco_check_auth_supported ( const fsl_shw_pco_t pc_info,
fsl_shw_acc_mode_t  mode 
)

Determine whether a given Encryption-Authentication mode is supported.

Parameters:
pc_info The Platform Capabilities Object to query.
mode The Authentication mode.
Returns:
0 if mode is not supported, non-zero if supported.
int fsl_shw_pco_check_black_key_supported ( const fsl_shw_pco_t pc_info  ) 

Determine whether Black Keys (key establishment / wrapping) is supported.

Parameters:
pc_info The Platform Capabilities Object to query.
Returns:
0 if wrapping is not supported, non-zero if supported.
int fsl_shw_pco_check_pk_supported ( const fsl_shw_pco_t pc_info  ) 

Determine whether Platform Key features are available

Parameters:
pc_info The Platform Capabilities Object to query.
Returns:
1 if Programmed Key features are available, otherwise zero.
int fsl_shw_pco_check_spo_supported ( const fsl_shw_pco_t pc_info  ) 

Determine whether Secure Partitions are supported

Parameters:
pc_info The Platform Capabilities Object to query.
Returns:
0 if secure partitions are not supported, non-zero if supported.
int fsl_shw_pco_check_sw_keys_supported ( const fsl_shw_pco_t pc_info  ) 

Determine whether Software Key features are available

Parameters:
pc_info The Platform Capabilities Object to query.
Returns:
1 if Software key features are available, otherwise zero.
int fsl_shw_pco_check_sym_supported ( const fsl_shw_pco_t pc_info,
fsl_shw_key_alg_t  algorithm,
fsl_shw_sym_mode_t  mode 
)

Determine whether the combination of a given symmetric algorithm and a given mode is supported.

Parameters:
pc_info The Platform Capabilities Object to query.
algorithm A Symmetric Cipher algorithm.
mode A Symmetric Cipher mode.
Returns:
0 if combination is not supported, non-zero if supported.
void fsl_shw_pco_get_driver_version ( const fsl_shw_pco_t pc_info,
uint32_t *  major,
uint32_t *  minor 
)

Get underlying driver version.

Parameters:
pc_info The Platform Capabilities Object to query.
[out] major A pointer to where the major version of the driver is to be stored.
[out] minor A pointer to where the minor version of the driver is to be stored.
void fsl_shw_pco_get_hash_algorithms ( const fsl_shw_pco_t pc_info,
fsl_shw_hash_alg_t algorithms[],
uint8_t *  algorithm_count 
)

Get list of hash algorithms supported.

Parameters:
pc_info The Platform Capabilities Object to query.
[out] algorithms A pointer which will be set to the list of algorithms.
[out] algorithm_count The number of algorithms in the list at algorithms.
void fsl_shw_pco_get_scc_driver_version ( const fsl_shw_pco_t pc_info,
uint32_t *  major,
uint32_t *  minor 
)

Get FSL SHW SCC driver version

Parameters:
pc_info The Platform Capabilities Object to query.
[out] major A pointer to where the major version of the SCC driver is to be stored.
[out] minor A pointer to where the minor version of the SCC driver is to be stored.
uint32_t fsl_shw_pco_get_scm_block_size ( const fsl_shw_pco_t pc_info  ) 

Get the size of an SCM block, in bytes

Parameters:
pc_info The Platform Capabilities Object to query.
Returns:
The size of an SCM block, in bytes.
uint32_t fsl_shw_pco_get_scm_version ( const fsl_shw_pco_t pc_info  ) 

Get SCM hardware version

Parameters:
pc_info The Platform Capabilities Object to query.
Returns:
The SCM hardware version
void fsl_shw_pco_get_smn_size ( const fsl_shw_pco_t pc_info,
uint32_t *  black_size,
uint32_t *  red_size 
)

Get size of Black and Red RAM memory

Parameters:
pc_info The Platform Capabilities Object to query.
[out] black_size A pointer to where the size of the Black RAM, in blocks, is to be placed.
[out] red_size A pointer to where the size of the Red RAM, in blocks, is to be placed.
uint32_t fsl_shw_pco_get_smn_version ( const fsl_shw_pco_t pc_info  ) 

Get SMN hardware version

Parameters:
pc_info The Platform Capabilities Object to query.
Returns:
The SMN hardware version
uint32_t fsl_shw_pco_get_spo_count ( const fsl_shw_pco_t pc_info  ) 

Get the number of Secure Partitions on this platform

Parameters:
pc_info The Platform Capabilities Object to query.
Returns:
Number of partitions. 0 if Secure Partitions not supported. Note that this returns the total number of partitions, though not all may be available to the user.
uint32_t fsl_shw_pco_get_spo_size_bytes ( const fsl_shw_pco_t pc_info  ) 

Get the size of a Secure Partitions

Parameters:
pc_info The Platform Capabilities Object to query.
Returns:
Partition size, in bytes. 0 if Secure Partitions not supported.
void fsl_shw_pco_get_sym_algorithms ( const fsl_shw_pco_t pc_info,
fsl_shw_key_alg_t algorithms[],
uint8_t *  algorithm_count 
)

Get list of symmetric algorithms supported.

Parameters:
pc_info The Platform Capabilities Object to query.
[out] algorithms A pointer to where to store the location of the list of algorithms.
[out] algorithm_count A pointer to where to store the number of algorithms in the list at algorithms.
void fsl_shw_pco_get_sym_modes ( const fsl_shw_pco_t pc_info,
fsl_shw_sym_mode_t modes[],
uint8_t *  mode_count 
)

Get list of symmetric modes supported.

Parameters:
pc_info The Platform Capabilities Object to query.
[out] modes A pointer to where to store the location of the list of modes.
[out] mode_count A pointer to where to store the number of algorithms in the list at modes.
void fsl_shw_pco_get_version ( const fsl_shw_pco_t pc_info,
uint32_t *  major,
uint32_t *  minor 
)

Get FSL SHW API version

Parameters:
pc_info The Platform Capabilities Object to query.
[out] major A pointer to where the major version of the API is to be stored.
[out] minor A pointer to where the minor version of the API is to be stored.
footer
©  Freescale Semiconductor, Inc., 2007.  All rights reserved.
Freescale Confidential Proprietary
NDA Required
doxygen