| /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
| /* |
| * Copyright (C) 2020, Intel Corporation |
| */ |
| |
| #ifndef __INTEL_FCS_IOCTL_H |
| #define __INTEL_FCS_IOCTL_H |
| |
| #include <linux/types.h> |
| |
| /* the value may need be changed when upstream */ |
| #define INTEL_FCS_IOCTL 0xC0 |
| |
| /* define macro to be used to fix the size of struct intel_fcs_dev_ioctl */ |
| #define INTEL_FCS_IOCTL_MAX_SZ 256U |
| /* the header include the 8 bytes stucture padding and 4 bytes status */ |
| #define INTEL_FCS_IOCTL_HEADER_SZ 12U |
| #define INTEL_FCS_IOCTL_PLACEHOLDER_SZ (INTEL_FCS_IOCTL_MAX_SZ - \ |
| INTEL_FCS_IOCTL_HEADER_SZ) / 4 |
| |
| /** |
| * enum fcs_vab_img_type - enumeration of image types |
| * @INTEL_FCS_IMAGE_HPS: Image to validate is HPS image |
| * @INTEL_FCS_IMAGE_BITSTREAM: Image to validate is bitstream |
| */ |
| enum fcs_vab_img_type { |
| INTEL_FCS_IMAGE_HPS = 0, |
| INTEL_FCS_IMAGE_BITSTREAM = 1 |
| }; |
| |
| /** |
| * enum fcs_certificate_test - enumeration of certificate test |
| * @INTEL_FCS_NO_TEST: Write to eFuses |
| * @INTEL_FCS_TEST: Write to cache, do not write eFuses |
| */ |
| enum fcs_certificate_test { |
| INTEL_FCS_NO_TEST = 0, |
| INTEL_FCS_TEST = 1 |
| }; |
| |
| /** |
| * struct fcs_mbox_send_cmd - send generic mailbox command |
| * @mbox_cmd: mailbox command code |
| * @urgent: 0 for CASUAL, 1 for URGENT |
| * @cmd_data: virtual address of mailbox command data |
| * @cmd_data_sz: size of mailbox command data in bytes |
| * @rsp_data: virtual address to store response data |
| * @rsp_data_sz: maximun size to store response data in bytes |
| */ |
| struct fcs_mbox_send_cmd { |
| uint32_t mbox_cmd; |
| uint8_t urgent; |
| void *cmd_data; |
| uint16_t cmd_data_sz; |
| void *rsp_data; |
| uint16_t rsp_data_sz; |
| }; |
| |
| /** |
| * struct fcs_placeholder - placeholder of ioctl stuct |
| * @data: placeholder of iotcl struct |
| */ |
| struct fcs_placeholder { |
| uint32_t data[INTEL_FCS_IOCTL_PLACEHOLDER_SZ]; |
| }; |
| |
| /** |
| * struct intel_fcs_cert_test_word - certificate test word |
| * @test_word: if set, do not write fuses, write to cache only. |
| */ |
| struct intel_fcs_cert_test_word { |
| uint32_t test_word; |
| }; |
| |
| /** |
| * struct fcs_validation_request - validate HPS or bitstream image |
| * @so_type: the type of signed object, 0 for HPS and 1 for bitstream |
| * @src: the source of signed object, |
| * for HPS, this is the virtual address of the signed source |
| * for Bitstream, this is path of the signed source, the default |
| * path is /lib/firmware |
| * @size: the size of the signed object |
| */ |
| struct fcs_validation_request { |
| enum fcs_vab_img_type so_type; |
| void *src; |
| uint32_t size; |
| }; |
| |
| /** |
| * struct fcs_key_manage_request - Request key management from SDM |
| * @addr: the virtual address of the signed object, |
| * @size: the size of the signed object |
| */ |
| struct fcs_key_manage_request { |
| void *addr; |
| uint32_t size; |
| }; |
| |
| /** |
| * struct fcs_certificate_request - Certificate request to SDM |
| * @test: test bit (1 if want to write to cache instead of fuses) |
| * @addr: the virtual address of the signed object, |
| * @size: the size of the signed object |
| * @c_status: returned certificate status |
| */ |
| struct fcs_certificate_request { |
| struct intel_fcs_cert_test_word test; |
| void *addr; |
| uint32_t size; |
| uint32_t c_status; |
| }; |
| |
| /** |
| * struct fcs_single_certificate_request - Single certificate to SDM |
| * @test: test bit (1 if want to write to cache instead of fuses) |
| * @counter_type: select the counter type with valid value from 1 to 5 |
| * @counter_value: counter value |
| */ |
| struct fcs_single_certificate_request { |
| struct intel_fcs_cert_test_word test; |
| uint8_t counter_type; |
| uint32_t counter_value; |
| }; |
| |
| /** |
| * struct fcs_data_encryption - aes data encryption command layout |
| * @src: the virtual address of the input data |
| * @src_size: the size of the unencrypted source |
| * @dst: the virtual address of the output data |
| * @dst_size: the size of the encrypted result |
| */ |
| struct fcs_data_encryption { |
| void *src; |
| uint32_t src_size; |
| void *dst; |
| uint32_t dst_size; |
| }; |
| |
| /** |
| * struct fcs_data_decryption - aes data decryption command layout |
| * @src: the virtual address of the input data |
| * @src_size: the size of the encrypted source |
| * @dst: the virtual address of the output data |
| * @dst_size: the size of the decrypted result |
| */ |
| struct fcs_data_decryption { |
| void *src; |
| uint32_t src_size; |
| void *dst; |
| uint32_t dst_size; |
| }; |
| |
| /** |
| * struct fcs_random_number_gen |
| * @rndm: 8 words of random data. |
| */ |
| struct fcs_random_number_gen { |
| uint32_t rndm[8]; |
| }; |
| |
| /** |
| * struct fcs_psgsigma_teardown |
| * @teardown |
| * @sid: the session ID |
| */ |
| struct fcs_psgsigma_teardown { |
| bool teardown; |
| uint32_t sid; |
| }; |
| |
| /** |
| * struct fcs_attestation_chipid |
| * @chip_id_low: device chip ID lower 32 |
| * @chip_id_high: device chip ID high 32 |
| */ |
| struct fcs_attestation_chipid { |
| uint32_t chip_id_low; |
| uint32_t chip_id_high; |
| }; |
| |
| /** |
| * struct intel_fcs_attestation_resv_word - attestation reserve word |
| * @resv_word: a reserve word required by firmware |
| */ |
| struct intel_fcs_attestation_resv_word { |
| uint32_t resv_word; |
| }; |
| |
| /** |
| * struct fcs_attestation_subkey |
| * @resv: reserve word |
| * @cmd_data: command data |
| * @cmd_data_sz: command data size |
| * @rsp_data: response data |
| * @rsp_data_sz: response data size |
| */ |
| struct fcs_attestation_subkey { |
| struct intel_fcs_attestation_resv_word resv; |
| char *cmd_data; |
| uint32_t cmd_data_sz; |
| char *rsp_data; |
| uint32_t rsp_data_sz; |
| }; |
| |
| /** |
| * struct fcs_attestation_measuerments |
| * @resv: reserve word |
| * @cmd_data: command data |
| * @cmd_data_sz: command data size |
| * @rsp_data: response data |
| * @rsp_data_sz: response data size |
| */ |
| struct fcs_attestation_measuerments { |
| struct intel_fcs_attestation_resv_word resv; |
| char *cmd_data; |
| uint32_t cmd_data_sz; |
| char *rsp_data; |
| uint32_t rsp_data_sz; |
| }; |
| |
| /** |
| * struct fcs_attestation_certificate |
| * @c_request: certificate request |
| * @rsp_data: response data of the request certificate |
| * @rsp_data_sz: size of response data of the request certificate |
| */ |
| struct fcs_attestation_certificate { |
| int c_request; |
| char *rsp_data; |
| uint32_t rsp_data_sz; |
| }; |
| |
| /** |
| * fcs_attestation_certificate_reload |
| * @c_request: certificate request |
| */ |
| struct fcs_attestation_certificate_reload { |
| int c_request; |
| }; |
| |
| /** |
| * struct fcs_rom_patch_sha384 |
| * @checksum: 12 words of checksum calculated from rom patch area |
| */ |
| struct fcs_rom_patch_sha384 { |
| uint32_t checksum[12]; |
| }; |
| |
| /** |
| * struct fcs_crypto_service_session |
| * @sid: the crypto service session ID |
| */ |
| struct fcs_crypto_service_session { |
| uint32_t sid; |
| }; |
| |
| struct fcs_crypto_key_header { |
| uint32_t sid; |
| uint32_t res1; |
| uint32_t res2; |
| }; |
| |
| struct fcs_crypto_key_import { |
| struct fcs_crypto_key_header hd; |
| char *obj_data; |
| uint32_t obj_data_sz; |
| }; |
| |
| struct fcs_crypto_key_object { |
| uint32_t sid; |
| uint32_t kid; |
| char *obj_data; |
| uint32_t obj_data_sz; |
| }; |
| |
| /** |
| * struct fcs_acs_crypt_parameter |
| * @bmode: block mode |
| * @aes_mode: encrypt or decrypt |
| * 0 encrypt |
| * 1 decrypt |
| * @resv: reserved |
| * @iv: 128-bit IV field |
| */ |
| struct fcs_acs_crypt_parameter { |
| char bmode; |
| char aes_mode; |
| char resv[10]; |
| char iv_field[16]; |
| }; |
| |
| /** |
| * struct fcs_aes_crypt |
| * @sid: session ID |
| * @cid: context ID |
| * @kuid: key UID |
| * @src: source |
| * @src_size: size of source |
| * @dst: destination |
| * @dst_size: size of destination |
| * @cpara: crypto parameter |
| */ |
| struct fcs_aes_crypt { |
| uint32_t sid; |
| uint32_t cid; |
| uint32_t kuid; |
| void *src; |
| uint32_t src_size; |
| void *dst; |
| uint32_t dst_size; |
| int cpara_size; |
| struct fcs_acs_crypt_parameter cpara; |
| }; |
| |
| /** |
| * struct fcs_sha2_mac_data |
| * @sid: session ID |
| * @cid: context ID |
| * @kuid: key UID |
| * @src: source |
| * @src_size: size of source |
| * @dst: destination |
| * @dst_size: size of destination |
| * @sha_op_mode: SHA operating mode |
| * @sha_digest_sz: SHA digest size |
| */ |
| struct fcs_sha2_mac_data { |
| uint32_t sid; |
| uint32_t cid; |
| uint32_t kuid; |
| void *src; |
| uint32_t src_size; |
| void *dst; |
| uint32_t dst_size; |
| int sha_op_mode; |
| int sha_digest_sz; |
| uint32_t userdata_sz; |
| }; |
| |
| /** |
| * struct fcs_ecdsa_data |
| * @sid: session ID |
| * @cid: context ID |
| * @kuid: key UID |
| * @src: source |
| * @src_size: size of source |
| * @dst: destination |
| * @dst_size: size of destination |
| * @ecc_algorithm: ECC algorithm |
| */ |
| struct fcs_ecdsa_data { |
| uint32_t sid; |
| uint32_t cid; |
| uint32_t kuid; |
| void *src; |
| uint32_t src_size; |
| void *dst; |
| uint32_t dst_size; |
| int ecc_algorithm; |
| }; |
| |
| /** |
| * struct fcs_ecdsa_sha2_data |
| * @sid: session ID |
| * @cid: context ID |
| * @kuid: key UID |
| * @src: pointer of source |
| * @src_size: size of source |
| * @dst: pointer of destination |
| * @dst_size: size of destination |
| * @ecc_algorithm: ECC algorithm |
| * @userdata_sz: size of user data |
| */ |
| struct fcs_ecdsa_sha2_data { |
| uint32_t sid; |
| uint32_t cid; |
| uint32_t kuid; |
| void *src; |
| uint32_t src_size; |
| void *dst; |
| uint32_t dst_size; |
| int ecc_algorithm; |
| uint32_t userdata_sz; |
| }; |
| |
| /** |
| * struct fcs_random_number_gen_ext |
| * @sid: session ID |
| * @cid: context ID |
| * @rng_data: random data |
| * @rng_sz: size of random data |
| */ |
| struct fcs_random_number_gen_ext { |
| uint32_t sid; |
| uint32_t cid; |
| void *rng_data; |
| uint32_t rng_sz; |
| }; |
| |
| /** |
| * struct fcs_sdos_data_ext - SDOS encryption/decryption |
| * @sid: session ID |
| * @cid: context ID |
| * @op_mode: SDOS operation mode |
| * 1 encryption |
| * 0 decryption |
| * @oid1: owner ID word 1, valid for date decryption only |
| * @oid2: owner ID word 2, valid for date decryption only |
| * @src: the virtual address of the input data |
| * @src_size: the size of the input data |
| * @dst: the virtual address of the output data |
| * dst_size: the size of the output data |
| */ |
| struct fcs_sdos_data_ext { |
| uint32_t sid; |
| uint32_t cid; |
| int op_mode; |
| void *src; |
| uint32_t src_size; |
| void *dst; |
| uint32_t dst_size; |
| }; |
| |
| /** |
| * struct intel_fcs_dev_ioctl: common structure passed to Linux |
| * kernel driver for all commands. |
| * @status: Used for the return code. |
| * -1 -- operation is not started |
| * 0 -- operation is successfully completed |
| * non-zero -- operation failed |
| * @s_request: Validation of a bitstream. |
| * @c_request: Certificate request. |
| * hps_vab: validation of an HPS image |
| * counter set: burn fuses for new counter values |
| * @gp_data: view the eFuse provisioning state. |
| * @d_encryption: AES encryption (SDOS) |
| * @d_decryption: AES decryption (SDOS) |
| * @rn_gen: random number generator result |
| * @sdos_data_ext: SDOS ext data |
| */ |
| struct intel_fcs_dev_ioctl { |
| /* used for return status code */ |
| int status; |
| |
| /* command parameters */ |
| union { |
| struct fcs_mbox_send_cmd mbox_send_cmd; |
| struct fcs_placeholder placeholder; |
| struct fcs_validation_request s_request; |
| struct fcs_certificate_request c_request; |
| struct fcs_single_certificate_request i_request; |
| struct fcs_key_manage_request gp_data; |
| struct fcs_data_encryption d_encryption; |
| struct fcs_data_decryption d_decryption; |
| struct fcs_random_number_gen rn_gen; |
| struct fcs_psgsigma_teardown tdown; |
| struct fcs_attestation_chipid c_id; |
| struct fcs_attestation_subkey subkey; |
| struct fcs_attestation_measuerments measurement; |
| struct fcs_attestation_certificate certificate; |
| struct fcs_attestation_certificate_reload c_reload; |
| struct fcs_rom_patch_sha384 sha384; |
| struct fcs_crypto_service_session s_session; |
| struct fcs_crypto_key_import k_import; |
| struct fcs_crypto_key_object k_object; |
| struct fcs_aes_crypt a_crypt; |
| struct fcs_sha2_mac_data s_mac_data; |
| struct fcs_ecdsa_data ecdsa_data; |
| struct fcs_ecdsa_sha2_data ecdsa_sha2_data; |
| struct fcs_random_number_gen_ext rn_gen_ext; |
| struct fcs_sdos_data_ext data_sdos_ext; |
| } com_paras; |
| }; |
| |
| /** |
| * intel_fcs_command_code - support fpga crypto service commands |
| * |
| * Values are subject to change as a result of upstreaming. |
| * |
| * @INTEL_FCS_DEV_VERSION_CMD: |
| * |
| * @INTEL_FCS_DEV_MBOX_SEND_CMD: |
| * |
| * @INTEL_FCS_DEV_CERTIFICATE_CMD: |
| * |
| * @INTEL_FCS_DEV_VALIDATE_REQUEST_CMD: |
| * |
| * @INTEL_FCS_DEV_COUNTER_SET_CMD: |
| * |
| * @INTEL_FCS_DEV_COUNTER_SET_PREAUTHORIZED_CMD: |
| * |
| * @INTEL_FCS_DEV_GET_PROVISION_DATA_CMD: |
| * |
| * @INTEL_FCS_DEV_DATA_ENCRYPTION_CMD: |
| * |
| * @INTEL_FCS_DEV_DATA_DECRYPTION_CMD: |
| * |
| * @INTEL_FCS_DEV_RANDOM_NUMBER_GEN_CMD: |
| * |
| * @INTEL_FCS_DEV_GET_ROM_PATCH_SHA384_CMD: |
| */ |
| enum intel_fcs_command_code { |
| INTEL_FCS_DEV_COMMAND_NONE = 0, |
| INTEL_FCS_DEV_VERSION_CMD = 1, |
| INTEL_FCS_DEV_MBOX_SEND_CMD, |
| INTEL_FCS_DEV_CERTIFICATE_CMD = 0xB, |
| INTEL_FCS_DEV_VALIDATE_REQUEST_CMD = 0x78, |
| INTEL_FCS_DEV_COUNTER_SET_CMD, |
| INTEL_FCS_DEV_COUNTER_SET_PREAUTHORIZED_CMD, |
| INTEL_FCS_DEV_GET_PROVISION_DATA_CMD, |
| INTEL_FCS_DEV_DATA_ENCRYPTION_CMD = 0x7E, |
| INTEL_FCS_DEV_DATA_DECRYPTION_CMD, |
| INTEL_FCS_DEV_RANDOM_NUMBER_GEN_CMD, |
| INTEL_FCS_DEV_PSGSIGMA_TEARDOWN_CMD = 0x88, |
| INTEL_FCS_DEV_CHIP_ID_CMD, |
| INTEL_FCS_DEV_ATTESTATION_SUBKEY_CMD, |
| INTEL_FCS_DEV_ATTESTATION_MEASUREMENT_CMD, |
| INTEL_FCS_DEV_ATTESTATION_GET_CERTIFICATE_CMD, |
| INTEL_FCS_DEV_ATTESTATION_CERTIFICATE_RELOAD_CMD, |
| INTEL_FCS_DEV_GET_ROM_PATCH_SHA384_CMD, |
| INTEL_FCS_DEV_CRYPTO_OPEN_SESSION_CMD = 0xA0, |
| INTEL_FCS_DEV_CRYPTO_CLOSE_SESSION_CMD, |
| INTEL_FCS_DEV_CRYPTO_IMPORT_KEY_CMD, |
| INTEL_FCS_DEV_CRYPTO_EXPORT_KEY_CMD, |
| INTEL_FCS_DEV_CRYPTO_REMOVE_KEY_CMD, |
| INTEL_FCS_DEV_CRYPTO_GET_KEY_INFO_CMD, |
| INTEL_FCS_DEV_CRYPTO_AES_CRYPT_CMD, |
| INTEL_FCS_DEV_CRYPTO_GET_DIGEST_CMD, |
| INTEL_FCS_DEV_CRYPTO_MAC_VERIFY_CMD, |
| INTEL_FCS_DEV_CRYPTO_ECDSA_HASH_SIGNING_CMD, |
| INTEL_FCS_DEV_CRYPTO_ECDSA_SHA2_DATA_SIGNING_CMD, |
| INTEL_FCS_DEV_CRYPTO_ECDSA_HASH_VERIFY_CMD, |
| INTEL_FCS_DEV_CRYPTO_ECDSA_SHA2_DATA_VERIFY_CMD, |
| INTEL_FCS_DEV_CRYPTO_ECDSA_GET_PUBLIC_KEY_CMD, |
| INTEL_FCS_DEV_CRYPTO_ECDH_REQUEST_CMD, |
| INTEL_FCS_DEV_RANDOM_NUMBER_GEN_EXT_CMD, |
| INTEL_FCS_DEV_SDOS_DATA_EXT_CMD, |
| }; |
| |
| #define INTEL_FCS_DEV_VERSION_REQUEST \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_VERSION_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_MBOX_SEND \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_MBOX_SEND_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_VALIDATION_REQUEST \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_VALIDATE_REQUEST_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_SEND_CERTIFICATE \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_CERTIFICATE_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_COUNTER_SET_PREAUTHORIZED \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_COUNTER_SET_PREAUTHORIZED_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_GET_PROVISION_DATA \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_GET_PROVISION_DATA_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_DATA_ENCRYPTION \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_DATA_ENCRYPTION_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_DATA_DECRYPTION \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_DATA_DECRYPTION_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_RANDOM_NUMBER_GEN \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_RANDOM_NUMBER_GEN_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_PSGSIGMA_TEARDOWN \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_PSGSIGMA_TEARDOWN_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_CHIP_ID \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_CHIP_ID_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_ATTESTATION_SUBKEY \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_ATTESTATION_SUBKEY_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_ATTESTATION_MEASUREMENT \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_ATTESTATION_MEASUREMENT_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_ATTESTATION_GET_CERTIFICATE \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_ATTESTATION_GET_CERTIFICATE_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_ATTESTATION_CERTIFICATE_RELOAD \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_ATTESTATION_CERTIFICATE_RELOAD_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_GET_ROM_PATCH_SHA384 \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_GET_ROM_PATCH_SHA384_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_CRYPTO_OPEN_SESSION \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_CRYPTO_OPEN_SESSION_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_CRYPTO_CLOSE_SESSION \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_CRYPTO_CLOSE_SESSION_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_CRYPTO_IMPORT_KEY \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_CRYPTO_IMPORT_KEY_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_CRYPTO_EXPORT_KEY \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_CRYPTO_EXPORT_KEY_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_CRYPTO_REMOVE_KEY \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_CRYPTO_REMOVE_KEY_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_CRYPTO_GET_KEY_INFO \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_CRYPTO_GET_KEY_INFO_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_CRYPTO_AES_CRYPT \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_CRYPTO_AES_CRYPT_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_CRYPTO_GET_DIGEST \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_CRYPTO_GET_DIGEST_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_CRYPTO_MAC_VERIFY \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_CRYPTO_MAC_VERIFY_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_CRYPTO_ECDSA_HASH_SIGNING \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_CRYPTO_ECDSA_HASH_SIGNING_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_CRYPTO_ECDSA_SHA2_DATA_SIGNING \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_CRYPTO_ECDSA_SHA2_DATA_SIGNING_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_CRYPTO_ECDSA_HASH_VERIFY \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_CRYPTO_ECDSA_HASH_VERIFY_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_CRYPTO_ECDSA_SHA2_DATA_VERIFY \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_CRYPTO_ECDSA_SHA2_DATA_VERIFY_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_CRYPTO_ECDSA_GET_PUBLIC_KEY \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_CRYPTO_ECDSA_GET_PUBLIC_KEY_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_CRYPTO_ECDH_REQUEST \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_CRYPTO_ECDH_REQUEST_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_RANDOM_NUMBER_GEN_EXT \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_RANDOM_NUMBER_GEN_EXT_CMD, struct intel_fcs_dev_ioctl) |
| |
| #define INTEL_FCS_DEV_SDOS_DATA_EXT \ |
| _IOWR(INTEL_FCS_IOCTL, \ |
| INTEL_FCS_DEV_SDOS_DATA_EXT_CMD, struct intel_fcs_dev_ioctl) |
| |
| #endif |
| |