staticint pool_op_gen_alloc(struct tee_shm_pool *pool, struct tee_shm *shm,
size_t size, size_t align)
{ unsignedlong va; struct gen_pool *genpool = pool->private_data;
size_t a = max_t(size_t, align, BIT(genpool->min_alloc_order)); struct genpool_data_align data = { .align = a };
size_t s = roundup(size, a);
va = gen_pool_alloc_algo(genpool, s, gen_pool_first_fit_align, &data); if (!va) return -ENOMEM;
memset((void *)va, 0, s);
shm->kaddr = (void *)va;
shm->paddr = gen_pool_virt_to_phys(genpool, va);
shm->size = s; /* * This is from a static shared memory pool so no need to register * each chunk, and no need to unregister later either.
*/
shm->flags &= ~TEE_SHM_DYNAMIC; return 0;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.