diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2014-08-22 14:39:53 +0100 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2014-08-22 14:39:53 +0100 |
| commit | 43fe62757b0b90af448e02c9bd55b62960556360 (patch) | |
| tree | b7513ba75b7ee74c5ce4d184957cc91664abb1cc /target-i386/seg_helper.c | |
| parent | fd3cced366958cc90f0a8caa8213471afde9bf3c (diff) | |
| parent | 29e03fcb62d413cf5fba06978346893ab72a1f64 (diff) | |
| download | focaccia-qemu-43fe62757b0b90af448e02c9bd55b62960556360.tar.gz focaccia-qemu-43fe62757b0b90af448e02c9bd55b62960556360.zip | |
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>
Diffstat (limited to 'target-i386/seg_helper.c')
| -rw-r--r-- | target-i386/seg_helper.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/target-i386/seg_helper.c b/target-i386/seg_helper.c index 2d970d0cb9..13eefbac3b 100644 --- a/target-i386/seg_helper.c +++ b/target-i386/seg_helper.c @@ -1127,8 +1127,8 @@ static void do_interrupt_user(CPUX86State *env, int intno, int is_int, /* Since we emulate only user space, we cannot do more than exiting the emulation with the suitable exception and error - code */ - if (is_int) { + code. So update EIP for INT 0x80 and EXCP_SYSCALL. */ + if (is_int || intno == EXCP_SYSCALL) { env->eip = next_eip; } } |