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