Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

tools/virtio: fix build

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

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

+60 -1
+2 -1
tools/virtio/Makefile
··· 4 4 virtio_test: virtio_ring.o virtio_test.o 5 5 vringh_test: vringh_test.o vringh.o virtio_ring.o 6 6 7 - 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 7 + 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 8 + LDFLAGS += -lpthread 8 9 vpath %.c ../../drivers/virtio ../../drivers/vhost 9 10 mod: 10 11 ${MAKE} -C `pwd`/../.. M=`pwd`/vhost_test V=${V}
+56
tools/virtio/linux/spinlock.h
··· 1 + #ifndef SPINLOCK_H_STUB 2 + #define SPINLOCK_H_STUB 3 + 4 + #include <pthread.h> 5 + 6 + typedef pthread_spinlock_t spinlock_t; 7 + 8 + static inline void spin_lock_init(spinlock_t *lock) 9 + { 10 + int r = pthread_spin_init(lock, 0); 11 + assert(!r); 12 + } 13 + 14 + static inline void spin_lock(spinlock_t *lock) 15 + { 16 + int ret = pthread_spin_lock(lock); 17 + assert(!ret); 18 + } 19 + 20 + static inline void spin_unlock(spinlock_t *lock) 21 + { 22 + int ret = pthread_spin_unlock(lock); 23 + assert(!ret); 24 + } 25 + 26 + static inline void spin_lock_bh(spinlock_t *lock) 27 + { 28 + spin_lock(lock); 29 + } 30 + 31 + static inline void spin_unlock_bh(spinlock_t *lock) 32 + { 33 + spin_unlock(lock); 34 + } 35 + 36 + static inline void spin_lock_irq(spinlock_t *lock) 37 + { 38 + spin_lock(lock); 39 + } 40 + 41 + static inline void spin_unlock_irq(spinlock_t *lock) 42 + { 43 + spin_unlock(lock); 44 + } 45 + 46 + static inline void spin_lock_irqsave(spinlock_t *lock, unsigned long f) 47 + { 48 + spin_lock(lock); 49 + } 50 + 51 + static inline void spin_unlock_irqrestore(spinlock_t *lock, unsigned long f) 52 + { 53 + spin_unlock(lock); 54 + } 55 + 56 + #endif
+2
tools/virtio/linux/virtio.h
··· 3 3 #define LINUX_VIRTIO_H 4 4 #include <linux/scatterlist.h> 5 5 #include <linux/kernel.h> 6 + #include <linux/spinlock.h> 6 7 7 8 struct device { 8 9 void *parent; ··· 13 12 struct device dev; 14 13 u64 features; 15 14 struct list_head vqs; 15 + spinlock_t vqs_list_lock; 16 16 }; 17 17 18 18 struct virtqueue {