Skip to content

Question regarding maximum allocatable shared memory size before CA → TA command invocation #7816

Description

@ydonghyuk

Hello,
I have a question regarding the maximum allocatable shared memory size when using TEEC_InvokeCommand.

In the following example:

op.paramTypes = (uint32_t)TEEC_PARAM_TYPES(
    TEEC_MEMREF_TEMP_INPUT,
    TEEC_MEMREF_TEMP_OUTPUT,
    TEEC_NONE,
    TEEC_NONE
);

op.params[0].tmpref.buffer = (void*)send_buf;
op.params[0].tmpref.size   = req_size;

op.params[1].tmpref.buffer = (void*)recv_buf;
op.params[1].tmpref.size   = rsp_size;

res = TEEC_InvokeCommand(&sess, (uint32_t)cmd, &op, &err_origin);

I am unsure how to determine appropriate values for
op.params[0].tmpref.size and op.params[1].tmpref.size.

Specifically:

How can I determine the maximum allowable buffer size for these temporary memory references?
Are these limits related to CFG_SHMEM_SIZE, or are there other factors that define the usable size?

I would greatly appreciate any guidance or best practices on calculating or choosing these buffer sizes.
Thank you in advance for your help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions