qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/4] configure: don't disable nptl where not needed
@ 2013-06-25 11:33 Peter Maydell
  2013-06-25 11:33 ` [Qemu-devel] [PATCH 1/4] configure: Flip default of target_nptl Peter Maydell
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Peter Maydell @ 2013-06-25 11:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: patches, Riku Voipio, Alexander Graf, Blue Swirl, Guan Xuetao,
	Aurelien Jarno, Richard Henderson

This patchset cleans up configure's target_nptl setting by
making the default be "threading supported" rather than
"not supported". We then enable threading in some cases
which were very likely accidental failure to specifically
enable it under the old default (64 bit MIPS and PPC, and
Unicore32), and leave it defaulted to on for CPUs with no
linux-user target so that if one is added later it won't
be missing threading by accident.

In particular, this makes ppc64 work with Debian unstable:
without this we would fail with "bash: fork: Invalid argument"
due to the lack of clone() support.

NB: other than ppc64, targets without anything in the wiki's
linux-user-test-0.3.tar.gz have only been compile tested.
(I'd have tested MIPS but there's no Debian mips64.)

Peter Maydell (4):
  configure: Flip default of target_nptl
  configure: Don't say target_nptl="no" if there is no linux-user target
  configure: Enable threading on all ppc and mips linux-user targets
  configure: Enable threading for unicore32-linux-user

 configure |   18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

-- 
1.7.9.5

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

* [Qemu-devel] [PATCH 1/4] configure: Flip default of target_nptl
  2013-06-25 11:33 [Qemu-devel] [PATCH 0/4] configure: don't disable nptl where not needed Peter Maydell
@ 2013-06-25 11:33 ` Peter Maydell
  2013-06-25 11:33 ` [Qemu-devel] [PATCH 2/4] configure: Don't say target_nptl="no" if there is no linux-user target Peter Maydell
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2013-06-25 11:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: patches, Riku Voipio, Alexander Graf, Blue Swirl, Guan Xuetao,
	Aurelien Jarno, Richard Henderson

Most targets either (a) support threading or (b) don't have a
linux-user/bsd-user target, so make it default to 'yes', with those
targets that don't support threading having to specifically say so.

This is a mechanical no-behaviour-change commit; some of the
"no" entries it adds will be taken out in later patches.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 configure |   26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/configure b/configure
index ad32f87..d363f42 100755
--- a/configure
+++ b/configure
@@ -4145,7 +4145,7 @@ mkdir -p $target_dir
 echo "# Automatically generated by configure - do not modify" > $config_target_mak
 
 bflt="no"
-target_nptl="no"
+target_nptl="yes"
 interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_name/g"`
 gdb_xml_files=""
 
@@ -4155,69 +4155,71 @@ TARGET_ABI_DIR=""
 
 case "$target_name" in
   i386)
+    target_nptl="no"
   ;;
   x86_64)
     TARGET_BASE_ARCH=i386
+    target_nptl="no"
   ;;
   alpha)
-    target_nptl="yes"
   ;;
   arm|armeb)
     TARGET_ARCH=arm
     bflt="yes"
-    target_nptl="yes"
     gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"
   ;;
   cris)
-    target_nptl="yes"
   ;;
   lm32)
+    target_nptl="no"
   ;;
   m68k)
     bflt="yes"
     gdb_xml_files="cf-core.xml cf-fp.xml"
+    target_nptl="no"
   ;;
   microblaze|microblazeel)
     TARGET_ARCH=microblaze
     bflt="yes"
-    target_nptl="yes"
   ;;
   mips|mipsel)
     TARGET_ARCH=mips
     echo "TARGET_ABI_MIPSO32=y" >> $config_target_mak
-    target_nptl="yes"
   ;;
   mipsn32|mipsn32el)
     TARGET_ARCH=mips64
     TARGET_BASE_ARCH=mips
     echo "TARGET_ABI_MIPSN32=y" >> $config_target_mak
     echo "TARGET_ABI32=y" >> $config_target_mak
+    target_nptl="no"
   ;;
   mips64|mips64el)
     TARGET_ARCH=mips64
     TARGET_BASE_ARCH=mips
     echo "TARGET_ABI_MIPSN64=y" >> $config_target_mak
+    target_nptl="no"
   ;;
   moxie)
+    target_nptl="no"
   ;;
   or32)
     TARGET_ARCH=openrisc
     TARGET_BASE_ARCH=openrisc
+    target_nptl="no"
   ;;
   ppc)
     gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
-    target_nptl="yes"
   ;;
   ppcemb)
     TARGET_BASE_ARCH=ppc
     TARGET_ABI_DIR=ppc
     gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
-    target_nptl="yes"
   ;;
   ppc64)
     TARGET_BASE_ARCH=ppc
     TARGET_ABI_DIR=ppc
     gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
+    target_nptl="no"
   ;;
   ppc64abi32)
     TARGET_ARCH=ppc64
@@ -4225,30 +4227,34 @@ case "$target_name" in
     TARGET_ABI_DIR=ppc
     echo "TARGET_ABI32=y" >> $config_target_mak
     gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
+    target_nptl="no"
   ;;
   sh4|sh4eb)
     TARGET_ARCH=sh4
     bflt="yes"
-    target_nptl="yes"
   ;;
   sparc)
+    target_nptl="no"
   ;;
   sparc64)
     TARGET_BASE_ARCH=sparc
+    target_nptl="no"
   ;;
   sparc32plus)
     TARGET_ARCH=sparc64
     TARGET_BASE_ARCH=sparc
     TARGET_ABI_DIR=sparc
     echo "TARGET_ABI32=y" >> $config_target_mak
+    target_nptl="no"
   ;;
   s390x)
-    target_nptl="yes"
   ;;
   unicore32)
+    target_nptl="no"
   ;;
   xtensa|xtensaeb)
     TARGET_ARCH=xtensa
+    target_nptl="no"
   ;;
   *)
     error_exit "Unsupported target CPU"
-- 
1.7.9.5

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

* [Qemu-devel] [PATCH 2/4] configure: Don't say target_nptl="no" if there is no linux-user target
  2013-06-25 11:33 [Qemu-devel] [PATCH 0/4] configure: don't disable nptl where not needed Peter Maydell
  2013-06-25 11:33 ` [Qemu-devel] [PATCH 1/4] configure: Flip default of target_nptl Peter Maydell
@ 2013-06-25 11:33 ` Peter Maydell
  2013-06-25 11:33 ` [Qemu-devel] [PATCH 3/4] configure: Enable threading on all ppc and mips linux-user targets Peter Maydell
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2013-06-25 11:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: patches, Riku Voipio, Alexander Graf, Blue Swirl, Guan Xuetao,
	Aurelien Jarno, Richard Henderson

For architectures with no linux-user target, don't claim no NPTL
support. This has no behavioural change, but it means that we
won't accidentally add a new linux-user target without threading
support in future (because attempting to do so would be a compile
failure rather than a silent lack of support).

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 configure |    3 ---
 1 file changed, 3 deletions(-)

diff --git a/configure b/configure
index d363f42..440ba64 100755
--- a/configure
+++ b/configure
@@ -4171,7 +4171,6 @@ case "$target_name" in
   cris)
   ;;
   lm32)
-    target_nptl="no"
   ;;
   m68k)
     bflt="yes"
@@ -4200,7 +4199,6 @@ case "$target_name" in
     target_nptl="no"
   ;;
   moxie)
-    target_nptl="no"
   ;;
   or32)
     TARGET_ARCH=openrisc
@@ -4254,7 +4252,6 @@ case "$target_name" in
   ;;
   xtensa|xtensaeb)
     TARGET_ARCH=xtensa
-    target_nptl="no"
   ;;
   *)
     error_exit "Unsupported target CPU"
-- 
1.7.9.5

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

* [Qemu-devel] [PATCH 3/4] configure: Enable threading on all ppc and mips linux-user targets
  2013-06-25 11:33 [Qemu-devel] [PATCH 0/4] configure: don't disable nptl where not needed Peter Maydell
  2013-06-25 11:33 ` [Qemu-devel] [PATCH 1/4] configure: Flip default of target_nptl Peter Maydell
  2013-06-25 11:33 ` [Qemu-devel] [PATCH 2/4] configure: Don't say target_nptl="no" if there is no linux-user target Peter Maydell
@ 2013-06-25 11:33 ` Peter Maydell
  2013-06-25 11:33 ` [Qemu-devel] [PATCH 4/4] configure: Enable threading for unicore32-linux-user Peter Maydell
  2013-06-25 16:35 ` [Qemu-devel] [PATCH 0/4] configure: don't disable nptl where not needed Richard Henderson
  4 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2013-06-25 11:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: patches, Riku Voipio, Alexander Graf, Blue Swirl, Guan Xuetao,
	Aurelien Jarno, Richard Henderson

Though threading (target_nptl) was enabled on the base PPC and MIPS
targets, it wasn't enabled for the variants mipsn32, mipsn32el,
mips64, mips64el, ppc64 or ppc46abi32 (probably an oversight).
Enable threading consistently on all these targets.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 configure |    4 ----
 1 file changed, 4 deletions(-)

diff --git a/configure b/configure
index 440ba64..e8f9b6a 100755
--- a/configure
+++ b/configure
@@ -4190,13 +4190,11 @@ case "$target_name" in
     TARGET_BASE_ARCH=mips
     echo "TARGET_ABI_MIPSN32=y" >> $config_target_mak
     echo "TARGET_ABI32=y" >> $config_target_mak
-    target_nptl="no"
   ;;
   mips64|mips64el)
     TARGET_ARCH=mips64
     TARGET_BASE_ARCH=mips
     echo "TARGET_ABI_MIPSN64=y" >> $config_target_mak
-    target_nptl="no"
   ;;
   moxie)
   ;;
@@ -4217,7 +4215,6 @@ case "$target_name" in
     TARGET_BASE_ARCH=ppc
     TARGET_ABI_DIR=ppc
     gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
-    target_nptl="no"
   ;;
   ppc64abi32)
     TARGET_ARCH=ppc64
@@ -4225,7 +4222,6 @@ case "$target_name" in
     TARGET_ABI_DIR=ppc
     echo "TARGET_ABI32=y" >> $config_target_mak
     gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
-    target_nptl="no"
   ;;
   sh4|sh4eb)
     TARGET_ARCH=sh4
-- 
1.7.9.5

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

* [Qemu-devel] [PATCH 4/4] configure: Enable threading for unicore32-linux-user
  2013-06-25 11:33 [Qemu-devel] [PATCH 0/4] configure: don't disable nptl where not needed Peter Maydell
                   ` (2 preceding siblings ...)
  2013-06-25 11:33 ` [Qemu-devel] [PATCH 3/4] configure: Enable threading on all ppc and mips linux-user targets Peter Maydell
@ 2013-06-25 11:33 ` Peter Maydell
  2013-06-25 16:35 ` [Qemu-devel] [PATCH 0/4] configure: don't disable nptl where not needed Richard Henderson
  4 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2013-06-25 11:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: patches, Riku Voipio, Alexander Graf, Blue Swirl, Guan Xuetao,
	Aurelien Jarno, Richard Henderson

unicore32-linux-user provides cpu_set_tls(), so the failure
to enable target_nptl was presumably an oversight. Enable it.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 configure |    1 -
 1 file changed, 1 deletion(-)

diff --git a/configure b/configure
index e8f9b6a..54e46ed 100755
--- a/configure
+++ b/configure
@@ -4244,7 +4244,6 @@ case "$target_name" in
   s390x)
   ;;
   unicore32)
-    target_nptl="no"
   ;;
   xtensa|xtensaeb)
     TARGET_ARCH=xtensa
-- 
1.7.9.5

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

* Re: [Qemu-devel] [PATCH 0/4] configure: don't disable nptl where not needed
  2013-06-25 11:33 [Qemu-devel] [PATCH 0/4] configure: don't disable nptl where not needed Peter Maydell
                   ` (3 preceding siblings ...)
  2013-06-25 11:33 ` [Qemu-devel] [PATCH 4/4] configure: Enable threading for unicore32-linux-user Peter Maydell
@ 2013-06-25 16:35 ` Richard Henderson
  4 siblings, 0 replies; 6+ messages in thread
From: Richard Henderson @ 2013-06-25 16:35 UTC (permalink / raw)
  To: Peter Maydell
  Cc: patches, Riku Voipio, Alexander Graf, qemu-devel, Blue Swirl,
	Guan Xuetao, Aurelien Jarno

On 06/25/2013 04:33 AM, Peter Maydell wrote:
> Peter Maydell (4):
>   configure: Flip default of target_nptl
>   configure: Don't say target_nptl="no" if there is no linux-user target
>   configure: Enable threading on all ppc and mips linux-user targets
>   configure: Enable threading for unicore32-linux-user

Reviewed-by: Richard Henderson <rth@twiddle.net>


r~

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

end of thread, other threads:[~2013-06-25 16:35 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-25 11:33 [Qemu-devel] [PATCH 0/4] configure: don't disable nptl where not needed Peter Maydell
2013-06-25 11:33 ` [Qemu-devel] [PATCH 1/4] configure: Flip default of target_nptl Peter Maydell
2013-06-25 11:33 ` [Qemu-devel] [PATCH 2/4] configure: Don't say target_nptl="no" if there is no linux-user target Peter Maydell
2013-06-25 11:33 ` [Qemu-devel] [PATCH 3/4] configure: Enable threading on all ppc and mips linux-user targets Peter Maydell
2013-06-25 11:33 ` [Qemu-devel] [PATCH 4/4] configure: Enable threading for unicore32-linux-user Peter Maydell
2013-06-25 16:35 ` [Qemu-devel] [PATCH 0/4] configure: don't disable nptl where not needed Richard Henderson

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