On Mon, Mar 22, 2010 at 03:58:58PM -0500, Anthony Liguori wrote: > On 03/17/2010 06:08 AM, Michael S. Tsirkin wrote: >> This adds vhost net device support in qemu. Will be tied to tap device >> and virtio by following patches. Raw backend is currently missing, >> will be worked on/submitted separately. >> >> Signed-off-by: Michael S. Tsirkin<m...@redhat.com> >> --- >> Makefile.target | 2 + >> configure | 37 +++ >> hw/vhost.c | 711 >> +++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> hw/vhost.h | 48 ++++ >> hw/vhost_net.c | 195 +++++++++++++++ >> hw/vhost_net.h | 19 ++ >> 6 files changed, 1012 insertions(+), 0 deletions(-) >> create mode 100644 hw/vhost.c >> create mode 100644 hw/vhost.h >> create mode 100644 hw/vhost_net.c >> create mode 100644 hw/vhost_net.h >> >> diff --git a/Makefile.target b/Makefile.target >> index 004a703..ea5207c 100644 >> --- a/Makefile.target >> +++ b/Makefile.target >> @@ -176,6 +176,8 @@ obj-y = vl.o async.o monitor.o pci.o pci_host.o >> pcie_host.o machine.o gdbstub.o >> # need to fix this properly >> obj-y += virtio-blk.o virtio-balloon.o virtio-net.o virtio-pci.o >> virtio-serial-bus.o >> obj-y += event_notifier.o >> +obj-y += vhost_net.o >> +obj-$(CONFIG_VHOST_NET) += vhost.o >> obj-y += rwhandler.o >> obj-$(CONFIG_KVM) += kvm.o kvm-all.o >> obj-$(CONFIG_ISA_MMIO) += isa_mmio.o >> diff --git a/configure b/configure >> index d728799..93015e3 100755 >> --- a/configure >> +++ b/configure >> @@ -263,6 +263,7 @@ vnc_tls="" >> vnc_sasl="" >> xen="" >> linux_aio="" >> +vhost_net="" >> >> gprof="no" >> debug_tcg="no" >> @@ -651,6 +652,10 @@ for opt do >> ;; >> --enable-docs) docs="yes" >> ;; >> + --disable-vhost-net) vhost_net="no" >> + ;; >> + --enable-vhost-net) vhost_net="yes" >> + ;; >> *) echo "ERROR: unknown option $opt"; show_help="yes" >> ;; >> esac >> @@ -806,6 +811,8 @@ echo " --disable-blobs disable installing >> provided firmware blobs" >> echo " --kerneldir=PATH look for kernel includes in PATH" >> echo " --enable-docs enable documentation build" >> echo " --disable-docs disable documentation build" >> +echo " --disable-vhost-net disable vhost-net acceleration support" >> +echo " --enable-vhost-net enable vhost-net acceleration support" >> echo "" >> echo "NOTE: The object files are built at the place where configure is >> launched" >> exit 1 >> @@ -1498,6 +1505,32 @@ EOF >> fi >> >> ########################################## >> +# test for vhost net >> + >> +if test "$vhost_net" != "no"; then >> + if test "$kvm" != "no"; then >> + cat> $TMPC<<EOF >> + #include<linux/vhost.h> >> + int main(void) { return 0; } >> +EOF >> + if compile_prog "$kvm_cflags" "" ; then >> + vhost_net=yes >> + else >> + if "$vhost_net" == "yes" ; then >> + feature_not_found "vhost-net" >> + fi >> + vhost_net=no >> + fi >> + else >> + if "$vhost_net" == "yes" ; then >> + echo -e "NOTE: vhost-net feature requires KVM >> (--enable-kvm)." >> + feature_not_found "vhost-net" >> + fi >> > > The indent is quite a bit off here but more importantly, if "$vhost_net" > == "yes" is not a valid shell command. Instead, it ought to be: > > if test "$vhost_net" = "yes" ; then > > And likewise for the earlier check. I'll fold this fix into your series > unless you'd like to respin for some reason.
So you fixed this yourself? Sure, thanks a lot! > Regards, > > Anthony Liguori+ cpu_physical_memory_set_dirty(addr + bit * VHOST_LOG_PAGE); Cool new sig. -- MST