···44#ifdef __KERNEL__5566#include <linux/mm.h>77-#include <cpu/cacheflush.h>77+88+/*99+ * Cache flushing:1010+ *1111+ * - flush_cache_all() flushes entire cache1212+ * - flush_cache_mm(mm) flushes the specified mm context's cache lines1313+ * - flush_cache_dup mm(mm) handles cache flushing when forking1414+ * - flush_cache_page(mm, vmaddr, pfn) flushes a single page1515+ * - flush_cache_range(vma, start, end) flushes a range of pages1616+ *1717+ * - flush_dcache_page(pg) flushes(wback&invalidates) a page for dcache1818+ * - flush_icache_range(start, end) flushes(invalidates) a range for icache1919+ * - flush_icache_page(vma, pg) flushes(invalidates) a page for icache2020+ * - flush_cache_sigtramp(vaddr) flushes the signal trampoline2121+ */2222+extern void (*flush_cache_all)(void);2323+extern void (*flush_cache_mm)(struct mm_struct *mm);2424+extern void (*flush_cache_dup_mm)(struct mm_struct *mm);2525+extern void (*flush_cache_page)(struct vm_area_struct *vma,2626+ unsigned long addr, unsigned long pfn);2727+extern void (*flush_cache_range)(struct vm_area_struct *vma,2828+ unsigned long start, unsigned long end);2929+extern void (*flush_dcache_page)(struct page *page);3030+extern void (*flush_icache_range)(unsigned long start, unsigned long end);3131+extern void (*flush_icache_page)(struct vm_area_struct *vma,3232+ struct page *page);3333+extern void (*flush_cache_sigtramp)(unsigned long address);3434+3535+extern void (*__flush_wback_region)(void *start, int size);3636+extern void (*__flush_purge_region)(void *start, int size);3737+extern void (*__flush_invalidate_region)(void *start, int size);838939#define ARCH_HAS_FLUSH_ANON_PAGE1040extern void __flush_anon_page(struct page *page, unsigned long);
-42
arch/sh/include/cpu-common/cpu/cacheflush.h
···11-/*22- * Copyright (C) 2003 Paul Mundt33- *44- * This file is subject to the terms and conditions of the GNU General Public55- * License. See the file "COPYING" in the main directory of this archive66- * for more details.77- */88-#ifndef __ASM_CPU_SH_CACHEFLUSH_H99-#define __ASM_CPU_SH_CACHEFLUSH_H1010-1111-/*1212- * Cache flushing:1313- *1414- * - flush_cache_all() flushes entire cache1515- * - flush_cache_mm(mm) flushes the specified mm context's cache lines1616- * - flush_cache_dup mm(mm) handles cache flushing when forking1717- * - flush_cache_page(mm, vmaddr, pfn) flushes a single page1818- * - flush_cache_range(vma, start, end) flushes a range of pages1919- *2020- * - flush_dcache_page(pg) flushes(wback&invalidates) a page for dcache2121- * - flush_icache_range(start, end) flushes(invalidates) a range for icache2222- * - flush_icache_page(vma, pg) flushes(invalidates) a page for icache2323- * - flush_cache_sigtramp(vaddr) flushes the signal trampoline2424- */2525-extern void (*flush_cache_all)(void);2626-extern void (*flush_cache_mm)(struct mm_struct *mm);2727-extern void (*flush_cache_dup_mm)(struct mm_struct *mm);2828-extern void (*flush_cache_page)(struct vm_area_struct *vma,2929- unsigned long addr, unsigned long pfn);3030-extern void (*flush_cache_range)(struct vm_area_struct *vma,3131- unsigned long start, unsigned long end);3232-extern void (*flush_dcache_page)(struct page *page);3333-extern void (*flush_icache_range)(unsigned long start, unsigned long end);3434-extern void (*flush_icache_page)(struct vm_area_struct *vma,3535- struct page *page);3636-extern void (*flush_cache_sigtramp)(unsigned long address);3737-3838-extern void (*__flush_wback_region)(void *start, int size);3939-extern void (*__flush_purge_region)(void *start, int size);4040-extern void (*__flush_invalidate_region)(void *start, int size);4141-4242-#endif /* __ASM_CPU_SH_CACHEFLUSH_H */