History | View | Annotate | Download (187.6 kB)
target-alpha: implement getxuid and getxgid syscalls
This patch implemented the setxuid and setxgid syscalls for Alpha.These syscalls return two values, both uid/euid and gid/egid.In addition to returning the first value in $v0, the additionalvalue is returned in the $a4 register....
use target_mmap() to allocate idt, gdt and ldt (Kirill A. Shutemov).
env->*dt.base should fit target address space, so we should usetarget_mmap to allocate them.
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5666 c046a42c-6fe2-441c-8c8c-71466251a162
User qemu profiling
- Makefile.target: re-enable profiling for user qemu. It seems profiling was (accidently?) removed by commit 3937
- syscall.c: * add an include to get _mcleanup prototype * add a call to _mcleanup for exit_group in a way similar to what is done for exit...
Recvmsg must return the number of bytes received (Lauro Ramos Venancio).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5564 c046a42c-6fe2-441c-8c8c-71466251a162
Fix iovec for the case with invalid elements (Lauro Ramos Venancio).
We must call the writev even if an iovec element is invalid. Forexample, if the second element is invalid, the linux process the firstone.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5562 c046a42c-6fe2-441c-8c8c-71466251a162
Use the host exit syscall for exiting (Lauro Ramos Venancio).
We can't call the libc _exit function because it calls the exit_grouphost syscall. We must call directly the exit host syscall.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5561 c046a42c-6fe2-441c-8c8c-71466251a162
Fix undeclared symbol warnings from sparse
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5539 c046a42c-6fe2-441c-8c8c-71466251a162
Replace uses of strncpy (a GNU extension) with Qemu pstrcpy
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5531 c046a42c-6fe2-441c-8c8c-71466251a162
Add missing return statement (fixes compiler warning).
Signed-off-by: Stefan Weil <weil@mail.berlios.de>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5523 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user: implement msg* syscalls
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5484 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user: fix and cleanup IPCOP_msg* ipc calls handling
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5483 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user: fix getdents* syscalls
glibc's structs dirent and dirent64 is different from in-kernel direntand dirent64. Kernel headers doesn't provide structs dirent(64) anymore. So we should add it to qemu headers.
To avoid conflict with glibc it called struct linux_dirent(64)....
linux-user: Add readahead syscall
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5479 c046a42c-6fe2-441c-8c8c-71466251a162
Make various generated structures static
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5429 c046a42c-6fe2-441c-8c8c-71466251a162
Make ioctl table static
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5426 c046a42c-6fe2-441c-8c8c-71466251a162
Make bitmask tables static const
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5425 c046a42c-6fe2-441c-8c8c-71466251a162
Make struct_termios_def const
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5424 c046a42c-6fe2-441c-8c8c-71466251a162
Add inotify syscall family
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5388 c046a42c-6fe2-441c-8c8c-71466251a162
Add mincore syscall
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5387 c046a42c-6fe2-441c-8c8c-71466251a162
Add fadvise64 stubs
Since these are only hints, we happily fake them for nowto make applications not barf on ENOSYS.
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>...
Band-aid vfork() emulation (Kirill Shutemov).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5279 c046a42c-6fe2-441c-8c8c-71466251a162
Enable same-arch consistency check on x86-64, print syscall name on error.
Also disable testing instructions unsupported by 64-bit binutils intest-i386.c
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5277 c046a42c-6fe2-441c-8c8c-71466251a162
Suppress gcc 4.x -Wpointer-sign (included in -Wall) warnings
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5275 c046a42c-6fe2-441c-8c8c-71466251a162
Fix pread() and pwrite() syscall on ARM EABI (Kirill Shutemov).
pread() and pwrite() have differences in arguments between ARM EABI andOABI.
See arch/arm/kernel/entry-common.S in Linux kernel source foradditional information.
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>...
Add MTIOCTOP, MTIOCGET and MTIOCPOS ioctls (Kirill Shutemov).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5271 c046a42c-6fe2-441c-8c8c-71466251a162
Fix building with 2.6.27 kernel headers (Kirill Shutemov).
<linux/dirent.h> unexported since 2.6.27
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5270 c046a42c-6fe2-441c-8c8c-71466251a162
Implement the futimesat() syscall (by Kirill Shutemov).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5269 c046a42c-6fe2-441c-8c8c-71466251a162
Implement fstatat64() syscall (by Kirill Shutemov).
Move the transformation of struct stat64 into a separate function andimplement fstatat64() using it.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5268 c046a42c-6fe2-441c-8c8c-71466251a162
Swap only altered elements of the grouplist in getgroups() (Kirill Shutemov).
getgroups() returns the number of supplementary group IDs, so it'sunnessary to swap the entire array. It can dramatically speed upthe syscall: on recent Linux kernels NGROUPS_MAX=65536....
Fix getgroups() with zero size parameter (Kirill Shutemov).
According to man page getgroups(2):
If size is zero, list is not modified, but the total number ofsupplementary group IDs for the process is returned.
qemu sh4 nptl support
(Michael Trimarchi)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5223 c046a42c-6fe2-441c-8c8c-71466251a162
Fix some warnings that would be generated by gcc -Wredundant-decls
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5115 c046a42c-6fe2-441c-8c8c-71466251a162
To make syscall.c for 64 bit truly warning-free, we need some more #ifs.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5080 c046a42c-6fe2-441c-8c8c-71466251a162
Fix some warnings that would be generated by gcc -Wmissing-prototypes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5022 c046a42c-6fe2-441c-8c8c-71466251a162
Fix a bunch of type mismatch-related warnings (Jan Kiszka).
Fix a typo in my previous comming (spotted by Laurent Desnouges).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4877 c046a42c-6fe2-441c-8c8c-71466251a162
More efficient target register / TC accesses.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4794 c046a42c-6fe2-441c-8c8c-71466251a162
Fix typo, by Laurent Desnogues.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4726 c046a42c-6fe2-441c-8c8c-71466251a162
Use qemu_mallocz to allocate new thread state. Remove redundant memset.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4712 c046a42c-6fe2-441c-8c8c-71466251a162
Despite what the documentation says/implies, PTHREAD_STACK_MIN is often notdefined by pthread.h.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4709 c046a42c-6fe2-441c-8c8c-71466251a162
Implement thread creation.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4693 c046a42c-6fe2-441c-8c8c-71466251a162
Fix location of futex.h.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4653 c046a42c-6fe2-441c-8c8c-71466251a162
Make signal queues per thread.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4635 c046a42c-6fe2-441c-8c8c-71466251a162
Fix structure type in sigtimedwait syscall.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4630 c046a42c-6fe2-441c-8c8c-71466251a162
Handle NULL argp/envp in execve syscall.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4627 c046a42c-6fe2-441c-8c8c-71466251a162
Implement waitid syscall.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4626 c046a42c-6fe2-441c-8c8c-71466251a162
Perform target->host signal mapping for *kill syscalls.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4625 c046a42c-6fe2-441c-8c8c-71466251a162
Move clone() register setup to target specific code. Handle fork-like clone.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4623 c046a42c-6fe2-441c-8c8c-71466251a162
NPTL host detection and futex syscall passthrough.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4616 c046a42c-6fe2-441c-8c8c-71466251a162
Implement clock_nanosleep.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4613 c046a42c-6fe2-441c-8c8c-71466251a162
Fix build failure with old kernel headers (loop.h is incompatible withglibc headers).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4543 c046a42c-6fe2-441c-8c8c-71466251a162
added missing return (Mike Frysinger)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4419 c046a42c-6fe2-441c-8c8c-71466251a162
Update ARM rt_frame layout.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4365 c046a42c-6fe2-441c-8c8c-71466251a162
Add loop device ioctls (Gary Thomas).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4257 c046a42c-6fe2-441c-8c8c-71466251a162
Teach mmap to not overwrite reserved pages and fix brk return value (Richard Purdie).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4255 c046a42c-6fe2-441c-8c8c-71466251a162
add pread64 and pwrite64 system calls
(Gary Thomas)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4126 c046a42c-6fe2-441c-8c8c-71466251a162
m68k mmap2 fixes.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4106 c046a42c-6fe2-441c-8c8c-71466251a162
Revert fix for CVE-2008-0928. Will be fixed in a different way later.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4041 c046a42c-6fe2-441c-8c8c-71466251a162
Make MIPS MT implementation more cache friendly.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3981 c046a42c-6fe2-441c-8c8c-71466251a162
Don't error out on zero-length chunks in writev, as to mimic Linux (Kirill A. Shutemov).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3970 c046a42c-6fe2-441c-8c8c-71466251a162
lock_iovec() fix
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3967 c046a42c-6fe2-441c-8c8c-71466251a162
Correct errno return for setsockopt(), by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3839 c046a42c-6fe2-441c-8c8c-71466251a162
Correct errno return for getsockopt(), by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3838 c046a42c-6fe2-441c-8c8c-71466251a162
sh_serial: enable tx after reset (Magnus Damm).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3811 c046a42c-6fe2-441c-8c8c-71466251a162
Add missing break just before execve, by Takashi Yoshii.Fix a comment typo.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3810 c046a42c-6fe2-441c-8c8c-71466251a162
Fix execve argc/envc counting, by Takashi Yoshii.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3788 c046a42c-6fe2-441c-8c8c-71466251a162
copy_{to,from}_user_timeval() update, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3780 c046a42c-6fe2-441c-8c8c-71466251a162
copy_from_user_fdset() update, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3779 c046a42c-6fe2-441c-8c8c-71466251a162
Fix for execve syscall, by Kirill A. Shutemov.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3763 c046a42c-6fe2-441c-8c8c-71466251a162
suppressed tgetx and tputx (initial patch by Thayne Harbaugh)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3653 c046a42c-6fe2-441c-8c8c-71466251a162
x86_64 linux user emulation
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3646 c046a42c-6fe2-441c-8c8c-71466251a162
i386 TLS support
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3644 c046a42c-6fe2-441c-8c8c-71466251a162
suppressed page_unprotect_range() - fixed access_ok()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3641 c046a42c-6fe2-441c-8c8c-71466251a162
64 bit cast for dirent64
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3625 c046a42c-6fe2-441c-8c8c-71466251a162
removed warning
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3607 c046a42c-6fe2-441c-8c8c-71466251a162
improved cmsg handling - improved shm memory code
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3600 c046a42c-6fe2-441c-8c8c-71466251a162
move get_errno() inside do_fcntl()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3591 c046a42c-6fe2-441c-8c8c-71466251a162
no longer use get_errno for do_modify_ldt()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3590 c046a42c-6fe2-441c-8c8c-71466251a162
Linux user memory access API change (initial patch by Thayne Harbaugh)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3583 c046a42c-6fe2-441c-8c8c-71466251a162
Strace for userland emulation, by Stuart Anderson and Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3502 c046a42c-6fe2-441c-8c8c-71466251a162
Do not make NETLINK socket connections possible (Alexander Graf).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3488 c046a42c-6fe2-441c-8c8c-71466251a162
Syscall target errno fixes, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3418 c046a42c-6fe2-441c-8c8c-71466251a162
Support for 32 bit ABI on 64 bit targets (only enabled Sparc64)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3396 c046a42c-6fe2-441c-8c8c-71466251a162
getpriority() shouldn't use libc wrapper, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3376 c046a42c-6fe2-441c-8c8c-71466251a162
CRIS Linux userland emulation, part 2. By Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3367 c046a42c-6fe2-441c-8c8c-71466251a162
Move get_sp_from_cpustate from cpu.h to target_signal.h.Enable sigaltstack processing for more architectures.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3253 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user sigaltstack() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3252 c046a42c-6fe2-441c-8c8c-71466251a162
Convert syscall arguments and return value from long to int or target_long.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3241 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user utimensat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3240 c046a42c-6fe2-441c-8c8c-71466251a162
Check if the hosts defines a symlinkat syscall.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3236 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user faccessat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3227 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user fchmodat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3226 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user readlinkat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3225 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user symlinkat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3224 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user linkat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3223 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user renameat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3222 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user unlinkat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3221 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user fchownat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3220 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user mknodat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3219 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user mkdirat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3218 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user openat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3217 c046a42c-6fe2-441c-8c8c-71466251a162