File tree Expand file tree Collapse file tree 6 files changed +8
-88
lines changed Expand file tree Collapse file tree 6 files changed +8
-88
lines changed Original file line number Diff line number Diff line change @@ -155,6 +155,7 @@ config XILINX_UNCACHED_SHADOW
155
155
config HIGHMEM
156
156
bool "High memory support"
157
157
depends on MMU
158
+ select KMAP_LOCAL
158
159
help
159
160
The address space of Microblaze processors is only 4 Gigabytes large
160
161
and it has to accommodate user address space, kernel address
Original file line number Diff line number Diff line change 20
20
#include <asm/page.h>
21
21
#ifdef CONFIG_HIGHMEM
22
22
#include <linux/threads.h>
23
- #include <asm/kmap_types .h>
23
+ #include <asm/kmap_size .h>
24
24
#endif
25
25
26
26
#define FIXADDR_TOP ((unsigned long)(-PAGE_SIZE))
@@ -47,7 +47,7 @@ enum fixed_addresses {
47
47
FIX_HOLE ,
48
48
#ifdef CONFIG_HIGHMEM
49
49
FIX_KMAP_BEGIN , /* reserved pte's for temporary kernel mappings */
50
- FIX_KMAP_END = FIX_KMAP_BEGIN + (KM_TYPE_NR * num_possible_cpus ()) - 1 ,
50
+ FIX_KMAP_END = FIX_KMAP_BEGIN + (KM_MAX_IDX * num_possible_cpus ()) - 1 ,
51
51
#endif
52
52
__end_of_fixed_addresses
53
53
};
Original file line number Diff line number Diff line change 25
25
#include <linux/uaccess.h>
26
26
#include <asm/fixmap.h>
27
27
28
- extern pte_t * kmap_pte ;
29
28
extern pte_t * pkmap_page_table ;
30
29
31
30
/*
@@ -52,6 +51,11 @@ extern pte_t *pkmap_page_table;
52
51
53
52
#define flush_cache_kmaps () { flush_icache(); flush_dcache(); }
54
53
54
+ #define arch_kmap_local_post_map (vaddr , pteval ) \
55
+ local_flush_tlb_page(NULL, vaddr);
56
+ #define arch_kmap_local_post_unmap (vaddr ) \
57
+ local_flush_tlb_page(NULL, vaddr);
58
+
55
59
#endif /* __KERNEL__ */
56
60
57
61
#endif /* _ASM_HIGHMEM_H */
Original file line number Diff line number Diff line change 6
6
obj-y := consistent.o init.o
7
7
8
8
obj-$(CONFIG_MMU) += pgtable.o mmu_context.o fault.o
9
- obj-$(CONFIG_HIGHMEM) += highmem.o
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -49,17 +49,11 @@ unsigned long lowmem_size;
49
49
EXPORT_SYMBOL (min_low_pfn );
50
50
EXPORT_SYMBOL (max_low_pfn );
51
51
52
- #ifdef CONFIG_HIGHMEM
53
- pte_t * kmap_pte ;
54
- EXPORT_SYMBOL (kmap_pte );
55
-
56
52
static void __init highmem_init (void )
57
53
{
58
54
pr_debug ("%x\n" , (u32 )PKMAP_BASE );
59
55
map_page (PKMAP_BASE , 0 , 0 ); /* XXX gross */
60
56
pkmap_page_table = virt_to_kpte (PKMAP_BASE );
61
-
62
- kmap_pte = virt_to_kpte (__fix_to_virt (FIX_KMAP_BEGIN ));
63
57
}
64
58
65
59
static void highmem_setup (void )
You can’t perform that action at this time.
0 commit comments