[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 6/6] tcg: Add tcg interpreter to configure / make
From: |
Stefan Weil |
Subject: |
[Qemu-devel] [PATCH v2 6/6] tcg: Add tcg interpreter to configure / make |
Date: |
Thu, 20 Oct 2011 23:11:25 +0200 |
Signed-off-by: Stefan Weil <address@hidden>
---
Makefile.target | 4 ++++
configure | 34 ++++++++++++++++++++++++++++++++--
2 files changed, 36 insertions(+), 2 deletions(-)
diff --git a/Makefile.target b/Makefile.target
index 417f23e..924f733 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -69,6 +69,7 @@ all: $(PROGS) stap
# cpu emulator library
libobj-y = exec.o translate-all.o cpu-exec.o translate.o
libobj-y += tcg/tcg.o tcg/optimize.o
+libobj-$(CONFIG_TCG_INTERPRETER) += tci.o
libobj-y += fpu/softfloat.o
libobj-y += op_helper.o helper.o
ifeq ($(TARGET_BASE_ARCH), i386)
@@ -78,6 +79,9 @@ libobj-$(CONFIG_NEED_MMU) += mmu.o
libobj-$(TARGET_ARM) += neon_helper.o iwmmxt_helper.o
libobj-y += disas.o
+libobj-$(CONFIG_TCI_DIS) += tci-dis.o
+
+tci-dis.o: QEMU_CFLAGS += -I$(SRC_PATH)/tcg -I$(SRC_PATH)/tcg/tci
$(libobj-y): $(GENERATED_HEADERS)
diff --git a/configure b/configure
index 4f87e0a..b634cc8 100755
--- a/configure
+++ b/configure
@@ -138,6 +138,7 @@ debug_tcg="no"
debug_mon="no"
debug="no"
strip_opt="yes"
+tcg_interpreter="no"
bigendian="no"
mingw32="no"
EXESUF=""
@@ -653,6 +654,10 @@ for opt do
;;
--enable-kvm) kvm="yes"
;;
+ --disable-tcg-interpreter) tcg_interpreter="no"
+ ;;
+ --enable-tcg-interpreter) tcg_interpreter="yes"
+ ;;
--disable-spice) spice="no"
;;
--enable-spice) spice="yes"
@@ -1004,6 +1009,7 @@ echo " --enable-bluez enable bluez stack
connectivity"
echo " --disable-slirp disable SLIRP userspace network connectivity"
echo " --disable-kvm disable KVM acceleration support"
echo " --enable-kvm enable KVM acceleration support"
+echo " --enable-tcg-interpreter enable TCG with bytecode interpreter (TCI)"
echo " --disable-nptl disable usermode NPTL support"
echo " --enable-nptl enable usermode NPTL support"
echo " --enable-system enable all system emulation targets"
@@ -2729,6 +2735,7 @@ echo "Linux AIO support $linux_aio"
echo "ATTR/XATTR support $attr"
echo "Install blobs $blobs"
echo "KVM support $kvm"
+echo "TCG interpreter $tcg_interpreter"
echo "fdt support $fdt"
echo "preadv support $preadv"
echo "fdatasync $fdatasync"
@@ -2776,6 +2783,15 @@ case "$cpu" in
armv4b|armv4l)
ARCH=arm
;;
+ *)
+ if test "$tcg_interpreter" = "yes" ; then
+ echo "Unsupported CPU = $cpu, will use TCG with TCI (experimental)"
+ ARCH=tci
+ else
+ echo "Unsupported CPU = $cpu, try --enable-tcg-interpreter"
+ exit 1
+ fi
+ ;;
esac
echo "ARCH=$ARCH" >> $config_host_mak
if test "$debug_tcg" = "yes" ; then
@@ -3009,6 +3025,9 @@ fi
if test "$signalfd" = "yes" ; then
echo "CONFIG_SIGNALFD=y" >> $config_host_mak
fi
+if test "$tcg_interpreter" = "yes" ; then
+ echo "CONFIG_TCG_INTERPRETER=y" >> $config_host_mak
+fi
if test "$need_offsetof" = "yes" ; then
echo "CONFIG_NEED_OFFSETOF=y" >> $config_host_mak
fi
@@ -3477,7 +3496,9 @@ cflags=""
includes=""
ldflags=""
-if test "$ARCH" = "sparc64" ; then
+if test "$tcg_interpreter" = "yes"; then
+ includes="-I\$(SRC_PATH)/tcg/tci $includes"
+elif test "$ARCH" = "sparc64" ; then
includes="-I\$(SRC_PATH)/tcg/sparc $includes"
elif test "$ARCH" = "s390x" ; then
includes="-I\$(SRC_PATH)/tcg/s390 $includes"
@@ -3554,6 +3575,10 @@ for i in $ARCH $TARGET_BASE_ARCH ; do
;;
esac
done
+if test "$tcg_interpreter" = "yes" ; then
+ echo "CONFIG_TCI_DIS=y" >> $config_target_mak
+ echo "CONFIG_TCI_DIS=y" >> $libdis_config_mak
+fi
case "$ARCH" in
alpha)
@@ -3600,7 +3625,12 @@ if test "$gprof" = "yes" ; then
fi
fi
-linker_script="-Wl,-T../config-host.ld -Wl,-T,\$(SRC_PATH)/\$(ARCH).ld"
+if test "$ARCH" = "tci"; then
+ linker_script=""
+else
+ linker_script="-Wl,-T../config-host.ld -Wl,-T,\$(SRC_PATH)/\$(ARCH).ld"
+fi
+
if test "$target_linux_user" = "yes" -o "$target_bsd_user" = "yes" ; then
case "$ARCH" in
sparc)
--
1.7.2.5
- [Qemu-devel] [PATCH v2 0/6] tcg/interpreter: Add TCG + interpreter for bytecode, Stefan Weil, 2011/10/20
- [Qemu-devel] [PATCH v2 1/6] tcg: TCG targets may define tcg_qemu_tb_exec, Stefan Weil, 2011/10/20
- [Qemu-devel] [PATCH v2 2/6] tcg: Make ARRAY_SIZE(tcg_op_defs) globally available, Stefan Weil, 2011/10/20
- [Qemu-devel] [PATCH v2 3/6] tcg: Add bytecode generator for tcg interpreter, Stefan Weil, 2011/10/20
- [Qemu-devel] [PATCH v2 4/6] tcg: Add interpreter for bytecode, Stefan Weil, 2011/10/20
- [Qemu-devel] [PATCH v2 5/6] tcg: Add tci disassembler, Stefan Weil, 2011/10/20
- [Qemu-devel] [PATCH v2 6/6] tcg: Add tcg interpreter to configure / make,
Stefan Weil <=