[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [RFC QEMU PATCH 01/18] virtio: Add shared memory capability
On 12/3/23 10:22, Huang Rui wrote: From: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Define a new capability type 'VIRTIO_PCI_CAP_SHARED_MEMORY_CFG' to allow defining shared memory regions with sizes and offsets of 2^32 and more. Multiple instances of the capability are allowed and distinguished by a device-specific 'id'. Signed-off-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx> Signed-off-by: Antonio Caggiano <antonio.caggiano@xxxxxxxxxxxxx> --- hw/virtio/virtio-pci.c | 18 ++++++++++++++++++ include/hw/virtio/virtio-pci.h | 4 ++++ 2 files changed, 22 insertions(+) diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c index a1c9dfa7bb..ae4c29cb96 100644 --- a/hw/virtio/virtio-pci.c +++ b/hw/virtio/virtio-pci.c @@ -1191,6 +1191,24 @@ static int virtio_pci_add_mem_cap(VirtIOPCIProxy *proxy, return offset; }+int virtio_pci_add_shm_cap(VirtIOPCIProxy *proxy,+ uint8_t bar, uint64_t offset, uint64_t length, + uint8_t id) +{ + struct virtio_pci_cap64 cap = { + .cap.cap_len = sizeof cap, + .cap.cfg_type = VIRTIO_PCI_CAP_SHARED_MEMORY_CFG, + }; + + cap.cap.bar = bar; + cap.cap.length = cpu_to_le32(length); + cap.length_hi = cpu_to_le32(length >> 32); + cap.cap.offset = cpu_to_le32(offset); + cap.offset_hi = cpu_to_le32(offset >> 32); + cap.cap.id = id; Why initializing 'cap' using 2 different coding styles? + return virtio_pci_add_mem_cap(proxy, &cap.cap); +}
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |