aboutsummaryrefslogtreecommitdiff
path: root/core/kernel
diff options
context:
space:
mode:
authorJens Wiklander <jens.wiklander@linaro.org>2018-10-19 12:15:53 +0200
committerJérôme Forissier <jerome.forissier@linaro.org>2018-10-24 15:35:03 +0200
commitcd278f78382b8717bd18ba6de7b26a6cbd0fa3e5 (patch)
tree6e3a74a86c2fb4afd8ae10a2064045f6d4f34d1b /core/kernel
parent82e1d963034803ba43a0f65a741f2ef109414b22 (diff)
core: simplify shm cookie handling
Simplifies SHM cookie handling by storing the cookie in the mobj instead of putting the burden on the caller. The cookie parameter is dropped from the thread_rpc_*_payload() functions. All callers of those functions are also updated and unused cookie members of related structs are removed too. Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Diffstat (limited to 'core/kernel')
-rw-r--r--core/kernel/msg_param.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/core/kernel/msg_param.c b/core/kernel/msg_param.c
index 000e0f5a..43f6df10 100644
--- a/core/kernel/msg_param.c
+++ b/core/kernel/msg_param.c
@@ -143,7 +143,7 @@ out:
bool msg_param_init_memparam(struct optee_msg_param *param, struct mobj *mobj,
size_t offset, size_t size,
- uint64_t cookie, enum msg_param_mem_dir dir)
+ enum msg_param_mem_dir dir)
{
if (mobj_matches(mobj, CORE_MEM_REG_SHM)) {
/* Registered SHM mobj */
@@ -163,7 +163,7 @@ bool msg_param_init_memparam(struct optee_msg_param *param, struct mobj *mobj,
param->u.rmem.size = size;
param->u.rmem.offs = offset;
- param->u.rmem.shm_ref = cookie;
+ param->u.rmem.shm_ref = mobj_get_cookie(mobj);
} else if (mobj_matches(mobj, CORE_MEM_NSEC_SHM)) {
/* MOBJ from from predefined pool */
paddr_t pa;
@@ -186,7 +186,7 @@ bool msg_param_init_memparam(struct optee_msg_param *param, struct mobj *mobj,
}
param->u.tmem.buf_ptr = pa + offset;
- param->u.tmem.shm_ref = cookie;
+ param->u.tmem.shm_ref = mobj_get_cookie(mobj);
param->u.tmem.size = size;
} else
return false;