| /optee_os/core/drivers/crypto/caam/acipher/ |
| H A D | caam_prime_dsa.c | 46 static void do_desc_prime_q(uint32_t *desc, struct caambuf *seed, in do_desc_prime_q() argument 54 caam_desc_init(desc); in do_desc_prime_q() 55 caam_desc_add_word(desc, DESC_HEADER(0)); in do_desc_prime_q() 58 caam_desc_add_word(desc, LD_IMM(CLASS_1, REG_PKHA_N_SIZE, 4)); in do_desc_prime_q() 59 caam_desc_add_word(desc, prime->q->length); in do_desc_prime_q() 60 caam_desc_add_word(desc, LD_IMM(CLASS_1, REG_PKHA_A_SIZE, 4)); in do_desc_prime_q() 61 caam_desc_add_word(desc, prime->q->length); in do_desc_prime_q() 63 caam_desc_add_word(desc, MATH(ADD, ZERO, IMM_DATA, VSOL, 4)); in do_desc_prime_q() 64 caam_desc_add_word(desc, DSA_MAX_TRIES_PRIME_Q); in do_desc_prime_q() 66 caam_desc_add_word(desc, MATHI_OP1(SHIFT_L, ONE, 63, REG2, 8)); in do_desc_prime_q() [all …]
|
| H A D | caam_prime_rsa.c | 372 static void do_desc_setup(uint32_t *desc, struct prime_data_rsa *data, in do_desc_setup() argument 383 caam_desc_init(desc); in do_desc_setup() 384 caam_desc_add_word(desc, DESC_HEADER(0)); in do_desc_setup() 386 caam_desc_add_word(desc, MATH(ADD, IMM_DATA, ZERO, SOL, 4)); in do_desc_setup() 387 caam_desc_add_word(desc, 5 * (data->key_size / 2)); in do_desc_setup() 394 caam_desc_add_word(desc, MATH(ADD, IMM_DATA, ZERO, SIL, 4)); in do_desc_setup() 396 caam_desc_add_word(desc, 0x4); in do_desc_setup() 398 caam_desc_add_word(desc, 0x5); in do_desc_setup() 404 caam_desc_add_word(desc, FIFO_LD(CLASS_1, PKHA_A2, NOACTION, in do_desc_setup() 406 caam_desc_add_ptr(desc, virt_to_phys((void *)sqrt_value)); in do_desc_setup() [all …]
|
| H A D | caam_ecc.c | 262 uint32_t *desc = NULL; in do_gen_keypair() local 277 desc = caam_calloc_desc(MAX_DESC_KEY_GEN); in do_gen_keypair() 278 if (!desc) { in do_gen_keypair() 305 caam_desc_init(desc); in do_gen_keypair() 306 caam_desc_add_word(desc, DESC_HEADER(0)); in do_gen_keypair() 307 caam_desc_add_word(desc, PDB_PKGEN_PD1 | PDB_ECC_ECDSEL(curve)); in do_gen_keypair() 308 caam_desc_add_ptr(desc, d.buf.paddr); in do_gen_keypair() 309 caam_desc_add_ptr(desc, xy.paddr); in do_gen_keypair() 313 caam_desc_add_word(desc, PK_KEYPAIR_GEN(ECC, NONE)); in do_gen_keypair() 316 caam_desc_add_word(desc, PK_KEYPAIR_GEN(ECC, ECB)); in do_gen_keypair() [all …]
|
| H A D | caam_math.c | 28 uint32_t *desc = NULL; in do_xor_mod_n() local 59 desc = caam_calloc_desc(XOR_OP_DESC_SIZE); in do_xor_mod_n() 60 if (!desc) { in do_xor_mod_n() 66 caam_desc_init(desc); in do_xor_mod_n() 67 caam_desc_add_word(desc, DESC_HEADER(0)); in do_xor_mod_n() 68 caam_desc_add_word(desc, LD_IMM(CLASS_1, REG_PKHA_N_SIZE, 4)); in do_xor_mod_n() 69 caam_desc_add_word(desc, data->n.length); in do_xor_mod_n() 72 caam_desc_fifo_load(desc, &data_a, CLASS_1, PKHA_A, NOACTION); in do_xor_mod_n() 73 caam_desc_fifo_load(desc, &data_b, CLASS_1, PKHA_B, NOACTION); in do_xor_mod_n() 76 caam_desc_add_word(desc, PKHA_F2M_OP(MOD_ADD_A_B, B)); in do_xor_mod_n() [all …]
|
| H A D | caam_dh.c | 226 uint32_t *desc = NULL; in do_gen_keypair() local 253 desc = caam_calloc_desc(MAX_DESC_KEY_GEN); in do_gen_keypair() 254 if (!desc) { in do_gen_keypair() 302 caam_desc_init(desc); in do_gen_keypair() 303 caam_desc_add_word(desc, DESC_HEADER(0)); in do_gen_keypair() 304 caam_desc_add_word(desc, PDB_DL_KEY_L_SIZE(l_bytes) | in do_gen_keypair() 306 caam_desc_add_ptr(desc, caam_dh_key.p.paddr); in do_gen_keypair() 307 caam_desc_add_ptr(desc, dh_r.paddr); in do_gen_keypair() 308 caam_desc_add_ptr(desc, caam_dh_key.g.paddr); in do_gen_keypair() 309 caam_desc_add_ptr(desc, caam_dh_key.x.buf.paddr); in do_gen_keypair() [all …]
|
| H A D | caam_dsa.c | 381 uint32_t *desc = NULL; in do_gen_keypair() local 391 desc = caam_calloc_desc(MAX_DESC_KEY_GEN); in do_gen_keypair() 392 if (!desc) { in do_gen_keypair() 428 caam_desc_init(desc); in do_gen_keypair() 429 caam_desc_add_word(desc, DESC_HEADER(0)); in do_gen_keypair() 430 caam_desc_add_word(desc, PDB_DL_KEY_L_SIZE(l_bytes) | in do_gen_keypair() 432 caam_desc_add_ptr(desc, caam_dsa_key.p.paddr); in do_gen_keypair() 433 caam_desc_add_ptr(desc, caam_dsa_key.q.paddr); in do_gen_keypair() 434 caam_desc_add_ptr(desc, caam_dsa_key.g.paddr); in do_gen_keypair() 435 caam_desc_add_ptr(desc, caam_dsa_key.x.buf.paddr); in do_gen_keypair() [all …]
|
| H A D | caam_rsa.c | 530 uint32_t *desc = 0; in do_gen_keypair() local 541 desc = caam_calloc_desc(MAX_DESC_KEY_FINISH); in do_gen_keypair() 542 if (!desc) { in do_gen_keypair() 645 caam_desc_init(desc); in do_gen_keypair() 646 caam_desc_add_word(desc, DESC_HEADER(0)); in do_gen_keypair() 648 caam_desc_add_word(desc, 0); in do_gen_keypair() 649 caam_desc_add_word(desc, PDB_RSA_KEY_P_SIZE(genkey.p.sec_size)); in do_gen_keypair() 650 caam_desc_add_word(desc, PDB_RSA_KEY_N_SIZE(genkey.n.length) | in do_gen_keypair() 653 caam_desc_add_ptr(desc, genkey.p.buf.paddr); in do_gen_keypair() 654 caam_desc_add_ptr(desc, genkey.q.buf.paddr); in do_gen_keypair() [all …]
|
| /optee_os/core/drivers/crypto/caam/include/ |
| H A D | caam_trace.h | 87 #define JR_DUMPDESC(desc) \ argument 90 DRV_DUMPDESC(desc); \ 93 #define JR_DUMPDESC(desc) argument 97 #define JR_DUMPDESC(desc) argument 104 #define RNG_DUMPDESC(desc) \ argument 107 DRV_DUMPDESC(desc); \ 110 #define RNG_DUMPDESC(desc) argument 114 #define RNG_DUMPDESC(desc) argument 121 #define HASH_DUMPDESC(desc) \ argument 124 DRV_DUMPDESC(desc); \ [all …]
|
| H A D | caam_jr.h | 17 uint32_t *desc; /* reference to the descriptor */ member 45 uint64_t desc; /* Physical address of the descriptor */ member 49 uint64_t desc; /* Physical address of the descriptor */ member 54 uint32_t desc; /* Physical address of the descriptor */ member 58 uint32_t desc; /* Physical address of the descriptor */ member
|
| /optee_os/core/kernel/ |
| H A D | callout.c | 36 const struct callout_timer_desc *desc = callout_desc; in schedule_next_timeout() local 40 desc->set_next_timeout(desc, co->expiry_value); in schedule_next_timeout() 42 desc->disable_timeout(desc); in schedule_next_timeout() 44 if (desc->is_per_cpu) { in schedule_next_timeout() 84 const struct callout_timer_desc *desc = callout_desc; in callout_add() local 92 if (desc) { in callout_add() 93 co->period = desc->ms_to_ticks(desc, ms); in callout_add() 94 co->expiry_value = desc->get_now(desc) + co->period; in callout_add() 101 if (desc && co == TAILQ_FIRST(&callout_head)) in callout_add() 112 void callout_service_init(const struct callout_timer_desc *desc) in callout_service_init() argument [all …]
|
| /optee_os/core/drivers/crypto/caam/ae/ |
| H A D | caam_ae_gcm.c | 73 uint32_t *desc = NULL; in caam_ae_do_block_gcm() local 85 desc = caam_ctx->descriptor; in caam_ae_do_block_gcm() 136 caam_desc_seq_out(desc, dst); in caam_ae_do_block_gcm() 139 caam_desc_seq_in(desc, src); in caam_ae_do_block_gcm() 143 caam_desc_add_word(desc, CIPHER_UPDATE(caam_ctx->alg->type, encrypt)); in caam_ae_do_block_gcm() 145 caam_desc_add_word(desc, FIFO_LD_SEQ(MSG, 0) | FIFO_STORE_EXT | in caam_ae_do_block_gcm() 148 caam_desc_add_word(desc, yi_1s_complement); in caam_ae_do_block_gcm() 150 caam_desc_add_word(desc, FIFO_ST_SEQ(MSG_DATA, 0) | FIFO_STORE_EXT); in caam_ae_do_block_gcm() 151 caam_desc_add_word(desc, yi_1s_complement); in caam_ae_do_block_gcm() 154 caam_desc_add_word(desc, in caam_ae_do_block_gcm() [all …]
|
| H A D | caam_ae.c | 385 uint32_t *desc = NULL; in init_descriptor() local 389 desc = caam_ctx->descriptor; in init_descriptor() 391 caam_desc_init(desc); in init_descriptor() 392 caam_desc_add_word(desc, DESC_HEADER(0)); in init_descriptor() 395 caam_desc_add_word(desc, in init_descriptor() 397 caam_desc_add_ptr(desc, caam_ctx->key.paddr); in init_descriptor() 407 uint32_t *desc = NULL; in add_initial_context() local 412 desc = caam_ctx->descriptor; in add_initial_context() 416 caam_desc_add_word(desc, in add_initial_context() 418 caam_desc_add_ptr(desc, caam_ctx->initial_ctx.paddr); in add_initial_context() [all …]
|
| /optee_os/core/drivers/crypto/caam/mp/ |
| H A D | caam_mp.c | 53 uint32_t *desc = NULL; in do_mppriv_gen() local 60 desc = caam_calloc_desc(MP_PRIV_DESC_ENTRIES); in do_mppriv_gen() 61 if (!desc) in do_mppriv_gen() 64 caam_desc_init(desc); in do_mppriv_gen() 65 caam_desc_add_word(desc, DESC_HEADER(0)); in do_mppriv_gen() 66 caam_desc_add_word(desc, PROT_MP_CURVE(mp_privdata.curve)); in do_mppriv_gen() 67 caam_desc_add_ptr(desc, virt_to_phys((void *)passphrase)); in do_mppriv_gen() 68 caam_desc_add_word(desc, len); in do_mppriv_gen() 69 caam_desc_add_word(desc, MPPRIVK); in do_mppriv_gen() 71 desclen = caam_desc_get_len(desc); in do_mppriv_gen() [all …]
|
| /optee_os/core/drivers/crypto/caam/ |
| H A D | caam_desc.c | 22 uint32_t caam_desc_get_len(uint32_t *desc) in caam_desc_get_len() argument 24 return GET_JD_DESCLEN(caam_read_val32((void *)desc)); in caam_desc_get_len() 27 void caam_desc_init(uint32_t *desc) in caam_desc_init() argument 29 *desc = 0; in caam_desc_init() 32 void caam_desc_update_hdr(uint32_t *desc, uint32_t word) in caam_desc_update_hdr() argument 35 caam_write_val32((void *)desc, word); in caam_desc_update_hdr() 38 void caam_desc_add_word(uint32_t *desc, uint32_t word) in caam_desc_add_word() argument 40 uint32_t len = caam_desc_get_len(desc); in caam_desc_add_word() 41 uint32_t *last = desc + len; in caam_desc_add_word() 47 caam_write_val32((void *)desc, caam_read_val32((void *)desc) + 1); in caam_desc_add_word() [all …]
|
| H A D | caam_rng.c | 71 uint32_t *desc = NULL; in do_rng_read() local 103 desc = caam_calloc_desc(RNG_GEN_DESC_ENTRIES); in do_rng_read() 104 if (!desc) { in do_rng_read() 113 caam_desc_init(desc); in do_rng_read() 114 caam_desc_add_word(desc, DESC_HEADER(0)); in do_rng_read() 115 caam_desc_add_word(desc, op); in do_rng_read() 116 caam_desc_add_word(desc, FIFO_ST(CLASS_NO, RNG_TO_MEM, len)); in do_rng_read() 117 caam_desc_add_ptr(desc, paddr); in do_rng_read() 119 jobctx.desc = desc; in do_rng_read() 120 RNG_DUMPDESC(desc); in do_rng_read() [all …]
|
| H A D | caam_key.c | 283 uint32_t *desc = NULL; in caam_key_operation_blob() local 332 desc = caam_calloc_desc(BLOB_OP_DESC_ENTRIES); in caam_key_operation_blob() 333 if (!desc) { in caam_key_operation_blob() 364 caam_desc_init(desc); in caam_key_operation_blob() 365 caam_desc_add_word(desc, DESC_HEADER(0)); in caam_key_operation_blob() 368 caam_desc_add_word(desc, in caam_key_operation_blob() 370 caam_desc_add_ptr(desc, virt_to_phys((void *)key_blob_modifier)); in caam_key_operation_blob() 373 caam_desc_add_word(desc, SEQ_IN_PTR(input_buffer_size)); in caam_key_operation_blob() 374 caam_desc_add_ptr(desc, in_key->buf.paddr); in caam_key_operation_blob() 377 caam_desc_add_word(desc, SEQ_OUT_PTR(output_buffer_size)); in caam_key_operation_blob() [all …]
|
| /optee_os/core/drivers/crypto/caam/blob/ |
| H A D | caam_dek.c | 40 uint32_t *desc = NULL; in caam_dek_generate() local 79 desc = caam_calloc_desc(BLOB_OPERATE_DESC_ENTRIES); in caam_dek_generate() 80 if (!desc) { in caam_dek_generate() 86 caam_desc_init(desc); in caam_dek_generate() 87 caam_desc_add_word(desc, DESC_HEADER(0)); in caam_dek_generate() 88 caam_desc_add_word(desc, LD_IMM_OFF(CLASS_2, REG_KEY, 8, 12)); in caam_dek_generate() 89 caam_desc_add_word(desc, key_modifier[0]); in caam_dek_generate() 90 caam_desc_add_word(desc, key_modifier[1]); in caam_dek_generate() 91 caam_desc_add_word(desc, SEQ_IN_PTR(payload_size)); in caam_dek_generate() 92 caam_desc_add_ptr(desc, dek_sm_addr.paddr); in caam_dek_generate() [all …]
|
| H A D | caam_blob.c | 28 uint32_t *desc = NULL; in caam_blob_mkvb_init() local 36 desc = caam_calloc_desc(8); in caam_blob_mkvb_init() 37 if (!desc) { in caam_blob_mkvb_init() 42 caam_desc_init(desc); in caam_blob_mkvb_init() 43 caam_desc_add_word(desc, DESC_HEADER(0)); in caam_blob_mkvb_init() 44 caam_desc_add_word(desc, SEQ_OUT_PTR(32)); in caam_blob_mkvb_init() 45 caam_desc_add_ptr(desc, buf.paddr); in caam_blob_mkvb_init() 46 caam_desc_add_word(desc, BLOB_MSTR_KEY); in caam_blob_mkvb_init() 47 BLOB_DUMPDESC(desc); in caam_blob_mkvb_init() 51 jobctx.desc = desc; in caam_blob_mkvb_init() [all …]
|
| /optee_os/core/drivers/crypto/caam/hash/ |
| H A D | caam_hash_mac.c | 73 uint32_t *desc = NULL; in do_reduce_key() local 79 desc = caam_calloc_desc(KEY_REDUCE_DESC_ENTRIES); in do_reduce_key() 80 if (!desc) { in do_reduce_key() 85 caam_desc_init(desc); in do_reduce_key() 86 caam_desc_add_word(desc, DESC_HEADER(0)); in do_reduce_key() 87 caam_desc_add_word(desc, HASH_INITFINAL(alg->type)); in do_reduce_key() 90 caam_desc_fifo_load(desc, &key, CLASS_2, MSG, LAST_C2); in do_reduce_key() 92 caam_desc_store(desc, reduce_key, CLASS_2, REG_CTX); in do_reduce_key() 97 HASH_DUMPDESC(desc); in do_reduce_key() 99 jobctx.desc = desc; in do_reduce_key() [all …]
|
| H A D | caam_hash.c | 118 static void do_desc_load_key(uint32_t *desc, struct caambuf *key) in do_desc_load_key() argument 121 caam_desc_add_word(desc, LD_KEY_SPLIT(key->length)); in do_desc_load_key() 122 caam_desc_add_ptr(desc, key->paddr); in do_desc_load_key() 398 uint32_t *desc = ctx->descriptor; in do_update_hash() local 400 caam_desc_init(desc); in do_update_hash() 401 caam_desc_add_word(desc, DESC_HEADER(0)); in do_update_hash() 407 caam_desc_add_word(desc, HASH_UPDATE(alg->type)); in do_update_hash() 409 caam_desc_add_word(desc, in do_update_hash() 411 caam_desc_add_ptr(desc, ctx->ctx.paddr); in do_update_hash() 417 do_desc_load_key(desc, &ctx->key); in do_update_hash() [all …]
|
| /optee_os/core/drivers/imx/dcp/ |
| H A D | dcp.c | 147 dcp_data->desc.next = 0; in dcp_run() 148 cache_operation(TEE_CACHEFLUSH, &dcp_data->desc, in dcp_run() 149 sizeof(dcp_data->desc)); in dcp_run() 162 virt_to_phys(&dcp_data->desc)); in dcp_run() 344 struct dcp_descriptor *desc = NULL; in dcp_cipher_do_init() local 354 desc = &data->dcp_data.desc; in dcp_cipher_do_init() 356 desc->ctrl0 = DCP_CONTROL0_DECR_SEMAPHORE | DCP_CONTROL0_ENABLE_CIPHER | in dcp_cipher_do_init() 358 desc->ctrl1 = DCP_CONTROL1_CIPHER_SELECT_AES128; in dcp_cipher_do_init() 361 desc->ctrl0 |= DCP_CONTROL0_CIPHER_ENCRYPT; in dcp_cipher_do_init() 364 desc->ctrl0 &= ~DCP_CONTROL0_OTP_KEY; in dcp_cipher_do_init() [all …]
|
| /optee_os/core/arch/arm/mm/ |
| H A D | core_mmu_v7.c | 352 static enum desc_type get_desc_type(unsigned level, uint32_t desc) in get_desc_type() argument 357 if ((desc & 0x3) == 0x1) in get_desc_type() 360 if ((desc & 0x2) == 0x2) { in get_desc_type() 361 if (desc & (1 << 18)) in get_desc_type() 366 if ((desc & 0x3) == 0x1) in get_desc_type() 369 if ((desc & 0x2) == 0x2) in get_desc_type() 396 static uint32_t desc_to_mattr(unsigned level, uint32_t desc) in desc_to_mattr() argument 400 switch (get_desc_type(level, desc)) { in desc_to_mattr() 403 if (!(desc & SECTION_PT_NOTSECURE)) in desc_to_mattr() 408 if (desc & SECTION_ACCESS_FLAG) in desc_to_mattr() [all …]
|
| /optee_os/core/mm/ |
| H A D | boot_mem.c | 61 static void *mem_alloc_tmp(struct boot_mem_desc *desc, size_t len, size_t align) in mem_alloc_tmp() argument 68 assert(desc && desc->mem_start && desc->mem_end); in mem_alloc_tmp() 70 if (SUB_OVERFLOW(desc->mem_end, len, &va)) in mem_alloc_tmp() 73 if (va < desc->mem_start) in mem_alloc_tmp() 75 desc->mem_end = va; in mem_alloc_tmp() 82 static void add_padding(struct boot_mem_desc *desc, vaddr_t va) in add_padding() argument 85 vaddr_t start = desc->mem_start; in add_padding() 97 pad->next = desc->padding; in add_padding() 98 desc->padding = pad; in add_padding() 102 static void *mem_alloc(struct boot_mem_desc *desc, size_t len, size_t align) in mem_alloc() argument [all …]
|
| /optee_os/core/pta/ |
| H A D | stats.c | 65 strlcpy(stats->desc, "Heap", sizeof(stats->desc)); in get_alloc_stats() 72 strlcpy(stats->desc, "Public DDR (deprecated)", in get_alloc_stats() 73 sizeof(stats->desc)); in get_alloc_stats() 78 strlcpy(stats->desc, "Physical TA memory", in get_alloc_stats() 79 sizeof(stats->desc)); in get_alloc_stats() 85 strlcpy(stats->desc, "KHeap", sizeof(stats->desc)); in get_alloc_stats() 89 strlcpy(stats->desc, "KHeap (disabled)", in get_alloc_stats() 90 sizeof(stats->desc)); in get_alloc_stats() 95 strlcpy(stats->desc, in get_alloc_stats() 97 sizeof(stats->desc)); in get_alloc_stats() [all …]
|
| /optee_os/core/include/kernel/ |
| H A D | callout.h | 110 void (*disable_timeout)(const struct callout_timer_desc *desc); 111 void (*set_next_timeout)(const struct callout_timer_desc *desc, 113 uint64_t (*ms_to_ticks)(const struct callout_timer_desc *desc, 115 uint64_t (*get_now)(const struct callout_timer_desc *desc); 125 void callout_service_init(const struct callout_timer_desc *desc);
|