hc
2024-01-05 071106ecf68c401173c58808b1cf5f68cc50d390
kernel/arch/parisc/include/asm/cacheflush.h
....@@ -57,6 +57,11 @@
5757
5858 #define flush_dcache_mmap_lock(mapping) xa_lock_irq(&mapping->i_pages)
5959 #define flush_dcache_mmap_unlock(mapping) xa_unlock_irq(&mapping->i_pages)
60
+#define flush_dcache_mmap_lock_irqsave(mapping, flags) \
61
+ xa_lock_irqsave(&mapping->i_pages, flags)
62
+#define flush_dcache_mmap_unlock_irqrestore(mapping, flags) \
63
+ xa_unlock_irqrestore(&mapping->i_pages, flags)
64
+
6065
6166 #define flush_icache_page(vma,page) do { \
6267 flush_kernel_dcache_page(page); \
....@@ -100,37 +105,11 @@
100105 }
101106 }
102107
103
-#include <asm/kmap_types.h>
104
-
105
-#define ARCH_HAS_KMAP
106
-
107
-static inline void *kmap(struct page *page)
108
-{
109
- might_sleep();
110
- return page_address(page);
111
-}
112
-
113
-static inline void kunmap(struct page *page)
114
-{
115
- flush_kernel_dcache_page_addr(page_address(page));
116
-}
117
-
118
-static inline void *kmap_atomic(struct page *page)
119
-{
120
- preempt_disable();
121
- pagefault_disable();
122
- return page_address(page);
123
-}
124
-
125
-static inline void __kunmap_atomic(void *addr)
108
+#define ARCH_HAS_FLUSH_ON_KUNMAP
109
+static inline void kunmap_flush_on_unmap(void *addr)
126110 {
127111 flush_kernel_dcache_page_addr(addr);
128
- pagefault_enable();
129
- preempt_enable();
130112 }
131
-
132
-#define kmap_atomic_prot(page, prot) kmap_atomic(page)
133
-#define kmap_atomic_pfn(pfn) kmap_atomic(pfn_to_page(pfn))
134113
135114 #endif /* _PARISC_CACHEFLUSH_H */
136115