On Mon, 11 Jan 2021 10:18:28 -0500 "Michael S. Tsirkin" <m...@redhat.com> wrote:
> On Mon, Jan 11, 2021 at 10:11:23AM -0500, Eric Farman wrote: > > > > > > On 1/11/21 10:00 AM, Michael S. Tsirkin wrote: > > > On Mon, Jan 11, 2021 at 02:43:22PM +0100, Cornelia Huck wrote: > > > > On Mon, 11 Jan 2021 08:00:45 -0500 > > > > "Michael S. Tsirkin" <m...@redhat.com> wrote: > > > > > > > > > On Mon, Jan 11, 2021 at 01:54:04PM +0100, Cornelia Huck wrote: > > > > > > On Mon, 4 Jan 2021 21:20:56 +0100 > > > > > > Eric Farman <far...@linux.ibm.com> wrote: > > > > > > > Signed-off-by: Eric Farman <far...@linux.ibm.com> > > > > > > > --- > > > > > > > .../infiniband/hw/vmw_pvrdma/pvrdma_ring.h | 14 +- > > > > > > > .../infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 2 +- > > > > > > > include/standard-headers/drm/drm_fourcc.h | 175 > > > > > > > +++++++++++++++++- > > > > > > > include/standard-headers/linux/const.h | 36 ++++ > > > > > > > include/standard-headers/linux/ethtool.h | 2 +- > > > > > > > include/standard-headers/linux/fuse.h | 30 ++- > > > > > > > include/standard-headers/linux/kernel.h | 9 +- > > > > > > > include/standard-headers/linux/pci_regs.h | 16 ++ > > > > > > > include/standard-headers/linux/vhost_types.h | 9 + > > > > > > > include/standard-headers/linux/virtio_gpu.h | 82 ++++++++ > > > > > > > include/standard-headers/linux/virtio_ids.h | 44 +++-- > > > > > > > linux-headers/asm-arm64/kvm.h | 3 - > > > > > > > linux-headers/asm-generic/unistd.h | 6 +- > > > > > > > linux-headers/asm-mips/unistd_n32.h | 1 + > > > > > > > linux-headers/asm-mips/unistd_n64.h | 1 + > > > > > > > linux-headers/asm-mips/unistd_o32.h | 1 + > > > > > > > linux-headers/asm-powerpc/unistd_32.h | 1 + > > > > > > > linux-headers/asm-powerpc/unistd_64.h | 1 + > > > > > > > linux-headers/asm-s390/unistd_32.h | 1 + > > > > > > > linux-headers/asm-s390/unistd_64.h | 1 + > > > > > > > linux-headers/asm-x86/kvm.h | 1 + > > > > > > > linux-headers/asm-x86/unistd_32.h | 1 + > > > > > > > linux-headers/asm-x86/unistd_64.h | 1 + > > > > > > > linux-headers/asm-x86/unistd_x32.h | 1 + > > > > > > > linux-headers/linux/kvm.h | 56 +++++- > > > > > > > linux-headers/linux/userfaultfd.h | 9 + > > > > > > > linux-headers/linux/vfio.h | 1 + > > > > > > > linux-headers/linux/vhost.h | 4 + > > > > > > > 28 files changed, 461 insertions(+), 48 deletions(-) > > > > > > > create mode 100644 include/standard-headers/linux/const.h > > > > > > > > > > > > > > diff --git > > > > > > > a/include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrdma_ring.h > > > > > > > > > > > > > > b/include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrdma_ring.h > > > > > > > index 7b4062a1a1..acd4c8346d 100644 > > > > > > > --- > > > > > > > a/include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrdma_ring.h > > > > > > > +++ > > > > > > > b/include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrdma_ring.h > > > > > > > @@ -68,7 +68,7 @@ static inline int pvrdma_idx_valid(uint32_t > > > > > > > idx, uint32_t max_elems) > > > > > > > static inline int32_t pvrdma_idx(int *var, uint32_t max_elems) > > > > > > > { > > > > > > > - const unsigned int idx = qatomic_read(var); > > > > > > > + const unsigned int idx = atomic_read(var); > > > > > > > > > > > > Hm, what was the state of these qatomic* instances in this header? > > > > > > Is > > > > > > it ok to rename them, or do we need to do some munging in the import > > > > > > script? > > > > > > > > > > > > (Sorry, it's been a while.) > > > > > > > > > > > > > > > Yea looks like it was done manually last time: > > > > > > > > > > commit d73415a315471ac0b127ed3fad45c8ec5d711de1 > > > > > Author: Stefan Hajnoczi <stefa...@redhat.com> > > > > > Date: Wed Sep 23 11:56:46 2020 +0100 > > > > > > > > > > qemu/atomic.h: rename atomic_ to qatomic_ > > > > > > > > It seems that this hunk was dropped manually last time: > > > > > > > > commit 53ba2eee52bff5a746e96835539a1079f6bcadd1 > > > > Author: Matthew Rosato <mjros...@linux.ibm.com> > > > > Date: Mon Oct 26 11:34:30 2020 -0400 > > > > > > > > linux-headers: update against 5.10-rc1 > > > > commit 3650b228f83adda7e5ee532e2b90429c03f7b9ec > > > > Signed-off-by: Matthew Rosato <mjros...@linux.ibm.com> > > > > [aw: drop pvrdma_ring.h changes to avoid revert of d73415a31547 > > > > ("qemu/atomic.h: rename atomic_ to qatomic_")] > > > > Signed-off-by: Alex Williamson <alex.william...@redhat.com> > > > > > > > > I can do that as well, but I'm not sure that this is the best way > > > > forward. > > > > > > Probably as easy as the following: > > > > > > Signed-off-by: Michael S. Tsirkin <m...@redhat.com> > > > > > > > > > > > > diff --git a/scripts/update-linux-headers.sh > > > b/scripts/update-linux-headers.sh > > > index 9efbaf2f84..c1b4f468d3 100755 > > > --- a/scripts/update-linux-headers.sh > > > +++ b/scripts/update-linux-headers.sh > > > @@ -70,6 +70,8 @@ cp_portable() { > > > -e 's/__kernel_long_t/long/' \ > > > -e 's/__kernel_ulong_t/unsigned long/' \ > > > -e 's/struct ethhdr/struct eth_header/' \ > > > + -e 's/atomic_read/qatomic_read/' \ > > > + -e 's/atomic_set/qatomic_set/' \ > > > -e '/\#define _LINUX_ETHTOOL_H/a \\n\#include "net/eth.h"' \ > > > "$f" > "$to/$header"; > > > } > > > > > > > Possibly, but Paolo mentioned the problem in this space some months ago: > > > > """ > > > It looks like the changes in this file are going to get reverted the > > > next time someone does a linux header sync. > > > > Source code should not be at all imported from Linux. The hacks that > > accomodate pvrdma in update-linux-headers.sh (like s/atomic_t/u32/) > > really have no place there; the files in > > include/standard-headers/drivers/infiniband/hw/vmw_pvrdma should all be > > moved in hw/. I'm not sure about the other headers, but the contents in pvrdma_ring.h really do not look like an api to me. > > > > Paolo > > """ > > > > https://lore.kernel.org/qemu-devel/45ba3626-0e06-96c7-5ed8-ea561ae20...@redhat.com/ > > > > > Oh right. I think they really should be moved to UAPI in Linux. > Any takers? Maybe it's just this basically: > > Signed-off-by: Michael S. Tsirkin <m...@redhat.com> > > > diff --git a/drivers/infiniband/hw/vmw_pvrdma/pvrdma.h > b/drivers/infiniband/hw/vmw_pvrdma/pvrdma.h > index c142f5e7f25f..4a4834de9677 100644 > --- a/drivers/infiniband/hw/vmw_pvrdma/pvrdma.h > +++ b/drivers/infiniband/hw/vmw_pvrdma/pvrdma.h > @@ -57,9 +57,9 @@ > #include <rdma/ib_verbs.h> > #include <rdma/vmw_pvrdma-abi.h> > > -#include "pvrdma_ring.h" > +#include <linux/pvrdma_ring.h> > #include "pvrdma_dev_api.h" > -#include "pvrdma_verbs.h" > +#include <linux/pvrdma_verbs.h> > > /* NOT the same as BIT_MASK(). */ > #define PVRDMA_MASK(n) ((n << 1) - 1) > diff --git a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h > b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h > index 86a6c054ea26..d9a8ee79b9c0 100644 > --- a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h > +++ b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h > @@ -48,7 +48,7 @@ > > #include <linux/types.h> > > -#include "pvrdma_verbs.h" > +#include <linux/pvrdma_verbs.h> > > /* > * PVRDMA version macros. Some new features require updates to > PVRDMA_VERSION. > diff --git a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_ring.h > b/include/uapi/linux/pvrdma_ring.h > similarity index 100% > rename from drivers/infiniband/hw/vmw_pvrdma/pvrdma_ring.h > rename to include/uapi/linux/pvrdma_ring.h > diff --git a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h > b/include/uapi/linux/pvrdma_verbs.h > similarity index 100% > rename from drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h > rename to include/uapi/linux/pvrdma_verbs.h How api-like are these? The verbs look like something that might be, but the rest?