flush.c (4ba24fef3eb3b142197135223b90ced2f319cd53) flush.c (68234df4ea7939f98431aa81113fbdce10c4a84b)
1/*
2 * Based on arch/arm/mm/flush.c
3 *
4 * Copyright (C) 1995-2002 Russell King
5 * Copyright (C) 2012 ARM Ltd.
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as

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

97 if (test_bit(PG_dcache_clean, &page->flags))
98 clear_bit(PG_dcache_clean, &page->flags);
99}
100EXPORT_SYMBOL(flush_dcache_page);
101
102/*
103 * Additional functions defined in assembly.
104 */
1/*
2 * Based on arch/arm/mm/flush.c
3 *
4 * Copyright (C) 1995-2002 Russell King
5 * Copyright (C) 2012 ARM Ltd.
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as

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

97 if (test_bit(PG_dcache_clean, &page->flags))
98 clear_bit(PG_dcache_clean, &page->flags);
99}
100EXPORT_SYMBOL(flush_dcache_page);
101
102/*
103 * Additional functions defined in assembly.
104 */
105EXPORT_SYMBOL(flush_cache_all);
106EXPORT_SYMBOL(flush_icache_range);
107
108#ifdef CONFIG_TRANSPARENT_HUGEPAGE
109#ifdef CONFIG_HAVE_RCU_TABLE_FREE
110void pmdp_splitting_flush(struct vm_area_struct *vma, unsigned long address,
111 pmd_t *pmdp)
112{
113 pmd_t pmd = pmd_mksplitting(*pmdp);
114
115 VM_BUG_ON(address & ~PMD_MASK);
116 set_pmd_at(vma->vm_mm, address, pmdp, pmd);
117
118 /* dummy IPI to serialise against fast_gup */
119 kick_all_cpus_sync();
120}
121#endif /* CONFIG_HAVE_RCU_TABLE_FREE */
122#endif /* CONFIG_TRANSPARENT_HUGEPAGE */
105EXPORT_SYMBOL(flush_icache_range);
106
107#ifdef CONFIG_TRANSPARENT_HUGEPAGE
108#ifdef CONFIG_HAVE_RCU_TABLE_FREE
109void pmdp_splitting_flush(struct vm_area_struct *vma, unsigned long address,
110 pmd_t *pmdp)
111{
112 pmd_t pmd = pmd_mksplitting(*pmdp);
113
114 VM_BUG_ON(address & ~PMD_MASK);
115 set_pmd_at(vma->vm_mm, address, pmdp, pmd);
116
117 /* dummy IPI to serialise against fast_gup */
118 kick_all_cpus_sync();
119}
120#endif /* CONFIG_HAVE_RCU_TABLE_FREE */
121#endif /* CONFIG_TRANSPARENT_HUGEPAGE */