[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 03/59] accel/tcg: Add CPUState arg to tb_invalidate_phys_page_rang
From: |
Richard Henderson |
Subject: |
[PULL 03/59] accel/tcg: Add CPUState arg to tb_invalidate_phys_page_range__locked |
Date: |
Thu, 1 May 2025 14:20:17 -0700 |
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
accel/tcg/tb-maint.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/accel/tcg/tb-maint.c b/accel/tcg/tb-maint.c
index 714dcaedc9..927e9c8ede 100644
--- a/accel/tcg/tb-maint.c
+++ b/accel/tcg/tb-maint.c
@@ -1100,9 +1100,12 @@ bool tb_invalidate_phys_page_unwind(CPUState *cpu,
tb_page_addr_t addr,
/*
* @p must be non-NULL.
* Call with all @pages locked.
+ * (@cpu, @retaddr) may be (NULL, 0) outside of a cpu context,
+ * in which case precise_smc need not be detected.
*/
static void
-tb_invalidate_phys_page_range__locked(struct page_collection *pages,
+tb_invalidate_phys_page_range__locked(CPUState *cpu,
+ struct page_collection *pages,
PageDesc *p, tb_page_addr_t start,
tb_page_addr_t last,
uintptr_t retaddr)
@@ -1194,7 +1197,7 @@ void tb_invalidate_phys_range(tb_page_addr_t start,
tb_page_addr_t last)
page_start = index << TARGET_PAGE_BITS;
page_last = page_start | ~TARGET_PAGE_MASK;
page_last = MIN(page_last, last);
- tb_invalidate_phys_page_range__locked(pages, pd,
+ tb_invalidate_phys_page_range__locked(NULL, pages, pd,
page_start, page_last, 0);
}
page_collection_unlock(pages);
@@ -1215,7 +1218,7 @@ static void tb_invalidate_phys_page_fast__locked(struct
page_collection *pages,
}
assert_page_locked(p);
- tb_invalidate_phys_page_range__locked(pages, p, start, start + len - 1,
ra);
+ tb_invalidate_phys_page_range__locked(NULL, pages, p, start, start + len -
1, ra);
}
/*
--
2.43.0
- [PULL 00/59] tcg patch queue, Richard Henderson, 2025/05/01
- [PULL 06/59] accel/tcg: Add CPUState arg to tb_invalidate_phys_range_fast, Richard Henderson, 2025/05/01
- [PULL 02/59] accel/tcg: Add CPUState argument to tb_invalidate_phys_page_unwind, Richard Henderson, 2025/05/01
- [PULL 05/59] accel/tcg: Add CPUState arg to tb_invalidate_phys_range, Richard Henderson, 2025/05/01
- [PULL 08/59] accel/tcg: Simplify CPU_TLB_DYN_MAX_BITS, Richard Henderson, 2025/05/01
- [PULL 12/59] accel/tcg: Use vaddr for walk_memory_regions callback, Richard Henderson, 2025/05/01
- [PULL 04/59] accel/tcg: Merge tb_invalidate_phys_range{__locked}, Richard Henderson, 2025/05/01
- [PULL 07/59] accel/tcg: Convert TARGET_HAS_PRECISE_SMC to TCGCPUOps.precise_smc, Richard Henderson, 2025/05/01
- [PULL 01/59] accel/tcg: Add CPUState argument to page_unprotect, Richard Henderson, 2025/05/01
- [PULL 03/59] accel/tcg: Add CPUState arg to tb_invalidate_phys_page_range__locked,
Richard Henderson <=
- [PULL 10/59] accel/tcg: Merge internal-target.h into internal-common.h, Richard Henderson, 2025/05/01
- [PULL 19/59] accel/tcg: Include 'accel/tcg/getpc.h' in 'exec/helper-proto', Richard Henderson, 2025/05/01
- [PULL 21/59] physmem: Restrict TCG IOTLB code to TCG accel, Richard Henderson, 2025/05/01
- [PULL 24/59] accel/tcg: Generalize fake_user_interrupt test, Richard Henderson, 2025/05/01
- [PULL 11/59] accel/tcg: Reduce scope of tb_phys_invalidate, tb_set_jmp_target, Richard Henderson, 2025/05/01
- [PULL 09/59] accel/tcg: Simplify L1_MAP_ADDR_SPACE_BITS, Richard Henderson, 2025/05/01
- [PULL 15/59] include/exec: Move tb_invalidate_phys_range to translation-block.h, Richard Henderson, 2025/05/01
- [PULL 16/59] accel/tcg: Compile tb-maint.c twice, Richard Henderson, 2025/05/01
- [PULL 18/59] target/riscv: Include missing 'accel/tcg/getpc.h' in csr.c, Richard Henderson, 2025/05/01
- [PULL 23/59] include: Remove 'exec/exec-all.h', Richard Henderson, 2025/05/01