[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3] target-arm: Break the TB after ISB to execut
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH v3] target-arm: Break the TB after ISB to execute self-modified code correctly |
Date: |
Fri, 11 Sep 2015 16:44:13 +0100 |
On 9 September 2015 at 17:01, 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>
This doesn't compile...
/home/petmay01/linaro/qemu-from-laptop/qemu/target-arm/translate.c: In
function ‘disas_thumb2_insn’:
/home/petmay01/linaro/qemu-from-laptop/qemu/target-arm/translate.c:10017:29:
error: ‘return’ with no value, in function returning non-void
[-Werror=return-type]
return;
^
thanks
-- PMM