On 21/06/12 20:36, Andreas Färber wrote: > Am 21.06.2012 05:22, schrieb Alexey Kardashevskiy: >> I am trying to compile the very last qemu with vfio_pci enabled. VFIO_PCI is >> added as below: >> >> ./configure: >> >> case "$target_arch2" in >> i386|x86_64|ppc64) >> if test "$vfio_pci" = "yes" -a "$target_softmmu" = "yes" ; then >> echo "CONFIG_VFIO_PCI=y" >> $config_target_mak >> fi >> esac >> >> >> ./Makefile.target: >> >> # VFIO PCI device assignment >> obj-$(CONFIG_VFIO_PCI) += vfio_pci.o >> >> >> And it worked before. However it does not anymore as it seems that >> everything in hw/ (and vfio_pci.c >> as well as is in hw/ and it is a device) can be only compiled via >> hw/Makefile.objs and >> hw/ppc/Makefile.objs (my platform is POWER), it is ignored if to keep it as >> is. >> >> So I have to move "obj-$(CONFIG_VFIO_PCI) += vfio_pci.o" to hw/Makefile.objs >> (and change obj- to >> hw-obj-) but the hw/Makefile.objs does not include (directly or indirectly) >> generated >> ppc64-softmmu/config-target.mak with CONFIG_VFIO_PCI=y. >> >> What is the correct solution? > > If the file compiles the same for all three, put CONFIG_VFIO_PCI=y into > default-configs/{i386,x86_64,ppc64}-softmmu.mak and do > hw-obj-$(CONFIG_VFIO_PCI) += in hw/Makefile.objs.
It only compiles with ./configure --enable-vfio-pci which may or may not set CONFIG_VFIO_PCI to "y". Your proposal makes it always "y" (for selected platforms). > Otherwise, add to hw/{i386,ppc}/Makefile.objs - or with Anthony's > proposal from yesterday hw/Makefile.objs becomes possible, too. Again, it will be unconditional "y". -- Alexey