Statistics
| Branch: | Revision:

root / linux-user / syscall.c @ a6f79cc9

History | View | Annotate | Download (259.3 kB)

# Date Author Comment
a6f79cc9 02/10/2012 12:44 pm Ulrich Hecht

linux-user: fail execve() if env/args too big

If the host's page size is equal to or smaller than the target's, native
execve() will fail appropriately with E2BIG if called with too big an
environment for the target to handle. It may falsely succeed, however, if...

36c08d49 02/02/2012 05:51 pm Alexander Graf

linux-user: fake /proc/self/maps

glibc's pthread_attr_getstack tries to find the stack range from
/proc/self/maps. Unfortunately, /proc is usually the host's /proc
which means linux-user guests see qemu's stack there.

Fake the file with a constructed maps entry that exposes the guest's...

480b8e7d 02/02/2012 05:51 pm Alexander Graf

linux-user: fake /proc/self/stat

The boehm gc finds the program's stack starting pointer by
checking /proc/self/stat. Unfortunately, so far it reads
qemu's stack pointer which clearly is wrong.

So let's instead fake the file so the guest program sees the...

257450ee 02/02/2012 05:51 pm Alexander Graf

linux-user: fake /proc/self/auxv

Gtk tries to read /proc/self/auxv to find its auxv table instead of
taking it from its own program memory space.

However, when running with linux-user, we see the host's auxv which
clearly exposes wrong information. so let's instead expose the guest...

583359a6 02/02/2012 05:51 pm Akos PASZTORY

linux-user: add SO_PEERCRED support for getsockopt

Signed-off-by: Akos PASZTORY <>
Signed-off-by: Riku Voipio <>

962b289e 02/02/2012 05:51 pm Alexander Graf

linux-user: fix QEMU_STRACE=1 segfault

While debugging some issues with QEMU_STRACE I stumbled over segmentation
faults that were pretty reproducible. Turns out we tried to treat a
normal return value as errno, resulting in an access over array boundaries...

5379557b 02/02/2012 05:51 pm Alexander Graf

linux-user: fix wait* syscall status returns

When calling wait4 or waitpid with a status pointer and WNOHANG, the
syscall can potentially not modify the status pointer input. Now if we
have guest code like:

int status = 0;
waitpid(pid, &status, WNOHANG);...
e3c33ec6 02/02/2012 05:51 pm Peter Maydell

linux-user: Allow NULL value pointer in setxattr and getxattr

It's valid to pass a NULL value pointer to setxattr, so don't
fail this case EFAULT.

Signed-off-by: Peter Maydell <>
Signed-off-by: Riku Voipio <>

30297b55 02/02/2012 05:51 pm Peter Maydell

linux-user/syscall.c: Implement f and l versions of set/get/removexattr

Implement the f and l versions (operate on fd, don't follow links)
of the setxattr, getxattr and removexattr syscalls.

Signed-off-by: Peter Maydell <>
Signed-off-by: Riku Voipio <>

fb5590f7 02/02/2012 05:51 pm Peter Maydell

linux-user: Implement *listxattr syscalls

Implement listxattr, flistxattr and llistxattr syscalls.

Signed-off-by: Peter Maydell <>
Signed-off-by: Riku Voipio <>

3be14d05 02/02/2012 05:51 pm Alexander Graf

linux-user: add open() hijack infrastructure

There are a number of files in /proc that expose host information
to the guest program. This patch adds infrastructure to override
the open() syscall for guest programs to enable us to on the fly
generate guest sensible files....

31b63193 12/06/2011 12:08 pm Peter Maydell

linux-user/syscall.c: Don't skip stracing for fcntl64 failure case

In an fcntl64 failure path, we were returning directly rather than
simply breaking out of the switch statement. This skips the strace
code for printing the syscall return value, so don't do that....

3a93113a 12/06/2011 11:56 am Dong Xu Wang

fix typo: delete redundant semicolon

Double semicolons should be single.

Signed-off-by: Dong Xu Wang <>
Signed-off-by: Stefan Hajnoczi <>

4f26f2b6 11/09/2011 08:06 pm Avi Kivity

configure: fix detection for xattr.h on modern distributions

Modern distributions place xattr.h in /usr/include/sys, and fold
libattr.so into libc. They also don't have an ENOATTR.

Make configure detect this, and add a qemu-xattr.h file that
directs the #include to the right place....

0f6b4d21 10/27/2011 02:42 pm Alexander Graf

linux-user: implement reboot syscall

For OBS, we're running a full cross-guest inside of a VM. When a build
is done there, we reboot the guest as shutdown mechanism.

Unfortunately, reboot is not implemented in linux-user. So this mechanism
fails, spilling unpretty warnings. This patch implements sys_reboot()...

cbb21eed 10/27/2011 02:42 pm Matthias Braun

linux-user: fix abi_(u)long, target_ulong mismatch

abi_(u)long might be different from target_ulong, so don't use tswapl
but introduce a new tswapal

Signed-off-by: Matthias Braun <>
Signed-off-by: Riku Voipio <>

f4c69010 10/27/2011 02:42 pm Alexander Graf

linux-user: fix openat

When running openat using qemu-arm, we stumbled over invalid permissions
on the created files. The reason for this is that the mode parameter gets
treates as an O_... flag, which it isn't - it's a permission bitmask.

This patch removes the needless translation of the mode parameter,...

11ddeea9 09/26/2011 03:59 pm Anthony Liguori

Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging

b2bedb21 09/16/2011 04:25 pm Stefan Weil

Remove blanks before \n in output strings

Those blanks violate the coding conventions, see
scripts/checkpatch.pl.

Blanks missing after colons in the changed lines were added.

This patch does not try to fix tabs, long lines and other
problems in the changed lines, therefore checkpatch.pl reports...

5a61cb60 09/09/2011 11:56 am Stefan Weil

Fix include statements for qemu-common.h

  • qemu-common.h is not a system include file, so it should be included
    with "" instead of <>. Otherwise incremental builds might fail
    because only local include files are checked for changes.
  • linux-user/syscall.c included the file twice....
a790ae38 09/09/2011 10:48 am An-Cheng Huang

linux-user: Implement setxattr/getxattr/removexattr syscalls

This patch implements the setxattr, getxattr, and removexattr syscalls
if CONFIG_ATTR is enabled.

Note that since libattr uses indirect syscalls for these, this change
depends on the fix for indirect syscall handling on MIPS....

70afc343 09/09/2011 10:45 am Cédric VINCENT

linux-user: Fix initialization of the heap contents when allocating new pages

Technically the new mmapped pages are already initialized to zero
since they are anonymous, however we have to take care with the
contents that come from the remaining part of the previous page: it...

7267c094 08/21/2011 07:01 am Anthony Liguori

Use glib memory allocation and free functions

qemu_malloc/qemu_free no longer exist after this commit.

Signed-off-by: Anthony Liguori <>

00aa0040 07/25/2011 05:38 pm Blue Swirl

Wrap recv to avoid warnings

Avoid warnings like these by wrapping recv():
CC slirp/ip_icmp.o
/src/qemu/slirp/ip_icmp.c: In function 'icmp_receive':
/src/qemu/slirp/ip_icmp.c:418:5: error: passing argument 2 of 'recv' from incompatible pointer type [-Werror]...

48e515d4 07/13/2011 05:38 pm Riku Voipio

linux-user: make MIPS and ARM eabi use same argument reordering

MIPS uses similar calling convention than ARM eabi, where when using
64-bit values some registers are skipped. This patch makes MIPS and ARM
eabi share the argument reordering code.

This affects ftruncate64, creating insane sized fails (or just failing)....

e22b7015 07/12/2011 02:42 pm Wesley W. Terpstra

mips: rlimit codes are not the same

The codes for get/setrlimit differ between linux target platforms.
This patch adds conversion.
This is important else programs (rsyslog, python, ...) can go into a
near infinite loop trying to close all the file descriptors from 0 to...

95b33b2f 07/12/2011 02:38 pm Wesley W. Terpstra

mips: rlimit incorrectly converts values

Byte swap was applied in the wrong order with testing for
RLIM_INFINITY. On mips bigendian from an amd64 system this results in
infinity being misinterpretted as 2^31-1.

This is a serious bug because it causes setrlimit stack size to kill...

8f04eeb3 07/11/2011 04:35 pm Peter Maydell

linux-user/syscall.c: Enforce pselect6 sigset size restrictions

Enforce the same restriction on the size of the sigset passed to
pselect6 as the Linux kernel does. This is both correct and silences
a gcc 4.6 warning about a write-only variable.

Signed-off-by: Peter Maydell <>...

163a05a8 07/11/2011 04:34 pm Peter Maydell

linux-user: Implement prlimit64 syscall

Implement the prlimit64 syscall.

Slightly modified to apply upstream -Riku

Signed-off-by: Peter Maydell <>
Signed-off-by: Riku Voipio <>

bc088ba1 06/21/2011 08:30 pm Juan Quintela

linux-user: syscall should use sanitized arg1

Looking at the other architectures, we should be using "how" not "arg1".

Signed-off-by: Juan Quintela <>
[: remove unnecessary initialisation of how]
Signed-off-by: Peter Maydell <>...

5945cfcb 06/21/2011 08:30 pm Peter Maydell

linux-user: Bump do_syscall() up to 8 syscall arguments

On 32 bit MIPS a few syscalls have 7 arguments, and so to call
them via NR_syscall the guest needs to be able to pass 8 arguments
to do_syscall(). Raise the number of arguments do_syscall() takes
accordingly....

bfcedc57 06/21/2011 08:30 pm Riku Voipio

linux-user: Fix sync_file_range on 32bit mips

As noticed while looking at "Bump do_syscall() up to 8 syscall arguments"
patch, sync_file_range uses a pad argument on 32bit mips. Deal with it
by reading the correct arguments when on mips.

Signed-off-by: Riku Voipio <>

4d1de87c 06/21/2011 08:30 pm vincent

linux-user: Fix the computation of the requested heap size

There were several remaining bugs in the previous implementation of
do_brk():

1. the value of "new_alloc_size" was one page too large when the
requested brk was aligned on a host page boundary....
055e0906 06/21/2011 08:30 pm Mike Frysinger

linux-user: add pselect6 syscall support

Some architectures (like Blackfin) only implement pselect6 (and skip
select/newselect). So add support for it.

Signed-off-by: Mike Frysinger <>
Signed-off-by: Riku Voipio <>

1add8698 06/21/2011 08:30 pm Juan Quintela

syscall: really return ret code

We assign ret with the error code, but then return 0 unconditionally.

Signed-off-by: Juan Quintela <>
Signed-off-by: Peter Maydell <>
Signed-off-by: Riku Voipio <>

00faf08c 06/21/2011 08:29 pm Peter Maydell

linux-user: Don't use MAP_FIXED in do_brk()

Since mmap() with MAP_FIXED will map over the top of existing mappings,
it's a bad idea to use it to implement brk(), because brk() with a
large size is likely to overwrite important things like qemu itself
or the host libc. So we drop MAP_FIXED and handle "mapped but at...

a4c075f1 05/20/2011 06:35 pm Ulrich Hecht

s390x: s390x-linux-user support

This patch adds support for running s390x binaries in the linux-user emulation
code.

Signed-off-by: Ulrich Hecht <>
Signed-off-by: Alexander Graf <>

67bd9ede 05/08/2011 12:59 pm Stefan Weil

linux-user: Replace deprecated function

Function bzero is deprecated, so replace it by function memset.

Signed-off-by: Stefan Weil <>
Signed-off-by: Stefan Hajnoczi <>

e95d3bf0 05/02/2011 10:00 am Mike McCormack

Fix buffer overrun in sched_getaffinity

Zeroing of the cpu array should start from &cpus[kernel_ret]
not &cpus[num_zeros_to_fill].

This fixes a crash in EFL's edje_cc running under qemu-arm.

Signed-off-by: Mike McCormack <>
Reviewed-by: Stefan Hajnoczi <>...

cd18f05e 05/02/2011 10:00 am Mike McCormack

Don't zero out buffer in sched_getaffinity

The kernel doesn't fill the buffer provided to sched_getaffinity
with zero bytes, so neither should QEMU.

Signed-off-by: Mike McCormack <>
Reviewed-by: Stefan Hajnoczi <>...

86fcd946 04/26/2011 10:15 am Laurent Vivier

linux-user: add ioctl(SIOCGIWNAME, ...) support.

Allow to run properly following program from linux-user:

/* cc -o wifi wifi.c */

#include &lt;stdio.h&gt;
#include &lt;sys/ioctl.h&gt;
#include &lt;sys/types.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;linux/wireless.h&gt;
#include &lt;netinet/in.h&gt;...
42a39fbe 04/26/2011 10:15 am Alexander Graf

linux-user: add s390x to llseek list

We keep a list of host architectures that do llseek with the same
syscall as lseek. S390x is one of them, so let's add it to the list.

Original-patch-by: Ulrich Hecht <>
Signed-off-by: Alexander Graf <>...

0c866a7e 04/26/2011 10:15 am Riku Voipio

linux-user: untie syscalls from UID16

Quite a number of uid/gid related syscalls are only defined on systems
with USE_UID16 defined. This is apperently based on the idea that these
system calls would never be called on non-UID16 systems. Make these
syscalls available for all architectures that define them....

05098a93 04/26/2011 10:15 am Riku Voipio

[v2] linux-user: bigger default stack

PTHREAD_STACK_MIN (16KB) is somewhat inadequate for a new stack for new
QEMU threads. Set new limit to 256K which should be enough, yet doesn't
increase memory pressure significantly.

Signed-off-by: Riku Voipio <>...

059c2f2c 04/26/2011 10:15 am Laurent Vivier

linux-user: convert ioctl(SIOCGIFCONF, ...) result.

The result needs to be converted as it is stored in an array of struct
ifreq and sizeof(struct ifreq) differs according to target and host
alignment rules.

This patch allows to execute correctly the following program on arm...

30cb4cde 03/22/2011 08:46 am Peter Maydell

linux-user: Fix unlock_user() call in return from poll()

Correct the broken attempt to calculate the third argument
to unlock_user() in the code path which unlocked the pollfd
array on return from poll() and ppoll() emulation. (This
only caused a problem if unlock_user() wasn't a no-op, eg...

0c1592d9 03/06/2011 08:06 pm Peter Maydell

linux-user: Fix large seeks by 32 bit guest on 64 bit host

When emulating a 32 bit Linux user-mode program on a 64 bit target
we implement the llseek syscall in terms of lseek. Correct a bug
which meant we were silently casting the result of host lseek()...

3b6edd16 02/17/2011 11:46 am Peter Maydell

linux-user: Support the epoll syscalls

Support the epoll family of syscalls: epoll_create(), epoll_create1(),
epoll_ctl(), epoll_wait() and epoll_pwait(). Note that epoll_create1()
and epoll_pwait() are later additions, so we have to test separately
in configure for their presence....

d8035d4c 02/09/2011 10:33 am Mike Frysinger

linux-user: add ppoll syscall support

Some architectures (like Blackfin) only implement ppoll (and skip poll).
So add support for it using existing poll code.

Reviewed-by: Peter Maydell <>
Signed-off-by: Mike Frysinger <>...

737de1d1 02/09/2011 10:33 am Mike Frysinger

linux-user: implement sched_{g,s}etaffinity

Signed-off-by: Mike Frysinger <>
Signed-off-by: Riku Voipio <>

73160d95 02/09/2011 10:33 am Mike Frysinger

linux-user: fix sizeof handling for getsockopt

Signed-off-by: Mike Frysinger <>
Signed-off-by: Riku Voipio <>

dace20dc 01/12/2011 01:06 am Peter Maydell

linux-user: Add configure check for linux/fiemap.h and IOC_FS_FIEMAP

Add a configure check for the existence of linux/fiemap.h and the
IOC_FS_FIEMAP ioctl. This fixes a compilation failure on Linux
systems which don't have that header file.

Signed-off-by: Peter Maydell <>...

285da2b9 01/07/2011 05:20 pm Peter Maydell

linux-user: Implement FS_IOC_FIEMAP ioctl

Implement the FS_IOC_FIEMAP ioctl using the new support for
custom handling of ioctls; this is needed because the struct
that is passed includes a variable-length array.

Signed-off-by: Peter Maydell <>...

d2ef05bb 01/07/2011 05:20 pm Peter Maydell

linux-user: Support ioctls whose parameter size is not constant

Some ioctls (for example FS_IOC_FIEMAP) use structures whose size is
not constant. The generic argument conversion code in do_ioctl()
cannot handle this, so add support for implementing a special-case...

c727f47d 01/07/2011 05:13 pm Peter Maydell

linux-user: Implement sync_file_range{,2} syscalls

Implement the missing syscalls sync_file_range and sync_file_range2.
The latter in particular is used by newer versions of apt on Ubuntu
for ARM.

Signed-off-by: Peter Maydell <>
Signed-off-by: Riku Voipio <>

f3b974cd 12/03/2010 03:09 pm Jamie Lentin

linux-user: Translate getsockopt level option

n setsockopt, the socket level options are translated to the hosts'
architecture before the real syscall is called, e.g.
TARGET_SO_TYPE -> SO_TYPE. This patch does the same with getsockopt.

Tested on a x86 host emulating MIPS. Without it:-...

9190749f 12/03/2010 03:09 pm Riku Voipio

linux-user: fix compiler error on nptl

Some compilers detect that new_stack isnt used after dd75d784

Signed-off-by: Riku Voipio <>

48e15fc2 12/03/2010 03:09 pm Nathan Froyd

linux-user: fix memory leaks with NPTL emulation

Running programs that create large numbers of threads, such as this
snippet from libstdc++'s pthread7-rope.cc:

const int max_thread_count = 4;
const int max_loop_count = 10000;
...
for (int j = 0; j < max_loop_count; j++)...
38724253 09/18/2010 08:53 am Blue Swirl

linux-user: fix socklen_t comparisons

On many systems, socklen_t is defined as unsigned. This means that
checks for negative values are not meaningful.

Fix by explicitly casting to a signed integer.

This also avoids some warnings with GCC flag -Wtype-limits....

97374d38 06/16/2010 03:03 pm Paul Brook

Usermode exec-stack fix

When loading a shared library that requires an executable stack,
glibc uses the mprotext PROT_GROWSDOWN flag to achieve this.
We don't support PROT_GROWSDOWN.
Add a special case to handle changing the stack permissions in this way....

d35b261c 06/11/2010 07:15 pm Richard Henderson

s390x: Avoid _llseek.

There's no _llseek on s390x either. Replace the existing
test for x86_64 with a functional test for __NR_llseek.

Signed-off-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

9e42382f 05/21/2010 07:42 pm Riku Voipio

linux-user: do not warn for missing pselect6

Libc will fallback gracefully if pselect6 is not available. Thus put
pselect6 to nowarn until the atomicity issues of the original pselect6
patch are dealt with.

Signed-off-by: Riku Voipio <>...

9231733a 05/21/2010 07:22 pm Richard Henderson

alpha-linux-user: Fix getxpid.

Put ppid in the second return register.

Signed-off-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

f43ce12b 05/21/2010 07:22 pm Richard Henderson

alpha-linux-user: Fix sigsuspend parameters.

Alpha passes the signal set in a register, not by reference.

Signed-off-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

a5b3b13b 05/21/2010 07:22 pm Richard Henderson

alpha-linux-user: Fix sigprocmask.

Alpha passes oldset by value in a register, and returns the newset
as the return value; as compared to the standard implementation in
which both are passed by reference. This requires being able to
distinguish negative return values that are not errors. Do this in...

7dd46c02 05/21/2010 07:22 pm Richard Henderson

alpha-linux-user: Fix brk error return.

Signed-off-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

fb41a66e 05/21/2010 07:22 pm Richard Henderson

alpha-linux-user: Fix pipe return mechanism.

At the same time, tidy the code wrt MIPS and SH4 which have the
same two register return mechanism. Fix confusion between pipe
and pipe2 with an explicit flags=0, when the guest will not be
using the two register return mechanism....

81bbe906 05/18/2010 08:30 pm takasi-y@ops.dti.ne.jp

linux-user: rlimit conversion between host and target.

rlim_t conversion between host and target added.
Otherwise there are some incorrect case like
- RLIM_INFINITY on 32bit target > 64bit host.
RLIM_INFINITY on 64bit host > mips and sparc target ?
Big value(for 32bit target) on 64bit host -> 32bit target....

a4b388ff 04/27/2010 06:50 am Richard Henderson

target-alpha: Enable NPTL.

Signed-off-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

ed18c5ce 04/26/2010 08:30 pm Richard Henderson

linux-user: Fix sparc32plus stat64 syscalls.

Check TARGET_ABI_BITS, not TARGET_LONG_BITS, when deciding
whether or not the guest needs special 64-bit stat translation.

Signed-off-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

e00ac249 04/14/2010 01:19 am takasi-y@ops.dti.ne.jp

linux-user: do_shmdt(): Fix page_set_flags's 2nd arg.

2nd arg of page_set_flags() should be start+size, but size.

Signed-off-by: Takashi YOSHII <>
Acked-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

a1606b0b 04/01/2010 10:51 pm Stefan Weil

Fix compilation with missing inotify_init1

Commit c05c7a7306a23a4b01d1606172b142c45caffc92
breaks cross compilation for mips (and other
compilations without CONFIG_INOTIFY1):

make1: Entering directory `/qemu/bin/mips'
CC i386-linux-user/syscall.o...

60e99246 04/01/2010 10:51 pm Aurelien Jarno

linux-user/ia64: workaround ia64 strangenesses

ia64 has some strangenesses that need to be workaround:
- it has a __clone2() syscall instead of the using clone() one, with
different arguments, and which is not declared in the usual headers.
- ucontext.uc_sigmask is declared with type long int, while it is...

c05c7a73 03/26/2010 06:15 pm Riku Voipio

linux-user: add inotify_init1 syscall support

New syscall which gets actively used when you have a
fresh kernel.

Signed-off-by: Riku Voipio <>
Signed-off-by: Aurelien Jarno <>

597c0212 03/06/2010 08:35 pm takasi-y@ops.dti.ne.jp

linux-user: Fix syscall pipe2() retval on sh4

On linux/sh4
pipe() return values by r0:r1 as SH C calling convention.
pipe2() return values on memory as traditional unix way.

Signed-off-by: Takashi YOSHII <>
Signed-off-by: Aurelien Jarno <>

6049f4f8 02/28/2010 06:54 pm Richard Henderson

alpha-linux-user: Implement signals.

Move userland PALcode handling into linux-user main loop so that
we can send signals from there. This also makes alpha_palcode.c
system-level only, so don't build it for userland. Add defines
for GENTRAP PALcall mapping to signals....

da79030f 02/06/2010 06:19 pm Loïc Minier

linux-user: adapt uname machine to emulated CPU

This patch for linux-user adapts the output of the emulated uname()
syscall to match the configured CPU. Tested with x86, x86-64 and arm
emulation.

Signed-off-by: Riku Voipio <>
Signed-off-by: Loïc Minier <>

8b0ee8c5 01/14/2010 04:59 pm Vince Weaver

alpha: fix stat64 issue

The stat64/fstat64 syscalls are broken for alpha linux-user.

This is because Alpha, even though it is native 64-bits, has a stat64
syscall that is different than regular stat. This means that the
"TARGET_LONG_BITS==64" check in syscall.c isn't enough. Below is...

ba0e276d 12/13/2009 09:32 pm Richard Henderson

target-alpha: Fixes for alpha-linux syscalls.

1. Add correct definitions of error numbers.
2. Implement SYS_osf_sigprocmask
3. Implement SYS_osf_get/setsysinfo for IEEE_FP_CONTROL.

This last requires exposing the FPCR value to do_syscall.
Since this value is actually split up into the float_status,...

b4558d74 11/07/2009 06:34 pm Blue Swirl

(x86/Sparc/PPC)-user: fix cpu_copy

b55a37c981914aa8ecd21b9a2a2fb37f39b917c5 moved the call to cpu_reset
to user emulators. But cpu_copy also initializes a CPU structure, so add the
call also there.

Signed-off-by: Blue Swirl <>

dab46405 10/17/2009 09:52 pm Jan-Simon Möller

Re: linux-user/syscall.c - don't add GUEST_BASE to NULL pointer

This patch fixes the mount call. GUEST_BASE shouldn't be added to a NULL pointer on arg5 . failing call:
mount("rootfs", "/", 0x47a78, MS_MGC_VAL|MS_REMOUNT, 0x10000) = -1 EFAULT (Bad address)...

f7680a55 10/17/2009 11:38 am Ulrich Hecht

linux-user: KD/VT/FB ioctls

everything needed to run SDL on a framebuffer device in the userspace emulator

Signed-off-by: Ulrich Hecht <>
Signed-off-by: Riku Voipio <>

d0927938 10/15/2009 11:55 pm Ulrich Hecht

implementations of dup3 and fallocate that are good enough to fool LTP

updated fallocate check to new configure, added dup3 check as suggested
by Jan-Simon Möller.

Riku: updated to apply to current git.

Signed-off-by: Ulrich Hecht <>
Signed-off-by: Riku Voipio <>

69137206 10/15/2009 11:55 pm Ulrich Hecht

linux-user: getpriority errno fix

getpriority returned wrong errno; fixes LTP test getpriority02.

Signed-off-by: Ulrich Hecht <>
Signed-off-by: Riku Voipio <>

c227f099 10/02/2009 12:12 am Anthony Liguori

Revert "Get rid of _t suffix"

In the very least, a change like this requires discussion on the list.

The naming convention is goofy and it causes a massive merge problem. Something
like this must be presented on the list first so people can provide input...

99a0949b 10/01/2009 09:45 pm malc

Get rid of _t suffix

Some not so obvious bits, slirp and Xen were left alone for the time
being.

Signed-off-by: malc <>

e8bbe36c 09/30/2009 09:56 pm Michael S. Tsirkin

linux-user: fix coding style nit

Put space between = and & when taking a pointer,
to avoid confusion with old-style "&=".

Signed-off-by: Michael S. Tsirkin <>
Signed-off-by: Blue Swirl <>

fbd5de9b 09/10/2009 07:27 pm malc

F_DUPFD_CLOEXEC is not universally available

The same issue (and the same patch to the byte) was experienced/proposed
by Vince Weaver.

Signed-off-by: malc <>

e72d2cc7 08/25/2009 05:15 pm Ulrich Hecht

linux-user: fadvise64 implementation

good enough to pass all LTP fadvise64 tests

Signed-off-by: Ulrich Hecht <>
Signed-off-by: Riku Voipio <>

12727917 08/25/2009 05:15 pm Ulrich Hecht

linux-user: zero fstat buffer to initialize nsec fields

The fstat implementation does not initialize the nanosecond fields in the
stat buffer; this caused funny values to turn up there, preventing, for
instance, cp -p from preserving timestamps because utimensat rejected...

c761c154 08/25/2009 05:15 pm Laurent Vivier

m68k, linux-user: enable sigaltstack()

As setup_frame() and setup_rt_frame() are now implemented we can now
enable sigaltstack().

Signed-off-by: Laurent Vivier <>
Signed-off-by: Riku Voipio <>

8ec9cf89 08/25/2009 05:15 pm Nathan Froyd

linux-user: fix mq_* compilation problems

mqueue.h is only available if _NR_mq_open is defined. So don't include
it unconditionally. Similarly, the mq
* family of syscalls depend on
_NR_mq_open. Finally, the copy{from,to}_user_mq_attr functions should...

7e22e546 08/25/2009 05:15 pm Ulrich Hecht

linux-user: fcntl fixes for LTP

Fixes swaps on l_pid which were pretty much of random size. Implements
F_SETLEASE, F_GETLEASE. Now passes all LTP fcntl tests.

Signed-off-by: Ulrich Hecht <>
Signed-off-by: Riku Voipio <>

d83c8733 08/25/2009 05:15 pm Ulrich Hecht

linux-user: enable getdents for > 32-bit systems

works perfectly fine with the example from getdents(2) and passes the LTP
tests (tested with s390x on x86_64 emulation)

Signed-off-by: Ulrich Hecht <>
Signed-off-by: Riku Voipio <>

c2882b96 08/25/2009 05:15 pm Riku Voipio

linux-user: add eventfd support

Straightforward implementation. This syscall is rare enough that we
don't need to support the odder cases, just disable it if host glibc
is too old.

Signed-off-by: Riku Voipio <>

a16aae0c 08/03/2009 07:33 pm Nathan Froyd

linux-user: make FUTEX_* calls honor timeout parameter

Signed-off-by: Nathan Froyd <>
Signed-off-by: malc <>

2f7bb878 07/27/2009 10:10 pm Juan Quintela

rename USE_NPTL to CONFIG_USE_NPTL

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

9788c9ca 07/27/2009 10:09 pm Juan Quintela

rename HAVE_GPROF to TARGET_GPROF

Use was not consistent, in Makefile was TARGET_GPROF and in *h HAVE_GPROF

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

0bf9e31a 07/20/2009 08:19 pm Blue Swirl

Fix most warnings (errors with -Werror) when debugging is enabled

I used the following command to enable debugging:
perl -p -i -e 's/^\/\/#define DEBUG/#define DEBUG/g' * /* *//*

Signed-off-by: Blue Swirl <>

8167ee88 07/16/2009 11:47 pm Blue Swirl

Update to a hopefully more future proof FSF address

Signed-off-by: Blue Swirl <>