hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/arch/alpha/include/asm/cacheflush.h
....@@ -4,19 +4,6 @@
44
55 #include <linux/mm.h>
66
7
-/* Caches aren't brain-dead on the Alpha. */
8
-#define flush_cache_all() do { } while (0)
9
-#define flush_cache_mm(mm) do { } while (0)
10
-#define flush_cache_dup_mm(mm) do { } while (0)
11
-#define flush_cache_range(vma, start, end) do { } while (0)
12
-#define flush_cache_page(vma, vmaddr, pfn) do { } while (0)
13
-#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0
14
-#define flush_dcache_page(page) do { } while (0)
15
-#define flush_dcache_mmap_lock(mapping) do { } while (0)
16
-#define flush_dcache_mmap_unlock(mapping) do { } while (0)
17
-#define flush_cache_vmap(start, end) do { } while (0)
18
-#define flush_cache_vunmap(start, end) do { } while (0)
19
-
207 /* Note that the following two definitions are _highly_ dependent
218 on the contexts in which they are used in the kernel. I personally
229 think it is criminal how loosely defined these macros are. */
....@@ -48,7 +35,7 @@
4835
4936 extern void __load_new_mm_context(struct mm_struct *);
5037 static inline void
51
-flush_icache_user_range(struct vm_area_struct *vma, struct page *page,
38
+flush_icache_user_page(struct vm_area_struct *vma, struct page *page,
5239 unsigned long addr, int len)
5340 {
5441 if (vma->vm_flags & VM_EXEC) {
....@@ -59,20 +46,17 @@
5946 mm->context[smp_processor_id()] = 0;
6047 }
6148 }
62
-#else
63
-extern void flush_icache_user_range(struct vm_area_struct *vma,
49
+#define flush_icache_user_page flush_icache_user_page
50
+#else /* CONFIG_SMP */
51
+extern void flush_icache_user_page(struct vm_area_struct *vma,
6452 struct page *page, unsigned long addr, int len);
65
-#endif
53
+#define flush_icache_user_page flush_icache_user_page
54
+#endif /* CONFIG_SMP */
6655
6756 /* This is used only in __do_fault and do_swap_page. */
6857 #define flush_icache_page(vma, page) \
69
- flush_icache_user_range((vma), (page), 0, 0)
58
+ flush_icache_user_page((vma), (page), 0, 0)
7059
71
-#define copy_to_user_page(vma, page, vaddr, dst, src, len) \
72
-do { memcpy(dst, src, len); \
73
- flush_icache_user_range(vma, page, vaddr, len); \
74
-} while (0)
75
-#define copy_from_user_page(vma, page, vaddr, dst, src, len) \
76
- memcpy(dst, src, len)
60
+#include <asm-generic/cacheflush.h>
7761
7862 #endif /* _ALPHA_CACHEFLUSH_H */