arm64: use asm-generic/cacheflush.h
ARM64 needs almost no cache flushing routines of its own. Rely on asm-generic/cacheflush.h for the defaults. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will@kernel.org> Link: http://lkml.kernel.org/r/20200515143646.3857579-10-hch@lst.de Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									43c74ca337
								
							
						
					
					
						commit
						a7ba121215
					
				| @ -94,20 +94,7 @@ static inline void flush_icache_range(unsigned long start, unsigned long end) | ||||
| 
 | ||||
| 	kick_all_cpus_sync(); | ||||
| } | ||||
| 
 | ||||
| static inline void flush_cache_mm(struct mm_struct *mm) | ||||
| { | ||||
| } | ||||
| 
 | ||||
| static inline void flush_cache_page(struct vm_area_struct *vma, | ||||
| 				    unsigned long user_addr, unsigned long pfn) | ||||
| { | ||||
| } | ||||
| 
 | ||||
| static inline void flush_cache_range(struct vm_area_struct *vma, | ||||
| 				     unsigned long start, unsigned long end) | ||||
| { | ||||
| } | ||||
| #define flush_icache_range flush_icache_range | ||||
| 
 | ||||
| /*
 | ||||
|  * Cache maintenance functions used by the DMA API. No to be used directly. | ||||
| @ -123,12 +110,7 @@ extern void __dma_flush_area(const void *, size_t); | ||||
|  */ | ||||
| extern void copy_to_user_page(struct vm_area_struct *, struct page *, | ||||
| 	unsigned long, void *, const void *, unsigned long); | ||||
| #define copy_from_user_page(vma, page, vaddr, dst, src, len) \ | ||||
| 	do {							\ | ||||
| 		memcpy(dst, src, len);				\ | ||||
| 	} while (0) | ||||
| 
 | ||||
| #define flush_cache_dup_mm(mm) flush_cache_mm(mm) | ||||
| #define copy_to_user_page copy_to_user_page | ||||
| 
 | ||||
| /*
 | ||||
|  * flush_dcache_page is used when the kernel has written to the page | ||||
| @ -154,29 +136,11 @@ static __always_inline void __flush_icache_all(void) | ||||
| 	dsb(ish); | ||||
| } | ||||
| 
 | ||||
| #define flush_dcache_mmap_lock(mapping)		do { } while (0) | ||||
| #define flush_dcache_mmap_unlock(mapping)	do { } while (0) | ||||
| 
 | ||||
| /*
 | ||||
|  * We don't appear to need to do anything here.  In fact, if we did, we'd | ||||
|  * duplicate cache flushing elsewhere performed by flush_dcache_page(). | ||||
|  */ | ||||
| #define flush_icache_page(vma,page)	do { } while (0) | ||||
| 
 | ||||
| /*
 | ||||
|  * Not required on AArch64 (PIPT or VIPT non-aliasing D-cache). | ||||
|  */ | ||||
| static inline void flush_cache_vmap(unsigned long start, unsigned long end) | ||||
| { | ||||
| } | ||||
| 
 | ||||
| static inline void flush_cache_vunmap(unsigned long start, unsigned long end) | ||||
| { | ||||
| } | ||||
| 
 | ||||
| int set_memory_valid(unsigned long addr, int numpages, int enable); | ||||
| 
 | ||||
| int set_direct_map_invalid_noflush(struct page *page); | ||||
| int set_direct_map_default_noflush(struct page *page); | ||||
| 
 | ||||
| #endif | ||||
| #include <asm-generic/cacheflush.h> | ||||
| 
 | ||||
| #endif /* __ASM_CACHEFLUSH_H */ | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user