On Tue, Dec 20, 2022 at 03:51:13PM +0100, Marcel Holtmann wrote:
> Hi,
>
> what is the correct way for a VIRTIO_F_VERSION_1 modern device to specify the
> virtio_foo_config structure. Should I make it __attribute__((packed))? What
> field
> types should be used. Everything __virtio{16,32} or better __le{16,32}? Can we
> have __u8 and do they have to 16-bit or 32-bit aligned.
>
> When looking at the various examples, I see multiple combinations. What is the
> prefered virtio_cread accessor method to be used. For example the
> virtio_cread_le
> states something like “modern” in his comment. So the preference is to specify
> the virtio_foo_config in little-endian?
>
> Any insights are appreciated.
>
> Regards
>
> Marcel
__leXX and __u8 and things have to be size aligned (so no alignment
requirements for u8 arrays). Add explicit padding as necessary.
__attribute__((packed)) should be generally avoided.
For config access virtio_cread_le/virtio_cwrite_le are preferred.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]