GNU Linux-libre 4.19.286-gnu1
[releases.git] / arch / nds32 / include / asm / fixmap.h
1 // SPDX-License-Identifier: GPL-2.0
2 // Copyright (C) 2005-2017 Andes Technology Corporation
3
4 #ifndef __ASM_NDS32_FIXMAP_H
5 #define __ASM_NDS32_FIXMAP_H
6
7 #ifdef CONFIG_HIGHMEM
8 #include <linux/threads.h>
9 #include <asm/kmap_types.h>
10 #endif
11
12 enum fixed_addresses {
13         FIX_HOLE,
14         FIX_KMAP_RESERVED,
15         FIX_KMAP_BEGIN,
16 #ifdef CONFIG_HIGHMEM
17         FIX_KMAP_END = FIX_KMAP_BEGIN + (KM_TYPE_NR * NR_CPUS),
18 #endif
19         FIX_EARLYCON_MEM_BASE,
20         __end_of_fixed_addresses
21 };
22 #define FIXADDR_TOP             ((unsigned long) (-(16 * PAGE_SIZE)))
23 #define FIXADDR_SIZE            ((__end_of_fixed_addresses) << PAGE_SHIFT)
24 #define FIXADDR_START           (FIXADDR_TOP - FIXADDR_SIZE)
25 #define FIXMAP_PAGE_IO          __pgprot(PAGE_DEVICE)
26 void __set_fixmap(enum fixed_addresses idx, phys_addr_t phys, pgprot_t prot);
27
28 #include <asm-generic/fixmap.h>
29 #endif /* __ASM_NDS32_FIXMAP_H */