From mboxrd@z Thu Jan 1 00:00:00 1970 From: Grant Likely Subject: Re: [PATCH] of: Specify initrd location using 64-bit Date: Fri, 28 Jun 2013 10:59:52 +0100 Message-ID: References: <1371775956-16453-1-git-send-email-santosh.shilimkar@ti.com> <51C4171C.9050908@linutronix.de> <51C48B5A.2040404@ti.com> <51CCA67C.2010803@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <51CCA67C.2010803-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org Sender: "devicetree-discuss" To: Rob Herring Cc: Nicolas Pitre , linux-mips , Aurelien Jacquiot , Catalin Marinas , Sebastian Andrzej Siewior , Will Deacon , Max Filippov , Paul Mackerras , Jonas Bonn , Russell King , linux-c6x-dev-jPsnJVOj+W6hPH1hqNUYSQ@public.gmane.org, x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, linux-xtensa-PjhNF2WwrV/0Sa2dR60CXw@public.gmane.org, James Hogan , devicetree-discuss , Rob Herring , "linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org" , Chris Zankel , Vineet Gupta , Linux Kernel Mailing List , Ralf Baechle Santosh Shilimkar List-Id: devicetree@vger.kernel.org On Thu, Jun 27, 2013 at 9:54 PM, Rob Herring wrote: > On 06/21/2013 12:20 PM, Santosh Shilimkar wrote: >> On Friday 21 June 2013 05:04 AM, Sebastian Andrzej Siewior wrote: >>> On 06/21/2013 02:52 AM, Santosh Shilimkar wrote: >>>> diff --git a/arch/microblaze/kernel/prom.c b/arch/microblaze/kernel/prom.c >>>> index 0a2c68f..62e2e8f 100644 >>>> --- a/arch/microblaze/kernel/prom.c >>>> +++ b/arch/microblaze/kernel/prom.c >>>> @@ -136,8 +136,7 @@ void __init early_init_devtree(void *params) >>>> } >>>> >>>> #ifdef CONFIG_BLK_DEV_INITRD >>>> -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) >>>> { >>>> initrd_start = (unsigned long)__va(start); >>>> initrd_end = (unsigned long)__va(end); >>> >>> I think it would better to go here for phys_addr_t instead of u64. This >>> would force you in of_flat_dt_match() to check if the value passed from >>> DT specifies a memory address outside of 32bit address space and the >>> kernel can't deal with this because its phys_addr_t is 32bit only due >>> to a Kconfig switch. >>> >>> For x86, the initrd has to remain in the 32bit address space so passing >>> the initrd in the upper range would violate the ABI. Not sure if this >>> is true for other archs as well (ARM obviously not). >>> >> That pretty much means phys_addr_t. It will work for me as well but >> in last thread from consistency with memory and reserved node, Rob >> insisted to keep it as u64. So before I re-spin another version, >> would like to here what Rob has to say considering the x86 requirement. >> >> Rob, >> Are you ok with phys_addr_t since your concern was about rest >> of the memory specific bits of the device-tree code use u64 ? > > No. I still think it should be u64 for same reasons I said originally. +1 g.