1 #ifndef _ASM_IA64_CACHEFLUSH_H 2 #define _ASM_IA64_CACHEFLUSH_H 3 4 /* 5 * Copyright (C) 2002 Hewlett-Packard Co 6 * David Mosberger-Tang <davidm@hpl.hp.com> 7 */ 8 9 #include <linux/page-flags.h> 10 11 #include <asm/bitops.h> 12 #include <asm/page.h> 13 14 /* 15 * Cache flushing routines. This is the kind of stuff that can be very expensive, so try 16 * to avoid them whenever possible. 17 */ 18 19 #define flush_cache_all() do { } while (0) 20 #define flush_cache_mm(mm) do { } while (0) 21 #define flush_cache_range(vma, start, end) do { } while (0) 22 #define flush_cache_page(vma, vmaddr) do { } while (0) 23 #define flush_icache_page(vma,page) do { } while (0) 24 #define flush_cache_vmap(start, end) do { } while (0) 25 #define flush_cache_vunmap(start, end) do { } while (0) 26 27 #define flush_dcache_page(page) \ 28 do { \ 29 clear_bit(PG_arch_1, &(page)->flags); \ 30 } while (0) 31 32 extern void flush_icache_range (unsigned long start, unsigned long end); 33 34 #define flush_icache_user_range(vma, page, user_addr, len) \ 35 do { \ 36 unsigned long _addr = (unsigned long) page_address(page) + ((user_addr) & ~PAGE_MASK); \ 37 flush_icache_range(_addr, _addr + (len)); \ 38 } while (0) 39 40 #define copy_to_user_page(vma, page, vaddr, dst, src, len) \ 41 do { memcpy(dst, src, len); \ 42 flush_icache_user_range(vma, page, vaddr, len); \ 43 } while (0) 44 #define copy_from_user_page(vma, page, vaddr, dst, src, len) \ 45 memcpy(dst, src, len) 46 47 #endif /* _ASM_IA64_CACHEFLUSH_H */ 48
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.