cache.c (b70366e5d31788650b2a5cec5cd13ea80ac7e44a) cache.c (316ec0624f951166daedbe446988ef92ae72b59f)
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 1999-2006 Helge Deller <deller@gmx.de> (07-13-1999)
7 * Copyright (C) 1999 SuSE GmbH Nuernberg
8 * Copyright (C) 2000 Philipp Rumpf (prumpf@tux.org)

--- 602 unchanged lines hidden (view full) ---

611{
612 BUG_ON(!vma->vm_mm->context);
613
614 if (pfn_valid(pfn)) {
615 flush_tlb_page(vma, vmaddr);
616 __flush_cache_page(vma, vmaddr, PFN_PHYS(pfn));
617 }
618}
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 1999-2006 Helge Deller <deller@gmx.de> (07-13-1999)
7 * Copyright (C) 1999 SuSE GmbH Nuernberg
8 * Copyright (C) 2000 Philipp Rumpf (prumpf@tux.org)

--- 602 unchanged lines hidden (view full) ---

611{
612 BUG_ON(!vma->vm_mm->context);
613
614 if (pfn_valid(pfn)) {
615 flush_tlb_page(vma, vmaddr);
616 __flush_cache_page(vma, vmaddr, PFN_PHYS(pfn));
617 }
618}
619
620void flush_kernel_vmap_range(void *vaddr, int size)
621{
622 unsigned long start = (unsigned long)vaddr;
623
624 if ((unsigned long)size > parisc_cache_flush_threshold)
625 flush_data_cache();
626 else
627 flush_kernel_dcache_range_asm(start, start + size);
628}
629EXPORT_SYMBOL(flush_kernel_vmap_range);
630
631void invalidate_kernel_vmap_range(void *vaddr, int size)
632{
633 unsigned long start = (unsigned long)vaddr;
634
635 if ((unsigned long)size > parisc_cache_flush_threshold)
636 flush_data_cache();
637 else
638 flush_kernel_dcache_range_asm(start, start + size);
639}
640EXPORT_SYMBOL(invalidate_kernel_vmap_range);