All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.