#
8d6ab333 |
| 30-Jun-2014 |
Tom Musta <tommusta@gmail.com> |
linux-user: Properly Dereference PPC64 ELFv1 Signal Handler Pointer
Properly dereference 64-bit PPC ELF V1 ABIT function pointers to signal handlers. On this platform, function pointers are pointers
linux-user: Properly Dereference PPC64 ELFv1 Signal Handler Pointer
Properly dereference 64-bit PPC ELF V1 ABIT function pointers to signal handlers. On this platform, function pointers are pointers to structures and the first 64 bits of such a structure contains the function's entry point. The second 64 bits contains the TOC pointer, which must be placed into GPR 2.
Signed-off-by: Tom Musta <tommusta@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
#
61e75fec |
| 30-Jun-2014 |
Tom Musta <tommusta@gmail.com> |
linux-user: Enable Signal Handlers on PPC64
Enable the 64-bit PowerPC signal handling code that was previously disabled via #ifdefs. Specifically:
- Move the target_mcontext (register save area)
linux-user: Enable Signal Handlers on PPC64
Enable the 64-bit PowerPC signal handling code that was previously disabled via #ifdefs. Specifically:
- Move the target_mcontext (register save area) structure and append it to the 64-bit target_sigcontext structure. This provides the space on the stack for saving and restoring context. - Define the target_rt_sigframe for 64-bit. - Adjust the setup_frame and setup_rt_frame routines to properly select the target_mcontext area and trampoline within the stack frame; tthis is different for 32-bit and 64-bit implementations. - Adjust the do_setcontext stub for 64-bit so that it compiles without warnings.
The 64-bit signal handling code is still not functional after this change; but the 32-bit code is. Subsequent changes will address specific issues with the 64-bit code.
Signed-off-by: Tom Musta <tommusta@gmail.com> [agraf: fix build on 32bit hosts, ppc64abi32] Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
#
7678108b |
| 30-Jun-2014 |
Tom Musta <tommusta@gmail.com> |
linux-user: Split PPC Trampoline Encoding from Register Save
Split the encoding of the PowerPC sigreturn trampoline from the saving of register state onto the signal handler stack. This will make i
linux-user: Split PPC Trampoline Encoding from Register Save
Split the encoding of the PowerPC sigreturn trampoline from the saving of register state onto the signal handler stack. This will make it easier in subsequent patches to deal with variations in the stack frame layouts between 32 and 64 bit PowerPC.
Signed-off-by: Tom Musta <tommusta@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
#
fbdc200a |
| 30-Jun-2014 |
Tom Musta <tommusta@gmail.com> |
linux-user: Fix Stack Pointer Bug in PPC setup_rt_frame
The code that sets the stack frame back pointer is incorrect for the setup_rt_frame() code; qemu will abort (SIGSEGV) in some environments. T
linux-user: Fix Stack Pointer Bug in PPC setup_rt_frame
The code that sets the stack frame back pointer is incorrect for the setup_rt_frame() code; qemu will abort (SIGSEGV) in some environments. The setup_frame code was fixed in commit beb526b12134a6b6744125deec5a7fe24a8f92e3 but the setup_rt_frame code was not.
Make the setup_rt_frame code consistent with the setup_frame code.
Signed-off-by: Tom Musta <tommusta@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
#
43fe6275 |
| 22-Aug-2014 |
Peter Maydell <peter.maydell@linaro.org> |
Merge remote-tracking branch 'remotes/riku/linux-user-for-upstream' into staging
* remotes/riku/linux-user-for-upstream: (22 commits) linux-user: check return value of malloc() linux-user: write
Merge remote-tracking branch 'remotes/riku/linux-user-for-upstream' into staging
* remotes/riku/linux-user-for-upstream: (22 commits) linux-user: check return value of malloc() linux-user: writev Partial Writes linux-user: Support target-to-host translation of mlockall argument linux-user: clock_nanosleep errno Handling on PPC linux-user: Minimum Sig Handler Stack Size for PPC64 ELF V2 linux-user: Move get_ppc64_abi linux-user: Detect fault in sched_rr_get_interval linux-user: Handle NULL sched_param argument to sched_* linux-user: Detect Negative Message Sizes in msgsnd System Call linux-user: Conditionally Pass Attribute Pointer to mq_open() linux-user: Make ipc syscall's third argument an abi_long linux-user: Properly Handle semun Structure In Cross-Endian Situations linux-user: Dereference Pointer Argument to ipc/semctl Sys Call linux-user: PPC64 semid_ds Doesnt Include _unused1 and _unused2 linux-user: add setns and unshare linux-user: support ioprio_{get, set} syscalls linux-user: support timerfd_{create, gettime, settime} syscalls linux-user: fix readlink handling with magic exe symlink linux-user: Fix conversion of sigevent argument to timer_create linux-user: Fix syscall instruction usermode emulation on X86_64 ...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
0903c8be |
| 12-Aug-2014 |
Tom Musta <tommusta@gmail.com> |
linux-user: Minimum Sig Handler Stack Size for PPC64 ELF V2
The ELF V2 ABI for PPC64 defines MINSIGSTKSZ as 4096 bytes whereas it was 2048 previously.
Signed-off-by: Tom Musta <tommusta@gmail.com>
linux-user: Minimum Sig Handler Stack Size for PPC64 ELF V2
The ELF V2 ABI for PPC64 defines MINSIGSTKSZ as 4096 bytes whereas it was 2048 previously.
Signed-off-by: Tom Musta <tommusta@gmail.com> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
show more ...
|
#
cbb46f5f |
| 15-Jul-2014 |
Peter Maydell <peter.maydell@linaro.org> |
Merge remote-tracking branch 'remotes/riku/linux-user-for-upstream' into staging
* remotes/riku/linux-user-for-upstream: linux-user: use TARGET_SA_ONSTACK in get_sigframe alloca one extra byte s
Merge remote-tracking branch 'remotes/riku/linux-user-for-upstream' into staging
* remotes/riku/linux-user-for-upstream: linux-user: use TARGET_SA_ONSTACK in get_sigframe alloca one extra byte sockets linux-user: handle AF_PACKET sockaddrs in target_to_host_sockaddr qemu-user: Impl. setsockopt(SO_BINDTODEVICE) SIOCGIFINDEX: fix typo
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
b545f63f |
| 15-Jul-2014 |
Riku Voipio <riku.voipio@linaro.org> |
linux-user: use TARGET_SA_ONSTACK in get_sigframe
As reported by Laurent, which should use TARGET_SA_ONSTACK on arm, microblaze and openrisc targets like we do on all others. Practical matter is min
linux-user: use TARGET_SA_ONSTACK in get_sigframe
As reported by Laurent, which should use TARGET_SA_ONSTACK on arm, microblaze and openrisc targets like we do on all others. Practical matter is minimal as for almost all archs SA_ONSTACK is 0x08000000:
http://lxr.free-electrons.com/ident?i=SA_ONSTACK
Reported-by: Laurent Desnogues <laurent.desnogues@gmail.com> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
show more ...
|
#
0360fbd0 |
| 17-Jun-2014 |
Peter Maydell <peter.maydell@linaro.org> |
Merge remote-tracking branch 'remotes/riku/linux-user-for-upstream' into staging
* remotes/riku/linux-user-for-upstream: User mode support for Linux ELF files with no section header linux-user:
Merge remote-tracking branch 'remotes/riku/linux-user-for-upstream' into staging
* remotes/riku/linux-user-for-upstream: User mode support for Linux ELF files with no section header linux-user: Return correct errno for unsupported netlink socket linux-user: Don't overrun guest buffer in sched_getaffinity linux-user/uname: Return correct uname string for x86_64 linux-user: fix gcc-4.9 compiler error on __{get,put]}_user signal/ppc/do_setcontext remove __get_user return check signal/sparc64_set_context: remove __get_user checks signal/ppc/{save,restore}_user_regs remove __put/get error checks signal/all/setup_frame remove __put_user checks signal/all/do_sigreturn - remove __get_user checks signal/all/do_sigaltstack remove __get_user value check signal/sparc/restore_fpu_state: remove signal/all: remove return value from restore_sigcontext signal/all: remove return value from setup_sigcontext signal/all: remove return value from copy_siginfo_to_user signal/x86/setup_frame: __put_user cleanup signal/all: remove __get/__put_user return value reading
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
9e918dc9 |
| 23-Apr-2014 |
Riku Voipio <riku.voipio@linaro.org> |
signal/ppc/do_setcontext remove __get_user return check
The last remaining check for return value of __get_user.
Signed-off-by: Riku Voipio <riku.voipio@linaro.org> Reviewed-by: Peter Maydell <pete
signal/ppc/do_setcontext remove __get_user return check
The last remaining check for return value of __get_user.
Signed-off-by: Riku Voipio <riku.voipio@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Cc: Alexander Graf <agraf@suse.de>
show more ...
|
#
be3ef5c7 |
| 23-Apr-2014 |
Riku Voipio <riku.voipio@linaro.org> |
signal/sparc64_set_context: remove __get_user checks
Remove checks of __get_user and the err variable used to control flow with it.
Signed-off-by: Riku Voipio <riku.voipio@linaro.org> Reviewed-by:
signal/sparc64_set_context: remove __get_user checks
Remove checks of __get_user and the err variable used to control flow with it.
Signed-off-by: Riku Voipio <riku.voipio@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
c650c008 |
| 23-Apr-2014 |
Riku Voipio <riku.voipio@linaro.org> |
signal/ppc/{save,restore}_user_regs remove __put/get error checks
As __get_user and __put_user do not return errors, remove the if checks from around them. This allows making the save/restore functi
signal/ppc/{save,restore}_user_regs remove __put/get error checks
As __get_user and __put_user do not return errors, remove the if checks from around them. This allows making the save/restore functions void.
Signed-off-by: Riku Voipio <riku.voipio@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Cc: Alexander Graf <agraf@suse.de>
show more ...
|
#
0188fadb |
| 23-Apr-2014 |
Riku Voipio <riku.voipio@linaro.org> |
signal/all/setup_frame remove __put_user checks
Remove "if(__put_user" checks and their related error paths for all architecture's setup_frame, setup_rt_frame and similar.
Remove the unlock_user_st
signal/all/setup_frame remove __put_user checks
Remove "if(__put_user" checks and their related error paths for all architecture's setup_frame, setup_rt_frame and similar.
Remove the unlock_user_struct when the only way to end up there is from failed lock_user_struct.
Remove err variable if there are no users for it in the function anymore.
Signed-off-by: Riku Voipio <riku.voipio@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
f5f601af |
| 23-Apr-2014 |
Riku Voipio <riku.voipio@linaro.org> |
signal/all/do_sigreturn - remove __get_user checks
Remove "if(__get_user" checks and their related error paths for all architecture's do_sigreturn. Remove the unlock_user_struct when the only way to
signal/all/do_sigreturn - remove __get_user checks
Remove "if(__get_user" checks and their related error paths for all architecture's do_sigreturn. Remove the unlock_user_struct when the only way to end up there is from failed lock_user_struct.
v3: remove unneccesary sigsegv label as suggested by Peter
Signed-off-by: Riku Voipio <riku.voipio@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
9eeb8306 |
| 23-Apr-2014 |
Riku Voipio <riku.voipio@linaro.org> |
signal/all/do_sigaltstack remove __get_user value check
Access is already checked in the lock_user_struct call before.
Signed-off-by: Riku Voipio <riku.voipio@linaro.org> Reviewed-by: Peter Maydell
signal/all/do_sigaltstack remove __get_user value check
Access is already checked in the lock_user_struct call before.
Signed-off-by: Riku Voipio <riku.voipio@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
94547384 |
| 23-Apr-2014 |
Riku Voipio <riku.voipio@linaro.org> |
signal/sparc/restore_fpu_state: remove
A function never called from anywhere, obviously half-complete. Remove function and if someone wants to complete this, please check the old version out of git
signal/sparc/restore_fpu_state: remove
A function never called from anywhere, obviously half-complete. Remove function and if someone wants to complete this, please check the old version out of git history.
Signed-off-by: Riku Voipio <riku.voipio@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
016d2e1d |
| 23-Apr-2014 |
Riku Voipio <riku.voipio@linaro.org> |
signal/all: remove return value from restore_sigcontext
make most implementations of restore_sigcontext void and remove checking it's return value from functions calling restore_sigcontext.
The exc
signal/all: remove return value from restore_sigcontext
make most implementations of restore_sigcontext void and remove checking it's return value from functions calling restore_sigcontext.
The exception is the X86 version of the function that is too different from others to deal in this way, and arm version, to keep possibility of erroring out from failed valid_user_regs.
v3: keep arm valid_user_regs for filling in near future.
Signed-off-by: Riku Voipio <riku.voipio@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
41ecc72b |
| 23-Apr-2014 |
Riku Voipio <riku.voipio@linaro.org> |
signal/all: remove return value from setup_sigcontext
Make all implementations of setup_sigcontext void and remove checking it's return value from functions calling setup_sigcontext.
Signed-off-by:
signal/all: remove return value from setup_sigcontext
Make all implementations of setup_sigcontext void and remove checking it's return value from functions calling setup_sigcontext.
Signed-off-by: Riku Voipio <riku.voipio@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
b0fd8d18 |
| 23-Apr-2014 |
Riku Voipio <riku.voipio@linaro.org> |
signal/all: remove return value from copy_siginfo_to_user
Since copy_siginfo_to_user always returns 0, make it void and remove any checks for return value from calling functions.
Signed-off-by: Rik
signal/all: remove return value from copy_siginfo_to_user
Since copy_siginfo_to_user always returns 0, make it void and remove any checks for return value from calling functions.
Signed-off-by: Riku Voipio <riku.voipio@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
7df2fa36 |
| 23-Apr-2014 |
Riku Voipio <riku.voipio@linaro.org> |
signal/x86/setup_frame: __put_user cleanup
Remove the remaining check for __put_user return value, and all the checks for err variable which isn't set anywhere anymore.
No we can only end up in giv
signal/x86/setup_frame: __put_user cleanup
Remove the remaining check for __put_user return value, and all the checks for err variable which isn't set anywhere anymore.
No we can only end up in give_sigsegv due to failed lock_user_struct - thus we remove the unlock_user_struct to avoid unlocking a region never locked.
Signed-off-by: Riku Voipio <riku.voipio@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
1d8b512b |
| 23-Apr-2014 |
Riku Voipio <riku.voipio@linaro.org> |
signal/all: remove __get/__put_user return value reading
Remove all the simple cases of reading the return value of __get_user and __put_user.
We set err = 0 in sparc versions of do_sigreturn and s
signal/all: remove __get/__put_user return value reading
Remove all the simple cases of reading the return value of __get_user and __put_user.
We set err = 0 in sparc versions of do_sigreturn and sparc64_set_context to avoid compile error, but else this patch is just general removal of err |= __get_user ... idiom.
v2: remove err variable from target_rt_restore_ucontext
Signed-off-by: Riku Voipio <riku.voipio@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
cf972928 |
| 06-May-2014 |
Peter Maydell <peter.maydell@linaro.org> |
Merge remote-tracking branch 'remotes/riku/linux-user-for-upstream' into staging
* remotes/riku/linux-user-for-upstream: linux-user: fix getrusage and wait4 failures with invalid rusage struct l
Merge remote-tracking branch 'remotes/riku/linux-user-for-upstream' into staging
* remotes/riku/linux-user-for-upstream: linux-user: fix getrusage and wait4 failures with invalid rusage struct linux-user/elfload.c: Support ARM HWCAP2 flags linux-user/elfload.c: Fix A64 code which was incorrectly acting like A32 linux-user/elfload.c: Update ARM HWCAP bits linux-user/elfload.c: Fix incorrect ARM HWCAP bits linux-user: remove configure option for setting uname release linux-user: move uname functions to uname.c linux-user: rename cpu-uname -> uname linux-user/signal.c: Set fault address in AArch64 signal info linux-user: avoid using glibc internals in _syscall5 and in definition of target_sigevent struct linux-user: Handle arches with llseek instead of _llseek linux-user: Add support for SCM_CREDENTIALS. linux-user: Move if-elses to a switch statement. linux-user: Assert stack used for auxvec, envp, argv linux-user: Add /proc/self/exe open forwarding
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
7af03928 |
| 01-May-2014 |
Peter Maydell <peter.maydell@linaro.org> |
linux-user/signal.c: Set fault address in AArch64 signal info
Set the fault address correctly in the signal information passed to a signal handler for AArch64 guests.
Signed-off-by: Peter Maydell <
linux-user/signal.c: Set fault address in AArch64 signal info
Set the fault address correctly in the signal information passed to a signal handler for AArch64 guests.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
show more ...
|
#
c6c09ba9 |
| 27-Mar-2014 |
Peter Maydell <peter.maydell@linaro.org> |
Merge remote-tracking branch 'remotes/mjt/tags/trivial-patches-2014-03-27' into staging
trivial patches for 2014-03-27
# gpg: Signature made Thu 27 Mar 2014 15:23:53 GMT using RSA key ID 74F0C838 #
Merge remote-tracking branch 'remotes/mjt/tags/trivial-patches-2014-03-27' into staging
trivial patches for 2014-03-27
# gpg: Signature made Thu 27 Mar 2014 15:23:53 GMT using RSA key ID 74F0C838 # gpg: Good signature from "Michael Tokarev <mjt@tls.msk.ru>" # gpg: aka "Michael Tokarev <mjt@corpit.ru>" # gpg: aka "Michael Tokarev <mjt@debian.org>" # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 6EE1 95D1 886E 8FFB 810D 4324 457C E0A0 8044 65C5 # Subkey fingerprint: E190 8639 3B10 B51B AC2C 8B73 5253 C5AD 74F0 C838
* remotes/mjt/tags/trivial-patches-2014-03-27: (23 commits) linux-user: remove duplicate statement hw/timer/grlib_gptimer: remove unnecessary assignment hw/pci-host/apb.c: Avoid shifting left into sign bit hw/intc/xilinx_intc: Avoid shifting left into sign bit hw/intc/slavio_intctl: Avoid shifting left into sign bit tests/libqos/pci-pc: Avoid shifting left into sign bit hw/ppc: Avoid shifting left into sign bit hw/intc/openpic: Avoid shifting left into sign bit hw/usb/hcd-ohci.c: Avoid shifting left into sign bit target-mips: Avoid shifting left into sign bit hw/i386/acpi_build.c: Avoid shifting left into sign bit hw/pci/pci_host.c: Avoid shifting left into sign bit hw/intc/apic.c: Use uint32_t for mask word in foreach_apic target-i386: Avoid shifting left into sign bit CODING_STYLE: Section about mixed declarations doc: update default PowerPC framebuffer settings doc: update sun4m documentation fix return check for KVM_GET_DIRTY_LOG ioctl target-i386: Add missing 'static' and 'const' attributes util: Add 'static' attribute to function implementation ...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
3768d505 |
| 23-Mar-2014 |
Prasad Joshi <prasadjoshi.linux@gmail.com> |
linux-user: remove duplicate statement
Signed-off-by: Prasad Joshi <prasadjoshi.linux@gmail.com> Acked-by: Riku Voipio <riku.voipio@linaro.org> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
|