cputlb: Split out tlb_mmu_flush_locked
We will want to be able to flush a tlb without resizing. Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
		
							parent
							
								
									5c948e3175
								
							
						
					
					
						commit
						bbf021b04a
					
				| @ -228,12 +228,8 @@ static void tlb_mmu_resize_locked(CPUTLBDesc *desc, CPUTLBDescFast *fast) | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx) | ||||
| static void tlb_mmu_flush_locked(CPUTLBDesc *desc, CPUTLBDescFast *fast) | ||||
| { | ||||
|     CPUTLBDesc *desc = &env_tlb(env)->d[mmu_idx]; | ||||
|     CPUTLBDescFast *fast = &env_tlb(env)->f[mmu_idx]; | ||||
| 
 | ||||
|     tlb_mmu_resize_locked(desc, fast); | ||||
|     desc->n_used_entries = 0; | ||||
|     desc->large_page_addr = -1; | ||||
|     desc->large_page_mask = -1; | ||||
| @ -242,6 +238,15 @@ static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx) | ||||
|     memset(desc->vtable, -1, sizeof(desc->vtable)); | ||||
| } | ||||
| 
 | ||||
| static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx) | ||||
| { | ||||
|     CPUTLBDesc *desc = &env_tlb(env)->d[mmu_idx]; | ||||
|     CPUTLBDescFast *fast = &env_tlb(env)->f[mmu_idx]; | ||||
| 
 | ||||
|     tlb_mmu_resize_locked(desc, fast); | ||||
|     tlb_mmu_flush_locked(desc, fast); | ||||
| } | ||||
| 
 | ||||
| static inline void tlb_n_used_entries_inc(CPUArchState *env, uintptr_t mmu_idx) | ||||
| { | ||||
|     env_tlb(env)->d[mmu_idx].n_used_entries++; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Richard Henderson
						Richard Henderson