rpmsg/rpmsg_virtio_lite: rename rpmsg_virtio to rpmsg_virtio_lite

Because rpmsg_virtio_lite is a better name to inform user that the
rpmsg virtio (original name) is a lite implementation of rpmsg virtio.

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
This commit is contained in:
Bowen Wang
2024-08-19 19:54:35 +08:00
committed by Alan C. Assis
parent db1ebe0095
commit f0a3c43a54
12 changed files with 962 additions and 789 deletions
+1 -1
View File
@@ -254,7 +254,7 @@ ifeq ($(CONFIG_SIM_LIBUSB),y)
endif
endif
ifeq ($(CONFIG_RPMSG_VIRTIO),y)
ifeq ($(CONFIG_RPMSG_VIRTIO_LITE),y)
CSRCS += sim_rpmsg_virtio.c
endif
+1 -1
View File
@@ -119,7 +119,7 @@ if(CONFIG_LIBM_TOOLCHAIN)
list(APPEND STDLIBS m)
endif()
if(CONFIG_RPMSG_VIRTIO)
if(CONFIG_RPMSG_VIRTIO_LITE)
list(APPEND SRCS sim_rpmsg_vritio.c)
endif()
+1 -1
View File
@@ -415,7 +415,7 @@ int sim_rptun_init(const char *shmemname, const char *cpuname, int master);
/* sim_rpmsg_virtio.c *******************************************************/
#ifdef CONFIG_RPMSG_VIRTIO
#ifdef CONFIG_RPMSG_VIRTIO_LITE
int sim_rpmsg_virtio_init(const char *shmemname, const char *cpuname,
bool master);
#endif
+22 -20
View File
@@ -29,7 +29,7 @@
#include <nuttx/drivers/addrenv.h>
#include <nuttx/kmalloc.h>
#include <nuttx/nuttx.h>
#include <nuttx/rpmsg/rpmsg_virtio.h>
#include <nuttx/rpmsg/rpmsg_virtio_lite.h>
#include <nuttx/wdog.h>
#include "sim_internal.h"
@@ -46,18 +46,18 @@
struct sim_rpmsg_virtio_shmem_s
{
volatile uintptr_t base;
volatile unsigned int seqs;
volatile unsigned int seqm;
volatile unsigned int boots;
volatile unsigned int bootm;
struct rpmsg_virtio_rsc_s rsc;
char buf[0x10000];
volatile uintptr_t base;
volatile unsigned int seqs;
volatile unsigned int seqm;
volatile unsigned int boots;
volatile unsigned int bootm;
struct rpmsg_virtio_lite_rsc_s rsc;
char buf[0x10000];
};
struct sim_rpmsg_virtio_dev_s
{
struct rpmsg_virtio_s dev;
struct rpmsg_virtio_lite_s dev;
rpmsg_virtio_callback_t callback;
void *arg;
int master;
@@ -76,7 +76,8 @@ struct sim_rpmsg_virtio_dev_s
* Private Functions
****************************************************************************/
static const char *sim_rpmsg_virtio_get_cpuname(struct rpmsg_virtio_s *dev)
static const char *
sim_rpmsg_virtio_get_cpuname(struct rpmsg_virtio_lite_s *dev)
{
struct sim_rpmsg_virtio_dev_s *priv =
container_of(dev, struct sim_rpmsg_virtio_dev_s, dev);
@@ -84,13 +85,13 @@ static const char *sim_rpmsg_virtio_get_cpuname(struct rpmsg_virtio_s *dev)
return priv->cpuname;
}
static struct rpmsg_virtio_rsc_s *
sim_rpmsg_virtio_get_resource(struct rpmsg_virtio_s *dev)
static struct rpmsg_virtio_lite_rsc_s *
sim_rpmsg_virtio_get_resource(struct rpmsg_virtio_lite_s *dev)
{
struct sim_rpmsg_virtio_dev_s *priv =
container_of(dev, struct sim_rpmsg_virtio_dev_s, dev);
struct rpmsg_virtio_rsc_s *rsc;
struct rpmsg_virtio_cmd_s *cmd;
struct rpmsg_virtio_lite_rsc_s *rsc;
struct rpmsg_virtio_lite_cmd_s *cmd;
priv->shmem = host_allocshmem(priv->shmemname, sizeof(*priv->shmem));
if (!priv->shmem)
@@ -141,7 +142,7 @@ sim_rpmsg_virtio_get_resource(struct rpmsg_virtio_s *dev)
return rsc;
}
static int sim_rpmsg_virtio_is_master(struct rpmsg_virtio_s *dev)
static int sim_rpmsg_virtio_is_master(struct rpmsg_virtio_lite_s *dev)
{
struct sim_rpmsg_virtio_dev_s *priv =
container_of(dev, struct sim_rpmsg_virtio_dev_s, dev);
@@ -150,7 +151,7 @@ static int sim_rpmsg_virtio_is_master(struct rpmsg_virtio_s *dev)
}
static int
sim_rpmsg_virtio_register_callback(struct rpmsg_virtio_s *dev,
sim_rpmsg_virtio_register_callback(struct rpmsg_virtio_lite_s *dev,
rpmsg_virtio_callback_t callback,
void *arg)
{
@@ -184,7 +185,7 @@ static void sim_rpmsg_virtio_work(wdparm_t arg)
if (should_notify && dev->callback != NULL)
{
dev->callback(dev->arg, RPMSG_VIRTIO_NOTIFY_ALL);
dev->callback(dev->arg, RPMSG_VIRTIO_LITE_NOTIFY_ALL);
}
}
@@ -192,7 +193,8 @@ static void sim_rpmsg_virtio_work(wdparm_t arg)
sim_rpmsg_virtio_work, (wdparm_t)dev);
}
static int sim_rpmsg_virtio_notify(struct rpmsg_virtio_s *dev, uint32_t vqid)
static int sim_rpmsg_virtio_notify(struct rpmsg_virtio_lite_s *dev,
uint32_t vqid)
{
struct sim_rpmsg_virtio_dev_s *priv =
container_of(dev, struct sim_rpmsg_virtio_dev_s, dev);
@@ -213,7 +215,7 @@ static int sim_rpmsg_virtio_notify(struct rpmsg_virtio_s *dev, uint32_t vqid)
* Private Data
****************************************************************************/
static const struct rpmsg_virtio_ops_s g_sim_rpmsg_virtio_ops =
static const struct rpmsg_virtio_lite_ops_s g_sim_rpmsg_virtio_ops =
{
.get_cpuname = sim_rpmsg_virtio_get_cpuname,
.get_resource = sim_rpmsg_virtio_get_resource,
@@ -243,7 +245,7 @@ int sim_rpmsg_virtio_init(const char *shmemname, const char *cpuname,
strlcpy(priv->cpuname, cpuname, RPMSG_NAME_SIZE);
strlcpy(priv->shmemname, shmemname, RPMSG_NAME_SIZE);
ret = rpmsg_virtio_initialize(&priv->dev);
ret = rpmsg_virtio_lite_initialize(&priv->dev);
if (ret < 0)
{
kmm_free(priv);
+1 -1
View File
@@ -485,7 +485,7 @@ int sim_bringup(void)
# endif
#endif
#ifdef CONFIG_RPMSG_VIRTIO
#ifdef CONFIG_RPMSG_VIRTIO_LITE
# ifdef CONFIG_SIM_RPMSG_MASTER
sim_rpmsg_virtio_init("server-proxy", "proxy", true);
# else
+2 -2
View File
@@ -47,8 +47,8 @@ if(CONFIG_RPMSG)
list(APPEND SRCS rpmsg_port_uart.c)
endif()
if(CONFIG_RPMSG_VIRTIO)
list(APPEND SRCS rpmsg_virtio.c)
if(CONFIG_RPMSG_VIRTIO_LITE)
list(APPEND SRCS rpmsg_virtio_lite.c)
endif()
if(CONFIG_RPMSG_VIRTIO_IVSHMEM)
+28 -10
View File
@@ -107,32 +107,50 @@ config RPMSG_PORT_UART_DEBUG
endif # RPMSG_PORT_UART
config RPMSG_VIRTIO
config RPMSG_VIRTIO_LITE
bool "rpmsg virtio transport support"
default n
select RPMSG
if RPMSG_VIRTIO
if RPMSG_VIRTIO_LITE
config RPMSG_VIRTIO_PRIORITY
int "rpmsg virtio rx thread priority"
config RPMSG_VIRTIO_LITE_PRIORITY
int "rpmsg virtio lite rx thread priority"
default 224
config RPMSG_VIRTIO_STACKSIZE
int "rpmsg virtio rx thread stack size"
config RPMSG_VIRTIO_LITE_STACKSIZE
int "rpmsg virtio lite rx thread stack size"
default DEFAULT_TASK_STACKSIZE
config RPMSG_VIRTIO_IVSHMEM
bool "rpmsg virtio ivshmem support"
bool "rpmsg virtio lite ivshmem support"
default n
depends on PCI_IVSHMEM
---help---
This is rpmsg virtio driver based on pci ivshmem.
config RPMSG_VIRTIO_LITE_PM
bool "rpmsg virtio lite power management"
depends on PM
default n
---help---
If TX/RX buffer is supplied and powered by each CPU.
And when one CPU in DEEP sleep, then it's buffer will
goto RAM-retention mode, can't access from another CPU.
So, we provide this method to resolve this.
config RPMSG_VIRTIO_LITE_PM_AUTORELAX
bool "rpmsg virtio lite pm autorelax"
depends on RPMSG_VIRTIO_LITE_PM
default y
---help---
use wd_timer to auto relax pm
if RPMSG_VIRTIO_IVSHMEM
config RPMSG_VIRTIO_IVSHMEM_NAME
string "rpmsg virtio ivshmem name"
string "rpmsg virtio lite ivshmem name"
---help---
Using this config to custom the rpmsg virtio ivshmem id, cpuname and role,
using ";" to split the names.
@@ -141,14 +159,14 @@ config RPMSG_VIRTIO_IVSHMEM_NAME
with remote cpu ids: "0","1", names: "cpu1", "cpu2", and roles: "master", "slave"
config RPMSG_VIRTIO_IVSHMEM_BUFFSIZE
int "rpmsg virtio ivshmem rpmsg buffer size"
int "rpmsg virtio lite ivshmem rpmsg buffer size"
default 2048
---help---
The rpmsg buffer size in share memory, the RX and TX buffer size
are same for now.
config RPMSG_VIRTIO_IVSHMEM_BUFFNUM
int "rpmsg virtio ivshmem rpmsg buffer number"
int "rpmsg virtio lite ivshmem rpmsg buffer number"
default 8
---help---
The rpmsg virtio buffer number in share memory, the RX and TX buffer number
+2 -2
View File
@@ -51,8 +51,8 @@ ifeq ($(CONFIG_RPMSG_PORT_UART),y)
CSRCS += rpmsg_port_uart.c
endif
ifeq ($(CONFIG_RPMSG_VIRTIO),y)
CSRCS += rpmsg_virtio.c
ifeq ($(CONFIG_RPMSG_VIRTIO_LITE),y)
CSRCS += rpmsg_virtio_lite.c
CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)openamp$(DELIM)open-amp$(DELIM)lib
endif
File diff suppressed because it is too large Load Diff
+26 -25
View File
@@ -32,8 +32,8 @@
#include <nuttx/drivers/addrenv.h>
#include <nuttx/pci/pci_ivshmem.h>
#include <nuttx/rpmsg/rpmsg_virtio.h>
#include <nuttx/rpmsg/rpmsg_virtio_ivshmem.h>
#include <nuttx/rpmsg/rpmsg_virtio_lite.h>
#include <nuttx/wdog.h>
/****************************************************************************
@@ -53,15 +53,15 @@
struct rpmsg_virtio_ivshmem_mem_s
{
volatile uint64_t basem;
volatile uint32_t seqs;
volatile uint32_t seqm;
struct rpmsg_virtio_rsc_s rsc;
volatile uint64_t basem;
volatile uint32_t seqs;
volatile uint32_t seqm;
struct rpmsg_virtio_lite_rsc_s rsc;
};
struct rpmsg_virtio_ivshmem_dev_s
{
struct rpmsg_virtio_s dev;
struct rpmsg_virtio_lite_s dev;
struct ivshmem_driver_s drv;
FAR struct ivshmem_device_s *ivdev;
rpmsg_virtio_callback_t callback;
@@ -84,15 +84,15 @@ struct rpmsg_virtio_ivshmem_dev_s
****************************************************************************/
static const FAR char *
rpmsg_virtio_ivshmem_get_cpuname(FAR struct rpmsg_virtio_s *dev);
static FAR struct rpmsg_virtio_rsc_s *
rpmsg_virtio_ivshmem_get_resource(FAR struct rpmsg_virtio_s *dev);
rpmsg_virtio_ivshmem_get_cpuname(FAR struct rpmsg_virtio_lite_s *dev);
static FAR struct rpmsg_virtio_lite_rsc_s *
rpmsg_virtio_ivshmem_get_resource(FAR struct rpmsg_virtio_lite_s *dev);
static int
rpmsg_virtio_ivshmem_is_master(FAR struct rpmsg_virtio_s *dev);
static int rpmsg_virtio_ivshmem_notify(FAR struct rpmsg_virtio_s *dev,
rpmsg_virtio_ivshmem_is_master(FAR struct rpmsg_virtio_lite_s *dev);
static int rpmsg_virtio_ivshmem_notify(FAR struct rpmsg_virtio_lite_s *dev,
uint32_t notifyid);
static int
rpmsg_virtio_ivshmem_register_callback(FAR struct rpmsg_virtio_s *dev,
rpmsg_virtio_ivshmem_register_callback(FAR struct rpmsg_virtio_lite_s *dev,
rpmsg_virtio_callback_t callback,
FAR void *arg);
static int rpmsg_virtio_ivshmem_probe(FAR struct ivshmem_device_s *ivdev);
@@ -102,7 +102,7 @@ static void rpmsg_virtio_ivshmem_remove(FAR struct ivshmem_device_s *ivdev);
* Private Data
****************************************************************************/
static const struct rpmsg_virtio_ops_s g_rpmsg_virtio_ivshmem_ops =
static const struct rpmsg_virtio_lite_ops_s g_rpmsg_virtio_ivshmem_ops =
{
.get_cpuname = rpmsg_virtio_ivshmem_get_cpuname,
.get_resource = rpmsg_virtio_ivshmem_get_resource,
@@ -116,23 +116,23 @@ static const struct rpmsg_virtio_ops_s g_rpmsg_virtio_ivshmem_ops =
****************************************************************************/
static const FAR char *
rpmsg_virtio_ivshmem_get_cpuname(FAR struct rpmsg_virtio_s *dev)
rpmsg_virtio_ivshmem_get_cpuname(FAR struct rpmsg_virtio_lite_s *dev)
{
FAR struct rpmsg_virtio_ivshmem_dev_s *priv =
(FAR struct rpmsg_virtio_ivshmem_dev_s *)dev;
return priv->cpuname;
}
static FAR struct rpmsg_virtio_rsc_s *
rpmsg_virtio_ivshmem_get_resource(FAR struct rpmsg_virtio_s *dev)
static FAR struct rpmsg_virtio_lite_rsc_s *
rpmsg_virtio_ivshmem_get_resource(FAR struct rpmsg_virtio_lite_s *dev)
{
FAR struct rpmsg_virtio_ivshmem_dev_s *priv =
(FAR struct rpmsg_virtio_ivshmem_dev_s *)dev;
FAR struct rpmsg_virtio_rsc_s *rsc;
FAR struct rpmsg_virtio_cmd_s *cmd;
FAR struct rpmsg_virtio_lite_rsc_s *rsc;
FAR struct rpmsg_virtio_lite_cmd_s *cmd;
rsc = &priv->shmem->rsc;
cmd = RPMSG_VIRTIO_RSC2CMD(rsc);
cmd = RPMSG_VIRTIO_LITE_RSC2CMD(rsc);
if (priv->master)
{
@@ -178,14 +178,15 @@ rpmsg_virtio_ivshmem_get_resource(FAR struct rpmsg_virtio_s *dev)
return rsc;
}
static int rpmsg_virtio_ivshmem_is_master(FAR struct rpmsg_virtio_s *dev)
static int
rpmsg_virtio_ivshmem_is_master(FAR struct rpmsg_virtio_lite_s *dev)
{
FAR struct rpmsg_virtio_ivshmem_dev_s *priv =
(FAR struct rpmsg_virtio_ivshmem_dev_s *)dev;
return priv->master;
}
static int rpmsg_virtio_ivshmem_notify(FAR struct rpmsg_virtio_s *dev,
static int rpmsg_virtio_ivshmem_notify(FAR struct rpmsg_virtio_lite_s *dev,
uint32_t vqid)
{
FAR struct rpmsg_virtio_ivshmem_dev_s *priv =
@@ -208,7 +209,7 @@ static int rpmsg_virtio_ivshmem_notify(FAR struct rpmsg_virtio_s *dev,
}
static int
rpmsg_virtio_ivshmem_register_callback(FAR struct rpmsg_virtio_s *dev,
rpmsg_virtio_ivshmem_register_callback(FAR struct rpmsg_virtio_lite_s *dev,
rpmsg_virtio_callback_t callback,
FAR void *arg)
{
@@ -231,7 +232,7 @@ static int rpmsg_virtio_ivshmem_interrupt(int irq, FAR void *context,
if (priv->callback != NULL)
{
priv->callback(priv->arg, RPMSG_VIRTIO_NOTIFY_ALL);
priv->callback(priv->arg, RPMSG_VIRTIO_LITE_NOTIFY_ALL);
}
return 0;
@@ -260,7 +261,7 @@ static void rpmsg_virtio_ivshmem_wdog(wdparm_t arg)
if (should_notify && priv->callback != NULL)
{
priv->callback(priv->arg, RPMSG_VIRTIO_NOTIFY_ALL);
priv->callback(priv->arg, RPMSG_VIRTIO_LITE_NOTIFY_ALL);
}
wd_start(&priv->wdog, RPMSG_VIRTIO_IVSHMEM_WDOG_DELAY,
@@ -288,7 +289,7 @@ static int rpmsg_virtio_ivshmem_probe(FAR struct ivshmem_device_s *ivdev)
/* Do rpmsg virtio initialize */
ret = rpmsg_virtio_initialize(&priv->dev);
ret = rpmsg_virtio_lite_initialize(&priv->dev);
if (ret < 0)
{
rpmsgerr("Rpmsg virtio initialize failed, ret=%d\n", ret);
File diff suppressed because it is too large Load Diff
@@ -1,5 +1,5 @@
/****************************************************************************
* include/nuttx/rpmsg/rpmsg_virtio.h
* include/nuttx/rpmsg/rpmsg_virtio_lite.h
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -20,8 +20,8 @@
*
****************************************************************************/
#ifndef __INCLUDE_NUTTX_RPMSG_RPMSG_VIRTIO_H
#define __INCLUDE_NUTTX_RPMSG_RPMSG_VIRTIO_H
#ifndef __INCLUDE_NUTTX_RPMSG_RPMSG_VIRTIO_LITE_H
#define __INCLUDE_NUTTX_RPMSG_RPMSG_VIRTIO_LITE_H
/****************************************************************************
* Included Files
@@ -29,7 +29,7 @@
#include <nuttx/config.h>
#ifdef CONFIG_RPMSG_VIRTIO
#ifdef CONFIG_RPMSG_VIRTIO_LITE
#include <nuttx/rpmsg/rpmsg.h>
#include <openamp/rpmsg_virtio.h>
@@ -39,24 +39,24 @@
* Pre-processor Definitions
****************************************************************************/
#define RPMSG_VIRTIO_NOTIFY_ALL UINT32_MAX
#define RPMSG_VIRTIO_LITE_NOTIFY_ALL UINT32_MAX
#define RPMSG_VIRTIO_CMD_PANIC 0x1
#define RPMSG_VIRTIO_CMD_MASK 0xffff
#define RPMSG_VIRTIO_CMD_SHIFT 16
#define RPMSG_VIRTIO_LITE_CMD_PANIC 0x1
#define RPMSG_VIRTIO_LITE_CMD_MASK 0xffff
#define RPMSG_VIRTIO_LITE_CMD_SHIFT 16
#define RPMSG_VIRTIO_CMD(c,v) (((c) << RPMSG_VIRTIO_CMD_SHIFT) | \
((v) & RPMSG_VIRTIO_CMD_MASK))
#define RPMSG_VIRTIO_GET_CMD(c) ((c) >> RPMSG_VIRTIO_CMD_SHIFT)
#define RPMSG_VIRTIO_LITE_CMD(c,v) (((c) << RPMSG_VIRTIO_LITE_CMD_SHIFT) | \
((v) & RPMSG_VIRTIO_LITE_CMD_MASK))
#define RPMSG_VIRTIO_LITE_GET_CMD(c) ((c) >> RPMSG_VIRTIO_LITE_CMD_SHIFT)
#define RPMSG_VIRTIO_RSC2CMD(r) \
((FAR struct rpmsg_virtio_cmd_s *) \
&((FAR struct resource_table *)(r))->reserved[0])
#define RPMSG_VIRTIO_LITE_RSC2CMD(r) \
((FAR struct rpmsg_virtio_lite_cmd_s *) \
&((FAR struct resource_table *)(r))->reserved[0])
/* Access macros ************************************************************/
/****************************************************************************
* Name: RPMSG_VIRTIO_GET_LOCAL_CPUNAME
* Name: RPMSG_VIRTIO_LITE_GET_LOCAL_CPUNAME
*
* Description:
* Get remote cpu name
@@ -69,11 +69,11 @@
*
****************************************************************************/
#define RPMSG_VIRTIO_GET_LOCAL_CPUNAME(d) \
#define RPMSG_VIRTIO_LITE_GET_LOCAL_CPUNAME(d) \
((d)->ops->get_local_cpuname ? (d)->ops->get_local_cpuname(d) : "")
/****************************************************************************
* Name: RPMSG_VIRTIO_GET_CPUNAME
* Name: RPMSG_VIRTIO_LITE_GET_CPUNAME
*
* Description:
* Get remote cpu name
@@ -86,11 +86,11 @@
*
****************************************************************************/
#define RPMSG_VIRTIO_GET_CPUNAME(d) \
#define RPMSG_VIRTIO_LITE_GET_CPUNAME(d) \
((d)->ops->get_cpuname ? (d)->ops->get_cpuname(d) : "")
/****************************************************************************
* Name: RPMSG_VIRTIO_GET_RESOURCE
* Name: RPMSG_VIRTIO_LITE_GET_RESOURCE
*
* Description:
* Get rpmsg virtio resource
@@ -103,11 +103,11 @@
*
****************************************************************************/
#define RPMSG_VIRTIO_GET_RESOURCE(d) \
#define RPMSG_VIRTIO_LITE_GET_RESOURCE(d) \
((d)->ops->get_resource ? (d)->ops->get_resource(d) : NULL)
/****************************************************************************
* Name: RPMSG_VIRTIO_IS_MASTER
* Name: RPMSG_VIRTIO_LITE_IS_MASTER
*
* Description:
* Is master or not
@@ -120,11 +120,11 @@
*
****************************************************************************/
#define RPMSG_VIRTIO_IS_MASTER(d) \
#define RPMSG_VIRTIO_LITE_IS_MASTER(d) \
((d)->ops->is_master ? (d)->ops->is_master(d) : false)
/****************************************************************************
* Name: RPMSG_VIRTIO_REGISTER_CALLBACK
* Name: RPMSG_VIRTIO_LITE_REGISTER_CALLBACK
*
* Description:
* Attach to receive a callback when something is received on RPTUN
@@ -139,11 +139,11 @@
*
****************************************************************************/
#define RPMSG_VIRTIO_REGISTER_CALLBACK(d,c,a) \
#define RPMSG_VIRTIO_LITE_REGISTER_CALLBACK(d,c,a) \
((d)->ops->register_callback ? (d)->ops->register_callback(d,c,a) : -ENOSYS)
/****************************************************************************
* Name: RPMSG_VIRTIO_NOTIFY
* Name: RPMSG_VIRTIO_LITE_NOTIFY
*
* Description:
* Notify remote core there is a message to get.
@@ -157,7 +157,7 @@
*
****************************************************************************/
#define RPMSG_VIRTIO_NOTIFY(d,v) \
#define RPMSG_VIRTIO_LITE_NOTIFY(d,v) \
((d)->ops->notify ? (d)->ops->notify(d,v) : -ENOSYS)
/****************************************************************************
@@ -166,13 +166,13 @@
typedef CODE int (*rpmsg_virtio_callback_t)(FAR void *arg, uint32_t vqid);
begin_packed_struct struct rpmsg_virtio_cmd_s
begin_packed_struct struct rpmsg_virtio_lite_cmd_s
{
uint32_t cmd_master;
uint32_t cmd_slave;
} end_packed_struct;
struct aligned_data(8) rpmsg_virtio_rsc_s
struct aligned_data(8) rpmsg_virtio_lite_rsc_s
{
struct resource_table rsc_tbl_hdr;
uint32_t offset[2];
@@ -183,23 +183,24 @@ struct aligned_data(8) rpmsg_virtio_rsc_s
struct fw_rsc_config config;
};
struct rpmsg_virtio_s;
struct rpmsg_virtio_ops_s
struct rpmsg_virtio_lite_s;
struct rpmsg_virtio_lite_ops_s
{
CODE FAR const char *(*get_local_cpuname)(FAR struct rpmsg_virtio_s *dev);
CODE FAR const char *(*get_cpuname)(FAR struct rpmsg_virtio_s *dev);
CODE FAR struct rpmsg_virtio_rsc_s *
(*get_resource)(FAR struct rpmsg_virtio_s *dev);
CODE int (*is_master)(FAR struct rpmsg_virtio_s *dev);
CODE int (*notify)(FAR struct rpmsg_virtio_s *dev, uint32_t vqid);
CODE int (*register_callback)(FAR struct rpmsg_virtio_s *dev,
CODE FAR const char *
(*get_local_cpuname)(FAR struct rpmsg_virtio_lite_s *dev);
CODE FAR const char *(*get_cpuname)(FAR struct rpmsg_virtio_lite_s *dev);
CODE FAR struct rpmsg_virtio_lite_rsc_s *
(*get_resource)(FAR struct rpmsg_virtio_lite_s *dev);
CODE int (*is_master)(FAR struct rpmsg_virtio_lite_s *dev);
CODE int (*notify)(FAR struct rpmsg_virtio_lite_s *dev, uint32_t vqid);
CODE int (*register_callback)(FAR struct rpmsg_virtio_lite_s *dev,
rpmsg_virtio_callback_t callback,
FAR void *arg);
};
struct rpmsg_virtio_s
struct rpmsg_virtio_lite_s
{
FAR const struct rpmsg_virtio_ops_s *ops;
FAR const struct rpmsg_virtio_lite_ops_s *ops;
};
/****************************************************************************
@@ -214,12 +215,12 @@ extern "C"
#define EXTERN extern
#endif
int rpmsg_virtio_initialize(FAR struct rpmsg_virtio_s *dev);
int rpmsg_virtio_lite_initialize(FAR struct rpmsg_virtio_lite_s *dev);
#ifdef __cplusplus
}
#endif
#endif /* CONFIG_RPTUN */
#endif /* CONFIG_RPMSG_VIRTIO_LITE */
#endif /* __INCLUDE_NUTTX_RPMSG_RPMSG_VIRTIO_H */
#endif /* __INCLUDE_NUTTX_RPMSG_RPMSG_VIRTIO_LITE_H */