Messages in this thread | | | Date | Tue, 5 Apr 2022 07:59:00 -0400 | From | "Michael S. Tsirkin" <> | Subject | Re: [PATCH 8/8] virtio_ring.h: do not include <stdint.h> from exported header |
| |
On Mon, Apr 04, 2022 at 12:44:30AM -0700, Christoph Hellwig wrote: > On Mon, Apr 04, 2022 at 03:19:48PM +0900, Masahiro Yamada wrote: > > vr->num = num; > > vr->desc = p; > > vr->avail = (struct vring_avail *)((char *)p + num * sizeof(struct vring_desc)); > > - vr->used = (void *)(((uintptr_t)&vr->avail->ring[num] + sizeof(__virtio16) > > + vr->used = (void *)(((__kernel_uintptr_t)&vr->avail->ring[num] + sizeof(__virtio16) > > + align-1) & ~(align - 1)); > > This really does not look like it should be in a uapi header to start > with.
It's a way to document a complex structure layout of virtio 0.9. It's ugly but it's been like this for years. For virtio 1.0 we moved away from this but a bunch of tools keep using legacy.
-- MST
| |