qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v4] target-arm: Break the TB after ISB to execut


From: Peter Maydell
Subject: Re: [Qemu-devel] [PATCH v4] target-arm: Break the TB after ISB to execute self-modified code correctly
Date: Sun, 4 Oct 2015 20:20:05 +0100

On 2 October 2015 at 13:38, Sergey Sorokin <address@hidden> wrote:
> If any store instruction writes the code inside the same TB
> after this store insn, the execution of the TB must be stopped
> to execute new code correctly.
> As described in ARMv8 manual D3.4.6 a self-modified code need to do
> IC invalidation to be valid, and ISB after it. So it's enough to end the TB
> after ISB instruction on the code translation.
> Also this TB break is necessary to take any pending interrupts immediately
> according to ARMv8 ARM D1.14.4.
>
> Signed-off-by: Sergey Sorokin <address@hidden>
> ---
> Changes since previous version:
> * ARMv6 ISB was also fixed.
> * Second reason for TB breaking was mentioned in comments
> and the commit message.
> * A compilation error was fixed.
>
>  target-arm/helper.c        |  6 +++++-
>  target-arm/translate-a64.c |  8 +++++++-
>  target-arm/translate.c     | 17 +++++++++++++++--
>  3 files changed, 27 insertions(+), 4 deletions(-)



Applied to target-arm.next, thanks.

-- PMM



reply via email to

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