aboutsummaryrefslogtreecommitdiff
path: root/accel/tcg/translate-all.h
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2019-09-21 20:16:09 -0700
committerRichard Henderson <richard.henderson@linaro.org>2019-09-25 10:56:28 -0700
commit5a7c27bb8a50a1b441a5b4c9d8e65727edec7f27 (patch)
treed592516d9279b6ddbb30a3d89447dbfa9bcbad02 /accel/tcg/translate-all.h
parentce9f5e279223cf422eae8e228fe03d6f60e251a4 (diff)
cputlb: Pass retaddr to tb_invalidate_phys_page_fast
Rather than rely on cpu->mem_io_pc, pass retaddr down directly. Within tb_invalidate_phys_page_range__locked, the is_cpu_write_access parameter is non-zero exactly when retaddr would be non-zero, so that is a simple replacement. Recognize that current_tb_not_found is true only when mem_io_pc (and now retaddr) are also non-zero, so remove a redundant test. Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: David Hildenbrand <david@redhat.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'accel/tcg/translate-all.h')
-rw-r--r--accel/tcg/translate-all.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/accel/tcg/translate-all.h b/accel/tcg/translate-all.h
index 31f2117188..135c1ea96a 100644
--- a/accel/tcg/translate-all.h
+++ b/accel/tcg/translate-all.h
@@ -27,7 +27,8 @@ struct page_collection *page_collection_lock(tb_page_addr_t start,
tb_page_addr_t end);
void page_collection_unlock(struct page_collection *set);
void tb_invalidate_phys_page_fast(struct page_collection *pages,
- tb_page_addr_t start, int len);
+ tb_page_addr_t start, int len,
+ uintptr_t retaddr);
void tb_invalidate_phys_page_range(tb_page_addr_t start, tb_page_addr_t end);
void tb_check_watchpoint(CPUState *cpu);