From 6778948f9de86c3cfaf36725a7c87dcff9ba247f Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Mon, 11 Dec 2023 08:20:59 +0000
Subject: [PATCH] kernel_5.10 no rt
---
kernel/arch/nds32/include/asm/highmem.h | 22 ++++++----------------
1 files changed, 6 insertions(+), 16 deletions(-)
diff --git a/kernel/arch/nds32/include/asm/highmem.h b/kernel/arch/nds32/include/asm/highmem.h
index 16159a8..fe986d0 100644
--- a/kernel/arch/nds32/include/asm/highmem.h
+++ b/kernel/arch/nds32/include/asm/highmem.h
@@ -5,6 +5,7 @@
#define _ASM_HIGHMEM_H
#include <asm/proc-fns.h>
+#include <asm/kmap_types.h>
#include <asm/fixmap.h>
/*
@@ -44,22 +45,11 @@
extern void kmap_init(void);
/*
- * FIXME: The below looks broken vs. a kmap_atomic() in task context which
- * is interupted and another kmap_atomic() happens in interrupt context.
- * But what do I know about nds32. -- tglx
+ * The following functions are already defined by <linux/highmem.h>
+ * when CONFIG_HIGHMEM is not set.
*/
-#define arch_kmap_local_post_map(vaddr, pteval) \
- do { \
- __nds32__tlbop_inv(vaddr); \
- __nds32__mtsr_dsb(vaddr, NDS32_SR_TLB_VPN); \
- __nds32__tlbop_rwr(pteval); \
- __nds32__isb(); \
- } while (0)
-
-#define arch_kmap_local_pre_unmap(vaddr) \
- do { \
- __nds32__tlbop_inv(vaddr); \
- __nds32__isb(); \
- } while (0)
+#ifdef CONFIG_HIGHMEM
+extern void *kmap_atomic_pfn(unsigned long pfn);
+#endif
#endif
--
Gitblit v1.6.2