Re: [PATCH] of: specify initrd location using 64-bit
From: Rob Herring <hidden>
Date: 2012-09-12 20:56:49
Also in:
linux-arm-kernel, linux-mips, linuxppc-dev, lkml
On 09/12/2012 03:31 PM, Nicolas Pitre wrote:
On Wed, 12 Sep 2012, Rob Herring wrote:quoted
On 09/12/2012 11:05 AM, Cyril Chemparathy wrote:quoted
On some PAE architectures, the entire range of physical memory could reside outside the 32-bit limit. These systems need the ability to specify the initrd location using 64-bit numbers. This patch globally modifies the early_init_dt_setup_initrd_arch() function to use 64-bit numbers instead of the current unsigned long.S-o-B?quoted
--- arch/arm/mm/init.c | 2 +- arch/c6x/kernel/devicetree.c | 3 +-- arch/microblaze/kernel/prom.c | 3 +-- arch/mips/kernel/prom.c | 3 +-- arch/openrisc/kernel/prom.c | 3 +-- arch/powerpc/kernel/prom.c | 3 +-- arch/x86/kernel/devicetree.c | 3 +-- drivers/of/fdt.c | 10 ++++++---- include/linux/of_fdt.h | 3 +-- 9 files changed, 14 insertions(+), 19 deletions(-)diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c index ad722f1..579792c 100644 --- a/arch/arm/mm/init.c +++ b/arch/arm/mm/init.c@@ -76,7 +76,7 @@ static int __init parse_tag_initrd2(const struct tag *tag) __tagtable(ATAG_INITRD2, parse_tag_initrd2); #ifdef CONFIG_OF_FLATTREE -void __init early_init_dt_setup_initrd_arch(unsigned long start, unsigned long end) +void __init early_init_dt_setup_initrd_arch(u64 start, u64 end)phys_initrd_start/size need to change too. Not sure about similar things on other arches.size ?
phys_initrd_size. Arguably, we'll never have a >4GB initrd with a PAE system or perhaps run into other issues first (like space to decompress it), but technically the DTS could specify one. Rob