diff options
Diffstat (limited to 'arch/arm/kernel/setup.c')
| -rw-r--r-- | arch/arm/kernel/setup.c | 22 | 
1 files changed, 10 insertions, 12 deletions
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 3455ad33de4c..420b8d6485d6 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c @@ -518,25 +518,21 @@ setup_ramdisk(int doload, int prompt, int image_start, unsigned int rd_sz)  #endif  } -static void __init -request_standard_resources(struct meminfo *mi, struct machine_desc *mdesc) +static void __init request_standard_resources(struct machine_desc *mdesc)  { +	struct memblock_region *region;  	struct resource *res; -	int i;  	kernel_code.start   = virt_to_phys(_text);  	kernel_code.end     = virt_to_phys(_etext - 1);  	kernel_data.start   = virt_to_phys(_sdata);  	kernel_data.end     = virt_to_phys(_end - 1); -	for (i = 0; i < mi->nr_banks; i++) { -		if (mi->bank[i].size == 0) -			continue; - +	for_each_memblock(memory, region) {  		res = alloc_bootmem_low(sizeof(*res));  		res->name  = "System RAM"; -		res->start = mi->bank[i].start; -		res->end   = mi->bank[i].start + mi->bank[i].size - 1; +		res->start = __pfn_to_phys(memblock_region_memory_base_pfn(region)); +		res->end = __pfn_to_phys(memblock_region_memory_end_pfn(region)) - 1;  		res->flags = IORESOURCE_MEM | IORESOURCE_BUSY;  		request_resource(&iomem_resource, res); @@ -650,15 +646,17 @@ static int __init parse_tag_revision(const struct tag *tag)  __tagtable(ATAG_REVISION, parse_tag_revision); -#ifndef CONFIG_CMDLINE_FORCE  static int __init parse_tag_cmdline(const struct tag *tag)  { +#ifndef CONFIG_CMDLINE_FORCE  	strlcpy(default_command_line, tag->u.cmdline.cmdline, COMMAND_LINE_SIZE); +#else +	pr_warning("Ignoring tag cmdline (using the default kernel command line)\n"); +#endif /* CONFIG_CMDLINE_FORCE */  	return 0;  }  __tagtable(ATAG_CMDLINE, parse_tag_cmdline); -#endif /* CONFIG_CMDLINE_FORCE */  /*   * Scan the tag table for this tag, and call its parse function. @@ -857,7 +855,7 @@ void __init setup_arch(char **cmdline_p)  	arm_memblock_init(&meminfo, mdesc);  	paging_init(mdesc); -	request_standard_resources(&meminfo, mdesc); +	request_standard_resources(mdesc);  #ifdef CONFIG_SMP  	if (is_smp())  | 
