[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
- [Qemu-devel] [PATCH v3 00/13] linux-user: enable NPTL on everything,
Peter Maydell <=
- [Qemu-devel] [PATCH v3 12/13] linux-user: Enable NPTL for x86-64, Peter Maydell, 2013/07/16
- [Qemu-devel] [PATCH v3 03/13] configure: Enable threading on all ppc and mips linux-user targets, Peter Maydell, 2013/07/16
- [Qemu-devel] [PATCH v3 06/13] linux-user: Enable NPTL for OpenRISC, Peter Maydell, 2013/07/16
- [Qemu-devel] [PATCH v3 05/13] linux-user: Move includes of target-specific headers to end of qemu.h, Peter Maydell, 2013/07/16
- [Qemu-devel] [PATCH v3 08/13] linux-user: Enable NPTL for m68k, Peter Maydell, 2013/07/16
- [Qemu-devel] [PATCH v3 01/13] configure: Flip default of target_nptl, Peter Maydell, 2013/07/16
- [Qemu-devel] [PATCH v3 11/13] linux-user: Add i386 TLS setter, Peter Maydell, 2013/07/16