Message ID | 1498040401-16361-3-git-send-email-yang.zhong@intel.com |
---|---|
State | New |
Headers | show |
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
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 --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");
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(-)