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 */
30