All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: Dave Airlie <airlied@redhat.com>,
	virtualization@lists.linux-foundation.org,
	Eric Blake <eblake@redhat.com>,
	qemu-devel@nongnu.org, virtio-dev@lists.oasis-open.org
Subject: Re: [PATCH 1/2] virtio-gpu/2d: add hardware spec include file
Date: Sun, 14 Sep 2014 16:46:22 +0300	[thread overview]
Message-ID: <20140914134622.GB27315@redhat.com> (raw)
In-Reply-To: <1410518696.30411.9.camel@nilsson.home.kraxel.org>

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

WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: Dave Airlie <airlied@redhat.com>,
	virtualization@lists.linux-foundation.org, qemu-devel@nongnu.org,
	virtio-dev@lists.oasis-open.org
Subject: Re: [Qemu-devel] [PATCH 1/2] virtio-gpu/2d: add hardware spec include file
Date: Sun, 14 Sep 2014 16:46:22 +0300	[thread overview]
Message-ID: <20140914134622.GB27315@redhat.com> (raw)
In-Reply-To: <1410518696.30411.9.camel@nilsson.home.kraxel.org>

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

  parent reply	other threads:[~2014-09-14 13:46 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-11 15:09 [PATCH 0/2] virtio-gpu: hardware specification Gerd Hoffmann
2014-09-11 15:09 ` [Qemu-devel] " Gerd Hoffmann
2014-09-11 15:09 ` [PATCH 1/2] virtio-gpu/2d: add hardware spec include file Gerd Hoffmann
2014-09-11 15:09   ` [Qemu-devel] " Gerd Hoffmann
2014-09-11 15:15   ` Peter Maydell
2014-09-11 15:40     ` Gerd Hoffmann
2014-09-11 15:15   ` Peter Maydell
2014-09-11 15:19   ` Eric Blake
2014-09-11 15:19   ` Eric Blake
2014-09-12 10:44     ` Gerd Hoffmann
2014-09-12 12:48       ` Eric Blake
2014-09-12 12:48         ` Eric Blake
2014-09-12 12:51         ` Eric Blake
2014-09-12 12:51           ` Eric Blake
2014-09-12 13:03         ` Peter Maydell
2014-09-12 13:03           ` Peter Maydell
2014-09-14 13:46       ` Michael S. Tsirkin [this message]
2014-09-14 13:46         ` Michael S. Tsirkin
2014-09-14 14:04         ` Peter Maydell
2014-09-14 14:04           ` Peter Maydell
2014-09-14 14:11           ` Michael S. Tsirkin
2014-09-14 14:11             ` Michael S. Tsirkin
2014-09-14 14:32             ` Peter Maydell
2014-09-14 14:32               ` Peter Maydell
2014-09-14 15:09               ` Michael S. Tsirkin
2014-09-14 15:09                 ` Michael S. Tsirkin
2014-09-14 16:11                 ` Peter Maydell
2014-09-14 16:11                   ` Peter Maydell
2014-09-14 16:31                   ` Michael S. Tsirkin
2014-09-14 16:31                     ` Michael S. Tsirkin
2014-09-15 10:36               ` Gerd Hoffmann
2014-09-15 10:40         ` Gerd Hoffmann
2014-09-15 10:40           ` [Qemu-devel] " Gerd Hoffmann
2014-09-15 10:55           ` Michael S. Tsirkin
2014-09-15 10:55             ` [Qemu-devel] " Michael S. Tsirkin
2014-09-11 15:20   ` Peter Maydell
2014-09-11 15:43     ` Gerd Hoffmann
2014-09-11 15:53       ` Christopher Covington
2014-09-11 18:58       ` [virtio-dev] " Paolo Bonzini
2014-09-11 18:58         ` [Qemu-devel] [virtio-dev] " Paolo Bonzini
2014-09-11 15:09 ` [PATCH 2/2] virtio-gpu/2d: add docs/specs/virtio-gpu.txt Gerd Hoffmann
2014-09-11 15:09   ` [Qemu-devel] " Gerd Hoffmann
2014-09-11 15:30   ` Eric Blake
2014-09-12 11:08     ` Gerd Hoffmann
2014-09-11 15:30   ` Eric Blake
2014-09-12  9:10   ` [virtio-dev] " Stefan Hajnoczi
2014-09-12  9:10     ` [Qemu-devel] " Stefan Hajnoczi
2014-09-12 11:38     ` Gerd Hoffmann
2014-09-12 11:38       ` [Qemu-devel] " Gerd Hoffmann
2014-09-12 21:14       ` Dave Airlie
2014-09-12 21:14       ` [Qemu-devel] " Dave Airlie
2014-09-15 10:14         ` Gerd Hoffmann
2014-09-15 10:14           ` [Qemu-devel] " Gerd Hoffmann
2014-09-14  9:16   ` Michael S. Tsirkin
2014-09-14  9:16     ` [Qemu-devel] " Michael S. Tsirkin
2014-09-14 11:05     ` [virtio-dev] " Dave Airlie
2014-09-14 11:05       ` [Qemu-devel] " Dave Airlie
2014-09-12 21:18 ` [virtio-dev] [PATCH 0/2] virtio-gpu: hardware specification Dave Airlie
2014-09-12 21:18   ` [Qemu-devel] " Dave Airlie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140914134622.GB27315@redhat.com \
    --to=mst@redhat.com \
    --cc=airlied@redhat.com \
    --cc=eblake@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=virtio-dev@lists.oasis-open.org \
    --cc=virtualization@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.