qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <aliguori@us.ibm.com>
To: qemu-devel@nongnu.org
Cc: Alex Graf <agraf@suse.de>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Qemu-devel] [RFC PATCH 0/5] Add configure flag to disable TCG
Date: Fri,  2 Sep 2011 16:47:58 -0500	[thread overview]
Message-ID: <1315000083-20576-1-git-send-email-aliguori@us.ibm.com> (raw)

Hi,

There have been a few attempts in the past to allow TCG to be disabled
at build time.  Recently, Alex made the suggestion that we could do it by using
the same trick that we used to introduce kvm support.  That involves introducing
a tcg_enabled() macro that will be (0) if TCG is disabled in the build.

GCC is smart enough to do dead code elimination if it sees an if (0) and the
result is that if you can do:

if (tcg_enabled()) {
  foo();
}

and it's more or less equivalent to:

#ifdef CONFIG_TCG
  foo();
#endif

Without the ugliness that comes from using the preprocessor.  I think this ended
up being pretty straight forward.  exec.c could use a fair bit of cleanup but
other than that, this pretty much eliminates all of the TCG code from the build.

This absolutely is going to break non-x86 KVM builds if they use the
--disable-tcg flag as I haven't tested those yet.  The normal TCG build
shouldn't be affected at all though.

In principle, the code assumes that you need KVM if you don't have TCG.  Of
course, some extra logic could be added to allow for Xen if TCG isn't present.

             reply	other threads:[~2011-09-02 21:48 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-02 21:47 Anthony Liguori [this message]
2011-09-02 21:47 ` [Qemu-devel] [PATCH 1/5] configure: add --disable-tcg configure option Anthony Liguori
2011-09-02 21:48 ` [Qemu-devel] [PATCH 2/5] vl: don't expose TCG as a supported accelerator if TCG is disabled Anthony Liguori
2011-09-02 21:48 ` [Qemu-devel] [PATCH 3/5] tcg: add tcg_enabled() and stop compiling translate.o when " Anthony Liguori
2011-09-02 23:51   ` Peter Maydell
2011-09-02 21:48 ` [Qemu-devel] [PATCH 4/5] tcg: don't build tcg/tcg.o, tcg/optimize.o, or translate-all.o when TCG disabled Anthony Liguori
2011-09-03 12:07   ` Blue Swirl
2011-09-02 21:48 ` [Qemu-devel] [PATCH 5/5] tcg: don't build cpu-exec.o, op_helper.o, or fpu/softloat.o " Anthony Liguori
2011-09-02 23:26   ` Peter Maydell
2011-09-03 12:02   ` Blue Swirl
2011-09-03 11:58 ` [Qemu-devel] [RFC PATCH 0/5] Add configure flag to disable TCG Blue Swirl
2011-09-03 12:50   ` Alexander Graf
2011-09-05 14:53 ` Stefano Stabellini

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=1315000083-20576-1-git-send-email-aliguori@us.ibm.com \
    --to=aliguori@us.ibm.com \
    --cc=agraf@suse.de \
    --cc=qemu-devel@nongnu.org \
    --cc=stefano.stabellini@eu.citrix.com \
    /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).