qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 00/13] linux-user: enable NPTL on everything
@ 2013-07-16 17:44 Peter Maydell
  2013-07-16 17:44 ` [Qemu-devel] [PATCH v3 01/13] configure: Flip default of target_nptl Peter Maydell
                   ` (13 more replies)
  0 siblings, 14 replies; 20+ messages in thread
From: Peter Maydell @ 2013-07-16 17:44 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jia Liu, patches, Riku Voipio, Alexander Graf, Laurent Vivier,
	Blue Swirl, Edgar E. Iglesias, Guan Xuetao, Aurelien Jarno,
	Richard Henderson

This patchset enables NPTL on all linux-user targets; this is a
change for i386, m68k, mipsn32, mipsn32el, mips64, mips64el,
or32, ppc64, ppc46abi32, sparc, sparc32plus, sparc64, unicore32
and x86_64 (but not plain ppc or plain mips).

Testing: I've tested with a chroot that or32 and sparc32plus work;
in both cases there were basic bugs in linux-user support (stat
didn't work on or32; pipe busted on sparc; see separate patches)
from which I conclude that these were simply untested targets,
so the bar for "make things at least not worse" is an extremely
low one. I cannot find any m68k binaries which don't die with
an illegal instruction very early on (probably because we emulate
coldfire and most m68k binaries assume 680x0), so I am treating
that target as basically also broken. I've also tested PPC and
PPC64 chroots, and of course the linux-user-0.3 testset from the wiki.
I tested x86-64 and i386 with a chroot on an ARM host: they
generally work though they still have missing bits (for instance
x86-64 has no implementation of setup_frame etc for signal handling!).

Changes v2->v3:
 * fixed dumb typos in m68k pointed out by Laurent
 * included Alex's patch for i386 TLS setting
 * added a patch for x86-64 (turns out to be easy)
 * new patch which fixes bugs in clone() argument order for
   cris, x86-64, m68k, openrisc, unicore32 (noticed for
   x86-64 since otherwise glibc asserts in fork; others fixed
   based on examination of kernel source code)
 * new patch adding a missing 'break' in i386's get_thread_area
   (noticed in review of the m68k patch in that area)
 * new patch which removes all the now-redundant configure
   machinery and ifdefs

Alexander Graf (1):
  linux-user: Add i386 TLS setter

Peter Maydell (12):
  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
  linux-user: Move includes of target-specific headers to end of qemu.h
  linux-user: Enable NPTL for OpenRISC
  linux-user: Enable NPTL for SPARC targets
  linux-user: Enable NPTL for m68k
  linux-user: Add missing 'break' in i386 get_thread_area syscall
  linux-user: Clean up handling of clone() argument order
  linux-user: Enable NPTL for x86-64
  configure: Make NPTL non-optional

 configure                        |   34 ++--------------
 include/exec/gdbstub.h           |    2 +-
 linux-user/arm/syscall.h         |    2 +
 linux-user/cris/syscall.h        |    2 +
 linux-user/i386/syscall.h        |    2 +
 linux-user/i386/target_cpu.h     |   19 ++++++++-
 linux-user/m68k/target_cpu.h     |    6 ++-
 linux-user/main.c                |   43 --------------------
 linux-user/microblaze/syscall.h  |    2 +
 linux-user/mips/syscall.h        |    2 +
 linux-user/mips64/syscall.h      |    2 +
 linux-user/mmap.c                |   11 -----
 linux-user/openrisc/target_cpu.h |    9 ++++-
 linux-user/ppc/syscall.h         |    2 +
 linux-user/qemu.h                |   20 ++++------
 linux-user/s390x/syscall.h       |    2 +
 linux-user/sparc/syscall.h       |    7 ++++
 linux-user/sparc/target_cpu.h    |   16 ++++++--
 linux-user/sparc64/syscall.h     |    7 ++++
 linux-user/syscall.c             |   82 +++++++++++++-------------------------
 20 files changed, 110 insertions(+), 162 deletions(-)

-- 
1.7.9.5

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

end of thread, other threads:[~2013-07-22 12:28 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-16 17:44 [Qemu-devel] [PATCH v3 00/13] linux-user: enable NPTL on everything Peter Maydell
2013-07-16 17:44 ` [Qemu-devel] [PATCH v3 01/13] configure: Flip default of target_nptl Peter Maydell
2013-07-16 17:44 ` [Qemu-devel] [PATCH v3 02/13] configure: Don't say target_nptl="no" if there is no linux-user target Peter Maydell
2013-07-16 17:44 ` [Qemu-devel] [PATCH v3 03/13] configure: Enable threading on all ppc and mips linux-user targets Peter Maydell
2013-07-16 17:53   ` Richard Henderson
2013-07-16 17:44 ` [Qemu-devel] [PATCH v3 04/13] configure: Enable threading for unicore32-linux-user Peter Maydell
2013-07-16 17:44 ` [Qemu-devel] [PATCH v3 05/13] linux-user: Move includes of target-specific headers to end of qemu.h Peter Maydell
2013-07-16 17:44 ` [Qemu-devel] [PATCH v3 06/13] linux-user: Enable NPTL for OpenRISC Peter Maydell
2013-07-16 17:44 ` [Qemu-devel] [PATCH v3 07/13] linux-user: Enable NPTL for SPARC targets Peter Maydell
2013-07-16 17:44 ` [Qemu-devel] [PATCH v3 08/13] linux-user: Enable NPTL for m68k Peter Maydell
2013-07-16 19:03   ` Laurent Vivier
2013-07-16 17:44 ` [Qemu-devel] [PATCH v3 09/13] linux-user: Add missing 'break' in i386 get_thread_area syscall Peter Maydell
2013-07-16 18:33   ` Richard Henderson
2013-07-16 17:44 ` [Qemu-devel] [PATCH v3 10/13] linux-user: Clean up handling of clone() argument order Peter Maydell
2013-07-16 17:44 ` [Qemu-devel] [PATCH v3 11/13] linux-user: Add i386 TLS setter Peter Maydell
2013-07-16 18:38   ` Richard Henderson
2013-07-16 17:44 ` [Qemu-devel] [PATCH v3 12/13] linux-user: Enable NPTL for x86-64 Peter Maydell
2013-07-16 17:45 ` [Qemu-devel] [PATCH v3 13/13] configure: Make NPTL non-optional Peter Maydell
2013-07-16 18:42   ` Richard Henderson
2013-07-22 12:27 ` [Qemu-devel] [PATCH v3 00/13] linux-user: enable NPTL on everything 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).