From: Linus Torvalds Date: Thu, 2 May 2013 21:14:04 +0000 (-0700) Subject: Merge tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git... X-Git-Tag: v3.10-rc1~118 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=736a2dd2571ac56b11ed95a7814d838d5311be04;p=platform%2Fkernel%2Flinux-exynos.git Merge tag 'virtio-next-for-linus' of git://git./linux/kernel/git/rusty/linux Pull virtio & lguest updates from Rusty Russell: "Lots of virtio work which wasn't quite ready for last merge window. Plus I dived into lguest again, reworking the pagetable code so we can move the switcher page: our fixmaps sometimes take more than 2MB now..." Ugh. Annoying conflicts with the tcm_vhost -> vhost_scsi rename. Hopefully correctly resolved. * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (57 commits) caif_virtio: Remove bouncing email addresses lguest: improve code readability in lg_cpu_start. virtio-net: fill only rx queues which are being used lguest: map Switcher below fixmap. lguest: cache last cpu we ran on. lguest: map Switcher text whenever we allocate a new pagetable. lguest: don't share Switcher PTE pages between guests. lguest: expost switcher_pages array (as lg_switcher_pages). lguest: extract shadow PTE walking / allocating. lguest: make check_gpte et. al return bool. lguest: assume Switcher text is a single page. lguest: rename switcher_page to switcher_pages. lguest: remove RESERVE_MEM constant. lguest: check vaddr not pgd for Switcher protection. lguest: prepare to make SWITCHER_ADDR a variable. virtio: console: replace EMFILE with EBUSY for already-open port virtio-scsi: reset virtqueue affinity when doing cpu hotplug virtio-scsi: introduce multiqueue support virtio-scsi: push vq lock/unlock into virtscsi_vq_done virtio-scsi: pass struct virtio_scsi to virtqueue completion function ... --- 736a2dd2571ac56b11ed95a7814d838d5311be04 diff --cc drivers/char/virtio_console.c index ce5f3fc,5ee7765..1b456fe --- a/drivers/char/virtio_console.c +++ b/drivers/char/virtio_console.c @@@ -570,9 -569,7 +570,9 @@@ static ssize_t __send_control_msg(struc vq = portdev->c_ovq; sg_init_one(sg, &cpkt, sizeof(cpkt)); + + spin_lock(&portdev->c_ovq_lock); - if (virtqueue_add_buf(vq, sg, 1, 0, &cpkt, GFP_ATOMIC) == 0) { + if (virtqueue_add_outbuf(vq, sg, 1, &cpkt, GFP_ATOMIC) == 0) { virtqueue_kick(vq); while (!virtqueue_get_buf(vq, &len)) cpu_relax(); diff --cc drivers/net/caif/Makefile index 15a9d2fc7,d9ee26a..9bbd453 --- a/drivers/net/caif/Makefile +++ b/drivers/net/caif/Makefile @@@ -7,5 -7,12 +7,8 @@@ obj-$(CONFIG_CAIF_TTY) += caif_serial. cfspi_slave-objs := caif_spi.o caif_spi_slave.o obj-$(CONFIG_CAIF_SPI_SLAVE) += cfspi_slave.o -# Shared memory -caif_shm-objs := caif_shmcore.o caif_shm_u5500.o -obj-$(CONFIG_CAIF_SHM) += caif_shm.o - # HSI interface obj-$(CONFIG_CAIF_HSI) += caif_hsi.o + + # Virtio interface + obj-$(CONFIG_CAIF_VIRTIO) += caif_virtio.o diff --cc drivers/vhost/Kconfig index 26a64e5,85b773a..8b9226d --- a/drivers/vhost/Kconfig +++ b/drivers/vhost/Kconfig @@@ -9,10 -10,13 +10,17 @@@ config VHOST_NE To compile this driver as a module, choose M here: the module will be called vhost_net. -if STAGING -source "drivers/vhost/Kconfig.tcm" -endif +config VHOST_SCSI + tristate "VHOST_SCSI TCM fabric driver" + depends on TARGET_CORE && EVENTFD && m ++ select VHOST_RING + default n + ---help--- + Say M here to enable the vhost_scsi TCM fabric module + for use with virtio-scsi guests + + config VHOST_RING + tristate + ---help--- + This option is selected by any driver which needs to access + the host side of a virtio ring. - diff --cc drivers/vhost/Makefile index ef21d5f,1d37f5e..654e9afb --- a/drivers/vhost/Makefile +++ b/drivers/vhost/Makefile @@@ -1,5 -1,6 +1,7 @@@ obj-$(CONFIG_VHOST_NET) += vhost_net.o vhost_net-y := vhost.o net.o -obj-$(CONFIG_TCM_VHOST) += tcm_vhost.o +obj-$(CONFIG_VHOST_SCSI) += vhost_scsi.o +vhost_scsi-y := scsi.o + + obj-$(CONFIG_VHOST_RING) += vringh.o