diff options
Diffstat (limited to 'arch/arm/include/asm/highmem.h')
-rw-r--r-- | arch/arm/include/asm/highmem.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/arch/arm/include/asm/highmem.h b/arch/arm/include/asm/highmem.h new file mode 100644 index 00000000000..023d5b37454 --- /dev/null +++ b/arch/arm/include/asm/highmem.h | |||
@@ -0,0 +1,28 @@ | |||
1 | #ifndef _ASM_HIGHMEM_H | ||
2 | #define _ASM_HIGHMEM_H | ||
3 | |||
4 | #include <asm/kmap_types.h> | ||
5 | |||
6 | #define PKMAP_BASE (PAGE_OFFSET - PMD_SIZE) | ||
7 | #define LAST_PKMAP PTRS_PER_PTE | ||
8 | #define LAST_PKMAP_MASK (LAST_PKMAP - 1) | ||
9 | #define PKMAP_NR(virt) (((virt) - PKMAP_BASE) >> PAGE_SHIFT) | ||
10 | #define PKMAP_ADDR(nr) (PKMAP_BASE + ((nr) << PAGE_SHIFT)) | ||
11 | |||
12 | #define kmap_prot PAGE_KERNEL | ||
13 | |||
14 | #define flush_cache_kmaps() flush_cache_all() | ||
15 | |||
16 | extern pte_t *pkmap_page_table; | ||
17 | |||
18 | extern void *kmap_high(struct page *page); | ||
19 | extern void kunmap_high(struct page *page); | ||
20 | |||
21 | extern void *kmap(struct page *page); | ||
22 | extern void kunmap(struct page *page); | ||
23 | extern void *kmap_atomic(struct page *page, enum km_type type); | ||
24 | extern void kunmap_atomic(void *kvaddr, enum km_type type); | ||
25 | extern void *kmap_atomic_pfn(unsigned long pfn, enum km_type type); | ||
26 | extern struct page *kmap_atomic_to_page(const void *ptr); | ||
27 | |||
28 | #endif | ||