xref: /linux/arch/arc/include/uapi/asm/page.h (revision 24bce201d79807b668bf9d9e0aca801c5c0d5f78)
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 /*
3  * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation.
8  */
9 
10 #ifndef _UAPI__ASM_ARC_PAGE_H
11 #define _UAPI__ASM_ARC_PAGE_H
12 
13 #include <linux/const.h>
14 
15 /* PAGE_SHIFT determines the page size */
16 #if defined(CONFIG_ARC_PAGE_SIZE_16K)
17 #define PAGE_SHIFT 14
18 #elif defined(CONFIG_ARC_PAGE_SIZE_4K)
19 #define PAGE_SHIFT 12
20 #else
21 /*
22  * Default 8k
23  * done this way (instead of under CONFIG_ARC_PAGE_SIZE_8K) because adhoc
24  * user code (busybox appletlib.h) expects PAGE_SHIFT to be defined w/o
25  * using the correct uClibc header and in their build our autoconf.h is
26  * not available
27  */
28 #define PAGE_SHIFT 13
29 #endif
30 
31 #define PAGE_SIZE	_BITUL(PAGE_SHIFT)	/* Default 8K */
32 #define PAGE_OFFSET	_AC(0x80000000, UL)	/* Kernel starts at 2G onwrds */
33 
34 #define PAGE_MASK	(~(PAGE_SIZE-1))
35 
36 #endif /* _UAPI__ASM_ARC_PAGE_H */
37