]> git.proxmox.com Git - mirror_qemu.git/commitdiff
cpu-exec: don't overwrite exception_index
authorPavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
Tue, 14 Nov 2017 08:18:12 +0000 (11:18 +0300)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 14 Nov 2017 13:46:46 +0000 (14:46 +0100)
This patch adds a condition before overwriting exception_index fiels.
It is needed when exception_index is already set to some meaningful value.

Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>
Message-Id: <20171114081812.27640.26372.stgit@pasha-VirtualBox>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
accel/tcg/cpu-exec.c

index 61297f8f4a7fa9dbe5cb9177f6cfc1fed5a4be95..0473055a0814de77948aa71d8c10bc92e0073022 100644 (file)
@@ -594,7 +594,9 @@ static inline bool cpu_handle_interrupt(CPUState *cpu,
     if (unlikely(atomic_read(&cpu->exit_request)
         || (use_icount && cpu->icount_decr.u16.low + cpu->icount_extra == 0))) {
         atomic_set(&cpu->exit_request, 0);
-        cpu->exception_index = EXCP_INTERRUPT;
+        if (cpu->exception_index == -1) {
+            cpu->exception_index = EXCP_INTERRUPT;
+        }
         return true;
     }