common/cnxk: add AE definitions for asymmetric crypto
Microcode AE opcodes support asymmetric operations. Add defines and structs defined by microcode. Signed-off-by: Anoob Joseph <anoobj@marvell.com> Signed-off-by: Kiran Kumar K <kirankumark@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
This commit is contained in:
parent
d974d47a3b
commit
1132ad0f08
56
drivers/common/cnxk/roc_ae.h
Normal file
56
drivers/common/cnxk/roc_ae.h
Normal file
@ -0,0 +1,56 @@
|
||||
/* SPDX-License-Identifier: BSD-3-Clause
|
||||
* Copyright(C) 2021 Marvell.
|
||||
*/
|
||||
|
||||
#ifndef __ROC_AE_H__
|
||||
#define __ROC_AE_H__
|
||||
|
||||
/* AE opcodes */
|
||||
#define ROC_AE_MAJOR_OP_MODEX 0x03
|
||||
#define ROC_AE_MAJOR_OP_ECDSA 0x04
|
||||
#define ROC_AE_MAJOR_OP_ECC 0x05
|
||||
#define ROC_AE_MINOR_OP_MODEX 0x01
|
||||
#define ROC_AE_MINOR_OP_PKCS_ENC 0x02
|
||||
#define ROC_AE_MINOR_OP_PKCS_ENC_CRT 0x03
|
||||
#define ROC_AE_MINOR_OP_PKCS_DEC 0x04
|
||||
#define ROC_AE_MINOR_OP_PKCS_DEC_CRT 0x05
|
||||
#define ROC_AE_MINOR_OP_MODEX_CRT 0x06
|
||||
#define ROC_AE_MINOR_OP_ECDSA_SIGN 0x01
|
||||
#define ROC_AE_MINOR_OP_ECDSA_VERIFY 0x02
|
||||
#define ROC_AE_MINOR_OP_ECC_UMP 0x03
|
||||
|
||||
/**
|
||||
* Enumeration roc_ae_ec_id
|
||||
*
|
||||
* Enumerates supported elliptic curves
|
||||
*/
|
||||
typedef enum {
|
||||
ROC_AE_EC_ID_P192 = 0,
|
||||
ROC_AE_EC_ID_P224 = 1,
|
||||
ROC_AE_EC_ID_P256 = 2,
|
||||
ROC_AE_EC_ID_P384 = 3,
|
||||
ROC_AE_EC_ID_P521 = 4,
|
||||
ROC_AE_EC_ID_PMAX = 5
|
||||
} roc_ae_ec_id;
|
||||
|
||||
/* Prime and order fields of built-in elliptic curves */
|
||||
struct roc_ae_ec_group {
|
||||
struct {
|
||||
/* P521 maximum length */
|
||||
uint8_t data[66];
|
||||
unsigned int length;
|
||||
} prime;
|
||||
|
||||
struct {
|
||||
/* P521 maximum length */
|
||||
uint8_t data[66];
|
||||
unsigned int length;
|
||||
} order;
|
||||
};
|
||||
|
||||
struct roc_ae_ec_ctx {
|
||||
/* Prime length defined by microcode for EC operations */
|
||||
uint8_t curveid;
|
||||
};
|
||||
|
||||
#endif /* __ROC_AE_H__ */
|
@ -119,6 +119,7 @@
|
||||
#include "roc_cpt.h"
|
||||
|
||||
/* CPT microcode */
|
||||
#include "roc_ae.h"
|
||||
#include "roc_ie_on.h"
|
||||
#include "roc_ie_ot.h"
|
||||
#include "roc_se.h"
|
||||
|
@ -7,6 +7,9 @@
|
||||
|
||||
#include "roc_api.h"
|
||||
|
||||
#define ROC_AE_CPT_BLOCK_TYPE1 0
|
||||
#define ROC_AE_CPT_BLOCK_TYPE2 1
|
||||
|
||||
/* Default engine groups */
|
||||
#define ROC_CPT_DFLT_ENG_GRP_SE 0UL
|
||||
#define ROC_CPT_DFLT_ENG_GRP_SE_IE 1UL
|
||||
|
Loading…
Reference in New Issue
Block a user