qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v3 00/13] linux-user: enable NPTL on everything


From: Peter Maydell
Subject: [Qemu-devel] [PATCH v3 00/13] linux-user: enable NPTL on everything
Date: Tue, 16 Jul 2013 18:44:47 +0100

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]