Thread (20 messages) 20 messages, 3 authors, 2011-12-01

Re: [PATCHv3 RFC] virtio-pci: flexible configuration layout

From: Sasha Levin <hidden>
Date: 2011-11-23 09:40:55
Also in: kvm, lkml

On Wed, 2011-11-23 at 10:49 +0200, Michael S. Tsirkin wrote:
On Wed, Nov 23, 2011 at 01:02:22PM +1030, Rusty Russell wrote:
quoted
+/* Fields in VIRTIO_PCI_CAP_COMMON_CFG: */
+struct virtio_pci_common_cfg {
+	/* About the whole device. */
+	__u64 device_features;	/* read-only */
+	__u64 guest_features;	/* read-write */
We currently require atomic accesses to common fields.
Some architectures might not have such for 64 bit,
so these need to be split I think ...
We can consider stealing the feature implementation from virtio-mmio:
Use the first 32 bits as a selector and the last as the features
themselves.

It's more complex to work with, but it provides 2**32 32 feature bits
(which should be enough for a while) and it solves the atomic access
issue.
quoted
+	__u64 queue_address;	/* read-write */
+	__u16 msix_config;	/* read-write */
+	__u8 device_status;	/* read-write */
+	__u8 unused;
+
+	/* About a specific virtqueue. */
+	__u16 queue_select;	/* read-write */
+	__u16 queue_align;	/* read-write, power of 2. */
+	__u16 queue_size;	/* read-write, power of 2. */
+	__u16 queue_msix_vector;/* read-write */
+};
 #endif
-- 

Sasha.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help