Make tb_invalidate_phys_addr() take a MemTxAttrs argument
As part of plumbing MemTxAttrs down to the IOMMU translate method, add MemTxAttrs as an argument to tb_invalidate_phys_addr(). Its callers either have an attrs value to hand, or don't care and can use MEMTXATTRS_UNSPECIFIED. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-id: 20180521140402.23318-3-peter.maydell@linaro.org
This commit is contained in:
		
							parent
							
								
									2ce931d012
								
							
						
					
					
						commit
						c874dc4f5e
					
				| @ -1669,7 +1669,7 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr) | ||||
| } | ||||
| 
 | ||||
| #if !defined(CONFIG_USER_ONLY) | ||||
| void tb_invalidate_phys_addr(AddressSpace *as, hwaddr addr) | ||||
| void tb_invalidate_phys_addr(AddressSpace *as, hwaddr addr, MemTxAttrs attrs) | ||||
| { | ||||
|     ram_addr_t ram_addr; | ||||
|     MemoryRegion *mr; | ||||
|  | ||||
							
								
								
									
										2
									
								
								exec.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								exec.c
									
									
									
									
									
								
							| @ -898,7 +898,7 @@ static void breakpoint_invalidate(CPUState *cpu, target_ulong pc) | ||||
|     if (phys != -1) { | ||||
|         /* Locks grabbed by tb_invalidate_phys_addr */ | ||||
|         tb_invalidate_phys_addr(cpu->cpu_ases[asidx].as, | ||||
|                                 phys | (pc & ~TARGET_PAGE_MASK)); | ||||
|                                 phys | (pc & ~TARGET_PAGE_MASK), attrs); | ||||
|     } | ||||
| } | ||||
| #endif | ||||
|  | ||||
| @ -255,7 +255,7 @@ void tlb_set_page_with_attrs(CPUState *cpu, target_ulong vaddr, | ||||
| void tlb_set_page(CPUState *cpu, target_ulong vaddr, | ||||
|                   hwaddr paddr, int prot, | ||||
|                   int mmu_idx, target_ulong size); | ||||
| void tb_invalidate_phys_addr(AddressSpace *as, hwaddr addr); | ||||
| void tb_invalidate_phys_addr(AddressSpace *as, hwaddr addr, MemTxAttrs attrs); | ||||
| void probe_write(CPUArchState *env, target_ulong addr, int size, int mmu_idx, | ||||
|                  uintptr_t retaddr); | ||||
| #else | ||||
| @ -303,7 +303,8 @@ static inline void tlb_flush_by_mmuidx_all_cpus_synced(CPUState *cpu, | ||||
|                                                        uint16_t idxmap) | ||||
| { | ||||
| } | ||||
| static inline void tb_invalidate_phys_addr(AddressSpace *as, hwaddr addr) | ||||
| static inline void tb_invalidate_phys_addr(AddressSpace *as, hwaddr addr, | ||||
|                                            MemTxAttrs attrs) | ||||
| { | ||||
| } | ||||
| #endif | ||||
|  | ||||
| @ -105,7 +105,8 @@ static void tb_invalidate_virtual_addr(CPUXtensaState *env, uint32_t vaddr) | ||||
|     int ret = xtensa_get_physical_addr(env, false, vaddr, 2, 0, | ||||
|             &paddr, &page_size, &access); | ||||
|     if (ret == 0) { | ||||
|         tb_invalidate_phys_addr(&address_space_memory, paddr); | ||||
|         tb_invalidate_phys_addr(&address_space_memory, paddr, | ||||
|                                 MEMTXATTRS_UNSPECIFIED); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Peter Maydell
						Peter Maydell