diff mbox

[rusty/virtio-pci-new-layout] virtio: new layout minor header fixups

Message ID 20130527155943.GA18246@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Michael S. Tsirkin May 27, 2013, 3:59 p.m. UTC
Fix issues observed with the new layout code, seen
when implementing device in qemu:
	- use of uXX in uapi header
	- incorrect readonly tag on one field
	- unconditional warning breaks builds with -Werr

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---

This patch is on top of rusty/virtio-pci-new-layout.

 include/uapi/linux/virtio_pci.h | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

Comments

Rusty Russell May 28, 2013, 1:29 a.m. UTC | #1
"Michael S. Tsirkin" <mst@redhat.com> writes:
> Fix issues observed with the new layout code, seen
> when implementing device in qemu:
> 	- use of uXX in uapi header
> 	- incorrect readonly tag on one field
> 	- unconditional warning breaks builds with -Werr
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

Hmm, this means if we ever *do* remove those defines, qemu will break.

But perhaps that's OK, because we'll probably remove legacy support at
the same time as we break the header.

Applied, thanks!
Rusty.

> This patch is on top of rusty/virtio-pci-new-layout.
>
>  include/uapi/linux/virtio_pci.h | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/include/uapi/linux/virtio_pci.h b/include/uapi/linux/virtio_pci.h
> index 3e61d55..cda688f 100644
> --- a/include/uapi/linux/virtio_pci.h
> +++ b/include/uapi/linux/virtio_pci.h
> @@ -86,8 +86,10 @@
>  #define VIRTIO_PCI_LEGACY_VRING_ALIGN		4096
>  
>  #ifndef VIRTIO_PCI_NO_LEGACY
> +#ifndef VIRTIO_PCI_LEGACY_COMPAT_NAMES
>  /* Don't break compile of old userspace code.  These will go away. */
>  #warning "Please support virtio_pci non-legacy mode!"
> +#endif
>  #define VIRTIO_PCI_HOST_FEATURES VIRTIO_PCI_LEGACY_HOST_FEATURES
>  #define VIRTIO_PCI_GUEST_FEATURES VIRTIO_PCI_LEGACY_GUEST_FEATURES
>  #define VIRTIO_PCI_QUEUE_PFN VIRTIO_PCI_LEGACY_QUEUE_PFN
> @@ -125,10 +127,10 @@
>  
>  /* This is the PCI capability header: */
>  struct virtio_pci_cap {
> -	u8 cap_vndr;	/* Generic PCI field: PCI_CAP_ID_VNDR */
> -	u8 cap_next;	/* Generic PCI field: next ptr. */
> -	u8 cfg_type;	/* One of the VIRTIO_PCI_CAP_*_CFG. */
> -	u8 bar;		/* Where to find it. */
> +	__u8 cap_vndr;	/* Generic PCI field: PCI_CAP_ID_VNDR */
> +	__u8 cap_next;	/* Generic PCI field: next ptr. */
> +	__u8 cfg_type;	/* One of the VIRTIO_PCI_CAP_*_CFG. */
> +	__u8 bar;		/* Where to find it. */
>  	__le32 offset;	/* Offset within bar. */
>  	__le32 length;	/* Length. */
>  };
> @@ -144,7 +146,7 @@ struct virtio_pci_common_cfg {
>  	__le32 device_feature_select;	/* read-write */
>  	__le32 device_feature;		/* read-only */
>  	__le32 guest_feature_select;	/* read-write */
> -	__le32 guest_feature;		/* read-only */
> +	__le32 guest_feature;		/* read-write */
>  	__le16 msix_config;		/* read-write */
>  	__le16 num_queues;		/* read-only */
>  	__u8 device_status;		/* read-write */
> -- 
> MST
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/include/uapi/linux/virtio_pci.h b/include/uapi/linux/virtio_pci.h
index 3e61d55..cda688f 100644
--- a/include/uapi/linux/virtio_pci.h
+++ b/include/uapi/linux/virtio_pci.h
@@ -86,8 +86,10 @@ 
 #define VIRTIO_PCI_LEGACY_VRING_ALIGN		4096
 
 #ifndef VIRTIO_PCI_NO_LEGACY
+#ifndef VIRTIO_PCI_LEGACY_COMPAT_NAMES
 /* Don't break compile of old userspace code.  These will go away. */
 #warning "Please support virtio_pci non-legacy mode!"
+#endif
 #define VIRTIO_PCI_HOST_FEATURES VIRTIO_PCI_LEGACY_HOST_FEATURES
 #define VIRTIO_PCI_GUEST_FEATURES VIRTIO_PCI_LEGACY_GUEST_FEATURES
 #define VIRTIO_PCI_QUEUE_PFN VIRTIO_PCI_LEGACY_QUEUE_PFN
@@ -125,10 +127,10 @@ 
 
 /* This is the PCI capability header: */
 struct virtio_pci_cap {
-	u8 cap_vndr;	/* Generic PCI field: PCI_CAP_ID_VNDR */
-	u8 cap_next;	/* Generic PCI field: next ptr. */
-	u8 cfg_type;	/* One of the VIRTIO_PCI_CAP_*_CFG. */
-	u8 bar;		/* Where to find it. */
+	__u8 cap_vndr;	/* Generic PCI field: PCI_CAP_ID_VNDR */
+	__u8 cap_next;	/* Generic PCI field: next ptr. */
+	__u8 cfg_type;	/* One of the VIRTIO_PCI_CAP_*_CFG. */
+	__u8 bar;		/* Where to find it. */
 	__le32 offset;	/* Offset within bar. */
 	__le32 length;	/* Length. */
 };
@@ -144,7 +146,7 @@  struct virtio_pci_common_cfg {
 	__le32 device_feature_select;	/* read-write */
 	__le32 device_feature;		/* read-only */
 	__le32 guest_feature_select;	/* read-write */
-	__le32 guest_feature;		/* read-only */
+	__le32 guest_feature;		/* read-write */
 	__le16 msix_config;		/* read-write */
 	__le16 num_queues;		/* read-only */
 	__u8 device_status;		/* read-write */