qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 00/15] add disable-tcg option for x86 build


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH 00/15] add disable-tcg option for x86 build
Date: Wed, 21 Jun 2017 15:19:19 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0


On 21/06/2017 12:19, Yang Zhong wrote:
> This patchset rebased from Paolo's below patchset, which was based on
> QEMU 2.0.50 version. 
> https://github.com/bonzini/qemu/tree/disable-tcg

Patches 7/8/11 seems fine, I have already queued them (though I still
have to test everything).

Paolo

> Since qemu-system-x86_64 enabled kvm and TCG accelators by default, in 
> fact, the TCG accelator is NOT useful in the system build of x86 platform. 
> This patchset will disable TCG for x86 platform if --disable-tcg option is 
> added into ./configure command.
> 
> The new configure build command like below
> (1)./configure
>    tcg is enabled by default
> 
> (2)./configure --disable-tcg
>    tcg is disabled in i386 and x86_64 softmmu build
>    tcg is enabled in others softmmu and all users build
> 
> (3)./configure --disable-tcg --target-list=x86_64-softmmu, x86_64-linux-user
>    tcg is disabled in x86_64 softmmu build
>    tcg is enabled in x86_64 linux user build 
> 
> How to verify disable-tcg option
> (1)./configure
>    a)all user and softmmu build are okay.
>    b) CONFIG_TCG=y is set in $config_target_mak in all user and softmmu 
> directory
>    c)kvm starting vm is okay
>      ./qemu-system-x86_64 -enable-kvm -cpu host -m 2G -smp 
> cpus=4,cores=4,threads=1,\
>        sockets=1 -drive format=raw,file=eywa.img,index=0,media=disk 
> -nographic -serial \
>        stdio -nodefaults
>    d)tcg starting vm is okay
>      ./qemu-system-x86_64 -m 2G -smp cpus=4,cores=4,threads=1,sockets=1 
> -drive format=raw,\
>         file=eywa.img,index=0,media=disk -nographic -serial stdio -nodefaults
> 
> (2) ./configure --disable-tcg  
>    a) all user and softmmu build are okay.
>    b) CONFIG_TCG=y is not set in $config_target_mak in i386_softmmu and 
> x86_64-softmmu 
>       directory
>    c) kvm starting vm is okay
>      ./qemu-system-x86_64 -enable-kvm -cpu host -m 2G -smp 
> cpus=4,cores=4,threads=1,\
>        sockets=1 -drive format=raw,file=eywa.img,index=0,media=disk 
> -nographic -serial \
>        stdio -nodefaults
>    d) tcg starting vm is aborted
>       The log as below:
>       "tcg" accelerator not found.
>       No accelerator found!
> 
> 
> Yang Zhong (15):
>   configure: add the disable-tcg option
>   vl: add CONFIG_TCG for tcg related code
>   tcg: tcg_handle_interrupt() function
>   tcg: change tcg_enabled()
>   tcg: move page_size_init() function
>   kvmvapic: remove tcg related code
>   tcg: move cpu_sync_bndcs_hflags() function
>   tcg: make cpu_get_fp80()/cpu_set_fp80() static
>   tcg: add the tcg-stub.c file into accel/stubs/
>   tcg: move tb related lock functions
>   tcg: split cpu_set_mxcsr()/cpu_set_fpuc()
>   tcg: remove inline definition of flush_icache_range()
>   tcg: disable tcg in CPUX86State struct
>   tcg: add the CONFIG_TCG for header
>   tcg: add the CONFIG_TCG into Makefiles
> 
>  Makefile.target              |   4 +-
>  accel/Makefile.objs          |   2 +-
>  accel/stubs/Makefile.objs    |   1 +
>  accel/stubs/tcg-stub.c       | 129 
> +++++++++++++++++++++++++++++++++++++++++++
>  accel/tcg/Makefile.objs      |   2 +-
>  accel/tcg/cpu-exec.c         |   1 +
>  accel/tcg/cputlb.c           |   1 +
>  accel/tcg/tcg-all.c          |   2 +-
>  accel/tcg/translate-all.c    |  54 ++++++++++--------
>  accel/tcg/translate-all.h    |   3 +
>  accel/tcg/translate-common.c |  56 -------------------
>  bsd-user/main.c              |   1 +
>  configure                    |  28 +++++++++-
>  cpus.c                       |   4 +-
>  exec.c                       |  20 +++++++
>  hw/i386/kvmvapic.c           |  24 --------
>  include/exec/cpu-defs.h      |   4 +-
>  include/exec/cputlb.h        |   2 +-
>  include/exec/exec-all.h      |  53 +++++++++---------
>  include/exec/helper-proto.h  |   2 +
>  include/qemu-common.h        |   7 ++-
>  linux-user/main.c            |   2 +-
>  target/i386/Makefile.objs    |   7 ++-
>  target/i386/cpu.h            |  22 ++++++--
>  target/i386/fpu_helper.c     |  26 +--------
>  target/i386/helper.c         |  34 +++++++++++-
>  target/i386/machine.c        |  18 ++++++
>  target/i386/mpx_helper.c     |  30 ----------
>  tcg/i386/tcg-target.h        |   5 +-
>  tcg/i386/tcg-target.inc.c    |   4 ++
>  tcg/tcg.h                    |   4 --
>  trace/control-target.c       |   1 -
>  vl.c                         |  12 ++++
>  33 files changed, 356 insertions(+), 209 deletions(-)
>  create mode 100644 accel/stubs/tcg-stub.c
>  delete mode 100644 accel/tcg/translate-common.c
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]