diff options
author | Douglas Crosher <dtc-ubuntu@scieneer.com> | 2020-09-22 14:17:56 +1000 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2020-09-30 19:11:36 +0200 |
commit | 56bf1c4985fb9ad24642f176cc40db0eb4f3dc31 (patch) | |
tree | d25279609b43b205c2a53ed412d309ba2dd7929a /target | |
parent | bfac6d1933a5fd8198e622dfd19196c2cc6cf74b (diff) |
helper_syscall x86_64: clear exception_is_int
The exception_is_int flag may be set on entry to helper_syscall,
e.g. after a prior interrupt that has returned, and processing
EXCP_SYSCALL as an interrupt causes it to fail so clear this flag.
Signed-off-by: Douglas Crosher <dtc-ubuntu@scieneer.com>
Message-Id: <a7dab33e-eda6-f988-52e9-f3d32db7538d@scieneer.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'target')
-rw-r--r-- | target/i386/seg_helper.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/target/i386/seg_helper.c b/target/i386/seg_helper.c index b96de068ca..be88938c2a 100644 --- a/target/i386/seg_helper.c +++ b/target/i386/seg_helper.c @@ -975,6 +975,7 @@ void helper_syscall(CPUX86State *env, int next_eip_addend) CPUState *cs = env_cpu(env); cs->exception_index = EXCP_SYSCALL; + env->exception_is_int = 0; env->exception_next_eip = env->eip + next_eip_addend; cpu_loop_exit(cs); } |