On 10 September 2015 at 11:32, Dave Airlie <airlied@xxxxxxxxx> wrote: >> > --- /dev/null >> > +++ b/include/uapi/drm/virtgpu_drm.h >> > @@ -0,0 +1,163 @@ >> >> > + >> > +struct drm_virtgpu_3d_box { >> > + uint32_t x, y, z; >> > + uint32_t w, h, d; >> > +}; >> > + >> There was a similar case (multiple variables declared on a single >> line) in drm core that caused confusion and we broke the 32bit compat. >> I thought I mention it - not advocating for/against the above declaration. > > > probably should put some newlines alright, > >> > >> > +struct drm_virtgpu_3d_transfer_to_host { >> > + uint32_t bo_handle; >> > + struct drm_virtgpu_3d_box box; >> > + uint32_t level; >> > + uint32_t offset; >> > +}; >> > + >> > +struct drm_virtgpu_3d_transfer_from_host { >> > + uint32_t bo_handle; >> > + struct drm_virtgpu_3d_box box; >> > + uint32_t level; >> > + uint32_t offset; >> > +}; >> > + >> Afaics these seems to be used by the ioctls. If so the current >> declarations are not 32bit compat safe. Things will also go badly if >> you consider expanding struct drm_virtgpu_3d_box in the distant >> future. A u32 pad after bo_handle and a 'pointer' to struct > > I'm curious what you think we can add to a 3d box. > None from the top of my head I'm afraid. But I'm wondering if one cannot keep things flexible considering the cost/downside of the approach is minimal. > So this one is fine, no need to align it either I don't think, though I > should confirm that. > > Maybe for safety we can pull the other uint32_t above the box. > pahole did complain on my system, but please do - was low on caffeine so I could have botched something. Regards Emil _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization