qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/5] configure: TARGET_ARCH cleanups
@ 2013-06-04 12:45 Paolo Bonzini
  2013-06-04 12:45 ` [Qemu-devel] [PATCH v2 1/5] Add a stp file for usage from build directory Paolo Bonzini
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Paolo Bonzini @ 2013-06-04 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, stefanha

We have three variables currently in config-target.h:

- TARGET_ARCH is used to create a unique per-arch symbol, used in #ifdefs.
  It is also used as a string through config-target.h, but this is almost
  always wrong.

- TARGET_ARCH2 is the name of the executable (minus the qemu-/qemu-system-
  prefix); it is not available in config-target.h.

- TARGET_TYPE is an enum but is otherwise the same as TARGET_ARCH2

This series changes all uses of TARGET_ARCH to refer to TARGET_ARCH2
instead (which is renamed to TARGET_NAME).  The TARGET_ARCH #define
is dropped, only the per-arch symbol remains.  TARGET_TYPE is then also
removed since it is serialized to the same string if TARGET_NAME is
used directly.

I included Alon's patch because of a nasty semantic conflict between it
and patch "build: do not use TARGET_ARCH".

Alon Levy (1):
  Add a stp file for usage from build directory

Paolo Bonzini (4):
  build: rename TARGET_ARCH2 to TARGET_NAME
  build: do not use TARGET_ARCH
  main: use TARGET_ARCH only for the target-specific #define
  build: drop TARGET_TYPE

 Makefile.target       | 28 +++++++++++++++++++---------
 arch_init.c           |  4 ++--
 bsd-user/main.c       |  6 +++---
 configure             | 42 ++++++++++++++++++++----------------------
 docs/tracing.txt      |  2 +-
 linux-user/main.c     |  6 +++---
 qapi-schema.json      | 18 +-----------------
 scripts/create_config | 15 +++++----------
 scripts/tracetool.py  | 18 +++++++++---------
 9 files changed, 63 insertions(+), 76 deletions(-)

-- 
1.8.1.4

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PATCH v2 1/5] Add a stp file for usage from build directory
  2013-06-04 12:45 [Qemu-devel] [PATCH v2 0/5] configure: TARGET_ARCH cleanups Paolo Bonzini
@ 2013-06-04 12:45 ` Paolo Bonzini
  2013-06-04 12:45 ` [Qemu-devel] [PATCH v2 2/5] build: rename TARGET_ARCH2 to TARGET_NAME Paolo Bonzini
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Paolo Bonzini @ 2013-06-04 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, Alon Levy, stefanha

From: Alon Levy <alevy@redhat.com>

For systemtap the location of the process being tapped is crucial, as a
result the existing stp file requires installation for use.

There are now two files:
$(TARGET_DIR)/$(QEMU_PROG).stp-installed: copied to $(tapdir)/$(QEMU_PROG).stp
$(TARGET_DIR)/$(QEMU_PROG).stp: pointing to the built binary, usable
                                without installation

To use:
stap -I $(TARGET_DIR) ...

Signed-off-by: Alon Levy <alevy@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 Makefile.target | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/Makefile.target b/Makefile.target
index ce4391f..a44c8ed 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -35,7 +35,7 @@ config-target.h: config-target.h-timestamp
 config-target.h-timestamp: config-target.mak
 
 ifdef CONFIG_TRACE_SYSTEMTAP
-stap: $(QEMU_PROG).stp
+stap: $(QEMU_PROG).stp-installed $(QEMU_PROG).stp
 
 ifdef CONFIG_USER_ONLY
 TARGET_TYPE=user
@@ -43,14 +43,24 @@ else
 TARGET_TYPE=system
 endif
 
-$(QEMU_PROG).stp: $(SRC_PATH)/trace-events
+$(QEMU_PROG).stp-installed: $(SRC_PATH)/trace-events
 	$(call quiet-command,$(TRACETOOL) \
 		--format=stap \
 		--backend=$(TRACE_BACKEND) \
 		--binary=$(bindir)/$(QEMU_PROG) \
 		--target-arch=$(TARGET_ARCH) \
 		--target-type=$(TARGET_TYPE) \
+		< $< > $@,"  GEN   $(TARGET_DIR)$(QEMU_PROG).stp-installed")
+
+$(QEMU_PROG).stp: $(SRC_PATH)/trace-events
+	$(call quiet-command,$(TRACETOOL) \
+		--format=stap \
+		--backend=$(TRACE_BACKEND) \
+		--binary=$(realpath .)/$(QEMU_PROG) \
+		--target-arch=$(TARGET_ARCH) \
+		--target-type=$(TARGET_TYPE) \
 		< $< > $@,"  GEN   $(TARGET_DIR)$(QEMU_PROG).stp")
+
 else
 stap:
 endif
@@ -186,7 +196,7 @@ endif
 endif
 ifdef CONFIG_TRACE_SYSTEMTAP
 	$(INSTALL_DIR) "$(DESTDIR)$(qemu_datadir)/../systemtap/tapset"
-	$(INSTALL_DATA) $(QEMU_PROG).stp "$(DESTDIR)$(qemu_datadir)/../systemtap/tapset"
+	$(INSTALL_DATA) $(QEMU_PROG).stp-installed "$(DESTDIR)$(qemu_datadir)/../systemtap/tapset/$(QEMU_PROG).stp"
 endif
 
 GENERATED_HEADERS += config-target.h
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PATCH v2 2/5] build: rename TARGET_ARCH2 to TARGET_NAME
  2013-06-04 12:45 [Qemu-devel] [PATCH v2 0/5] configure: TARGET_ARCH cleanups Paolo Bonzini
  2013-06-04 12:45 ` [Qemu-devel] [PATCH v2 1/5] Add a stp file for usage from build directory Paolo Bonzini
@ 2013-06-04 12:45 ` Paolo Bonzini
  2013-06-04 12:45 ` [Qemu-devel] [PATCH v2 3/5] build: do not use TARGET_ARCH Paolo Bonzini
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Paolo Bonzini @ 2013-06-04 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, stefanha

Do not introduce any new use yet.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 Makefile.target       |  6 +++---
 configure             | 42 +++++++++++++++++++++---------------------
 scripts/create_config |  2 +-
 3 files changed, 25 insertions(+), 25 deletions(-)

diff --git a/Makefile.target b/Makefile.target
index a44c8ed..acca287 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -15,14 +15,14 @@ QEMU_CFLAGS+=-I$(SRC_PATH)/include
 
 ifdef CONFIG_USER_ONLY
 # user emulator name
-QEMU_PROG=qemu-$(TARGET_ARCH2)
+QEMU_PROG=qemu-$(TARGET_NAME)
 else
 # system emulator name
 ifneq (,$(findstring -mwindows,$(libs_softmmu)))
 # Terminate program name with a 'w' because the linker builds a windows executable.
-QEMU_PROGW=qemu-system-$(TARGET_ARCH2)w$(EXESUF)
+QEMU_PROGW=qemu-system-$(TARGET_NAME)w$(EXESUF)
 endif # windows executable
-QEMU_PROG=qemu-system-$(TARGET_ARCH2)$(EXESUF)
+QEMU_PROG=qemu-system-$(TARGET_NAME)$(EXESUF)
 endif
 
 PROGS=$(QEMU_PROG)
diff --git a/configure b/configure
index eb74510..e75aaaa 100755
--- a/configure
+++ b/configure
@@ -4141,10 +4141,10 @@ fi
 for target in $target_list; do
 target_dir="$target"
 config_target_mak=$target_dir/config-target.mak
-target_arch2=`echo $target | cut -d '-' -f 1`
+target_name=`echo $target | cut -d '-' -f 1`
 target_bigendian="no"
 
-case "$target_arch2" in
+case "$target_name" in
   armeb|lm32|m68k|microblaze|mips|mipsn32|mips64|moxie|or32|ppc|ppcemb|ppc64|ppc64abi32|s390x|sh4eb|sparc|sparc64|sparc32plus|xtensaeb)
   target_bigendian=yes
   ;;
@@ -4154,17 +4154,17 @@ target_user_only="no"
 target_linux_user="no"
 target_bsd_user="no"
 case "$target" in
-  ${target_arch2}-softmmu)
+  ${target_name}-softmmu)
     target_softmmu="yes"
     ;;
-  ${target_arch2}-linux-user)
+  ${target_name}-linux-user)
     if test "$linux" != "yes" ; then
       error_exit "Target '$target' is only available on a Linux host"
     fi
     target_user_only="yes"
     target_linux_user="yes"
     ;;
-  ${target_arch2}-bsd-user)
+  ${target_name}-bsd-user)
     if test "$bsd" != "yes" ; then
       error_exit "Target '$target' is only available on a BSD host"
     fi
@@ -4182,14 +4182,14 @@ echo "# Automatically generated by configure - do not modify" > $config_target_m
 
 bflt="no"
 target_nptl="no"
-interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_arch2/g"`
+interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_name/g"`
 gdb_xml_files=""
 
-TARGET_ARCH="$target_arch2"
+TARGET_ARCH="$target_name"
 TARGET_BASE_ARCH=""
 TARGET_ABI_DIR=""
 
-case "$target_arch2" in
+case "$target_name" in
   i386)
   ;;
   x86_64)
@@ -4304,14 +4304,14 @@ upper() {
 echo "TARGET_ARCH=$TARGET_ARCH" >> $config_target_mak
 target_arch_name="`upper $TARGET_ARCH`"
 echo "TARGET_$target_arch_name=y" >> $config_target_mak
-echo "TARGET_ARCH2=$target_arch2" >> $config_target_mak
-echo "TARGET_TYPE=TARGET_TYPE_`upper $target_arch2`" >> $config_target_mak
+echo "TARGET_NAME=$target_name" >> $config_target_mak
+echo "TARGET_TYPE=TARGET_TYPE_`upper $target_name`" >> $config_target_mak
 echo "TARGET_BASE_ARCH=$TARGET_BASE_ARCH" >> $config_target_mak
 if [ "$TARGET_ABI_DIR" = "" ]; then
   TARGET_ABI_DIR=$TARGET_ARCH
 fi
 echo "TARGET_ABI_DIR=$TARGET_ABI_DIR" >> $config_target_mak
-case "$target_arch2" in
+case "$target_name" in
   i386|x86_64)
     if test "$xen" = "yes" -a "$target_softmmu" = "yes" ; then
       echo "CONFIG_XEN=y" >> $config_target_mak
@@ -4322,24 +4322,24 @@ case "$target_arch2" in
     ;;
   *)
 esac
-case "$target_arch2" in
+case "$target_name" in
   arm|i386|x86_64|ppcemb|ppc|ppc64|s390x)
     # Make sure the target and host cpus are compatible
     if test "$kvm" = "yes" -a "$target_softmmu" = "yes" -a \
-      \( "$target_arch2" = "$cpu" -o \
-      \( "$target_arch2" = "ppcemb" -a "$cpu" = "ppc" \) -o \
-      \( "$target_arch2" = "ppc64"  -a "$cpu" = "ppc" \) -o \
-      \( "$target_arch2" = "ppc"    -a "$cpu" = "ppc64" \) -o \
-      \( "$target_arch2" = "ppcemb" -a "$cpu" = "ppc64" \) -o \
-      \( "$target_arch2" = "x86_64" -a "$cpu" = "i386"   \) -o \
-      \( "$target_arch2" = "i386"   -a "$cpu" = "x86_64" \) \) ; then
+      \( "$target_name" = "$cpu" -o \
+      \( "$target_name" = "ppcemb" -a "$cpu" = "ppc" \) -o \
+      \( "$target_name" = "ppc64"  -a "$cpu" = "ppc" \) -o \
+      \( "$target_name" = "ppc"    -a "$cpu" = "ppc64" \) -o \
+      \( "$target_name" = "ppcemb" -a "$cpu" = "ppc64" \) -o \
+      \( "$target_name" = "x86_64" -a "$cpu" = "i386"   \) -o \
+      \( "$target_name" = "i386"   -a "$cpu" = "x86_64" \) \) ; then
       echo "CONFIG_KVM=y" >> $config_target_mak
       if test "$vhost_net" = "yes" ; then
         echo "CONFIG_VHOST_NET=y" >> $config_target_mak
       fi
     fi
 esac
-case "$target_arch2" in
+case "$target_name" in
   i386|x86_64)
     echo "CONFIG_HAVE_GET_MEMORY_MAPPING=y" >> $config_target_mak
 esac
@@ -4348,7 +4348,7 @@ if test "$target_bigendian" = "yes" ; then
 fi
 if test "$target_softmmu" = "yes" ; then
   echo "CONFIG_SOFTMMU=y" >> $config_target_mak
-  case "$target_arch2" in
+  case "$target_name" in
     i386|x86_64)
       echo "CONFIG_HAVE_CORE_DUMP=y" >> $config_target_mak
   esac
diff --git a/scripts/create_config b/scripts/create_config
index c471e8c..e52cca1 100755
--- a/scripts/create_config
+++ b/scripts/create_config
@@ -87,7 +87,7 @@ case $line in
  TARGET_ABI_DIR=*)
     # do nothing
     ;;
- TARGET_ARCH2=*)
+ TARGET_NAME=*)
     # do nothing
     ;;
  TARGET_DIRS=*)
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PATCH v2 3/5] build: do not use TARGET_ARCH
  2013-06-04 12:45 [Qemu-devel] [PATCH v2 0/5] configure: TARGET_ARCH cleanups Paolo Bonzini
  2013-06-04 12:45 ` [Qemu-devel] [PATCH v2 1/5] Add a stp file for usage from build directory Paolo Bonzini
  2013-06-04 12:45 ` [Qemu-devel] [PATCH v2 2/5] build: rename TARGET_ARCH2 to TARGET_NAME Paolo Bonzini
@ 2013-06-04 12:45 ` Paolo Bonzini
  2013-06-04 12:45 ` [Qemu-devel] [PATCH v2 4/5] main: use TARGET_ARCH only for the target-specific #define Paolo Bonzini
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Paolo Bonzini @ 2013-06-04 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, stefanha

TARGET_ARCH is generally wrong to use, there are better variables
provided in config-target.mak.  The right one is usually TARGET_NAME
(previously TARGET_ARCH2), but for bsd-user we can also use TARGET_ABI_DIR
for consistency with linux-user.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 Makefile.target      |  8 ++++----
 docs/tracing.txt     |  2 +-
 scripts/tracetool.py | 18 +++++++++---------
 3 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/Makefile.target b/Makefile.target
index acca287..db4cf0c 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -48,7 +48,7 @@ $(QEMU_PROG).stp-installed: $(SRC_PATH)/trace-events
 		--format=stap \
 		--backend=$(TRACE_BACKEND) \
 		--binary=$(bindir)/$(QEMU_PROG) \
-		--target-arch=$(TARGET_ARCH) \
+		--target-name=$(TARGET_NAME) \
 		--target-type=$(TARGET_TYPE) \
 		< $< > $@,"  GEN   $(TARGET_DIR)$(QEMU_PROG).stp-installed")
 
@@ -57,7 +57,7 @@ $(QEMU_PROG).stp: $(SRC_PATH)/trace-events
 		--format=stap \
 		--backend=$(TRACE_BACKEND) \
 		--binary=$(realpath .)/$(QEMU_PROG) \
-		--target-arch=$(TARGET_ARCH) \
+		--target-name=$(TARGET_NAME) \
 		--target-type=$(TARGET_TYPE) \
 		< $< > $@,"  GEN   $(TARGET_DIR)$(QEMU_PROG).stp")
 
@@ -105,7 +105,7 @@ endif #CONFIG_LINUX_USER
 
 ifdef CONFIG_BSD_USER
 
-QEMU_CFLAGS+=-I$(SRC_PATH)/bsd-user -I$(SRC_PATH)/bsd-user/$(TARGET_ARCH)
+QEMU_CFLAGS+=-I$(SRC_PATH)/bsd-user -I$(SRC_PATH)/bsd-user/$(TARGET_ABI_DIR)
 
 obj-y += bsd-user/
 obj-y += gdbstub.o user-exec.o
@@ -132,7 +132,7 @@ obj-$(CONFIG_XEN) += xen-all.o xen-mapcache.o
 obj-$(CONFIG_NO_XEN) += xen-stub.o
 
 # Hardware support
-ifeq ($(TARGET_ARCH), sparc64)
+ifeq ($(TARGET_NAME), sparc64)
 obj-y += hw/sparc64/
 else
 obj-y += hw/$(TARGET_BASE_ARCH)/
diff --git a/docs/tracing.txt b/docs/tracing.txt
index 60ff9c5..bfc261b 100644
--- a/docs/tracing.txt
+++ b/docs/tracing.txt
@@ -225,7 +225,7 @@ probes:
     scripts/tracetool --dtrace --stap \
                       --binary path/to/qemu-binary \
                       --target-type system \
-                      --target-arch x86_64 \
+                      --target-name x86_64 \
                       <trace-events >qemu.stp
 
 == Trace event properties ==
diff --git a/scripts/tracetool.py b/scripts/tracetool.py
index a79ec0f..5f4890f 100755
--- a/scripts/tracetool.py
+++ b/scripts/tracetool.py
@@ -46,9 +46,9 @@ Options:
     --check-backend          Check if the given backend is valid.
     --binary <path>          Full path to QEMU binary.
     --target-type <type>     QEMU emulator target type ('system' or 'user').
-    --target-arch <arch>     QEMU emulator target arch.
+    --target-name <name>     QEMU emulator target name.
     --probe-prefix <prefix>  Prefix for dtrace probe names
-                             (default: qemu-<target-type>-<target-arch>).\
+                             (default: qemu-<target-type>-<target-name>).\
 """ % {
             "script" : _SCRIPT,
             "backends" : backend_descr,
@@ -66,7 +66,7 @@ def main(args):
     _SCRIPT = args[0]
 
     long_opts  = [ "backend=", "format=", "help", "list-backends", "check-backend" ]
-    long_opts += [ "binary=", "target-type=", "target-arch=", "probe-prefix=" ]
+    long_opts += [ "binary=", "target-type=", "target-name=", "probe-prefix=" ]
 
     try:
         opts, args = getopt.getopt(args[1:], "", long_opts)
@@ -78,7 +78,7 @@ def main(args):
     arg_format = ""
     binary = None
     target_type = None
-    target_arch = None
+    target_name = None
     probe_prefix = None
     for opt, arg in opts:
         if opt == "--help":
@@ -100,8 +100,8 @@ def main(args):
             binary = arg
         elif opt == '--target-type':
             target_type = arg
-        elif opt == '--target-arch':
-            target_arch = arg
+        elif opt == '--target-name':
+            target_name = arg
         elif opt == '--probe-prefix':
             probe_prefix = arg
 
@@ -122,11 +122,11 @@ def main(args):
             error_opt("--binary is required for SystemTAP tapset generator")
         if probe_prefix is None and target_type is None:
             error_opt("--target-type is required for SystemTAP tapset generator")
-        if probe_prefix is None and target_arch is None:
-            error_opt("--target-arch is required for SystemTAP tapset generator")
+        if probe_prefix is None and target_name is None:
+            error_opt("--target-name is required for SystemTAP tapset generator")
 
         if probe_prefix is None:
-            probe_prefix = ".".join([ "qemu", target_type, target_arch ])
+            probe_prefix = ".".join([ "qemu", target_type, target_name ])
 
     try:
         tracetool.generate(sys.stdin, arg_format, arg_backend,
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PATCH v2 4/5] main: use TARGET_ARCH only for the target-specific #define
  2013-06-04 12:45 [Qemu-devel] [PATCH v2 0/5] configure: TARGET_ARCH cleanups Paolo Bonzini
                   ` (2 preceding siblings ...)
  2013-06-04 12:45 ` [Qemu-devel] [PATCH v2 3/5] build: do not use TARGET_ARCH Paolo Bonzini
@ 2013-06-04 12:45 ` Paolo Bonzini
  2013-06-04 12:45 ` [Qemu-devel] [PATCH v2 5/5] build: drop TARGET_TYPE Paolo Bonzini
  2013-06-13 14:39 ` [Qemu-devel] [PATCH v2 0/5] configure: TARGET_ARCH cleanups Peter Maydell
  5 siblings, 0 replies; 7+ messages in thread
From: Paolo Bonzini @ 2013-06-04 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, stefanha

Everything else needs to match the executable name, which is
TARGET_NAME.

Before:
    $ sh4eb-linux-user/qemu-sh4eb --help
    usage: qemu-sh4 [options] program [arguments...]
    Linux CPU emulator (compiled for sh4 emulation)

After:
    $ sh4eb-linux-user/qemu-sh4eb --help
    usage: qemu-sh4eb [options] program [arguments...]
    Linux CPU emulator (compiled for sh4eb emulation)

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 arch_init.c           |  2 +-
 bsd-user/main.c       |  6 +++---
 configure             |  1 -
 linux-user/main.c     |  6 +++---
 scripts/create_config | 13 ++++---------
 5 files changed, 11 insertions(+), 17 deletions(-)

diff --git a/arch_init.c b/arch_init.c
index 5d32ecf..23ca953 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -123,7 +123,7 @@ static struct defconfig_file {
     bool userconfig;
 } default_config_files[] = {
     { CONFIG_QEMU_CONFDIR "/qemu.conf",                   true },
-    { CONFIG_QEMU_CONFDIR "/target-" TARGET_ARCH ".conf", true },
+    { CONFIG_QEMU_CONFDIR "/target-" TARGET_NAME ".conf", true },
     { NULL }, /* end of list */
 };
 
diff --git a/bsd-user/main.c b/bsd-user/main.c
index 0da3ab9..572f13a 100644
--- a/bsd-user/main.c
+++ b/bsd-user/main.c
@@ -670,8 +670,8 @@ void cpu_loop(CPUSPARCState *env)
 
 static void usage(void)
 {
-    printf("qemu-" TARGET_ARCH " version " QEMU_VERSION ", Copyright (c) 2003-2008 Fabrice Bellard\n"
-           "usage: qemu-" TARGET_ARCH " [options] program [arguments...]\n"
+    printf("qemu-" TARGET_NAME " version " QEMU_VERSION ", Copyright (c) 2003-2008 Fabrice Bellard\n"
+           "usage: qemu-" TARGET_NAME " [options] program [arguments...]\n"
            "BSD CPU emulator (compiled for %s emulation)\n"
            "\n"
            "Standard options:\n"
@@ -706,7 +706,7 @@ static void usage(void)
            "Note that if you provide several changes to single variable\n"
            "last change will stay in effect.\n"
            ,
-           TARGET_ARCH,
+           TARGET_NAME,
            interp_prefix,
            x86_stack_size);
     exit(1);
diff --git a/configure b/configure
index e75aaaa..1d47ee8 100755
--- a/configure
+++ b/configure
@@ -4301,7 +4301,6 @@ upper() {
     echo "$@"| LC_ALL=C tr '[a-z]' '[A-Z]'
 }
 
-echo "TARGET_ARCH=$TARGET_ARCH" >> $config_target_mak
 target_arch_name="`upper $TARGET_ARCH`"
 echo "TARGET_$target_arch_name=y" >> $config_target_mak
 echo "TARGET_NAME=$target_name" >> $config_target_mak
diff --git a/linux-user/main.c b/linux-user/main.c
index b97b8cf..21725a4 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -3339,7 +3339,7 @@ static void handle_arg_strace(const char *arg)
 
 static void handle_arg_version(const char *arg)
 {
-    printf("qemu-" TARGET_ARCH " version " QEMU_VERSION QEMU_PKGVERSION
+    printf("qemu-" TARGET_NAME " version " QEMU_VERSION QEMU_PKGVERSION
            ", Copyright (c) 2003-2008 Fabrice Bellard\n");
     exit(0);
 }
@@ -3400,8 +3400,8 @@ static void usage(void)
     int maxarglen;
     int maxenvlen;
 
-    printf("usage: qemu-" TARGET_ARCH " [options] program [arguments...]\n"
-           "Linux CPU emulator (compiled for " TARGET_ARCH " emulation)\n"
+    printf("usage: qemu-" TARGET_NAME " [options] program [arguments...]\n"
+           "Linux CPU emulator (compiled for " TARGET_NAME " emulation)\n"
            "\n"
            "Options and associated environment variables:\n"
            "\n");
diff --git a/scripts/create_config b/scripts/create_config
index e52cca1..d776927 100755
--- a/scripts/create_config
+++ b/scripts/create_config
@@ -70,16 +70,10 @@ case $line in
     value=${line#*=}
     echo "#define $name $value"
     ;;
- TARGET_ARCH=*) # configuration
-    target_arch=${line#*=}
-    echo "#define TARGET_ARCH \"$target_arch\""
-    ;;
  TARGET_BASE_ARCH=*) # configuration
     target_base_arch=${line#*=}
-    if [ "$target_base_arch" != "$target_arch" ]; then
-      base_arch_name=`echo $target_base_arch | LC_ALL=C tr '[a-z]' '[A-Z]'`
-      echo "#define TARGET_$base_arch_name 1"
-    fi
+    base_arch_name=`echo $target_base_arch | LC_ALL=C tr '[a-z]' '[A-Z]'`
+    echo "#define TARGET_$base_arch_name 1"
     ;;
  TARGET_XML_FILES=*)
     # do nothing
@@ -88,7 +82,8 @@ case $line in
     # do nothing
     ;;
  TARGET_NAME=*)
-    # do nothing
+    target_name=${line#*=}
+    echo "#define TARGET_NAME \"$target_name\""
     ;;
  TARGET_DIRS=*)
     # do nothing
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PATCH v2 5/5] build: drop TARGET_TYPE
  2013-06-04 12:45 [Qemu-devel] [PATCH v2 0/5] configure: TARGET_ARCH cleanups Paolo Bonzini
                   ` (3 preceding siblings ...)
  2013-06-04 12:45 ` [Qemu-devel] [PATCH v2 4/5] main: use TARGET_ARCH only for the target-specific #define Paolo Bonzini
@ 2013-06-04 12:45 ` Paolo Bonzini
  2013-06-13 14:39 ` [Qemu-devel] [PATCH v2 0/5] configure: TARGET_ARCH cleanups Peter Maydell
  5 siblings, 0 replies; 7+ messages in thread
From: Paolo Bonzini @ 2013-06-04 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, stefanha

Just use the TARGET_NAME free string.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 arch_init.c      |  2 +-
 configure        |  1 -
 qapi-schema.json | 18 +-----------------
 3 files changed, 2 insertions(+), 19 deletions(-)

diff --git a/arch_init.c b/arch_init.c
index 23ca953..699c927 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -1094,7 +1094,7 @@ TargetInfo *qmp_query_target(Error **errp)
 {
     TargetInfo *info = g_malloc0(sizeof(*info));
 
-    info->arch = TARGET_TYPE;
+    info->arch = g_strdup(TARGET_NAME);
 
     return info;
 }
diff --git a/configure b/configure
index 1d47ee8..7a48748 100755
--- a/configure
+++ b/configure
@@ -4304,7 +4304,6 @@ upper() {
 target_arch_name="`upper $TARGET_ARCH`"
 echo "TARGET_$target_arch_name=y" >> $config_target_mak
 echo "TARGET_NAME=$target_name" >> $config_target_mak
-echo "TARGET_TYPE=TARGET_TYPE_`upper $target_name`" >> $config_target_mak
 echo "TARGET_BASE_ARCH=$TARGET_BASE_ARCH" >> $config_target_mak
 if [ "$TARGET_ABI_DIR" = "" ]; then
   TARGET_ABI_DIR=$TARGET_ARCH
diff --git a/qapi-schema.json b/qapi-schema.json
index ef1f657..f6428b0 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -3007,22 +3007,6 @@
 { 'command': 'query-fdsets', 'returns': ['FdsetInfo'] }
 
 ##
-# @TargetType
-#
-# Target CPU emulation type
-#
-# These parameters correspond to the softmmu binary CPU name that is currently
-# running.
-#
-# Since: 1.2.0
-##
-{ 'enum': 'TargetType',
-  'data': [ 'alpha', 'arm', 'cris', 'i386', 'lm32', 'm68k', 'microblazeel',
-            'microblaze', 'mips64el', 'mips64', 'mipsel', 'mips', 'moxie',
-            'or32', 'ppc64', 'ppcemb', 'ppc', 's390x', 'sh4eb', 'sh4',
-            'sparc64', 'sparc', 'unicore32', 'x86_64', 'xtensaeb', 'xtensa' ] }
-
-##
 # @TargetInfo:
 #
 # Information describing the QEMU target.
@@ -3032,7 +3016,7 @@
 # Since: 1.2.0
 ##
 { 'type': 'TargetInfo',
-  'data': { 'arch': 'TargetType' } }
+  'data': { 'arch': 'str' } }
 
 ##
 # @query-target:
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH v2 0/5] configure: TARGET_ARCH cleanups
  2013-06-04 12:45 [Qemu-devel] [PATCH v2 0/5] configure: TARGET_ARCH cleanups Paolo Bonzini
                   ` (4 preceding siblings ...)
  2013-06-04 12:45 ` [Qemu-devel] [PATCH v2 5/5] build: drop TARGET_TYPE Paolo Bonzini
@ 2013-06-13 14:39 ` Peter Maydell
  5 siblings, 0 replies; 7+ messages in thread
From: Peter Maydell @ 2013-06-13 14:39 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: qemu-devel, stefanha

On 4 June 2013 13:45, Paolo Bonzini <pbonzini@redhat.com> wrote:
> We have three variables currently in config-target.h:
>
> - TARGET_ARCH is used to create a unique per-arch symbol, used in #ifdefs.
>   It is also used as a string through config-target.h, but this is almost
>   always wrong.
>
> - TARGET_ARCH2 is the name of the executable (minus the qemu-/qemu-system-
>   prefix); it is not available in config-target.h.
>
> - TARGET_TYPE is an enum but is otherwise the same as TARGET_ARCH2

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

(PS: patch 5 here looks identical to patch 4 which got an r-by
from Eric Blake, but you don't seem to have carried that tag
forward; seems worth mentioning since that's the patch that
changes the qmp interface.)

thanks
-- PMM

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-06-13 14:40 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-04 12:45 [Qemu-devel] [PATCH v2 0/5] configure: TARGET_ARCH cleanups Paolo Bonzini
2013-06-04 12:45 ` [Qemu-devel] [PATCH v2 1/5] Add a stp file for usage from build directory Paolo Bonzini
2013-06-04 12:45 ` [Qemu-devel] [PATCH v2 2/5] build: rename TARGET_ARCH2 to TARGET_NAME Paolo Bonzini
2013-06-04 12:45 ` [Qemu-devel] [PATCH v2 3/5] build: do not use TARGET_ARCH Paolo Bonzini
2013-06-04 12:45 ` [Qemu-devel] [PATCH v2 4/5] main: use TARGET_ARCH only for the target-specific #define Paolo Bonzini
2013-06-04 12:45 ` [Qemu-devel] [PATCH v2 5/5] build: drop TARGET_TYPE Paolo Bonzini
2013-06-13 14:39 ` [Qemu-devel] [PATCH v2 0/5] configure: TARGET_ARCH cleanups Peter Maydell

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).