Merge tag 'for-linus-5.15-1' of git://github.com/cminyard/linux-ipmi
[linux-2.6-microblaze.git] / arch / arc / include / asm / pgtable.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
4  */
5
6 #ifndef _ASM_ARC_PGTABLE_H
7 #define _ASM_ARC_PGTABLE_H
8
9 #include <linux/bits.h>
10
11 #include <asm/pgtable-levels.h>
12 #include <asm/pgtable-bits-arcv2.h>
13 #include <asm/page.h>
14 #include <asm/mmu.h>
15
16 /*
17  * Number of entries a user land program use.
18  * TASK_SIZE is the maximum vaddr that can be used by a userland program.
19  */
20 #define USER_PTRS_PER_PGD       (TASK_SIZE / PGDIR_SIZE)
21
22 #ifndef __ASSEMBLY__
23
24 extern char empty_zero_page[PAGE_SIZE];
25 #define ZERO_PAGE(vaddr)        (virt_to_page(empty_zero_page))
26
27 extern pgd_t swapper_pg_dir[] __aligned(PAGE_SIZE);
28
29 /* Macro to mark a page protection as uncacheable */
30 #define pgprot_noncached(prot)  (__pgprot(pgprot_val(prot) & ~_PAGE_CACHEABLE))
31
32 extern pgd_t swapper_pg_dir[] __aligned(PAGE_SIZE);
33
34 /* to cope with aliasing VIPT cache */
35 #define HAVE_ARCH_UNMAPPED_AREA
36
37 #endif /* __ASSEMBLY__ */
38
39 #endif