From 61a7811f09b529341351c19ce1644b7e790daa5f Mon Sep 17 00:00:00 2001 From: wangbowen6 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 --- 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