qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Alexey Kardashevskiy <aik@ozlabs.ru>
To: "Andreas Färber" <afaerber@suse.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Alex Williamson <alex.williamson@redhat.com>,
	qemu-devel@nongnu.org, Anthony Liguori <anthony@codemonkey.ws>
Subject: Re: [Qemu-devel] hw/Makefile.objs question
Date: Thu, 21 Jun 2012 23:10:43 +1000	[thread overview]
Message-ID: <4FE31D53.5060700@ozlabs.ru> (raw)
In-Reply-To: <4FE31145.7040906@suse.de>

On 21/06/12 22:19, Andreas Färber wrote:
> Am 21.06.2012 13:21, schrieb Alexey Kardashevskiy:
>> 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).
> 
> Apply some creativity, there's surely examples around. The question is
> whether the contents of vfio_pci.o changes or not.

Applied already and gave up, this is why I am writing here :)
What would be a good example of a device which is enabled by configure script?

> If not, then you only
> need to build it once in libhwX/, depending on $config_target_mak, and
> link to the appropriate targets. If it accesses CPU internals then it
> must be built per target.

$config_target_mak points to ppc64-softmmu/config-target.mak, not in the root folder.
When executed in libhw64, it is not visible to makefile.


>>> 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".
> 
> No, in this case the condition would be set from configure as before, it
> only moves from Makefile.target to the appropriate Makefile.objs.
> Note that to limit it to ppc64 (as opposed to ppc) some additional ifeq
> check would be needed, as before.




-- 
Alexey

  reply	other threads:[~2012-06-21 13:10 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-21  3:22 [Qemu-devel] hw/Makefile.objs question Alexey Kardashevskiy
2012-06-21 10:36 ` Andreas Färber
2012-06-21 11:21   ` Alexey Kardashevskiy
2012-06-21 12:19     ` Andreas Färber
2012-06-21 13:10       ` Alexey Kardashevskiy [this message]
2012-06-21 13:23         ` Anthony Liguori
2012-06-21 14:04         ` Andreas Färber
2012-06-21 15:52           ` Alex Williamson
2012-06-22  2:23           ` Alexey Kardashevskiy
2012-07-02 10:36           ` Paolo Bonzini
2012-07-02 12:10             ` Andreas Färber
2012-07-02 12:10             ` Alexey Kardashevskiy
2012-07-02 12:11               ` Andreas Färber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FE31D53.5060700@ozlabs.ru \
    --to=aik@ozlabs.ru \
    --cc=afaerber@suse.de \
    --cc=alex.williamson@redhat.com \
    --cc=anthony@codemonkey.ws \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).