Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
cacheflush.h File Reference
#include <linux/mm.h>
#include <linux/io.h>

Go to the source code of this file.

Data Structures

struct  scache
 

Macros

#define enable_icache()   mbc->ie();
 
#define disable_icache()   mbc->id();
 
#define flush_icache()   mbc->ifl();
 
#define flush_icache_range(start, end)   mbc->iflr(start, end);
 
#define invalidate_icache()   mbc->iin();
 
#define invalidate_icache_range(start, end)   mbc->iinr(start, end);
 
#define flush_icache_user_range(vma, pg, adr, len)   flush_icache();
 
#define flush_icache_page(vma, pg)   do { } while (0)
 
#define enable_dcache()   mbc->de();
 
#define disable_dcache()   mbc->dd();
 
#define invalidate_dcache()   mbc->din();
 
#define invalidate_dcache_range(start, end)   mbc->dinr(start, end);
 
#define flush_dcache()   mbc->dfl();
 
#define flush_dcache_range(start, end)   mbc->dflr(start, end);
 
#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE   1
 
#define flush_dcache_page(page)
 
#define flush_dcache_mmap_lock(mapping)   do { } while (0)
 
#define flush_dcache_mmap_unlock(mapping)   do { } while (0)
 
#define flush_cache_dup_mm(mm)   do { } while (0)
 
#define flush_cache_vmap(start, end)   do { } while (0)
 
#define flush_cache_vunmap(start, end)   do { } while (0)
 
#define flush_cache_mm(mm)   do { } while (0)
 
#define flush_cache_page(vma, vmaddr, pfn)   flush_dcache_range(pfn << PAGE_SHIFT, (pfn << PAGE_SHIFT) + PAGE_SIZE);
 
#define flush_cache_range(vma, start, len)   do { } while (0)
 
#define copy_to_user_page(vma, page, vaddr, dst, src, len)
 
#define copy_from_user_page(vma, page, vaddr, dst, src, len)
 

Functions

void microblaze_cache_init (void)
 

Variables

struct scachembc
 

Macro Definition Documentation

#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE   1

Definition at line 75 of file cacheflush.h.

#define copy_from_user_page (   vma,
  page,
  vaddr,
  dst,
  src,
  len 
)
Value:
do { \
memcpy((dst), (src), (len)); \
} while (0)

Definition at line 117 of file cacheflush.h.

#define copy_to_user_page (   vma,
  page,
  vaddr,
  dst,
  src,
  len 
)
Value:
do { \
memcpy((dst), (src), (len)); \
if (vma->vm_flags & VM_EXEC) { \
invalidate_icache_range((unsigned) (addr), \
(unsigned) (addr) + PAGE_SIZE); \
flush_dcache_range((unsigned) (addr), \
(unsigned) (addr) + PAGE_SIZE); \
} \
} while (0)

Definition at line 105 of file cacheflush.h.

#define disable_dcache ( )    mbc->dd();

Definition at line 68 of file cacheflush.h.

#define disable_icache ( )    mbc->id();

Definition at line 58 of file cacheflush.h.

#define enable_dcache (   void)    mbc->de();

Definition at line 67 of file cacheflush.h.

#define enable_icache (   void)    mbc->ie();

Definition at line 57 of file cacheflush.h.

#define flush_cache_dup_mm (   mm)    do { } while (0)

Definition at line 87 of file cacheflush.h.

#define flush_cache_mm (   mm)    do { } while (0)

Definition at line 90 of file cacheflush.h.

#define flush_cache_page (   vma,
  vmaddr,
  pfn 
)    flush_dcache_range(pfn << PAGE_SHIFT, (pfn << PAGE_SHIFT) + PAGE_SIZE);

Definition at line 92 of file cacheflush.h.

#define flush_cache_range (   vma,
  start,
  len 
)    do { } while (0)

Definition at line 103 of file cacheflush.h.

#define flush_cache_vmap (   start,
  end 
)    do { } while (0)

Definition at line 88 of file cacheflush.h.

#define flush_cache_vunmap (   start,
  end 
)    do { } while (0)

Definition at line 89 of file cacheflush.h.

#define flush_dcache ( )    mbc->dfl();

Definition at line 72 of file cacheflush.h.

#define flush_dcache_mmap_lock (   mapping)    do { } while (0)

Definition at line 84 of file cacheflush.h.

#define flush_dcache_mmap_unlock (   mapping)    do { } while (0)

Definition at line 85 of file cacheflush.h.

#define flush_dcache_page (   page)
Value:
do { \
unsigned long addr = (unsigned long) page_address(page); /* virtual */ \
addr = (u32)virt_to_phys((void *)addr); \
flush_dcache_range((unsigned) (addr), (unsigned) (addr) + PAGE_SIZE); \
} while (0);

Definition at line 77 of file cacheflush.h.

#define flush_dcache_range (   start,
  end 
)    mbc->dflr(start, end);

Definition at line 73 of file cacheflush.h.

#define flush_icache (   void)    mbc->ifl();

Definition at line 59 of file cacheflush.h.

#define flush_icache_page (   vma,
  pg 
)    do { } while (0)

Definition at line 65 of file cacheflush.h.

#define flush_icache_range (   start,
  end 
)    mbc->iflr(start, end);

Definition at line 60 of file cacheflush.h.

#define flush_icache_user_range (   vma,
  pg,
  adr,
  len 
)    flush_icache();

Definition at line 64 of file cacheflush.h.

#define invalidate_dcache ( )    mbc->din();

Definition at line 70 of file cacheflush.h.

#define invalidate_dcache_range (   start,
  end 
)    mbc->dinr(start, end);

Definition at line 71 of file cacheflush.h.

#define invalidate_icache ( )    mbc->iin();

Definition at line 61 of file cacheflush.h.

#define invalidate_icache_range (   start,
  end 
)    mbc->iinr(start, end);

Definition at line 62 of file cacheflush.h.

Function Documentation

void microblaze_cache_init ( void  )

Definition at line 621 of file cache.c.

Variable Documentation

struct scache* mbc

Definition at line 519 of file cache.c.