forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/arch/mips/include/asm/highmem.h
....@@ -24,7 +24,7 @@
2424 #include <linux/interrupt.h>
2525 #include <linux/uaccess.h>
2626 #include <asm/cpu-features.h>
27
-#include <asm/kmap_types.h>
27
+#include <asm/kmap_size.h>
2828
2929 /* declarations for highmem.c */
3030 extern unsigned long highstart_pfn, highend_pfn;
....@@ -36,7 +36,7 @@
3636 * easily, subsequent pte tables have to be allocated in one physical
3737 * chunk of RAM.
3838 */
39
-#ifdef CONFIG_PHYS_ADDR_T_64BIT
39
+#if defined(CONFIG_PHYS_ADDR_T_64BIT) || defined(CONFIG_MIPS_HUGE_TLB_SUPPORT)
4040 #define LAST_PKMAP 512
4141 #else
4242 #define LAST_PKMAP 1024
....@@ -46,20 +46,13 @@
4646 #define PKMAP_NR(virt) ((virt-PKMAP_BASE) >> PAGE_SHIFT)
4747 #define PKMAP_ADDR(nr) (PKMAP_BASE + ((nr) << PAGE_SHIFT))
4848
49
-extern void * kmap_high(struct page *page);
50
-extern void kunmap_high(struct page *page);
51
-
52
-extern void *kmap(struct page *page);
53
-extern void kunmap(struct page *page);
54
-extern void *kmap_atomic(struct page *page);
55
-extern void __kunmap_atomic(void *kvaddr);
56
-extern void *kmap_atomic_pfn(unsigned long pfn);
49
+#define ARCH_HAS_KMAP_FLUSH_TLB
50
+extern void kmap_flush_tlb(unsigned long addr);
5751
5852 #define flush_cache_kmaps() BUG_ON(cpu_has_dc_aliases)
5953
60
-extern void kmap_init(void);
61
-
62
-#define kmap_prot PAGE_KERNEL
54
+#define arch_kmap_local_post_map(vaddr, pteval) local_flush_tlb_one(vaddr)
55
+#define arch_kmap_local_post_unmap(vaddr) local_flush_tlb_one(vaddr)
6356
6457 #endif /* __KERNEL__ */
6558