From: Yang Zhong <yang.zhong@intel.com>
To: pbonzini@redhat.com
Cc: qemu-devel@nongnu.org, a.rigo@virtualopensystems.com,
anthony.xu@intel.com, Yang Zhong <yang.zhong@intel.com>
Subject: [Qemu-devel] [PATCH 00/15] add disable-tcg option for x86 build
Date: Wed, 21 Jun 2017 18:19:46 +0800 [thread overview]
Message-ID: <1498040401-16361-1-git-send-email-yang.zhong@intel.com> (raw)
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
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
--
1.9.1
next reply other threads:[~2017-06-21 10:20 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-21 10:19 Yang Zhong [this message]
2017-06-21 10:19 ` [Qemu-devel] [PATCH 01/15] configure: add the disable-tcg option Yang Zhong
2017-06-21 22:33 ` Richard Henderson
2017-06-22 4:20 ` Thomas Huth
2017-06-22 6:22 ` Paolo Bonzini
2017-06-22 6:33 ` Thomas Huth
2017-06-22 9:26 ` Paolo Bonzini
2017-06-22 9:30 ` Thomas Huth
2017-06-22 9:32 ` Paolo Bonzini
2017-06-21 10:19 ` [Qemu-devel] [PATCH 02/15] vl: add CONFIG_TCG for tcg related code Yang Zhong
2017-06-21 13:10 ` Paolo Bonzini
2017-06-22 6:54 ` Zhong Yang
2017-06-21 10:19 ` [Qemu-devel] [PATCH 03/15] tcg: tcg_handle_interrupt() function Yang Zhong
2017-06-21 13:10 ` Paolo Bonzini
2017-06-22 7:06 ` Zhong Yang
2017-06-22 9:29 ` Paolo Bonzini
2017-06-21 10:19 ` [Qemu-devel] [PATCH 04/15] tcg: change tcg_enabled() Yang Zhong
2017-06-21 10:19 ` [Qemu-devel] [PATCH 05/15] tcg: move page_size_init() function Yang Zhong
2017-06-21 10:19 ` [Qemu-devel] [PATCH 06/15] kvmvapic: remove tcg related code Yang Zhong
2017-06-21 10:19 ` [Qemu-devel] [PATCH 07/15] tcg: move cpu_sync_bndcs_hflags() function Yang Zhong
2017-06-21 10:19 ` [Qemu-devel] [PATCH 08/15] tcg: make cpu_get_fp80()/cpu_set_fp80() static Yang Zhong
2017-06-21 10:19 ` [Qemu-devel] [PATCH 09/15] tcg: add the tcg-stub.c file into accel/stubs/ Yang Zhong
2017-06-21 10:19 ` [Qemu-devel] [PATCH 10/15] tcg: move tb related lock functions Yang Zhong
2017-06-21 10:19 ` [Qemu-devel] [PATCH 11/15] tcg: split cpu_set_mxcsr()/cpu_set_fpuc() Yang Zhong
2017-06-21 13:15 ` Paolo Bonzini
2017-06-22 8:03 ` Zhong Yang
2017-06-22 8:42 ` Paolo Bonzini
2017-06-21 22:36 ` Richard Henderson
2017-06-21 10:19 ` [Qemu-devel] [PATCH 12/15] tcg: remove inline definition of flush_icache_range() Yang Zhong
2017-06-21 13:17 ` Paolo Bonzini
2017-06-21 10:19 ` [Qemu-devel] [PATCH 13/15] tcg: disable tcg in CPUX86State struct Yang Zhong
2017-06-21 22:24 ` Richard Henderson
2017-06-22 9:32 ` Zhong Yang
2017-06-21 10:20 ` [Qemu-devel] [PATCH 14/15] tcg: add the CONFIG_TCG for header Yang Zhong
2017-06-21 10:20 ` [Qemu-devel] [PATCH 15/15] tcg: add the CONFIG_TCG into Makefiles Yang Zhong
2017-06-21 12:03 ` [Qemu-devel] [PATCH 00/15] add disable-tcg option for x86 build no-reply
2017-06-21 13:19 ` Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1498040401-16361-1-git-send-email-yang.zhong@intel.com \
--to=yang.zhong@intel.com \
--cc=a.rigo@virtualopensystems.com \
--cc=anthony.xu@intel.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).