tkaratapanis commented on code in PR #16734:
URL: https://github.com/apache/nuttx/pull/16734#discussion_r2219239146


##########
drivers/misc/optee_supplicant.h:
##########
@@ -0,0 +1,73 @@
+/****************************************************************************
+ * drivers/misc/optee_supplicant.h
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+#ifndef __DRIVERS_MISC_OPTEE_SUPPLICANT_H
+#define __DRIVERS_MISC_OPTEE_SUPPLICANT_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <sys/types.h>
+#include "optee.h"
+
+/****************************************************************************
+ * Public Functions Prototypes
+ ****************************************************************************/
+
+#undef EXTERN
+#if defined(__cplusplus)
+#define EXTERN extern "C"
+extern "C"
+{
+#else
+#define EXTERN extern
+#endif
+
+void optee_supplicant_init(void);
+void optee_supplicant_uninit(void);
+bool optee_supplicant_running(void);
+
+FAR struct idr_s *optee_supplicant_get_shm_idr(void);
+FAR struct idr_s *optee_supplicant_init_shm_idr(void);

Review Comment:
   Because the supplicant and the rest of the processes (CA) need to have their 
own separate idrs, I need to somehow permit a process to search in the 
supplicant's idrs. In general the idea is:
   
   * CA   sends command to OP-TEE
   * OP-TEE sends RPC to nuttx
   * CA creates a request and waits on the semaphore till it is completed by 
the supplicant. (The CA while it is waiting on the semaphore is scheduled out, 
and the supplicant can process the request).
   * The supplicant performs the request and might allocate an shm in its 
private idr. It then posts the semaphore and we go back to the CA that sent the 
command (another nuttx process)
   * The CA then searches in the shm idr_s of the supplicant to find details 
about the shm and replies to OP-TEE.
   
   I don't see an alternative solution to this problem that doesn't involve 
some kind of indirect exposure of the supplicant's shared memory idr_s.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to