hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/arch/nds32/include/asm/highmem.h
....@@ -5,6 +5,7 @@
55 #define _ASM_HIGHMEM_H
66
77 #include <asm/proc-fns.h>
8
+#include <asm/kmap_types.h>
89 #include <asm/fixmap.h>
910
1011 /*
....@@ -44,22 +45,11 @@
4445 extern void kmap_init(void);
4546
4647 /*
47
- * FIXME: The below looks broken vs. a kmap_atomic() in task context which
48
- * is interupted and another kmap_atomic() happens in interrupt context.
49
- * But what do I know about nds32. -- tglx
48
+ * The following functions are already defined by <linux/highmem.h>
49
+ * when CONFIG_HIGHMEM is not set.
5050 */
51
-#define arch_kmap_local_post_map(vaddr, pteval) \
52
- do { \
53
- __nds32__tlbop_inv(vaddr); \
54
- __nds32__mtsr_dsb(vaddr, NDS32_SR_TLB_VPN); \
55
- __nds32__tlbop_rwr(pteval); \
56
- __nds32__isb(); \
57
- } while (0)
58
-
59
-#define arch_kmap_local_pre_unmap(vaddr) \
60
- do { \
61
- __nds32__tlbop_inv(vaddr); \
62
- __nds32__isb(); \
63
- } while (0)
51
+#ifdef CONFIG_HIGHMEM
52
+extern void *kmap_atomic_pfn(unsigned long pfn);
53
+#endif
6454
6555 #endif