> From: Xuan Zhuo <[email protected]>
> Sent: Thursday, August 3, 2023 4:36 PM
>
> OK.
>
>
> >
> > > + u8 mac[6];
> > > + le16 status;
> > > + le16 max_virtqueue_pairs;
> > > + le16 mtu;
> > > + le32 speed;
> > > + u8 duplex;
> >
> > We should above split constant config space fields and below run time fields
> meant for debug purpose.
> > We are working on the member device migration proposal and below fields
> belong to "device context" should be available through such separate command.
> > But if you do it before, please cover the whole device state and we will be
> able to reuse for multiple use-cases.
>
>
> I am not sure I got fully.
>
> I will try.
Something like below.
struct virtio_field {
le32 type; /* contains the value of enum virtio_dev_field_type */
le32 size; /* size of the data field in bytes */
u8 data[];
};
enum virtio_dev_field_type {
VIRTIO_DEV_PCI_COMMON_CFG, /* struct virtio_dev_common_cfg */
VIRTIO_DEV_CFG_SPACE, /* config space fields, for net struct
virtio_net_config etc */
VIRTIO_DEV_QUEUE_CFG, /* struct virtio_dev_q_cfg */
};
In your use case, it is VIRTIO_DEV_CFG_SPACE, just blob of data bytes.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]