lkml.org 
[lkml]   [2021]   [Sep]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.13 082/113] tools/virtio: fix build
    Date
    From: Michael S. Tsirkin <mst@redhat.com>

    [ Upstream commit a24ce06c70fe7df795a846ad713ccaa9b56a7666 ]

    We use a spinlock now so add a stub.
    Ignore bogus uninitialized variable warnings.

    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    tools/virtio/Makefile | 3 +-
    tools/virtio/linux/spinlock.h | 56 +++++++++++++++++++++++++++++++++++
    tools/virtio/linux/virtio.h | 2 ++
    3 files changed, 60 insertions(+), 1 deletion(-)
    create mode 100644 tools/virtio/linux/spinlock.h

    diff --git a/tools/virtio/Makefile b/tools/virtio/Makefile
    index b587b9a7a124..0d7bbe49359d 100644
    --- a/tools/virtio/Makefile
    +++ b/tools/virtio/Makefile
    @@ -4,7 +4,8 @@ test: virtio_test vringh_test
    virtio_test: virtio_ring.o virtio_test.o
    vringh_test: vringh_test.o vringh.o virtio_ring.o

    -CFLAGS += -g -O2 -Werror -Wall -I. -I../include/ -I ../../usr/include/ -Wno-pointer-sign -fno-strict-overflow -fno-strict-aliasing -fno-common -MMD -U_FORTIFY_SOURCE -include ../../include/linux/kconfig.h
    +CFLAGS += -g -O2 -Werror -Wno-maybe-uninitialized -Wall -I. -I../include/ -I ../../usr/include/ -Wno-pointer-sign -fno-strict-overflow -fno-strict-aliasing -fno-common -MMD -U_FORTIFY_SOURCE -include ../../include/linux/kconfig.h
    +LDFLAGS += -lpthread
    vpath %.c ../../drivers/virtio ../../drivers/vhost
    mod:
    ${MAKE} -C `pwd`/../.. M=`pwd`/vhost_test V=${V}
    diff --git a/tools/virtio/linux/spinlock.h b/tools/virtio/linux/spinlock.h
    new file mode 100644
    index 000000000000..028e3cdcc5d3
    --- /dev/null
    +++ b/tools/virtio/linux/spinlock.h
    @@ -0,0 +1,56 @@
    +#ifndef SPINLOCK_H_STUB
    +#define SPINLOCK_H_STUB
    +
    +#include <pthread.h>
    +
    +typedef pthread_spinlock_t spinlock_t;
    +
    +static inline void spin_lock_init(spinlock_t *lock)
    +{
    + int r = pthread_spin_init(lock, 0);
    + assert(!r);
    +}
    +
    +static inline void spin_lock(spinlock_t *lock)
    +{
    + int ret = pthread_spin_lock(lock);
    + assert(!ret);
    +}
    +
    +static inline void spin_unlock(spinlock_t *lock)
    +{
    + int ret = pthread_spin_unlock(lock);
    + assert(!ret);
    +}
    +
    +static inline void spin_lock_bh(spinlock_t *lock)
    +{
    + spin_lock(lock);
    +}
    +
    +static inline void spin_unlock_bh(spinlock_t *lock)
    +{
    + spin_unlock(lock);
    +}
    +
    +static inline void spin_lock_irq(spinlock_t *lock)
    +{
    + spin_lock(lock);
    +}
    +
    +static inline void spin_unlock_irq(spinlock_t *lock)
    +{
    + spin_unlock(lock);
    +}
    +
    +static inline void spin_lock_irqsave(spinlock_t *lock, unsigned long f)
    +{
    + spin_lock(lock);
    +}
    +
    +static inline void spin_unlock_irqrestore(spinlock_t *lock, unsigned long f)
    +{
    + spin_unlock(lock);
    +}
    +
    +#endif
    diff --git a/tools/virtio/linux/virtio.h b/tools/virtio/linux/virtio.h
    index 5d90254ddae4..363b98228301 100644
    --- a/tools/virtio/linux/virtio.h
    +++ b/tools/virtio/linux/virtio.h
    @@ -3,6 +3,7 @@
    #define LINUX_VIRTIO_H
    #include <linux/scatterlist.h>
    #include <linux/kernel.h>
    +#include <linux/spinlock.h>

    struct device {
    void *parent;
    @@ -12,6 +13,7 @@ struct virtio_device {
    struct device dev;
    u64 features;
    struct list_head vqs;
    + spinlock_t vqs_list_lock;
    };

    struct virtqueue {
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-09-01 14:53    [W:4.188 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site