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?


Reply via email to