qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 2/8] accel/tcg: suppress IRQ check for special TBs


From: Richard Henderson
Subject: Re: [PATCH v3 2/8] accel/tcg: suppress IRQ check for special TBs
Date: Mon, 29 Nov 2021 15:34:51 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0

On 11/29/21 3:09 PM, Alex Bennée wrote:
When we set cpu->cflags_next_tb it is because we want to carefully
control the execution of the next TB. Currently there is a race that
causes the second stage of watchpoint handling to get ignored if an
IRQ is processed before we finish executing the instruction that
triggers the watchpoint. Use the new CF_NOIRQ facility to avoid the
race.

We also suppress IRQs when handling precise self modifying code to
avoid unnecessary bouncing.

Signed-off-by: Alex Bennée<alex.bennee@linaro.org>
Cc: Pavel Dovgalyuk<pavel.dovgalyuk@ispras.ru>
Fixes:https://gitlab.com/qemu-project/qemu/-/issues/245

---
v2
   - split the CF_NOIRQ implementation
   - only apply CF_NOIRQ for watchpoints/SMC handling
   - minor reword of commit
v3
   - add additional two cases of | CF_NOIRQ
---
  accel/tcg/cpu-exec.c      | 9 +++++++++
  accel/tcg/translate-all.c | 4 ++--
  softmmu/physmem.c         | 4 ++--
  3 files changed, 13 insertions(+), 4 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]