[PATCH] of: specify initrd location using 64-bit
Rob Herring
robherring2 at gmail.com
Wed Sep 12 16:56:24 EDT 2012
On 09/12/2012 03:31 PM, Nicolas Pitre wrote:
> On Wed, 12 Sep 2012, Rob Herring wrote:
>
>> On 09/12/2012 11:05 AM, Cyril Chemparathy wrote:
>>> 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?
>>
>>> ---
>>> 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
More information about the linux-arm-kernel
mailing list