[U-Boot] [PATCH] image: Don't relocate ramdisk to highmem

Stephen Warren swarren at wwwdotorg.org
Thu Jul 11 21:06:52 CEST 2013


On 07/11/2013 12:21 PM, Wolfgang Denk wrote:
> Dear Thierry Reding,
> 
> In message <20130711150014.GA2198 at dhcp-172-17-186-34.nvidia.com> you wrote:
>>
>>> I'm pretty sure it's all architectures, and this is a problem for device
>>> trees as well.  The tricks done to deal with highmem mean it's not
>>> suitable for certain tasks, if I recall things right (it's been a
>>> while).
>>
>> Yes, that's my understanding as well. The same changes were done for
>> fdt_high a few months back and ramdisks aren't any different in this
>> respect. I was a bit surprised that this hadn't been fixed yet, but
>> maybe people just aren't using ramdisks anymore these days, or they
>> worked around it by setting initrd_high explicitly.
> 
> This depends a lot on a number of things.  For example, you should be
> able to use a ramdisk in NOR flash directly, i. e. without loading it
> to RAM first - especially if it;s a comprtessed ramdis image, and the
> Kernel will copy/uncompress it anyway.

That would be nice, but I don't believe the kernel supports that (at
least not on ARM):

arch/arm/mm/init.c:arm_memblock_init():

> #ifdef CONFIG_BLK_DEV_INITRD
> 	if (phys_initrd_size &&
> 	    !memblock_is_region_memory(phys_initrd_start, phys_initrd_size)) {
> 		pr_err("INITRD: 0x%08llx+0x%08lx is not a memory region - disabling initrd\n",
> 		       (u64)phys_initrd_start, phys_initrd_size);
> 		phys_initrd_start = phys_initrd_size = 0;
> 	}

(where "memory" in this context is RAM specifically, IIUC).


More information about the U-Boot mailing list