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 40