[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 01/15] configure: add the disable-tcg option
From: |
Daniel P. Berrange |
Subject: |
Re: [Qemu-devel] [PATCH v2 01/15] configure: add the disable-tcg option |
Date: |
Mon, 3 Jul 2017 11:33:40 +0100 |
User-agent: |
Mutt/1.8.0 (2017-02-23) |
On Mon, Jul 03, 2017 at 12:25:36PM +0200, Paolo Bonzini wrote:
>
>
> On 03/07/2017 12:20, Daniel P. Berrange wrote:
> >>
> >> +if test "$tcg" = "no"; then
> >> + for target in $target_list; do
> >> + if test "$softmmu" = "yes"; then
> >> + case $target in
> >> + i386-softmmu|x86_64-softmmu)
> >> + ;;
> >> + *)
> >> + error_exit "The current $target can't support disable-tcg,"\
> >> + "only i386-softmmu|x86_64-softmmu support disable-tcg"
> >> + ;;
> > This looks too simplistic in its logic.
> >
> > You can disable TCG, if-and-only-if the system emulator supports KVM.
> >
> > KVM is supported on many architectures, not only x86-64 & i386.
> >
> > KVM is only supported if the guest emulator architecture matches the
> > host build target architecture.
> >
> > ie if you are building an x86_64 system emulator on a PPC64 host,
> > then you can't disable TCG.
> >
> > So this needs rewriting to *not* special case x86_64 / i386. Instead
> > you need to compare & match build target / system emulator architectures,
> > across all architectures supporting KVM.
>
> i386-softmmu and x86_64-softmmu are singled out here, because they're
> the only targets where --disable-tcg compiles. For the others, more
> work is needed (see patches 6-15 in Yang Zhong's series).
Even with that, you still can't disable TCG if building on a non-x86
host, since that'd leave you with no available CPU at all. So the
code still needs refactoring to check architectures properly.
> The part that is missing in this patch is disabling non-hypervisor
> targets when --disable-tcg is specified. My original patch built only
> i386-softmmu and x86_64-softmmu if you specified --disable-tcg, see
>
> https://lists.nongnu.org/archive/html/qemu-devel/2012-09/msg02570.html
> https://lists.nongnu.org/archive/html/qemu-devel/2012-09/msg02571.html
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
- [Qemu-devel] [PATCH v2 00/15] add disable-tcg option for x86 build, Yang Zhong, 2017/07/03
- [Qemu-devel] [PATCH v2 01/15] configure: add the disable-tcg option, Yang Zhong, 2017/07/03
- Re: [Qemu-devel] [PATCH v2 01/15] configure: add the disable-tcg option, Daniel P. Berrange, 2017/07/03
- Re: [Qemu-devel] [PATCH v2 01/15] configure: add the disable-tcg option, Paolo Bonzini, 2017/07/03
- Re: [Qemu-devel] [PATCH v2 01/15] configure: add the disable-tcg option,
Daniel P. Berrange <=
- Re: [Qemu-devel] [PATCH v2 01/15] configure: add the disable-tcg option, Paolo Bonzini, 2017/07/03
- Re: [Qemu-devel] [PATCH v2 01/15] configure: add the disable-tcg option, Thomas Huth, 2017/07/03
- Re: [Qemu-devel] [PATCH v2 01/15] configure: add the disable-tcg option, Daniel P. Berrange, 2017/07/03
- Re: [Qemu-devel] [PATCH v2 01/15] configure: add the disable-tcg option, Paolo Bonzini, 2017/07/03
[Qemu-devel] [PATCH v2 02/15] vl: add tcg_enabled() for tcg related code, Yang Zhong, 2017/07/03
[Qemu-devel] [PATCH v2 03/15] tcg: tcg_handle_interrupt() function, Yang Zhong, 2017/07/03
[Qemu-devel] [PATCH v2 04/15] tcg: change tcg_enabled(), Yang Zhong, 2017/07/03
[Qemu-devel] [PATCH v2 05/15] tcg: move page_size_init() function, Yang Zhong, 2017/07/03