Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at 77b2555b52a894a2e39a42e43d993df875c46a6a 76 lines 2.3 kB view raw
1#ifndef _M68KNOMMU_CACHEFLUSH_H 2#define _M68KNOMMU_CACHEFLUSH_H 3 4/* 5 * (C) Copyright 2000-2004, Greg Ungerer <gerg@snapgear.com> 6 */ 7#include <linux/mm.h> 8 9#define flush_cache_all() __flush_cache_all() 10#define flush_cache_mm(mm) do { } while (0) 11#define flush_cache_range(vma, start, end) __flush_cache_all() 12#define flush_cache_page(vma, vmaddr) do { } while (0) 13#define flush_dcache_range(start,len) __flush_cache_all() 14#define flush_dcache_page(page) do { } while (0) 15#define flush_dcache_mmap_lock(mapping) do { } while (0) 16#define flush_dcache_mmap_unlock(mapping) do { } while (0) 17#define flush_icache_range(start,len) __flush_cache_all() 18#define flush_icache_page(vma,pg) do { } while (0) 19#define flush_icache_user_range(vma,pg,adr,len) do { } while (0) 20#define flush_cache_vmap(start, end) do { } while (0) 21#define flush_cache_vunmap(start, end) do { } while (0) 22 23#define copy_to_user_page(vma, page, vaddr, dst, src, len) \ 24 memcpy(dst, src, len) 25#define copy_from_user_page(vma, page, vaddr, dst, src, len) \ 26 memcpy(dst, src, len) 27 28extern inline void __flush_cache_all(void) 29{ 30#ifdef CONFIG_M5407 31 /* 32 * Use cpushl to push and invalidate all cache lines. 33 * Gas doesn't seem to know how to generate the ColdFire 34 * cpushl instruction... Oh well, bit stuff it for now. 35 */ 36 __asm__ __volatile__ ( 37 "nop\n\t" 38 "clrl %%d0\n\t" 39 "1:\n\t" 40 "movel %%d0,%%a0\n\t" 41 "2:\n\t" 42 ".word 0xf468\n\t" 43 "addl #0x10,%%a0\n\t" 44 "cmpl #0x00000800,%%a0\n\t" 45 "blt 2b\n\t" 46 "addql #1,%%d0\n\t" 47 "cmpil #4,%%d0\n\t" 48 "bne 1b\n\t" 49 "movel #0xb6088500,%%d0\n\t" 50 "movec %%d0,%%CACR\n\t" 51 : : : "d0", "a0" ); 52#endif /* CONFIG_M5407 */ 53#if defined(CONFIG_M527x) || defined(CONFIG_M528x) 54 __asm__ __volatile__ ( 55 "movel #0x81400100, %%d0\n\t" 56 "movec %%d0, %%CACR\n\t" 57 "nop\n\t" 58 : : : "d0" ); 59#endif /* CONFIG_M527x || CONFIG_M528x */ 60#ifdef CONFIG_M5272 61 __asm__ __volatile__ ( 62 "movel #0x01000000, %%d0\n\t" 63 "movec %%d0, %%CACR\n\t" 64 "nop\n\t" 65 : : : "d0" ); 66#endif /* CONFIG_M5272 */ 67#if CONFIG_M5249 68 __asm__ __volatile__ ( 69 "movel #0xa1000200, %%d0\n\t" 70 "movec %%d0, %%CACR\n\t" 71 "nop\n\t" 72 : : : "d0" ); 73#endif /* CONFIG_M5249 */ 74} 75 76#endif /* _M68KNOMMU_CACHEFLUSH_H */