On Fri, Sep 12, 2014 at 12:44:56PM +0200, Gerd Hoffmann wrote:
> Hi,
>
> > > @@ -0,0 +1,158 @@
> > > +#ifndef VIRTGPU_HW_H
> > > +#define VIRTGPU_HW_H
> >
> > Non-trivial file, deserves a copyright and license notice.
>
> Added.
Pls remember to make it consistent with other virtio headers,
which are 3-clause BSD, prefixed with this reminder:
This header is BSD licensed so anyone can use the definitions to
implement compatible drivers/servers.
> > > +
> > > +enum virtgpu_ctrl_type {
> > > +VIRTGPU_UNDEFINED = 0,
> > > +
> > > +/* 2d commands */
> > > +VIRTGPU_CMD_GET_DISPLAY_INFO = 0x0100,
> >
> > Please consider also adding:
VIRTIO_GPU_ everywhere to make it consistent with other
virtio headers?
> >
> > #define VIRTGPU_CMD_GET_DISPLAY_INFO VIRTGPU_CMD_GET_DISPLAY_INFO
> >
> > and friends. It makes it MUCH nicer for application software to probe
> > for later extensions if every member of the enum is also associated with
> > a preprocessor macro.
>
> I don't think this will ever be shipped as library header for external
> users ...
>
> > > +struct virtgpu_ctrl_hdr {
> > > +uint32_t type;
> > > +uint32_t flags;
> > > +uint64_t fence_id;
> > > +uint32_t ctx_id;
> > > +uint32_t padding;
> > > +};
> > > +
> >
> > Is the padding to ensure that this is aligned regardless of 32-bit or
> > 64-bit hosts?
>
> Yes.
>
> > Is it worth adding a compile-time assertion about the
> > size of the struct to ensure the compiler doesn't add any additional
> > padding?
>
> Makes sense. What is the usual trick to do that?
>
> thanks,
> Gerd
BUILD_BUG_ON in linux, QEMU_BUILD_BUG_ON in QEMU.
You have to stick it in a C file though, so it
won't be visible in this patch.
--
MST
___
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization