virtio_pci: move structure to a header
These are guest/host interfaces, so they belong in the header where e.g. qemu will know to find them. Note: we added a new structure as opposed to extending existing one because someone might be relying on the size of the existing structure staying unchanged. Add a warning to avoid using sizeof. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
This commit is contained in:
parent
86f6c224c9
commit
3503895788
@ -294,9 +294,10 @@ int vp_modern_probe(struct virtio_pci_modern_device *mdev)
|
|||||||
|
|
||||||
err = -EINVAL;
|
err = -EINVAL;
|
||||||
mdev->common = vp_modern_map_capability(mdev, common,
|
mdev->common = vp_modern_map_capability(mdev, common,
|
||||||
sizeof(struct virtio_pci_common_cfg), 4,
|
sizeof(struct virtio_pci_common_cfg), 4, 0,
|
||||||
0, sizeof(struct virtio_pci_modern_common_cfg),
|
offsetofend(struct virtio_pci_modern_common_cfg,
|
||||||
&mdev->common_len, NULL);
|
queue_reset),
|
||||||
|
&mdev->common_len, NULL);
|
||||||
if (!mdev->common)
|
if (!mdev->common)
|
||||||
goto err_map_common;
|
goto err_map_common;
|
||||||
mdev->isr = vp_modern_map_capability(mdev, isr, sizeof(u8), 1,
|
mdev->isr = vp_modern_map_capability(mdev, isr, sizeof(u8), 1,
|
||||||
|
@ -5,13 +5,6 @@
|
|||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include <linux/virtio_pci.h>
|
#include <linux/virtio_pci.h>
|
||||||
|
|
||||||
struct virtio_pci_modern_common_cfg {
|
|
||||||
struct virtio_pci_common_cfg cfg;
|
|
||||||
|
|
||||||
__le16 queue_notify_data; /* read-write */
|
|
||||||
__le16 queue_reset; /* read-write */
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct virtio_pci_modern_device - info for modern PCI virtio
|
* struct virtio_pci_modern_device - info for modern PCI virtio
|
||||||
* @pci_dev: Ptr to the PCI device struct
|
* @pci_dev: Ptr to the PCI device struct
|
||||||
|
@ -166,6 +166,17 @@ struct virtio_pci_common_cfg {
|
|||||||
__le32 queue_used_hi; /* read-write */
|
__le32 queue_used_hi; /* read-write */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Warning: do not use sizeof on this: use offsetofend for
|
||||||
|
* specific fields you need.
|
||||||
|
*/
|
||||||
|
struct virtio_pci_modern_common_cfg {
|
||||||
|
struct virtio_pci_common_cfg cfg;
|
||||||
|
|
||||||
|
__le16 queue_notify_data; /* read-write */
|
||||||
|
__le16 queue_reset; /* read-write */
|
||||||
|
};
|
||||||
|
|
||||||
/* Fields in VIRTIO_PCI_CAP_PCI_CFG: */
|
/* Fields in VIRTIO_PCI_CAP_PCI_CFG: */
|
||||||
struct virtio_pci_cfg_cap {
|
struct virtio_pci_cfg_cap {
|
||||||
struct virtio_pci_cap cap;
|
struct virtio_pci_cap cap;
|
||||||
|
Loading…
Reference in New Issue
Block a user