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