| From 61a7811f09b529341351c19ce1644b7e790daa5f Mon Sep 17 00:00:00 2001 |
| From: wangbowen6 <wangbowen6@xiaomi.com> |
| Date: Tue, 9 May 2023 11:30:09 +0800 |
| Subject: [PATCH 1/2] virtio: follow virtio 1.2 spec, add more virtio status |
| and device |
| |
| Signed-off-by: wangbowen6 <wangbowen6@xiaomi.com> |
| --- |
| lib/include/openamp/virtio.h | 37 ++++++++++++++++++++++++++---------- |
| lib/virtio/virtio.c | 14 ++++++++++++++ |
| 2 files changed, 41 insertions(+), 10 deletions(-) |
| |
| diff --git a/lib/include/openamp/virtio.h open-amp/lib/include/openamp/virtio.h |
| index 0303a5b..3001a06 100644 |
| --- a/lib/include/openamp/virtio.h |
| +++ open-amp/lib/include/openamp/virtio.h |
| @@ -15,21 +15,38 @@ extern "C" { |
| #endif |
| |
| /* VirtIO device IDs. */ |
| -#define VIRTIO_ID_NETWORK 0x01UL |
| -#define VIRTIO_ID_BLOCK 0x02UL |
| -#define VIRTIO_ID_CONSOLE 0x03UL |
| -#define VIRTIO_ID_ENTROPY 0x04UL |
| -#define VIRTIO_ID_BALLOON 0x05UL |
| -#define VIRTIO_ID_IOMEMORY 0x06UL |
| -#define VIRTIO_ID_RPMSG 0x07UL /* remote processor messaging */ |
| -#define VIRTIO_ID_SCSI 0x08UL |
| -#define VIRTIO_ID_9P 0x09UL |
| -#define VIRTIO_DEV_ANY_ID (-1)UL |
| +#define VIRTIO_ID_NETWORK 1UL |
| +#define VIRTIO_ID_BLOCK 2UL |
| +#define VIRTIO_ID_CONSOLE 3UL |
| +#define VIRTIO_ID_ENTROPY 4UL |
| +#define VIRTIO_ID_BALLOON 5UL |
| +#define VIRTIO_ID_IOMEMORY 6UL |
| +#define VIRTIO_ID_RPMSG 7UL /* remote processor messaging */ |
| +#define VIRTIO_ID_SCSI 8UL |
| +#define VIRTIO_ID_9P 9UL |
| +#define VIRTIO_ID_RPROC_SERIAL 11UL |
| +#define VIRTIO_ID_GPU 16UL |
| +#define VIRTIO_ID_INPUT 18UL |
| +#define VIRTIO_ID_VSOCK 19UL |
| +#define VIRTIO_ID_CRYPTO 20UL |
| +#define VIRTIO_ID_IOMMU 23UL |
| +#define VIRTIO_ID_MEM 24UL |
| +#define VIRTIO_ID_SOUND 25UL |
| +#define VIRTIO_ID_FS 26UL |
| +#define VIRTIO_ID_PMEM 27UL |
| +#define VIRTIO_ID_RPMB 28UL |
| +#define VIRTIO_ID_SCMI 32UL |
| +#define VIRTIO_ID_I2C_ADAPTER 34UL |
| +#define VIRTIO_ID_BT 40UL |
| +#define VIRTIO_ID_GPIO 41UL |
| +#define VIRTIO_DEV_ANY_ID -1UL |
| |
| /* Status byte for guest to report progress. */ |
| +#define VIRTIO_CONFIG_STATUS_RESET 0x00 |
| #define VIRTIO_CONFIG_STATUS_ACK 0x01 |
| #define VIRTIO_CONFIG_STATUS_DRIVER 0x02 |
| #define VIRTIO_CONFIG_STATUS_DRIVER_OK 0x04 |
| +#define VIRTIO_CONFIG_FEATURES_OK 0x08 |
| #define VIRTIO_CONFIG_STATUS_NEEDS_RESET 0x40 |
| #define VIRTIO_CONFIG_STATUS_FAILED 0x80 |
| |
| diff --git a/lib/virtio/virtio.c open-amp/lib/virtio/virtio.c |
| index d205784..d25aec3 100644 |
| --- a/lib/virtio/virtio.c |
| +++ open-amp/lib/virtio/virtio.c |
| @@ -26,6 +26,20 @@ static const struct virtio_ident { |
| VIRTIO_ID_IOMEMORY, "IOMemory"}, { |
| VIRTIO_ID_SCSI, "SCSI"}, { |
| VIRTIO_ID_9P, "9P Transport"}, { |
| + VIRTIO_ID_GPU, "GPU"}, { |
| + VIRTIO_ID_INPUT, "Input"}, { |
| + VIRTIO_ID_VSOCK, "Vsock Transport"}, { |
| + VIRTIO_ID_CRYPTO, "Crypto"}, { |
| + VIRTIO_ID_IOMMU, "IOMMU"}, { |
| + VIRTIO_ID_MEM, "Memory"}, { |
| + VIRTIO_ID_SOUND, "Sound"}, { |
| + VIRTIO_ID_FS, "File System"}, { |
| + VIRTIO_ID_PMEM, "Pmem"}, { |
| + VIRTIO_ID_RPMB, "RPMB"}, { |
| + VIRTIO_ID_SCMI, "SCMI"}, { |
| + VIRTIO_ID_I2C_ADAPTER, "I2C Adapter"}, { |
| + VIRTIO_ID_BT, "Bluetooth"}, { |
| + VIRTIO_ID_GPIO, "GPIO" }, { |
| 0, NULL} |
| }; |
| |
| -- |
| 2.25.1 |
| |