arch: simplify architecture specific page size configuration
[linux-block.git] / arch / arc / include / uapi / asm / page.h
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 #ifdef __KERNEL__
17 #define PAGE_SHIFT CONFIG_PAGE_SHIFT
18 #else
19 /*
20  * Default 8k
21  * done this way (instead of under CONFIG_ARC_PAGE_SIZE_8K) because adhoc
22  * user code (busybox appletlib.h) expects PAGE_SHIFT to be defined w/o
23  * using the correct uClibc header and in their build our autoconf.h is
24  * not available
25  */
26 #define PAGE_SHIFT 13
27 #endif
28
29 #define PAGE_SIZE       _BITUL(PAGE_SHIFT)      /* Default 8K */
30 #define PAGE_OFFSET     _AC(0x80000000, UL)     /* Kernel starts at 2G onwrds */
31
32 #define PAGE_MASK       (~(PAGE_SIZE-1))
33
34 #endif /* _UAPI__ASM_ARC_PAGE_H */