On 4/22/25 12:26, Richard Henderson wrote: > The arguments to tlb_reset_dirty are host pointers. > The conversion from ram_addr_t was done in the sole > caller, tlb_reset_dirty_range_all. > > Fixes: e554861766d ("exec: prepare for splitting") > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > include/exec/cputlb.h | 2 +- > accel/tcg/cputlb.c | 6 +++--- > 2 files changed, 4 insertions(+), 4 deletions(-) > Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
On 22/4/25 21:26, Richard Henderson wrote: > The arguments to tlb_reset_dirty are host pointers. > The conversion from ram_addr_t was done in the sole > caller, tlb_reset_dirty_range_all. > > Fixes: e554861766d ("exec: prepare for splitting") > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > include/exec/cputlb.h | 2 +- > accel/tcg/cputlb.c | 6 +++--- > 2 files changed, 4 insertions(+), 4 deletions(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
diff --git a/include/exec/cputlb.h b/include/exec/cputlb.h index 8125f6809c..03ed7e2165 100644 --- a/include/exec/cputlb.h +++ b/include/exec/cputlb.h @@ -31,7 +31,7 @@ void tlb_unprotect_code(ram_addr_t ram_addr); #endif #ifndef CONFIG_USER_ONLY -void tlb_reset_dirty(CPUState *cpu, ram_addr_t start1, ram_addr_t length); +void tlb_reset_dirty(CPUState *cpu, uintptr_t start, uintptr_t length); void tlb_reset_dirty_range_all(ram_addr_t start, ram_addr_t length); #endif diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index b2db49e305..10090067f7 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -912,7 +912,7 @@ static inline void copy_tlb_helper_locked(CPUTLBEntry *d, const CPUTLBEntry *s) * We must take tlb_c.lock to avoid racing with another vCPU update. The only * thing actually updated is the target TLB entry ->addr_write flags. */ -void tlb_reset_dirty(CPUState *cpu, ram_addr_t start1, ram_addr_t length) +void tlb_reset_dirty(CPUState *cpu, uintptr_t start, uintptr_t length) { int mmu_idx; @@ -923,12 +923,12 @@ void tlb_reset_dirty(CPUState *cpu, ram_addr_t start1, ram_addr_t length) for (i = 0; i < n; i++) { tlb_reset_dirty_range_locked(&cpu->neg.tlb.f[mmu_idx].table[i], - start1, length); + start, length); } for (i = 0; i < CPU_VTLB_SIZE; i++) { tlb_reset_dirty_range_locked(&cpu->neg.tlb.d[mmu_idx].vtable[i], - start1, length); + start, length); } } qemu_spin_unlock(&cpu->neg.tlb.c.lock);
The arguments to tlb_reset_dirty are host pointers. The conversion from ram_addr_t was done in the sole caller, tlb_reset_dirty_range_all. Fixes: e554861766d ("exec: prepare for splitting") Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- include/exec/cputlb.h | 2 +- accel/tcg/cputlb.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-)