[PATCH v5 00/12] virtio: alignment issues

From: Michael S. Tsirkin
Date: Mon Apr 06 2020 - 17:35:04 EST


This is an alternative to
vhost: force spec specified alignment on types
which is a bit safer as it does not change UAPI.
I still think it's best to change the UAPI header as well,
we can do that as a follow-up cleanup.

changes from v4:
fixup to issues reported by kbuild
changes from v3:
tools/virtio fixes
a bunch more cleanups that now become possible

Changes from v2:
don't change struct name, instead add ifndef
so kernel does not see the legacy UAPI version.

Jason, can you pls ack one of the approaches?


Matej Genci (1):
virtio: add VIRTIO_RING_NO_LEGACY

Michael S. Tsirkin (11):
tools/virtio: define aligned attribute
tools/virtio: make asm/barrier.h self contained
tools/virtio: define __KERNEL__
virtio: stop using legacy struct vring in kernel
vhost: force spec specified alignment on types
virtio: add legacy init/size APIs
virtio_ring: switch to virtio_legacy_init/size
tools/virtio: switch to virtio_legacy_init/size
vop: switch to virtio_legacy_init/size
remoteproc: switch to virtio_legacy_init/size
mellanox: switch to virtio_legacy_init/size

drivers/block/virtio_blk.c | 1 +
drivers/misc/mic/vop/vop_main.c | 5 +--
drivers/misc/mic/vop/vop_vringh.c | 8 +++--
drivers/platform/mellanox/mlxbf-tmfifo.c | 6 ++--
drivers/remoteproc/remoteproc_core.c | 2 +-
drivers/vhost/vhost.h | 6 ++--
drivers/virtio/virtio_pci_modern.c | 1 +
drivers/virtio/virtio_ring.c | 15 ++++----
include/linux/virtio.h | 1 -
include/linux/virtio_ring.h | 46 ++++++++++++++++++++++++
include/linux/vringh.h | 1 +
include/uapi/linux/virtio_ring.h | 30 ++++++++++------
tools/virtio/Makefile | 2 +-
tools/virtio/asm/barrier.h | 1 +
tools/virtio/linux/compiler.h | 1 +
tools/virtio/ringtest/virtio_ring_0_9.c | 6 ++--
tools/virtio/virtio_test.c | 6 ++--
tools/virtio/vringh_test.c | 18 +++++-----
18 files changed, 111 insertions(+), 45 deletions(-)

--
MST