home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-sh64 / cacheflush.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.5 KB  |  49 lines

  1. #ifndef __ASM_SH64_CACHEFLUSH_H
  2. #define __ASM_SH64_CACHEFLUSH_H
  3.  
  4. #ifndef __ASSEMBLY__
  5.  
  6. #include <asm/page.h>
  7.  
  8. struct vm_area_struct;
  9. struct page;
  10. struct mm_struct;
  11.  
  12. extern void flush_cache_all(void);
  13. extern void flush_cache_mm(struct mm_struct *mm);
  14. extern void flush_cache_sigtramp(unsigned long start, unsigned long end);
  15. extern void flush_cache_range(struct vm_area_struct *vma, unsigned long start,
  16.                   unsigned long end);
  17. extern void flush_cache_page(struct vm_area_struct *vma, unsigned long addr, unsigned long pfn);
  18. extern void flush_dcache_page(struct page *pg);
  19. extern void flush_icache_range(unsigned long start, unsigned long end);
  20. extern void flush_icache_user_range(struct vm_area_struct *vma,
  21.                     struct page *page, unsigned long addr,
  22.                     int len);
  23.  
  24. #define flush_dcache_mmap_lock(mapping)        do { } while (0)
  25. #define flush_dcache_mmap_unlock(mapping)    do { } while (0)
  26.  
  27. #define flush_cache_vmap(start, end)        flush_cache_all()
  28. #define flush_cache_vunmap(start, end)        flush_cache_all()
  29.  
  30. #define flush_icache_page(vma, page)    do { } while (0)
  31.  
  32. #define copy_to_user_page(vma, page, vaddr, dst, src, len) \
  33.     do {                            \
  34.         flush_cache_page(vma, vaddr, page_to_pfn(page));\
  35.         memcpy(dst, src, len);                \
  36.         flush_icache_user_range(vma, page, vaddr, len);    \
  37.     } while (0)
  38.  
  39. #define copy_from_user_page(vma, page, vaddr, dst, src, len) \
  40.     do {                            \
  41.         flush_cache_page(vma, vaddr, page_to_pfn(page));\
  42.         memcpy(dst, src, len);                \
  43.     } while (0)
  44.  
  45. #endif /* __ASSEMBLY__ */
  46.  
  47. #endif /* __ASM_SH64_CACHEFLUSH_H */
  48.  
  49.