Skip to content

Commit

Permalink
tools/virtio: fix build
Browse files Browse the repository at this point in the history
[ Upstream commit a24ce06 ]

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>
  • Loading branch information
mstsirkin authored and gregkh committed Sep 3, 2021
1 parent 2aef43a commit 0eeee5f
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 1 deletion.
3 changes: 2 additions & 1 deletion tools/virtio/Makefile
Expand Up @@ -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}
Expand Down
56 changes: 56 additions & 0 deletions 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
2 changes: 2 additions & 0 deletions tools/virtio/linux/virtio.h
Expand Up @@ -3,6 +3,7 @@
#define LINUX_VIRTIO_H
#include <linux/scatterlist.h>
#include <linux/kernel.h>
#include <linux/spinlock.h>

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

struct virtqueue {
Expand Down

0 comments on commit 0eeee5f

Please sign in to comment.