- 12 7月, 2016 1 次提交
-
-
由 Markus Armbruster 提交于
Found with scripts/clean-header-guards.pl. Signed-off-by: NMarkus Armbruster <armbru@redhat.com> Reviewed-by: NRichard Henderson <rth@twiddle.net>
-
- 26 6月, 2016 2 次提交
-
-
由 Laurent Vivier 提交于
Signed-off-by: NLaurent Vivier <laurent@vivier.eu> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org> Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
-
由 Peter Maydell 提交于
Support the F_GETPIPE_SZ and F_SETPIPE_SZ fcntl operations. Signed-off-by: NPeter Maydell <peter.maydell@linaro.org> Reviewed-by: NLaurent Vivier <laurent@vivier.eu> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
- 08 6月, 2016 1 次提交
-
-
由 Peter Maydell 提交于
The l_start and l_len fields in the various target_flock structures are supposed to be '__kernel_off_t' or '__kernel_loff_t', which means they should be signed, not unsigned. Correcting the structure definitions means that __get_user() and __put_user() will correctly sign extend them if the guest is using 32 bit offsets and the host is using 64 bit offsets. This fixes failures in the LTP 'fcntl14' tests where it checks that negative seek offsets work correctly. We reindent the structures to drop hard tabs since we're touching 40% of the fields anyway. RV: long long -> abi_llong as suggested by Laurent Vivier <laurent@vivier.eu> Signed-off-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
- 07 6月, 2016 1 次提交
-
-
由 Peter Maydell 提交于
The siginfo_t struct includes a union. The correct way to identify which fields of the union are relevant is complicated, because we have to use a combination of the si_code and si_signo to figure out which of the union's members are valid. (Within the host kernel it is always possible to tell, but the kernel carefully avoids giving userspace the high 16 bits of si_code, so we don't have the information to do this the easy way...) We therefore make our best guess, bearing in mind that a guest can spoof most of the si_codes via rt_sigqueueinfo() if it likes. Once we have made our guess, we record it in the top 16 bits of the si_code, so that tswap_siginfo() later can use it. tswap_siginfo() then strips these top bits out before writing si_code to the guest (sign-extending the lower bits). This fixes a bug where fields were sometimes wrong; in particular the LTP kill10 test went into an infinite loop because its signal handler got a si_pid value of 0 rather than the pid of the sending process. As part of this change, we switch to using __put_user() in the tswap_siginfo code which writes out the byteswapped values to the target memory, in case the target memory pointer is not sufficiently aligned for the host CPU's requirements. Signed-off-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
- 27 5月, 2016 1 次提交
-
-
由 Peter Maydell 提交于
The 64-bit x86 syscall ABI uses 32-bit UIDs; only define USE_UID16 for 32-bit x86. Signed-off-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
- 11 1月, 2016 1 次提交
-
-
Adds the definitions for the socket calls SOCKOP_sendmmsg and SOCKOP_recvmmsg and wires them up with the rest of the code. The necessary function do_sendrecvmmsg() is already present in linux-user/syscall.c. After adding these two definitions and wiring them up, I no longer receive an error message about the unimplemented socket calls when running "apt-get update" on Debian unstable running on qemu with glibc_2.21 on m68k. Signed-off-by: NJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Reviewed-by: NLaurent Vivier <laurent@vivier.eu> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
- 08 1月, 2016 1 次提交
-
-
由 Laurent Vivier 提交于
According to comments in /usr/include/linux/eventpoll.h, poll_event is packed only on x86_64. And to be sure fields are correctly aligned in epoll_data, use abi_XXX types for all of them. Moreover, fd type is wrong: fd is int, not ulong. This has been tested with a ppc guest on an x86_64 host: without this patch, systemd crashes (core). CC: Alexander Graf <agraf@suse.de> CC: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: NLaurent Vivier <laurent@vivier.eu> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
- 07 10月, 2015 1 次提交
-
-
由 Chen Gang 提交于
They content several new macro members, also contents TARGET_N*. Signed-off-by: NChen Gang <gang.chen.5i5j@gmail.com> Message-Id: <1443240605-2924-1-git-send-email-gang.chen.5i5j@gmail.com> Signed-off-by: NRichard Henderson <rth@twiddle.net>
-
- 28 9月, 2015 1 次提交
-
-
由 Jonathan Neuschäfer 提交于
Currently, __target_cmsg_nxthdr compares a pointer derived from target_cmsg against the msg_control field of target_msgh (through subtraction). This failed for me when emulating i386 code under x86_64, because pointers in the host address space and pointers in the guest address space were not the same. This patch passes the initial value of target_cmsg into __target_cmsg_nxthdr. I found and fixed two more related bugs: - __target_cmsg_nxthdr now returns the new cmsg pointer instead of the old one. - tgt_space (in host_to_target_cmsg) doesn't count "sizeof (struct target_cmsghdr)" twice anymore. Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NJonathan Neuschäfer <j.neuschaefer@gmx.net> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
- 15 9月, 2015 1 次提交
-
-
由 Chen Gang 提交于
Add main working flow feature, system call processing feature, and elf64 tilegx binary loading feature, based on Linux kernel tilegx 64-bit implementation. [rth: Moved all of the implementation of atomic instructions to a later patch.] Signed-off-by: NChen Gang <gang.chen.5i5j@gmail.com> Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Message-Id: <BLU436-SMTP938552D42808AA60634582B9660@phx.gbl> Signed-off-by: NRichard Henderson <rth@twiddle.net>
-
- 11 9月, 2015 1 次提交
-
-
由 Veres Lajos 提交于
Signed-off-by: NVeres Lajos <vlajos@gmail.com> Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
-
- 13 2月, 2015 1 次提交
-
-
由 Leon Alrae 提交于
Simple "hello world" MIPS N32 userland program crashes with segfault due to incorrectly defined stat structure in QEMU. Correct "target_stat" definition to match kernel's "stat64" as in MIPS N32 there are only plain "stat" syscalls using 64-bit structure. Reported-by: NDaniel Sanders <daniel.sanders@imgtec.com> Signed-off-by: NLeon Alrae <leon.alrae@imgtec.com> Tested-by: NDaniel Sanders <daniel.sanders@imgtec.com> Reviewed-by: NJames Hogan <james.hogan@imgtec.com>
-
- 10 2月, 2015 1 次提交
-
-
由 Maxim Ostapenko 提交于
Fix TARGET_SI_PAD_SIZE calculation to match the way the kernel does it. Use different TARGET_SI_PREAMBLE_SIZE for 32-bit and 64-bit targets. Signed-off-by: NMaxim Ostapenko <m.ostapenko@partner.samsung.com> Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
-
- 11 11月, 2014 1 次提交
-
-
由 Alexander Graf 提交于
When creating a timer handle, we give the timer id a special magic offset of 0xcafe0000. However, we never mask that offset out of the timer id before we start using it to dereference our timer array. So we always end up aborting timer operations because the timer id is out of bounds. This was not an issue before my patch e52a99f7 ("linux-user: Simplify timerid checks on g_posix_timers range") because before we would blindly mask anything above the first 16 bits. This patch simplifies the code around timer id creation by introducing a proper target_timer_id typedef that is s32, just like Linux has it. It also changes the magic offset to a value that makes all timer ids be positive. Reported-by: NTom Musta <tommusta@gmail.com> Signed-off-by: NAlexander Graf <agraf@suse.de> Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Reviewed-by: NTom Musta <tommusta@gmail.com> Tested-by: NTom Musta <tommusta@gmail.com> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
- 15 7月, 2014 1 次提交
-
-
由 Joakim Tjernlund 提交于
Implement conversion of the AF_PACKET sockaddr subtype in target_to_host_sockaddr. Signed-off-by: NJoakim Tjernlund <Joakim.Tjernlund@transmode.se> Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
- 29 6月, 2014 4 次提交
-
-
由 Paul Burton 提交于
Add a definition of the SIOCGIFINDEX ioctl, allowing its use by target programs. Signed-off-by: NPaul Burton <paul@archlinuxmips.org> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
由 Paul Burton 提交于
Add a definition of the KDSIGACCEPT ioctl & allow its use by target programs. Signed-off-by: NPaul Burton <paul@archlinuxmips.org> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
由 Paul Burton 提交于
The settimeofday syscall accepts a tz argument indicating the desired timezone to the kernel. QEMU previously ignored any argument provided by the target program & always passed NULL to the kernel. Instead, translate the argument & pass along the data userland provided. Although this argument is described by the settimeofday man page as obsolete, it is used by systemd as of version 213. Signed-off-by: NPaul Burton <paul@archlinuxmips.org> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
由 Paul Burton 提交于
MIPS requires the pad field to 64b-align the data field just as ARM does. Signed-off-by: NPaul Burton <paul@archlinuxmips.org> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
- 03 5月, 2014 1 次提交
-
-
由 Natanael Copa 提交于
Use the public sigset_t instead of the glibc specific internal __sigset_t in _syscall. Calculate the sigevent pad size is calculated in similar way as kernel does it instead of using glibc internal field _pad. This is needed for building with musl libc. Signed-off-by: NNatanael Copa <ncopa@alpinelinux.org> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org> Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
-
- 17 3月, 2014 2 次提交
-
-
由 Peter Maydell 提交于
Implement the capget and capset syscalls. This is useful because simple programs like 'ls' try to use it in AArch64, and otherwise we emit a lot of noise about it being unimplemented. Signed-off-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
由 Andreas Schwab 提交于
F_GETOWN is replaced by F_GETOWN_EX inside the glibc fcntl wrapper Signed-off-by: NAndreas Schwab <schwab@suse.de> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
- 04 3月, 2014 2 次提交
-
-
由 Alexander Graf 提交于
Glibc when built for newer kernels assumes that the sendmmsg syscall is available. Without it, dns resolution simply fails to work. Wrap the syscall with existing infrastructure so that we don't have a host dependency on sendmmsg. To avoid locking the same area of guest memory twice (which will break if DEBUG_REMAP is defined) we pull the lock/unlock part of do_sendrecvmsg() out into its own function so the actual implementation can be shared. Signed-off-by: NAlexander Graf <agraf@suse.de> [PMM: add recvmmsg support; handle errors (which also implies support for non-blocking operations); cap the vector length as the kernel implementation does; don't lock guest memory twice; support MSG_WAITFORONE flag] Signed-off-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org> Reviewed-by: NRichard Henderson <rth@twiddle.net>
-
由 Andreas Schwab 提交于
The AArch64 kernel defines its __kernel_uid_t type as 32 bits, unlike 32 bit ARM, so don't enable our 16-bit UID wrapper handling. Signed-off-by: NAndreas Schwab <schwab@suse.de> Signed-off-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org> Reviewed-by: NRichard Henderson <rth@twiddle.net>
-
- 19 2月, 2014 1 次提交
-
-
由 Andreas Färber 提交于
Signed-off-by: NAndreas Färber <afaerber@suse.de> Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
- 10 1月, 2014 1 次提交
-
-
由 André Hentschel 提交于
Cc: Riku Voipio <riku.voipio@iki.fi> Signed-off-by: NAndré Hentschel <nerv@dawncrow.de> Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Reviewed-by: NErik de Castro Lopo <erikd@mega-nerd.com> Reviewed-by: NLaurent Vivier <laurent@vivier.eu> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
- 29 11月, 2013 1 次提交
-
-
由 Erik de Castro Lopo 提交于
Signed-off-by: NErik de Castro Lopo <erikd@mega-nerd.com> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
- 07 11月, 2013 1 次提交
-
-
由 Stefan Weil 提交于
Some targets use a stat64 structure for the stat64 syscall while others use a stat structure. SPARC64 used the wrong kind. Instead of extending the conditional compilation in syscall.c, now a macro TARGET_HAS_STRUCT_STAT64 is defined whenever a target has a target_stat64. Signed-off-by: NStefan Weil <sw@weilnetz.de> Reviewed-by: NErik de Castro Lopo <erikd@mega-nerd.com>
-
- 24 9月, 2013 1 次提交
-
-
由 Laurent Vivier 提交于
This is needed to be able to run dhclient. Signed-off-by: NLaurent Vivier <laurent@vivier.eu> Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
- 11 9月, 2013 1 次提交
-
-
由 Alexander Graf 提交于
Some syscall handlers have special code for ARM enabled that we don't need on AArch64. Exclude AArch64 in those cases. In other places we can share struct definitions with other targets or have to provide our own. With this patch applied, most syscall definitions in linux-user should be sound for AArch64. Signed-off-by: NAlexander Graf <agraf@suse.de> Signed-off-by: NJohn Rigby <john.rigby@linaro.org> Signed-off-by: NPeter Maydell <peter.maydell@linaro.org> Message-id: 1378235544-22290-16-git-send-email-peter.maydell@linaro.org Message-id: 1368505980-17151-9-git-send-email-john.rigby@linaro.org Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
-
- 23 7月, 2013 2 次提交
-
-
由 Alexander Graf 提交于
The epoll emulation uses data structures without packing them, so the compiler might choose to add padding inside. This patch makes the most offending one (target_epoll_event) a packed structure to make sure we don't pad it by accident. ARM would pad it, so declare the padding mandatory for ARM targets. This fixes i386-on-ARM epoll emulation for me. Signed-off-by: NAlexander Graf <agraf@suse.de> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
由 Peter Maydell 提交于
OpenRISC uses the asm-generic versions of target_stat and target_stat64, but it was incorrectly using the x86/ARM/etc version due to a misplaced defined(TARGET_OPENRISC). The previously unused OpenRISC section of the ifdef ladder also defined an incorrect target_stat and omitted the target_stat64 definition. Fix target_stat, provide target_stat64, and add a comment noting that these are the asm-generic versions for the benefit of future ports. Reviewed-by: NJia Liu <proljc@gmail.com> Signed-off-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
- 17 1月, 2013 1 次提交
-
-
由 Laurent Vivier 提交于
The values of F_RDLCK, F_WRLCK, F_UNLCK, F_EXLCK, F_SHLCK differ between alpha and other linux architectures. This patch allows to run "dpkg" (database lock). Signed-off-by: NLaurent Vivier <laurent@vivier.eu> Signed-off-by: NRichard Henderson <rth@twiddle.net>
-
- 12 1月, 2013 1 次提交
-
-
由 Richard Henderson 提交于
Unconditional bswap replaced by __get_user/__put_user. Signed-off-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 19 12月, 2012 1 次提交
-
-
由 Paolo Bonzini 提交于
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
-
- 27 8月, 2012 1 次提交
-
-
由 Dmitry V. Levin 提交于
In case when TARGET_ABI_BITS == 32 && HOST_LONG_BITS == 64, the last byte of the target dirent structure (aka d_type byte) was never copied from the host dirent structure, thus breaking everything that relies on valid d_type value, e.g. glob(3). Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NDmitry V. Levin <ldv@altlinux.org> Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
-
- 13 8月, 2012 2 次提交
-
-
由 Peter Maydell 提交于
Fix the SNDCTL_DSP_MAP{IN,OUT}BUF ioctl definitions so that they refer to a suitably defined target struct layout rather than hardcoding the ioctl number. This fixes complaints from the syscall_init() consistency check when running an x86_64-to-x86_64 linux-user qemu. Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
-
由 Peter Maydell 提交于
The definitions for the ioctl numbers TARGET_BLKBSZGET and TARGET_BLKBSZSET had the wrong size parameters (they are defined with size_t, not int, even though the ioctl implementations themselves read and write integers). Since commit 354a0008 we now have an ioctl wrapper definition for BLKBSZGET and so on an x86-64-to-x86-64 linux-user binary we were triggering the mismatch warning in syscall_init(). Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
-
- 05 8月, 2012 1 次提交
-
-
由 Richard Henderson 提交于
For each target, only define the bits that appear in arch/target/include/asm/fcntl.h. Mirror the kernel's asm-generic layout by handling anything undefined afterward. Signed-off-by: NRichard Henderson <rth@twiddle.net>
-