[Top] [All Lists]

Re: [PATCH] of: specify initrd location using 64-bit

To: Sebastian Andrzej Siewior <>
Subject: Re: [PATCH] of: specify initrd location using 64-bit
From: Rob Herring <>
Date: Thu, 13 Sep 2012 16:02:49 -0500
Cc: Cyril Chemparathy <>,,,,,,,,,,,,,,,,, Geert Uytterhoeven <>,,,,,,,,,,,,,,,,,
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=UNpuo3wZgbfCHiGgUVSRyXc93sb+xRVJqxG9ogQd5BQ=; b=TRKxmPbvmPOqA6YmmXJgKiImJTk1szN08aOOIxokTJfOPJR9ViRzB1mr5minZ8Y/yZ KIdtsxywn2o8pCPID1FLGRuLnlIJOnMGubEtsdrVGpyGuLKYZM76xDQAWj0scmbPu2cs bmHzVR3sbVQ0hYpVAjm1sH6ck85mih9tDxeQVZTZZpjUXECuFR1o+hsv9CWqFXoYc2vb 2xNe2qf6hkAsNNXAClKs1Zyp3D5iF4XiH41TMVAprlvlEoMkaVDv5bdnsmlm/2AbbnG0 acKvLswaSjS67hGRTjTLOoHk9SnL5bv9jNPK9kCm/v70VWQ2RELtcVirLSHpUD41i4Bv 6erw==
In-reply-to: <>
List-archive: <>
List-help: <>
List-id: linux-mips <>
List-owner: <>
List-post: <>
List-software: Ecartis version 1.0.0
List-subscribe: <>
List-unsubscribe: <>
References: <> <> <> <> <> <>
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120714 Thunderbird/14.0
On 09/13/2012 01:47 AM, Sebastian Andrzej Siewior wrote:
> On 09/13/2012 12:08 AM, Rob Herring wrote:
>>> Geert is right here. If it is a physical address, it should be
>>> phys_addr_t.
>> While generally true, for the DT specific code I think it should be a
>> fixed u64. The size of the address is defined by the FDT, not the
>> kernel. It is very likely we could have a FDT that specifies addresses
>> in 64-bit values, but then we boot a kernel is compiled for !LPAE.
>> phys_addr_t is currently sized based on LPAE setting.
> If your kernel is 32bit without PAE and your DTB address is >32ibt than
> you can't handle it. If you don't notice this in your dt code than you
> remap the wrong memory ioremap().

The size of the initrd fields are set by #address-cells properties and
determined when you create the dtb. The address to load the initrd is
decided by the bootloader/user and set at that point later in time. The
dtb should not be tied to the kernel you are booting. Obviously, if you
want to boot a non-PAE kernel, everything has to be placed at <4GB.

I can boot i386 and i386-pae kernels on an i386-pae machines. I expect
to generally be able to do that on ARM. Perhaps some SOCs like this one
will not allow that, it is not always true.


<Prev in Thread] Current Thread [Next in Thread>