mirror of
https://github.com/apache/nuttx.git
synced 2026-05-27 11:26:12 +08:00
rptun_secure:change rptun_secure to rptun_bmp
Signed-off-by: hujun5 <hujun5@xiaomi.com>
This commit is contained in:
@@ -24,8 +24,8 @@ if(CONFIG_RPTUN)
|
|||||||
|
|
||||||
list(APPEND SRCS rptun.c)
|
list(APPEND SRCS rptun.c)
|
||||||
|
|
||||||
if(CONFIG_RPTUN_SECURE)
|
if(CONFIG_RPTUN_BMP)
|
||||||
list(APPEND SRCS rptun_secure.c)
|
list(APPEND SRCS rptun_bmp.c)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CONFIG_RPTUN_IVSHMEM)
|
if(CONFIG_RPTUN_IVSHMEM)
|
||||||
|
|||||||
@@ -12,13 +12,13 @@ menuconfig RPTUN
|
|||||||
|
|
||||||
if RPTUN
|
if RPTUN
|
||||||
|
|
||||||
config RPTUN_SECURE
|
config RPTUN_BMP
|
||||||
bool "rptun secure support"
|
bool "rptun bmp support"
|
||||||
default n
|
default n
|
||||||
---help---
|
---help---
|
||||||
This is a rptun driver for communications between secure (TEE)
|
This is a rptun driver for communications in bmp
|
||||||
and non-secure (REE) environments. With this driver, REE and
|
environments. With this driver, Each ends communicate with each
|
||||||
TEE and communicate with each other by using the native rpmsg
|
other by using the native rpmsg
|
||||||
or various Rpmsg services have been implemented in NuttX.
|
or various Rpmsg services have been implemented in NuttX.
|
||||||
|
|
||||||
config RPTUN_IVSHMEM
|
config RPTUN_IVSHMEM
|
||||||
|
|||||||
@@ -26,8 +26,8 @@ ifeq ($(CONFIG_RPTUN),y)
|
|||||||
|
|
||||||
CSRCS += rptun.c
|
CSRCS += rptun.c
|
||||||
|
|
||||||
ifeq ($(CONFIG_RPTUN_SECURE),y)
|
ifeq ($(CONFIG_RPTUN_BMP),y)
|
||||||
CSRCS += rptun_secure.c
|
CSRCS += rptun_bmp.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_RPTUN_IVSHMEM),y)
|
ifeq ($(CONFIG_RPTUN_IVSHMEM),y)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* drivers/rptun/rptun_secure.c
|
* drivers/rptun/rptun_bmp.c
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*
|
*
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#include <nuttx/rptun/rptun.h>
|
#include <nuttx/rptun/rptun.h>
|
||||||
#include <nuttx/rptun/rptun_secure.h>
|
#include <nuttx/rptun/rptun_bmp.h>
|
||||||
#include <nuttx/sched.h>
|
#include <nuttx/sched.h>
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
* Private Types
|
* Private Types
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
struct rptun_secure_dev_s
|
struct rptun_bmp_dev_s
|
||||||
{
|
{
|
||||||
struct rptun_dev_s rptun;
|
struct rptun_dev_s rptun;
|
||||||
rptun_callback_t callback;
|
rptun_callback_t callback;
|
||||||
@@ -52,89 +52,90 @@ struct rptun_secure_dev_s
|
|||||||
* Private Function Prototypes
|
* Private Function Prototypes
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
static FAR const char *rptun_secure_get_cpuname(FAR struct rptun_dev_s *dev);
|
static FAR const char *rptun_bmp_get_cpuname(FAR struct rptun_dev_s *dev);
|
||||||
static struct
|
static struct
|
||||||
FAR rptun_rsc_s *rptun_secure_get_resource(FAR struct rptun_dev_s *dev);
|
FAR rptun_rsc_s *rptun_bmp_get_resource(FAR struct rptun_dev_s *dev);
|
||||||
static bool rptun_secure_is_autostart(FAR struct rptun_dev_s *dev);
|
static bool rptun_bmp_is_autostart(FAR struct rptun_dev_s *dev);
|
||||||
static bool rptun_secure_is_master(FAR struct rptun_dev_s *dev);
|
static bool rptun_bmp_is_master(FAR struct rptun_dev_s *dev);
|
||||||
static int rptun_secure_start(FAR struct rptun_dev_s *dev);
|
static int rptun_bmp_start(FAR struct rptun_dev_s *dev);
|
||||||
static int rptun_secure_stop(FAR struct rptun_dev_s *dev);
|
static int rptun_bmp_stop(FAR struct rptun_dev_s *dev);
|
||||||
static int rptun_secure_notify(FAR struct rptun_dev_s *dev,
|
static int rptun_bmp_notify(FAR struct rptun_dev_s *dev,
|
||||||
uint32_t notifyid);
|
uint32_t notifyid);
|
||||||
static int rptun_secure_register_callback(FAR struct rptun_dev_s *dev,
|
static int rptun_bmp_register_callback(FAR struct rptun_dev_s *dev,
|
||||||
rptun_callback_t callback,
|
rptun_callback_t callback,
|
||||||
FAR void *arg);
|
FAR void *arg);
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Data
|
* Private Data
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
static const struct rptun_ops_s g_rptun_secure_ops =
|
static const struct rptun_ops_s g_rptun_bmp_ops =
|
||||||
{
|
{
|
||||||
.get_cpuname = rptun_secure_get_cpuname,
|
.get_cpuname = rptun_bmp_get_cpuname,
|
||||||
.get_resource = rptun_secure_get_resource,
|
.get_resource = rptun_bmp_get_resource,
|
||||||
.is_autostart = rptun_secure_is_autostart,
|
.is_autostart = rptun_bmp_is_autostart,
|
||||||
.is_master = rptun_secure_is_master,
|
.is_master = rptun_bmp_is_master,
|
||||||
.start = rptun_secure_start,
|
.start = rptun_bmp_start,
|
||||||
.stop = rptun_secure_stop,
|
.stop = rptun_bmp_stop,
|
||||||
.notify = rptun_secure_notify,
|
.notify = rptun_bmp_notify,
|
||||||
.register_callback = rptun_secure_register_callback,
|
.register_callback = rptun_bmp_register_callback,
|
||||||
};
|
};
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Functions
|
* Private Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
static FAR const char *rptun_secure_get_cpuname(FAR struct rptun_dev_s *dev)
|
static FAR const char *rptun_bmp_get_cpuname(FAR struct rptun_dev_s *dev)
|
||||||
{
|
{
|
||||||
FAR struct rptun_secure_dev_s *priv = (FAR struct rptun_secure_dev_s *)dev;
|
FAR struct rptun_bmp_dev_s *priv = (FAR struct rptun_bmp_dev_s *)dev;
|
||||||
return priv->cpuname;
|
return priv->cpuname;
|
||||||
}
|
}
|
||||||
|
|
||||||
static FAR struct rptun_rsc_s *
|
static FAR struct rptun_rsc_s *
|
||||||
rptun_secure_get_resource(FAR struct rptun_dev_s *dev)
|
rptun_bmp_get_resource(FAR struct rptun_dev_s *dev)
|
||||||
{
|
{
|
||||||
FAR struct rptun_secure_dev_s *priv = (FAR struct rptun_secure_dev_s *)dev;
|
FAR struct rptun_bmp_dev_s *priv = (FAR struct rptun_bmp_dev_s *)dev;
|
||||||
return priv->rsc;
|
return priv->rsc;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool rptun_secure_is_autostart(FAR struct rptun_dev_s *dev)
|
static bool rptun_bmp_is_autostart(FAR struct rptun_dev_s *dev)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool rptun_secure_is_master(FAR struct rptun_dev_s *dev)
|
static bool rptun_bmp_is_master(FAR struct rptun_dev_s *dev)
|
||||||
{
|
{
|
||||||
FAR struct rptun_secure_dev_s *priv = (FAR struct rptun_secure_dev_s *)dev;
|
FAR struct rptun_bmp_dev_s *priv = (FAR struct rptun_bmp_dev_s *)dev;
|
||||||
return priv->master;
|
return priv->master;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rptun_secure_start(FAR struct rptun_dev_s *dev)
|
static int rptun_bmp_start(FAR struct rptun_dev_s *dev)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rptun_secure_stop(FAR struct rptun_dev_s *dev)
|
static int rptun_bmp_stop(FAR struct rptun_dev_s *dev)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rptun_secure_notify(FAR struct rptun_dev_s *dev, uint32_t vqid)
|
static int rptun_bmp_notify(FAR struct rptun_dev_s *dev, uint32_t vqid)
|
||||||
{
|
{
|
||||||
FAR struct rptun_secure_dev_s *priv = (FAR struct rptun_secure_dev_s *)dev;
|
FAR struct rptun_bmp_dev_s *priv = (FAR struct rptun_bmp_dev_s *)dev;
|
||||||
cpu_set_t cpuset;
|
cpu_set_t cpuset;
|
||||||
|
|
||||||
CPU_ZERO(&cpuset);
|
CPU_ZERO(&cpuset);
|
||||||
CPU_SET(0, &cpuset);
|
CPU_SET(0, &cpuset);
|
||||||
|
|
||||||
up_trigger_irq(priv->irq_trigger, cpuset);
|
up_trigger_irq(priv->irq_trigger, cpuset);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rptun_secure_register_callback(FAR struct rptun_dev_s *dev,
|
static int rptun_bmp_register_callback(FAR struct rptun_dev_s *dev,
|
||||||
rptun_callback_t callback,
|
rptun_callback_t callback,
|
||||||
FAR void *arg)
|
FAR void *arg)
|
||||||
{
|
{
|
||||||
FAR struct rptun_secure_dev_s *priv = (FAR struct rptun_secure_dev_s *)dev;
|
FAR struct rptun_bmp_dev_s *priv = (FAR struct rptun_bmp_dev_s *)dev;
|
||||||
|
|
||||||
priv->callback = callback;
|
priv->callback = callback;
|
||||||
priv->arg = arg;
|
priv->arg = arg;
|
||||||
@@ -152,7 +153,7 @@ static int rptun_secure_register_callback(FAR struct rptun_dev_s *dev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: rprun_secure_interrupt
|
* Name: rprun_bmp_interrupt
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* This is the interrupt handler.
|
* This is the interrupt handler.
|
||||||
@@ -167,9 +168,9 @@ static int rptun_secure_register_callback(FAR struct rptun_dev_s *dev,
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
static int rprun_secure_interrupt(int irq, FAR void *context, FAR void *arg)
|
static int rprun_bmp_interrupt(int irq, FAR void *context, FAR void *arg)
|
||||||
{
|
{
|
||||||
FAR struct rptun_secure_dev_s *priv = arg;
|
FAR struct rptun_bmp_dev_s *priv = arg;
|
||||||
|
|
||||||
if (priv != NULL && priv->callback != NULL)
|
if (priv != NULL && priv->callback != NULL)
|
||||||
{
|
{
|
||||||
@@ -183,11 +184,11 @@ static int rprun_secure_interrupt(int irq, FAR void *context, FAR void *arg)
|
|||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
int rptun_secure_init(FAR const char *cpuname, bool master,
|
int rptun_bmp_init(FAR const char *cpuname, bool master,
|
||||||
FAR struct rptun_rsc_s *rsc, int irq_event,
|
FAR struct rptun_rsc_s *rsc, int irq_event,
|
||||||
int irq_trigger)
|
int irq_trigger)
|
||||||
{
|
{
|
||||||
FAR struct rptun_secure_dev_s *dev;
|
FAR struct rptun_bmp_dev_s *dev;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
dev = kmm_zalloc(sizeof(*dev));
|
dev = kmm_zalloc(sizeof(*dev));
|
||||||
@@ -199,12 +200,12 @@ int rptun_secure_init(FAR const char *cpuname, bool master,
|
|||||||
dev->master = master;
|
dev->master = master;
|
||||||
dev->irq_trigger = irq_trigger;
|
dev->irq_trigger = irq_trigger;
|
||||||
dev->irq_event = irq_event;
|
dev->irq_event = irq_event;
|
||||||
dev->rptun.ops = &g_rptun_secure_ops;
|
dev->rptun.ops = &g_rptun_bmp_ops;
|
||||||
dev->rsc = rsc;
|
dev->rsc = rsc;
|
||||||
strlcpy(dev->cpuname, cpuname, sizeof(dev->cpuname));
|
strlcpy(dev->cpuname, cpuname, sizeof(dev->cpuname));
|
||||||
|
|
||||||
ret = irq_attach(dev->irq_event,
|
ret = irq_attach(dev->irq_event,
|
||||||
rprun_secure_interrupt, dev);
|
rprun_bmp_interrupt, dev);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
kmm_free(dev);
|
kmm_free(dev);
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* include/nuttx/rptun/rptun_secure.h
|
* include/nuttx/rptun/rptun_bmp.h
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*
|
*
|
||||||
@@ -20,8 +20,8 @@
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifndef __INCLUDE_NUTTX_RPTUN_RPTUN_SECURE_H
|
#ifndef __INCLUDE_NUTTX_RPTUN_RPTUN_BMP_H
|
||||||
#define __INCLUDE_NUTTX_RPTUN_RPTUN_SECURE_H
|
#define __INCLUDE_NUTTX_RPTUN_RPTUN_BMP_H
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Included Files
|
* Included Files
|
||||||
@@ -43,7 +43,7 @@ extern "C"
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: rptun_secure_init
|
* Name: rptun_bmp_init
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* Initializes the rptun device.
|
* Initializes the rptun device.
|
||||||
@@ -60,13 +60,13 @@ extern "C"
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
int rptun_secure_init(FAR const char *cpuname, bool master,
|
int rptun_bmp_init(FAR const char *cpuname, bool master,
|
||||||
FAR struct rptun_rsc_s *rsc, int irq_event,
|
FAR struct rptun_rsc_s *rsc, int irq_event,
|
||||||
int irq_trigger);
|
int irq_trigger);
|
||||||
|
|
||||||
#undef EXTERN
|
#undef EXTERN
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __INCLUDE_NUTTX_RPTUN_RPTUN_SECURE_H */
|
#endif /* __INCLUDE_NUTTX_RPTUN_RPTUN_BMP_H */
|
||||||
Reference in New Issue
Block a user