Message ID | 20120926033856.29058.47896.stgit@bling.home |
---|---|
State | New |
Headers | show |
Alex Williamson <alex.williamson@redhat.com> writes: > Enabled for all softmmu guests supporting PCI on Linux hosts. Note > that currently only x86 hosts have the kernel side VFIO IOMMU support > for this. PPC (g3beige) is the only non-x86 guest known to work. > ARM (veratile) hangs in firmware, others untested. > > Signed-off-by: Alex Williamson <alex.williamson@redhat.com> > Acked-by: Michael S. Tsirkin <mst@redhat.com> > --- > > MAINTAINERS | 5 +++++ > configure | 6 ++++++ > hw/Makefile.objs | 3 ++- > 3 files changed, 13 insertions(+), 1 deletion(-) > > diff --git a/MAINTAINERS b/MAINTAINERS > index 25733fc..29aac4f 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -474,6 +474,11 @@ M: Gerd Hoffmann <kraxel@redhat.com> > S: Maintained > F: hw/usb* > > +VFIO > +M: Alex Williamson <alex.williamson@redhat.com> > +S: Supported > +F: hw/vfio* > + > vhost > M: Michael S. Tsirkin <mst@redhat.com> > S: Supported > diff --git a/configure b/configure > index 1b86517..c2c0d4f 100755 > --- a/configure > +++ b/configure > @@ -165,6 +165,7 @@ attr="" > libattr="" > xfs="" > > +vfio_pci="no" > vhost_net="no" > kvm="no" > gprof="no" > @@ -509,6 +510,7 @@ Haiku) > usb="linux" > kvm="yes" > vhost_net="yes" > + vfio_pci="yes" > if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then > audio_possible_drivers="$audio_possible_drivers fmod" > fi > @@ -3174,6 +3176,7 @@ echo "libiscsi support $libiscsi" > echo "build guest agent $guest_agent" > echo "seccomp support $seccomp" > echo "coroutine backend $coroutine_backend" > +echo "VFIO PCI support $vfio_pci" > > if test "$sdl_too_old" = "yes"; then > echo "-> Your SDL version is too old - please upgrade to have SDL support" > @@ -3911,6 +3914,9 @@ if test "$target_softmmu" = "yes" ; then > if test "$smartcard_nss" = "yes" ; then > echo "subdir-$target: subdir-libcacard" >> $config_host_mak > fi > + if test "$vfio_pci" = "yes" ; then > + echo "CONFIG_VFIO_PCI=y" >> $config_target_mak > + fi > case "$target_arch2" in > i386|x86_64) > echo "CONFIG_HAVE_CORE_DUMP=y" >> $config_target_mak > diff --git a/hw/Makefile.objs b/hw/Makefile.objs > index 6dfebd2..7f8d3e4 100644 > --- a/hw/Makefile.objs > +++ b/hw/Makefile.objs > @@ -198,7 +198,8 @@ obj-$(CONFIG_VGA) += vga.o > obj-$(CONFIG_SOFTMMU) += device-hotplug.o > obj-$(CONFIG_XEN) += xen_domainbuild.o xen_machine_pv.o > > -# Inter-VM PCI shared memory > +# Inter-VM PCI shared memory & VFIO PCI device assignment > ifeq ($(CONFIG_PCI), y) > obj-$(CONFIG_KVM) += ivshmem.o > +obj-$(CONFIG_VFIO_PCI) += vfio_pci.o Why not just make this obj-$(CONFIG_LINUX) += vfio_pci.o ? All you're doing in configure is setting CONFIG_VFIO_PCI if CONFIG_LINUX. Regards, Anthony Liguori > endif > > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, 2012-09-26 at 08:50 -0500, Anthony Liguori wrote: > Alex Williamson <alex.williamson@redhat.com> writes: > > > Enabled for all softmmu guests supporting PCI on Linux hosts. Note > > that currently only x86 hosts have the kernel side VFIO IOMMU support > > for this. PPC (g3beige) is the only non-x86 guest known to work. > > ARM (veratile) hangs in firmware, others untested. > > > > Signed-off-by: Alex Williamson <alex.williamson@redhat.com> > > Acked-by: Michael S. Tsirkin <mst@redhat.com> > > --- > > > > MAINTAINERS | 5 +++++ > > configure | 6 ++++++ > > hw/Makefile.objs | 3 ++- > > 3 files changed, 13 insertions(+), 1 deletion(-) > > > > diff --git a/MAINTAINERS b/MAINTAINERS > > index 25733fc..29aac4f 100644 > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -474,6 +474,11 @@ M: Gerd Hoffmann <kraxel@redhat.com> > > S: Maintained > > F: hw/usb* > > > > +VFIO > > +M: Alex Williamson <alex.williamson@redhat.com> > > +S: Supported > > +F: hw/vfio* > > + > > vhost > > M: Michael S. Tsirkin <mst@redhat.com> > > S: Supported > > diff --git a/configure b/configure > > index 1b86517..c2c0d4f 100755 > > --- a/configure > > +++ b/configure > > @@ -165,6 +165,7 @@ attr="" > > libattr="" > > xfs="" > > > > +vfio_pci="no" > > vhost_net="no" > > kvm="no" > > gprof="no" > > @@ -509,6 +510,7 @@ Haiku) > > usb="linux" > > kvm="yes" > > vhost_net="yes" > > + vfio_pci="yes" > > if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then > > audio_possible_drivers="$audio_possible_drivers fmod" > > fi > > @@ -3174,6 +3176,7 @@ echo "libiscsi support $libiscsi" > > echo "build guest agent $guest_agent" > > echo "seccomp support $seccomp" > > echo "coroutine backend $coroutine_backend" > > +echo "VFIO PCI support $vfio_pci" > > > > if test "$sdl_too_old" = "yes"; then > > echo "-> Your SDL version is too old - please upgrade to have SDL support" > > @@ -3911,6 +3914,9 @@ if test "$target_softmmu" = "yes" ; then > > if test "$smartcard_nss" = "yes" ; then > > echo "subdir-$target: subdir-libcacard" >> $config_host_mak > > fi > > + if test "$vfio_pci" = "yes" ; then > > + echo "CONFIG_VFIO_PCI=y" >> $config_target_mak > > + fi > > case "$target_arch2" in > > i386|x86_64) > > echo "CONFIG_HAVE_CORE_DUMP=y" >> $config_target_mak > > diff --git a/hw/Makefile.objs b/hw/Makefile.objs > > index 6dfebd2..7f8d3e4 100644 > > --- a/hw/Makefile.objs > > +++ b/hw/Makefile.objs > > @@ -198,7 +198,8 @@ obj-$(CONFIG_VGA) += vga.o > > obj-$(CONFIG_SOFTMMU) += device-hotplug.o > > obj-$(CONFIG_XEN) += xen_domainbuild.o xen_machine_pv.o > > > > -# Inter-VM PCI shared memory > > +# Inter-VM PCI shared memory & VFIO PCI device assignment > > ifeq ($(CONFIG_PCI), y) > > obj-$(CONFIG_KVM) += ivshmem.o > > +obj-$(CONFIG_VFIO_PCI) += vfio_pci.o > > Why not just make this > > obj-$(CONFIG_LINUX) += vfio_pci.o > > ? > > All you're doing in configure is setting CONFIG_VFIO_PCI if > CONFIG_LINUX. Ok. I thought I needed linux + softmmu + pci, but maybe the softmmu is implied with CONFIG_PCI? Thanks, Alex
Alex Williamson <alex.williamson@redhat.com> writes: > On Wed, 2012-09-26 at 08:50 -0500, Anthony Liguori wrote: >> Alex Williamson <alex.williamson@redhat.com> writes: >> >> > Enabled for all softmmu guests supporting PCI on Linux hosts. Note >> > that currently only x86 hosts have the kernel side VFIO IOMMU support >> > for this. PPC (g3beige) is the only non-x86 guest known to work. >> > ARM (veratile) hangs in firmware, others untested. >> > >> > Signed-off-by: Alex Williamson <alex.williamson@redhat.com> >> > Acked-by: Michael S. Tsirkin <mst@redhat.com> >> > --- >> > >> > MAINTAINERS | 5 +++++ >> > configure | 6 ++++++ >> > hw/Makefile.objs | 3 ++- >> > 3 files changed, 13 insertions(+), 1 deletion(-) >> > >> > diff --git a/MAINTAINERS b/MAINTAINERS >> > index 25733fc..29aac4f 100644 >> > --- a/MAINTAINERS >> > +++ b/MAINTAINERS >> > @@ -474,6 +474,11 @@ M: Gerd Hoffmann <kraxel@redhat.com> >> > S: Maintained >> > F: hw/usb* >> > >> > +VFIO >> > +M: Alex Williamson <alex.williamson@redhat.com> >> > +S: Supported >> > +F: hw/vfio* >> > + >> > vhost >> > M: Michael S. Tsirkin <mst@redhat.com> >> > S: Supported >> > diff --git a/configure b/configure >> > index 1b86517..c2c0d4f 100755 >> > --- a/configure >> > +++ b/configure >> > @@ -165,6 +165,7 @@ attr="" >> > libattr="" >> > xfs="" >> > >> > +vfio_pci="no" >> > vhost_net="no" >> > kvm="no" >> > gprof="no" >> > @@ -509,6 +510,7 @@ Haiku) >> > usb="linux" >> > kvm="yes" >> > vhost_net="yes" >> > + vfio_pci="yes" >> > if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then >> > audio_possible_drivers="$audio_possible_drivers fmod" >> > fi >> > @@ -3174,6 +3176,7 @@ echo "libiscsi support $libiscsi" >> > echo "build guest agent $guest_agent" >> > echo "seccomp support $seccomp" >> > echo "coroutine backend $coroutine_backend" >> > +echo "VFIO PCI support $vfio_pci" >> > >> > if test "$sdl_too_old" = "yes"; then >> > echo "-> Your SDL version is too old - please upgrade to have SDL support" >> > @@ -3911,6 +3914,9 @@ if test "$target_softmmu" = "yes" ; then >> > if test "$smartcard_nss" = "yes" ; then >> > echo "subdir-$target: subdir-libcacard" >> $config_host_mak >> > fi >> > + if test "$vfio_pci" = "yes" ; then >> > + echo "CONFIG_VFIO_PCI=y" >> $config_target_mak >> > + fi >> > case "$target_arch2" in >> > i386|x86_64) >> > echo "CONFIG_HAVE_CORE_DUMP=y" >> $config_target_mak >> > diff --git a/hw/Makefile.objs b/hw/Makefile.objs >> > index 6dfebd2..7f8d3e4 100644 >> > --- a/hw/Makefile.objs >> > +++ b/hw/Makefile.objs >> > @@ -198,7 +198,8 @@ obj-$(CONFIG_VGA) += vga.o >> > obj-$(CONFIG_SOFTMMU) += device-hotplug.o >> > obj-$(CONFIG_XEN) += xen_domainbuild.o xen_machine_pv.o >> > >> > -# Inter-VM PCI shared memory >> > +# Inter-VM PCI shared memory & VFIO PCI device assignment >> > ifeq ($(CONFIG_PCI), y) >> > obj-$(CONFIG_KVM) += ivshmem.o >> > +obj-$(CONFIG_VFIO_PCI) += vfio_pci.o >> >> Why not just make this >> >> obj-$(CONFIG_LINUX) += vfio_pci.o >> >> ? >> >> All you're doing in configure is setting CONFIG_VFIO_PCI if >> CONFIG_LINUX. > > Ok. I thought I needed linux + softmmu + pci, but maybe the softmmu is > implied with CONFIG_PCI? Thanks, obj-y is only used for softmmu so your covered. Regards, Anthony Liguori > > Alex > > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, 2012-09-26 at 11:41 -0500, Anthony Liguori wrote: > Alex Williamson <alex.williamson@redhat.com> writes: > > > On Wed, 2012-09-26 at 08:50 -0500, Anthony Liguori wrote: > >> Alex Williamson <alex.williamson@redhat.com> writes: > >> > >> > Enabled for all softmmu guests supporting PCI on Linux hosts. Note > >> > that currently only x86 hosts have the kernel side VFIO IOMMU support > >> > for this. PPC (g3beige) is the only non-x86 guest known to work. > >> > ARM (veratile) hangs in firmware, others untested. > >> > > >> > Signed-off-by: Alex Williamson <alex.williamson@redhat.com> > >> > Acked-by: Michael S. Tsirkin <mst@redhat.com> > >> > --- > >> > > >> > MAINTAINERS | 5 +++++ > >> > configure | 6 ++++++ > >> > hw/Makefile.objs | 3 ++- > >> > 3 files changed, 13 insertions(+), 1 deletion(-) > >> > > >> > diff --git a/MAINTAINERS b/MAINTAINERS > >> > index 25733fc..29aac4f 100644 > >> > --- a/MAINTAINERS > >> > +++ b/MAINTAINERS > >> > @@ -474,6 +474,11 @@ M: Gerd Hoffmann <kraxel@redhat.com> > >> > S: Maintained > >> > F: hw/usb* > >> > > >> > +VFIO > >> > +M: Alex Williamson <alex.williamson@redhat.com> > >> > +S: Supported > >> > +F: hw/vfio* > >> > + > >> > vhost > >> > M: Michael S. Tsirkin <mst@redhat.com> > >> > S: Supported > >> > diff --git a/configure b/configure > >> > index 1b86517..c2c0d4f 100755 > >> > --- a/configure > >> > +++ b/configure > >> > @@ -165,6 +165,7 @@ attr="" > >> > libattr="" > >> > xfs="" > >> > > >> > +vfio_pci="no" > >> > vhost_net="no" > >> > kvm="no" > >> > gprof="no" > >> > @@ -509,6 +510,7 @@ Haiku) > >> > usb="linux" > >> > kvm="yes" > >> > vhost_net="yes" > >> > + vfio_pci="yes" > >> > if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then > >> > audio_possible_drivers="$audio_possible_drivers fmod" > >> > fi > >> > @@ -3174,6 +3176,7 @@ echo "libiscsi support $libiscsi" > >> > echo "build guest agent $guest_agent" > >> > echo "seccomp support $seccomp" > >> > echo "coroutine backend $coroutine_backend" > >> > +echo "VFIO PCI support $vfio_pci" > >> > > >> > if test "$sdl_too_old" = "yes"; then > >> > echo "-> Your SDL version is too old - please upgrade to have SDL support" > >> > @@ -3911,6 +3914,9 @@ if test "$target_softmmu" = "yes" ; then > >> > if test "$smartcard_nss" = "yes" ; then > >> > echo "subdir-$target: subdir-libcacard" >> $config_host_mak > >> > fi > >> > + if test "$vfio_pci" = "yes" ; then > >> > + echo "CONFIG_VFIO_PCI=y" >> $config_target_mak > >> > + fi > >> > case "$target_arch2" in > >> > i386|x86_64) > >> > echo "CONFIG_HAVE_CORE_DUMP=y" >> $config_target_mak > >> > diff --git a/hw/Makefile.objs b/hw/Makefile.objs > >> > index 6dfebd2..7f8d3e4 100644 > >> > --- a/hw/Makefile.objs > >> > +++ b/hw/Makefile.objs > >> > @@ -198,7 +198,8 @@ obj-$(CONFIG_VGA) += vga.o > >> > obj-$(CONFIG_SOFTMMU) += device-hotplug.o > >> > obj-$(CONFIG_XEN) += xen_domainbuild.o xen_machine_pv.o > >> > > >> > -# Inter-VM PCI shared memory > >> > +# Inter-VM PCI shared memory & VFIO PCI device assignment > >> > ifeq ($(CONFIG_PCI), y) > >> > obj-$(CONFIG_KVM) += ivshmem.o > >> > +obj-$(CONFIG_VFIO_PCI) += vfio_pci.o > >> > >> Why not just make this > >> > >> obj-$(CONFIG_LINUX) += vfio_pci.o > >> > >> ? > >> > >> All you're doing in configure is setting CONFIG_VFIO_PCI if > >> CONFIG_LINUX. > > > > Ok. I thought I needed linux + softmmu + pci, but maybe the softmmu is > > implied with CONFIG_PCI? Thanks, > > obj-y is only used for softmmu so your covered. Great, I'll make the change. Thanks, Alex
diff --git a/MAINTAINERS b/MAINTAINERS index 25733fc..29aac4f 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -474,6 +474,11 @@ M: Gerd Hoffmann <kraxel@redhat.com> S: Maintained F: hw/usb* +VFIO +M: Alex Williamson <alex.williamson@redhat.com> +S: Supported +F: hw/vfio* + vhost M: Michael S. Tsirkin <mst@redhat.com> S: Supported diff --git a/configure b/configure index 1b86517..c2c0d4f 100755 --- a/configure +++ b/configure @@ -165,6 +165,7 @@ attr="" libattr="" xfs="" +vfio_pci="no" vhost_net="no" kvm="no" gprof="no" @@ -509,6 +510,7 @@ Haiku) usb="linux" kvm="yes" vhost_net="yes" + vfio_pci="yes" if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then audio_possible_drivers="$audio_possible_drivers fmod" fi @@ -3174,6 +3176,7 @@ echo "libiscsi support $libiscsi" echo "build guest agent $guest_agent" echo "seccomp support $seccomp" echo "coroutine backend $coroutine_backend" +echo "VFIO PCI support $vfio_pci" if test "$sdl_too_old" = "yes"; then echo "-> Your SDL version is too old - please upgrade to have SDL support" @@ -3911,6 +3914,9 @@ if test "$target_softmmu" = "yes" ; then if test "$smartcard_nss" = "yes" ; then echo "subdir-$target: subdir-libcacard" >> $config_host_mak fi + if test "$vfio_pci" = "yes" ; then + echo "CONFIG_VFIO_PCI=y" >> $config_target_mak + fi case "$target_arch2" in i386|x86_64) echo "CONFIG_HAVE_CORE_DUMP=y" >> $config_target_mak diff --git a/hw/Makefile.objs b/hw/Makefile.objs index 6dfebd2..7f8d3e4 100644 --- a/hw/Makefile.objs +++ b/hw/Makefile.objs @@ -198,7 +198,8 @@ obj-$(CONFIG_VGA) += vga.o obj-$(CONFIG_SOFTMMU) += device-hotplug.o obj-$(CONFIG_XEN) += xen_domainbuild.o xen_machine_pv.o -# Inter-VM PCI shared memory +# Inter-VM PCI shared memory & VFIO PCI device assignment ifeq ($(CONFIG_PCI), y) obj-$(CONFIG_KVM) += ivshmem.o +obj-$(CONFIG_VFIO_PCI) += vfio_pci.o endif