diff options
Diffstat (limited to 'arch/parisc/kernel/cache.c')
-rw-r--r-- | arch/parisc/kernel/cache.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/arch/parisc/kernel/cache.c b/arch/parisc/kernel/cache.c index 0dc72d5de861..c32a09095216 100644 --- a/arch/parisc/kernel/cache.c +++ b/arch/parisc/kernel/cache.c | |||
@@ -616,3 +616,25 @@ flush_cache_page(struct vm_area_struct *vma, unsigned long vmaddr, unsigned long | |||
616 | __flush_cache_page(vma, vmaddr, PFN_PHYS(pfn)); | 616 | __flush_cache_page(vma, vmaddr, PFN_PHYS(pfn)); |
617 | } | 617 | } |
618 | } | 618 | } |
619 | |||
620 | void 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 | } | ||
629 | EXPORT_SYMBOL(flush_kernel_vmap_range); | ||
630 | |||
631 | void 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 | } | ||
640 | EXPORT_SYMBOL(invalidate_kernel_vmap_range); | ||