[U-Boot] [PATCH 1/2] sunxi: video: Do not use CONFIG_SYS_MEM_TOP_HIDE for the framebuffer

Ian Campbell ijc+uboot at hellion.org.uk
Tue Feb 3 14:20:03 CET 2015


On Mon, 2015-02-02 at 19:57 +0100, Hans de Goede wrote:
> @@ -1237,6 +1243,20 @@ int sunxi_simplefb_setup(void *blob)
>  		return 0; /* Keep older kernels working */
>  	}
>  
> +	/*
> +	 * Do not report the framebuffer as free RAM to Linux, note we cannot
> +	 * use fdt_add_mem_rsv() here, because then it is still seen as RAM,
> +	 * and Linux refuses to iomap RAM on ARM, see:
> +	 * linux/arch/arm/mm/ioremap.c around line 301.

A little bit Linux centric ;-)

I'd suggest s/Linux/OS for the first one and s/and Linux refuses/for
example Linux refuses/.

> +	 */
> +	start = gd->bd->bi_dram[0].start;
> +	size = gd->bd->bi_dram[0].size - CONFIG_SUNXI_MAX_FB_SIZE;
> +	ret = fdt_fixup_memory_banks(blob, &start, &size, 1);

I suppose this is currently safe when put up against arch_fixup_fdt(),
but it might be a bit fragile against future changes?

I'm not sure what else we can do though, directly adjusting
gd->bd->bi_dram[0].size seems iffy.

Perhaps a hook called from arch_fixup_fdt which is passed the arrays
which are about to be passed to fdt_fixup_memory_banks so it can adjust
them?




More information about the U-Boot mailing list