qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 2/3] Update linux headers to 5.11-rc2


From: Michael S. Tsirkin
Subject: Re: [PATCH v3 2/3] Update linux headers to 5.11-rc2
Date: Mon, 11 Jan 2021 10:18:28 -0500

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" <mst@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 <farman@linux.ibm.com> wrote:
> > > > > > Signed-off-by: Eric Farman <farman@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 <stefanha@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 <mjrosato@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 <mjrosato@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.williamson@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 <mst@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/.
> 
> Paolo
> """
> 
> https://lore.kernel.org/qemu-devel/45ba3626-0e06-96c7-5ed8-ea561ae20f15@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 <mst@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
-- 
MST




reply via email to

[Prev in Thread] Current Thread [Next in Thread]