Skip to content

Commit

Permalink
[ARM] mm: move vmalloc= parsing to arch/arm/mm/mmu.c
Browse files Browse the repository at this point in the history
There's no point scattering this around the tree, the parsing
of the parameter might as well live beside the code which uses
it.  That also means we can make vmalloc_reserve a static
variable.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Russell King authored and Russell King committed Sep 30, 2008
1 parent eca7321 commit 6c5da7a
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 21 deletions.
8 changes: 0 additions & 8 deletions arch/arm/include/asm/memory.h
Original file line number Diff line number Diff line change
Expand Up @@ -139,14 +139,6 @@
#define arch_adjust_zones(node,size,holes) do { } while (0)
#endif

/*
* Amount of memory reserved for the vmalloc() area, and minimum
* address for vmalloc mappings.
*/
extern unsigned long vmalloc_reserve;

#define VMALLOC_MIN (void *)(VMALLOC_END - vmalloc_reserve)

/*
* PFNs are used to describe any physical page; this means
* PFN 0 == physical address 0.
Expand Down
13 changes: 0 additions & 13 deletions arch/arm/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,6 @@ EXPORT_SYMBOL(system_serial_high);
unsigned int elf_hwcap;
EXPORT_SYMBOL(elf_hwcap);

unsigned long __initdata vmalloc_reserve = 128 << 20;


#ifdef MULTI_CPU
struct processor processor;
Expand Down Expand Up @@ -414,17 +412,6 @@ static void __init early_mem(char **p)
}
__early_param("mem=", early_mem);

/*
* vmalloc=size forces the vmalloc area to be exactly 'size'
* bytes. This can be used to increase (or decrease) the vmalloc
* area - the default is 128m.
*/
static void __init early_vmalloc(char **arg)
{
vmalloc_reserve = memparse(*arg, arg);
}
__early_param("vmalloc=", early_vmalloc);

/*
* Initial parsing of the command line.
*/
Expand Down
22 changes: 22 additions & 0 deletions arch/arm/mm/mmu.c
Original file line number Diff line number Diff line change
Expand Up @@ -566,6 +566,28 @@ void __init iotable_init(struct map_desc *io_desc, int nr)
create_mapping(io_desc + i);
}

static unsigned long __initdata vmalloc_reserve = SZ_128M;

/*
* vmalloc=size forces the vmalloc area to be exactly 'size'
* bytes. This can be used to increase (or decrease) the vmalloc
* area - the default is 128m.
*/
static void __init early_vmalloc(char **arg)
{
vmalloc_reserve = memparse(*arg, arg);

if (vmalloc_reserve < SZ_16M) {
vmalloc_reserve = SZ_16M;
printk(KERN_WARNING
"vmalloc area too small, limiting to %luMB\n",
vmalloc_reserve >> 20);
}
}
__early_param("vmalloc=", early_vmalloc);

#define VMALLOC_MIN (void *)(VMALLOC_END - vmalloc_reserve)

static int __init check_membank_valid(struct membank *mb)
{
/*
Expand Down

0 comments on commit 6c5da7a

Please sign in to comment.