|
@@ -267,9 +267,11 @@ static inline void
|
|
__flush_cache_page(struct vm_area_struct *vma, unsigned long vmaddr,
|
|
__flush_cache_page(struct vm_area_struct *vma, unsigned long vmaddr,
|
|
unsigned long physaddr)
|
|
unsigned long physaddr)
|
|
{
|
|
{
|
|
|
|
+ preempt_disable();
|
|
flush_dcache_page_asm(physaddr, vmaddr);
|
|
flush_dcache_page_asm(physaddr, vmaddr);
|
|
if (vma->vm_flags & VM_EXEC)
|
|
if (vma->vm_flags & VM_EXEC)
|
|
flush_icache_page_asm(physaddr, vmaddr);
|
|
flush_icache_page_asm(physaddr, vmaddr);
|
|
|
|
+ preempt_enable();
|
|
}
|
|
}
|
|
|
|
|
|
void flush_dcache_page(struct page *page)
|
|
void flush_dcache_page(struct page *page)
|