[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 06/10] accel/tcg: Move tb_flush_jmp_cache() to cputlb.c
From: |
Richard Henderson |
Subject: |
[PULL 06/10] accel/tcg: Move tb_flush_jmp_cache() to cputlb.c |
Date: |
Sat, 23 Jan 2021 08:50:16 -1000 |
Move and make the function static, as the only users
are here in cputlb.c.
Suggested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
include/exec/exec-all.h | 3 ---
accel/tcg/cputlb.c | 18 ++++++++++++++++++
accel/tcg/translate-all.c | 17 -----------------
3 files changed, 18 insertions(+), 20 deletions(-)
diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
index 516013e735..1e3e7cf8e7 100644
--- a/include/exec/exec-all.h
+++ b/include/exec/exec-all.h
@@ -663,9 +663,6 @@ tb_page_addr_t get_page_addr_code_hostp(CPUArchState *env,
target_ulong addr,
void tlb_reset_dirty(CPUState *cpu, ram_addr_t start1, ram_addr_t length);
void tlb_set_dirty(CPUState *cpu, target_ulong vaddr);
-/* exec.c */
-void tb_flush_jmp_cache(CPUState *cpu, target_ulong addr);
-
MemoryRegionSection *
address_space_translate_for_iotlb(CPUState *cpu, int asidx, hwaddr addr,
hwaddr *xlat, hwaddr *plen,
diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c
index ced3dc077e..0fa1643ed3 100644
--- a/accel/tcg/cputlb.c
+++ b/accel/tcg/cputlb.c
@@ -25,6 +25,7 @@
#include "exec/address-spaces.h"
#include "exec/cpu_ldst.h"
#include "exec/cputlb.h"
+#include "exec/tb-hash.h"
#include "exec/memory-internal.h"
#include "exec/ram_addr.h"
#include "tcg/tcg.h"
@@ -97,6 +98,23 @@ static void tlb_window_reset(CPUTLBDesc *desc, int64_t ns,
desc->window_max_entries = max_entries;
}
+static void tb_jmp_cache_clear_page(CPUState *cpu, target_ulong page_addr)
+{
+ unsigned int i, i0 = tb_jmp_cache_hash_page(page_addr);
+
+ for (i = 0; i < TB_JMP_PAGE_SIZE; i++) {
+ qatomic_set(&cpu->tb_jmp_cache[i0 + i], NULL);
+ }
+}
+
+static void tb_flush_jmp_cache(CPUState *cpu, target_ulong addr)
+{
+ /* Discard jump cache entries for any tb which might potentially
+ overlap the flushed page. */
+ tb_jmp_cache_clear_page(cpu, addr - TARGET_PAGE_SIZE);
+ tb_jmp_cache_clear_page(cpu, addr);
+}
+
/**
* tlb_mmu_resize_locked() - perform TLB resize bookkeeping; resize if
necessary
* @desc: The CPUTLBDesc portion of the TLB
diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c
index ca7ef6aa17..5bd0e267c8 100644
--- a/accel/tcg/translate-all.c
+++ b/accel/tcg/translate-all.c
@@ -2461,23 +2461,6 @@ void cpu_io_recompile(CPUState *cpu, uintptr_t retaddr)
cpu_loop_exit_noexc(cpu);
}
-static void tb_jmp_cache_clear_page(CPUState *cpu, target_ulong page_addr)
-{
- unsigned int i, i0 = tb_jmp_cache_hash_page(page_addr);
-
- for (i = 0; i < TB_JMP_PAGE_SIZE; i++) {
- qatomic_set(&cpu->tb_jmp_cache[i0 + i], NULL);
- }
-}
-
-void tb_flush_jmp_cache(CPUState *cpu, target_ulong addr)
-{
- /* Discard jump cache entries for any tb which might potentially
- overlap the flushed page. */
- tb_jmp_cache_clear_page(cpu, addr - TARGET_PAGE_SIZE);
- tb_jmp_cache_clear_page(cpu, addr);
-}
-
static void print_qht_statistics(struct qht_stats hst)
{
uint32_t hgram_opts;
--
2.25.1
- [PULL 00/10] tcg patch queue, Richard Henderson, 2021/01/23
- [PULL 01/10] tcg: update the cpu running flag in cpu_exec_step_atomic, Richard Henderson, 2021/01/23
- [PULL 03/10] tcg: Optimize inline dup_const for MO_64, Richard Henderson, 2021/01/23
- [PULL 05/10] accel/tcg: Make cpu_gen_init() static, Richard Henderson, 2021/01/23
- [PULL 04/10] tcg: Increase the static number of temporaries, Richard Henderson, 2021/01/23
- [PULL 02/10] qemu/compiler: Split out qemu_build_not_reached_always, Richard Henderson, 2021/01/23
- [PULL 07/10] accel/tcg: Restrict tb_gen_code() from other accelerators, Richard Henderson, 2021/01/23
- [PULL 06/10] accel/tcg: Move tb_flush_jmp_cache() to cputlb.c,
Richard Henderson <=
- [PULL 08/10] accel/tcg: Declare missing cpu_loop_exit*() stubs, Richard Henderson, 2021/01/23
- [PULL 09/10] accel/tcg: Restrict cpu_io_recompile() from other accelerators, Richard Henderson, 2021/01/23
- [PULL 10/10] tcg: Toggle page execution for Apple Silicon, Richard Henderson, 2021/01/23
- Re: [PULL 00/10] tcg patch queue, Richard Henderson, 2021/01/23