diff options
author | Richard Henderson | 2020-12-12 17:38:21 +0100 |
---|---|---|
committer | Richard Henderson | 2021-01-07 16:09:41 +0100 |
commit | 1da8de39a39c55560cb4bf0cea94d598fea035cd (patch) | |
tree | 59d8b4160b3342019ef5fd8c1392af7812de0713 /tcg/ppc/tcg-target.c.inc | |
parent | tcg: Do not flush icache for interpreter (diff) | |
download | qemu-1da8de39a39c55560cb4bf0cea94d598fea035cd.tar.gz qemu-1da8de39a39c55560cb4bf0cea94d598fea035cd.tar.xz qemu-1da8de39a39c55560cb4bf0cea94d598fea035cd.zip |
util: Enhance flush_icache_range with separate data pointer
We are shortly going to have a split rw/rx jit buffer. Depending
on the host, we need to flush the dcache at the rw data pointer and
flush the icache at the rx code pointer.
For now, the two passed pointers are identical, so there is no
effective change in behaviour.
Reviewed-by: Joelle van Dyne <j@getutm.app>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'tcg/ppc/tcg-target.c.inc')
-rw-r--r-- | tcg/ppc/tcg-target.c.inc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tcg/ppc/tcg-target.c.inc b/tcg/ppc/tcg-target.c.inc index 0d068ec8ab..b756281042 100644 --- a/tcg/ppc/tcg-target.c.inc +++ b/tcg/ppc/tcg-target.c.inc @@ -1753,12 +1753,12 @@ void tb_target_set_jmp_target(uintptr_t tc_ptr, uintptr_t jmp_addr, /* As per the enclosing if, this is ppc64. Avoid the _Static_assert within qatomic_set that would fail to build a ppc32 host. */ qatomic_set__nocheck((uint64_t *)jmp_addr, pair); - flush_icache_range(jmp_addr, jmp_addr + 8); + flush_idcache_range(jmp_addr, jmp_addr, 8); } else { intptr_t diff = addr - jmp_addr; tcg_debug_assert(in_range_b(diff)); qatomic_set((uint32_t *)jmp_addr, B | (diff & 0x3fffffc)); - flush_icache_range(jmp_addr, jmp_addr + 4); + flush_idcache_range(jmp_addr, jmp_addr, 4); } } |