Skip to content

Commit

Permalink
vringh: host-side implementation of virtio rings.
Browse files Browse the repository at this point in the history
Getting use of virtio rings correct is tricky, and a recent patch saw
an implementation of in-kernel rings (as separate from userspace).

This abstracts the business of dealing with the virtio ring layout
from the access (userspace or direct); to do this, we use function
pointers, which gcc inlines correctly.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
  • Loading branch information
rustyrussell committed Mar 20, 2013
1 parent 61d0b5a commit f87d0fb
Show file tree
Hide file tree
Showing 6 changed files with 1,215 additions and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ obj-$(CONFIG_PPC_PS3) += ps3/
obj-$(CONFIG_OF) += of/
obj-$(CONFIG_SSB) += ssb/
obj-$(CONFIG_BCMA) += bcma/
obj-$(CONFIG_VHOST_NET) += vhost/
obj-$(CONFIG_VHOST_RING) += vhost/
obj-$(CONFIG_VLYNQ) += vlynq/
obj-$(CONFIG_STAGING) += staging/
obj-y += platform/
Expand Down
8 changes: 8 additions & 0 deletions drivers/vhost/Kconfig
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
config VHOST_NET
tristate "Host kernel accelerator for virtio net"
depends on NET && EVENTFD && (TUN || !TUN) && (MACVTAP || !MACVTAP)
select VHOST_RING
---help---
This kernel module can be loaded in host kernel to accelerate
guest networking with virtio_net. Not to be confused with virtio_net
Expand All @@ -12,3 +13,10 @@ config VHOST_NET
if STAGING
source "drivers/vhost/Kconfig.tcm"
endif

config VHOST_RING
tristate
---help---
This option is selected by any driver which needs to access
the host side of a virtio ring.

1 change: 1 addition & 0 deletions drivers/vhost/Kconfig.tcm
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
config TCM_VHOST
tristate "TCM_VHOST fabric module"
depends on TARGET_CORE && EVENTFD && m
select VHOST_RING
default n
---help---
Say M here to enable the TCM_VHOST fabric module for use with virtio-scsi guests
2 changes: 2 additions & 0 deletions drivers/vhost/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@ obj-$(CONFIG_VHOST_NET) += vhost_net.o
vhost_net-y := vhost.o net.o

obj-$(CONFIG_TCM_VHOST) += tcm_vhost.o

obj-$(CONFIG_VHOST_RING) += vringh.o

0 comments on commit f87d0fb

Please sign in to comment.