diff mbox

[02/15] vl: add CONFIG_TCG for tcg related code

Message ID 1498040401-16361-3-git-send-email-yang.zhong@intel.com
State New
Headers show

Commit Message

Yang Zhong June 21, 2017, 10:19 a.m. UTC
Need to disable the tcg related code in the vl.c if the
disable-tcg option is added into ./configure command.

Signed-off-by: Yang Zhong <yang.zhong@intel.com>
---
 cpus.c |  3 ++-
 vl.c   | 12 ++++++++++++
 2 files changed, 14 insertions(+), 1 deletion(-)

Comments

Paolo Bonzini June 21, 2017, 1:10 p.m. UTC | #1
On 21/06/2017 12:19, Yang Zhong wrote:
> @@ -3738,8 +3738,13 @@ int main(int argc, char **argv, char **envp)
>                  }
>                  break;
>               case QEMU_OPTION_no_kvm:
> +#ifdef CONFIG_TCG
>                  olist = qemu_find_opts("machine");
>                  qemu_opts_parse_noisily(olist, "accel=tcg", false);
> +#else
> +                error_report("TCG is disabled");

This should not be necessary, it would work anyway.

> +                exit(1);
> +#endif
>                  break;
>              case QEMU_OPTION_no_kvm_pit: {
>                  error_report("warning: ignoring deprecated option");
> @@ -3915,10 +3920,15 @@ int main(int argc, char **argv, char **envp)
>                  configure_rtc(opts);
>                  break;
>              case QEMU_OPTION_tb_size:
> +#ifdef CONFIG_TCG
>                  tcg_tb_size = strtol(optarg, NULL, 0);
>                  if (tcg_tb_size < 0) {
>                      tcg_tb_size = 0;
>                  }
> +#else
> +                error_report("TCG is disabled");
> +                exit(1);
> +#endif

This would regress the case where people are using -tb-size with KVM.
Just leave it aside.

>                  break;
>              case QEMU_OPTION_icount:
>                  icount_opts = qemu_opts_parse_noisily(qemu_find_opts("icount"),
> @@ -4457,7 +4467,9 @@ int main(int argc, char **argv, char **envp)
>          qemu_opts_del(icount_opts);
>      }
>  
> +#ifdef CONFIG_TCG
>      qemu_tcg_configure(accel_opts, &error_fatal);

Why is this appearing in this patch?

> +#endif
Yang Zhong June 22, 2017, 6:54 a.m. UTC | #2
On Wed, Jun 21, 2017 at 03:10:36PM +0200, Paolo Bonzini wrote:
> 
> 
> On 21/06/2017 12:19, Yang Zhong wrote:
> > @@ -3738,8 +3738,13 @@ int main(int argc, char **argv, char **envp)
> >                  }
> >                  break;
> >               case QEMU_OPTION_no_kvm:
> > +#ifdef CONFIG_TCG
> >                  olist = qemu_find_opts("machine");
> >                  qemu_opts_parse_noisily(olist, "accel=tcg", false);
> > +#else
> > +                error_report("TCG is disabled");
> 
> This should not be necessary, it would work anyway.
> 
  Hello Paolo,

  You are right, i justly did the test to verify your comment, i will remove this CONFIG_TCG. thanks!

  Yang

> > +                exit(1);
> > +#endif
> >                  break;
> >              case QEMU_OPTION_no_kvm_pit: {
> >                  error_report("warning: ignoring deprecated option");
> > @@ -3915,10 +3920,15 @@ int main(int argc, char **argv, char **envp)
> >                  configure_rtc(opts);
> >                  break;
> >              case QEMU_OPTION_tb_size:
> > +#ifdef CONFIG_TCG
> >                  tcg_tb_size = strtol(optarg, NULL, 0);
> >                  if (tcg_tb_size < 0) {
> >                      tcg_tb_size = 0;
> >                  }
> > +#else
> > +                error_report("TCG is disabled");
> > +                exit(1);
> > +#endif
> 
> This would regress the case where people are using -tb-size with KVM.
> Just leave it aside.
> 
  Hello Paolo,

  The tb_size is only useful in TCG mode, only tcg_init() will call this variable.
  If TCG is disabled in compile, the KVM will not need this variable. Of course, if
  we keep this variable in pure KVM mode, there is not any side effect. What's your 
  opinion? thanks!

  Yang 

> >                  break;
> >              case QEMU_OPTION_icount:
> >                  icount_opts = qemu_opts_parse_noisily(qemu_find_opts("icount"),
> > @@ -4457,7 +4467,9 @@ int main(int argc, char **argv, char **envp)
> >          qemu_opts_del(icount_opts);
> >      }
> >  
> > +#ifdef CONFIG_TCG
> >      qemu_tcg_configure(accel_opts, &error_fatal);
> 
> Why is this appearing in this patch?
> 
  Hello Paolo,

  If the TCG is disabled, the qemu_tcg_configure() is not useful, this function only set
  the single or mutiple thread for TCG. thanks!

  Yang

> > +#endif
diff mbox

Patch

diff --git a/cpus.c b/cpus.c
index 14bb8d5..a86ea10 100644
--- a/cpus.c
+++ b/cpus.c
@@ -170,7 +170,7 @@  bool mttcg_enabled;
  * implicit memory order requirements which would likely slow things
  * down a lot.
  */
-
+#ifdef CONFIG_TCG
 static bool check_tcg_memory_orders_compatible(void)
 {
 #if defined(TCG_GUEST_DEFAULT_MO) && defined(TCG_TARGET_DEFAULT_MO)
@@ -223,6 +223,7 @@  void qemu_tcg_configure(QemuOpts *opts, Error **errp)
         mttcg_enabled = default_mttcg_enabled();
     }
 }
+#endif
 
 /* The current number of executed instructions is based on what we
  * originally budgeted minus the current state of the decrementing
diff --git a/vl.c b/vl.c
index 59fea15..a01faf9 100644
--- a/vl.c
+++ b/vl.c
@@ -3738,8 +3738,13 @@  int main(int argc, char **argv, char **envp)
                 }
                 break;
              case QEMU_OPTION_no_kvm:
+#ifdef CONFIG_TCG
                 olist = qemu_find_opts("machine");
                 qemu_opts_parse_noisily(olist, "accel=tcg", false);
+#else
+                error_report("TCG is disabled");
+                exit(1);
+#endif
                 break;
             case QEMU_OPTION_no_kvm_pit: {
                 error_report("warning: ignoring deprecated option");
@@ -3915,10 +3920,15 @@  int main(int argc, char **argv, char **envp)
                 configure_rtc(opts);
                 break;
             case QEMU_OPTION_tb_size:
+#ifdef CONFIG_TCG
                 tcg_tb_size = strtol(optarg, NULL, 0);
                 if (tcg_tb_size < 0) {
                     tcg_tb_size = 0;
                 }
+#else
+                error_report("TCG is disabled");
+                exit(1);
+#endif
                 break;
             case QEMU_OPTION_icount:
                 icount_opts = qemu_opts_parse_noisily(qemu_find_opts("icount"),
@@ -4457,7 +4467,9 @@  int main(int argc, char **argv, char **envp)
         qemu_opts_del(icount_opts);
     }
 
+#ifdef CONFIG_TCG
     qemu_tcg_configure(accel_opts, &error_fatal);
+#endif
 
     if (default_net) {
         QemuOptsList *net = qemu_find_opts("net");