cacheflush.h (94bd217e2d683719ab21a4ac117d8a1b91cbedc9) | cacheflush.h (62bc82a82bb1e2b5ee5048c088af7260ddb2b7b5) |
---|---|
1/* 2 * Copyright (C) 2007-2009 Michal Simek <monstr@monstr.eu> 3 * Copyright (C) 2007-2009 PetaLogix 4 * Copyright (C) 2007 John Williams <john.williams@petalogix.com> 5 * based on v850 version which was 6 * Copyright (C) 2001,02,03 NEC Electronics Corporation 7 * Copyright (C) 2001,02,03 Miles Bader <miles@gnu.org> 8 * --- 88 unchanged lines hidden (view full) --- 97#define flush_cache_range(vma, start, len) { \ 98 flush_icache_range((unsigned) (start), (unsigned) (start) + (len)); \ 99 flush_dcache_range((unsigned) (start), (unsigned) (start) + (len)); \ 100} 101#endif 102 103#define flush_cache_range(vma, start, len) do { } while (0) 104 | 1/* 2 * Copyright (C) 2007-2009 Michal Simek <monstr@monstr.eu> 3 * Copyright (C) 2007-2009 PetaLogix 4 * Copyright (C) 2007 John Williams <john.williams@petalogix.com> 5 * based on v850 version which was 6 * Copyright (C) 2001,02,03 NEC Electronics Corporation 7 * Copyright (C) 2001,02,03 Miles Bader <miles@gnu.org> 8 * --- 88 unchanged lines hidden (view full) --- 97#define flush_cache_range(vma, start, len) { \ 98 flush_icache_range((unsigned) (start), (unsigned) (start) + (len)); \ 99 flush_dcache_range((unsigned) (start), (unsigned) (start) + (len)); \ 100} 101#endif 102 103#define flush_cache_range(vma, start, len) do { } while (0) 104 |
105#define copy_to_user_page(vma, page, vaddr, dst, src, len) \ 106do { \ 107 u32 addr = virt_to_phys(dst); \ 108 memcpy((dst), (src), (len)); \ 109 if (vma->vm_flags & VM_EXEC) { \ 110 invalidate_icache_range((unsigned) (addr), \ 111 (unsigned) (addr) + PAGE_SIZE); \ 112 flush_dcache_range((unsigned) (addr), \ 113 (unsigned) (addr) + PAGE_SIZE); \ 114 } \ 115} while (0) | 105static inline void copy_to_user_page(struct vm_area_struct *vma, 106 struct page *page, unsigned long vaddr, 107 void *dst, void *src, int len) 108{ 109 u32 addr = virt_to_phys(dst); 110 memcpy(dst, src, len); 111 if (vma->vm_flags & VM_EXEC) { 112 invalidate_icache_range(addr, addr + PAGE_SIZE); 113 flush_dcache_range(addr, addr + PAGE_SIZE); 114 } 115} |
116 | 116 |
117#define copy_from_user_page(vma, page, vaddr, dst, src, len) \ 118do { \ 119 memcpy((dst), (src), (len)); \ 120} while (0) | 117static inline void copy_from_user_page(struct vm_area_struct *vma, 118 struct page *page, unsigned long vaddr, 119 void *dst, void *src, int len) 120{ 121 memcpy(dst, src, len); 122} |
121 122#endif /* _ASM_MICROBLAZE_CACHEFLUSH_H */ | 123 124#endif /* _ASM_MICROBLAZE_CACHEFLUSH_H */ |