From 5c77a8c4d5eab44ae4fb00027b3f802d1c3b5c30 Mon Sep 17 00:00:00 2001 From: Bowen Wang Date: Fri, 23 Aug 2024 00:17:09 +0800 Subject: [PATCH] virtio-config.h: move common virtio apis to virtio-config.h So the config releated api can be used by both the virtio and vhost Signed-off-by: Bowen Wang --- include/nuttx/virtio/virtio-config.h | 53 ++++++++++++++++++++++++++++ include/nuttx/virtio/virtio.h | 20 +---------- 2 files changed, 54 insertions(+), 19 deletions(-) create mode 100644 include/nuttx/virtio/virtio-config.h diff --git a/include/nuttx/virtio/virtio-config.h b/include/nuttx/virtio/virtio-config.h new file mode 100644 index 00000000000..8e80427f716 --- /dev/null +++ b/include/nuttx/virtio/virtio-config.h @@ -0,0 +1,53 @@ +/**************************************************************************** + * include/nuttx/virtio/virtio-config.h + * + * 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 __INCLUDE_NUTTX_VIRTIO_VIRTIO_CONFIG_H +#define __INCLUDE_NUTTX_VIRTIO_VIRTIO_CONFIG_H + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#ifdef CONFIG_OPENAMP + +#include +#include + +/**************************************************************************** + * Pre-processor Definitions + ****************************************************************************/ + +/* Virtio common feature bits */ + +#define VIRTIO_F_ANY_LAYOUT 27 + +/* Virtio helper functions */ + +#define virtio_read_config_member(vdev, structname, member, ptr) \ + virtio_read_config((vdev), offsetof(structname, member), \ + (ptr), sizeof(*(ptr))); + +#define virtio_write_config_member(vdev, structname, member, ptr) \ + virtio_write_config((vdev), offsetof(structname, member), \ + (ptr), sizeof(*(ptr))); + +#endif /* CONFIG_OPENAMP */ + +#endif /* __INCLUDE_NUTTX_VIRTIO_VIRTIO_CONFIG_H */ diff --git a/include/nuttx/virtio/virtio.h b/include/nuttx/virtio/virtio.h index a0d122714f7..7f288d8867d 100644 --- a/include/nuttx/virtio/virtio.h +++ b/include/nuttx/virtio/virtio.h @@ -29,32 +29,14 @@ #include -#include #include #include +#include #ifdef CONFIG_DRIVERS_VIRTIO #include -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/* Virtio common feature bits */ - -#define VIRTIO_F_ANY_LAYOUT 27 - -/* Virtio helper functions */ - -#define virtio_read_config_member(vdev, structname, member, ptr) \ - virtio_read_config((vdev), offsetof(structname, member), \ - (ptr), sizeof(*(ptr))); - -#define virtio_write_config_member(vdev, structname, member, ptr) \ - virtio_write_config((vdev), offsetof(structname, member), \ - (ptr), sizeof(*(ptr))); - /**************************************************************************** * Public Type Definitions ****************************************************************************/