* [Qemu-devel] [PATCH] tcg: Avoid setting tcg_initialize if !CONFIG_TCG
@ 2017-10-26 13:58 Richard Henderson
2017-10-26 14:05 ` Eduardo Habkost
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Richard Henderson @ 2017-10-26 13:58 UTC (permalink / raw)
To: qemu-devel; +Cc: ehabkost, peter.maydell
Fix the build for --disable-tcg.
Fixes: 55c3ceef61fcf06fc98ddc752b7cce788ce7680b
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/arm/cpu.c | 2 ++
target/i386/cpu.c | 2 ++
target/mips/cpu.c | 2 ++
target/ppc/translate_init.c | 2 ++
target/s390x/cpu.c | 2 ++
5 files changed, 10 insertions(+)
diff --git a/target/arm/cpu.c b/target/arm/cpu.c
index 056284985d..a7f03eabe8 100644
--- a/target/arm/cpu.c
+++ b/target/arm/cpu.c
@@ -1760,7 +1760,9 @@ static void arm_cpu_class_init(ObjectClass *oc, void *data)
#endif
cc->disas_set_info = arm_disas_set_info;
+#ifdef CONFIG_TCG
cc->tcg_initialize = arm_translate_init;
+#endif
}
static void cpu_register(const ARMCPUInfo *info)
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 53ec94ac9b..2f556c0ea3 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -4212,7 +4212,9 @@ static void x86_cpu_common_class_init(ObjectClass *oc, void *data)
#endif
cc->cpu_exec_enter = x86_cpu_exec_enter;
cc->cpu_exec_exit = x86_cpu_exec_exit;
+#ifdef CONFIG_TCG
cc->tcg_initialize = tcg_x86_init;
+#endif
dc->user_creatable = true;
}
diff --git a/target/mips/cpu.c b/target/mips/cpu.c
index 0ae70288dd..80812f3e08 100644
--- a/target/mips/cpu.c
+++ b/target/mips/cpu.c
@@ -198,7 +198,9 @@ static void mips_cpu_class_init(ObjectClass *c, void *data)
cc->vmsd = &vmstate_mips_cpu;
#endif
cc->disas_set_info = mips_cpu_disas_set_info;
+#ifdef CONFIG_TCG
cc->tcg_initialize = mips_tcg_init;
+#endif
cc->gdb_num_core_regs = 73;
cc->gdb_stop_before_watchpoint = true;
diff --git a/target/ppc/translate_init.c b/target/ppc/translate_init.c
index 13436e4760..61a9552c1c 100644
--- a/target/ppc/translate_init.c
+++ b/target/ppc/translate_init.c
@@ -10578,7 +10578,9 @@ static void ppc_cpu_class_init(ObjectClass *oc, void *data)
#ifndef CONFIG_USER_ONLY
cc->virtio_is_big_endian = ppc_cpu_is_big_endian;
#endif
+#ifdef CONFIG_TCG
cc->tcg_initialize = ppc_translate_init;
+#endif
dc->fw_name = "PowerPC,UNKNOWN";
}
diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c
index 824dfd6b65..ae3cee91a2 100644
--- a/target/s390x/cpu.c
+++ b/target/s390x/cpu.c
@@ -497,7 +497,9 @@ static void s390_cpu_class_init(ObjectClass *oc, void *data)
#endif
#endif
cc->disas_set_info = s390_cpu_disas_set_info;
+#ifdef CONFIG_TCG
cc->tcg_initialize = s390x_translate_init;
+#endif
cc->gdb_num_core_regs = S390_NUM_CORE_REGS;
cc->gdb_core_xml_file = "s390x-core64.xml";
--
2.13.6
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH] tcg: Avoid setting tcg_initialize if !CONFIG_TCG
2017-10-26 13:58 [Qemu-devel] [PATCH] tcg: Avoid setting tcg_initialize if !CONFIG_TCG Richard Henderson
@ 2017-10-26 14:05 ` Eduardo Habkost
2017-10-26 17:37 ` Emilio G. Cota
2017-10-27 7:03 ` Peter Maydell
2 siblings, 0 replies; 10+ messages in thread
From: Eduardo Habkost @ 2017-10-26 14:05 UTC (permalink / raw)
To: Richard Henderson; +Cc: qemu-devel, peter.maydell
On Thu, Oct 26, 2017 at 03:58:14PM +0200, Richard Henderson wrote:
> Fix the build for --disable-tcg.
>
> Fixes: 55c3ceef61fcf06fc98ddc752b7cce788ce7680b
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> target/arm/cpu.c | 2 ++
> target/i386/cpu.c | 2 ++
> target/mips/cpu.c | 2 ++
> target/ppc/translate_init.c | 2 ++
> target/s390x/cpu.c | 2 ++
> 5 files changed, 10 insertions(+)
>
> diff --git a/target/arm/cpu.c b/target/arm/cpu.c
> index 056284985d..a7f03eabe8 100644
> --- a/target/arm/cpu.c
> +++ b/target/arm/cpu.c
> @@ -1760,7 +1760,9 @@ static void arm_cpu_class_init(ObjectClass *oc, void *data)
> #endif
>
> cc->disas_set_info = arm_disas_set_info;
> +#ifdef CONFIG_TCG
> cc->tcg_initialize = arm_translate_init;
> +#endif
I'd prefer to have *_translate_init() stubs instead of the
#ifdefs, but I guess it's better to fix the build as soon as
possible, and worry about eliminating #ifdefs later.
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
> }
>
> static void cpu_register(const ARMCPUInfo *info)
> diff --git a/target/i386/cpu.c b/target/i386/cpu.c
> index 53ec94ac9b..2f556c0ea3 100644
> --- a/target/i386/cpu.c
> +++ b/target/i386/cpu.c
> @@ -4212,7 +4212,9 @@ static void x86_cpu_common_class_init(ObjectClass *oc, void *data)
> #endif
> cc->cpu_exec_enter = x86_cpu_exec_enter;
> cc->cpu_exec_exit = x86_cpu_exec_exit;
> +#ifdef CONFIG_TCG
> cc->tcg_initialize = tcg_x86_init;
> +#endif
>
> dc->user_creatable = true;
> }
> diff --git a/target/mips/cpu.c b/target/mips/cpu.c
> index 0ae70288dd..80812f3e08 100644
> --- a/target/mips/cpu.c
> +++ b/target/mips/cpu.c
> @@ -198,7 +198,9 @@ static void mips_cpu_class_init(ObjectClass *c, void *data)
> cc->vmsd = &vmstate_mips_cpu;
> #endif
> cc->disas_set_info = mips_cpu_disas_set_info;
> +#ifdef CONFIG_TCG
> cc->tcg_initialize = mips_tcg_init;
> +#endif
>
> cc->gdb_num_core_regs = 73;
> cc->gdb_stop_before_watchpoint = true;
> diff --git a/target/ppc/translate_init.c b/target/ppc/translate_init.c
> index 13436e4760..61a9552c1c 100644
> --- a/target/ppc/translate_init.c
> +++ b/target/ppc/translate_init.c
> @@ -10578,7 +10578,9 @@ static void ppc_cpu_class_init(ObjectClass *oc, void *data)
> #ifndef CONFIG_USER_ONLY
> cc->virtio_is_big_endian = ppc_cpu_is_big_endian;
> #endif
> +#ifdef CONFIG_TCG
> cc->tcg_initialize = ppc_translate_init;
> +#endif
>
> dc->fw_name = "PowerPC,UNKNOWN";
> }
> diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c
> index 824dfd6b65..ae3cee91a2 100644
> --- a/target/s390x/cpu.c
> +++ b/target/s390x/cpu.c
> @@ -497,7 +497,9 @@ static void s390_cpu_class_init(ObjectClass *oc, void *data)
> #endif
> #endif
> cc->disas_set_info = s390_cpu_disas_set_info;
> +#ifdef CONFIG_TCG
> cc->tcg_initialize = s390x_translate_init;
> +#endif
>
> cc->gdb_num_core_regs = S390_NUM_CORE_REGS;
> cc->gdb_core_xml_file = "s390x-core64.xml";
> --
> 2.13.6
>
--
Eduardo
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH] tcg: Avoid setting tcg_initialize if !CONFIG_TCG
2017-10-26 13:58 [Qemu-devel] [PATCH] tcg: Avoid setting tcg_initialize if !CONFIG_TCG Richard Henderson
2017-10-26 14:05 ` Eduardo Habkost
@ 2017-10-26 17:37 ` Emilio G. Cota
2017-10-26 18:57 ` Philippe Mathieu-Daudé
2017-10-27 7:03 ` Peter Maydell
2 siblings, 1 reply; 10+ messages in thread
From: Emilio G. Cota @ 2017-10-26 17:37 UTC (permalink / raw)
To: Richard Henderson; +Cc: qemu-devel, peter.maydell, ehabkost
On Thu, Oct 26, 2017 at 15:58:14 +0200, Richard Henderson wrote:
> Fix the build for --disable-tcg.
>
> Fixes: 55c3ceef61fcf06fc98ddc752b7cce788ce7680b
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> target/arm/cpu.c | 2 ++
> target/i386/cpu.c | 2 ++
> target/mips/cpu.c | 2 ++
> target/ppc/translate_init.c | 2 ++
> target/s390x/cpu.c | 2 ++
> 5 files changed, 10 insertions(+)
AFAIK the only target that is so far supposed to work with
--disable-tcg is i386. The configure script however lets you try to
build without TCG if the host has an alternative accelerator (e.g. KVM),
but that build is likely to fail. [ just confirmed this with aarch64 ]
That said, I like that this patch takes care of other targets too.
Reviewed-by: Emilio G. Cota <cota@braap.org>
Thanks,
Emilio
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH] tcg: Avoid setting tcg_initialize if !CONFIG_TCG
2017-10-26 17:37 ` Emilio G. Cota
@ 2017-10-26 18:57 ` Philippe Mathieu-Daudé
2017-10-26 19:03 ` Philippe Mathieu-Daudé
0 siblings, 1 reply; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2017-10-26 18:57 UTC (permalink / raw)
To: Emilio G. Cota, Richard Henderson; +Cc: peter.maydell, qemu-devel, ehabkost
On 10/26/2017 02:37 PM, Emilio G. Cota wrote:
> AFAIK the only target that is so far supposed to work with
> --disable-tcg is i386. The configure script however lets you try to
> build without TCG if the host has an alternative accelerator (e.g. KVM),
> but that build is likely to fail. [ just confirmed this with aarch64 ]
What about s390x?
LINK s390x-softmmu/qemu-system-s390x
exec.o: In function `tlb_reset_dirty_range_all':
exec.c:1118: undefined reference to `tlb_reset_dirty'
exec.o: In function `tcg_commit':
exec.c:2765: undefined reference to `cpu_reloading_memory_map'
cpus.o: In function `tcg_cpu_exec':
cpus.c:1270: undefined reference to `cpu_exec'
cpus.o: In function `qemu_tcg_rr_cpu_thread_fn':
cpus.c:1310: undefined reference to `tcg_register_thread'
cpus.c:1375: undefined reference to `cpu_exec_step_atomic'
cpus.o: In function `qemu_tcg_cpu_thread_fn':
cpus.c:1458: undefined reference to `tcg_register_thread'
cpus.c:1492: undefined reference to `cpu_exec_step_atomic'
cpus.o: In function `qemu_tcg_init_vcpu':
cpus.c:1679: undefined reference to `tcg_region_init'
cpus.c:1689: undefined reference to `parallel_cpus'
target/s390x/cpu.o: In function `s390_cpu_class_init':
target/s390x/cpu.c:500: undefined reference to `s390x_translate_init'
collect2: error: ld returned 1 exit status
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH] tcg: Avoid setting tcg_initialize if !CONFIG_TCG
2017-10-26 18:57 ` Philippe Mathieu-Daudé
@ 2017-10-26 19:03 ` Philippe Mathieu-Daudé
2017-10-27 22:54 ` Paolo Bonzini
0 siblings, 1 reply; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2017-10-26 19:03 UTC (permalink / raw)
To: Emilio G. Cota, Richard Henderson, Paolo Bonzini
Cc: peter.maydell, qemu-devel, ehabkost, Yang Zhong
Oops sent a bit too fast.
On 10/26/2017 03:57 PM, Philippe Mathieu-Daudé wrote:
> On 10/26/2017 02:37 PM, Emilio G. Cota wrote:
>> AFAIK the only target that is so far supposed to work with
>> --disable-tcg is i386. The configure script however lets you try to
>> build without TCG if the host has an alternative accelerator (e.g. KVM),
>> but that build is likely to fail. [ just confirmed this with aarch64 ]
>
> What about s390x?
>
> LINK s390x-softmmu/qemu-system-s390x
> exec.o: In function `tlb_reset_dirty_range_all':
> exec.c:1118: undefined reference to `tlb_reset_dirty'
> exec.o: In function `tcg_commit':
> exec.c:2765: undefined reference to `cpu_reloading_memory_map'
> cpus.o: In function `tcg_cpu_exec':
> cpus.c:1270: undefined reference to `cpu_exec'
> cpus.o: In function `qemu_tcg_rr_cpu_thread_fn':
> cpus.c:1310: undefined reference to `tcg_register_thread'
> cpus.c:1375: undefined reference to `cpu_exec_step_atomic'
> cpus.o: In function `qemu_tcg_cpu_thread_fn':
> cpus.c:1458: undefined reference to `tcg_register_thread'
> cpus.c:1492: undefined reference to `cpu_exec_step_atomic'
> cpus.o: In function `qemu_tcg_init_vcpu':
> cpus.c:1679: undefined reference to `tcg_region_init'
> cpus.c:1689: undefined reference to `parallel_cpus'
> target/s390x/cpu.o: In function `s390_cpu_class_init':
> target/s390x/cpu.c:500: undefined reference to `s390x_translate_init'
> collect2: error: ld returned 1 exit status
bisected to:
b11ec7f2e44b285a3967d629b55d1a6970b06787 is the first bad commit
commit b11ec7f2e44b285a3967d629b55d1a6970b06787
Author: Yang Zhong <yang.zhong@intel.com>
Date: Mon Jul 3 18:12:21 2017 +0800
tcg: add CONFIG_TCG guards in headers
Add CONFIG_TCG around TLB-related functions and structure declarations.
Some of these functions are defined in ./accel/tcg/cputlb.c, which will
not be linked in if TCG is disabled, and have no stubs; therefore, their
callers will also be compiled out for --disable-tcg.
Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH] tcg: Avoid setting tcg_initialize if !CONFIG_TCG
2017-10-26 13:58 [Qemu-devel] [PATCH] tcg: Avoid setting tcg_initialize if !CONFIG_TCG Richard Henderson
2017-10-26 14:05 ` Eduardo Habkost
2017-10-26 17:37 ` Emilio G. Cota
@ 2017-10-27 7:03 ` Peter Maydell
2017-10-30 3:25 ` Philippe Mathieu-Daudé
2 siblings, 1 reply; 10+ messages in thread
From: Peter Maydell @ 2017-10-27 7:03 UTC (permalink / raw)
To: Richard Henderson; +Cc: QEMU Developers, Eduardo Habkost
On 26 October 2017 at 14:58, Richard Henderson
<richard.henderson@linaro.org> wrote:
> Fix the build for --disable-tcg.
>
> Fixes: 55c3ceef61fcf06fc98ddc752b7cce788ce7680b
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> target/arm/cpu.c | 2 ++
> target/i386/cpu.c | 2 ++
> target/mips/cpu.c | 2 ++
> target/ppc/translate_init.c | 2 ++
> target/s390x/cpu.c | 2 ++
> 5 files changed, 10 insertions(+)
>
Applied to master as a buildfix, thanks.
-- PMM
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH] tcg: Avoid setting tcg_initialize if !CONFIG_TCG
2017-10-26 19:03 ` Philippe Mathieu-Daudé
@ 2017-10-27 22:54 ` Paolo Bonzini
2017-10-28 7:48 ` Thomas Huth
0 siblings, 1 reply; 10+ messages in thread
From: Paolo Bonzini @ 2017-10-27 22:54 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, Emilio G. Cota, Richard Henderson
Cc: peter.maydell, qemu-devel, ehabkost, Yang Zhong, Thomas Huth,
David Hildenbrand
On 26/10/2017 21:03, Philippe Mathieu-Daudé wrote:
>> AFAIK the only target that is so far supposed to work with
>> --disable-tcg is i386. The configure script however lets you try to
>> build without TCG if the host has an alternative accelerator (e.g. KVM),
>> but that build is likely to fail. [ just confirmed this with aarch64 ]
> What about s390x?
s390x and ppc64 supposedly support --disable-tcg?
Paolo
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH] tcg: Avoid setting tcg_initialize if !CONFIG_TCG
2017-10-27 22:54 ` Paolo Bonzini
@ 2017-10-28 7:48 ` Thomas Huth
0 siblings, 0 replies; 10+ messages in thread
From: Thomas Huth @ 2017-10-28 7:48 UTC (permalink / raw)
To: Paolo Bonzini, Philippe Mathieu-Daudé,
Emilio G. Cota, Richard Henderson
Cc: peter.maydell, qemu-devel, ehabkost, Yang Zhong, David Hildenbrand
On 28.10.2017 00:54, Paolo Bonzini wrote:
> On 26/10/2017 21:03, Philippe Mathieu-Daudé wrote:
>>> AFAIK the only target that is so far supposed to work with
>>> --disable-tcg is i386. The configure script however lets you try to
>>> build without TCG if the host has an alternative accelerator (e.g. KVM),
>>> but that build is likely to fail. [ just confirmed this with aarch64 ]
>> What about s390x?
>
> s390x and ppc64 supposedly support --disable-tcg?
s390x supports --disable-tcg, but ppc64 does not support it yet.
Thomas
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH] tcg: Avoid setting tcg_initialize if !CONFIG_TCG
2017-10-27 7:03 ` Peter Maydell
@ 2017-10-30 3:25 ` Philippe Mathieu-Daudé
2017-10-30 4:06 ` Philippe Mathieu-Daudé
0 siblings, 1 reply; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2017-10-30 3:25 UTC (permalink / raw)
To: Peter Maydell, Richard Henderson; +Cc: QEMU Developers, Eduardo Habkost
Hi Peter,
On 10/27/2017 04:03 AM, Peter Maydell wrote:
> On 26 October 2017 at 14:58, Richard Henderson
> <richard.henderson@linaro.org> wrote:
>> Fix the build for --disable-tcg.
>>
>> Fixes: 55c3ceef61fcf06fc98ddc752b7cce788ce7680b
>> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
>> ---
>
> Applied to master as a buildfix, thanks.
I couldn't see this buildfix merged in /master so I provided another
version using stubs and details about offending commits there:
http://lists.nongnu.org/archive/html/qemu-devel/2017-10/msg06530.html
In case you didn't pushed to /master you might consider this series instead.
I didn't include ARM/MIPS/PPC since they don't support building without
TCG (yet).
Regards,
Phil.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH] tcg: Avoid setting tcg_initialize if !CONFIG_TCG
2017-10-30 3:25 ` Philippe Mathieu-Daudé
@ 2017-10-30 4:06 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2017-10-30 4:06 UTC (permalink / raw)
To: Peter Maydell, Richard Henderson; +Cc: QEMU Developers, Eduardo Habkost
>>> Fix the build for --disable-tcg.
>>>
>>> Fixes: 55c3ceef61fcf06fc98ddc752b7cce788ce7680b
>>> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
>>> ---
>>
>> Applied to master as a buildfix, thanks.
>
> I couldn't see this buildfix merged in /master so I provided another
> version using stubs and details about offending commits there:
>
> http://lists.nongnu.org/archive/html/qemu-devel/2017-10/msg06530.html
>
> In case you didn't pushed to /master you might consider this series instead.
Oops sorry I missed it in commit 74d7fc7f6385 and the conflicting merge
6e6430a821a1.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2017-10-30 4:07 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-26 13:58 [Qemu-devel] [PATCH] tcg: Avoid setting tcg_initialize if !CONFIG_TCG Richard Henderson
2017-10-26 14:05 ` Eduardo Habkost
2017-10-26 17:37 ` Emilio G. Cota
2017-10-26 18:57 ` Philippe Mathieu-Daudé
2017-10-26 19:03 ` Philippe Mathieu-Daudé
2017-10-27 22:54 ` Paolo Bonzini
2017-10-28 7:48 ` Thomas Huth
2017-10-27 7:03 ` Peter Maydell
2017-10-30 3:25 ` Philippe Mathieu-Daudé
2017-10-30 4:06 ` Philippe Mathieu-Daudé
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.