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