Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH] ARM: cleanup vmalloc start/offset macros

VMALLOC_START and VMALLOC_OFFSET are common between all ARM
machine classes. Move them into include/asm-arm/pgtable.h,
but allow a machine class to override them if required.

Signed-off-by: Russell King <rmk@arm.linux.org.uk>

+17 -209
-11
include/asm-arm/arch-cl7500/vmalloc.h
··· 1 1 /* 2 2 * linux/include/asm-arm/arch-cl7500/vmalloc.h 3 3 */ 4 - 5 - /* 6 - * Just any arbitrary offset to the start of the vmalloc VM area: the 7 - * current 8MB value just means that there will be a 8MB "hole" after the 8 - * physical memory until the kernel virtual memory starts. That means that 9 - * any out-of-bounds memory accesses will hopefully be caught. 10 - * The vmalloc() routines leaves a hole of 4kB between each vmalloced 11 - * area for the same reason. ;) 12 - */ 13 - #define VMALLOC_OFFSET (8*1024*1024) 14 - #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 15 4 #define VMALLOC_END (PAGE_OFFSET + 0x1c000000)
-11
include/asm-arm/arch-clps711x/vmalloc.h
··· 17 17 * along with this program; if not, write to the Free Software 18 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 19 */ 20 - 21 - /* 22 - * Just any arbitrary offset to the start of the vmalloc VM area: the 23 - * current 8MB value just means that there will be a 8MB "hole" after the 24 - * physical memory until the kernel virtual memory starts. That means that 25 - * any out-of-bounds memory accesses will hopefully be caught. 26 - * The vmalloc() routines leaves a hole of 4kB between each vmalloced 27 - * area for the same reason. ;) 28 - */ 29 - #define VMALLOC_OFFSET (8*1024*1024) 30 - #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 31 20 #define VMALLOC_END (PAGE_OFFSET + 0x10000000)
-11
include/asm-arm/arch-ebsa110/vmalloc.h
··· 7 7 * it under the terms of the GNU General Public License version 2 as 8 8 * published by the Free Software Foundation. 9 9 */ 10 - 11 - /* 12 - * Just any arbitrary offset to the start of the vmalloc VM area: the 13 - * current 8MB value just means that there will be a 8MB "hole" after the 14 - * physical memory until the kernel virtual memory starts. That means that 15 - * any out-of-bounds memory accesses will hopefully be caught. 16 - * The vmalloc() routines leaves a hole of 4kB between each vmalloced 17 - * area for the same reason. ;) 18 - */ 19 - #define VMALLOC_OFFSET (8*1024*1024) 20 - #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 21 10 #define VMALLOC_END (PAGE_OFFSET + 0x1f000000)
-11
include/asm-arm/arch-ebsa285/vmalloc.h
··· 8 8 9 9 #include <linux/config.h> 10 10 11 - /* 12 - * Just any arbitrary offset to the start of the vmalloc VM area: the 13 - * current 8MB value just means that there will be a 8MB "hole" after the 14 - * physical memory until the kernel virtual memory starts. That means that 15 - * any out-of-bounds memory accesses will hopefully be caught. 16 - * The vmalloc() routines leaves a hole of 4kB between each vmalloced 17 - * area for the same reason. ;) 18 - */ 19 - #define VMALLOC_OFFSET (8*1024*1024) 20 - #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 21 - 22 11 #ifdef CONFIG_ARCH_FOOTBRIDGE 23 12 #define VMALLOC_END (PAGE_OFFSET + 0x30000000) 24 13 #else
-11
include/asm-arm/arch-epxa10db/vmalloc.h
··· 17 17 * along with this program; if not, write to the Free Software 18 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 19 */ 20 - 21 - /* 22 - * Just any arbitrary offset to the start of the vmalloc VM area: the 23 - * current 8MB value just means that there will be a 8MB "hole" after the 24 - * physical memory until the kernel virtual memory starts. That means that 25 - * any out-of-bounds memory accesses will hopefully be caught. 26 - * The vmalloc() routines leaves a hole of 4kB between each vmalloced 27 - * area for the same reason. ;) 28 - */ 29 - #define VMALLOC_OFFSET (8*1024*1024) 30 - #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 31 20 #define VMALLOC_END (PAGE_OFFSET + 0x10000000)
-11
include/asm-arm/arch-h720x/vmalloc.h
··· 5 5 #ifndef __ARCH_ARM_VMALLOC_H 6 6 #define __ARCH_ARM_VMALLOC_H 7 7 8 - /* 9 - * Just any arbitrary offset to the start of the vmalloc VM area: the 10 - * current 8MB value just means that there will be a 8MB "hole" after the 11 - * physical memory until the kernel virtual memory starts. That means that 12 - * any out-of-bounds memory accesses will hopefully be caught. 13 - * The vmalloc() routines leaves a hole of 4kB between each vmalloced 14 - * area for the same reason. ;) 15 - */ 16 - #define VMALLOC_OFFSET (8*1024*1024) 17 - #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 18 - #define VMALLOC_VMADDR(x) ((unsigned long)(x)) 19 8 #define VMALLOC_END (PAGE_OFFSET + 0x10000000) 20 9 21 10 #endif
-12
include/asm-arm/arch-imx/vmalloc.h
··· 17 17 * along with this program; if not, write to the Free Software 18 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 19 */ 20 - 21 - /* 22 - * Just any arbitrary offset to the start of the vmalloc VM area: the 23 - * current 8MB value just means that there will be a 8MB "hole" after the 24 - * physical memory until the kernel virtual memory starts. That means that 25 - * any out-of-bounds memory accesses will hopefully be caught. 26 - * The vmalloc() routines leaves a hole of 4kB between each vmalloced 27 - * area for the same reason. ;) 28 - */ 29 - #define VMALLOC_OFFSET (8*1024*1024) 30 - #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 31 - #define VMALLOC_VMADDR(x) ((unsigned long)(x)) 32 20 #define VMALLOC_END (PAGE_OFFSET + 0x10000000)
-11
include/asm-arm/arch-integrator/vmalloc.h
··· 17 17 * along with this program; if not, write to the Free Software 18 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 19 */ 20 - 21 - /* 22 - * Just any arbitrary offset to the start of the vmalloc VM area: the 23 - * current 8MB value just means that there will be a 8MB "hole" after the 24 - * physical memory until the kernel virtual memory starts. That means that 25 - * any out-of-bounds memory accesses will hopefully be caught. 26 - * The vmalloc() routines leaves a hole of 4kB between each vmalloced 27 - * area for the same reason. ;) 28 - */ 29 - #define VMALLOC_OFFSET (8*1024*1024) 30 - #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 31 20 #define VMALLOC_END (PAGE_OFFSET + 0x10000000)
-3
include/asm-arm/arch-iop3xx/vmalloc.h
··· 10 10 * The vmalloc() routines leaves a hole of 4kB between each vmalloced 11 11 * area for the same reason. ;) 12 12 */ 13 - #define VMALLOC_OFFSET (8*1024*1024) 14 - #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 15 - #define VMALLOC_VMADDR(x) ((unsigned long)(x)) 16 13 //#define VMALLOC_END (0xe8000000) 17 14 /* increase usable physical RAM to ~992M per RMK */ 18 15 #define VMALLOC_END (0xfe000000)
-3
include/asm-arm/arch-ixp2000/vmalloc.h
··· 17 17 * The vmalloc() routines leaves a hole of 4kB between each vmalloced 18 18 * area for the same reason. ;) 19 19 */ 20 - #define VMALLOC_OFFSET (8*1024*1024) 21 - #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 22 - #define VMALLOC_VMADDR(x) ((unsigned long)(x)) 23 20 #define VMALLOC_END 0xfaffefff
-12
include/asm-arm/arch-ixp4xx/vmalloc.h
··· 1 1 /* 2 2 * linux/include/asm-arm/arch-ixp4xx/vmalloc.h 3 3 */ 4 - 5 - /* 6 - * Just any arbitrary offset to the start of the vmalloc VM area: the 7 - * current 8MB value just means that there will be a 8MB "hole" after the 8 - * physical memory until the kernel virtual memory starts. That means that 9 - * any out-of-bounds memory accesses will hopefully be caught. 10 - * The vmalloc() routines leaves a hole of 4kB between each vmalloced 11 - * area for the same reason. ;) 12 - */ 13 - #define VMALLOC_OFFSET (8*1024*1024) 14 - #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 15 - #define VMALLOC_VMADDR(x) ((unsigned long)(x)) 16 4 #define VMALLOC_END (0xFF000000) 17 5
-11
include/asm-arm/arch-l7200/vmalloc.h
··· 1 1 /* 2 2 * linux/include/asm-arm/arch-l7200/vmalloc.h 3 3 */ 4 - 5 - /* 6 - * Just any arbitrary offset to the start of the vmalloc VM area: the 7 - * current 8MB value just means that there will be a 8MB "hole" after the 8 - * physical memory until the kernel virtual memory starts. That means that 9 - * any out-of-bounds memory accesses will hopefully be caught. 10 - * The vmalloc() routines leaves a hole of 4kB between each vmalloced 11 - * area for the same reason. ;) 12 - */ 13 - #define VMALLOC_OFFSET (8*1024*1024) 14 - #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 15 4 #define VMALLOC_END (PAGE_OFFSET + 0x10000000)
-11
include/asm-arm/arch-lh7a40x/vmalloc.h
··· 7 7 * version 2 as published by the Free Software Foundation. 8 8 * 9 9 */ 10 - 11 - /* 12 - * Just any arbitrary offset to the start of the vmalloc VM area: the 13 - * current 8MB value just means that there will be a 8MB "hole" after 14 - * the physical memory until the kernel virtual memory starts. That 15 - * means that any out-of-bounds memory accesses will hopefully be 16 - * caught. The vmalloc() routines leaves a hole of 4kB (one page) 17 - * between each vmalloced area for the same reason. ;) 18 - */ 19 - #define VMALLOC_OFFSET (8*1024*1024) 20 - #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 21 10 #define VMALLOC_END (0xe8000000)
-12
include/asm-arm/arch-omap/vmalloc.h
··· 17 17 * along with this program; if not, write to the Free Software 18 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 19 */ 20 - 21 - /* 22 - * Just any arbitrary offset to the start of the vmalloc VM area: the 23 - * current 8MB value just means that there will be a 8MB "hole" after the 24 - * physical memory until the kernel virtual memory starts. That means that 25 - * any out-of-bounds memory accesses will hopefully be caught. 26 - * The vmalloc() routines leaves a hole of 4kB between each vmalloced 27 - * area for the same reason. ;) 28 - */ 29 - #define VMALLOC_OFFSET (8*1024*1024) 30 - #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 31 - #define VMALLOC_VMADDR(x) ((unsigned long)(x)) 32 20 #define VMALLOC_END (PAGE_OFFSET + 0x10000000) 33 21
-11
include/asm-arm/arch-pxa/vmalloc.h
··· 8 8 * it under the terms of the GNU General Public License version 2 as 9 9 * published by the Free Software Foundation. 10 10 */ 11 - 12 - /* 13 - * Just any arbitrary offset to the start of the vmalloc VM area: the 14 - * current 8MB value just means that there will be a 8MB "hole" after the 15 - * physical memory until the kernel virtual memory starts. That means that 16 - * any out-of-bounds memory accesses will hopefully be caught. 17 - * The vmalloc() routines leaves a hole of 4kB between each vmalloced 18 - * area for the same reason. ;) 19 - */ 20 - #define VMALLOC_OFFSET (8*1024*1024) 21 - #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 22 11 #define VMALLOC_END (0xe8000000)
-11
include/asm-arm/arch-rpc/vmalloc.h
··· 7 7 * it under the terms of the GNU General Public License version 2 as 8 8 * published by the Free Software Foundation. 9 9 */ 10 - 11 - /* 12 - * Just any arbitrary offset to the start of the vmalloc VM area: the 13 - * current 8MB value just means that there will be a 8MB "hole" after the 14 - * physical memory until the kernel virtual memory starts. That means that 15 - * any out-of-bounds memory accesses will hopefully be caught. 16 - * The vmalloc() routines leaves a hole of 4kB between each vmalloced 17 - * area for the same reason. ;) 18 - */ 19 - #define VMALLOC_OFFSET (8*1024*1024) 20 - #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 21 10 #define VMALLOC_END (PAGE_OFFSET + 0x1c000000)
-12
include/asm-arm/arch-s3c2410/vmalloc.h
··· 19 19 #ifndef __ASM_ARCH_VMALLOC_H 20 20 #define __ASM_ARCH_VMALLOC_H 21 21 22 - /* 23 - * Just any arbitrary offset to the start of the vmalloc VM area: the 24 - * current 8MB value just means that there will be a 8MB "hole" after the 25 - * physical memory until the kernel virtual memory starts. That means that 26 - * any out-of-bounds memory accesses will hopefully be caught. 27 - * The vmalloc() routines leaves a hole of 4kB between each vmalloced 28 - * area for the same reason. ;) 29 - */ 30 - 31 - #define VMALLOC_OFFSET (8*1024*1024) 32 - #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 33 - #define VMALLOC_VMADDR(x) ((unsigned long)(x)) 34 22 #define VMALLOC_END (0xE0000000) 35 23 36 24 #endif /* __ASM_ARCH_VMALLOC_H */
-11
include/asm-arm/arch-sa1100/vmalloc.h
··· 1 1 /* 2 2 * linux/include/asm-arm/arch-sa1100/vmalloc.h 3 3 */ 4 - 5 - /* 6 - * Just any arbitrary offset to the start of the vmalloc VM area: the 7 - * current 8MB value just means that there will be a 8MB "hole" after the 8 - * physical memory until the kernel virtual memory starts. That means that 9 - * any out-of-bounds memory accesses will hopefully be caught. 10 - * The vmalloc() routines leaves a hole of 4kB between each vmalloced 11 - * area for the same reason. ;) 12 - */ 13 - #define VMALLOC_OFFSET (8*1024*1024) 14 - #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 15 4 #define VMALLOC_END (0xe8000000)
-11
include/asm-arm/arch-shark/vmalloc.h
··· 1 1 /* 2 2 * linux/include/asm-arm/arch-rpc/vmalloc.h 3 3 */ 4 - 5 - /* 6 - * Just any arbitrary offset to the start of the vmalloc VM area: the 7 - * current 8MB value just means that there will be a 8MB "hole" after the 8 - * physical memory until the kernel virtual memory starts. That means that 9 - * any out-of-bounds memory accesses will hopefully be caught. 10 - * The vmalloc() routines leaves a hole of 4kB between each vmalloced 11 - * area for the same reason. ;) 12 - */ 13 - #define VMALLOC_OFFSET (8*1024*1024) 14 - #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 15 4 #define VMALLOC_END (PAGE_OFFSET + 0x10000000)
-12
include/asm-arm/arch-versatile/vmalloc.h
··· 18 18 * along with this program; if not, write to the Free Software 19 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 20 20 */ 21 - 22 - /* 23 - * Just any arbitrary offset to the start of the vmalloc VM area: the 24 - * current 8MB value just means that there will be a 8MB "hole" after the 25 - * physical memory until the kernel virtual memory starts. That means that 26 - * any out-of-bounds memory accesses will hopefully be caught. 27 - * The vmalloc() routines leaves a hole of 4kB between each vmalloced 28 - * area for the same reason. ;) 29 - */ 30 - #define VMALLOC_OFFSET (8*1024*1024) 31 - #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 32 - #define VMALLOC_VMADDR(x) ((unsigned long)(x)) 33 21 #define VMALLOC_END (PAGE_OFFSET + 0x18000000)
+17
include/asm-arm/pgtable.h
··· 17 17 #include <asm/arch/vmalloc.h> 18 18 19 19 /* 20 + * Just any arbitrary offset to the start of the vmalloc VM area: the 21 + * current 8MB value just means that there will be a 8MB "hole" after the 22 + * physical memory until the kernel virtual memory starts. That means that 23 + * any out-of-bounds memory accesses will hopefully be caught. 24 + * The vmalloc() routines leaves a hole of 4kB between each vmalloced 25 + * area for the same reason. ;) 26 + * 27 + * Note that platforms may override VMALLOC_START, but they must provide 28 + * VMALLOC_END. VMALLOC_END defines the (exclusive) limit of this space, 29 + * which may not overlap IO space. 30 + */ 31 + #ifndef VMALLOC_START 32 + #define VMALLOC_OFFSET (8*1024*1024) 33 + #define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) 34 + #endif 35 + 36 + /* 20 37 * Hardware-wise, we have a two level page table structure, where the first 21 38 * level has 4096 entries, and the second level has 256 entries. Each entry 22 39 * is one 32-bit word. Most of the bits in the second level entry are used